﻿//Slider 
//Luis: 17/03/2009

document.onmousemove = mouseMove;
document.onmouseup   = mouseUp;

var dragObject  = null;
var mouseOffset = null;
var lastMouseX = null;
var actualLeft = 0;
var maxScroll = 100;

function getMouseOffset(target, ev){
	ev = ev || window.event;
	var mousePos  = mouseCoords(ev);
	return {x:mousePos.x, y:mousePos.y};
}

function SetRate(decRate)
{
	document.getElementById('fullScroll').style.width = (decRate*10)+2;
	document.getElementById('imgRateScroll').style.left = (decRate*10);
	actualLeft = (decRate*10);
}

function mouseMove(ev){
	ev = ev || window.event;
	var mousePos = mouseCoords(ev);

	if(dragObject){
		dragObject.style.position = 'relative';
		
		if(lastMouseX != null && actualLeft >= 0 && actualLeft <= maxScroll)
			actualLeft	+= (mousePos.x - lastMouseX);
		else
		{
			if(actualLeft <= 0)
				actualLeft = 0;
			else
				actualLeft = maxScroll;
		}
		if(actualLeft<0)
			actualLeft = 0;
		dragObject.style.left = actualLeft;
		document.getElementById('fullScroll').style.width = actualLeft+2;
	
		//Save last known position
		lastMouseX = mousePos.x;
		
		if(actualLeft<=0)
			document.getElementById('rateTotal').innerHTML =  "0";
		else if(actualLeft<10)
			document.getElementById('rateTotal').innerHTML =  "0." + actualLeft;
		else if (actualLeft>=10 && actualLeft<100)
			document.getElementById('rateTotal').innerHTML =  (actualLeft + '').substr(0,1) + "." + (actualLeft + '').substr(1,1);
		else
			document.getElementById('rateTotal').innerHTML =  "10";
		
		document.getElementById('hidRate').value = document.getElementById('rateTotal').innerHTML;
				
		return false;
	}
}

function mouseUp(ev){
	ev           = ev || window.event;
	var mousePos = mouseCoords(ev);
	dragObject   = null;
}

function mouseCoords(ev){
	if(ev.pageX || ev.pageY){
		return {x:ev.pageX, y:ev.pageY};
	}
	return {
		x:ev.clientX + document.body.scrollLeft - document.body.clientLeft,
		y:ev.clientY + document.body.scrollTop  - document.body.clientTop
	};
}

function makeDraggable(item){
	if(!item) return;
	item.onmousedown = function(ev){
		dragObject  = this;
		mouseOffset = getMouseOffset(this, ev);
		return false;
	}
}

window.onload = function(){
	makeDraggable(document.getElementById('imgRateScroll'));
}		


