// verifie la validite d'un email
function validemail(champ)
{
 test = document.formulaire.elements[""+champ+""].value;
 valeur = test.indexOf("@");
 valeur2 = test.lastIndexOf(".");
 valeur3 = valeur2 + 1;
 longueur = test.length;
 ext = test.substring(valeur3,longueur);
 ok=0;
 temp = ext.length;
 if ( temp==2 || temp==3 ) 
    { ok=1; }
 else
    { ok=0; }
 if ( valeur2 == (valeur + 1) )
     { ok=0; }
 if (valeur==0)
     { ok=0; }
 if (valeur==-1 || valeur2==-1 || ok==0)
    { //alert("L'email que vous avez rentrée n'est pas valide.\nVeuillez la ressaisir s'il vous plaît.");
      return false; }
 else
    { return true; }   
    
}

// verifie les champs obligatoire d'un formulaire
valider_formulaire = function () {
	var tab = valider_formulaire.arguments;

	taille = tab.length;

	for (i=0;i<taille;i++) {
		if (tab[i]=="email") {
			if (!validemail(tab[i])) {
				return 0; 
			}
		}else{
			if ((document.formulaire.elements[tab[i]].value=="") || (document.formulaire.elements[tab[i]].value==" ")) {
				str_temp = tab[i].replace(/_/g," ");
				alert("Le champ "+str_temp+" est obligatoire.\nVeuillez le ressaisir s'il vous plaît.");
				return 0; 
			}
		}
	}
	
	document.formulaire.submit();
}

function empechechar()
{
	if( event.keyCode < 48 || event.keyCode > 57 )
 	{ 
 		alert( "Ce champ doit être numérique, il ne peut contenir aucun autre type de caratères." );
   		event.returnValue = false;
   	}
}

// Création objet AJAX pour le rechargement des options
var xhr = null; 
	 
function getXhr(){
	if(window.XMLHttpRequest) // Firefox et autres
	   xhr = new XMLHttpRequest(); 
	else if(window.ActiveXObject){ // Internet Explorer 
	   try {
                xhr = new ActiveXObject("Msxml2.XMLHTTP");
            } catch (e) {
                xhr = new ActiveXObject("Microsoft.XMLHTTP");
            }
	}
	else { // XMLHttpRequest non supporté par le navigateur 
	   //alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest..."); 
	   xhr = false; 
	} 
}

function filtre_langue_from_pays ( id_pays )
{
	langue_id = document.getElementById ( 'sel_langue' ).options[document.getElementById ( 'sel_langue' ).selectedIndex].value;			
	recharge_pays_with_reload ( langue_id, 1 );	
}


// rechargement du menu déroulant pays en fonction de la langue
function recharge_pays(id_langue)
{		
	recharge_pays_with_reload ( id_langue, 1 );		
}


// rechargement du menu déroulant pays en fonction de la langue
function recharge_pays_with_reload ( id_langue, hasreload )
{
	getXhr(); // crée un objet xhr si possible
	
	if(xhr != null)
	{
		// On défini ce qu'on va faire quand on aura la réponse
		xhr.onreadystatechange = function(){
			// On ne fait quelque chose que si on a tout reçu et que le serveur est ok
			if(xhr.readyState == 4 && xhr.status == 200)
			{
				listepayslocalisee = xhr.responseText;
				document.getElementById('pays').innerHTML = listepayslocalisee;						
								
				if ( hasreload == 1 )
				{
					recharge_langue_from_pays( id_langue, idpays );						
				}					
				
				recharge_image(sellangue.options[sellangue.selectedIndex].value);																
			}
		}
		xhr.open("POST","ajax/ajaxListeOptionsPaysByLangue.php",true);
		xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
		sellangue = document.getElementById('sel_langue');
		
		idlangue = sellangue.options[sellangue.selectedIndex].value;
		selpays = document.getElementById('sel_pays_prehome');
		
		idpays = selpays.options[selpays.selectedIndex].value;
		
		if (idpays > 0) {									
			show_valid();
		} else {
			cache_valid();
		}
		
		xhr.send("idLangue="+idlangue+"&gZone=1&selectName=sel_pays_prehome&idPays="+idpays+"&extra=javascript:filtre_langue_from_pays(this.options[this.selectedIndex].value);");					
	}
}

