// JavaScript Document

//Fonction qui fabrique la liste deroulante des marques suivant la categorie (utilisee lors d'une recherche sur la page d'accueil)
function generer_marques(categorie)
{
	//recuperation du type (1 pr voiture et 2 pr moto)
	type = categorie.substr(0, 1);
	
	//declaration de l'objet
	var xmlhttp = null;
	try {
		xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
	} catch (e) {
		try {
			xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
		} catch (e) {
			xmlhttp = false;
		}
	}
	
	if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
	  xmlhttp = new XMLHttpRequest();
	}
	
	//recuperation des marques du type de vehicule concerne
	xmlhttp.open('GET', './liste_marque.php?type_veh='+type, false);
	xmlhttp.setRequestHeader('User-Agent', 'Test generate select');
	xmlhttp.setRequestHeader('Accept', 'text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.7,*/*;q=0.1');
	xmlhttp.send(null);
	
	//vider la liste des marques
	while( document.getElementById('marque').options.length > 1 ) {
		document.getElementById('marque').removeChild(document.getElementById('marque').options[1]);
	}  
 
	if( xmlhttp.status == 200 ) 
	{		 
		var liste1 = xmlhttp.responseXML.getElementsByTagName('marque');
		var tmp = document.createElement('option');
	
		//remplir la liste avec les marques recuperees
		for( var i = 0, m = liste1.length; i < m; i++ )
		{
			tmp.setAttribute('value', liste1[i].firstChild.nodeValue);
			tmp.appendChild(document.createTextNode(liste1[i].firstChild.nodeValue));
			document.getElementById('marque').appendChild(tmp);
			tmp = tmp.cloneNode(false);
		}
	}
	
	//vider la liste des modeles et la mettre en disabled
	while( document.getElementById('modele').options.length > 1 ) {
		document.getElementById('modele').removeChild(document.getElementById('modele').options[1]);
	}
	document.getElementById('modele').disabled = true;
}

//Fonction qui fabrique la liste deroulante des modeles suivant le type (moto ou auto) et la marque
function generer_modeles(type, marque)
{
	//rrecuperation du type (cas particulier de GenRecherche car la liste deroulante des categories regroupe voiture et moto)
	if (type==0) type = document.getElementById('id_categorie').value.substr(0, 1);
	
	//test pour remettre la liste des modeles en disabled si pas de marque selectionnee
	if(marque==0)
	{
		//vider la liste deroulante
		while( document.getElementById('modele').options.length > 1 ) {
			document.getElementById('modele').removeChild(document.getElementById('modele').options[1]);
		} 
		
		//mettre à disabled la liste deroulante
		document.getElementById('modele').disabled = true;
		return;
	}
	else
	{
		//declaration de l'objet
		var xmlhttp = null;
		try {
			xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try {
				xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e) {
				xmlhttp = false;
			}
		}
		
		if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
		  xmlhttp = new XMLHttpRequest();
		}
		
		//recup des modeles d'un type de vehicule et d'une marque donnees
		xmlhttp.open('GET', './liste_modele.php?type_veh='+type+'&marque='+marque, false);
		xmlhttp.setRequestHeader('User-Agent', 'Test generate select');
		xmlhttp.setRequestHeader('Accept', 'text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.7,*/*;q=0.1');
		xmlhttp.send(null);
	
		//vider la liste deroulante des modeles
		while( document.getElementById('modele').options.length > 1 ) {
			document.getElementById('modele').removeChild(document.getElementById('modele').options[1]);
		}   
	 
	 	//remplir la liste deroulante avec les nouvelles valeurs
		if( xmlhttp.status == 200 ) {
			var liste1 = xmlhttp.responseXML.getElementsByTagName('modele');
			var liste2 = document.getElementById('modele');
			var tmp = document.createElement('option');
			
			for( var i = 0, m = liste1.length; i < m; i++ ){
				tmp.setAttribute('value', liste1[i].firstChild.nodeValue);
				tmp.appendChild(document.createTextNode(liste1[i].firstChild.nodeValue));
				liste2.appendChild(tmp);
				tmp = tmp.cloneNode(false);
			}
	
			liste2.disabled = false;
		}
	}
}

//Fonction qui fabrique la liste deroulante des regions suivant le pays
function generer_regions(pays)
{
	//declaration de l'objet
	var xmlhttp = null;
	try {
		xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
	} catch (e) {
		try {
			xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
		} catch (e) {
			xmlhttp = false;
		}
	}
	
	if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
	  xmlhttp = new XMLHttpRequest();
	}
	
	//recuperation de la liste des regions du pays concerne
	xmlhttp.open('GET', './liste_region.php?pays='+pays, false);
	xmlhttp.setRequestHeader('User-Agent', 'Test generate select');
	xmlhttp.setRequestHeader('Accept', 'text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.7,*/*;q=0.1');
	xmlhttp.send(null);

	//vider la liste deroulante des regions precedentes
	while( document.getElementById('region').options.length > 1 ) {
		document.getElementById('region').removeChild(document.getElementById('region').options[1]);
	}   
 
 	//remplir la liste deroulante des regions grace aux nouvelles regions (celles du pays concerne)
	 if( xmlhttp.status == 200 ) {
		var liste_code = xmlhttp.responseXML.getElementsByTagName('code');
		var liste_lib = xmlhttp.responseXML.getElementsByTagName('lib');
		var liste2 = document.getElementById('region');
		var tmp = document.createElement('option');
		
		for( var i = 0, m = liste_code.length; i < m; i++ ){
			tmp.setAttribute('value', liste_code[i].firstChild.nodeValue);
			tmp.appendChild(document.createTextNode(liste_lib[i].firstChild.nodeValue));
			liste2.appendChild(tmp);
			tmp = tmp.cloneNode(false);
		}

		liste2.disabled = false;
	}
}

