//////////////////////////////////////////////////////////////////////////////////////////////////
//								Ajax															//
//////////////////////////////////////////////////////////////////////////////////////////////////
function envoieRequete(url,id,loading){//AFFICHER une page PHP ou HTML dans une div
	/*
	url = url de la page à appeler
	id = ID de la div pour la réponse de la page
	loading = true/false
		true = si il faut marquer à l'utilisateur un message de chargement
		false = Pas de page de chargement
	*/
	if(loading){
		document.getElementById(id).innerHTML='<span style="color:#FF0000">Chargement en cours...</span>&nbsp;<img src="images/loading.gif" />';
	}
	var xhr_object=null;
	if(window.XMLHttpRequest)
		xhr_object=new XMLHttpRequest();
	else
		if(window.ActiveXObject) xhr_object=new ActiveXObject("Microsoft.XMLHTTP");
		xhr_object.open("GET",url,true);
		xhr_object.onreadystatechange=function(){
			if(xhr_object.readyState==4){
				document.getElementById(id).innerHTML=xhr_object.responseText;
			}
		}
	xhr_object.send(null);
}

function ajax_file(url){//EXECUTER une page PHP sans L'AFFICHER
	if(texte=file(url)){
		return texte;	
	}
}

function file(fichier){
	 if(window.XMLHttpRequest)
		  xhr_object=new XMLHttpRequest();
	 else if(window.ActiveXObject)
		  xhr_object=new ActiveXObject("Microsoft.XMLHTTP");
	 else
		  return(false);
	 xhr_object.open("GET", fichier, false);
	 xhr_object.send(null);
	 if(xhr_object.readyState== 4) return(xhr_object.responseText);
	 else return(false);
}

//////////////////////////////////////////////////////////////////////////////////////////////////
//								Controle Formulaire												//
//////////////////////////////////////////////////////////////////////////////////////////////////
function verif_form(control,login){
	if(control.value==''){
		form_response(control.id,'Le champ ne doit pas &ecirc;tre vide','faux');//Faux
	}else{
		form_response(control.id,'','vrai');		
		if(control.id=='mail'){
			adresse=control.value;
			var place=adresse.indexOf("@",1);
			var point=adresse.indexOf(".",place+1);
			if((place>-1)&&(adresse.length>2)&&(point>1)){
				if(login){
					if(file('inscription_login.php?mail='+adresse)=='false'){//Si c'est true
						form_response(control.id,'','vrai');
					}else{
						form_response(control.id,'Ce login existe déjà dans la base de donnée','faux');
					}
				}else{
					form_response(control.id,'','vrai');
				}
			}else{
				form_response(control.id,'Ceci n\'est pas une adresse mail valide','faux');
			}
		}else if(control.id.substring(0,3)=='mdp'){
			if(document.getElementById('mdp1').value!=document.getElementById('mdp2').value){
				form_response('mdp1','Les 2 mots de passe doivent avoir la m&ecirc;me valeur','faux');
				form_response('mdp2','Les 2 mots de passe doivent avoir la m&ecirc;me valeur','faux');
			}else{
				form_response('mdp1','','vrai');
				form_response('mdp2','','vrai');
			}
		}
	}
}

function form_response(control_id,response,src_img){
	var id_img='img_'+control_id;
	var id_div='div_'+control_id;
	document.getElementById(id_img).style.display='inline';
	document.getElementById(id_img).src='images/'+src_img+'.png';
	if(src_img=='vrai'){
		document.getElementById(id_img).alt='Bonne réponse';
	}else{
		document.getElementById(id_img).alt=response;
	}
}

function disabled_but_valid(){
	var var_return=search_tag('img',4,'img_');
	var trouv=false;
	for(var po=0;po<var_return.length;po++){
		var temp=var_return[po].replace('img_','');//Pour tester si l'input existe bien
		if((document.getElementById(temp))&&(document.getElementById(var_return[po]).alt!='Bonne réponse')){//Si c'est différent
			trouv=true;
		}
	}
	
	if(trouv){
		alert('Veuillez verifier tous les champs svp');
		return false;
	}else{
		return true;	
	}
}

