//////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////// fonctions Pour les appels ajax ////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////
var nb_jour_mois = ['0','31','28','31','30','31','30','31','31','30','31','30','31'];
var today=new Date();
var xhr_object = null;

//Ajax : Message a affiher
function writeDiv(nom_div,texte) {
document.getElementById(nom_div).innerHTML = texte;
}

// Appel Ajax
if(window.XMLHttpRequest) //Firefox
	xhr_object = new XMLHttpRequest ();
else if (window.ActiveXObject) // IE
	xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
else 	{ // Navigateur ne supporte pas
 alert("Votre navigateur ne supporte pas les objets XMLHTTPREQUEST ...");
}

// Appel Ajax
function appel_ajax(fileColdFusion,type,nom_div){
	//alert(fileColdFusion);
	var xhr_object = null;
	if(window.XMLHttpRequest) //Firefox
		xhr_object = new XMLHttpRequest ();
	else if (window.ActiveXObject) // IE
		xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
	else 	{ // Navigateur ne supporte pas
	 alert("Votre navigateur ne supporte pas les objets XMLHTTPREQUEST ...");
	 return ;
	}

	xhr_object.open("GET", fileColdFusion, true); //initialisation de la requete
		xhr_object.onreadystatechange = function() {
		if( xhr_object.readyState == 4) {
				/*try
				{*/
					
					if(type==1)
					{
						var ReturnedValue = xhr_object.responseText.split('+')[1];
						alert('');
						ReturnedValue = ReturnedValue.toString().split("--finappel--")[0];		
						eval(ReturnedValue.replace(',',' '));
					}
					if(type==2)
					{
						var ReturnedValue = xhr_object.responseText.split('+');
						eval(ReturnedValue[1]);
					}
					if(type==3)
					{
						ReturnedValue = xhr_object.responseText;
						ReturnedValue = ReturnedValue.split("--fin include--")[0];
						writeDiv(nom_div,ReturnedValue);
					}
				/*}catch(error)
				{erreur=1;}*/
				
			}
		}  
	xhr_object.send(null);
}


//////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////// fonctions utiles standars //////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////
var message_vols='Seleziona un volo';
<!--
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_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_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];}
}
function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
 //  window.open(page,"nom_popup","menubar=no, status=no, scrollbars=no, menubar=no, width=200, height=100"
 //var w=w.focus();
}

//////////////////////////////////////////////////////////////////////////////////////////
////////////////////////// Passer un form dans une fenetre pop-up ////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////
function popup(width,height) {
  var NewWind = window.open( '','remote', 'width=' + width + ',height=' + height );
  if (NewWind.opener == null) {
    NewWind.opener = window;
  }
}

//////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////// Formatage de date "9 999 999.99" ///////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////
function prix_format(chaine)
{
	sauv=chaine.toString();
	var longueur=sauv.split('.')[0].length;
	if(sauv.indexOf(".") == -1)
	{
		return sauv.split('.')[0].substring(0,longueur-3)+ ' ' + sauv.split('.')[0].substring(longueur-3,longueur)+'.'+'00';
	}else
	{
		if (sauv.split('.')[1].substring(0,2).length <2)
		{
			return sauv.split('.')[0].substring(0,longueur-3)+ ' ' + sauv.split('.')[0].substring(longueur-3,longueur)+'.'+sauv.split('.')[1].substring(0,2)+'0';
		}else
		{
			return sauv.split('.')[0].substring(0,longueur-3)+ ' ' + sauv.split('.')[0].substring(longueur-3,longueur)+'.'+sauv.split('.')[1].substring(0,2);
		}
		
	}
}