//Fonction qui supprime le chp texte nouveau modele et le lien lien_liste_der
//	puis qui cree la liste deroulante des modeles et le lien lien_nouv
function aff_liste_der_modeles()
{
	//suppression du chp texte
	if(document.getElementById("nouveau_modele")!=null) document.getElementById("zone_modele").removeChild(document.getElementById("nouveau_modele"));
	
	//suppression du lien vers les listes deroulantes
	if(document.getElementById("lien_liste_der")!=null) document.getElementById("zone_lien_change_modele").removeChild(document.getElementById("lien_liste_der"));
	
	//creation de la liste deroulante
	if(document.getElementById("modele")==null)
	{
		var liste = document.createElement('select');
		liste.setAttribute('id', 'modele');
		liste.setAttribute('name', 'modele');
		//style de la zone de texte (2eme version pour IE)
		if(navigator.appName=="Netscape")
			liste.setAttribute('style', 'width:140px; font-weight:bold; font-size:10px; font-family:Verdana, Arial, Helvetica, sans-serif; color:#2f2f2f;');
		else
		{
			liste.style.fontSize = '10px';
			liste.style.fontFamily = 'Verdana, Arial, Helvetica, sans-serif';
			liste.style.color = '#2f2f2f';
			liste.style.width = '140px';
		}
		//creation de la 1ere ligne de la liste deroulante
		var option_defaut = document.createElement('option');
		option_defaut.setAttribute('value', 0);
		option_defaut.appendChild(document.createTextNode('-----------'));
		//rajout de la ligne à la liste
		liste.appendChild(option_defaut);
		//rajout de la liste à la div zone_modele
		document.getElementById("zone_modele").appendChild(liste);
		
		//appel de la fonction generer_modeles pour remplir la liste deroulante des modeles si marque est saisie
		tab_choix = document.getElementsByName("type_vehicule");
		for(i=0; i<tab_choix.length; i++){
			if(document.formu.type_vehicule[i].checked) type = document.formu.type_vehicule[i].value;
		}
		if (type==1)	marque = document.getElementById("marque_voiture").value;
		else			marque = document.getElementById("marque_moto").value
		generer_modeles(type,marque);
	}
	
	//creation du lien de vers un nouveau modele
	if(document.getElementById("lien_nouv")==null)
	{
		var lien = document.createElement("A");
		//remplissage des attributs id, href et class
		lien.setAttribute("id","lien_nouv");
		lien.setAttribute("href","javascript:aff_nouveau_modele()");
		lien.setAttribute("class","underlineBleu");

		//libelle du lien
		lien.innerHTML = tab_erreurs["nv_modele"][jv_lang];

		//rajout du lien à la zone
		document.getElementById("zone_lien_change_modele").appendChild(lien);
	}
}

//Fonction qui supprime la listes deroulantes des modeles et le lien lien_nouv
//	puis qui cree le chp texte modele et le lien lien_liste_der
function aff_nouveau_modele()
{
	//suppression de la liste deroulante
	if(document.getElementById("modele")!=null) document.getElementById("zone_modele").removeChild(document.getElementById("modele"));
	
	//suppression du lien vers nouveau modele
	if(document.getElementById("lien_nouv")!=null) document.getElementById("zone_lien_change_modele").removeChild(document.getElementById("lien_nouv"));
	
	//creation de la zone de texte (INPUT)
	if(document.getElementById("nouveau_modele")==null)
	{
		var chp_texte = document.createElement('INPUT');
		chp_texte.setAttribute('id', 'nouveau_modele');
		chp_texte.setAttribute('name', 'nouveau_modele');
		//style de la zone de texte (2eme version pour IE)
		if(navigator.appName=="Netscape")
			chp_texte.setAttribute('style', 'width:130px; font-weight:bold; font-size:10px; font-family:Verdana, Arial, Helvetica, sans-serif; color:#2f2f2f;');
		else
		{
			chp_texte.style.fontSize = '10px';
			chp_texte.style.fontFamily = 'Verdana, Arial, Helvetica, sans-serif';
			chp_texte.style.color = '#2f2f2f';
			chp_texte.style.width = '130px';
		}
		//rajout du chp texte à la div zone_modele
		document.getElementById("zone_modele").appendChild(chp_texte);
	}
	
	//creation du lien de vers un nouveau modele
	if(document.getElementById("lien_liste_der")==null)
	{
		var lien = document.createElement("A");
		//remplissage des attributs id, href et class
		lien.setAttribute("id","lien_liste_der");
		lien.setAttribute("href","javascript:aff_liste_der_modeles()");
		lien.setAttribute("class","underlineBleu");
		
		//libelle du lien
		lien.innerHTML = tab_erreurs["retour_liste_modeles"][jv_lang];

		//rajout du lien à la zone
		document.getElementById("zone_lien_change_modele").appendChild(lien);
	}
}

