
Date.prototype.getMonthName = function() {
   return ['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec'][this.getMonth()];
}

Date.prototype.daysInMonth = function () {
   return new Date(this.getFullYear(), this.getMonth()+1, 0).getDate();
}

var today = new Date();
var tomorrow = new Date();
tomorrow.setTime(today.getTime() + 24*1000*60*60);

///////
//pw cal.js vars
if ( typeof(showCal) !== 'undefined' && showCal === true ) {
	calendar = new Object();
	cv = new Object();
	cv.nextMonth = "Next month";
	cv.prevMonth = "Previous month";
	cv.closeCalendar = "Close";
	cv.iconpath = "http://bookassist.com/scripts/calendar/";
}
var months = ['January','February','March','April','May','June','July','August','September','October','November','December'];
var days = ['Mon','Tue','Wed','Thu','Fri','Sat','Sun'];
var days_long = ['Mon','Tue','Wed','Thu','Fri','Sat','Sun'];
//var months_ahead = 12;
///////

var paremetersToPickUp = new Array('hotel_id', 'adults', 'months_ahead');

if(title == undefined) {
	var title = "Book a table";
}

if(locationTitle == undefined) {
	var locationTitle="Choose location or hotel";
}

var mag = '';
if(showmag == undefined) {
	var showmag = false;
} else {
	if(showmag == true) {
		mag = '';
	}
}
if(form_action == undefined){
	var form_action = 'http://www.bookassist.com/conduit/result3i_zone.jsp';
}

if(form_method == undefined){
	var form_method = 'GET';
}


if(horizontal == undefined) {
	var horizontal = false;
}

if(showCovers == undefined) {
	var showCovers = false;
}

if(button_text == undefined) {
	var button_text="find";
}

if(action == undefined) {
	var action = "";
}

if(use_cross_site_tracking == undefined) {
	var use_cross_site_tracking = false;
}


if ( typeof(showCal) !== 'undefined' && showCal === true ) {
	document.write('<scri'+'pt type="text/javascript" src="/_sites/kirkhouse/js/calendarPopUp.js"></scr'+'ipt>');
}

document.write('<div id="reservation_form">');
document.write('<form name="DatesForm" id="DatesForm" method="' + form_method + '" action="' + form_action + '"');
if ( typeof(target) === 'string' ) {
	document.write('" target="' + target + '"');
}
if(use_cross_site_tracking) {
	document.write(' onsubmit="pageTracker._linkByPost(this)"');
}
document.write('>');

 // draw form contents
	document.write('		<span class="search_title">'+title+'</span>');
	document.write('  		<label class="arrival">Date:</label>');

	document.write(getDaySelect('inday', today, true));
	document.write(getMonthSelect('inmonthyear', today, true, 'inday'));
	if ( typeof(showCal) !== 'undefined' && showCal === true ) {
		document.write('<a onclick="popCal(this, \'calendar\', \'in\');" class="callink"><img src="/_sites/kirkhouse/img/cal.gif" width="16" height="18" id="arr_cal_icon" alt="calendar" title="Open calendar" /></a>');
	}

	if(showCovers) {
		document.write('  			<label class="covers" >Seats:</label>');
		document.write( getCoverSelect());
	}
	document.write('	<input class="date_input" value="'+button_text+'" type="submit" >');
	
	//end form contents

	//var variablesToPickUpAndPass = getVariablesToPickUpAndPass();
	//alert('variablesToPickUpAndPass: ' + variablesToPickUpAndPass);
	var iPut = '';
	if(user_language == undefined) { var user_language="";};
	if(user_language != '') {
		iPut = iPut + '<input name="user_language" type="hidden" value="' + user_language + '">';
	}
	if(action != '') {
		iPut = iPut + '<input name="action" type="hidden" value="' + action + '">';
	}

	if(r == undefined) { var r="";}
	if(r != '') {
		iPut = iPut + '<input name="r" type="hidden" value="' + r + '">';
	}
	if(ch == undefined) { var ch="";}
	if(ch != '') {
		iPut = iPut + '<input name="ch" type="hidden" value="' + ch + '">';
	}
	
	if(hotel_id == undefined) { var hotel_id="";}
	if(hotel_id != '' && hotel_group=='') {
		iPut = iPut + '<input name="hotel_id" type="hidden" value="' + hotel_id + '">';
	}
	if(bb == undefined) { var bb="";}
	if(bb != '') {
		iPut = iPut + '<input name="bb" type="hidden" value="' + bb + '">';
	}
	//if(cv == undefined) { var cv="";}
	//if(cv != '') {
	//	iPut = iPut + '<input name="cv" type="hidden" value="' + cv + '">';
	//}
	if(cb == undefined) { var cb="";}
	if(cb != '') {
		iPut = iPut + '<input name="cb" type="hidden" value="' + cb + '">';
	}
	if(dw == undefined) { var dw="";}
	if(dw != '') {
		iPut = iPut + '<input name="dw" type="hidden" value="' + dw + '">';
	}
	if(adults == undefined) { var adults="";}
	if(adults != '') {
		iPut = iPut + '<input name="adults" type="hidden" value="' + adults + '">';
	}
	if(months_ahead == undefined) { var months_ahead="";};
	if(months_ahead != '') {
		iPut = iPut + '<input name="months_ahead" type="hidden" value="' + months_ahead + '">';
	}
	if(extraParams == undefined) {var extraParams={};};
    for (property in extraParams) {
		if(extraParams.hasOwnProperty(property)){
			iPut = iPut + '<input name="'+ property +'" type="hidden" value="' + extraParams[property] + '">';
  		}
    }


	document.write(iPut);