function show_valid() {
	document.getElementById("bt_valider").style.display = "block";
}

function cache_valid() {
	document.getElementById("bt_valider").style.display = "none";
}

// rechargement du menu déroulant pays en fonction de la langue
function rechargeDistri()
{
	getXhr(); // crée un objet xhr si possible
	
	if(xhr != null)
	{
		// On défini ce qu'on va faire quand on aura la réponse
		xhr.onreadystatechange = function(){
			// On ne fait quelque chose que si on a tout reçu et que le serveur est ok
			if(xhr.readyState == 4 && xhr.status == 200){
				listepayslocalisee = xhr.responseText;
				document.getElementById('distributeur').innerHTML = listepayslocalisee;						
			}
		}
		xhr.open("POST","ajax/ajaxListeDistriByPays.php",true);
		xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
		
		selpays = document.getElementById('sel_pays_distri');
		idpays = selpays.options[selpays.selectedIndex].value;
		
		xhr.send("idPays="+idpays);
	}
}

// rechargement du menu déroulant langue en fonction de la langue
function recharge_langue(id_langue)
{	
	recharge_langue_from_pays ( id_langue, 0 );
}

function recharge_langue_from_pays (id_langue, id_pays)
{	
	getXhr(); // crée un objet xhr si possible
	
	if(xhr != null)
	{
		// On défini ce qu'on va faire quand on aura la réponse
		xhr.onreadystatechange = function(){
			// On ne fait quelque chose que si on a tout reçu et que le serveur est ok
			if(xhr.readyState == 4 && xhr.status == 200)
			{
				listelanguelocalisee = xhr.responseText;
				document.getElementById('langue').innerHTML = listelanguelocalisee;					
				recharge_pays_with_reload ( idlangue, 0 );
			}
		}
		xhr.open("POST","ajax/ajaxListeOptionsLanguesByLangue.php",true);
		xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
		sellangue = document.getElementById('sel_langue');
		idlangue = sellangue.options[sellangue.selectedIndex].value;
		xhr.send("idLangue="+idlangue+"&idPays="+id_pays+"&selectName=sel_langue&extra=onchange='javascript:recharge_pays(this.options[this.selectedIndex].value);'");		
	}		
}

// declenchement de la fonction de filtage des menus déroulants pour la recherche rapide
function filtre_rapide(from) 
{	
	xhr = null;
	
	if (from == 'genre') // filtrage depuis genre
	{
		recharge_marque('genre');	// on recharge les marques, qui rechargeront les modèles
	}	
	else
	{
		if (from == 'marque') // filtrage depuis marque
		{			
			recharge_modele(); // on recharge les modèles
		} 
	}
}				

// declenchement de la fonction de filtage des menus déroulants pour la recherche rapide
function filtre_rapide2() 
{	
	xhr = null;
	recharge_marque('genre2');	// on recharge les marques, qui rechargeront les modèles
}				

// rechargement du menu déroulant carosserie en fonction du genre
function recharge_carosserie() {
	getXhr(); // crée un objet xhr si possible
	
	if(xhr != null)
	{
		// On défini ce qu'on va faire quand on aura la réponse
		xhr.onreadystatechange = function(){
			// On ne fait quelque chose que si on a tout reçu et que le serveur est ok
			if(xhr.readyState == 4 && xhr.status == 200){
				listecarolocalisee = xhr.responseText;
				document.getElementById('carosserie').innerHTML = listecarolocalisee;	
				xhr = null;
			}
		}
		xhr.open("POST","ajax/ajaxListeOptionsCarosserie.php",true);
		xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');

		idlangue = document.quick.langue_id.value;
		
		sel_genre = document.getElementById('sel_genre');
		idgenre = sel_genre.options[sel_genre.selectedIndex].value;
		xhr.send("idgenre="+idgenre+"&idLangue="+idlangue);
	}
}