//Fonction qui verifie que les champs pour l'annonce sont bien saisis
function valider_form_annonce(form)
{
	//recuperation du type de vehicule (1 pr voiture et 2 pr moto)
	if( form.type_vehicule[0])
	{
		if(form.type_vehicule[0].checked){
			typeve = 1;
		} else {
			typeve = 2;
		}
	}
	else {
		typeve = form.type_vehicule.value
	}
	//verifs pour voiture
	if(typeve==1)
	{
		//chps obligatoires
		if(form.id_categorie_voiture.value==0 || form.marque_voiture.value==0 || !form.prix.value || !form.km.value || form.annee.value==0 || form.id_boite_vitesse.value==0 || form.id_nombre_portes.value==0 || form.id_energie.value==0 || form.id_couleur.value==0){
			alert(tab_erreurs["chanps_oblig_vides"][jv_lang]);
			return;
		}
	}
	else
	{
		//chps obligatoires
		if(form.id_categorie_moto.value==0 || form.marque_moto.value==0 || !form.prix.value || !form.km.value || form.annee.value==0 || form.id_couleur.value==0){
			alert(tab_erreurs["chanps_oblig_vides"][jv_lang]);
			return;
		}
	}
	
	//verification qu'un modele est bien choisi dans la liste (cas d'un modele existant)
	try {
		if(form.modele.value==0)
		{
			alert(tab_erreurs["chanps_oblig_vides"][jv_lang]);
			return;
		}
	} catch (e) {
	}
	
	//verification qu'un modele est bien saisi dans la zone de texte (cas d'un nouveau modele)
	try {
		if(!form.nouveau_modele.value)
		{
			alert(tab_erreurs["chanps_oblig_vides"][jv_lang]);
			return;
		}
		else
		{
			//verification que la valeur ne fait pas partie de la liste deroulante
				//declaration de l'objet
				var xmlhttp = null;
				try {
					xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
				} catch (e) {
					try {
						xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
					} catch (e) {
						xmlhttp = false;
					}
				}
				
				if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
				  xmlhttp = new XMLHttpRequest();
				}
				
				//libelle de la marque
				if(typeve==1) {
					marque = form.marque_voiture.value;
				} else {
					marque = form.marque_moto.value;
				}
				
				//recup des modeles d'un type de vehicule et d'une marque donnees
				xmlhttp.open('GET', './liste_modele.php?type_veh='+typeve+'&marque='+marque, false);
				xmlhttp.setRequestHeader('User-Agent', 'Test generate select');
				xmlhttp.setRequestHeader('Accept', 'text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.7,*/*;q=0.1');
				xmlhttp.send(null);
				
				//recuperation  de ts les modeles
				if( xmlhttp.status == 200 ) {
					var liste1 = xmlhttp.responseXML.getElementsByTagName('modele');
					var valeur_nouv_modele = form.nouveau_modele.value;
					
					//parcours de chaque modele pour verifier que la valeur saisie ne figure pas deja dans la liste
					for( var i = 0, m = liste1.length; i < m; i++ ){
						if(valeur_nouv_modele==liste1[i].firstChild.nodeValue) {
							alert(tab_erreurs["modele_existe"][jv_lang]);
							aff_liste_der_modeles();
							document.getElementById("modele").value = valeur_nouv_modele;
							return;
						}
					}
				}
			
		}
	} catch (e) {
	}
	
	//expression reguliere du pt
	var reg = new RegExp("[.]+", "g");
	
	//prix errone
	if(isNaN(form.prix.value)){
		alert(tab_erreurs["saisie_prix"][jv_lang]);
		return;
	}
	if((form.prix.value > 1000000)||(form.prix.value < 300)){
		/*if(jv_lang=="FR"){
			alert(tab_erreurs["saisie_prix2"]["FR"]);
			return;
		}else{
			alert(tab_erreurs["saisie_prix2"]["EN"]);
			return;
		}*/
		alert(tab_erreurs["saisie_prix2"][jv_lang]);
		return;
	}
	if (form.prix.value.match(reg)) {
	 	alert(tab_erreurs["saisie_prix"][jv_lang]);
		return;
	}
	
	//km errone
	if(isNaN(form.km.value)){
		alert(tab_erreurs["saisie_km"][jv_lang]);
		return;
	}
	if((form.km.value > 1000000)||(form.km.value < 1)){
		/*if(jv_lang=="FR"){
			alert(tab_erreurs["saisie_km2"]["FR"]);
			return;
		}else{
			alert(tab_erreurs["saisie_km2"]["EN"]);
			return;
		}*/
		alert(tab_erreurs["saisie_prix2"][jv_lang]);
		return;
	}
	if (form.km.value.match(reg)) {
	 	alert(tab_erreurs["saisie_km"][jv_lang]);
		return;
	}
	
	//chps de photos obligatoires
	if (form.image0){
		if(form.image0.value!=""){
			alert(tab_erreurs["erreur_photos"][jv_lang]);
			return;
		}
	}
	if (form.image1){
		if(form.image1.value!=""){
			alert(tab_erreurs["erreur_photos"][jv_lang]);
			return;
		}
	}
	if (form.image2){
		if(form.image2.value!=""){
			alert(tab_erreurs["erreur_photos"][jv_lang]);
			return;
		}
	}
	if (form.image3){
		if(form.image3.value!=""){
			alert(tab_erreurs["erreur_photos"][jv_lang]);
			return;
		}
	}
	
	//enlever les . dans prix et km
	form.prix.value = check_sans_pt(form.prix.value);
	form.km.value = check_sans_pt(form.km.value);
	
	//passage à la page suivante
	//form.action = "index.php?r_a=compte_log&depot=1";
	form.action = "index.php?r_a=saisie_annonce";
	form.submit();
}

