// fonction.js

// les deux fonctions suivantes ajoutent la propriété outerHTML pour Mozilla
var _emptyTags = {
   "IMG":   true,
   "BR":    true,
   "INPUT": true,
   "META":  true,
   "LINK":  true,
   "PARAM": true,
   "HR":    true
};

if(typeof(HTMLElement)!="undefined"){
	HTMLElement.prototype.__defineGetter__("outerHTML", function () {
	   var attrs = this.attributes;
	   var str = "<" + this.tagName;
	   for (var i = 0; i < attrs.length; i++)
		  str += " " + attrs[i].name + "=\"" + attrs[i].value + "\"";
	
	   if (_emptyTags[this.tagName])
		  return str + ">";
	
	   return str + ">" + this.innerHTML + "</" + this.tagName + ">";
	});
	
	HTMLElement.prototype.__defineSetter__("outerHTML", function (sHTML) {
	   var r = this.ownerDocument.createRange();
	   r.setStartBefore(this);
	   var df = r.createContextualFragment(sHTML);
	   this.parentNode.replaceChild(df, this);
	});
}


 
/////////////////////////////////////////// AJAX ///////////////////////////////////
//
// fonction ajax principale
//
function getAjax(){ // initialise l'utilisation de l'ajax
 var Ajax = null;
 if(window.XMLHttpRequest) // Firefox et autres
  Ajax = new XMLHttpRequest(); 
 else if(window.ActiveXObject){ // Internet Explorer 
  try {Ajax = new ActiveXObject("Msxml2.XMLHTTP");} 
  catch (e) {Ajax = new ActiveXObject("Microsoft.XMLHTTP");}
 } else { // XMLHttpRequest non supporté par le navigateur 
  alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
  Ajax = false;
 } 
    return Ajax;
}
 
// [1] 
// fonction ajax avec requete
//
function loadAjax(div,page,vars){ 
 var Ajax = getAjax();
 // On définit ce qu'on va faire quand on aura la réponse
 Ajax.onreadystatechange = function(){
  // On ne fait quelque chose que si on a tout reçu et que le serveur est ok
  if(Ajax.readyState == 4 && Ajax.status == 200){
   retour = Ajax.responseText;
   // On met a jour la div transmise
   if(page!=''){
	   document.getElementById(div).innerHTML = retour;
	   //alert(document.getElementById(div).outerHTML);
   }else{document.getElementById(div).innerHTML = '';}
  } else {
   var chargement = '<br><font class=bleu12>chargement en cours...</font><br>&nbsp;';
   document.getElementById(div).innerHTML = chargement;
  }
 }
 // poste la page
 Ajax.open("POST",page,true);
 // ne pas oublier ça pour le post
 Ajax.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
 // arguments
 Ajax.send(vars);
}

function loadAjax2(div,page,vars){ 
 var Ajax = getAjax();
 // On définit ce qu'on va faire quand on aura la réponse
 Ajax.onreadystatechange = function(){
  // On ne fait quelque chose que si on a tout reçu et que le serveur est ok
  if(Ajax.readyState == 4 && Ajax.status == 200){
   retour = Ajax.responseText;
   // On met a jour la div transmise
   if(page!=''){
	   document.getElementById(div).innerHTML = retour;
	   //alert(document.getElementById(div).outerHTML);
   }else{document.getElementById(div).innerHTML = '';}
  } else {
   var chargement = '<font class=bleu12>chargement en cours...</font>';
   document.getElementById(div).innerHTML = chargement;
  }
 }
 // poste la page
 Ajax.open("POST",page,true);
 // ne pas oublier ça pour le post
 Ajax.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
 // arguments
 Ajax.send(vars);
}

