date=new Date;
date.setHours(date.getHours()+1);

now = new Date();
jour=now.getDate();
anne=now.getFullYear()*10000;
mois=now.getMonth()*100;
no=mois+jour+anne;



function dodate(phe,peu,lap,amn,amx)
{

var depdmy=document.inscription.ddmy.value;
var retdmy=document.inscription.rdmy.value;

var depd=depdmy.substring(0,2);
var depm=depdmy.substring(3,5);
var depy=depdmy.substring(6);
	
var retd=retdmy.substring(0,2);
var retm=retdmy.substring(3,5);
var rety=retdmy.substring(6);
	
if (depd=="" || retd=="" ) 
{ 
	
	var now = new Date();
	
	var m = now.getMonth()+1;
	var d = now.getDate();
	var ann= now.getFullYear();

retd=depd=d;
depm=retm=(m+1);
depy=rety=ann;


if (m >= 1 && m <= 9){m= "0" + m;}
if (d >= 1 && d <= 9){d= "0" + d;}

datenow= d + "/" + m + "/" + ann

document.inscription.ddmy.value = datenow;
document.inscription.rdmy.value = datenow;

}


	

	if (lap == 1){

	nbsemaines(peu,phe,amn,amx);}
else{intervalleTemps(peu,phe,amn,amx);}
	
}


function verifdate()
	{

laDate = new Date();
var msg = "";	
var re = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/;
	//vérification de la periode demandée

var depdmy=document.inscription.ddmy.value;
var retdmy=document.inscription.rdmy.value;

var depd=depdmy.substring(0,2);
var depm=depdmy.substring(3,5);
var depy=depdmy.substring(6);
	
var retd=retdmy.substring(0,2);
var retm=retdmy.substring(3,5);
var rety=retdmy.substring(6);

var intAnnee=rety; var intAnnee2=depy;
var intMois=retm; var intMois2=depm;
var intJour=retd; var intJour2=depd;

var DateControle = new Date(); var DateControle2 = new Date();
DateControle.setYear(intAnnee); DateControle2.setYear(intAnnee2);
DateControle.setMonth(intMois-1); DateControle2.setMonth(intMois2-1);
DateControle.setDate(intJour); DateControle2.setDate(intJour2);


if (document.inscription.dest.value == "0") {msg ="Destination country is missing";}
if (document.inscription.sem.value == "0" || document.inscription.sem.value == "")	{msg = msg + "\n" + "Return date is wrong";}
if (document.inscription.dest.value == document.inscription.lieu.value && document.inscription.dest.value!="0") {msg = msg + "\n" + "Destination country and Home country can't be the same";}
if (!document.inscription.radiobutton[1].checked && !document.inscription.radiobutton[2].checked && !document.inscription.radiobutton[0].checked)
	{msg = msg + "\n" + "Title is missing";} 
if (document.inscription.heart.checked == false){msg = msg + "\n" + "Please read/accept terms to submit form";}
if (document.inscription.name.value == "") {msg = msg + "\n" + "Family Name is missing";}
if (document.inscription.firstname.value == "") {msg = msg + "\n" + "First Name is missing";}
if (document.inscription.extra.value == "") {msg = msg + "\n" + "Date of birth is missing";}
if (document.inscription.lieu.value == "0") {msg = msg + "\n" + "Home country is missing";}

if (document.inscription.adress.value == "") {msg = msg + "\n" + "Adress is missing";}
if (document.inscription.cp.value == "") {msg = msg + "\n" + "Zip code is missing";}
if (document.inscription.ville.value == "") {msg = msg + "\n" + "City is missing";}

if(!re.test(document.inscription.email.value)){ msg = msg + "\n" + "your email is wrong";}
	
	
	//verification de la date de naissance
		if( (document.inscription.byy.value > (laDate.getFullYear()-6)) && ((document.inscription.byy.value == (laDate.getFullYear()-6)) && (document.inscription.bmm.value > (laDate.getMonth()+1))) && ((document.inscription.byy.value == (laDate.getFullYear()-6)) && (document.inscription.bmm.value == (laDate.getMonth()+1)) && (document.inscription.bdd.value > laDate.getDate())))
		{msg = msg + "\n" + "We are sorry we cannot accept your subscription. With this type of plan we cannot insure people under 6.";};
		
	
	if (msg > "") {alert (msg); return false;}
return true;
}


 function verif()
{

var depdmy=document.inscription.ddmy.value;
var retdmy=document.inscription.rdmy.value;

var depd=depdmy.substring(0,2);
var depm=depdmy.substring(3,5);
var depy=depdmy.substring(6);
	
var retd=retdmy.substring(0,2);
var retm=retdmy.substring(3,5);
var rety=retdmy.substring(6);

dep=(depy*10000)+(depm*100)+depd;
ret=(rety*10000)+(retm*100)+retd;

/*
if(dep<no){
alert ("Erreur : Date départ inférieure à Date d'aujorud'hui");

}

if(ret<dep){
alert ("Erreur : Date retour inférieure à Date départ");

}*/
}
														




