// JavaScript Document
//var thisDate = 1;
var wordMonth = new Array("january", "february", "march", "april", "may", "june", "july", "august", "september", "october", "november", "december");
var today = new Date();
var todaysDay = today.getDay() + 1;
var todaysDate = today.getDate();
var todaysMonth = today.getUTCMonth() +1;
var todaysYear = today.getFullYear();


var tFirstDate = new Date(String(todaysMonth + 1) + "/0/" + String(todaysYear));
var	tLastDate = new Date(String(todaysMonth+1) + "/0/" + String(todaysYear));
var	tNumDays = tLastDate.getDate();
var	tFirstDay = tFirstDate.getDay() + 1;

var isVisible = 0;

var arrivalDate = {name:'arrival', divId:'arCalendar', aId:'arCalLink', monthNum:todaysMonth, yearNum:todaysYear, firstDate:tFirstDate, lastDate:tLastDate, numDays:tNumDays, firstDay:tFirstDay};
var departureDate = {name:'departure', divId:'dpCalendar', aId:'dpCalLink', monthNum:todaysMonth, yearNum:todaysYear, firstDate:tFirstDate, lastDate:tLastDate, numDays:tNumDays, firstDay:tFirstDay};
                                                               
function initializeCalendars() {
var arDiv = document.getElementById(arrivalDate.divId);
var dpDiv = document.getElementById(departureDate.divId);
arDiv.style.visibility = 'hidden';
dpDiv.style.visibility = 'hidden';
}

function changeMonth(direction, loc) {
	var dateField = getDateField(loc);
	if(direction == "prev") {
		if(dateField.monthNum != todaysMonth) {
		dateField.monthNum--;
		}
	}
	else if(direction == "next")
		dateField.monthNum++;
	else if(direction == "return") {
		dateField.monthNum = todaysMonth;
		dateField.yearNum = todaysYear;
	}
	if(dateField.monthNum == 0) {
		dateField.monthNum = 12;
		dateField.yearNum--;
	}
	else if(dateField.monthNum == 13) {
		dateField.monthNum = 1;
		dateField.yearNum++;
	}
	dateField.lastDate = new Date(String(dateField.monthNum+1) + "/0/" + String(dateField.yearNum));
	dateField.numDays = dateField.lastDate.getDate();
	dateField.firstDate = new Date(String(dateField.monthNum) + "/1/" + String(dateField.yearNum));
	dateField.firstDay = dateField.firstDate.getDay() + 1;
	createCalendar(dateField);
	return;
}

function createCalendar(dateField) {
	var monthNum = dateField.monthNum;
	var yearNum = dateField.yearNum;
	var numDays = dateField.numDays;
	var firstDay = dateField.firstDay;
	var divId = dateField.divId;
	var thisDate = 1;
	var writeCalendar = '';
	writeCalendar += '<a class="calControl" onmouseover="window.status=\'Previous Month\';return true" onmouseout="window.status=\'\';return true" href="javascript:changeMonth(\'prev\',\'' + divId + '\')">3</a>';
	writeCalendar += '<a class="calControl" href="javascript:changeMonth(\'return\',\'' + divId + '\')">=</a>';
	writeCalendar += '<a class="calControl" onmouseover="window.status=\'Next Month\';return true" onmouseout="window.status=\'\';return true;" href="javascript:changeMonth(\'next\',\'' + divId + '\')">4</a>';
	writeCalendar += '<span class="monthShow">';
	writeCalendar += wordMonth[monthNum-1] + '&nbsp;&nbsp;';
	writeCalendar += yearNum;
	writeCalendar += '</span><br style="clear:both" />';
	writeCalendar += '<span class="calDay">M</span><span class="calDay">T</span><span class="calDay">W</span><span class="calDay">Th</span><span class="calDay">F</span><span class="calDay">S</span><span class="calDay">S</span>';
		   
		   
			for (var i = 1; i <= 42; i++) {
			if ((i==1)|| (i==8)|| (i==15)|| (i==22)|| (i==29)|| (i==36)) 
				writeCalendar +=  '<br style="clear:both" />';
			if ((thisDate <= numDays) && (i >= (firstDay-1))) {
				if ((thisDate == todaysDate) && (todaysMonth == monthNum) && (todaysYear == yearNum)) {
					 
						writeCalendar += '<a class="calDateToday" href="javascript:setDate(' + thisDate + ',' + monthNum + ',' + yearNum + ',\'' + divId + '\')">' + thisDate + '</a>';
				}
				
				else 
					writeCalendar += '<a class="calDate" href="javascript:setDate(' + thisDate + ',' + monthNum + ',' + yearNum + ',\'' + divId  +'\')">' + thisDate + '</a>';
				thisDate++;
			}
			else writeCalendar += '<span class="calEmpty">&nbsp;</span>';
	}
	var object=document.getElementById(divId);
	object.innerHTML= writeCalendar;
	thisDate = 1;
	}
	

function setDate(dayVal,monthVal,yearVal, divId) {
		//loc = 'ar';
		//document.forms.dateInput.arDayVal.value = dayVal;
		//document.forms.dateInput.arMonthVal.value = monthVal;
		//document.forms.dateInput.arYearVal.value = yearVal;
	if(divId == 'arCalendar') {
		document.forms.dateInput.arDayVal.value = dayVal;
		document.forms.dateInput.arMonthVal.value = monthVal;
		document.forms.dateInput.arYearVal.value = yearVal;
		} else if(divId == 'dpCalendar') {
		document.forms.dateInput.dpDayVal.value = dayVal;
		document.forms.dateInput.dpMonthVal.value = monthVal;
		document.forms.dateInput.dpYearVal.value = yearVal;
		}
		toggleCal(divId);
	}
	
	function toggleCal(loc) {
		var object=document.getElementById(loc);
		//calDiv = object.innerHTML;
			if(isVisible == 0) {
				var dateField = getDateField(loc);
				createCalendar(dateField);			
				//var aObj = document.getElementById(dateField.aId);
				//var xPos = evt.clientX;
				//var yPos = evt.clientY;
				//object.style.pixelLeft = xPos + 'px';
				//object.style.pixelTop = yPos + 'px';
				object.style.visibility = 'visible';
				isVisible = 1;
			} else {
			//object.innerHTML = "";
			object.style.visibility = 'hidden';
			isVisible = 0;
			}
		
	}
	
	function getDateField(loc) {
		if(loc == 'arCalendar') {
			return arrivalDate;
		}
		else if(loc == 'dpCalendar') {
			return departureDate;
		}
		return NULL;
	}
			
			
	