var slide_mode = 0;
var slideintervals = new Array();
var stepsize = 2;




function get_left_position(el)
{
	return (el.offsetParent) ? el.offsetLeft + get_left_position(el.offsetParent) : el.offsetLeft;
}

function get_top_position(el)
{
	return (el.offsetParent) ? el.offsetTop + get_top_position(el.offsetParent) : el.offsetTop;
}

function slide_to(which, where, stepsize)
{
	var theNode = document.getElementById(which);
	if(slideintervals[which]) {
		window.clearInterval(slideintervals[which]);
	}
	slide_mode = 1;
	theNode.posFrom = parseInt(theNode.style.left); // get_left_position( theNode );
	theNode.posTo = where;
	theNode.stepsize = stepsize;
	slideintervals[which] = window.setInterval("move_slider('" + which + "')", 20);
}



function move_slider(nodeid)
{
	var theNode = document.getElementById(nodeid);
	theNode.posNow = parseInt(theNode.style.left);
	
	var pos_change = 0;
	var variable_steps = 0;
	var distance = 0;
	var orig_distance = 0;
	var way_made = 0;
	if(theNode.posTo > theNode.posNow) {
		distance = theNode.posTo - theNode.posNow;
		orig_distance = theNode.posTo - theNode.posFrom;
	}
	else if(theNode.posTo < theNode.posNow) {
		distance = theNode.posNow - theNode.posTo;
		orig_distance = theNode.posFrom - theNode.posTo;
	}
	way_made = 100 - (distance / (orig_distance / 100));
	
	if(way_made < 75)
		variable_steps = parseInt(theNode.stepsize * 1.5);
	else if(way_made < 85)
		variable_steps = theNode.stepsize;
	else if(way_made > 85)
		variable_steps = parseInt(theNode.stepsize / 2);
	if(variable_steps < 1)
		variable_steps = 1;
	

	if(distance > variable_steps) {
		if(theNode.posTo > theNode.posNow) {
			pos_change = theNode.posNow + variable_steps;
		}
		else if(theNode.posTo < theNode.posNow) {
			pos_change = theNode.posNow - variable_steps;
		}
	}
	else {
		pos_change = theNode.posTo;
	}
	if(pos_change > 0) {
		//theNode.posNow = pos_change;
		theNode.style.left = pos_change + "px";
	}
	else {
		window.clearInterval( slideintervals[nodeid] );
	}
}

