An EOF Problem :( (New)

From my first post i was having this problem and some one asked for the entire code, well here it is, also can you tell me what was the problem with it and how i can fix it if i get another problem with this?

    var normalSpeed:float = 6.0;
private var speed:float = normalSpeed;
var runSpeed:float = 12.0;
private var jumpSpeed:float = speed*1.7;
var gravity:float =20.0;
private var walkTime:int=0;
private var moveDirection:Vector3 = Vector3.zero;
static var grounded:boolean=false;
private var controller:CharacterController;
private var flags:CollisionFlags;
private var tr:int = 90;

function Start(){
 animation.wrapMode = WrapMode.Loop;
 animation["run"].layer=-1;
 animation["walk"].layer=-1;
 animation["idle"].layer=-1;
 animation.SyncLayer( -1);

  animation["jump"].layer=10;
  animation["jump"].wrapMode=WrapMode.Once;
  animation.SyncLayer(10);

  animation.Stop();
  animation.Play("idle"); 
}

function FixedUpdate (){
 if(grounded){
  moveDirection = new Vector3(Input.GetAxis("Horizontal"),0,0);
  moveDirection*=speed;
  if(Input.GetButton("Jump")){
   moveDirection.y = jumpSpeed;
   animation.CrossFade("jump");

       }
      ***"My problem is the else below"***
    }  
      }else{
      moveDirection=new Vector3(Input.GetAxis("Horizontal"),moveDirection.y/speed,
      moveDirection*=speed;
moveDirection.y -=gravity*Time.deltaTime;
controller=GetComponent(CharacterController);
flags=controller.Move(moveDirection*Time.deltaTime);

grounded=(flags & CollisionFlags.CollidedBelow) !=1;

if(moveDirection.x>0){
tr=90;
}else if(moveDirection.x<0){
tr=270;
}

transform.eulerAngles.y-=(transform.eulerAngles.y-tr)/5;

if(Input.GetAxis("Horizontal")>.2|| (Input.GetAxis("Horizontal")<-.2)){
if (walkTime>40){
 animation.CrossFade("run");
 speed=runSpeed;
 }else{
 walkTime++ ;
 animation.CrossFade("walk");
 speed = normalSpeed;
 }
 jumpSpeed=speed*1.7;

 }else{ 
 walktime=0;
 animation.CrossFade("idle");
 }
}
@script RequireComponent(CharacterController)

remove the } before the else

EOF's usually mean you're missing a } somewhere. You should really work on your indentation. I find that lining { } right above/below each other (not at the btginning/end of lines) helps a lot to visually identify such problems, but your editor should also highlight the matching braces.

please help im getting all sorts of errors im fixing them but getting more and im new so im trying to figure it out this is supposed to a aim down sights script

var aim : boolean = false;
var cam : GameObject;

function Update () {

if(Input.GetMouseButtonDown(1)){

Aim = true;

if (Aim == true){

Camera.active = true;

}

if(Input.GetMouseButtonUp(1)) {

Aim = true;

if(Aim){

Camera.Active = false;}

}

}

}