// outerHTML au lieu de inner, pour les niceforms
function loadAjaxNice(div,page,vars){ 
 var Ajax = getAjax();
 // On définit ce qu'on va faire quand on aura la réponse
 Ajax.onreadystatechange = function(){
  // On ne fait quelque chose que si on a tout reçu et que le serveur est ok
  if(Ajax.readyState == 4 && Ajax.status == 200){
   retour = Ajax.responseText;
   // On met a jour la div transmise
   if(page!=''){
	   // spécial niceforms : on récupère les proppriété de style de l'ancienne balise
	   var styles = document.getElementById(div).style;
	   // on remplace le outer
	   document.getElementById(div).outerHTML = retour;
	   // on remet les styles
	   document.getElementById(div).style.width = styles.width;
	   document.getElementById(div).style.height = styles.height;
	   // comptage 
	   compteurVO();
   }else{document.getElementById(div).innerHTML = '';}
  } else {
   var chargement = '<span class=bleu12>chargement en cours...</span>';
   document.getElementById(div).innerHTML = chargement;
  }
 }
 // poste la page
 Ajax.open("POST",page,true);
 // ne pas oublier ça pour le post
 Ajax.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
 // arguments
 Ajax.send(vars);
}
// outerHTML au lieu de inner, pour les niceforms
function loadAjaxNiceVP(div,page,vars){ 
 var Ajax = getAjax();
 // On définit ce qu'on va faire quand on aura la réponse
 Ajax.onreadystatechange = function(){
  // On ne fait quelque chose que si on a tout reçu et que le serveur est ok
  if(Ajax.readyState == 4 && Ajax.status == 200){
   retour = Ajax.responseText;
   // On met a jour la div transmise
   if(page!=''){
	   // spécial niceforms : on récupère les proppriété de style de l'ancienne balise
	   var styles = document.getElementById(div).style;
	   // on remplace le outer
	   document.getElementById(div).outerHTML = retour;
	   // on remet les styles
	   document.getElementById(div).style.width = styles.width;
	   document.getElementById(div).style.height = styles.height;
	   // comptage 
	   compteurVP();
   }else{document.getElementById(div).innerHTML = '';}
  } else {
   var chargement = '<span class=bleu12>chargement en cours...</span>';
   document.getElementById(div).innerHTML = chargement;
  }
 }
 // poste la page
 Ajax.open("POST",page,true);
 // ne pas oublier ça pour le post
 Ajax.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
 // arguments
 Ajax.send(vars);
}

// comptage en temps réel du nombre de véhicule
function compteurVO(test){
	if(typeof('test')=='undefined'){var test=1;}
	var inputType = document.moteur.typeVO;
	var inputMarque = document.moteur.marqueVO;
	var inputModele = document.moteur.modeleVO;
	var inputEnergie = document.moteur.energieVO;
	var type = inputType.options[inputType.selectedIndex].value;
	var marque = inputMarque.options[inputMarque.selectedIndex].value;
	var modele = inputModele.options[inputModele.selectedIndex].value;
	var energie = inputEnergie.options[inputEnergie.selectedIndex].value;
	var pxmini = document.moteur.pxminiVO.value;
	var pxmaxi = document.moteur.pxmaxiVO.value;
	// transmission ajax
	var Ajax = getAjax();
	// On définit ce qu'on va faire quand on aura la réponse
	Ajax.onreadystatechange = function(){
		// On ne fait quelque chose que si on a tout reçu et que le serveur est ok
		if(Ajax.readyState == 4 && Ajax.status == 200){
			retour =  Ajax.responseText;
			retour=retour.split('|');
			var compte = retour[0];
			var pxmin = retour[1];
			var pxmax = retour[2];
			// on met à jour le compteur
			document.getElementById('compteurVO').innerHTML = compte;
			// màj des curseurs de prix, uniquement si l'on vient pas déjà du curseur
			if(test>0){
				square_slider.setValue(pxmin,0);
				square_slider.setValue(pxmax,1);
			}
		} else {
			var chargement = '<span class=bleu12>calcul...</span>';
			document.getElementById('compteurVO').innerHTML = chargement;
		}
	}
	// poste la page
	Ajax.open("POST",'/ajax/VO_compteur.php',true);
	// ne pas oublier ça pour le post
	Ajax.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
	// arguments
	Ajax.send('type='+type+'&marque='+marque+'&modele='+modele+'&energie='+energie+'&pxmini='+pxmini+'&pxmaxi='+pxmaxi);
}

