
function show(id){
	document.getElementById(id).style.display='block';
}
function hide(id){
	document.getElementById(id).style.display='none';
}
function change_class(id,classe){
	document.getElementById(id).className=classe;
}

//fonction qui ouvre en pop-up une page passée en paramètre
function popup(url,x,y,scrl)
{
	if(x==void(0) || x==null) { x=620; }
	if(y==void(0) || y==null) { y=150; }
	if(scrl==void(0) || scrl==null) { scrl='yes'; }
	SH   = screen.height;
	SW   = screen.width;
	TheX = (SW - x)/2;
	TheY = (SH - y)/2;
	window.open(url,"","width="+x+",height="+y+",left="+TheX+",top="+TheY+",location=no,hotkeys=no,directories=no,menubar=no,scrollbars="+scrl+",toolbar=no,status=yes, dependant=yes, resizable=yes");
}

/*timeout menu*/
	if(window.onload)
			window.onload=cacherMenus();
	var timer = null;
	var timerRunning

	function cacherMenus() {
	 	timerRunning = false;
	 	if (document.getElementById('sous_menu_developpement')) {document.getElementById('sous_menu_developpement').style.display = 'none';}
	 	if (document.getElementById('sous_menu_voyager')) {document.getElementById('sous_menu_voyager').style.display = 'none';}
	 	if (document.getElementById('sous_menu_actualite')) {document.getElementById('sous_menu_actualite').style.display = 'none';}
		if (document.getElementById('sous_menu_entreprise')) {document.getElementById('sous_menu_entreprise').style.display = 'none';}
		if (document.getElementById('sous_menu_voyages')) {document.getElementById('sous_menu_voyages').style.display = 'none';}
		if (document.getElementById('sous_menu_champagne')) {document.getElementById('sous_menu_champagne').style.display = 'none';}
		if (document.getElementById('sous_menu_transport')) {document.getElementById('sous_menu_transport').style.display = 'none';}
	}
	function montrerMenu(menuNb) {
		killTimeout()
	 	cacherMenus();
	 	document.getElementById(menuNb).style.display = 'block';
	}
	function timeoutMenu() {
		timer = setTimeout("cacherMenus()",1000);
	 	timerRunning = true;
	}
	function killTimeout() {
		if(timerRunning){
	  		clearTimeout(timer);
		}
	}

var xhr = null;

//fonction Aja(x) qui établit la liaison XMLHTTPRequest - navigateur
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 explode(item,delimiter) {
	tempArray=new Array(1);
	var Count=0;
	var tempString=new String(item);

	while (tempString.indexOf(delimiter)>0) {
		tempArray[Count]=tempString.substr(0,tempString.indexOf(delimiter));
		tempString=tempString.substr(tempString.indexOf(delimiter)+1,tempString.length-tempString.indexOf(delimiter)+1);
		Count=Count+1;
	}

	tempArray[Count]=tempString;
return tempArray;
}

//fonction Aja(x) qui recupere les id des lignes à mettre en valeur
function ajax_filtre_horaires(ville){
	getXhr();

	var data     = null;
	var filename = "./ajax_filtre_ligne.php";

	data=filename + "?ville=" + ville;

	//alert(data);

		xhr.open("GET", data, true);
		//chargement();
		xhr.onreadystatechange = function anonymous() {
			if(xhr.readyState == 4){
		//		dechargement();
				//alert(xhr.responseText);
				var resu=xhr.responseText;
				if(resu.substring(0,6)!='erreur'){
					//alert(resu);

					for(var li in all_lignes){
						document.getElementById('li_'+all_lignes[li]).style.color='#B0AEA2';
					}
					var tab_li=explode(resu,'|');
					for(var li in tab_li){
						if(tab_li[li]!="") document.getElementById('li_'+tab_li[li]).style.color='#000';
					}
				}else{
					alert('erreur lors de la mise à jour. Prévenir le développeur...'+xhr.responseText);
				}
			};
		}
	xhr.send(null);

}

