WayPoints mixed with Raycast

I have a problem. I try to make a AI that has a rout, marked with WayPoints. But I also want it to look for the player and as soon as it is near the AI it should hunt it. But when the AI get to far a way from his next WayPoint it goes back there! this is all working fine, but now i try to get a Raycast setup working. I want the AI to hunt the Player only if he can "see" him. this is the code i am using right now. The AI is now only going his path and shows no reaction to the player. can somebody help?

var waypoint : Transform [];
var speed : float = 20;
private var currentWaypoint : int;
var loop : boolean = true;
var dist = 60;
var hunt = 100;
var player : Transform;
var hit : RaycastHit;
var see: boolean;

function Update () {

    if(currentWaypoint < waypoint.length){  
        var target : Vector3 = waypoint[currentWaypoint].position;
        var moveDirection : Vector3 = target - transform.position;
        var distFromPlayer : Vector3 = player.position-transform.position;  
        var velocity = rigidbody.velocity;

        if(moveDirection.magnitude<1){
        currentWaypoint++;
    }
    else if(distFromPlayer.magnitude < dist && see == true){
            velocity = Vector3.zero;
            target = player.position;
            velocity= (player.position-transform.position).normalized * speed;
            if((player.position - waypoint[currentWaypoint].position).magnitude >hunt){
                taget = waypoint[currentWaypoint].position;
                velocity = moveDirection.normalized * speed;
            }
        }
    else{
        velocity = moveDirection.normalized * speed;
    }
    }
    else{
        if(loop){
            currentWaypoint = 0;
        }
        else{
            velocity = Vector3.zero;
        }
        if(Physics.Raycast(transform.position, moveDirection,hit,dist) &&hit.collider.gameObject== player.gameObject){
            see = true;
        }
        }

    rigidbody.velocity = velocity;
    transform.LookAt(target);

}

You could attach a sphere collider to the player, set it as a trigger and use the OnTrigger - functions for detection. So you do not need any distance calculation and can easily use layers and tags.