﻿// Объявим глобальные переменные
// Переменная состояния, по умолчанию ничего не двигается = false
var moveState = false;
// Переменные координат мыши в начале перемещения, пока неизвестны
var x0, y0;
// Начальные координаты элемента, пока неизвестны
var divX0, divY0;

// Выведем абсолютно-позиционированный DIV размером 50 * 50
// Зальем DIV черным цветом
// Добавим прямо в DIV обработчики событий
//document.write(
//    "<div \
//        style='position:absolute; top:0; left:0; background-color:black; width:50px; height:50px;' \
//        onmousedown = 'initMove(this, event);' \
//        onmouseup = 'moveState = false;' \
//        onmousemove = 'moveHandler(this, event);' \
//    ></div>"
//);

// Объявим функцию для определения координат мыши
function defPosition(event) {
    var x = y = 0;
    if (document.attachEvent != null) { // Internet Explorer & Opera
        x = window.event.clientX + document.documentElement.scrollLeft + document.body.scrollLeft;
        y = window.event.clientY + document.documentElement.scrollTop + document.body.scrollTop;
    }
    if (!document.attachEvent && document.addEventListener) { // Gecko
        x = event.clientX + window.scrollX;
        y = event.clientY + window.scrollY;
    }
    return {x:x, y:y};
}

// Функция инициализации движения
// Записываем всё параметры начального состояния
function initMove(div, event) {
divPosition = jQuery(div).offset();
sliderConteinerPosition = jQuery("#sliderConteiner").offset();
    var event = event || window.event;
    x0 = defPosition(event).x ;    
    y0 = defPosition(event).y;
    divX0 = divPosition.left - sliderConteinerPosition.left;
    divY0 = divPosition.top - sliderConteinerPosition.top;
    moveState = true;
}

// Если клавишу мыши отпустили вне элемента движение должно прекратиться
document.onmouseup = function() {
    moveState = false;
    SetSavingAmounts();
}

// И последнее
// Функция обработки движения:
function moveHandler(div, event) 
{
    var event = event || window.event;
    if (moveState) 
    {
		newXposition = divX0 + defPosition(event).x - x0;
		newAnnualMilleage = (newXposition + 27) * 200
		if (newAnnualMilleage < 0 || newAnnualMilleage > 32400)
		{
			return;
		}		
        div.style.left = newXposition + "px";      
        var Mileage = (newXposition + 27) * 200
        if (Mileage.toString().length > 3)
        {
			Mileage = Mileage.toString().slice(0, Mileage.toString().length - 3) + ',' + 
						Mileage.toString().slice(Mileage.toString().length - 3, Mileage.toString().length);
		}        
        document.getElementById ('ctrAnnualMileage').value = Mileage;        
    }
}

function get_absolute_y(o){
var y=0;
y=o.offsetTop;
while(o=o.offsetParent){
y+=o.offsetTop;
}
return y;
}

function get_absolute_x(o){
var x=0;
x=o.offsetLeft;
while(o=o.offsetParent){
x+=o.offsetLeft;
}
return x;
}
        
        