//////////////////////////////////////////////////////////////////////////////////////////////////
//								Cryptographe													//
//////////////////////////////////////////////////////////////////////////////////////////////////
function verif_crypto(valeur,SID){
	if(SID==''){
		texte=file('js/cryptographe/verifier.php?code='+valeur);
	}else{
		texte=file('js/cryptographe/verifier.php?code='+valeur+'&'+SID);
	}
	document.getElementById('img_code').style.display='inline';
	if(texte==0){
		document.getElementById('img_code').src='images/faux.png';
		document.getElementById('img_code').alt='Faux';
		document.images.cryptogram.src='js/cryptographe/cryptographp.php?cfg=0&1&'+Math.round(Math.random(0)*1000)+1;
	}else if(texte==1){
		document.getElementById('img_code').src='images/vrai.png';
		document.getElementById('img_code').alt='Bonne réponse';
	}
}

//////////////////////////////////////////////////////////////////////////////////////////////////
//								DOM:element														//
//////////////////////////////////////////////////////////////////////////////////////////////////
function search_tag(tag,nbr_caractere,id_search){
	//Ex: tag = img, input, select, td, tr
	array_trouv=new Array();
	var tags=[tag];
	var i=0;
	for(tagCounter=0;tagCounter<tags.length;tagCounter++){
		var inputs=document.getElementsByTagName(tags[tagCounter]);
		for(var no=0;no<inputs.length;no++){
			if(inputs[no].id.substring(0,nbr_caractere)==id_search){
				array_trouv[i]=inputs[no].id;
				i++;
			}				
		}
	}
	return array_trouv;
}

function del_node(tag_name,node_source,node_id_delete){
	/*
	tag_name = Nom de la node à supprimer
	node_source = Nom du conteneur
	node_id_delete = ID de la node à suppimer
	*/
	var tabtr=document.getElementById(node_source).getElementsByTagName(tag_name);
	for(i=0;i<tabtr.length;i++){
		if(tabtr[i].id==node_id_delete){
			tabtr[i].parentNode.removeChild(tabtr[i]);
		}
	}
}

//////////////////////////////////////////////////////////////////////////////////////////////////
//								Chiffres														//
//////////////////////////////////////////////////////////////////////////////////////////////////
function arrondi(nb,texte,sep){
	sep=texte.split(sep);
	return_texte=sep[0];
	if(sep[1]){
		return_texte+='.';
		if(sep[1].substr(nb,1)>=5){//Plus grand
			var tmp=sep[1].substr(0,nb);
			tmp++;
			if(tmp==100){
				return_texte=Number(sep[0])+1;
			}else{
				return_texte+=tmp;
			}
		}else if(sep[1].substr(nb,1)<5){//Plus petit
			if(sep[1].substr(0,nb)==00){
				return_texte=sep[0];
			}else{
				return_texte+=sep[1].substr(0,nb);
			}
		}
	}
	return return_texte;
}

//////////////////////////////////////////////////////////////////////////////////////////////////
//								Event															//
//////////////////////////////////////////////////////////////////////////////////////////////////
function frapper_keyboard(code){
	return code;
}
	
if(navigator.appName=="Microsoft Internet Explorer"){
	function toucheA(){frapper_keyboard(event.keyCode)};
	document.onkeydown=toucheA;
}else{
	function toucheB(evnt){frapper_keyboard(evnt.keyCode)};
	document.onkeydown=toucheB;
}

//////////////////////////////////////////////////////////////////////////////////////////////////
//								Localisation Objet												//
//////////////////////////////////////////////////////////////////////////////////////////////////
function getObj(objID){
    if(document.getElementById){return document.getElementById(objID);}
    else if(document.all){return document.all[objID];}
    else if(document.layers){return document.layers[objID];}
}

function left(obj){
	var curleft=0;
	if(obj.offsetParent){
		while(obj.offsetParent){
			curleft+=obj.offsetLeft
			obj=obj.offsetParent;
		}
	}else if(obj.x)
		curleft+=obj.x;
	return curleft;
}

function top(obj){
	var curtop=0;
	if(obj.offsetParent){
		while(obj.offsetParent){
			curtop+=obj.offsetTop
			obj=obj.offsetParent;
		}
	}else if(obj.y)
		curtop+=obj.y;
	return curtop;
}
