/**
	Ce script va s'occuper de vérifier si les donnees ont bien été saisies correctement et faire ou non le transfert des informations


	Nécessite un tableau remplit avec le nom des champs à vérifier, exemple :

	tabElemRecherche[0]	= "[MA_id]"
	tabElemRecherche[1]	= "[FT_FtModele]"
**/

//--------------------------------
//	Méthode à appeler
//--------------------------------
function rechercher(formName)
{
  tabElemRecherche = document.forms[formName].elements;

	var	erreur	= false;
	nbrChamps	= tabElemRecherche.length;
	nbrCriteresChoisis	= 0;
	for(incRecherche=0;incRecherche<nbrChamps && !erreur;incRecherche++)
	{
		switch(tabElemRecherche[incRecherche].name)
		{
			case 'recherche[AU_prixDeVenteTTC][inf]':
			case 'recherche[AU_prixDeVenteTTC][sup]':
				value	= document.forms[formName].elements[tabElemRecherche[incRecherche].name].value;
				if(!verifnumeric(value))
				{
					alert("Veuillez saisir un budget valide.");
					erreur	= true;
					document.forms[formName].elements[tabElemRecherche[incRecherche].name].select();
					document.forms[formName].elements[tabElemRecherche[incRecherche].name].focus();
				}
				else
				{
					value	= value.replace(/ /ig,"");
					if( value != "" )	nbrCriteresChoisis++;
				}
			break;
			case 'recherche[AU_nbrKm][inf]':
			case 'recherche[AU_nbrKm][sup]':
				value	= document.forms[formName].elements[tabElemRecherche[incRecherche].name+""].value;
				if(!verifint(value))	
				{
					alert("Veuillez saisir un nombre de kilomètres valide.");
					erreur	= true;
					document.forms[formName].elements[tabElemRecherche[incRecherche].name].select();
					document.forms[formName].elements[tabElemRecherche[incRecherche].name].focus();
				}
				else
				{
					value	= value.replace(/ /ig,"");
					if( value != "" )	nbrCriteresChoisis++;
				}
			break;
			case 'recherche[SO_id]':
			case 'recherche[CA_id]':
			case 'recherche[EN_id]':
			case 'recherche[AU_boiteAuto]':
			case 'recherche[MA_id]':
				value	= document.forms[formName].elements[tabElemRecherche[incRecherche].name].value;
				value	= value.replace(/ /ig,"");
				if( value != "" )	nbrCriteresChoisis++;
			break;
			case 'recherche[FT_FtModele]':
				value	= document.forms[formName].elements[tabElemRecherche[incRecherche].name+""].value;
				value	= value.replace(/ /ig,"");
				if( value != "" )	nbrCriteresChoisis++;
			break;
		}
	}
	// PATCH SHE On vire le nbrCriteresChoisis car dans le cas 4x4 ou premium il n'y a aucun critere (ils sont imposé a la requete par les variables sessions)
	//if( nbrChamps > 0 && nbrCriteresChoisis == 0 && erreur == false )	alert("Veuillez choisir un critère de recherche.");
	//else 
    if( erreur == false )
	{
		document.forms[formName].action	= "/recherche/rechercheResultat.php";
		document.forms[formName].submit();
	}

	//detruireVariablePOOLID(formName);
}
//---------------------------------------------
//	Méthode permettant de faire un tri sur
//	les résultats
//---------------------------------------------
function ordonneResultats(nomFormulaire,nomChamp)
{
	if( 	verifExistanceChamp(nomFormulaire,"recherche[ordonne][champ]") 
		&& verifExistanceChamp(nomFormulaire,"recherche[ordonne][par]") )
	{
			// récupération des paramètres
		oldOrdonne	= document.forms[nomFormulaire].elements["recherche[ordonne][par]"].value;
		oldChamp	= document.forms[nomFormulaire].elements["recherche[ordonne][champ]"].value;

			// affectation du champ
		document.forms[nomFormulaire].elements["recherche[ordonne][champ]"].value	= nomChamp;
			// affection du "par". On ne change que si c'est le même champ
		if( oldChamp == nomChamp || oldChamp == '' )
		{
			if( oldOrdonne == '' || oldOrdonne == 'asc' )	document.forms[nomFormulaire].elements["recherche[ordonne][par]"].value	= "desc";
			else						document.forms[nomFormulaire].elements["recherche[ordonne][par]"].value	= "asc";
		}
			// puis on soumet le formulaire de recherche et on valide tout ça
		rechercher('Infos');

	}
}