function explode(item,delimiter) {
	tempArray=new Array(1);
	var Count=0;
	var tempString=new String(item);
	while (tempString.indexOf(delimiter)>0) {
		tempArray[Count]=tempString.substr(0,tempString.indexOf(delimiter));
		tempString=tempString.substr(tempString.indexOf(delimiter)+1,tempString.length-tempString.indexOf(delimiter)+1);
		Count=Count+1;
	}
	tempArray[Count]=tempString;
	return tempArray;
}
function change_trafic(time) {
	var xhr1 = null;
	if(window.XMLHttpRequest)
	   xhr1 = new XMLHttpRequest();
	else if(window.ActiveXObject){
	   try { xhr1 = new ActiveXObject("Msxml2.XMLHTTP"); }
	   catch (e) { xhr1 = new ActiveXObject("Microsoft.XMLHTTP"); }
	}
	else {
	   alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
	   xhr1 = false;
	}
	var data1     = null;
	var filename1 = "ajax_traffic.php";
	data1 = filename1;
	//alert(data1);
	xhr1.open("GET",data1,true);
	xhr1.onreadystatechange = function() {
		if(xhr1.readyState == 4){
			//alert(xhr1.responseText);
			var tabl=explode(xhr1.responseText,'|');
			var num_ac=tabl[0];
			var charga=tabl[1];
			var conten=tabl[2];
			if(charga==1) {
				var charge=2;
			}
			else {
				var charge=1;
			}

			// On envoi le texte à renvoyer dans le layer caché
			document.getElementById('charge'+charge).innerHTML=conten;

			// On procède au changement de layer
			new Effect.Opacity('charge'+charga, { from: 1.0, to: 0.0, duration: 0.5, afterFinish: function(){ document.getElementById('charge'+charga).style.display='none'; } });
			document.getElementById('charge'+charge).style.opacity='0.0';
			document.getElementById('charge'+charge).style.filter='alpha(opacity=00)';
			document.getElementById('charge'+charge).style.display='block';
			new Effect.Opacity('charge'+charge, { from: 0.0, to: 1.0, duration: 1.0, afterFinish: function(){ change_traffic_temps(time); } });
		}
	};
	xhr1.send(null);
}
function change_traffic_temps(time){
	window.setTimeout("change_trafic("+time+")",time);	
}

function checkMail(x) {
	var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	if (filter.test(x)) return true;
	else return false;
}
function IsNumeric(sText) {
	var ValidChars = "0123456789";
	var IsNumber=true;
	var Char;
	for (i = 0; i < sText.length && IsNumber == true; i++) {
		Char = sText.charAt(i);
		if (ValidChars.indexOf(Char) == -1) {
			IsNumber = false;
		}
	}
	return IsNumber;
}
function verif_envoi_formulaire(id) {
	var erreur = "";
	var nom=document.getElementById("nom_"+id).value;
	var soc=document.getElementById("soc_"+id).value;
	var ema=document.getElementById("ema_"+id).value;
	var tel=document.getElementById("tel_"+id).value;
	var mes=document.getElementById("mes_"+id).value;
	if(nom=="") { erreur += 'Veuillez saisir votre nom et / ou prénom SVP.\n'; }
	if(ema=="") { erreur += 'Remplissez le champ email avec une adresse valide SVP.\n'; }
	else if(!checkMail(ema)) { erreur += 'Votre adresse email n\'est pas valide, veuillez verifier SVP.\n'; }
	if(tel=="") { erreur += 'Veuillez saisir votre numéro de téléphone SVP.\n'; }
	else if(!IsNumeric(tel)) { erreur += 'Votre téléphone n\'est pas valide, veuillez verifier SVP.\n'; }
	else if(tel.length!=10) { erreur += 'Votre telephone doit comporter 10 chiffres et non '+tel.length+', veuillez verifier SVP.\n'; }
	if(mes=="") { erreur += 'Veuillez saisir une question SVP.\n'; }
	if(erreur==""){
		var xhr = null;
		if(window.XMLHttpRequest) xhr = new XMLHttpRequest();
		else if(window.ActiveXObject){
		   try { xhr = new ActiveXObject("Msxml2.XMLHTTP"); }
		   catch (e) { xhr = new ActiveXObject("Microsoft.XMLHTTP"); }
		}
		else {
		   alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
		   xhr = false;
		}
		var data     = null;
		var filename = "./ajax_contact_voyage.php";
		data = filename+"?nom="+nom+"&ema="+ema+"&tel="+tel+"&soc="+soc+"&id="+id+"&mes="+mes.replace(/\n/g,"__-__");
		xhr.open("GET", data, true);
		xhr.onreadystatechange = function anonymous() {
			if(xhr.readyState == 4){
				var resu = xhr.responseText;
				if(resu.substring(0,2)=="ok") {
					alert('L\'email a été envoyé...');
					hide('question_'+id);
					show('texte_detail_'+id);
				}
				else{
					alert('Erreur, veuillez recommencer plus tard...');
				}
			};
		}
		xhr.send(null);
	}
	else {
		alert(erreur);
	}
}

