function checkStartDate(input, mindate, delairesa, minresa){
	if (validateDateFr(input.value)){
		var reg=new RegExp("[/]+", "g");
		var t_ddebut=input.value.split(reg);
		var ddebut=""+t_ddebut[2]+t_ddebut[1]+t_ddebut[0];
		var minTime = (24*delairesa)+"h";
		if (ddebut <= mindate){
			alert("Les réservations doivent être enregistrées au moins "+minTime+" à l'avance\nBookings are taken at least "+minTime+" before.");
			input.value="";
		}else if (document.getElementById('dfin').value!=""){
			var datediff = dateDiffInDays(input.value, document.getElementById('dfin').value);
			if (datediff < minresa){
				var msg = "La durée minimum de séjour est de "+minresa+" nuit";
				if (minresa>1) msg +="s";
				msg+="\nStay must be minimum "+minresa+" night";
				if (minresa>1) msg +="s";
				alert(msg);
				input.value="";
			} else {
			}

	//		alert("délai ok");
		}
	} else input.value="";
}

function checkEndDate(ddebut, dfin, minresa){
	if (validateDateFr(document.getElementById("dfin").value)){	
		var datediff = dateDiffInDays(ddebut, dfin);
		if ( datediff < minresa){
				var msg = "La durée minimum de séjour est de "+minresa+" nuit";
				if (minresa>1) msg +="s";
				msg+="\nStay must be minimum "+minresa+" night";
				if (minresa>1) msg +="s";
			alert(msg);
			document.getElementById("dfin").value="";
		}
	} else document.getElementById("dfin").value="";
}

function dateDiffInDays(ddebut, dfin){
  var debut = str2date(ddebut);
  var fin = str2date(dfin);

  var diff = fin.getTime() - debut.getTime();
//  var one_day=1000*60*60*24
 
/*  alert((diff / 86400000)+" - "+Math.round(diff / 86400000));
  return (diff / 86400000);*/
  return Math.round(diff / 86400000);
}

function validateSearch(myForm, nbjoursmin){


	if ((myForm.elements['nbpers'].value=='')||(myForm.elements['ddebut'].value=='')
		||(myForm.elements['dfin'].value=='')||(myForm.elements['tappartId'].value=='')||(myForm.elements['tappartId'].value=='-1')){
		alert ('Tous les champs sont obligatoires.\nAll fields are mandatory.\n');
		return false;
	}else if (!(validateDateFr(myForm.elements['ddebut'].value))) {
		alert ('Veuillez entrer une date d\'arrivée valide (jj/mm/aaaa).\nPlease enter a valid arrival date (dd/mm/yyyy).\n');
		return false;
	}else if (!(validateDateFr(myForm.elements['dfin'].value))) {
		alert ('Veuillez entrer une date de départ valide (jj/mm/aaaa).\nPlease enter a valid departure date (dd/mm/yyyy).\n');
		return false;
	} else if ((str2date(myForm.elements['ddebut'].value)>str2date(myForm.elements['dfin'].value))||(myForm.elements['ddebut'].value==myForm.elements['dfin'].value)){
		alert ('La date départ doit être après la date d\'arrivée.\nDeparture date must be later than arrival.\n');
		return false;
		
	} else return true;	
}


function validateConfirm(myForm,nbpers,litbebe){
	
	if (myForm.elements['nom'].value==''){
		alert ('Veuillez saisir votre nom. \nPlease enter your lastname');
		return false;
	} else if (myForm.elements['prenom'].value==''){
		alert ('Veuillez saisir votre prénom. \nPlease enter your firstname');
		return false;
	} else if (myForm.elements['adresse1'].value==''){
		alert ('Veuillez saisir votre adresse. \nPlease enter your address');
		return false;
	} else if (myForm.elements['codepostal'].value==''){
		alert ('Veuillez saisir votre code postal. \nPlease enter your zip code');
		return false;
	} else if (myForm.elements['ville'].value==''){
		alert ('Veuillez saisir votre ville. \nPlease enter your city name');
		return false;
	} else if (myForm.elements['pays'].value==''){
		alert ('Veuillez saisir votre pays. \nPlease enter your country name');
		return false;
	} else if (myForm.elements['telephone'].value==''){
		alert ('Veuillez saisir votre numéro de telephone. \nPlease enter your phone number');
		return false;
	} else if (myForm.elements['email'].value==''){
		alert ('Veuillez saisir votre adresse e-mail. \nPlease enter your email address');
		return false;
	} else if ((myForm.elements['email'].value!='')&&(echeck(myForm.elements['email'].value)==false)){
		alert ('Veuillez saisir une adresse email valide. \nPlease enter a valid email address');
		return false;
	} else if ((myForm.elements['adultes'].value=='')||(myForm.elements['adultes'].value<0)){
		alert ('Veuillez saisir le nombre d\'adultes. \nPlease enter the number of adults');
		return false;
	} else if ((myForm.elements['bebes'].value!='')&&(myForm.elements['bebes'].value>0)&&(litbebe!="o")){
		alert ('Ce type d\'appartement ne permet pas de lit bébé. \nCots are not possible in this type of appartment');
		return false;
	} else if (!(checknbpers(myForm, nbpers))){
		alert ('Le nombre de personnes ne correpond pas au nombre total. \nNumber of persons does not match total');
		return false;
	} else return true;
}

function echeck(str) {
		var at="@"
		var dot="."
		var lat=str.indexOf(at)
		var lstr=str.length
		var ldot=str.indexOf(dot)
		if (str.indexOf(at)==-1){
		   alert("Adresse E-mail incorrecte")
		   return false
		}
		if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
		   alert("Adresse E-mail incorrecte")
		   return false
		}
		if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
		   alert("Adresse E-mail incorrecte")
		    return false
		}
		 if (str.indexOf(at,(lat+1))!=-1){
		   alert("Adresse E-mail incorrecte")
		    return false
		 }
		 if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
		   alert("Adresse E-mail incorrecte")
		    return false
		 }
		 if (str.indexOf(dot,(lat+2))==-1){
		   alert("Adresse E-mail incorrecte")
		    return false
		 }
		 if (str.indexOf(" ")!=-1){
		   alert("Adresse E-mail incorrecte")
		    return false
		 }
 		 return true					
	}


function validateDateFr(date){
   var date_regexp=/^(\d{1,2}\/){2}\d{4}$/;
   if (!date.match(date_regexp))
   {
   alert('veuillez entrer une date valide (format jj/mm/aaaa).');
   return false;
   } else return true;
}
						
function str2date(date){
	var ddate=new Date()
	 
//	var TabChaine=date.split('\/')
	var reg=new RegExp("[/]+", "g");
	var TabChaine=date.split(reg);
/*	alert(TabChaine[0]);
	alert(TabChaine[1]);
	alert(TabChaine[2]);*/
	ddate.setYear(TabChaine[2]);	
	ddate.setMonth(TabChaine[1]-1);
	ddate.setDate(TabChaine[0]);
	return ddate;
}

function checknbpers(myForm,nbpers){
	var adultes = myForm.elements['adultes'].value;
	var enfants = myForm.elements['enfants'].value;
	var bebes = myForm.elements['bebes'].value;
	
	if (adultes!="")
		adultes = parseInt(adultes,10);
	else
		adultes = 0;

	if (enfants!="")
		enfants = parseInt(enfants,10);
	else
		enfants = 0;

	if (bebes!="")
		bebes = parseInt(bebes,10);
	else
		bebes = 0;

	if (adultes+enfants+bebes!=nbpers)
		return false
	else return true;
}

