/*
	Created By TravelChaCha
			   Junior Programmer
			   Culture Holidays Pvt (I) Ltd
	Script to create date according to current date and 
	to change date according to cehck in date and 
	change in feb month days due to effect of leap year
	
				
*/

// function to return days in a month according to month number
// 1 is equal to jan and 12 is equal to december
function dayInMonth(monthNumber,year){
	if(monthNumber==1 || monthNumber==3||monthNumber==5||monthNumber==7||monthNumber==8||monthNumber==10||monthNumber==12)
		return 31;
	if(monthNumber==4 || monthNumber==6||monthNumber==9||monthNumber==11)
		return 30;
	if(monthNumber==2)
		return dayInFeb(year);
}
//return num of days in feb
function dayInFeb(year){
	if(isLeap(year))
	return 29;
	else
	return 28;
}
// function to check year is leap or not
function isLeap(year){	
	if ( ( (year%4==0)&&(year%100 != 0) ) || (year%400==0) ) { 
		return true;
	} else {
		return false;
	}
}
function addDays(ddFieldID,mmFieldID,yyFieldID){
	var myDay=document.getElementById(ddFieldID);
	var myYear=document.getElementById(yyFieldID);
	var myMonth=document.getElementById(mmFieldID);
	year=myYear.value;
	month=myMonth.value;
	while(myDay.length)
		myDay.options[0]=null;
	for (i=1;i<=dayInMonth(month,year);i++){
		myDay.options[myDay.options.length]=new Option(i, i);
	}
}
function initValues(){
	addDays('checkInDD','checkInMM','checkInYYYY');
	addDays('checkOutDD','checkOutMM','checkOutYYYY');
	getCurrentDate('checkInDD','checkInMM','checkInYYYY');
	changeCheckOut('checkInDD','checkInMM','checkInYYYY','checkOutDD','checkOutMM','checkOutYYYY');
}
// changing value of check out date according to check in date
function changeCheckOut(iDD,iMM,iYY,oDD,oMM,oYY){
	var inMM=document.getElementById(iMM);
	var inDD=document.getElementById(iDD);
	var inYY=document.getElementById(iYY);
	var outMM=document.getElementById(oMM);
	var outDD=document.getElementById(oDD);
	var outYY=document.getElementById(oYY);
	day=inDD.value;
	month=inMM.value-1;
	year=inYY.value;
	// if not last day in month
	if(!inDD.value==inDD.length){
		day++;
	}
	// if last day in month
	if(inDD.value==inDD.length){
		day=0;
		month++;
	}
	// if last year
	if(month==12){
		month=0;
		year++;
	}
	outDD.options[day].selected=true;
	outMM.options[month].selected=true;
	// selecting year
	for(i=0;i<=outYY.options.length;i++){
			if(outYY.options[i].value==year){
				outYY.options[i].selected=true;
				break;
			}
	}
}
// inserting current date
function getCurrentDate(ddID,mmID,yyID){
	var myDD=document.getElementById(ddID);
	var myMM=document.getElementById(mmID);
	var myYY=document.getElementById(yyID);
	dd=myDate.getDate();
	mm=myDate.getMonth();
	yy=myDate.getFullYear();
	myDD.options[dd-1].selected=true;
	myMM.options[mm].selected=true;
	for(i=0;i<=myYY.options.length;i++){
			if(myYY.options[i].value==yy){
				myYY.options[i].selected=true;
				break;
			}
		}
}
	//update year when user change year from check in dates
	// also update days is month selected is feb and year is leap year
	function updateYear(year,iDD,iMM,iYY,oDD,oMM,oYY){
		var yyyy = document.getElementById(oYY);
		var inMonth=document.getElementById(iMM);
		var outMonth=document.getElementById(oMM);
		for(i=0;i<=yyyy.options.length;i++){
			if(yyyy.options[i]){
				if(yyyy.options[i].value==year){
					yyyy.options[i].selected=true;
					break;
				}
			}
		}
		if(inMonth.value==2){
			addDays('checkInDD','checkInMM','checkInYYYY');
		}
		if(outMonth.value==2){
			addDays('checkOutDD','checkOutMM','checkOutYYYY');
		}
	}
	// update check out month when user change check in month
	function updateMonth(iDD,iMM,iYY,oDD,oMM,oYY){
		var inMM=document.getElementById(iMM);
		var outMM=document.getElementById(oMM);
			outMM.options[inMM.selectedIndex].selected=true;
			addDays('checkOutDD','checkOutMM','checkOutYYYY');
			changeCheckOut('checkInDD','checkInMM','checkInYYYY','checkOutDD','checkOutMM','checkOutYYYY');
	}

function createDate(dateFieldDD,dateFieldMM,dateFieldYY){
			var dd = document.getElementById(dateFieldDD);
			var mm = document.getElementById(dateFieldMM);
			var yyyy = document.getElementById(dateFieldYY);
			
		return yyyy.value+"-"+mm.value+"-"+dd.value;
		
	}