
var IE = navigator.appName.indexOf('Microsoft')>-1?true:false;
var LockScroll = false;
var AutoScroll = false;
var BasePosition = 0;
var MaxScroll = 0;


if(!IE){ document.addEventListener("mousemove", function(event) { trackMouse(event); }, false);   }
else{document.onmousemove = trackMouse;}    

function trackMouse(e){
    if (IE) {MouseYPos = event.clientY; MouseXPos = event.clientX;} 
    else    {MouseYPos = e.pageY;       MouseXPos = e.pageX;}
    RealMouseYPos = MouseYPos + document.body.scrollTop
    RealMouseXPos = MouseXPos + document.body.scrollLeft
    if (LockScroll){ScrollMinionList()}
}

function InitializeScroll(){
    document.getElementById('ScrollerDiv').style.marginLeft  = "0px";
    BasePosition = findPosX(document.getElementById('ScrollBar')) + 17;
    MaxScroll = document.getElementById('MinionScroller').scrollWidth - document.getElementById('MinionScroller').offsetWidth;
    BoundRight = BasePosition + document.getElementById('ScrollBar').offsetWidth - 67

}

function ScrollMinionList(){
        if(BasePosition==0){InitializeScroll();}
        NewScrollPosition = RealMouseXPos - 10
        UpdateScrollPosition()
}
function SkipMinionList(){
        if(BasePosition==0){InitializeScroll();}
        
        CurrentPosition = parseInt(document.getElementById('ScrollerDiv').style.left);
        if(isNaN(CurrentPosition) || CurrentPosition=='') {CurrentPosition = BasePosition; document.getElementById('ScrollerDiv').style.left = BasePosition +'px';}
        if (CurrentPosition < RealMouseXPos - 5){NewScrollPosition = CurrentPosition + 5}
        else if(CurrentPosition > RealMouseXPos - 5){NewScrollPosition = CurrentPosition - 5}
        else{NewScrollPosition = CurrentPosition; AutoScroll=false;}

        UpdateScrollPosition()

        if(Math.abs(CurrentPosition - (RealMouseXPos - 5))<10){AutoScroll=false;}
        if(AutoScroll){setTimeout('SkipMinionList();',25)}
}

function UpdateScrollPosition(){
    if(NewScrollPosition > BasePosition && NewScrollPosition < BoundRight ){document.getElementById('ScrollerDiv').style.left = NewScrollPosition;}
    else{return(false);}
    CurrentScrollPct = ((parseInt(document.getElementById('ScrollerDiv').style.left)+parseInt(document.getElementById('ScrollerDiv').offsetWidth)) - BasePosition) / (document.getElementById('ScrollBar').offsetWidth-70) - .05;
    document.getElementById('MinionScroller').scrollLeft = MaxScroll * CurrentScrollPct;
}

function StartScroll(){LockScroll = true;}
function EndScroll(){LockScroll = false}
function findPosX(obj){var curleft = 0; if (obj.offsetParent)   {   while (obj.offsetParent){curleft += obj.offsetLeft; obj = obj.offsetParent;}    }   else if (obj.x){curleft += obj.x;}
    return curleft;
}

function findPosY(obj){var curtop = 0;  if (obj.offsetParent)   {   while (obj.offsetParent){curtop += obj.offsetTop;   obj = obj.offsetParent; }   }   else if (obj.y){curtop += obj.y;}
    return curtop;
}



function echo(echoText){
    document.getElementById('echodiv').innerHTML = echoText
}