// rechargement du menu déroulant marque en fonction du genre, ou du modele
function recharge_marque(from)
{	
	getXhr(); // crée un objet xhr si possible
	
	if(xhr != null)
	{
		// On défini ce qu'on va faire quand on aura la réponse
		xhr.onreadystatechange = function()
		{
			// On ne fait quelque chose que si on a tout reçu et que le serveur est ok
			if(xhr.readyState == 4 && xhr.status == 200)
			{
				listemarquelocalisee = xhr.responseText;
				document.getElementById('marque').innerHTML = listemarquelocalisee;	
				xhr = null;
				if (from=="genre") recharge_modele();
				if (from=="genre2") recharge_modele('caro');
			}
		}
		xhr.open("POST","ajax/ajaxListeOptionsMarques.php",true);
		xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');

		idlangue = document.quick.langue_id.value;		
		
		selgenre = document.getElementById('sel_genre');
		idgenre = selgenre.options[selgenre.selectedIndex].value;												
		xhr.send("idGenre="+idgenre+"&idLangue="+idlangue);		
	}		
}

// rechargement du menu déroulant modele en fonction du genre, ou de la marque
function recharge_modele(from)
{	
	getXhr(); // crée un objet xhr si possible
	
	if(xhr != null)
	{
		// On défini ce qu'on va faire quand on aura la réponse
		xhr.onreadystatechange = function()
		{
			// On ne fait quelque chose que si on a tout reçu et que le serveur est ok
			if(xhr.readyState == 4 && xhr.status == 200)
			{
				listemodelelocalisee = xhr.responseText;
				document.getElementById('modele').innerHTML = listemodelelocalisee;	
				//xhr = null;	
				if (from=="caro") recharge_carosserie();
			}
		}
		xhr.open("POST","ajax/ajaxListeOptionsModeles.php",true);
		xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
		
		idlangue = document.quick.langue_id.value;		
		
		selgenre = document.getElementById('sel_genre');
		idgenre = selgenre.options[selgenre.selectedIndex].value;				
		
		selmarque = document.getElementById('sel_marque');
		idmarque = selmarque.options[selmarque.selectedIndex].value;				
		
		//alert("idMarque="+idmarque+"&idLangue="+idlangue+"&idGenre="+idgenre);		
		xhr.send("idMarque="+idmarque+"&idLangue="+idlangue+"&idGenre="+idgenre);			
	}		
}

// rechargement du menu déroulant genre en fonction du modele, ou de la marque
function recharge_genre(from)
{	
	getXhr(); // crée un objet xhr si possible
	
	if(xhr != null)
	{
		// On défini ce qu'on va faire quand on aura la réponse
		xhr.onreadystatechange = function(){
			// On ne fait quelque chose que si on a tout reçu et que le serveur est ok
			if(xhr.readyState == 4 && xhr.status == 200){
				listegenrelocalisee = xhr.responseText;
				document.getElementById('genre').innerHTML = listegenrelocalisee;	
				//if (from == 'marque') recharge_modele('marque');	
				//if (from == 'modele') recharge_marque('modele');		
			}
		}
		xhr.open("POST","ajax/ajaxListeOptionsGenres.php",true);
		xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
		
		idlangue = document.quick.langue_id.value;
		
		if (from == "modele")
		{
			selmodele = document.getElementById('sel_modele');
			idmodele = selmodele.options[selmodele.selectedIndex].value;				
			xhr.send("idModele="+idmodele+"&idLangue="+idlangue);		
		}
		else
		{
			selmarque = document.getElementById('sel_marque');
			idmarque = selmarque.options[selmarque.selectedIndex].value;				
			xhr.send("idMarque="+idmarque+"&idLangue="+idlangue);			
		}			
	}		
}