// comptage en temps réel du nombre de véhicule VP
function compteurVP(test)
{
	if(typeof('test')=='undefined'){var test=1;}
	
	var inputType 			= document.moteur.typeVP;
	var inputMarque 		= document.moteur.marqueVP;
	var inputModele 		= document.moteur.modeleVP;
	var inputEnergie 		= document.moteur.energieVP;
	var inputCouleur 		= document.moteur.couleurVP;
	var inputBoite			= document.moteur.boiteVP;
	
	var type 				= inputType.options[inputType.selectedIndex].value;
	var marque 				= inputMarque.options[inputMarque.selectedIndex].value;
	var modele 				= inputModele.options[inputModele.selectedIndex].value;
	var energie 			= inputEnergie.options[inputEnergie.selectedIndex].value;
	var couleur 			= inputCouleur.options[inputCouleur.selectedIndex].value;
	var boite				= inputBoite.options[inputBoite.selectedIndex].value;
	
	var pxmini 				= document.moteur.pxminiVP.value;
	var pxmaxi 				= document.moteur.pxmaxiVP.value;
	var kmmini 				= document.moteur.kmminiVP.value;
	var kmmaxi 				= document.moteur.kmmaxiVP.value;
	
	// transmission ajax
	var Ajax = getAjax();
	// On définit ce qu'on va faire quand on aura la réponse
	Ajax.onreadystatechange = function(){
		// On ne fait quelque chose que si on a tout reçu et que le serveur est ok
		if(Ajax.readyState == 4 && Ajax.status == 200){
			retour =  Ajax.responseText;
			retour=retour.split('|');
			var compte = retour[0];
			var pxmin = retour[1];
			var pxmax = retour[2];
			// on met à jour le compteur
			document.getElementById('compteurVP').innerHTML = compte;
			// màj des curseurs de prix, uniquement si l'on vient pas déjà du curseur
			if(test>0){
				square_slider.setValue(pxmin,0);
				square_slider.setValue(pxmax,1);
			}
		} else {
			var chargement = '<span class=bleu12>calcul...</span>';
			document.getElementById('compteurVP').innerHTML = chargement;
		}
	}
	// poste la page
	Ajax.open("POST",'/ajax/VP_compteur.php',true);
	// ne pas oublier ça pour le post
	Ajax.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
	// arguments
	Ajax.send('type='+encodeURIComponent(type)+'&couleur='+encodeURIComponent(couleur)+'&boite='+encodeURIComponent(boite)+'&marque='+encodeURIComponent(marque)+'&modele='+encodeURIComponent(modele)+'&energie='+encodeURIComponent(energie)+'&pxmini='+pxmini+'&pxmaxi='+pxmaxi+'&kmmini='+kmmini+'&kmmaxi='+kmmaxi);
}
	
 
////////////////////////////////////// VOILAGE //////////////////////////////////////////
// [2] 
// fonction d'affichage d'un objet
//
function affiche(div) {
 document.getElementById(div).style.display='block';
}
//
function affiche2(div) {
 document.getElementById(div).style.display='inline';
}
//
// visibility au lieu de display
function affichev(div) {
 document.getElementById(div).style.visibility='visible';
}
// [3] 
// fonction de voilage d'un objet
//
function cache(div) {
 document.getElementById(div).style.display='none';
} 
//
// visibility au lieu de display
function cachev(div) {
 document.getElementById(div).style.visibility='hidden';
}
// [3bis] 
// fonction de voilage/affichage d'un objet
//
function alterne(div) {
 if(document.getElementById(div).style.display=='none'){document.getElementById(div).style.display='block';}
 else{document.getElementById(div).style.display='none';}
}  
// [4] 
// fonction d'affichage d'un objet PARENT
//
function p_affiche(div) {
 parent.document.getElementById(div).style.display='block';
}
// [5] 
// fonction de voilage d'un objet PARENT
//
function p_cache(div) {
 parent.document.getElementById(div).style.display='none';
}
 