function vprix(peu,phe,nb,amn,amx)
{

if( (document.inscription.dest.value==10 ||document.inscription.dest.value==93 || document.inscription.dest.value==8||document.inscription.dest.value==97||document.inscription.dest.value==1||document.inscription.dest.value==39||document.inscription.dest.value==19||document.inscription.dest.value==34||document.inscription.dest.value==29||document.inscription.dest.value==28||document.inscription.dest.value==13||document.inscription.dest.value==41||document.inscription.dest.value==45||document.inscription.dest.value==33||document.inscription.dest.value==51||document.inscription.dest.value==61||document.inscription.dest.value==64||document.inscription.dest.value==65||document.inscription.dest.value==88||document.inscription.dest.value==90||document.inscription.dest.value==99||document.inscription.dest.value==126||document.inscription.dest.value==100||document.inscription.dest.value==113||document.inscription.dest.value==79||document.inscription.dest.value==75||document.inscription.dest.value==103||document.inscription.dest.value==125) 
	&& (document.inscription.lieu.value==10 ||document.inscription.lieu.value==93 || document.inscription.lieu.value==8||document.inscription.lieu.value==97||document.inscription.lieu.value==1||document.inscription.lieu.value==39||document.inscription.lieu.value==19||document.inscription.lieu.value==34||document.inscription.lieu.value==29||document.inscription.lieu.value==28||document.inscription.lieu.value==13||document.inscription.lieu.value==41||document.inscription.lieu.value==45||document.inscription.lieu.value==33||document.inscription.lieu.value==51||document.inscription.lieu.value==61||document.inscription.lieu.value==64||document.inscription.lieu.value==65||document.inscription.lieu.value==88||document.inscription.lieu.value==90||document.inscription.lieu.value==99||document.inscription.lieu.value==126||document.inscription.lieu.value==100||document.inscription.lieu.value==113||document.inscription.lieu.value==79||document.inscription.lieu.value==75||document.inscription.lieu.value==103||document.inscription.lieu.value==125))
	{ prix=peu;}else{ prix=phe;}

if(nb>=0){
		document.inscription.sem.value=nb;
		document.inscription.total.value=(nb*prix).toFixed(2);
		age(amn,amx);
		if (document.inscription.rg.value !=0 ){chgrg();}
		if (document.inscription.bg.value !=0){ chgbg();}
	}

}

/////////////////////////////////////////////////////////////////////////////////////////

// calcule le nombre de jours entre date1 et une date dont l'année est celle
// de date2 et le mois, le mois précédent celui de date2;
// si mois2 = "janvier", on prend l'année précédente et le mois de "décembre"
function diffJours(date1, date2) {

var nbJourMois;
   
  if (date2.getMonth() == 0)
    {
	 nbJourMois=NbJourParMois(11, date2.getFullYear() - 1);

	  if( nbJourMois >= date1.getDate())
		  {var temp = new Date(date2.getFullYear() - 1, 11, date1.getDate());}
	  else
		  { var temp = new Date(date2.getFullYear() - 1, 11, nbJourMois);}
	 }
  else
	 {
	  nbJourMois=NbJourParMois(date2.getMonth() - 1, date2.getFullYear());

	if( nbJourMois >= date1.getDate())
		  {var temp = new Date(date2.getFullYear(), date2.getMonth() - 1, date1.getDate());}
	  else
		  { var temp = new Date(date2.getFullYear(), date2.getMonth() - 1, nbJourMois);}
	 }

  return Math.floor((date2.getTime() - temp.getTime()) / 1000 / 60 / 60 / 24);
}