//////////////////////////////////////////////////////////////////////////////////////////
/////////////////// tester si une date est valide et si > date du jour ///////////////////
//////////////////////////////////////////////////////////////////////////////////////////
function test_date(j,m,a,amin,amax)
{	
	ladate=new Date();
	
	ladate.setDate(j)
	ladate.setMonth(m-1);
	ladate.setFullYear(a);
	
	if ( ((isNaN(j))||(j<1)||(j>31))) {
	//alert("Le jour n'est pas correct."); ok=0;
		return false;
	}
	if ( ((isNaN(m))||(m<1)||(m>12))) {
	//alert("Le mois n'est pas correct."); ok=0;
		return false;
	}
	if ( ((isNaN(a))||(a<amin)||(a>amax))) {
	//alert("L'annee n'est pas correcte."); 
		return false;
	}
	
	//le nb jour du mois de fevrier 
	if(m == 2){
		if(a %4){
			nb_jour_mois[2]=28;
		}else
		{
			nb_jour_mois[2]=29;
		}
	}
	var le_mois=0;
	le_mois=m-1+1;
	if(nb_jour_mois[le_mois]<j)
	{
		return false;
	}
	
	
	if(today > ladate){
		return false;
	}
	return true;
}

//////////////////////////////////////////////////////////////////////////////////////////
///////////////////////// tester si une date est valide (valeur) /////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////
function test_date3(object_value)
{
	//trim whitespace before we validate
    object_value = object_value.replace(/^\s+/,'').replace(/\s+$/,'');
	object_value = object_value = object_value.replace(/{d \'/, '').replace(/'}/, '');


	isplit = object_value.indexOf('/');
	splitchr = "/";

	if (isplit == -1)
	{
		isplit = object_value.indexOf('.');
		splitchr = ".";
	}
		
	if (isplit == -1)
	{
		isplit = object_value.indexOf('-');
		splitchr = "-";
	}

	if (isplit == -1 || isplit == object_value.length)
		return false;

     var element1 = object_value.substring(0, isplit);
     // check for yyyy-mm-dd format
     if( element1.length == 4 )
     {
         sYear = object_value.substring(0, isplit);

         isplit = object_value.indexOf(splitchr, isplit + 1);
         if (isplit == -1 || (isplit + 1 ) == object_value.length)
                 return false;

         sMonth = object_value.substring((sYear.length + 1), isplit);
         sDay = object_value.substring(isplit + 1);

     }
     else
     {
         sDay = object_value.substring(0, isplit);
         isplit = object_value.indexOf(splitchr, isplit + 1);

         if (isplit == -1 || (isplit + 1 ) == object_value.length)
                 return false;

         sMonth = object_value.substring((sDay.length + 1), isplit);
         sYear = object_value.substring(isplit + 1);

      }

	if (isNaN(sMonth))
		return false;
	else
	if (!checkrange(sMonth, 1, 12))
		return false;
	else
	if (isNaN(sYear))
		return false;
	else
	if (!checkrange(sYear, 0, null))
		return false;
	else
	if (isNaN(sDay))
		return false;
	else
	if (!checkday(sYear, sMonth, sDay))
		return false;
	else
		return true;
}
function checkrange(object_value, min_value, max_value, required)
{
    object_value = object_value.replace(/^\s+/,'').replace(/\s+$/,'');

    if( required )
    {
        if( object_value.length == 0 )
        {
            return false;
        }
    }else{
        if( object_value.length == 0 )
        {
            return true;
        }
    }


	if (isNaN(object_value))
		return false;
	else
		return (numberrange((eval(object_value)), min_value, max_value));

	return true;
}
function numberrange(object_value, min_value, max_value, required)
{
    //trim whitespace before we validate
    //object_value = object_value.replace(/^\s+/,'').replace(/\s+$/,'');

    if( required )
    {
        if( object_value.length == 0 )
        {
            return false;
        }
    }else{
        if( object_value.length == 0 )
        {
            return true;
        }
    }


	if (min_value != null)
	{
		if (object_value < min_value)
			return false;
	}

	if (max_value != null)
	{
		if (object_value > max_value)
			return false;
	}

	return true;
}
function checkday(checkYear, checkMonth, checkDay)
{
	maxDay = 31;

	if (checkMonth == 4 || checkMonth == 6 ||
		checkMonth == 9 || checkMonth == 11)
		maxDay = 30;
	else if (checkMonth == 2)
	{
		if (checkYear % 4 > 0)
			maxDay =28;
		else if (checkYear % 100 == 0 && checkYear % 400 > 0)
			maxDay = 28;
		else
			maxDay = 29;
	}

	return checkrange(checkDay, 1, maxDay);
}
//////////////////////////////////////////////////////////////////////////////////////////
/////////////////////// tester si une date est valide (jj/mm/aaaa) ///////////////////////
//////////////////////////////////////////////////////////////////////////////////////////
function test_date2(j,m,a,amin,amax)
{	
	ladate=new Date();
	
	ladate.setDate(j)
	ladate.setMonth(m-1);
	ladate.setFullYear(a);
	
	if ( ((isNaN(j))||(j<1)||(j>31))) {
	//alert("Le jour n'est pas correct."); ok=0;
		return false;
	}
	if ( ((isNaN(m))||(m<1)||(m>12))) {
	//alert("Le mois n'est pas correct."); ok=0;
		return false;
	}
	if ( ((isNaN(a))||(a<amin)||(a>amax))) {
	//alert("L'annee n'est pas correcte."); 
		return false;
	}
	
	//le nb jour du mois de fevrier 
	if(m == 2){
		if(a %4){
			nb_jour_mois[2]=28;
		}else
		{
			nb_jour_mois[2]=29;
		}
	}
	var le_mois=0;
	le_mois=m-1+1;
	if(nb_jour_mois[le_mois]<j)
	{
		return false;
	}
	
	return true;
}
//////////////////////////////////////////////////////////////////////////////////////////
/////////////////////// comparer deux dates (date1>date2==> true) ////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////
function comparer_date(j1,m1,a1,j2,m2,a2)
{	
	ladate1=new Date();
	ladate2=new Date();
	
	ladate1.setDate(1);
	ladate1.setFullYear(a1);
	ladate1.setMonth(m1-1);
	ladate1.setDate(j1)
	
	ladate2.setDate(1);
	ladate2.setFullYear(a2);
	ladate2.setMonth(m2-1);	
	ladate2.setDate(j2)
	
	if(ladate1 < ladate2){
		return false;
	}
	return true;
}
function comparer_date2(j1,m1,a1,j2,m2,a2)
{	
	ladate1=new Date();
	ladate2=new Date();
	
	ladate1.setDate(1);
	ladate1.setFullYear(a1);
	ladate1.setMonth(m1-1);
	ladate1.setDate(j1)
	
	ladate2.setDate(1);
	ladate2.setFullYear(a2);
	ladate2.setMonth(m2-1);	
	ladate2.setDate(j2)
	
	if(ladate1 <= ladate2){
		return false;
	}
	return true;
}
function comparer_date3(j1,m1,a1,j2,m2,a2)
{	
	ladate1=new Date();
	ladate2=new Date();
	
	ladate1.setDate(1);
	ladate1.setFullYear(a1);
	ladate1.setMonth(m1-1);
	ladate1.setDate(j1)
	
	ladate2.setDate(1);
	ladate2.setFullYear(a2);
	ladate2.setMonth(m2-1);	
	ladate2.setDate(j2)
	
	if(j1 == j2 && m1 == m2 && a1 == a2 )
	{
		return true;
	}
	return false;
}
//////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////// Tester  L'email /////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////
function verifEmail(mail) 
{
  	var ret = true;
  	var car = "";
  	var carAfter = "";
  	var carBefore = "";
  	var nbrcar = mail.length;
  	var nbrarobase = 0;
  	var nbrpoint = 0;
  	var goodcar = "@0123456789.-_abcdefghijklmnopqrstuvwxyz";
  	for(cnt=0;cnt<nbrcar;cnt++) 
  	{
    	var car = mail.substr(cnt,1);
    	if(goodcar.indexOf(car) >= 0) 
			{
				carAfter = "";
				carBefore = "";
     			if(car == "@") 
					{
       					if((cnt-1) >= 0) 
							{
         						carBefore = mail.substr((cnt-1),1);
        					}
						if((cnt+1)<nbrcar) 
							{
						 		carAfter = mail.substr((cnt+1),1);
							}
        				if(cnt>0 && nbrarobase==0 && cnt<(nbrcar-4) && !(carBefore==".") && !(carAfter==".") && !(carBefore=="-") && !(carAfter=="-") && !(carBefore=="_") && !(carAfter=="_")) 
							{
          						nbrarobase++;
        					} 
						else 
							{
         						ret = false;
        						 break;
							}
      				}

				if(car == ".") 
					{
						if((cnt-1) >= 0) 
							{
						  		carBefore = mail.substr((cnt-1),1);
							}
						if((cnt+1)<nbrcar) 
							{
						 		carAfter = mail.substr((cnt+1),1);
							}
        				if(cnt>0 && cnt<(nbrcar-2) && !(carBefore==".") && !(carAfter==".") && !(carBefore=="-") && !(carAfter=="-") && !(carBefore=="_") && !(carAfter=="_")) 
							{
          						nbrpoint++;
        					} 
						else 
							{
								ret = false;
								break;
        					}
      				}
    		} 
		else 
			{
      			ret = false;
      			break;
    		}
  	}
  	if(nbrarobase == 0 || nbrpoint == 0 || mail.substr(0,1) == "." || mail.substr(0,1) == "-" || mail.substr(0,1) == "_" || mail.substr((nbrcar-1),1) == "." || mail.substr((nbrcar-1),1) == "-" || mail.substr((nbrcar-1),1) == "_") 
		{
    		ret = false;
  		}
  	return ret;
}

