var slidersMouseState=[];
var q=0;

function sliderMouseDown(event,sliderContainer,cursorId,CursorWidth,ContainerWidth)
{
    slidersMouseState[cursorId]=1;
    return sliderMouseMove(event,sliderContainer,cursorId,CursorWidth,ContainerWidth);
}

function sliderMouseUpOrOut(event,sliderContainer,cursorId,CursorWidth,ContainerWidth)
{
    slidersMouseState[cursorId]=0;
    return sliderMouseMove(event,sliderContainer,cursorId,CursorWidth,ContainerWidth);
}

function sliderMouseMove(event,sliderContainer,cursorId,CursorWidth,ContainerWidth)
{
    if(slidersMouseState[cursorId]==1)
    {
        return processSlider(event,sliderContainer,cursorId,CursorWidth,ContainerWidth);
    } else {
        return NaN;
    }
    //document.getElementById('cinr').innerHTML='<br/><br/><br/><br/><br/>Type: '+event.type+'; slidersMouseState:'+slidersMouseState[cursorId]+'; q='+q+';<br/>';
}

function sliderMouseClick(event,sliderContainer,cursorId,CursorWidth,ContainerWidth)
{
    return processSlider(event,sliderContainer,cursorId,CursorWidth,ContainerWidth);
    //document.getElementById('cinr').innerHTML='<br/><br/><br/><br/><br/>Type: '+event.type+'; slidersMouseState:'+slidersMouseState[cursorId]+'; q='+q+';<br/>';
}

var pos=[];

function processSlider(event,sliderContainer,cursorId,CursorWidth,ContainerWidth)
{   // Двигает курсор слайдера
    q++;
    var e = event || window.event;  // Кроссбраузерно берём эвент
    
    //alert(e.type);
    //mousemove   mousedown

    // Кроссбраузерно берём координаты мыши
    
    if (e.pageX == null && e.clientX != null ) { 
        var html = document.documentElement
        var body = document.body
        e.pageX = e.clientX + (html && html.scrollLeft || body && body.scrollLeft || 0) - (html.clientLeft || 0)
        e.pageY = e.clientY + (html && html.scrollTop || body && body.scrollTop || 0) - (html.clientTop || 0)
    }

    if(!pos[cursorId]){pos[cursorId] = getPosition(sliderContainer);}

    var newLeft=e.pageX - pos[cursorId].x - CursorWidth/2;
    //alert('newLeft='+newLeft+'; e.pageX='+e.pageX+'; pos.x='+pos.x+'; CursorWidth='+CursorWidth+'; sliderContainer='+sliderContainer);
    //alert(document.getElementById(cursorId).style.left);
    if(newLeft<0){newLeft=0;}
    if(ContainerWidth-newLeft-CursorWidth<0){newLeft=ContainerWidth-CursorWidth;}

    //var el=document.getElementById(cursorId).style.left;
    //document.getElementById(cursorId).style.left=1+'px';
    document.getElementById(cursorId).style.left=newLeft + 'px';
    //document.getElementById(cursorId).className="hidden";
    //alert(document.getElementById(cursorId).style.left);
    return newLeft/(ContainerWidth-CursorWidth);
}

function getPosition(e){
    var left = 0
    var top  = 0

    while (e.offsetParent){
        left += e.offsetLeft
        top  += e.offsetTop
        e     = e.offsetParent
    }

    left += e.offsetLeft
    top  += e.offsetTop

    return {x:left, y:top}
}
