var id;

function ChangeArrowSimple(ID, idArrow) {
Left = parseInt(document.getElementById(idArrow).style.left.replace('px', ''));
if (document.getElementById(idArrow).style.display == 'none') document.getElementById(idArrow).style.display = 'block';

if (id) clearTimeout(id);
Mouvement = true;

Pixels = document.getElementById(ID).offsetLeft + (document.getElementById(ID).offsetWidth / 2) - (document.getElementById(idArrow).offsetWidth / 2);

if (Left < Pixels) ChangeArrowDirection(Pixels, 2, idArrow);
else ChangeArrowDirection(Pixels, 1, idArrow);

// $('#'+idArrow).stop(true).animate({left:Pixels+'px'}, 150); // Méthode Jquery, moins fluide

}

function ChangeArrowDirection(Pixels, Direction, idArrow) {
Left = parseInt(document.getElementById(idArrow).style.left.replace('px', ''));
var Dif = Pixels - Left;
if (Dif < 0) Dif*=-1;

Vitesse = Math.round(Dif / 10);

if (Direction == 2) Left += Vitesse;
else Left -= Vitesse;

if (Dif < 5) { Left = Pixels; clearTimeout(id); }

document.getElementById(idArrow).style.left = Left+'px';

if (Left >= Pixels && Direction == 1) id = setTimeout("ChangeArrowDirection("+Pixels+", "+Direction+", '"+idArrow+"')", 10);
else if (Left <= Pixels && Direction == 2) id = setTimeout("ChangeArrowDirection("+Pixels+", "+Direction+", '"+idArrow+"')", 10);
}

function toggleTimeChoice(form) {
var checked = document.getElementById('box_'+form).checked;
if (checked) {	$('#'+form+'_time_choice').show(200); }
else {			$('#'+form+'_time_choice').hide(200); }
}

// Ajax

function createRequest() {
	var ajaxRequest = null;
	if(window.XMLHttpRequest) // Moteur Gecko
		ajaxRequest = new XMLHttpRequest();
	else if(window.ActiveXObject) // IE...Fucking Crosoft'.
		ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
	
	return ajaxRequest;
}

function ajaxReturn(divload, page, method, variables, callback) {

var ajaxRequest = createRequest();
var load = false;

ajaxRequest.Charset = "ISO8859-1";

ajaxRequest.open(method, page, true);

if (method == 'POST') {
ajaxRequest.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=iso-8859-1"); 
ajaxRequest.send(variables);
}

else { ajaxRequest.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=iso-8859-1"); ajaxRequest.send(null); }

	ajaxRequest.onreadystatechange = function() {
		if (divload) {
		if(ajaxRequest.readyState < 4 && !load && divload) { document.getElementById(divload).innerHTML = '<img src="styles/icons/loaders/loading.gif" alt="" />'; load = true; }
		}
	
		if(ajaxRequest.readyState == 4) { load = false;
			if (divload) document.getElementById(divload).innerHTML = '';
			if (callback) callback(ajaxRequest.responseText);
		}
	}

}


/* Animate background positions */

(function($) {
	if(!document.defaultView || !document.defaultView.getComputedStyle){ // IE6-IE8
		var oldCurCSS = jQuery.curCSS;
		jQuery.curCSS = function(elem, name, force){
			if(name === 'background-position'){
				name = 'backgroundPosition';
			}
			if(name !== 'backgroundPosition' || !elem.currentStyle || elem.currentStyle[ name ]){
				return oldCurCSS.apply(this, arguments);
			}
			var style = elem.style;
			if ( !force && style && style[ name ] ){
				return style[ name ];
			}
			return oldCurCSS(elem, 'backgroundPositionX', force) +' '+ oldCurCSS(elem, 'backgroundPositionY', force);
		};
	}
	
	var oldAnim = $.fn.animate;
	$.fn.animate = function(prop){
		if('background-position' in prop){
			prop.backgroundPosition = prop['background-position'];
			delete prop['background-position'];
		}
		if('backgroundPosition' in prop){
			prop.backgroundPosition = '('+ prop.backgroundPosition;
		}
		return oldAnim.apply(this, arguments);
	};
	
	function toArray(strg){
		strg = strg.replace(/left|top/g,'0px');
		strg = strg.replace(/right|bottom/g,'100%');
		strg = strg.replace(/([0-9\.]+)(\s|\)|$)/g,"$1px$2");
		var res = strg.match(/(-?[0-9\.]+)(px|\%|em|pt)\s(-?[0-9\.]+)(px|\%|em|pt)/);
		return [parseFloat(res[1],10),res[2],parseFloat(res[3],10),res[4]];
	}
	
	$.fx.step. backgroundPosition = function(fx) {
		if (!fx.bgPosReady) {
			var start = $.curCSS(fx.elem,'backgroundPosition');
			
			if(!start){//FF2 no inline-style fallback
				start = '0px 0px';
			}
			
			start = toArray(start);
			
			fx.start = [start[0],start[2]];
			
			var end = toArray(fx.options.curAnim.backgroundPosition);
			fx.end = [end[0],end[2]];
			
			fx.unit = [end[1],end[3]];
			fx.bgPosReady = true;
		}
		//return;
		var nowPosX = [];
		nowPosX[0] = ((fx.end[0] - fx.start[0]) * fx.pos) + fx.start[0] + fx.unit[0];
		nowPosX[1] = ((fx.end[1] - fx.start[1]) * fx.pos) + fx.start[1] + fx.unit[1];           
		fx.elem.style.backgroundPosition = nowPosX[0]+' '+nowPosX[1];

	};
})(jQuery);

$(document).ready(function() {
$('.menu_buttons a').hover(function() { $(this).stop(true).animate({backgroundPosition:'0px -158px'}, 300);}, function() { $(this).stop(true).animate({backgroundPosition:'0px 0px'}, 300);});
});
