Problem with the movement of AI

I have made an IA that follow me when he see me. Instead of just following me, he follow me and he goes up. I don’t know what to do.

The following file is the file that control the Mob.

File : EnemyScript.js

var hitPoints = 100;
var explosion:Transform;

var gravity=20;
var characterLayer:LayerMask;
private var player:GameObject;
player=GameObject.Find("Player");

var visionAngle:float = 45;
var visionRange:float = 100;
private var distanceToPlayer:float;
private var canSeePlayer:boolean=false;

var hit:RaycastHit;

function Update() {
	seekPlayer();
}

function seekPlayer() {
	directionToPlayer = player.transform.position - transform.position;
	distanceToPlayer = Vector3.Distance(transform.position, player.transform.position);
	
	var playerAngle = Vector3.Angle(directionToPlayer, transform.forward);
	
	if (Mathf.Abs(playerAngle) < visionAngle && distanceToPlayer < visionRange)/* || canSeePlayer == true)*/ {
		Physics.Linecast(transform.position, player.transform.position, hit, ~characterLayer.value); 
		
		if (hit.collider.name==player.collider.name) {
			var moveDirection = transform.forward;
			var tempRot = Quaternion.Slerp(transform.rotation, Quaternion.LookRotation(directionToPlayer), 2 * Time.deltaTime);
			tempRot.x = 0;
			tempRot.z = 0;
			transform.rotation = tempRot;
			canSeePlayer = true;
		}
	}
	
	moveDirection.y -= gravity * Time.deltaTime;
	var controller:CharacterController=GetComponent(CharacterController);
	controller.Move(moveDirection * 3 * Time.deltaTime);
}


function makeDamage(damage:float) {
	hitPoints -= damage;
	
	if (hitPoints <= 0) {
		Instantiate(explosion, transform.position, transform.rotation);
		Destroy(gameObject);
	}
}

If you need other information to help me, just ask, I’ll try to find them.

Finally I find it by myself : the problem was the real orientation of my object xD