// change les images des titres et du bandeau en fct de la langue sélectionnée
function recharge_image(id_langue)
{
	if (id_langue == 1) // FR
	{
		document.getElementById('bandeau').src = 'images/prehome/titre_fr.gif';
		document.getElementById('titpays').src = 'images/prehome/pays_fr.gif';
		document.getElementById('titlangue').src = 'images/prehome/langue_fr.gif';				
		document.getElementById('logo').src = 'images/prehome/logo_fr.gif';	
		document.getElementById('tit_valider').innerHTML = '<a href="#" class="textbouton" onClick="javascript:document.prehome.submit();">Valider</a>';	
		document.getElementById('baseline_fr').style.display = 'block';	
		document.getElementById('baseline_en').style.display = 'none';	
		
	}
	else
	{
		document.getElementById('bandeau').src = 'images/prehome/titre_uk.gif';
		document.getElementById('titpays').src = 'images/prehome/pays_uk.gif';
		document.getElementById('titlangue').src = 'images/prehome/langue_uk.gif';				
		document.getElementById('logo').src = 'images/prehome/logo_uk.gif';	
		document.getElementById('tit_valider').innerHTML = '<a href="#" class="textbouton" onClick="javascript:document.prehome.submit();">Enter</a>';					
		document.getElementById('baseline_en').style.display = 'block';	
		document.getElementById('baseline_fr').style.display = 'none';	
		
	}								
}


function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

// *** ouvre le popup de zoom sur un visuel camion
function openZoom(param,id_vo) {
	tab = param.split("_");
	
	if (tab[0]=="m") {
		window.open("popup/visu_vehicule.php?num="+tab[1]+"&id_vo="+id_vo,"TruckPlus",'width=700,height=500,scrollbars=yes');
	}else{
		window.open("popup/visu_vehicule.php?id_photo="+param,"TruckPlus",'width=800,height=500,scrollbars=yes');	
	}
}
// *** ouvre le popup de zoom sur un visuel distributeur
function openZoomd (param,id_vo) {
	window.open("popup/visu_distri.php?num="+param+"&id="+id_vo,"TruckPlus",'width=500,height=300,noresize,scrollbars=no');

}

// *** ferme la popup
function fermer() {
	window.close();
}

// *** allume le genre de vehicule
function lightIt(id,image) {
	if (document.formulaire.sel_genre.value!=id) {
		document.getElementById("tracteur"+id).src = image;
	}
}
// *** eteind le genre de vehicule
function offIt(id,image) {
	if (document.formulaire.sel_genre.value!=id) {
		document.getElementById("tracteur"+id).src = image;
	}
}
// *** selectionne le genre de vehicule
function selectGenre(id) {
	document.formulaire.maj_session.value = 1;
	document.formulaire.sel_genre.value = id;
	document.formulaire.action="recherche.php";
	document.formulaire.submit();
}


// *** ouvre une fenetre pour afficher le details de l'expertise
function openExp(_id_exp)
{
	var w = window.open("prop_popup_exp.php?id_exp="+_id_exp, "", "width=550,height=600,scrollbars=yes");
	/*if (!w)
		alertAntiPopup();*/
}

// affiche / cache les critères de recherche dans la page de recherche
function toggleDisplay(div_id) { 

	var nom_champ = div_id.replace('div_','sel_');
	var fleche="fleche_"+div_id.replace('div_','');
	
	// test si une valeur est sélectionnée pour empecher le repliement du champ
	if (document.getElementById(nom_champ))
		if (document.getElementById(nom_champ).value > 1) {
			document.getElementById(div_id).style.display = "block"; 
			document.getElementById(fleche).src="images/fleche_up.gif";
		} else {
			if( document.getElementById(div_id).style.display == "none" ) {
			    document.getElementById(div_id).style.display = "block"; 
			    document.getElementById(fleche).src="images/fleche_up.gif";
			  } else { 
			    document.getElementById(div_id).style.display = "none";
			    document.getElementById(fleche).src="images/fleche_down.gif"; }
		}
}

