/****************************************************/
/* Fonctions génériques  */
/****************************************************/
//formatage d'une chaine pour remplacer les <br> par des \n


function check_num_dossier()
{
	if(document.getElementById('rechParDossier-num'))
	{
		var num = document.getElementById('rechParDossier-num').value;
		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;					
					if(parseInt(listeresultats) > 0 && listeresultats != "")
					{
						empty_session();
						document.getElementById('id_vo').value = parseInt(listeresultats);						
						document.getElementById('sumit_ok').value = '1';						
						document.getElementById('rechParDossier').submit();																		
					} 
					else 
					{
						alert(get_trad_champ("non_exist_dossier"));						
					}
						
				}
			}
			xhr.open("POST","/ajax/ajaxValidNumDossier.php",true);
			xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');						  									
			xhr.send('&num='+num);		
		}			
	}
}

function empty_session()
{
	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){
				
				
				
			}
		}
		xhr.open("POST","/ajax/ajaxEmptySession.php",true);
		xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');						  									
		xhr.send('&dummy=1');		
	}		
}

function lance_recherche()
{
	if(document.getElementById('sel_page'))
	{
		document.getElementById('sel_page').value = 1;
	}
	recherche();
}

function recherche()
{
	var page = 1;
	if(document.getElementById('sel_page') && document.getElementById('sel_page').value != '' && document.getElementById('sel_page').value != 0)
	{
		page = document.getElementById('sel_page').value;
	}

	var numdossier = '';
	if(document.getElementById('num_dossier'))
	{
		numdossier = document.getElementById('num_dossier').value;
	}
	
	var idgenre = '';
	if(document.getElementById('sel_genre'))
	{
		idgenre  = document.getElementById("sel_genre").value;			
	}
	var idprofil = '';
	if(document.getElementById('sel_profil'))
	{
		idprofil  = document.getElementById("sel_profil").value;			
	}
	var idmarque = '';
	if(document.getElementById('sel_marque'))
	{
		idmarque = document.getElementById('sel_marque').value;	
	}
	var url_criteres = "";

	if ( ( idmarque > 0 && idgenre > 0) ) numdossier = '';

	if ( ( idmarque > 0 && idgenre > 0) || (numdossier.length > 0 && numdossier!="" ) || (page.length > 0) ) 
	{
		if ( (numdossier != "") && numdossier.length > 0 && numdossier != document.getElementById('lib_exemple_recheche_dossier').value) {
			
			
			// ok  numéro de dossier.
			// on ne tient pas compte des autres critères
			url_criteres = 'num_dossier='+numdossier;			
		} else {
			if(document.getElementById('num_dossier'))
			{			
				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;
			
			url_criteres = '&page='+page+'&num_dossier='+numdossier+'&sel_profil='+idprofil+'&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;					
		} 

		// 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";					
                                                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 pagine_precedent()
{
	var page = 1;
	if(document.getElementById('sel_page').value != "" && document.getElementById('sel_page').value != 0)
	{
		page = parseInt(document.getElementById('sel_page').value);
	}
	if(page != 1)
	{
		page = page - 1;	
		document.getElementById('sel_page').value = page;
		recherche();
	}
}

function pagine_suivant()
{
	var page = 1;
	if(document.getElementById('sel_page').value != "" && document.getElementById('sel_page').value != 0)
	{
		page = parseInt(document.getElementById('sel_page').value);
	}
	page = page + 1;	
	document.getElementById('sel_page').value = page;
	recherche();
}

function pagine(page)
{
	document.getElementById('sel_page').value = page;
	recherche();
}


function recharge_adv_modele(from)
{	
	
	lance_recherche();
	
	
	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);
	}
	
}



function formatte_br(chaine) 
{
	return chaine.replace(/<br \/>/g,"\n");
}


/****************************************************/
/* Fonctions génériques de validation de formulaire */
/****************************************************/

// Verifie la validite d'un email
function valide_mail_generique ( nameForm, champ ) 
{
	var email = document.forms[nameForm].elements[champ];
	var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	
	if ( !filter.test(email.value) ) 
	{
	 	alert(get_trad_champ("email"));
		email.select();
		return false;
	}
	else 
	{
		return true;
	}
}

//Fonction qui empeche dans un champ la saisie d'un caractère autre qu'un chiffre
function empechechar()
{
	if( event.keyCode < 48 || event.keyCode > 57 )
 	{ 
 		alert(get_trad_champ("numeric") );
   	event.returnValue = false;
  }
}

// Verifie les champs obligatoire d'un formulaire
valider_formulaire_generique = function () 
{
	var tab = valider_formulaire_generique.arguments;
	taille = tab.length;

	if ( taille > 0 ) 
	{
		nameForm = tab[0];
		
		for ( i = 1; i < taille; i++ ) 
		{
			if ( tab[i] == "email" ) 
			{
				if ( !valide_mail_generique( nameForm, tab[i] ) ) 
				{
					return false; 
				}
			}
			else 
				{
				if ( ( document.forms[nameForm].elements[tab[i]].value.trim() == "" ) ) 
				{				
					alert ( get_trad_champ( tab[i] ) );				
					document.forms[nameForm].elements[tab[i]].select();
					return false; 
				}
			}
		}
		return true;
	}
	else 
	{
		return false;
	}
}


// verifie la validite d'un email (ancienne version)
function validemail(champ)
{
	return valide_mail_generique ( "formulaire", champ );
}

// verifie les champs obligatoire d'un formulaire (ancienne version)
valider_formulaire = function () 
{
	var tab_arg = valider_formulaire.arguments;
	var tab_form = new Array("formulaire");
	var tab_arg_final = tab_form.concat(tab_arg);
	
	return valider_formulaire_generique(tab_arg_final);
}





// 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; 
	} 
}