//////////////////////////////////// CONTROLE CHAMP STANDARD ////////////////////////////
// [6] 
// fonction de controle d'un champ unique
//
// pré-requis : le nom des champs spéciaux doivent correspondre au tests effectués : 
// email (contrôle de cohérence),cp (5 chiffres),telephone (10 chiffres),login (6 char min),pass (6 char min)
// par défaut, on contrôle juste si le champ est vide
// 
// affichage du code erreur : une div doit être présente à côté de chaque champ avec un id comme 'ctl_email' par ex.
//
// ex d'utilisation : <input type="text" name="nom" id="nom" style="width:220px;" onBlur="controle_champ('inscription',this.name);"><span id="ctl_nom" class="rouge12"></span>
//
function controle_champ(form,champ){
 var test=document.forms[form].elements[champ].value;
 var span= 'ctl_'+champ;
 var valid=true;
 var message="";
 switch(champ) {
  case 'email':
   // test de l'email
   var atom = "[!#-'*+\\-\\/-9=?A-Z^-~]+";
   var regex_adresse = new RegExp("^"+atom+"(\\."+atom+")*@"+atom+"(\\."+atom+")*\\.[a-zA-Z]{2,4}$");
   if(test=='' || test.search(regex_adresse)!=0 || test.length>150){valid=false;message='email non valide';}
   //else {check_email(test,span);} -> pas beoin de vérification en base
  break;
  case 'email1':
   // test de l'email
   var atom = "[!#-'*+\\-\\/-9=?A-Z^-~]+";
   var regex_adresse = new RegExp("^"+atom+"(\\."+atom+")*@"+atom+"(\\."+atom+")*\\.[a-zA-Z]{2,4}$");
   if(test=='' || test.search(regex_adresse)!=0 || test.length>150){valid=false;message='email non valide';}
   //else {check_email(test,span);} -> pas beoin de vérification en base
  break;
  case 'email2':
   // test de l'email
   var atom = "[!#-'*+\\-\\/-9=?A-Z^-~]+";
   var regex_adresse = new RegExp("^"+atom+"(\\."+atom+")*@"+atom+"(\\."+atom+")*\\.[a-zA-Z]{2,4}$");
   if(test=='' || test.search(regex_adresse)!=0 || test.length>150){valid=false;message='email non valide';}
   //else {check_email(test,span);} -> pas beoin de vérification en base
  break;
  case 'cp':
   if(isNaN(test) || test.length!=5){valid=false;message='code-postal non valide';}
  break;
  case 'telephone':
   if(isNaN(test) || test.length!=10){valid=false;message='t&eacute;l&eacute;phone non valide';}
  break;
  case 'login':
   if(test.length<6){valid=false;message='login trop court';}
   //else {check_login(test,span);} -> pas beoin de vérification en base
  break;
  case 'pass':
   if(typeof(document.forms[form].elements['log'])!="undefined"){
	   var login=document.forms[form].elements['log'].value;
	   valid=false;message='identique au login';
   }
   if(test.length<6){
	   valid=false;message='mot de passe trop court';
	   // special schuller
	   affichev('passcomments');
   } else{cachev('passcomments');}
  break;
  default:
   if(document.forms[form].elements[champ].type == 'select-one'){
	   var champ_temp = document.forms[form].elements[champ];
	   if(champ_temp.options[champ_temp.selectedIndex].value == ""){valid=false; message='champ obligatoire';}
   } else if (document.forms[form].elements[champ].length>1){
	   var champ_temp = document.forms[form].elements[champ];
	   var validTemp = false;
	   for(var j=0; j<champ_temp.length;j++){
		   if((champ_temp[j].type == "radio" || champ_temp[j].type  == "checkbox") && champ_temp[j].checked == true){validTemp=true;}
	   }
	   if(validTemp == false){valid=false; message='champ obligatoire';}
   } else if (test == "" && document.forms[form].elements[champ].type != "radio" && document.forms[form].elements[champ].type != "checkbox"){
	   valid=false;message='champ obligatoire';
   }
  break;
 }
 if(valid==false){
  //document.getElementById(span).innerHTML='&nbsp;&nbsp;'+message;
  if(document.getElementById(span).className.indexOf('alerte')==-1){document.getElementById(span).className+=" alerte";}
 } 
 else{
  //document.getElementById(span).innerHTML='';
  document.getElementById(span).className=document.getElementById(span).className.replace('alerte','');
 }
 return valid;
}