function verif_nombre(champ) {
	var chiffres=new RegExp("[0-9]");
	var verif;
	for (x=0;x<champ.value.length;x++) {
		verif=chiffres.test(champ.value.charAt(x));
		if (verif==false) {
			champ.value = champ.value.substr(0,x)+champ.value.substr(x+1,champ.value.length-x+1);
			x--;
		}
	}
}

function bilan_carbone() {
	var nb_jour_travail=200; // VARIABLE A MODIFIER POUR LE NOMBRE DE JOUR DE TRAVAIL A COMPTABILISER POUR LE CALCUL GLOBAL
	var kim=document.getElementById("km").value;
	var die=0;
	var ess=0;
	var pet=0;
	var moy=0;
	var gra=0;
	var tr1=0;
	var tr2=0;
	var tr3=0;
	if(document.getElementById("diesel").checked) {
		var die=1;
	}
	else if(document.getElementById("essence").checked) {
		var ess=1;
	}
	if(document.getElementById("petite").checked) {
		var pet=1;
	}
	else if(document.getElementById("moyenne").checked) {
		var moy=1;
	}
	else if(document.getElementById("grande").checked) {
		var gra=1;
	}
	if(document.getElementById("urbain_province").checked) {
		var tr1=1;
	}
	else if(document.getElementById("urbain_idf").checked) {
		var tr2=1;
	}
	else if(document.getElementById("interurbain").checked) {
		var tr3=1;
	}
	if(kim==0) {
		document.getElementById("total_vehicule").innerHTML="0";
		document.getElementById("total_procars").innerHTML="0";
	}
	else {
		if((die==0 && ess==0) || (pet==0 && moy==0 && gra==0) || (tr1==0 && tr2==0 && tr3==0)) {
			document.getElementById("total_vehicule").innerHTML="0";
			document.getElementById("total_procars").innerHTML="0";
		}
		else {
			var total_vehicule = 0;
			var total_procars  = 0;
			var conso          = 0;
			var proportion     = 0;
			var coefficient    = 0;
			var passager       = 0;
			if(pet==1) {
				conso=0.04;
			}
			else if(moy==1) {
				conso=0.06;
			}
			else if(gra==1) {
				conso=0.08;
			}
			if(die==1) {
				proportion=0.803680045507461;
			}
			else if(ess==1) {
				proportion=0.773875;
			}
			if(tr1==1) {
				coefficient=0.26;
				passager=10;		// VALEURS PAR DEFAUT DE L'ADEME
			}
			else if(tr2==1) {
				coefficient=0.436;
				passager=21;		// VALEURS PAR DEFAUT DE L'ADEME
			}
			else if(tr3==1) {
				coefficient=0.31;
				passager=30;		// VALEURS PAR DEFAUT DE L'ADEME
			}

			// CALCUL DES VALEURS
			total_vehicule =Math.round((((kim*conso*proportion)*44)/12)*nb_jour_travail);
			total_procars  =Math.round((((kim*(coefficient/passager))*44)/12)*nb_jour_travail);

			// AFFICHAGE DU RESULTAT
			document.getElementById("total_vehicule").innerHTML = total_vehicule;
			document.getElementById("total_procars").innerHTML  = total_procars;
		}
	}
}