function cacheDiv(div_id) {	
	var fleche="fleche_"+div_id.replace('div_','');			
	if (document.getElementById(div_id)) document.getElementById(div_id).style.display = "none";
	if (document.getElementById(fleche)) document.getElementById(fleche).src="images/fleche_down.gif"; 		
}

function showDiv(div_id) {	 
	var fleche="fleche_"+div_id.replace('div_','');			
  if (document.getElementById(div_id)) document.getElementById(div_id).style.display = "block"; 
  if (document.getElementById(fleche)) document.getElementById(fleche).src="images/fleche_up.gif";	
}

// fonction qui lance la recherche ou filtre les menus déroulants si pas assez de critères sélectionnés
// rechargement du menu déroulant modele en fonction du genre, ou de la marque

function lance_recherche() {		
	
	numdossier = document.getElementById('num_dossier').value;		
	idgenre  = document.getElementById("sel_genre").value;			
	idmarque = document.getElementById('sel_marque').value;	
	
	var url_criteres = "";

	if ( ( idmarque > 0 && idgenre > 0) ) numdossier = '';

	if ( ( idmarque > 0 && idgenre > 0) || (numdossier.length > 0 && numdossier!="" ) ) 
	{

		document.body.className = 'sablier';
		
		
		if ( (numdossier != "") && numdossier.length > 0) {
			// ok  numéro de dossier.
			// on ne tient pas compte des autres critères
			url_criteres = 'num_dossier='+numdossier;			
		} else {			
			document.getElementById('num_dossier').value = '';
			numdossier = '';
			
			// ok, genre, marque et modele positionnée, on va lancer la recherche
			// recuperation des autres criteres eventuels
			idpays  = document.getElementById("sel_pays").value;
			idmodele = document.getElementById('sel_modele').value;
			
			var idcarrosserie = "";
			if (document.getElementById('sel_carrosserie')) idcarrosserie = document.getElementById('sel_carrosserie').value;		
			
			idsilhouette = document.getElementById('sel_silhouette').value; 
			idmil = document.getElementById('sel_millesime').value;
			idkm = document.getElementById('sel_km').value;
			idptac = document.getElementById('sel_ptac').value;
			idpuissance = document.getElementById('sel_puissance').value;
			ideuro = document.getElementById('sel_euro').value;
			force_all = document.getElementById('force_all').value;
			
			url_criteres = '&sel_pays='+idpays+'&sel_genre='+idgenre+'&sel_marque='+idmarque+'&sel_modele='+idmodele+'&sel_carrosserie='+idcarrosserie+'&sel_silhouette='+idsilhouette+'&sel_puissance='+idpuissance+'&sel_km='+idkm+'&sel_ptac='+idptac+'&sel_millesime='+idmil+'&sel_euro='+ideuro+'&force_all='+force_all;					
		} 

		// DEBUG		alert(url_criteres);
		
		if (url_criteres != "") {			
			getXhr(); // crée un objet xhr si possible
			
			if(xhr != null)
			{
				// On défini ce qu'on va faire quand on aura la réponse
				xhr.onreadystatechange = function(){
					// On ne fait quelque chose que si on a tout reçu et que le serveur est ok
					if(xhr.readyState == 4 && xhr.status == 200){
						listeresultats = xhr.responseText;
						document.getElementById('div_resultats').innerHTML = listeresultats;	
						document.getElementById("div_resultats").style.display = "block"; 
						document.getElementById('div_attente').style.display = "none";
						reset_force_all();
                                                recharge_selection();
						document.body.className = '';
					}
				}
				xhr.open("POST","ajax/ajaxResultats.php",true);
				xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');						  								
				xhr.send(url_criteres);	
				document.body.className = 'sablier';					
				document.getElementById('div_attente').style.display = "block";
				document.getElementById('div_resultats').style.display = "none";
			}		
		}
	}	
}

