var date_arr = new Array;
var days_arr = new Array;
var week_arr = new Array;

date_arr[0]="Jan";
date_arr[1]="Feb";
date_arr[2]="Mar";
date_arr[3]="Apr";
date_arr[4]="May";
date_arr[5]="Jun";
date_arr[6]="Jul";
date_arr[7]="Aug";
date_arr[8]="Sep";
date_arr[9]="Oct";
date_arr[10]="Nov";
date_arr[11]="Dec";

days_arr[0]=31;
days_arr[1]=28;
days_arr[2]=31;
days_arr[3]=30;
days_arr[4]=31;
days_arr[5]=30;
days_arr[6]=31;
days_arr[7]=30;
days_arr[8]=30;
days_arr[9]=31;
days_arr[10]=30;
days_arr[11]=31;

week_arr[0]="Sunday";
week_arr[1]="Monday";
week_arr[2]="Tuesday";
week_arr[3]="Wednesday";
week_arr[4]="Thursday";
week_arr[5]="Friday";
week_arr[6]="Saturday";


function update_days(formName, instance) {
	days = eval("document."+formName+".daysfrom");
	month = eval("document."+formName+".monthfrom");
	
	//get the current index
	originalIndex = days.selectedIndex;
	//clear the days drop down
	for (x=days.length;x>0;x--) {
		days.options[x]=null;
	}
	//repopulate with appropriate amount for given month
	monthPart = parseFloat(month.value.substr(0,2));
	yearPart = parseFloat(month.value.substr(2,4));
	//alert(month.value);
	for (x=1;x <= days_arr[monthPart];x++) {
		days.options[x-1]=new Option(x,x);
	}

	if (((yearPart%4)==0) && (month.selectedIndex==1)) {
		days.options[days.length]=new Option((days.length+1),(days.length+1));
	}

	if ((originalIndex == -1)||(originalIndex>days.length)||(originalIndex==null)) {
		days.options[0].selected=true;
	} else {
		days.options[originalIndex].selected=true;
	}


	//update the to date

	daysTo = eval("document."+formName+".daysto");
	monthTo = eval("document."+formName+".monthto");
	newDate = "";
	monthToValue = monthTo.value;
	daysToValue = daysTo.value;
	//remove all the month options
	for (x=monthTo.length;x>=0;x--) {
		monthTo.options[x]=null;
	}

	if ((parseFloat(days.value)+1)>days_arr[monthPart]) {
		//increment the month

		if (monthPart==11) {
			//increment the year as well
			newDate = "00"+(yearPart+1);
		} else {
			newDate = pad(monthPart+1)+""+yearPart;
			
		}
		//daysTo.options[0].selected = true;
	} else {
		//daysTo.options[(days.selectedIndex+1)].selected = true;
		newDate = ""+pad(monthPart)+""+yearPart;
		
	}
	//alert(monthPart);

	//add two month options
	newDateMonth = newDate.substr(0,2);
	newDateYear = newDate.substr(2,4);

	monthTo.options[0]=new Option(date_arr[parseFloat(newDateMonth)]+" "+(""+newDateYear).substr(2,2), newDate);
	if (days.value!=days_arr[parseFloat(month.value.substr(0,2))]) {
		newDateMonth = parseFloat(newDateMonth);
		if (newDateMonth==11) {
			newDateMonth = 0;
		} else {
			newDateMonth = newDateMonth+1;
		}
		monthTo.options[1]=new Option(date_arr[(parseFloat(newDateMonth))]+" "+(""+newDateYear).substr(2,2), ""+pad(parseFloat(newDateMonth))+""+newDateYear);
		
	}

	//need to set this to the correct month
	for (x=monthTo.length;x>0;x--) {
		if (monthTo.options[x-1].value==monthToValue) {
			monthTo.options[x-1].selected = true;
		}
	}

	//clear the days to drop down
	for (x=daysTo.length;x>0;x--) {
		daysTo.options[x]=null;
	}
	//repopulate with appropriate amount for given month
	monthToPart = parseFloat(monthTo.value.substr(0,2));
	yearToPart = parseFloat(monthTo.value.substr(2,4));
	index = 0;
	for (x=1;x <= days_arr[monthToPart];x++) {
		if (((monthPart==monthToPart)&&(x>days.value)) || ((monthPart!=monthToPart)&&(x<days.value))) {
			daysTo.options[index]=new Option(x,x);
			index++;
		}
	}	
	//need to set this to the correct day
	for (x=daysTo.length;x>0;x--) {
		if (daysTo.options[x-1].value==daysToValue) {
			daysTo.options[x-1].selected = true;
		}
	}	
	
	startDate = new Date();
	startDate.setDate(days.value);
	startDate.setMonth(month.value.substr(0,2));
	startDate.setFullYear(month.value.substr(2,4));
	endDate = new Date();
	endDate.setDate(daysTo.value);
	endDate.setMonth(monthTo.value.substring(0,2));
	endDate.setFullYear(newDateYear);
	//alert(startDate+"|"+endDate);
	daysDifference = document.getElementById("days");
	
	toDay = document.getElementById("toDay");
	fromDay = document.getElementById("fromDay");
	if (Math.ceil((endDate.getTime()-startDate.getTime())/1000/60/60/24)>1) {
		daysDifference.innerHTML = Math.ceil((endDate.getTime()-startDate.getTime())/1000/60/60/24)+" Nights";
	} else {
		daysDifference.innerHTML = Math.ceil((endDate.getTime()-startDate.getTime())/1000/60/60/24)+" Night";
	}
	nights = eval("document."+formName+".nights");
	nights.value = Math.ceil((endDate.getTime()-startDate.getTime())/1000/60/60/24);
	toDay.innerHTML = week_arr[endDate.getDay()].substr(0,3);
	fromDay.innerHTML= week_arr[startDate.getDay()].substr(0,3);

}


