Code unable to get the single tap, double tap correspondence to LEDs

My code is:

//Arduino 1.0+ Only!
//Arduino 1.0+ Only!

#include <Wire.h>
#include <ADXL345.h>

int ledPin= 6;
int ledPin1= 3;

ADXL345 adxl; //variable adxl is an instance of the ADXL345 library

void setup()
  pinMode(ledPin, HIGH);
  pinMode(ledPin1, HIGH);

  //set activity/ inactivity thresholds (0-255)
  adxl.setActivityThreshold(75); //62.5mg per increment
  adxl.setInactivityThreshold(75); //62.5mg per increment
  adxl.setTimeInactivity(10); // how many seconds of no activity is inactive?
  //look of activity movement on this axes - 1 == on; 0 == off 
  //look of inactivity movement on this axes - 1 == on; 0 == off
  //look of tap movement on this axes - 1 == on; 0 == off
  //set values for what is a tap, and what is a double tap (0-255)
  adxl.setTapThreshold(50); //62.5mg per increment
  adxl.setTapDuration(15); //625?s per increment
  adxl.setDoubleTapLatency(80); //1.25ms per increment
  adxl.setDoubleTapWindow(200); //1.25ms per increment
  //set values for what is considered freefall (0-255)
  adxl.setFreeFallThreshold(7); //(5 - 9) recommended - 62.5mg per increment
  adxl.setFreeFallDuration(45); //(20 - 70) recommended - 5ms per increment
  //setting all interupts to take place on int pin 1
  //I had issues with int pin 2, was unable to reset it
  adxl.setInterruptMapping( ADXL345_INT_SINGLE_TAP_BIT,   ADXL345_INT1_PIN );
  adxl.setInterruptMapping( ADXL345_INT_DOUBLE_TAP_BIT,   ADXL345_INT1_PIN );
  adxl.setInterruptMapping( ADXL345_INT_FREE_FALL_BIT,    ADXL345_INT1_PIN );
  adxl.setInterruptMapping( ADXL345_INT_ACTIVITY_BIT,     ADXL345_INT1_PIN );
  adxl.setInterruptMapping( ADXL345_INT_INACTIVITY_BIT,   ADXL345_INT1_PIN );
  //register interupt actions - 1 == on; 0 == off  
  adxl.setInterrupt( ADXL345_INT_SINGLE_TAP_BIT, 1);
  adxl.setInterrupt( ADXL345_INT_DOUBLE_TAP_BIT, 1);
  adxl.setInterrupt( ADXL345_INT_FREE_FALL_BIT,  1);
  adxl.setInterrupt( ADXL345_INT_ACTIVITY_BIT,   1);
  adxl.setInterrupt( ADXL345_INT_INACTIVITY_BIT, 1);

void loop(){
  //Boring accelerometer stuff   
  int x,y,z;  
  adxl.readAccel(&x, &y, &z); //read the accelerometer values and store them in variables  x,y,z

  // Output x,y,z values - Commented out

  //Fun Stuff!    
  //read interrupts source and look for triggerd actions
  //getInterruptSource clears all triggered actions after returning value
  //so do not call again until you need to recheck for triggered actions
   byte interrupts = adxl.getInterruptSource();
  // freefall
  if(adxl.triggered(interrupts, ADXL345_FREE_FALL)){
    //add code here to do when freefall is sensed
  if(adxl.triggered(interrupts, ADXL345_INACTIVITY)){
     //add code here to do when inactivity is sensed
  if(adxl.triggered(interrupts, ADXL345_ACTIVITY)){
     //add code here to do when activity is sensed
  //double tap
  if(adxl.triggered(interrupts, ADXL345_DOUBLE_TAP)){
    Serial.println("double tap");
     //add code here to do when a 2X tap is sensed
     digitalWrite(ledPin, HIGH);
     digitalWrite(ledPin, LOW);
  if(adxl.triggered(interrupts, ADXL345_SINGLE_TAP)){
     //add code here to do when activity is sensed
     digitalWrite(ledPin1, HIGH);
     digitalWrite(ledPin1, LOW);

ledPin corresponds to PWM~6, and is colored red. ledPin1 corresponds to PWM~3, and is colored green.

As you can see in the code, the ledPin1 should be going off in the event that there is only a single tap. However, it is being finicky.

The following occurs:
when tapping the adxl345 once: green led. (sometimes) OR red led then green led
if tapping a second time close to the first, but not quite a double tap: red led then green led

When double tapping: red led lights up twice, then green led lights up once. (sometimes) OR the red led lights up once, and the green led lights up twice.

I am using an ADXL345 accelerometer.

Please let me know if you have more questions.

Moderator edit: CODE TAGS AGAIN. Please tell me - why is this so hard?