Issues with obstacle avoidance code

So I have built a robot using an HC-sr04 and two continuous rotation servos and the NewPing library. I have written the code for it, but when I upload the code to my arduino, I get this error message:

yoghurt_tub_bot_basic_obstable_avoidance_code:11: error: 'NewPing' does not name a type
yoghurt_tub_bot_basic_obstable_avoidance_code.ino: In function 'void scan()':
yoghurt_tub_bot_basic_obstable_avoidance_code:60: error: 'sonar' was not declared in this scope
yoghurt_tub_bot_basic_obstable_avoidance_code:61: error: 'US_ROUNDTRIP_CM' was not declared in this scope
NewPing15Sensors.pde: At global scope:
NewPing15Sensors:22: error: 'NewPing' does not name a type
NewPing15Sensors.pde: In function 'void setup()':
NewPing15Sensors:40: error: redefinition of 'void setup()'
yoghurt_tub_bot_basic_obstable_avoidance_code:20: error: 'void setup()' previously defined here
NewPing15Sensors.pde: In function 'void loop()':
NewPing15Sensors:47: error: redefinition of 'void loop()'
yoghurt_tub_bot_basic_obstable_avoidance_code:28: error: 'void loop()' previously defined here
NewPing15Sensors:52: error: 'sonar' was not declared in this scope
NewPing15Sensors.pde: In function 'void echoCheck()':
NewPing15Sensors:62: error: 'sonar' was not declared in this scope
NewPing15Sensors:63: error: 'US_ROUNDTRIP_CM' was not declared in this scope

If you know what's wrong or how to fix it, please help me. Thanks
Here is the whole code:

#include <Servo.h>     //Inclue Servo Library 
#include <NewPing.h>   //Include NewPing Library

Servo leftServo;       //Create Left Servo object
Servo rightServo;      //Create Right Servo object

#define TRIGGER_PIN  6   //Trigger pin of Ultrasonic sensor connected to pin 6
#define ECHO_PIN     7   //Echo pin of Ultrasonic sensor connected to pin 7
#define MAX_DISTANCE 100 //The maximum distance we want the sensor to look for is 1m

NewPing sonar(TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE);  //Create Ultrasonic sensor object

unsigned int time;            //Variable to store how long it takes for the ultrasonic wave to come back
int distance;                 //Variable to store the distance calculated from the sensor
int triggerDistance = 30;     //The distance we want the robot to look for a new path
int fDistance;                //Variable to store the distance in front of the robot
int lDistance;                //Variable to store the distance on the left side of the robot
int rDistance;                //Variable to store the distance on the right side of the robot

void setup() 
{ 
  leftServo.attach(9);        //Left servo connected to pin 9
  leftServo.write(90);        //Write the neutral position to that servo
  rightServo.attach(smiley-cool;       //Right servo connected to pin 8
  rightServo.write(90);       //Write the neutral position to that servo
} 

void loop()
{
  scan();                                //Get the distance retrieved
  fDistance = distance;                  //Set that distance to the front distance
  if(fDistance < triggerDistance){       //If there is something closer than 30cm in front of us
    moveBackward();                      //Move Backward for a second
    delay(1000); 
    moveRight();                         //Turn Right for half a second
    delay(500);
    moveStop();                          //Stop
    scan();                              //Take a reading
    rDistance = distance;                //Store that to the distance on the right side
    moveLeft();
    delay(1000);                         //Turn left for a second
    moveStop();                          //Stop
    scan();                              //Take a reading
    lDistance = distance;                //Store that to the distance on the left side
    if(lDistance < rDistance){           //If the distance on the left is smaller than that of the right
      moveRight();                       //Move right for 200 milliseconds
      delay(200);
      moveForward();                     //Then move forward
    }
    else{
      moveForward();                     //If the left side is larger than the right side move forward
    }
  }
  else{
    moveForward();                       //If there is nothing infront of the robot move forward
  }
}

void scan(){
  time = sonar.ping();                  //Send out a ping and store the time it took for it to come back in the time variable
  distance = time / US_ROUNDTRIP_CM;    //Convert that time into a distance
  if(distance == 0){                    //If no ping was recieved
    distance = 100;                     //Set the distance to max
  }
  delay(10);
}

void moveBackward(){
  rightServo.write(180);
  leftServo.write(0); 
}

void moveForward(){
  rightServo.write(0);
  leftServo.write(180);
}

void moveRight(){
  rightServo.write(0);
  leftServo.write(0);  
}

void moveLeft(){
  rightServo.write(180);
  leftServo.write(180);
}

void moveStop(){
  rightServo.write(90);
  leftServo.write(95); 
}

Hello readysetterrible

These first errors could mean that the NewPing library has not been correctly installed in the Arduino IDE. Or the Arduino IDE was not stopped and restarted after installing them.

yoghurt_tub_bot_basic_obstable_avoidance_code:11: error: 'NewPing' does not name a type
yoghurt_tub_bot_basic_obstable_avoidance_code.ino: In function 'void scan()':
yoghurt_tub_bot_basic_obstable_avoidance_code:60: error: 'sonar' was not declared in this scope
yoghurt_tub_bot_basic_obstable_avoidance_code:61: error: 'US_ROUNDTRIP_CM' was not declared in this scope

These later errors look like a second program is being compiled. Do you have two tabs open in the Arduino IDE?

NewPing15Sensors.pde: At global scope:
NewPing15Sensors:22: error: 'NewPing' does not name a type
NewPing15Sensors.pde: In function 'void setup()':
NewPing15Sensors:40: error: redefinition of 'void setup()'
yoghurt_tub_bot_basic_obstable_avoidance_code:20: error: 'void setup()' previously defined here
NewPing15Sensors.pde: In function 'void loop()':
NewPing15Sensors:47: error: redefinition of 'void loop()'

Regards

Ray