function createXmlHttp() {
	var to_return;
	if (window.XMLHttpRequest) { // Mozilla, Safari,...
		to_return = new XMLHttpRequest();
		if (to_return.overrideMimeType) {
			to_return.overrideMimeType('text/xml');
		}
	} else if (window.ActiveXObject) { // IE
		try {
			to_return = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try {
				to_return = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e) {}
		}
	}
	return to_return;
}

var xmlHttpObject2 = createXmlHttp();

function initAnimation() {
  	if(xmlHttpObject2 && xmlHttpObject2.readyState != 0){
   		xmlHttpObject2.abort();
 	}
 	var URI = '/mobiles/nouveautes/animation.inc.jsp';
  	xmlHttpObject2.open("GET", URI, true);
  	xmlHttpObject2.onreadystatechange = updateAnimation;
  	xmlHttpObject2.send('force_refresh=true');
}
function updateAnimation() {
	if (xmlHttpObject2.readyState == 4 && xmlHttpObject2.status == 200) {
    	result = xmlHttpObject2.responseText;
    	document.getElementById('multiHotContainer').innerHTML = result;
	}
}

var timeoutTimer = 1;

var timerDelay = 25;
var stepLeft = 51;
var stepCoefficient = 0.675;
var slowLeftDifference = 3 * stepLeft;


var blocWidth = 510;

var minLeft = -3*blocWidth;

var currentLeft = 0;
var currentStepLeft = 1;
var currentDirection = 1;
var finalLeft = 0;

var direction = 1;
var mustRewind = false;

var graphicalElementId = 'multiHotContainer';

function moveToBloc(finalPosition) {
	document.getElementById('multiHotMenu' + finalPosition).className = 'activ';
	for (i=1; i<=4; i++) {
		if (i != finalPosition) {
			document.getElementById('multiHotMenu' + i).className = '';
		}
	}
	finalLeft = -(finalPosition-1) * blocWidth;
	if (finalLeft != currentLeft) {
		lastDirection = direction;
		if (finalLeft > currentLeft) {
			direction = -1;
		} else {
			direction = 1;
		}
		if (timeoutTimer == 1) {
			moveDelay();
		} else {
			if (currentStepLeft != stepLeft) {
				if (lastDirection != direction) {
					mustRewind = true;
				}
			}
		}
	}
}

function moveDelay() {
	var changeStepLeft = false;
	if (mustRewind) {
		mustRewind = false;
	} else {
		if (Math.abs(currentLeft - finalLeft) < slowLeftDifference) {
			currentStepLeft = currentStepLeft * stepCoefficient;
			changeStepLeft = true;
			currentStepLeft = Math.max(currentStepLeft, 1);
		}
		if ((Math.abs(currentLeft - finalLeft) > slowLeftDifference) && currentStepLeft < stepLeft) {
			currentStepLeft = currentStepLeft * (1/stepCoefficient);
			changeStepLeft = true;
			currentStepLeft = Math.min(currentStepLeft, stepLeft);
		}
	}
	
	
	currentLeft -= direction * currentStepLeft;
	
	if (currentLeft > finalLeft && direction == -1 || currentLeft < finalLeft && direction == 1) { 
		currentLeft = finalLeft;
	}
	currentLeft = Math.round(currentLeft);
	document.getElementById(graphicalElementId).style.left = currentLeft + 'px';
	if (currentLeft != finalLeft) {
		window.clearTimeout(timeoutTimer);
		timeoutTimer = window.setTimeout(moveDelay, timerDelay);
	} else {
		window.clearTimeout(timeoutTimer);
		timeoutTimer = 1;
	}
}