//pr la modification de l'annonce
function valider_modifications(form,type_vehicule)
{
	//verifs des champs obligatoires
	if(type_vehicule==1)
	{
		//chps obligatoires
		if(form.id_categorie_voiture.value==0 || form.marque_voiture.value==0 || form.modele.value==0 || !form.modele.value || !form.prix.value || !form.km.value || form.annee.value==0 || form.id_boite_vitesse.value==0 || form.id_nombre_portes.value==0 || form.id_energie.value==0 || form.id_couleur.value==0){
			alert(tab_erreurs["chanps_oblig_vides"][jv_lang]);
			return;
		}		
	}
	else
	{
		//chps obligatoires
		if(form.id_categorie_moto.value==0 || form.marque_moto.value==0 || form.modele.value==0 || !form.modele.value || !form.prix.value || !form.km.value || form.annee.value==0 || form.id_couleur.value==0){
			alert(tab_erreurs["chanps_oblig_vides"][jv_lang]);
			return;
		}
	}
	
	//expression reguliere du pt
	var reg = new RegExp("[.]+", "g");
	
	//prix errone
	if(isNaN(form.prix.value)){
		alert(tab_erreurs["saisie_prix"][jv_lang]);
		return;
	}
	if((form.prix.value > 1000000)||(form.prix.value < 300)){
		if(jv_lang=="FR"){
			alert(tab_erreurs["saisie_prix2"]["FR"]);
			return;
		}else{
			alert(tab_erreurs["saisie_prix2"]["EN"]);
			return;
		}
	}
	if (form.prix.value.match(reg)) {
	 	alert(tab_erreurs["saisie_prix"][jv_lang]);
		return;
	}
	
	//km errone
	if(isNaN(form.km.value)){
		alert(tab_erreurs["saisie_km"][jv_lang]);
		return;
	}
	if((form.km.value > 1000000)||(form.km.value < 1)){
		if(jv_lang=="FR"){
			alert(tab_erreurs["saisie_km2"]["FR"]);
			return;
		}else{
			alert(tab_erreurs["saisie_km2"]["EN"]);
			return;
		}
	}
	if (form.km.value.match(reg)) {
	 	alert(tab_erreurs["saisie_km"][jv_lang]);
		return;
	}
	
	//passage à la page suivante
	form.action = "index.php?r_a=modification_annonce&depot=0";
	form.submit();
}
function valider_form_contact_vendeur(form){
	if(!form.nomContact.value || !form.email.value || !form.tel.value){
		alert(tab_erreurs["chanps_oblig_vides"][jv_lang]);
		return;
	}else if(!check_email(form.email.value)){
		alert(tab_erreurs["email_invalide"][jv_lang]);
		return;
	}else if(isNaN(form.tel.value) || form.tel.value.length < 6){
		alert(tab_erreurs["tel_chiffres"][jv_lang]);
		return;
	}else{
		form.submit();
	}
}
//Fonction qui verifie que les champs de coordonnees sont bien saisis
function valider_form_coord_annonce(form,depot)
{
	//chps obligatoires
	if(form.civilite.value==0 || !form.nom.value || !form.prenom.value || !form.mail.value || !form.pass.value || !form.conf_pass.value || !form.telephone.value || !form.adresse.value || !form.cp.value || !form.ville.value || form.region.value==0){
		alert(tab_erreurs["chanps_oblig_vides"][jv_lang]);
		return;
	}
	
	//Votre email est invalide
	if(!check_email(form.mail.value)){
		alert(tab_erreurs["email_invalide"][jv_lang]);
		return;
	}
	
	//Renseignez votre mot de passe dans les 2 champs.
	/*if(!form.pass.value || !form.conf_pass.value){
		alert(tab_erreurs["pass_double_champs"][jv_lang]);
		return;
	}*/
	//Votre mot de passe doit etre identique dans les 2 champs.
	if(form.pass.value!=form.conf_pass.value){
		alert(tab_erreurs["pass_identique"][jv_lang]);
		return;
	}	
	
	//Le numero de telephone ne doit contenir que des chiffres.
	if(isNaN(form.telephone.value) || form.telephone.value.length < 6){
		alert(tab_erreurs["tel_chiffres"][jv_lang]);
		return;
	}
	
	//Le code postal ne doit contenir que des chiffres pr FR
	//if(form.pays.value=="FR" && isNaN(form.cp.value)){
	//	alert(tab_erreurs["cp_chiffres"][jv_lang]);
	//	return;
	//}
	//Le code postal doit contenir 5 chiffres.
	//if(form.pays.value=="FR" && form.cp.value.length !=5){
	//	alert(tab_erreurs["cp_fr_non_valide"][jv_lang]);
	//	return;
	//}
		
	//Le champ Adresse ne doit pas exceder 25 caracteres
	if(form.adresse.value.length > 25){
		alert(tab_erreurs["adresse_simple"][jv_lang]);
		return;
	}
	//Le champ \'Complement d\'adresse\' ne dois pas exceder 25 caracteres
	if(form.comp_adresse.value.length > 25){
		alert(tab_erreurs["adresse_longue2"][jv_lang]);
		return;
	}
		
	//recup du mail
	form.mail.disabled = false;
	
	form.submit();
}

