// Simple follow the mouse script

var offX = 0;          // X offset from mouse position
var offY = 0;          // Y offset from mouse position

var lHome=60;
var lWerkwijze=200;
var lReferenties=360
var lContact=513;
var lBerichten=654;
//var lVacatures=657;

function mouseX(evt) {
    try
    {
        if (!evt) evt = window.event; 
        if (evt.pageX) return evt.pageX; 
            else if (evt.clientX)
                return evt.clientX + (document.documentElement.scrollLeft ?  document.documentElement.scrollLeft : document.body.scrollLeft); 
        else return 0;
    }
    catch(err){}
}    
function mouseY(evt) {
    try
    {
        if (!evt) evt = window.event; 
        if (evt.pageY) return evt.pageY; 
            else if (evt.clientY)
                return evt.clientY + (document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop);
           else return 0;        
    }
    catch(err){}
}

function follow(evt) {    
    var inrange=false;    
    if(parseInt(mouseY(evt)) > DL_GetElementTop(document.getElementById("tdMenu"))){
        //is below upper limit        
        if(parseInt(mouseY(evt)) < (DL_GetElementTop(document.getElementById("tdMenu"))+document.getElementById("tdMenu").clientHeight)){
            inrange=true;
        }
    }
    if (document.getElementById && inrange==true) {    
        var obj = document.getElementById('slider').style; obj.visibility = 'visible';
        var itop = DL_GetElementTop(document.getElementById("tdMenu"));
        var ileft = (parseInt(mouseX(evt)) - (document.getElementById("slider").clientWidth/2));
        var maxLeft = DL_GetElementLeft(document.getElementById("tdMenu"));
        var maxRight = (DL_GetElementLeft(document.getElementById("tdMenu"))+document.getElementById("tdMenu").clientWidth)-document.getElementById("slider").clientWidth - 4;        
        document.getElementById("slider").className="";
        GoPage="";
        if(ileft<maxLeft){
            ileft=DL_GetElementLeft(document.getElementById("tdMenu"));            
        }    
        if(ileft>=maxRight){
            ileft=maxRight;
        }
        obj.top = itop + 'px';
        obj.left = ileft + 'px';
        
        //clickable?
        var lRef=DL_GetElementLeft(document.getElementById("tdMenu"));
        var mX=parseInt(mouseX(evt));
        var mLeft=+10;        
        var mRigth=111; //121
        if(InBetween(mX,lRef+lHome+mLeft,lRef+lHome+mRigth)==true){document.getElementById("slider").className="sliderOver";GoPage="default";}
        if(InBetween(mX,lRef+lWerkwijze+mLeft,lRef+lWerkwijze+mRigth)==true){document.getElementById("slider").className="sliderOver";GoPage="werkwijze";}
        if(InBetween(mX,lRef+lReferenties+mLeft,lRef+lReferenties+mRigth)==true){document.getElementById("slider").className="sliderOver";GoPage="referenties";}
        if(InBetween(mX,lRef+lContact+mLeft,lRef+lContact+mRigth)==true){document.getElementById("slider").className="sliderOver";GoPage="contact";}
        if(InBetween(mX,lRef+lBerichten+mLeft,lRef+lBerichten+mRigth)==true){document.getElementById("slider").className="sliderOver";GoPage="berichten";}
        //if(InBetween(mX,lRef+lVacatures+mLeft,lRef+lVacatures+mRigth)==true){document.getElementById("slider").className="sliderOver";GoPage="vacatures";}
        
    }else{
        PlaceSlider(docS);
    }
}
function PlaceSlider(docs){
    if(document.getElementById('slider')){
        var lRef=DL_GetElementLeft(document.getElementById("tdMenu"));
        switch(docs){
            case "Werkwijze":
                document.getElementById('slider').style.left=lRef+lWerkwijze+"px";;
                break;
            case "Referenties":
                document.getElementById('slider').style.left=lRef+lReferenties+"px";;
                break;
            case "Contact":
                document.getElementById('slider').style.left=lRef+lContact+"px";;
                break;
            case "Berichten":
                document.getElementById('slider').style.left=lRef+lBerichten+"px";;
                break;
            //case "vacatures":
            //    document.getElementById('slider').style.left=lRef+lVacatures+"px";;
            //    break;                                                
            default:
                document.getElementById('slider').style.left=lRef+lHome+"px";
                break;            
        }
        var itop = DL_GetElementTop(document.getElementById("tdMenu"));
        document.getElementById('slider').style.top=itop+'px';
        var obj = document.getElementById('slider').style; obj.visibility = 'visible';
    }        
}
function GoTo(){
    if(GoPage!=""){
        window.location="/"+GoPage+".aspx";
    }
}
document.onmousemove = follow;

function DL_GetElementLeft(eElement)
{
    if (!eElement && this)                       
    {                                            
        eElement = this;                         
    }                                            
    
    var nLeftPos = eElement.offsetLeft;          
    var eParElement = eElement.offsetParent;     
    while (eParElement != null)
    {                                            
        nLeftPos += eParElement.offsetLeft;      
        eParElement = eParElement.offsetParent;  
    }
    return nLeftPos;                             
}


function DL_GetElementTop(eElement)
{
    if (!eElement && this)
    {
        eElement = this;
    }

    var nTopPos = eElement.offsetTop;
    var eParElement = eElement.offsetParent;
    while (eParElement != null)
    {
        nTopPos += eParElement.offsetTop;
        eParElement = eParElement.offsetParent;
    }
    return nTopPos;
}

function InBetween(val,ileft,iright){
    if (ileft > val || iright < val) {
        return false;
    }else{
        return true;
    }
}   