function recharge_adv_modele(from)
{	
	getXhr(); // crée un objet xhr si possible
	
	if(xhr != null)
	{
		// On défini ce qu'on va faire quand on aura la réponse
		xhr.onreadystatechange = function(){
			// On ne fait quelque chose que si on a tout reçu et que le serveur est ok
			if(xhr.readyState == 4 && xhr.status == 200){
				listemodelelocalisee = xhr.responseText;
				document.getElementById('div_modele').innerHTML = listemodelelocalisee;
				lance_recherche();
			}
		}
		xhr.open("POST","ajax/ajaxListeadvOptionsModeles.php",true);
		xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
		
		idlangue = document.getElementById("langue_id").value;				
		idgenre = document.getElementById("sel_genre").value;		
		idmarque = document.getElementById('sel_marque').value;
	
		xhr.send("idMarque="+idmarque+"&idLangue="+idlangue+"&idGenre="+idgenre);
	}		
}

// fonction qui force l'affichage de tous les résultats de recherche
function show_all() {
	document.getElementById("force_all").value=1;
	lance_recherche();
}

function reset_force_all() {
	if (document.getElementById("force_all").value==1)
	{
		document.getElementById("force_all").value=0;		
	}	
}

function resetForm() {
	// deselectionne toutes les valeurs des champs
	if (document.getElementById("sel_marque")) document.getElementById("sel_marque").selectedIndex = -1;
	if (document.getElementById("sel_modele")) document.getElementById("sel_modele").selectedIndex = -1;
	if (document.getElementById("sel_carrosserie")) document.getElementById("sel_carrosserie").selectedIndex = -1;
	if (document.getElementById("sel_silhouette")) document.getElementById("sel_silhouette").selectedIndex = -1;
	if (document.getElementById("sel_millesime")) document.getElementById("sel_millesime").selectedIndex = -1
	if (document.getElementById("sel_puissance")) document.getElementById("sel_puissance").selectedIndex = -1
	if (document.getElementById("sel_km")) document.getElementById("sel_km").selectedIndex = -1
	if (document.getElementById("sel_ptac")) document.getElementById("sel_ptac").selectedIndex = -1
	if (document.getElementById("sel_euro")) document.getElementById("sel_euro").selectedIndex = -1
	
	cacheDiv('div_silhouette');	
	cacheDiv('div_carrosserie');	
	cacheDiv('div_millesime');
	cacheDiv('div_puissance');
	cacheDiv('div_km');
	cacheDiv('div_ptac');	
	cacheDiv('div_euro');
}	

function searchinprogress() {
}

// recharge le contenu du bloc sélection
function recharge_selection (  )
{
	getXhr(); // crée un objet xhr si possible
	
	if(xhr != null)
	{
		// On défini ce qu'on va faire quand on aura la réponse
		xhr.onreadystatechange = function(){
			// On ne fait quelque chose que si on a tout reçu et que le serveur est ok
			if(xhr.readyState == 4 && xhr.status == 200)
			{
				blocselection = xhr.responseText;
				document.getElementById('bloc_selection_content').innerHTML = blocselection;						
			}
		}
		xhr.open("POST","ajax/ajaxBlocSelection.php",true);
		xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');		
		xhr.send("&dummy=1");
	}
}
	
// *** ouvre le popup de fiche vo imprimable
function openVoPrint (id_vo) {
	window.open("fiche_vo_print.php?&id_vo="+id_vo,"TruckPlus",'width=680,height=600,resizable=no,scrollbars=yes');
}

