function	 bumpTopDiv(name, curtop, sens, speed) {
	var		div = document.getElementById(name);
	if (div) {
		if (sens == 0) {
			if (div.style.top.substr(0, div.style.top.length - 2) > (curtop - 25)) {
				div.style.top = (parseInt(div.style.top.substr(0, div.style.top.length - 2)) - 1) + 'px';
				setTimeout("bumpTopDiv('"+name+"', '"+curtop+"', "+sens+", "+speed+")", speed);
			} else
				setTimeout("bumpTopDiv('"+name+"', '"+curtop+"', 1, "+speed+")", speed);
		} else if (sens == 1) {
			if (div.style.top.substr(0, div.style.top.length - 2) < (curtop + 15)) {
				if (speed == 40) speed = 25;
				div.style.top = (parseInt(div.style.top.substr(0, div.style.top.length - 2)) + 1) + 'px';
				if (speed > 10) speed -= 1.8;
				setTimeout("bumpTopDiv('"+name+"', '"+curtop+"', "+sens+", "+speed+")", speed);
			} else
				setTimeout("bumpTopDiv('"+name+"', '"+curtop+"', 2, "+speed+")", speed);
		} else if (sens == 2) {
			if (div.style.top.substr(0, div.style.top.length - 2) > (curtop - 10)) {
				div.style.top = (parseInt(div.style.top.substr(0, div.style.top.length - 2)) - 1) + 'px';
				speed += 2;
				setTimeout("bumpTopDiv('"+name+"', '"+curtop+"', "+sens+", "+speed+")", speed);
			} else
				setTimeout("bumpTopDiv('"+name+"', '"+curtop+"', 3, "+speed+")", speed);
		} else if (sens == 3) {
			if (div.style.top.substr(0, div.style.top.length - 2) < curtop) {
				div.style.top = (parseInt(div.style.top.substr(0, div.style.top.length - 2)) + 1) + 'px';
				speed += 1;
				setTimeout("bumpTopDiv('"+name+"', '"+curtop+"', "+sens+", "+speed+")", speed);
			} else {
				setTimeout("bumpDiv('"+name+"', 22000)", 1000);
			}
		}
	}
}

function   bumpDiv(name, delay) {
	var    div = document.getElementById(name);
	var    curtop = 0;
	var    obj = div;
	if (obj.offsetParent) {
		curtop += obj.offsetTop;
	}
	div.style.top = curtop + 'px';
	setTimeout("bumpTopDiv('"+name+"', '"+curtop+"', 0, 30);", delay);
}

//object : l'element en question)
//value : la valeur de l'opacité
//name : si object n'est pas spécifié
function setOpacity(object, value, name) {
	if (!object)
		object = document.getElementById(name);
	if (object)
		object.style.opacity = value/10;
}

// if spy == 1 : l'utisateur veut juste savoir s'il a fait le changement
function   hideDiv(name, value, delay, str, spy) {
	if (typeof(this.sens) == 'undefined') {
		if (typeof(spy) != 'undefined')
			return true;
		this.sens = new Array();
	}
	if (typeof(this.sens[name]) == 'undefined') {
		if (typeof(spy) != 'undefined')
			return true;
		this.sens[name] = 1;
	}
	if (typeof(spy) != 'undefined') {
		if (this.sens[name] == 0)
			return true;
		else
			return false;
	}
	var object = document.getElementById(name);
	if (object.style.opacity == '' || typeof(object.style.opacity) == 'undefined')
		object.style.opacity = 1;
	
	if (typeof(this.opacite) == 'undefined')
		this.opacite = new Array();
	if (typeof(this.opacite[name]) == 'undefined')
		this.opacite[name] = object.style.opacity;
			
	if (this.sens[name] == 1) {
		object.style.opacity = parseFloat(object.style.opacity) - parseFloat(value);
		if (object.style.opacity <= 0) {
			object.style.display = 'none';
			object.innerHTML = unescape(str);
			object.style.display = 'block';
			this.sens[name] = 2;
		}
		setTimeout("hideDiv('"+name+"', '"+value+"', '"+delay+"', '"+str+"');", delay);
	} else if (this.sens[name] == 2) {
		object.style.opacity = parseFloat(object.style.opacity) + parseFloat(value);
		if (object.style.opacity < this.opacite[name])
			setTimeout("hideDiv('"+name+"', '"+value+"', '"+delay+"');", delay);
		else
			this.sens[name] = 0;
	}
}

function	changerModule(name, page, toId, str) {
	if (typeof(this.mutex) == 'undefined')
		this.mutex = new Array();
	if (typeof(this.mutex[name]) == 'undefined') {
		this.mutex[name] = 1;
		var obj = document.getElementById(name);
		loadData(obj.value, page, toId);
		hideDiv(toId, 0.1, 70, str);
	}
}

function	checkmail(name)
{
	var mail = document.getElementById(name);
	var reg = new RegExp('^[a-z0-9]+([_|\.|-]{1}[a-z0-9]+)*@[a-z0-9]+([_|\.|-]{1}[a-z0-9]+)*[\.]{1}[a-z]{2,6}$', 'i');

	if(reg.test(mail.value))
		return(true);
	return(false);
}

function	formulaire_error(name)
{
	var mail = document.getElementById(name);
	mail.style.backgroundColor = '#FF9587';
}

/**************************/
/*********  AJAX  *********/
/**************************/

// id = variable de recherche (ex : 'a')
// page = la page ou il y aura les informations demandés
// toId = l'id de la div ou iront les réponses
function loadData(id, page, toId){
	sendData('id='+ id, page, 'GET', toId);
}

function sendData(data, page, method, toId){
	if (window.ActiveXObject){
		//Internet Explorer
		var XhrObj = new ActiveXObject("Microsoft.XMLHTTP") ;
	}
	else {
		var XhrObj = new XMLHttpRequest();
	}
	//définition de l'endroit d'affichage:
    var content = document.getElementById(toId);
    //si on envoie par la méthode GET:
    if (method == "GET") {
		if (data == 'null') {
			//Ouverture du fichier sélectionné:
			XhrObj.open("GET", page);
		}
		else {
			//Ouverture du fichier en methode GET
			XhrObj.open("GET", page+"?"+data);
		}
    }
	else if (method == "POST") {
		//Ouverture du fichier en methode POST
		XhrObj.open("POST", page);
	}

	//Ok pour la page cible
	XhrObj.onreadystatechange = function(){
		if (XhrObj.readyState == 4 && XhrObj.status == 200) {
			//content.innerHTML = XhrObj.responseText;
			//alert(XhrObj.responseText);
		}
	}
	if (method == "GET") {
		XhrObj.send(null);
	}
	else if (method == "POST") {
		XhrObj.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); 
		XhrObj.send(data);
	}
}