document.write('</form>');
document.write('</div>');

document.write('<div id="calendar" class="nav"></div>');

function setDayMonth(year,month,day,type) {
	setMonth(year, month, type);
	setDay(type + 'monthyear', type + 'day', day);
	if ( type == "in" ) setOutDayMonth();
}

function setOutDayMonth() {
	var inYearMonthSelected = document.getElementById("inmonthyear").options[document.getElementById("inmonthyear").selectedIndex].value.split("-");
	var inDaySelected = document.getElementById("inday").options[document.getElementById("inday").selectedIndex].value;
	var outYearMonthSelected = document.getElementById("outmonthyear").options[document.getElementById("outmonthyear").selectedIndex].value.split("-");
	var outDaySelected = document.getElementById("outday").options[document.getElementById("outday").selectedIndex].value;
	var currInDate = new Date(inYearMonthSelected[0], inYearMonthSelected[1] - 1, inDaySelected);
	var currOutDate = new Date(outYearMonthSelected[0], outYearMonthSelected[1] - 1, outDaySelected);
	if ( currOutDate.getTime() < currInDate.getTime() + 1000*60*60*24 ) {
		currOutDate = new Date(currInDate.getTime() + 1000*60*60*24);
		var currOutMonth = (currOutDate.getMonth() < 9 ? "0" : "") + (currOutDate.getMonth() + 1);
		setMonth(currOutDate.getFullYear(), currOutMonth, "out");
		setDay('outmonthyear', 'outday', currOutDate.getDate());
	}
}

function setMonth(year,month,type) {
	var ym = year + "-" + month;
	var s = document.getElementById(type +"monthyear");
	for ( var i=0; i<s.options.length; i++ ) {
		if ( s.options[i].value == ym ) {
			s.selectedIndex = i;
			break;
		}
	}
}

function setDay(monthSelectName, daySelectName, day){
	var daySelect = document.getElementById(daySelectName);
	var selectedDay;
	if ( day != undefined ) {
		selectedDay = day;
	}
	else {
		selectedDay = daySelect.options[daySelect.selectedIndex].value;
	}
	var inYearMonthSelected = document.getElementById(monthSelectName).options[document.getElementById(monthSelectName).selectedIndex].value.split("-");
	daySelect.options.length = 0;
	var calDate = new Date(inYearMonthSelected[0], inYearMonthSelected[1] - 1);
	var hassel = false;
	for( var i=1; i<=calDate.daysInMonth(); i++ ) {
		var issel = i == selectedDay ? true : false;
		hassel = hassel == false ? issel : hassel;
		if ( i == calDate.daysInMonth() && !(hassel) ) {
			issel = true;
		}
		daySelect.options[daySelect.options.length] = new Option(i, i, false, issel);
	}
}

function getMonthSelect(selName, date, showOnChange, daySelectName){
	var monthSelect = '<select class="date_select" id="'+selName+'" name="'+selName+'"';
	if ( showOnChange ) {
		monthSelect = monthSelect +' onChange="setDay(\'' + selName + '\',\'' + daySelectName + '\');setOutDayMonth()"';
	}
	else {
		monthSelect = monthSelect +' onChange="setDay(\'' + selName + '\',\'' + daySelectName + '\')"';
	}
	monthSelect = monthSelect + '>';
	var calDate = new Date(date.getTime());
	calDate.setDate(1);
	for ( var i=1; i<=12; i++ ) {
		monthSelect += '<option value="' + calDate.getFullYear() + '-' + (calDate.getMonth() < 9 ? '0' : '') + (calDate.getMonth() + 1) + '"' + ((date.getFullYear() == calDate.getFullYear() && date.getMonth() == calDate.getMonth()) ? ' selected' : '') + '">' + calDate.getMonthName() + ' ' + calDate.getFullYear() + '</option>';
		calDate.setTime(calDate.getTime() + 1000*60*60*24*calDate.daysInMonth());
	}
	monthSelect = monthSelect + '</select>';
	return monthSelect;
}

function getDaySelect(selName, date, showOnChange){
	var daySelect = '<select class="date_select"  id="'+selName+'" name="'+selName+'" ';
	if ( showOnChange ) {
		daySelect = daySelect + ' onChange="setOutDayMonth()"';
	}
	daySelect = daySelect + '>';
	var calDate = new Date(date.getTime());
	for( var i=1; i<=calDate.daysInMonth(); i++ ) {
		daySelect = daySelect + '<option value="' + i + '"' + (date.getDate() == i ? ' selected' : '') + '>' + i + '</option>';
	}
	daySelect = daySelect + ' </select>';
	return daySelect;
}

function getCoverSelect() {
	var coverSelect = '<select class="date_select" id="ba_covers" name="covers">' +
				'	<option value="1">1</option>' +
				'	<option value="2" selected>2</option>' +
				'	<option value="3">3</option>' +
				'	<option value="4">4</option>' +
				'	<option value="5">5</option>' +
				'	<option value="6">6</option>' +
				'	<option value="7">7</option>' +
				'	<option value="8">8</option>' +
				'	<option value="9">9</option>' +
				'	<option value="10">10</option>' +
				'	<option value="11">11</option>' +
				'	<option value="12">12</option>' +
				'	<option value="13">13</option>' +
				'	<option value="14">14</option>' +
				'	<option value="15">15</option>' +
				'	<option value="16">16</option>' +
				'	<option value="17">17</option>' +
				'	<option value="18">18</option>' +
				'	<option value="19">19</option>' +
				'	<option value="20">20</option>' +
				'</select>';
	return coverSelect;
}