function survol(zone,couleur){
	if(couleur!="#0079c0"){
		document.getElementById(zone).style.backgroundColor="#e5e5e5";
	}
}
function survolOUT(zone,couleur){
	document.getElementById(zone).style.backgroundColor=couleur;
}


// moteur avancé VO
function moteurSelect(element,input,val){
	var champ = document.moteurVO.elements[input];
	var classe = element.className;
	if(classe.indexOf('valide')!=-1){
		element.className=classe.replace(' valide','');
		element.className=classe.replace('valide','');
		champ.value=champ.value.replace((val+'|'),'');
	}
	else{
		element.className+=' valide';
		champ.value+=val+'|';
	}
}


// déroule les éléments de concession
function deroule(ident)
{
	var div_new = "div_"+ident;

	/*
	//Slide(div_new)
	alert(div_encours);
	if(div_encours != div_new)
	{
		if(div_encours != "")
		{
			Slide(div_encours);
			Slide(div_new);
			div_encours = div_new;
		} 
		else
		{
			Slide(div_new);
			div_encours = "";
		}
	}
	*/;
	if(div_encours != div_new && document.getElementById(div_encours) != null && document.getElementById(div_encours).style.display != "none")
    {
        Slide(div_encours); 
    }
    Slide(div_new);
    div_encours = div_new;
	
}

/**
 * Effets Jquery
 */
/**
 * Fonction permettant de slider une div (monter / descendre) exemple pour menu
 */
function Slide(div)
{
	if( $('#'+div).css("display") == "none")
	{	
		$('#'+div).slideDown("slow"); 
	} 
	else 
	{ 
		$('#'+div).slideUp("slow"); 
	}
}

// transmission du form VO apres validation
function contactVO(formname){
	var form = document.forms[formname];
	var data = "";
	// on récupère les input du formulaire
	var inputs = document.getElementsByTagName("input");
	// on les traite pour préparer la requete ajax
	for (var i = 0; i < inputs.length; i++){
		if(inputs[i].type == "checkbox"){
			var checkbox = form.elements[inputs[i].name];
			var datac = "";
			if(checkbox != undefined){
				if(checkbox.length>1){
					for(var j = 0;j<checkbox.length;j++){
						//alert(checkbox[j].checked);
						if(checkbox[j].checked == true){
							if (datac != ""){
								datac += "|";
							}
							datac += checkbox[j].value;
							//alert(checkbox[j].value);
						}
					}
					if (data != ""){
						data += "&";
					}
					data += inputs[i].name + "=" + datac;
					i = i+(checkbox.length - 1);
				} else {
					if(checkbox.checked == true){
						if (datac != ""){
							datac += "|";
						}
						datac += checkbox.value;
						//alert(checkbox.value);
					}
					if (data != ""){
						data += "&";
					}
					data += inputs[i].name + "=" + datac;
					i = i+1;
				}
			}
		} else if(inputs[i].type == "radio"){
			if(inputs[i].checked == true){
				if (data != ""){
					data += "&";
				}
				data += inputs[i].name + "=" + inputs[i].value;
			}
		} else {
			if (data != ""){
				data += "&";
			}
			data += inputs[i].name + "=" + inputs[i].value;
		}
	}
	// on ajoute les textearea
	data += '&precisions=' + form.precisions.value;
	// 
	// on cache les boutons d'action
	cache('div_action');
	// transmission ajax
	var Ajax = getAjax();
	// On définit ce qu'on va faire quand on aura la réponse
	Ajax.onreadystatechange = function(){
		// On ne fait quelque chose que si on a tout reçu et que le serveur est ok
		if(Ajax.readyState == 4 && Ajax.status == 200){
			retour =  Ajax.responseText;
			scrollTo(0,145);
			document.getElementById('blocformVO').innerHTML = retour;
			new Effect.Highlight('reponse');
		} else {
			var chargement = '<span class=bleu12>transmission des données...</span>';
			document.getElementById('divform').innerHTML = chargement;
		}
	}
	// poste la page
	Ajax.open("POST",'/ajax/VO_contact.php',true);
	// ne pas oublier ça pour le post
	Ajax.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
	// arguments
	Ajax.send(data);
}

