path="http://www.le-voyage-autrement.com/";

function mail_admin(value,url)
{

var xhr_object;
		  if(window.XMLHttpRequest) // FIREFOX
      	{ xhr_object = new XMLHttpRequest();}
     else if(window.ActiveXObject) // IE
          {xhr_object = new ActiveXObject("Microsoft.XMLHTTP");}
     else
         { return(false);}
    
     xhr_object.open("POST", path+"mail_avert.php", false);
	 xhr_object.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=iso-8859-1');
    xhr_object.send("url="+url+"&lien="+value);
	
	 if(xhr_object.readyState == 4) 
	 {
	 xhr_object = 0;
	 }
	 else {alert('erreur! '+xhr_object.responseText);}
}


function setcook(nom,valeur) {
document.cookie = nom + "=" + escape(valeur)
}


function getcook(nom) {
deb = document.cookie.indexOf(nom + "=");
        if (deb >= 0) {
            deb += nom.length + 1;
            fin = document.cookie.indexOf(";",deb);
            if (fin < 0){ fin = document.cookie.length;}
            return unescape(document.cookie.substring(deb,fin));
            }
        return ""
}
function cache(calque)
{
document.getElementById(calque).style.visibility='hidden';
document.getElementById(calque).style.display='none';
}
function affich(calque)
{
document.getElementById(calque).style.visibility='visible';
document.getElementById(calque).style.display='block';
}
function verifins(champs)
{
var champ=champs.split(";");
var n=0;
var err="";
var param="";


if(document.forms["insert"].elements["password"].value!=document.forms["insert"].elements["password_confirm"].value)
{
alert("Vos mots de passe ne correspondent pas.");
exit();
}

if(document.forms["insert"].elements["mail"].value!=document.forms["insert"].elements["mail_confirm"].value)
{
alert("Vos adresses mail ne correspondent pas.");
exit();
}

if(document.forms["insert"].elements["condition"].checked!=true)
{
alert("Vous devez accepter les termes et conditions pour nous soumettre ce formulaire.");
exit();
}

for (var i=0;i<champ.length-1;i++)
{	

	if(document.forms["insert"].elements[champ[i]].value=="")
	{
	err+="\n - "+champ[i]+"";
	document.forms["insert"].elements[champ[i]].className='inputerr';
	n++;
	}
	//else if(champ[i]=="photo")
	//{
	//var testphoto=new Image();
	//testphoto.onload=function(){};
	//testphoto.onerror=function(){alert("la photo n'existe pas!");}
	//testphoto.src=document.forms["insert"].elements["photo"].value;
	//}
	else
	{
	document.forms["insert"].elements[champ[i]].className='put';
	}

}
	
	if (document.getElementById('visible1').checked==false && document.getElementById('visible2').checked==false)
{
err+="\n - liste membre";	
n++;
}

if (document.getElementById('newsletter1').checked==false && document.getElementById('newsletter2').checked==false)
{
err+="\n - abonnement newsletter";	
n++;
}

if (document.getElementById('offre1').checked==false && document.getElementById('offre2').checked==false)
{
err+="\n - abonnement offre";	
n++;
}

	
	
	if (n==0)
	{
	document.insert.submit();
	}
	else
	{
	alert('Le(s) champ(s) '+err+'\n ne sont pas complétés.');
	}
}



function verif(champs)
{
var champ=champs.split(";");
var n=0;
var err="";
var param="";



for (var i=0;i<champ.length-1;i++)
{	

	if(document.forms["insert"].elements[champ[i]].value=="" )
	{
	err+="\n - "+champ[i]+"";
	document.forms["insert"].elements[champ[i]].className='inputerr';
	n++;
	}
	
	else if(document.forms["insert"].elements["accepte"].checked==false)
	{
	alert('Vous devez accepter les termes et conditions pour nous soumettre ce formulaire.');
	return false;
	}
	else
	{
	document.forms["insert"].elements[champ[i]].className='put';
	}

}
	if (n==0)
	{
	document.insert.submit();
	}
	else
	{
	alert('Vous devez compléter les champs suivants : '+err+'\n ');
	}
}

function verif_agence(date_debut,date_fin,code,agence)
{
	if(isDate(date_debut) && isDate(date_fin))
	{	
	
	var xhr_object;
		  if(window.XMLHttpRequest) // FIREFOX
      	{ xhr_object = new XMLHttpRequest();}
     else if(window.ActiveXObject) // IE
          {xhr_object = new ActiveXObject("Microsoft.XMLHTTP");}
     else
         { return(false);}
    
     xhr_object.open("POST", path+"check_code.php", false);
	 xhr_object.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=iso-8859-1');
    xhr_object.send("date_debut="+date_debut+"&date_fin="+date_fin+"&code="+code+"&agence="+agence);
	
	 if(xhr_object.readyState == 4) 
	 {	
		 //alert(xhr_object.responseText);
		 var result = xhr_object.responseText.split("|");
		if (xhr_object.responseText == 0){alert('code faux!');}
		else if (result[0] == 1){document.location.replace('vouchers/voucher_'+result[1]+'.php?date_debut='+date_debut+'&date_fin='+date_fin+'&code='+code);}
		else {alert(xhr_object.responseText);}
		
	 }
	 else {alert('erreur! '+xhr_object.responseText);}
	}
	else
	{
	alert("Mauvaise saisie de dates.");	
	}
}


function setcook(nom,valeur) {
document.cookie = nom + "=" + escape(valeur)
	
	
}



 function isDate(d) {
 // Cette fonction permet de vérifier la validité d'une date au format jj/mm/aa ou jj/mm/aaaa
 // Par Romuald

 if (d == "") // si la variable est vide on retourne faux
 return false;

 e = new RegExp("^[0-9]{1,2}\/[0-9]{1,2}\/([0-9]{4})$");

 if (!e.test(d)) // On teste l'expression régulière pour valider la forme de la date
 return false; // Si pas bon, retourne faux

 // On sépare la date en 3 variables pour vérification, parseInt() converti du texte en entier
 j = parseInt(d.split("/")[0], 10); // jour
 m = parseInt(d.split("/")[1], 10); // mois
 a = parseInt(d.split("/")[2], 10); // année

 // Si l'année n'est composée que de 2 chiffres on complète automatiquement
 if (a < 1000) {
 if (a < 89) a+=2000; // Si a < 89 alors on ajoute 2000 sinon on ajoute 1900
 else a+=1900;
 }

 // Définition du dernier jour de février
 // Année bissextile si annnée divisible par 4 et que ce n'est pas un siècle, ou bien si divisible par 400
 if (a%4 == 0 && a%100 !=0 || a%400 == 0) fev = 29;
 else fev = 28;

 // Nombre de jours pour chaque mois
 nbJours = new Array(31,fev,31,30,31,30,31,31,30,31,30,31);

 // Enfin, retourne vrai si le jour est bien entre 1 et le bon nombre de jours, idem pour les mois, sinon retourn faux
 return ( m >= 1 && m <=12 && j >= 1 && j <= nbJours[m-1] );
 } 