//Fonction qui affiche les infos souhaitees suivant qu'on veut saisir une annonce voiture ou une annonce moto
function affich_infos_souhaitees(type_vehicule)
{
	//test si on est mode moto ou auto
	if (type_vehicule==1)
	{
		//Afficher la liste deroulante des categories de voitures et cacher celle categories de motos
		document.forms[0].id_categorie_voiture.style.display = 'inline';
		document.forms[0].id_categorie_moto.style.display = 'none';
		document.forms[0].id_categorie_moto.value = 0;
		//de la meme maniere pour les marques
		document.forms[0].marque_voiture.style.display = 'inline';
		document.forms[0].marque_moto.style.display = 'none';
		document.forms[0].marque_moto.value = 0;
		
		//afficher les libelles et les elements utiles
		document.getElementById("version").disabled = false;
		
		//afficher les lignes du tableaux utiles
		document.getElementById("id_boite_vitesse").disabled = false;
		document.getElementById("id_energie").disabled = false;
		document.getElementById("id_nombre_portes").disabled = false;
		
		//effacer les valeurs saisies pour prix, version, annee, km, boite_vitesse, energie, couleur, nb_portes, options et commentaires
		document.forms[0].prix.value = "";
		document.forms[0].km.value = "";
		document.forms[0].annee.value = 0;
		document.forms[0].id_boite_vitesse.value = 0;
		document.forms[0].id_energie.value = 0;
		document.forms[0].id_nombre_portes.value = 0;
		document.forms[0].id_couleur.value = 0;
		document.forms[0].version.value = "";
		document.forms[0].options.value = "";
		document.forms[0].commentaires.value = "";
		document.forms[0].premiere_main.checked = false;
		
		//remettre à zero la liste des modeles
		while( document.getElementById('modele').options.length > 1 ) {
			document.getElementById('modele').removeChild(document.getElementById('modele').options[1]);
		}
		document.getElementById('modele').disabled = true;
	}
	else
	{
		//Afficher la liste deroulante des categories de motos et cacher celle categories de motos
		document.forms[0].id_categorie_voiture.style.display = 'none';
		document.forms[0].id_categorie_moto.style.display = 'inline';
		document.forms[0].id_categorie_voiture.value = 0;
		//de la meme maniere pour les marques
		document.forms[0].marque_voiture.style.display = 'none';
		document.forms[0].marque_moto.style.display = 'inline';
		document.forms[0].marque_voiture.value = 0;
		
		//cacher les libelles et les elements qui ne sont pas utiles
		document.getElementById("version").disabled = true;
		
		//afficher les lignes du tableaux utiles
		document.getElementById("id_boite_vitesse").disabled = true;
		document.getElementById("id_energie").disabled = true;
		document.getElementById("id_nombre_portes").disabled = true;
		
		//effacer les valeurs saisies pour prix, version, annee, km, boite_vitesse, energie, couleur, nb_portes, options et commentaires
		document.forms[0].prix.value = "";
		document.forms[0].km.value = "";
		document.forms[0].annee.value = 0;
		document.forms[0].id_boite_vitesse.value = 0;
		document.forms[0].id_energie.value = 0;
		document.forms[0].id_nombre_portes.value = 0;
		document.forms[0].id_couleur.value = 0;
		document.forms[0].version.value = "";
		document.forms[0].options.value = "";
		document.forms[0].commentaires.value = "";
		document.forms[0].premiere_main.checked = false;
		
		//remettre a zero la liste des modules
		while( document.getElementById('modele').options.length > 1 ) {
			document.getElementById('modele').removeChild(document.getElementById('modele').options[1]);
		}
		document.getElementById('modele').disabled = true;
	}
}

function change_page(page){
	document.getElementById("page").value = page;
	document.forms[0].action = "index.php?r_a=pge_resultats&type_recherche=1";
	document.forms[0].submit();
}

//fonction qui appelle la page pour uploader ou supprimer une photo
//	- num_photo correspond au numero de la photo (0, 1, 2 ou 3)
//	- suppr correspond a l'action a effectuer : 0 pour upload d'une photo et 1 pour supprimer une photo
// 	- mode : 1 pour saisie d'annonce et 2 pour modification d'annonce
function appeler_upload(form,num_photo,suppr, mode)
{
	//version de DEBUG !
	//form.action = "index.php?r_a=telecharger_photo&num_photo="+num_photo+"&suppr="+suppr;
	
	//mettre les autres boutons sur disabled
	for (i=0;i<4;i++)
	{
		//alert(document.getElementById("btUpload_"+i));
		if ((i!=num_photo) && (document.getElementById("btUpload_"+i)!=null)) document.getElementById("btUpload_"+i).disabled = true;
	}
	
	//choix de l'action suivant le mode
	if(mode==1)
		form.action = "index.php?r_a=saisie_annonce&num_photo="+num_photo+"&suppr="+suppr;
	else
		form.action = "index.php?r_a=modifier_annonce&num_photo="+num_photo+"&suppr="+suppr;
	
	//passage a la page suivante
	form.submit();
}

function tourner(form,num_photo)
{

	form.action = "index.php?r_a=saisie_annonce&num_photo="+num_photo+"&mode=rotate";

	//passage a la page suivante
	form.submit();
}

//fonction qui supprime les pts dans une chaine
function check_sans_pt(valeur)
{
	//recuperation de la chaine
	var str = valeur;
	
	//definition de l'expression reguliere
	var reg = new RegExp("[.]+", "g");
	
	//separation des deux parties (apres virgule et avant virgule)
	var tableau=str.split(reg);
	
	var str_retourn = "";
	for (var i=0; i<tableau.length; i++) {
		str_retourn+=tableau[i];
	}
	
	return (str_retourn);
}

function check_email(email){
	var str = email;
	
		if(str.indexOf(" ") >= 0) {
			return false;
		}
	
	if (window.RegExp) {
		var reg1str = "(@.*@)|(\\.\\.)|(@\\.)|(\\.@)|(^\\.)";
		var reg2str = "^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,4}|[0-9]{1,3})(\\]?)$";
		var reg1 = new RegExp(reg1str);
		var reg2 = new RegExp(reg2str);
		
		if (!reg1.test(str) && reg2.test(str)) {
			if(str.lastIndexOf('\'')==-1){
				return true;
			} else {
				return false;
			}
		} else {
			return false;
		}
	} else {
		if(str.indexOf("@") >= 0) {
			if(str.lastIndexOf('\'')==-1){
				return true;
			} else {
				return false;
			}
		} else {
			return false;
		}
	}
}