function pad(value) {
	if (parseInt(value)<10) {
		return "0"+value;
	} else {
		return value;
	}
}

function createDateDropdown(formName, instance) {

	document.writeln("</SELECT><SELECT class=\"blend\" name=\"days" + instance + "\" onchange=\"update_days('" + formName+ "','" + instance + "')\">");
	for(x=1;x<32;x++) {
		document.writeln("<OPTION value=\""+x+"\">"+x);
	}
	document.writeln("</SELECT>");

	document.writeln("<SELECT class=\"blend\" name=\"month" + instance + "\" onchange=\"update_days('" + formName+ "','" + instance+ "')\">")

	var d = new Date();
	
	var currentYear = (d.getFullYear());
	var currentMonth = (d.getMonth());
	for(i=0;i<12;i++) {
		document.writeln("<OPTION value=\""+pad(currentMonth)+currentYear+"\">"+date_arr[currentMonth]+" " + (""+currentYear).substr(2,2) + "</option>");
		currentMonth = currentMonth + 1;
		if (currentMonth>11) {
			currentMonth = 0;
			currentYear = currentYear + 1;
		}
	}
	document.writeln("</SELECT>");

	set_date(formName, instance);
}

function set_date(formName, instance) {
	var e = new Date();
	day = (e.getDate());
	month = (e.getMonth()+e.getFullYear());

	days = eval("document."+formName+".days"+instance);
	months = eval("document."+formName+".month"+instance);

	days.options[(day-1)].selected=true;
	for (x=0;x<months.length;x++) {
		if (months.options[x].value == month) {
			months.options[x].selected=true;
		}
	}

}
function quickReservation() {

	var form = document.quickReservations;

	var sday = form.daysfrom.value;
	var smonth = parseFloat(form.monthfrom.value.substr(0,2))+1;
	var syear = form.monthfrom.value.substr(2,4);

	var eday = form.daysto.value;
	var emonth = parseFloat(form.monthto.value.substr(0,2))+1;
	var eyear = form.monthto.value.substr(2,4);

	var adults = form.adults.options[form.adults.selectedIndex].value;
	var rooms = form.rooms.options[form.rooms.selectedIndex].value;
	var nights = form.nights.value;
	var url = form.url.value;
	
	url = url.replace("|sday|",sday);
	url = url.replace("|smonth|",smonth);
	url = url.replace("|syear|",syear);
	url = url.replace("|eday|",eday);
	url = url.replace("|emonth|",emonth);
	url = url.replace("|eyear|",eyear);	
	url = url.replace("|adults|",adults);
	url = url.replace("|rooms|",rooms);
	url = url.replace("|nights|",nights);
	
	window.open(url);
}
/*old
function quickReservation(provider) {
	
	var form = document.quickReservations;
	var brand = form.brand.value;
	var day = form.daysfrom.value;
	var month = parseFloat(form.monthfrom.value.substr(0,2))+1;
	var year = form.monthfrom.value.substr(2,4);
	var adults = form.adults.options[form.adults.selectedIndex].value;
	var rooms = form.rooms.options[form.rooms.selectedIndex].value;
	var hotel = form.hotel.value;
	var nights = form.nights.value;
	var url = "";

	if (provider=="ihg") {
		url = "http://www.jdoqocy.com/click-2845196-10485533?cm_mmc=CJ-_-2289465-_-2845196-_-xmldl&url=http://www.ichotelsgroup.com/redirect?brandCode="+brand+"&path=asearch&rateTypeCodes=6CBARC&checkInDate="+day+"&checkInMonth="+month+"&checkInYear="+year+"&numberOfNights="+nights+"&numberOfAdults="+adults+"&numberOfRooms="+rooms+"&hotelCode="+hotel+"&_IATAno=99613032";
	}
	if (provider=="choice") {
		url = "http://www.choicehotels.com/ires/en-US/html/Availability?sid=&srp=RACK&count=1&gpid=&createarrivalcookie=yes&month="+month+"&day="+day+"&los="+nights+"&nadult="+adults+"&nchild=0&hotel="+hotel+"&clientid=SKqvExZqtuew";
	}
	if (url!="") {
		document.location = url;
	}
}
*/