//---------------------------------------------
//	Méthode permettant de faire un tri sur
//	les résultats on utilisant en parametre l'ordre
//---------------------------------------------
function ordonneResultatsOrdreDetail(nomFormulaire,nomChamp,ordre)
{
	if( verifExistanceChamp(nomFormulaire,"recherche[ordonne][champ]") )
	{
			// affectation du champ
		document.forms[nomFormulaire].elements["recherche[ordonne][champ]"].value	= nomChamp;
		if( ordre == false )	
		{
			document.forms[nomFormulaire].elements["recherche[ordonne][par]"].value	= "desc";
			
		}
		else			
		{
			document.forms[nomFormulaire].elements["recherche[ordonne][par]"].value	= "asc";
		}
		
			// puis on soumet le formulaire de recherche et on valide tout ça
		rechercher('Infos');

	}
}

//---------------------------------------------
//	Méthode permettant de faire un tri sur
//	les résultats on utilisant en parametre l'ordre
//---------------------------------------------
function ordonneResultatsOrdre()
{
	
	indice =  document.Infos.selecttrierpar.selectedIndex;	
	val = document.Infos.selecttrierpar.options[indice].value;

	if (val == '')
	{
		// rien
	}
	else if (val == "Prix +")
	{		
		ordonneResultatsOrdreDetail('Infos','AU_prixDeVenteTtc',true);
	}
	else if (val == "Prix -")
	{		
		ordonneResultatsOrdreDetail('Infos','AU_prixDeVenteTtc',false);
	}
	else if (val == "Année +")
	{		
		ordonneResultatsOrdreDetail('Infos','AU_millesime',true);
	}
	else if (val == "Année -")
	{		
		ordonneResultatsOrdreDetail('Infos','AU_millesime',false);
	}
	else if (val == "Kms +")
	{		
		ordonneResultatsOrdreDetail('Infos','AU_nbrKm',true);
	}
	else if (val == "Kms -")
	{		
		ordonneResultatsOrdreDetail('Infos','AU_nbrKm',false);
	}
	else if (val == "Marque +")
	{		
		ordonneResultatsOrdreDetail('Infos','MA_libelle',true);
	}
	else if (val == "Marque -")
	{		
		ordonneResultatsOrdreDetail('Infos','MA_libelle',false);
	}
	else if (val == "Modèle +")
	{		
		ordonneResultatsOrdreDetail('Infos','AU_modele',true);
	}
	else if (val == "Modèle -")
	{		
		ordonneResultatsOrdreDetail('Infos','AU_modele',false);
	}
	else if (val == "Dep. +")
	{		
		ordonneResultatsOrdreDetail('Infos','SO_codeDepartement',true);
	}
	else if (val == "Dep. -")
	{		
		ordonneResultatsOrdreDetail('Infos','SO_codeDepartement',false);
	}
}



//---------------------------------------------
//	Cette méthode permet de faire la recherche
//	dès que la touche "Entrée" est pressé.
//---------------------------------------------
function appuie(e)
{
	if (!e) e = window.event;
	if(e.keyCode == 13 )	rechercher();
}
document.onkeypress = appuie;


function detruireVariablePOOLID(formName)
{
  var compteur = eval("parent.compteur"+formName);
	compteur.document.close();
	var cible='/recherche/rechercheResultatRAZPagination.php?dummy=0';
	compteur.document.location.href= cible;
	compteur.document.close();
}