// transmission du form VP apres validation
function contactVP(formname)
{
	var form = document.forms[formname];
	var data = "";
	// on récupère les input du formulaire
	var inputs = document.getElementsByTagName("input");
	// on les traite pour préparer la requete ajax
	for (var i = 0; i < inputs.length; i++){
		if(inputs[i].type == "checkbox"){
			var checkbox = inputs[i];
			var datac = "";
			if(checkbox != undefined){
				if(checkbox.length>1){
					for(var j = 0;j<checkbox.length;j++){
						//alert(checkbox[j].checked);
						if(checkbox[j].checked == true){
							if (datac != ""){
								datac += "|";
							}
							datac += checkbox[j].value;
							alert(checkbox[j].value);
						}
					}
					if (data != "")
					{
						data += "&";
						data += inputs[i].name + "=" + datac;
					}
					
				} else {
					if(checkbox.checked == true){
						if (datac != ""){
							datac += "|";
						}
						datac += checkbox.value;
						//alert(checkbox.value);
					}
					if (data != ""){
						data += "&";
						data += inputs[i].name + "=" + datac;
					}
				}
			}
		} else if(inputs[i].type == "radio"){
			if(inputs[i].checked == true){
				if (data != ""){
					data += "&";
				}
				data += inputs[i].name + "=" + inputs[i].value;
			}
		} else {
			if (data != ""){
				data += "&";
			}
			data += inputs[i].name + "=" + inputs[i].value;
		}
	}
	// on ajoute les textearea
	data += '&precisions=' + form.precisions.value;
	// 
	// on cache les boutons d'action
	cache('div_action');
	// transmission ajax
	var Ajax = getAjax();
	//alert(data);
	// On définit ce qu'on va faire quand on aura la réponse
	Ajax.onreadystatechange = function(){
		// On ne fait quelque chose que si on a tout reçu et que le serveur est ok
		if(Ajax.readyState == 4 && Ajax.status == 200){
			retour =  Ajax.responseText;
			scrollTo(0,145);
			document.getElementById('blocformVP').innerHTML = retour;
			/*new Effect.Highlight('reponse');*/
		} else {
			var chargement = '<span class=bleu12>transmission des données...</span>';
			document.getElementById('divform').innerHTML = chargement;
		}
	}
	// poste la page
	Ajax.open("POST",'/ajax/VP_contact.php',true);
	// ne pas oublier ça pour le post
	Ajax.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
	// arguments
	Ajax.send(data);
}

// transmission du form VO apres validation
function contact_affaire(formname){
	var form = document.forms[formname];
	var data = "";
	// on récupère les input du formulaire
	var inputs = document.getElementsByTagName("input");
	// on les traite pour préparer la requete ajax
	for (var i = 0; i < inputs.length; i++){
		if(inputs[i].type == "checkbox"){
			var checkbox = form.elements[inputs[i].name];
			var datac = "";
			if(checkbox.length>1){
				for(var j = 0;j<checkbox.length;j++){
					//alert(checkbox[j].checked);
					if(checkbox[j].checked == true){
						if (datac != ""){
							datac += "|";
						}
						datac += checkbox[j].value;
						//alert(checkbox[j].value);
					}
				}
				if (data != ""){
					data += "&";
				}
				data += inputs[i].name + "=" + datac;
				i = i+(checkbox.length - 1);
			} else {
				if(checkbox.checked == true){
					if (datac != ""){
						datac += "|";
					}
					datac += checkbox.value;
					//alert(checkbox.value);
				}
				if (data != ""){
					data += "&";
				}
				data += inputs[i].name + "=" + datac;
				i = i+1;
			}
		} else if(inputs[i].type == "radio"){
			if(inputs[i].checked == true){
				if (data != ""){
					data += "&";
				}
				data += inputs[i].name + "=" + inputs[i].value;
			}
		} else {
			if (data != ""){
				data += "&";
			}
			data += inputs[i].name + "=" + inputs[i].value;
		}
	}
	// on ajoute les textearea
	data += '&precisions=' + form.precisions.value;
	// 
	// on cache les boutons d'action
	cache('div_action');
	// transmission ajax
	var Ajax = getAjax();
	// On définit ce qu'on va faire quand on aura la réponse
	Ajax.onreadystatechange = function(){
		// On ne fait quelque chose que si on a tout reçu et que le serveur est ok
		if(Ajax.readyState == 4 && Ajax.status == 200){
			retour =  Ajax.responseText;
			scrollTo(0,145);
			document.getElementById('blocform').innerHTML = retour;
			new Effect.Highlight('reponse');
		} else {
			var chargement = '<span class=bleu12>transmission des donées...</span>';
			document.getElementById('divform').innerHTML = chargement;
		}
	}
	// poste la page
	Ajax.open("POST",'/ajax/affaire_contact.php',true);
	// ne pas oublier ça pour le post
	Ajax.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
	// arguments
	Ajax.send(data);
}

