Apply gravity

I’m trying to apply gravity to this Character Controller, but it is not working, what is wrong in this script?

var speed = -1;

private var moveLeft = true;

private var moveRight = false;

var toLeftSpeed = -1;

var toRightSpeed = 1;

private var savedSpeedValue = 0;

var iddleTime = 1;

var gravity : float = 20.0;

function OnTriggerEnter(collision : Collider) {

var controller : CharacterController = GetComponent(CharacterController);

if (controller.isGrounded) {

	if (collision.gameObject.tag == "obst") {

		savedSpeedValue = speed;

		isIddle = true;

		speed = 0;

		yield WaitForSeconds (iddleTime);

		if (savedSpeedValue == toLeftSpeed) {

			speed = toRightSpeed;

		} else {

			speed = toLeftSpeed;

			

		}

	}

} 

}

function Update() {

moveDirection = Vector3(speed, 0, 0);

var controller : CharacterController = GetComponent(CharacterController);

controller.Move(moveDirection * Time.deltaTime);

moveDirection = Vector3(0, gravity, 0);

transform.TransformDirection(moveDirection);

}

You’re just setting the move direction, but not setting anywhere the CharacterController.Move function

I found the solution.
Here is:

function Update() {
var controller : CharacterController = GetComponent(CharacterController);
if (controller.isGrounded) {
	moveDirection = Vector3(speed, 0, 0);
	controller.Move(moveDirection * Time.deltaTime);
}
var gravityForce = Vector3(0, gravity, 0);
controller.Move(gravityForce * Time.deltaTime);

}