Random.Range Issue

var forwardSpeed : int = 5;

var CheckWide       : int = 23;

var rotateSpeed     : int = 1;

var target1        : Transform;

var lookAt         : boolean;

var turnLeft       : boolean;

var turnRight     : boolean;


function Start () { 
    target1 = GameObject.FindWithTag ("PlayerGuy").transform; 
    lookAt = false;
    turnLeft = false;
    turnRight = false;

}


function Update () {

       var forward : Vector3 = transform.TransformDirection(Vector3.forward ) * 9;
       var forwardleft : Vector3 = transform.TransformDirection(Vector3.forward + -Vector3.right ) * 9;
      var forwardright : Vector3 = transform.TransformDirection(Vector3.forward + Vector3.right ) * 9;
     Debug.DrawRay (transform.position, forwardleft, Color.blue);
     Debug.DrawRay (transform.position, forwardright, Color.blue);
     Debug.DrawRay (transform.position, forward, Color.green);
    if (lookAt){
       transform.LookAt(target1);
    }

    if(target1){
 var dist = Vector3.Distance(target1.position, transform.position);
 print (dist);
       if (dist <= 10 ){
         lookAt = true;
         if (!Physics.Raycast (transform.position, transform.forward, CheckWide)) {

        transform.Translate(transform.forward * forwardSpeed * Time.deltaTime);

         }
          else if (Physics.Raycast (transform.position, transform.forward, CheckWide)) {
              lookAt = false;
              Turn();
          }
         }
       }

    // move forward if nothings there

    if (!Physics.Raycast (transform.position, transform.forward, CheckWide)) {

        transform.Translate(transform.forward * forwardSpeed * Time.deltaTime);

    }
}

function Turn () {
    lookAt = false;
    var randomTurn : int = Random.Range(1,3);
       print (randomTurn);
       if (!turnRight){
    if (randomTurn == 1){
       turnRight = false;
       turnLeft = true;
       if (turnLeft){
       yield WaitForSeconds (2);
         transform.Rotate(0, Time.deltaTime*-10, 0, Space.World);
         yield WaitForSeconds(20);
         turnLeft = false;
          }
         }
       }
       if (!turnLeft){
       if (randomTurn == 2){
         turnLeft = false;
         turnRight = true;
         if (turnRight){
         yield WaitForSeconds (2);
         transform.Rotate(0, Time.deltaTime*10, 0, Space.World);
         yield WaitForSeconds (20);
         turnRight = false;
         }
       }
    }
}

edited*

Use a coroutine with a boolean, so you don’t change direction unless x time passed.