function NbJourParMois(iMonth, iYear)
{return 32 - new Date(date.getFullYear(), iMonth, 32).getDate();}

///////////////////Prix au mois////////////////////////////////////////////////////////////

function intervalleTemps(peu,phe,amn,amx) {

verif();

var depdmy=document.inscription.ddmy.value;
var retdmy=document.inscription.rdmy.value;

var depd=depdmy.substring(0,2);
var depm=depdmy.substring(3,5);
var depy=depdmy.substring(6);
	
var retd=retdmy.substring(0,2);
var retm=retdmy.substring(3,5);
var rety=retdmy.substring(6);

EcrireCookie("ddmy", depdmy, date);
EcrireCookie("rdmy", retdmy, date);		
		
DateDebut = new Date(depy,depm-1,depd,0,0,0,0);
DateFin = new Date(rety,retm-1,retd,0,0,0,0);

NbMs = nbmois(DateDebut,DateFin);
NbMs = freeDay(DateDebut,DateFin,NbMs);

vprix(peu,phe,NbMs,amn,amx);
} 


function nbmois(day1,day2){

var d1;

	var d1= day1,d2= day2;
	if(day1<day2){
		d1= day2;
		d2= day1;
	}

	var m= (d1.getFullYear()-d2.getFullYear())*12+(d1.getMonth()-d2.getMonth());
	if(d1.getDate()<d2.getDate()) {--m;}
	m +=1 ;

	return m;
}



function freeDay(day1,day2,mois) {
    var months;
	var d1= day1,d2= day2;
	var diff = (d1.getDate()-d2.getDate());


	if (diff == -1 || diff == 0 ){mois -= 1;}
	
	if (diff > 0 )
		{
		jours = diffJours(day1,day2);
		if (jours == 1 ){mois -= 1;}
		}

    return mois;
}
 





///////////////////Prix a la semaine////////////////////////////////////////////////////////////

function nbsemaines(peu,phe,amn,amx)
{

verif();
										
	
var depdmy=document.inscription.ddmy.value;
var depd=depdmy.substring(0,2);
var depm=depdmy.substring(3,5);
var depy=depdmy.substring(6);

var retdmy=document.inscription.rdmy.value;
var retd=retdmy.substring(0,2);
var retm=retdmy.substring(3,5);
var rety=retdmy.substring(6);


EcrireCookie("ddmy", depdmy, date);
EcrireCookie("rdmy", retdmy, date);
				


depart = new Date(depy,depm-1,depd,0,0,0,0);
retour = new Date(rety,retm-1,retd,0,0,0,0);

//alert ("depy,depm,depd - depart");
//alert (rety +"," + retm +","+ retd +"-"+ retour);

	difference = retour.getTime()-depart.getTime();
	nbjour = Math.floor(difference/(1000*60*60*24));

	//alert (nbjour);
	nbsem = Math.floor(nbjour/7);
	if((nbjour%7)>=2){nbsem+=1;} //nombre de jour gratuit -> 2
	vprix(peu,phe,nbsem,amn,amx);
}



function age(amn,amx)
{

dob=(document.inscription.byy.value*10000)+((document.inscription.bmm.value-1)*100)+(Math.round(document.inscription.bdd.value));
extra=0;

t1=(10000*amx);
t2=(10000*amn);

if( (dob <= (no-t1)) && (document.inscription.sem.value != 0) && (dob > 190101) )	
	{extra=(Number(document.inscription.total.value)/2); }

if( (dob >= (no-t2)) && (document.inscription.sem.value != 0) && (dob > 190101) )	
	{extra=(Number(document.inscription.total.value)/2); }

document.inscription.extra.value=extra.toFixed(2);
totalfin=Number(document.inscription.extra.value)+Number(document.inscription.total.value);
document.inscription.tot.value=totalfin.toFixed(2);
}