//fonction qui verifie que la personne ki veut s'inscrire rentre un e-mail valide
function pre_inscription(form,depot)
{
	//obligation de saisir le mail
	if (!form.mail_nouv.value){
		alert(tab_erreurs["champs_a_completer"][jv_lang]+" "+tab_erreurs["email"][jv_lang]);
		return;
	}
	
	//verification du mail
	if(!check_email(form.mail_nouv.value)){
		alert(tab_erreurs["email_invalide"][jv_lang]);
		return;
	}
	
	//passage à la page suivante
	form.action = "index.php?r_a=PRE_INS&depot="+depot;
	form.submit();
}

//fonction qui verifie que la personne qui veut ses identifiants rentre un e-mail valide
function envoyer_identifiants(form,depot)
{
	//obligation de saisir le mail
	if (!form.mail_pass_perdu.value){
		alert(tab_erreurs["champs_a_completer"][jv_lang]+" "+tab_erreurs["email"][jv_lang]);
		return;
	}
	
	//verification du mail
	if(!check_email(form.mail_pass_perdu.value)){
		alert(tab_erreurs["email_invalide"][jv_lang]);
		return;
	}
	
	//passage à la page suivante
	form.action = "index.php?r_a=ENVOI_IDENTIFIANTS&depot="+depot;
	form.submit();
}

//fonction qui verifie que la personne souhaitant se connecter rentre des infos valides
function verif_connexion(form,depot)
{
	//obligation de saisir le mail et le pass
	if (!form.mail.value || !form.pass.value){
		alert(tab_erreurs["email_pass_vide"][jv_lang]);
		return;
	}
	
	//verification du mail
	if(!check_email(form.mail.value)){
		alert(tab_erreurs["email_invalide"][jv_lang]);
		return;
	}
	
	//passage à la page suivante
	form.action = "index.php?r_a=compte_log&depot="+depot+"&connect=1";
	form.submit();
}

//fonction qui cache ou affiche le tps pour vendre son vehicule suivant la case cochee precedament
function affiche_cache_tps_vente(id)
{
	if (id==1 || id==2)
	{
		//vendu autrement ou pas
		if (id==1)
		{
			document.getElementById("vente_autrement").value = 0;
			document.getElementById("vente_autrement").disabled = true;
		}
		else
		{
			document.getElementById("vente_autrement").disabled = false;
		}
		
		//afficher les listes
		document.getElementById("nb_duree_vente").disabled = false;
		document.getElementById("unite_duree_vente").disabled = false;
	}
	else
	{
		//masquer les listes		
		document.getElementById("vente_autrement").value = 0;
		document.getElementById("vente_autrement").disabled = true;
		
		document.getElementById("nb_duree_vente").value = "";
		document.getElementById("nb_duree_vente").disabled = true;
		
		document.getElementById("unite_duree_vente").value = 0;
		document.getElementById("unite_duree_vente").disabled = true;
	}
}

//fonction qui demande pour la confirmation de la suppression d'annonce
function suppr_annonce(form, id_annonce)
{
	/*******   Ancienne version lorsque suppression sans sondage   *******/
	/*if (confirm(tab_erreurs["conf_suppr_annonce"][jv_lang]))
	{
			document.location.href = "index.php?r_a=espace_perso&suppr="+id_annonce;
	}*/
	
	//verifier que les infos obligatoires sont bien remplies
	if(form.contribution_vente[0].checked){
		//precisez le temps
		if (!form.nb_duree_vente.value || form.unite_duree_vente.value==0){
			alert(tab_erreurs["tps_vendu"][jv_lang]);
			return;
		}
	} else if (form.contribution_vente[1].checked){
		//quel autre moyen
		if (form.vente_autrement.value==0){
			alert(tab_erreurs["autr_moyen"][jv_lang]);
			return;
		}		
		//precisez le temps
		if (!form.nb_duree_vente.value || form.unite_duree_vente.value==0){
			alert(tab_erreurs["tps_vendu"][jv_lang]);
			return;
		}
	} else if (!form.contribution_vente[2].checked && !form.contribution_vente[3].checked){
		//selectionner radio bouton
		alert(tab_erreurs["vendu_ou_non"][jv_lang]);
		return;
	}
	
	if(!form.re_depot[0].checked && !form.re_depot[1].checked){
		alert(tab_erreurs["depot_de_nouveau"][jv_lang]);
		return;
	}
	
	//redirection vers la page de l'espace perso
	form.action = "index.php?r_a=suppression_annonce&depot=0&suppr="+id_annonce;
	form.submit();
}

//fonction de suppression d'une annonce
function supprime_annonce(id_annonce, etat)
{
	//si on est à l'etat=2 (en attente), on demande la confirmation de la suppression directe
	//sinon on redirige vers la page d'enquete à la suppression (supprimer_annonce.php)
	if (etat==2)
	{
		if (confirm(tab_erreurs["conf_suppr_annonce"][jv_lang]))
		{
			document.location.href = "index.php?r_a=suppression_annonce_simple&depot=0&id_suppr="+id_annonce;
		}
	}
	else
		document.location.href = "index.php?r_a=supprimer_annonce&id_annonce="+id_annonce;
}

//suppression du compte
function supprimer_compte()
{
	if (confirm(tab_erreurs["suppr_compte"][jv_lang]))
	{
		document.location.href = "index.php?r_a=suppression_compte_utilisateur";
	}
}

