function selectObj(obj) {
	if(document.getElementById) return document.getElementById(obj);
	else if(document.all) return document.all[obj];
	else if(document.layers && document.layers[obj]) return document.layers[obj];
}

function selectVal(obj) {
	return selectObj(obj).value;
}


function show(object,mode) {
	if(mode=="visibility") {
		if(document.getElementById) document.getElementById(object).style.visibility = 'visible';
  		else if(document.all) document.all[object].style.visibility = 'visible';
  		else if(document.layers && document.layers[object]) document.layers[object].visibility = 'visible';
	} else if(mode="display") {
		var mot="block";
		if(navigator.appName == "Netscape") mot="table-row";
		if(document.getElementById) document.getElementById(object).style.display = mot;
  		else if(document.all) document.all[object].style.display = mot;
  		else if(document.layers && document.layers[object]) document.layers[object].display = mot;
	}
}

function hide(object,mode) {
	if(mode=="visibility") {
		if(document.getElementById) document.getElementById(object).style.visibility = 'hidden';
  		else if(document.all) document.all[object].style.visibility = 'hidden';
  		else if(document.layers && document.layers[object]) document.layers[object].visibility = 'hidden';
	} else if(mode="display") {
		if(document.getElementById) document.getElementById(object).style.display = 'none';
  		else if(document.all) document.all[object].style.display = 'none';
  		else if(document.layers && document.layers[object]) document.layers[object].display = 'none';
	}
}

function show_hide(object,mode) {
	if(mode=="visibility" || !mode) {
		if(selectObj(object).style.visibility=='hidden') show(object);
		else hide(object);
	} else if(mode=="display") {
		if(selectObj(object).style.display=='none') show(object,'display');
		else hide(object,'display');
	}
}



function GetXmlHttp() {
  var xmlhttp = false;
  if (window.XMLHttpRequest) {
    xmlhttp = new XMLHttpRequest()
  } else if (window.ActiveXObject) {
    try {
      xmlhttp = new ActiveXObject("Msxml2.XMLHTTP")
    } catch (e) {
      try {
        xmlhttp = new ActiveXObject("Microsoft.XMLHTTP")
      } catch (E) {
        xmlhttp=false
      }
    }
  }
  return xmlhttp;
}

var ajax_en_cours = false;

function envoyerAjax(url,obj_id,html_wait,obj_wait) {
	ajax_en_cours = true;
	if(html_wait == undefined) html_wait = '';
	if(obj_wait == undefined) obj_wait = obj_id;
	if(obj_wait != obj_id) var back_wait = selectObj(obj_wait).innerHTML;
	var xmlhttp = new GetXmlHttp();
	if(xmlhttp) {
		xmlhttp.onreadystatechange = function() {
			if(xmlhttp && xmlhttp.readyState == 4) {
				if(xmlhttp.status==200) {
					if(typeof obj_id == 'object') obj_id.innerHTML = xmlhttp.responseText;
					else selectObj(obj_id).innerHTML = xmlhttp.responseText;
				}
				if(obj_wait != obj_id && selectObj(obj_wait)!=null) selectObj(obj_wait).innerHTML = back_wait;
			}
			else if(xmlhttp && xmlhttp.readyState != 4 && html_wait!='') {
				if(typeof obj_wait == 'object') obj_wait.innerHTML = html_wait;
				else selectObj(obj_wait).innerHTML = html_wait;
			}
		}
		xmlhttp.open("GET",url,true);
		xmlhttp.send(null);
	}
	ajax_en_cours = false;
}

function recevoirAjax(url) {
	ajax_en_cours = true;
	var xmlhttp = new GetXmlHttp();
	xmlhttp.open("GET",url,false);
	xmlhttp.send(null);
	ajax_en_cours = false;
	return xmlhttp.responseText;
}