//////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////// Fonctions NewsLetter ////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////
// mail oublie
function AjaxeNewsLetter_old(param)
{
	alert(param);
}
function AjaxeNewsLetter()
{
	//alert('');
	document.getElementById('div_bouton_news').style.visibility='hidden';
	var fileColdFusion = "fonctionAjax/Newsletter.cfm";
	var data = Math.random();
	frm2=document.frm_newsletter;	
	if(!verifEmail(frm2.email_news.value))
	{
		document.getElementById('div_message_erreur_mail').style.display='block';
		document.getElementById('div_bouton_news').style.visibility='visible';
		return false;
	}
	else
		document.getElementById('div_message_erreur_mail').style.display='none';
	
	data += '&email='+	frm2.email_news.value;
	fileColdFusion += "?"+data; // passer les param
	//alert(fileColdFusion)
	appel_ajax(fileColdFusion,2);
} 


//////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////// Fonctions Login et Logout ////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////
//Fonctions Login
function Ajaxlogin(){
	var fileColdFusion = "fonctionAjax/login.cfm";
	var data = Math.random();
	frm=document.frm_b2h;
	
	data += '&login='+	frm.login_b2h.value;
	data += '&pwd='+	frm.pwd_b2h.value;	

	fileColdFusion += "?"+data; // passer les param
	//alert(fileColdFusion)
	appel_ajax(fileColdFusion,2);
} 
// mail oublie
function Ajaxemail()
{
	var fileColdFusion = "fonctionAjax/login_email.cfm";
	var data = Math.random();
	frm2=document.mail_obli;
	
	try{data += '&email='+	frm2.email_obli.value;}
	catch(error){erreur=1;}
	
	fileColdFusion += "?"+data; // passer les param
	//alert(fileColdFusion)
	appel_ajax(fileColdFusion,2);
} 
//Logout
function Ajaxlogout(){
	var fileColdFusion = "fonctionAjax/logout.cfm";
	var data = Math.random();
	frm=document.login;
	data += '&test=test';
	fileColdFusion += "?"+data; // passer les param
	appel_ajax(fileColdFusion,2);
} 
//Afficher le panier
function appel_ajax_pannier() 
{
	fichier = 'inc/pannier.cfm?include=1';
	//var ReturnedValue ='';
	//alert(fichier);
	var xhr_object = null;
	if(window.XMLHttpRequest) //Firefox
		xhr_object = new XMLHttpRequest ();
	else if (window.ActiveXObject) // IE
		xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
	else 	{ // Navigateur ne supporte pas
	 alert("Votre navigateur ne supporte pas les objets XMLHTTPREQUEST ...");
	 return ;
	}
	
	xhr_object.open("GET", fichier, true); //initialisation de la requete
		xhr_object.onreadystatechange = function() {
			if( xhr_object.readyState == 4) {
				ReturnedValue = xhr_object.responseText;
				ReturnedValue = ReturnedValue.split("--fin include--")[0];
				writeDiv('tbl_new_pannier',ReturnedValue);
				window.location='pratiche_gastaldi1860.cfm';
			}
		}  
	xhr_object.send(null);
}