/****************************************************/
/* 					Fonctions spécifique au projet 					*/
/****************************************************/


/*************	PREHOME	******************/

// 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);
				//recharge_footer(id_langue);
				
			}
		}
		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+"&class=pays&extra=javascript:filtre_langue_from_pays(this.options[this.selectedIndex].value);");					
	}
}

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 );
}

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&class=langue&extra=onchange='javascript:recharge_pays(this.options[this.selectedIndex].value);'");		
	}		
}



// 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('lbl_pays_distribution').innerHTML = 'Choisissez un pays de distribution';
		document.getElementById('lbl_langue_site').innerHTML = 'Choisissez votre langue';
		document.getElementById('logo').src = 'images/logos/logo_fr.jpg';	
		document.getElementById('logo').alt = "truckplus - l'occasion par Renault Trucks";
		document.getElementById('lbl_bt_valider').innerHTML = 'Valider';	
		document.getElementById('baseline_fr').style.display = 'block';	
		document.getElementById('baseline_en').style.display = 'none';	
		
	}
	else
	{
		document.getElementById('lbl_pays_distribution').innerHTML = 'Choose a country';
		document.getElementById('lbl_langue_site').innerHTML = 'Choose your language';
		document.getElementById('logo').src = 'images/logos/logo_uk.jpg';	
		document.getElementById('logo').alt = "truckplus - used trucks by Renault Trucks";
		document.getElementById('lbl_bt_valider').innerHTML = 'Enter';					
		document.getElementById('baseline_en').style.display = 'block';	
		document.getElementById('baseline_fr').style.display = 'none';	
		
	}						
}

function recharge_footer (id_langue)
{	
	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)
			{
				textFooter = xhr.responseText;
				document.getElementById('keyword').innerHTML = textFooter;					
			}
		}
		xhr.open("POST","/ajax/ajaxGetFooterSEO.php",true);
		xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
		xhr.send("idLangue="+idlangue);		
	}		
}

function show_valid() {
	document.getElementById("bt_valider").style.display = "block";
}

function cache_valid() {
	document.getElementById("bt_valider").style.display = "none";
}


// 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 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 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 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);			
		}			
	}		
}

// 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);
	}
}	
// *** ouvre le popup de fiche vo imprimable
function openVoPrint (id_vo) {
	window.open("/fiche-vo-print-i-"+parseInt(id_vo)+".html","TruckPlus",'width=700,height=600,resizable=no,scrollbars=yes');
}

function goto(url) {
	if (url != "") document.location = url;
}

