
function monthname(language,index) {
  	var monthtext_en=['January','February','March','April','May','June','July','August','September','October','November','December'];
	var monthtext_fr=['Janvier','Février','Mars','Avril','Mai','Juin','Juillet','Août','Septembre','Octobre','Novembre','Decembre'];
	var monthtext_nl=['Januari','Februari','Maart','April','Mei','Juni','Juli','Augustus','September','Oktober','November','December'];
  	switch(language){
	case 1:	/* English */
		return monthtext_en[index]; break;
	case 2:	/* French */
		return monthtext_fr[index]; break;
	case 3:	/* Dutch */
		return monthtext_nl[index]; break;
		}
	}

function dayname(language,index) {
  	var daytext_en=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"];
	var daytext_fr=["Dim","Lun","Mar","Mer","Jeu","Ven","Sam"];
	var daytext_nl=["Zo","Ma","Di","Wo","Do","Vr","Za"];
  	switch(language){
	case 1:	/* English */
		return daytext_en[index]; break;
	case 2:	/* French */
		return daytext_fr[index]; break;
	case 3:	/* Dutch */
		return daytext_nl[index]; break;
		}
	}


var daysinmonthlist = [31,28,31,30,31,30,31,31,30,31,30,31];

function isleapyear(year) {
	if(year%400==0||(year%4==0&&year%100!=0)) return true;
	return false;	
	}

function daysofmonth(month,year) {
	if (month==1 && isleapyear(year)) return 29;
	return daysinmonthlist[month];
	}

function getmonthname(language,month){
  	var today= new Date();
	if (month>11)  	
	 	return monthname(language,month-12)+' \'0'+((today.getFullYear()+1)-2000);
	else
	 	return monthname(language,month)+' \'0'+(today.getFullYear()-2000);
	}

function populatedate(language,arrivaldayfield,arrivalmonthfield,departuredayfield,departuremonthfield){
	var today=new Date();
	var tomorrow=new Date();
	var adayselectfield=document.getElementById(arrivaldayfield)
	var amonthselectfield=document.getElementById(arrivalmonthfield)
	var ddayselectfield=document.getElementById(departuredayfield)
	var dmonthselectfield=document.getElementById(departuremonthfield)
	var currentmonth=today.getMonth();
	
	var numbermonths=(12-currentmonth)+12;
	amonthselectfield.options.length=numbermonths;
	for (var i=0; i<numbermonths; i++)
		amonthselectfield.options[i]=new Option(getmonthname(language,i+currentmonth), i+currentmonth+1)
	updatearrivalselect(language,today.getDate(),today.getMonth(),today.getFullYear(),arrivaldayfield,arrivalmonthfield);

	tomorrow.setDate(tomorrow.getDate()+1);
	dmonthselectfield.options.length=numbermonths;
	for (var i=0; i<numbermonths; i++)
		dmonthselectfield.options[i]=new Option(getmonthname(language,i+currentmonth), i+currentmonth+1)
	updatedepartureselect(language,tomorrow.getDate(),tomorrow.getMonth(),tomorrow.getFullYear(),departuredayfield,departuremonthfield);
	}


function update (language,adayfield,amonthfield,ddayfield,dmonthfield){
	var currentdate=new Date();
	var currentday=currentdate.getDate();
	var currentmonth=currentdate.getMonth();
	var currentyear=currentdate.getFullYear();
	var adayselectfield=document.getElementById(adayfield);
	var amonthselectfield=document.getElementById(amonthfield);
	var ddayselectfield=document.getElementById(ddayfield);
	var dmonthselectfield=document.getElementById(dmonthfield);
	var aday=parseInt(adayselectfield.options[adayselectfield.selectedIndex].value);
	var amonth=parseInt(amonthselectfield.options[amonthselectfield.selectedIndex].value);
	var dday=parseInt(ddayselectfield.options[ddayselectfield.selectedIndex].value);
	var dmonth=parseInt(dmonthselectfield.options[dmonthselectfield.selectedIndex].value);
	var ayear;
	var dyear;
	
	/* set correct internal months and years */
	if (amonth>12) {
	  	amonth=amonth-13;
	  	ayear=currentdate.getFullYear()+1;
		}
	else {
	  	amonth=amonth-1;
	  	ayear=currentdate.getFullYear();
		}
	
	if (dmonth>12) {
	  	dmonth=dmonth-13;
	  	dyear=currentdate.getFullYear()+1;
		}
	else {
	  	dmonth=dmonth-1;
	  	dyear=currentdate.getFullYear();
		}

	/* set correct arrival date */
	if ((ayear < currentyear)||((ayear==currentyear)&& (amonth < currentmonth)) ){
		amonth=currentmonth;
		aday=currentday;
		ayear=currentyear;
		}
	else
		if ((amonth==currentmonth) && (aday<currentday))
			aday=currentday;		  

	/* set correct departure date */
	if ( (dyear<ayear)||((dyear==ayear)&&(dmonth<amonth)) ||((dyear==ayear)&&(dmonth==amonth)&&(dday<=aday))) {
		var departuredate=new Date(ayear,amonth,aday);
	 	departuredate.setDate(departuredate.getDate()+1); 
		dday=departuredate.getDate();	
		dmonth=departuredate.getMonth();	
		dyear=departuredate.getFullYear();	
		}


	updatearrivalselect(language,aday,amonth,ayear,adayfield,amonthfield);
	updatedepartureselect(language,dday,dmonth,dyear,ddayfield,dmonthfield);
	}