function envoyerAjaxPost(url,params,obj_id,html_wait,obj_wait) {
	ajax_en_cours = true;
	if(html_wait == undefined) html_wait = '';
	if(obj_wait == undefined) obj_wait = obj_id;
	if(obj_wait != obj_id) var back_wait = selectObj(obj_wait).innerHTML;
	var xmlhttp = new GetXmlHttp();
	if(xmlhttp) {
		xmlhttp.open("POST",url,true);
		xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		xmlhttp.setRequestHeader("Content-length", params.length);
		xmlhttp.setRequestHeader("Connection", "close");
		xmlhttp.onreadystatechange = function() {
			if(xmlhttp && xmlhttp.readyState == 4) {
				if(xmlhttp.status==200) {
					if(typeof obj_id == 'object') obj_id.innerHTML = xmlhttp.responseText;
					else selectObj(obj_id).innerHTML = xmlhttp.responseText;
				}
				if(obj_wait != obj_id && selectObj(obj_wait)!=null) selectObj(obj_wait).innerHTML = back_wait;
			}
			else if(xmlhttp && xmlhttp.readyState != 4 && html_wait!='') {
				if(typeof obj_wait == 'object') obj_wait.innerHTML = html_wait;
				else selectObj(obj_wait).innerHTML = html_wait;
			}
		}
		xmlhttp.send(params);
	}
	ajax_en_cours = false;
}

function envoyerAjaxMulti(url,tab_obj_id,html_wait,obj_wait) {
	ajax_en_cours = true;
	if(html_wait == undefined) html_wait = '';
	if(obj_wait == undefined) obj_wait = tab_obj_id[0];
	if(obj_wait != tab_obj_id[0]) var back_wait = selectObj(obj_wait).innerHTML;
	var xmlhttp = new GetXmlHttp();
	if(xmlhttp) {
		xmlhttp.onreadystatechange = function() {
			if(xmlhttp && xmlhttp.readyState == 4) {
				if(xmlhttp.status==200) {
					var retour = xmlhttp.responseText.split('[separation]');
					var i=0;
					for(i=0;i<tab_obj_id.length;i++) {
						if(typeof tab_obj_id[i] == 'object') tab_obj_id[i].innerHTML = retour[i];
						else selectObj(tab_obj_id[i]).innerHTML = retour[i];
					}
				}
				if(obj_wait != tab_obj_id[0] && selectObj(obj_wait)!=null) selectObj(obj_wait).innerHTML = back_wait;
			}
			else if(xmlhttp && xmlhttp.readyState != 4 && html_wait!='') {
				if(typeof obj_wait == 'object') obj_wait.innerHTML = html_wait;
				else selectObj(obj_wait).innerHTML = html_wait;
			}
		}
		xmlhttp.open("GET",url,true);
		xmlhttp.send(null);
	}
	ajax_en_cours = false;
}

function recevoirAjaxMulti(url) {
	ajax_en_cours = true;
	var xmlhttp = new GetXmlHttp();
	xmlhttp.open("GET",url,false);
	xmlhttp.send(null);
	ajax_en_cours = false;
	return xmlhttp.responseText.split('[separation]');
}




function changeInnerHTML(conteneur,html) {
	var ret = selectObj(conteneur).innerHTML;
	selectObj(conteneur).innerHTML=html;
	return ret;
}



function toInt(x) {
	return (x > 0 ? Math.floor(x) : Math.ceil(x))
}



function verif_email(email) {
	return recevoirAjax('verifEmail.php?email='+email);
}




function addslashes( str ) {
    // http://kevin.vanzonneveld.net
    // +   improved by: Ates Goral (http://magnetiq.com)
    // *     example 1: addslashes("kevin's birthday");
    // *     returns 1: "kevin\\'s birthday"
    // *     example 2: addslashes("\"'\\\0");
    // *     returns 2: "\\\"\\\'\\\\\\0"
 
    return str.replace(/(["'\\])/g, "\\$1").replace(/\0/g, "\\0");
}