var ajax_send;

function Request(session,params,endpoint,type,refresh){
	if(refresh==null)refresh=true;
	//type : SYNC:= false ASYNC=true;
	if(type=="SYNC")type=false;
	if(type=="ASYNC")type=true;
	
	var xhr_object = null;
	if(window.XMLHttpRequest) // Firefox
	   xhr_object = new XMLHttpRequest();
	else if(window.ActiveXObject) // Internet Explorer
	   xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
	else { // XMLHttpRequest non supporté par le navigateur
	   alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
	   return;
	}

	//alert(params);
	//URL=window.location.href;
	//var reg=new RegExp(index_page, "g");
	//URL=URL.replace(reg,endpoint);
	URL=endpoint;
	
	if(type && refresh){ //ASYNCHRONE
		xhr_object.onreadystatechange = function(){
			//alert(xhr_object.readyState);
			if(xhr_object.readyState == 1){
				fadein("load",30);
			}
			if(xhr_object.readyState == 4){
				//alert("Requête effectuée !");
				resetConfirmDialog();
				update_page(xhr_object.responseText);
				fadeout("load",30);
			}
		}
	}
	xhr_object.open("POST",URL, type);
	xhr_object.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	xhr_object.setRequestHeader("Content-length", params.length);
	xhr_object.setRequestHeader("Connection", "close");
	xhr_object.send(params);
	
	if(!type){ //SYNCHRONE
		if(xhr_object.readyState == 4){
			return xhr_object.responseText;
		}
	}
}

function AfficheEtiquette(type,component,e){
	var label=window.document.getElementById('alert');
	var label2=window.document.getElementById('alert_msg');
	var decalage=0;
	if(navigator.appName=="Netscape"){
		//decalage=+20;
	}
	var pos=findPos(component);
	var reg=new RegExp(",", "g");
	var reg2=new RegExp("(px)", "g");
	try{
		var topParent = component.offsetParent.offsetTop;
		var leftParent = component.offsetParent.offsetLeft;
		label.style.top = topParent+"px";
		label.style.left = (leftParent+component.offsetWidth)+"px";
	}catch(e){
		alert(e);
	}
	
	if(type=="CP")
	label2.innerHTML="5 caractères numériques (ex: 78370)";
	
	if(type=="DATE")
	label2.innerHTML="Date au format fran&ccedil;ais<br> - jj/mm/aaaa";
	
	if(type=="TEL")
	label2.innerHTML="ex: 01 23 45 67 89";
	
	fadein("alert",100);
	if(type=="EMAIL")
	temporiseCheckEmail(component,e,10);
}

function CacheEtiquette(){
	var label=window.document.getElementById('alert');
	fadeout("alert",100);
}

function temporiseCheckEmail(elem,e,temps){
	try{
		evenement=e;
		composant=elem;
		var label=window.document.getElementById('alert_msg');
		label.innerHTML="<i>V&eacute;rification en cours...</i>";
		if (ajax_send) clearTimeout(ajax_send);ajax_send=setTimeout("checkEmail()", temps);
	}catch(ev){
		alert(ev);
	}
}

function checkEmail(){
	try{
		var e=evenement;
		var elem=composant;
		
		var label=window.document.getElementById('alert_msg');
		label.innerHTML="<i>V&eacute;rification en cours...</i>";
		var email=elem.value;
		var params="email="+email;
		var msg=Request("",params,FRAMEWORK+"noyau/composants/check_email/core/emailCheck.php","SYNC");
		
		label.innerHTML=msg;
	}catch(ev){
		alert(ev);
	}
}

function findPos(obj) {
  var curleft = curtop = 0;
    if (obj.offsetParent) {
      do {
        curleft += obj.offsetLeft;
        curtop += obj.offsetTop;
      } while (obj = obj.offsetParent);
    }
    
    var ret=curleft+","+curtop;
    return ret;
}