// formulaire de login
function login(formname,urlretour)
{
	var form = document.forms[formname];
	
	// on récupère les input du formulaire
	var email 					= form.email_connexion.value;
	var pass 					= form.password.value;
	var garderSessionActive 	= document.forms[formname].elements["garderSessionActive"].checked; 
	
	if(garderSessionActive == true){garderSessionActive = "oui";}else{garderSessionActive="non";}
	
	// transmission ajax
	var Ajax = getAjax();
	// On définit ce qu'on va faire quand on aura la réponse
	Ajax.onreadystatechange = function(){
		// On ne fait quelque chose que si on a tout reçu et que le serveur est ok
		if(Ajax.readyState == 4 && Ajax.status == 200){
			retour =  Ajax.responseText;
			/* alert(Ajax.responseText); */
			
			if(retour=="OK"){
				if(!urlretour){window.location='/mon-compte.html';}
				else{window.location=urlretour;}
			} else{
				document.getElementById('probleme_login').innerHTML = retour;
				affiche('probleme_login');
			}
			
		} else {
			var chargement = '<span class=bleu12>v&eacute;rification en cours...</span>';
			//document.getElementById('divformlogin').innerHTML = chargement;
		}
	}
	// poste la page
	Ajax.open("POST",'/ajax/compte_login.php',true);
	// ne pas oublier ça pour le post
	Ajax.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
	// arguments
	Ajax.send('email='+email+'&pass='+pass+"&garderSessionActive="+garderSessionActive);
}

// oubli des identifiants
function oubli(formname){
	var form = document.forms[formname];
	// on récupère les input du formulaire
	var email = form.email2.value;
	// transmission ajax
	var Ajax = getAjax();
	// On définit ce qu'on va faire quand on aura la réponse
	Ajax.onreadystatechange = function(){
		// On ne fait quelque chose que si on a tout reçu et que le serveur est ok
		if(Ajax.readyState == 4 && Ajax.status == 200){
			retour =  Ajax.responseText;
			if(retour=="OK"){ 
				document.getElementById('table2').innerHTML = '<div class="bleu12" style="padding:5px;">Un courrier &eacute;lectronique de rappel de vos identifiants vient de partir. Vous devriez le recevoir d\'un instant &agrave; l\'autre.<br />Pour vous identifier, <span class="pointer" onclick="affiche(\'table1\');cache(\'table2\');">cliquez ici</span>.</div>';
			}
			else{
				document.getElementById('ctl_email2').innerHTML = retour;
				document.getElementById('ctl_email2').className += ' alerte';
			}
		} else {
			var chargement = '<span class=bleu12>v&eacute;rification en cours...</span>';
			//document.getElementById('divformlogin').innerHTML = chargement;
		}
	}
	// poste la page
	Ajax.open("POST",'/ajax/compte_oubli.php',true);
	// ne pas oublier ça pour le post
	Ajax.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
	// arguments
	Ajax.send('email='+email);
}