function getdayname(language,day,month,year){
 	var adate=new Date(year,month,day);
	return (dayname(language,adate.getDay())+'  '+day);
	}

function updatearrivalselect(language,day,month,year,dayfield,monthfield){
 	var currentdate=new Date();
	var currentday=currentdate.getDate();
	var currentmonth=currentdate.getMonth();
	var currentyear=currentdate.getFullYear();
	var dayselectfield=document.getElementById(dayfield);
	var monthselectfield=document.getElementById(monthfield);
	currentdayname=getdayname(language,day,month,year);
	if ((year==currentyear) && (month==currentmonth)) {
 		dayselectfield.options.length=daysofmonth(month,year)-currentday+1;
		for (var i=currentday; i<=daysofmonth(month,year); i++){
			dayselectfield.options[i-currentday]=new Option(getdayname(language,i,month,year),i)
			}
		dayselectfield.options[day-currentday]=new Option(currentdayname,day,true,true); 	  	
		}
 	else {
		dayselectfield.options.length=daysofmonth(month,year);
		for (var j=1;j<=daysofmonth(month,year); j++)
			dayselectfield.options[j-1]=new Option(getdayname(language,j,month,year),j)
		dayselectfield.options[day-1]=new Option(currentdayname,day,true,true); 	  	
		}
	if (year>currentyear) 
		month=month+13;
	else
		month=month+1;
	var monthindex=month-currentmonth-1;
	var name=monthselectfield.options[monthindex].text;
	monthselectfield.options[monthindex]=new Option(name,month,true,true); 	  	
	}

function updatedepartureselect(language,day,month,year,dayfield,monthfield){
 	var currentdate=new Date();
	var currentday=currentdate.getDate();
	var currentmonth=currentdate.getMonth();
	var currentyear=currentdate.getFullYear();
	var dayselectfield=document.getElementById(dayfield);
	var monthselectfield=document.getElementById(monthfield);
	currentdayname=getdayname(language,day,month,year);
	if ((year==currentyear) && (month==currentmonth)) {
 		dayselectfield.options.length=daysofmonth(month,year)-currentday-1;
		for (var i=currentday+1; i<=daysofmonth(month,year); i++){
			dayselectfield.options[i-currentday-1]=new Option(getdayname(language,i,month,year),i)
			}
		dayselectfield.options[day-currentday-1]=new Option(currentdayname,day,true,true); 	  	
		}
 	else {
		dayselectfield.options.length=daysofmonth(month,year);
		for (var j=1;j<=daysofmonth(month,year); j++)
			dayselectfield.options[j-1]=new Option(getdayname(language,j,month,year),j)
		dayselectfield.options[day-1]=new Option(currentdayname,day,true,true); 	  	
		}
	if (year>currentyear) 
		month=month+13;
	else
		month=month+1;
	var monthindex=month-currentmonth-1;
	var name=monthselectfield.options[monthindex].text;
	monthselectfield.options[monthindex]=new Option(name,month,true,true); 	  	
	}

function datetostring(adate) {
	if (Number(adate.getMonth())<=9) 
		if (Number(adate.getDate())<=9) 
			return adate.getFullYear()+"-0"+adate.getMonth()+"-0"+adate.getDate()
		else
			return adate.getFullYear()+"-0"+adate.getMonth()+"-"+adate.getDate()
	else
		if (Number(adate.getDate())<=9) 
			return adate.getFullYear()+"-"+adate.getMonth()+"-0"+adate.getDate()
		else
			return adate.getFullYear()+"-"+adate.getMonth()+"-"+adate.getDate()
	}
		