//fonction qui demande la confirmation de la suppression d'une recherche
function suppr_rech(id_rech, type_veh)
{
	if (confirm(tab_erreurs["conf_suppr_recherche"][jv_lang]))
	{
		document.location.href = "index.php?r_a=supprimer_recherche&depot=0&id_rech="+id_rech+"&type_veh="+type_veh;
	}
}

//fonction qui demande la confirmation de la suppression d'une annonce sauvegardee
function suppr_annonce_sauv(id_annonce_sauv)
{
	if (confirm(tab_erreurs["conf_suppr_annonce_sauv"][jv_lang]))
	{
		document.location.href = "index.php?r_a=suppression_annonce_sauv&depot=0&id_annonce_sauv="+id_annonce_sauv;
	}
}

//fonction qui permet d'afficher un message javascript en debut de page
function afficher_erreurs(msg){
	if(msg) alert(msg);
}


//declaration du tableau 
tab_compare = new Array();

//fonction pour verifier si on a deja 4 annonces à comparer
//	- cette fonction s'execute à chaque fois qu'un utilisateur clique sur la case à cocher
//	- soit on coche la case : verif qu'il n'y a pas deja les 4 max autorisees
//			-> si deja 4 : on envoie message d'alert et on decoche automatiquement la case qu'on vient de cocher
//			-> si pas encore 4, on rajoute cette case au tableau des annonces à comparer (tab_compare)
//	- soit on decoche la case : dans ce cas là, on met à 0 dans le tableau correspondant à l'index de la case, on trie et on supprime
function clic_compare(id_annonce)
{
	//si c'est clique, on rajoute dans le tableau, sinon on enleve du tableau
	if(document.getElementById("case_"+id_annonce).checked)
	{
		//si la taille est 4, on envoie un message d'alert
		if(tab_compare.length==4)
		{
			alert(tab_erreurs["msg_compare_2"][jv_lang]);
			document.getElementById("case_"+id_annonce).checked = false;
		}
		else
		{
			tab_compare.push(id_annonce);
		}
	}
	else
	{
		//remplacer la valeur à supprimer
		for(i=0;i<tab_compare.length;i++)
		{
			if(tab_compare[i]==id_annonce) tab_compare[i]=0;
		}
		
		//trier le tableau
		tab_compare.sort();
		
		//suppression de la valeur
		tab_compare.shift();
	}
}

//fonction qui verifie qu'il y a au moins 2 annonces à comparer
//	- limit et page sont passees en param pour gerer le retour à partir de la page comparaison
// 	- cette fonction s'execute au moment ou on clique sur le bouton comparer (de la pge_resultats)
function lancer_comparaison(limit, page)
{
	//si on a pas au moins 2 valeur, on ne lance pas la page de comparaison
	if(tab_compare.length<2)
	{
		alert(tab_erreurs["msg_compare_1"][jv_lang]);
	}
	else
	{
		//fabrication de l'uRL
		plus = "&limit="+limit+"&page="+page;
		for(i=0;i<tab_compare.length;i++)
		{
			plus+= "&id_annonce_"+i+"="+tab_compare[i];
		}
		
		//redirection
		document.location.href = "index.php?r_a=pge_comparaison"+plus;
	}
}

//fonctions dans l'espace perso pour souligner et colorer l'image (au niveau de supprimer et de modifier)
//	-> id_annonce permet d'identifier l'image à colorer
//	-> mode correspond à l'etat : souligne ou normal
//	-> inactiv (est egal à 0 ou 1) permet de differencier les images des annonces inactives (1) ou actives(0)
function souligne_modif(id_annonce,mode,inactiv)
{
	lib = "";
	if(inactiv!=0) lib = "_in";
	
	//si mode 1 on souligne, sinon on remet normal
	if (mode==1)
	{
		//changer image
		document.getElementById("img1_"+id_annonce).src="public/img/lang/commun/btn_modifier"+lib+"_h.gif";
		
		//souligner le lien
		document.getElementById("lien1_"+id_annonce).style.textDecoration="underline";
	}
	else
	{
		//changer image
		document.getElementById("img1_"+id_annonce).src="public/img/lang/commun/btn_modifier"+lib+"_n.gif";
		
		//de-souligner le lien
		document.getElementById("lien1_"+id_annonce).style.textDecoration="none";
	}
}
function souligne_suppr(id_annonce,mode,inactiv)
{
	lib = "";
	if(inactiv!=0) lib = "_in";
	
	//si mode 1 on souligne, sinon on remet normal
	if (mode==1)
	{
		//changer image
		document.getElementById("img2_"+id_annonce).src="public/img/lang/commun/btn_supprimer"+lib+"_h.gif";
		
		//souligner le lien
		document.getElementById("lien2_"+id_annonce).style.textDecoration="underline";
	}
	else
	{
		//changer image
		document.getElementById("img2_"+id_annonce).src="public/img/lang/commun/btn_supprimer"+lib+"_n.gif";
		
		//de-souligner le lien
		document.getElementById("lien2_"+id_annonce).style.textDecoration="none";
	}
}


//fonction de test des chps obligatoires avant d'effectuer une recherche
//	-> incremente le compteur lorsqu'un champ obligatoire est choisi : categorie, marque, modele ou zone_geo
//		- categorie ne doit pas etre egale à 1 ou 2 (toutes les categories) mais � 14X4, 1BER, ..., 2MOT, ... 2CRO
//		- marque et modele doivent etre diff de 0 (toutes les marques)
//		- zone_geo doit faire plus de 2 caracteres (FR_1, FR_2, ..., FR_22) : cad correspondre à une region
function lancer_recherche(form)
{
	var cpt=0;
	
	//si categorie est choisie
	if (form.id_categorie.value!=1 && form.id_categorie.value!=2) cpt++;
	
	//si marque est choisie
	if (form.marque.value!=0) cpt++;
	
	//si modele est choisie
	if (form.modele.value!=0) cpt++;
	
	//si une region est choisie
	if(form.id_zone_geo.value.length>2) cpt++;
	
	if (cpt==0)
	{
		alert(tab_erreurs["limiter_recherche"][jv_lang]);
	}
	else
	{
		//lancer recherche
		form.action = "index.php?r_a=pge_resultats&type_recherche=1";
		form.submit();
	}
}