// ajoute un véhicule à Ma Sélection
function add_ms(idstock,idcompte){
	// transmission ajax
	var Ajax = getAjax();
	// On définit ce qu'on va faire quand on aura la réponse
	Ajax.onreadystatechange = function(){
		// On ne fait quelque chose que si on a tout reçu et que le serveur est ok
		if(Ajax.readyState == 4 && Ajax.status == 200){
			retour =  Ajax.responseText;
			if(retour=="OK"){ 
				window.location='/ma-selection.html';
			}
			else{
				alert('Impossible d\'ajouter le v&eacute;hicule &agrave; Ma S&eacute;lection.');
			}
		} else {
			//var chargement = '<span class=bleu12>v&eacute;rification en cours...</span>';
			//document.getElementById('divformlogin').innerHTML = chargement;
		}
	}
	// poste la page
	Ajax.open("POST",'/ajax/compte_action_selection.php',true);
	// ne pas oublier ça pour le post
	Ajax.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
	// arguments
	Ajax.send('idstock='+idstock+'&idcompte='+idcompte);
}

// supprime un véhicule de Ma Sélection
function delete_ms(idstock,idcompte){
	// transmission ajax
	var Ajax = getAjax();
	// On définit ce qu'on va faire quand on aura la réponse
	Ajax.onreadystatechange = function(){
		// On ne fait quelque chose que si on a tout reçu et que le serveur est ok
		if(Ajax.readyState == 4 && Ajax.status == 200){
			retour =  Ajax.responseText;
			if(retour=="OK"){ 
				window.location='/ma-selection.html';
			}
			else{
				alert('Impossible de supprimer le v&eacute;hicule.');
			}
		} else {
			//var chargement = '<span class=bleu12>v&eacute;rification en cours...</span>';
			//document.getElementById('divformlogin').innerHTML = chargement;
		}
	}
	// poste la page
	Ajax.open("POST",'/ajax/compte_action_selection.php',true);
	// ne pas oublier ça pour le post
	Ajax.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
	// arguments
	Ajax.send('idstock='+idstock+'&idcompte='+idcompte+'&action=delete');
}


function changeWIDTH(zone,largeur){
	document.getElementById(zone).style.width=largeur+"px";
}


/**
 * chargement page dans div ajax sans requete
 * @param page : id de la page a charger
 * @param div : id de la div
 * @return
 */
function chargement_page(page,div)
{    
	var xhr = getAjax();
    xhr.onreadystatechange  = function()
    {
		if(document.getElementById(div)){document.getElementById(div).innerHTML="chargement ... ";}
         if(xhr.readyState  == 4)
         {
              if(xhr.status  == 200){document.getElementById(div).innerHTML = xhr.responseText; }
              else { document.getElementById(div).innerHTML = xhr.status; }
         }
    }; 
   xhr.open("GET",page,  true); 
   xhr.send(null);
}

/**
 * Fonction qui permet de posté un formulaire en ajax, la reponse est réaffiché dans la page ajax ou etait le form
 * Fonctionnement avec checkbox a revoir
 * @param page : page de destination ou est poste le form
 * @param zone : id de la div ou objet dans lequel est le form
 * @param nomForm : nom du formulaire
 * @return
 */
function post_form(page,zone,nomForm)
{
	var xhr = getAjax();
    xhr.onreadystatechange  = function()
    { 	
		document.getElementById(zone).innerHTML="<br /><center>chargement ...<center><br />";
        if(xhr.readyState  == 4)
        {
			if(xhr.status  == 200)
			{    
				document.getElementById(zone).innerHTML = xhr.responseText; 
            }
			else
			{
				document.getElementById(zone).innerHTML = "Page: " + page + xhr.status;
			}
		}
    };
	var sendTitre='';
	for(i=0 ; i < document.forms[nomForm].length ; i++)
	{
		if(i != 0){sendTitre += "&";}
		if(document.forms[nomForm].elements[i].type == "radio")
		{
			if(document.forms[nomForm].elements[i].checked == true)
			{
				sendTitre += document.forms[nomForm].elements[i].name + "=" + encodeURIComponent(document.forms[nomForm].elements[i].value);
			}
		}
		else
		{
			sendTitre += document.forms[nomForm].elements[i].name+"="+ encodeURIComponent(document.forms[nomForm].elements[i].value);
		}
	}
	xhr.open("POST",page,  true); 
	xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
	xhr.send(sendTitre);
}