function action_recherche(url)
{
	document.forms[0].action = url;
}

//fonction qui permet de descendre ou de monter les rubriques dans la page espace perso
//	-> zone correspond au libelle (recherches, annonces, annonces_sauv, mes_infos)
//	-> lorsque action=0, on affiche la zone (ou les zones dans le cas de mes_infos), on met la fleche vers le haut, on change l'etat et on enregistre le cookie
function aff_rubriques_espace_perso(zone)
{
	action = document.getElementById(zone+"_action").value;
	
	//si action=0 on affiche, si action=1 on cache
	if(action==0)
	{
		//gestion de la zone
		document.getElementById(zone+"_no").style.display = 'none';
		document.getElementById(zone).style.display = '';
		
		//cas particulier de modification du compte
		if(zone=='mes_infos')
		{
			document.getElementById(zone+"_2").style.display = '';
			document.getElementById(zone+"_3").style.display = '';
			document.getElementById(zone+"_4").style.display = '';
			document.getElementById(zone+"_5").style.display = '';
		}
		
		//changement de l'image
		document.getElementById(zone+"_img").src = 'public/img/lang/commun/compte_fleche_haut.gif';
		
		//changement de l'�tat de l'image
		document.getElementById(zone+"_action").value = 1;
		
		//sauvegarde dans un cookie
		SetCookie(zone+"_action", 1);
	}
	else
	{
		//gestion de la zone
		document.getElementById(zone).style.display = 'none';
		document.getElementById(zone+"_no").style.display = '';
		
		//cas particulier de modification du compte
		if(zone=='mes_infos')
		{
			document.getElementById(zone+"_2").style.display = 'none';
			document.getElementById(zone+"_3").style.display = 'none';
			document.getElementById(zone+"_4").style.display = 'none';
			document.getElementById(zone+"_5").style.display = 'none';
		}
		
		//changement de l'image
		document.getElementById(zone+"_img").src = 'public/img/lang/commun/compte_fleche_bas.gif';
		
		//changement de l'etat de l'image
		document.getElementById(zone+"_action").value = 0;
		
		//sauvegarde dans un cookie
		SetCookie(zone+"_action", 0);
	}
}

//enregistrer un cookie : avec date de fin un an+tard
function SetCookie(name, value)
{
	//nouvel objet date
	var aujourdhui = new Date() ;
	 
	//nouvel objet date
	var expdate = new Date() ;
	 
	//plus un an à partir d'aujourd 'hui le cookie ne s'efface jamais
	expdate.setTime( aujourdhui.getTime() + ( 365*24*60*60*1000 ) )
	 
	//creation du cookie
	document.cookie = name + "=" + value + ";expires=" + expdate.toGMTString();
}

//permet de changer de partie des USA (liste deroulante dans GenRegions)
function changer_partie_usa(codePays)
{
	switch (codePays)
	{
		case "MW":
			document.location.href = 'Midwest.html';
		break;
		
		case "NE":
			document.location.href = 'Northeast.html';
		break;
		
		case "SO":
			document.location.href = 'South.html';
		break;
		
		case "WE":
			document.location.href = 'West.html';
		break;
	}
}

function aff_packs(typeAnnonce)
{
	document.location.href = "index.php?r_a=choix_pack&type_vehicule="+typeAnnonce;
}

function choix_pack(idPack)
{
	document.getElementById('numPack').value = idPack;
	document.forms[0].submit();
}

function maj_preview_annonce()
{
	if (document.getElementById('aff_nom_prenom').checked)
		document.getElementById('vendeur_nom').innerHTML = document.getElementById('prenom').value + ' ' + document.getElementById('nom').value;
	else 
		document.getElementById('vendeur_nom').innerHTML = '';

	if (document.getElementById('aff_addresse').checked){
		document.getElementById('vendeur_adresse').innerHTML = document.getElementById('adresse').value;
		document.getElementById('vendeur_ville').innerHTML = document.getElementById('cp').value + ' ' + document.getElementById('ville').value;
	}
	else {
		document.getElementById('vendeur_adresse').innerHTML = '';
		document.getElementById('vendeur_ville').innerHTML = '';
	}

	if (document.getElementById('aff_tel').checked || document.getElementById('aff_formMail_tel').checked)
		document.getElementById('vendeur_tel').innerHTML = document.getElementById('telephone').value;
	else
		document.getElementById('vendeur_tel').innerHTML = '';

	if (document.getElementById('aff_formMail').checked || document.getElementById('aff_formMail_tel').checked)
		document.getElementById('formContact').style.display = "";
	else
		document.getElementById('formContact').style.display = "none";
}

function getCaptcha()
{
	var now=new Date();
	document.getElementById('captcha').src = 'public/include/pges/popup/captcha.php?' + now.getTime();
}

function valid_annonce()
{
	var obj = document.getElementById('cgv');
	if (!obj.checked)
	{
		alert(tab_erreurs["valid_cgv"][jv_lang]);
	}
	else {
		document.forms[0].submit();
	}
}

function action_recherche(url)
{
	document.forms[0].action = url;
}