
<!-- Copyright (c) 2000, AirportParkingLots.com, Inc.  All rights reserved. -->

/* BROWSER VERSION DEFINITION */
var o_navigator = navigator.userAgent.toLowerCase () ;
var isMacIE = (o_navigator.indexOf ("msie 5") > -1 && o_navigator.indexOf ("mac") > -1) ? 1 : 0 ;
var isPCIE = (o_navigator.indexOf ("msie") > -1 && !isMacIE && o_navigator.indexOf("opera") == -1) ? 1 : 0 ;
var isOpera = o_navigator.indexOf ("opera") > -1 ? 1 : 0 ;

/* SETUP VARIABLES */
/* var cssServiceLink = "css/service/form.css" ; */
var monthArray = new Array ("January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December") ;
var dayNamesArray = new Array ("Su", "Mo", "Tu", "We", "Th", "Fr", "Sa") ;
var datesArray = new Array (31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31) ;

/* DATES VARIABLES */
var today = "" ;
var currentDay = "" ;
var currentDate = "" ;
var currentMonth = "" ;
var currentYear = "" ;

var choosenday = "" ;
var choosenDay = "" ;
var choosenDate = "" ;
var choosenMonth = "" ;
var choosenYear = "" ;

/* OBJECTS VARIABLES */
var container = null ;
var input = null ;

var x = 0 ; 
var y = 0 ;

function getCalendarHTML (_date) {

	var paramDate = getDateFromString(_date) ;
	var paramDayDate = paramDate.getDate () ;
	var paramMonth = paramDate.getMonth () ;
	var paramDay = paramDate.getDay () ;
	var paramYear = (paramDate.getFullYear () + "").substr (2, 2) ;

	var firstPartMonth = "" ;
	var secondPartMonth = "" ;

	var firstPartHTML = "" ;
	var secondPartHTML = "" ;

	var navigationHTML = "" ;
	
	if (((paramMonth - currentMonth ) + (paramYear - currentYear) * 12) > 0) {
		if (paramMonth == 0) {
			firstPartMonth = monthArray [11] + " " + ((((paramYear - 1) + "").length < 2) ? "0" + (paramYear - 1) : (paramYear - 1)) ;
			secondPartMonth = monthArray [0] + " " + ((((paramYear) + "").length < 2) ? "0" + (paramYear) : (paramYear)) ;
			firstPartHTML = getDatesHTML ("12/01/" + ((((paramYear - 1) + "").length < 2) ? "0" + (paramYear - 1) : (paramYear - 1)) , _date) ;
			secondPartHTML = getDatesHTML ((paramMonth + 1) + "/01/" + ((((paramYear) + "").length < 2) ? "0" + (paramYear) : (paramYear)) , _date) ;
		}
		else {
			firstPartMonth = monthArray [paramMonth-1] + " " + paramYear ;
			secondPartMonth = monthArray [paramMonth] + " " + paramYear ;
			firstPartHTML = getDatesHTML ((paramMonth) + "/01/" + paramYear , _date) ;
			secondPartHTML = getDatesHTML ((paramMonth + 1) + "/01/" + paramYear,  _date) ;
		}

		var nextMonth = ((paramMonth == 12) ? 1 :(paramMonth + 1)) + "/01/" + ((paramMonth == 12) ? ( ((Number(paramYear)+1) < 10) ? ("0"+(Number(paramYear)+1)) : (Number(paramYear)+1) ) : paramYear);
		
		if ((paramMonth - currentMonth ) + (paramYear - currentYear) * 12 > 1) {
			if(paramMonth == 1 ) {
				var prevMonth =  "12/01/" + ( ( ( (Number (paramYear)-1) + "").length < 2) ? "0" + (Number (paramYear)-1) : (Number (paramYear)-1)) ;//(paramYear-1);
			} else if( paramMonth == 0 ){
				var prevMonth =  "11/01/" + ( ( ( (Number (paramYear)-1) + "").length < 2) ? "0" + (Number (paramYear)-1) : (Number (paramYear)-1)) ;//(paramYear-1);
			} else {
				var prevMonth =  (paramMonth-1) + "/01/" + paramYear;
			}
			
			navigationHTML += "<tr>" ;
			navigationHTML += "	<td><a href=\"javascript: void (0);\" onclick=\"top.calendarOpen ('" + container.id + "', '" + input.id + "', '" + prevMonth + "', " + x + ", " + y + ")\">prev month</a></td>" ;
			navigationHTML += "	<td align=\"right\"><a href=\"javascript: void (0);\" onclick=\"top.calendarOpen ('" + container.id + "', '" + input.id + "', '" + nextMonth + "', " + x + ", " + y + ")\">next month</a></td>" ;
			navigationHTML += "</tr>" ;
		}
		else {
			navigationHTML += "<tr>" ;
			navigationHTML += "	<td>&nbsp;</td>" ;
			navigationHTML += "	<td align=\"right\"><a href=\"javascript: void (0);\" onclick=\"top.calendarOpen ('" + container.id + "', '" + input.id + "', '" + nextMonth + "', " + x + ", " + y + ")\">next month</a></td>" ;
			navigationHTML += "</tr>" ;
		}
	}
	else {
		if (paramMonth == 11) {
			var firstParamYear = (paramYear + "").length < 2 ? "0" + paramYear : paramYear ;
			var secondParamYear = Number (paramYear) + 1 ;
				secondParamYear = (secondParamYear + "").length < 2 ? "0" + secondParamYear : secondParamYear ;

			firstPartMonth = monthArray [11] + " " + firstParamYear ;
			secondPartMonth = monthArray [0] + " " + secondParamYear ;
			firstPartHTML = getDatesHTML ("12/01/" + firstParamYear,  _date) ;
			secondPartHTML = getDatesHTML ("1/01/" + secondParamYear,  _date) ;
		}
		else {
			firstPartMonth = monthArray [paramMonth] + " " + paramYear ;
			secondPartMonth = monthArray [paramMonth + 1] + " " + paramYear ;
			firstPartHTML = getDatesHTML (_date,  _date) ;
			secondPartHTML = getDatesHTML ((paramMonth + 2) + "/01/" + paramYear,  _date) ;
		}
		var nextMonth = ((paramMonth == 12) ? 1 :(paramMonth + 1)) + "/01/" + ((paramMonth == 12) ? ( ((Number(paramYear)+1) < 10) ? ("0"+(Number(paramYear)+1)) :(Number(paramYear)+1) ) :paramYear );
	
		navigationHTML += "<tr>" ;
		navigationHTML += "	<td>&nbsp;</td>" ;
		navigationHTML += "	<td align=\"right\"><a href=\"javascript: void (0);\" onclick=\"top.calendarOpen ('" + container.id + "', '" + input.id + "', '" + nextMonth + "', " + x + ", " + y + ")\">next month</a></td>" ;
		navigationHTML += "</tr>" ;
	}

	var html = "" ;
		html += "<table cellpadding=\"0\" cellspacing=\"0\" class=\"tblContainer\"><tr><td>" ;
		html += "<div class=\"divHeader\">" ;
		html += "	<table cellpadding=\"2\" cellspacing=\"0\" width=\"100%\">" ;
		html += "		<tr>" ;
		html += "			<td>Choose Date</td>" ;
		html += "			<td align=\"right\"><a href=\"javascript: void (0);\" onclick=\"top.document.getElementById ('" + container.id + "').style.display = 'none'; return false;\"><img src=\"" + icoCloseSrc + "\" width=\"13\" height=\"13\" border=\"0\"></a></td>" ;
		html += "		</tr>" ;
		html += "	</table>" ;
		html += "</div>" ;
		html += "</td></tr><tr><td height='1'></td></tr><tr><td>" ;
		html += "<div class=\"cntCalendar\"><table cellpadding=\"5\" cellspacing=\"0\" width=\"100%\"><tr><td>" ;
		html += "	<div class=\"divNavigation\">" ;
		html += "		<table cellpadding=\"0\" cellspacing=\"0\" width=\"100%\" class=\"tblNavigation\">" ;
		html +=  navigationHTML ;
		html += "		</table>" ;
		html += "	</div>" ;
		html += "	<div class=\"divSeparator\"></div>" ;
		html += "	<div class=\"divContainer\">" ;
		html += "		<div class=\"divCurrentDate\">" + firstPartMonth + "</div>" ;
		html += "		<table cellpadding=\"3\" cellspacing=\"0\" width=\"100%\" class=\"tblDates\">" ;
		html += getDayNamesHTML () ;
		html += firstPartHTML ;
		html += "		</table>" ;
		html += "	</div>" ;
		html += "	<div class=\"divSeparator\"></div>" ;
		html += "	<div class=\"divContainer\">" ;
		html += "		<div class=\"divCurrentDate\">" + secondPartMonth + "</div>" ;
		html += "		<table cellpadding=\"3\" cellspacing=\"0\" width=\"100%\" class=\"tblDates\">" ;
		html += getDayNamesHTML () ;
		html += secondPartHTML ;
		html += "		</table>" ;
		html += "	</div>" ;
		html += "</td></tr></table></div>" ;
		html += "</td></tr></table>" ;

	return html ;
}

function getDayNamesHTML () {
	var html = "<tr class=\"trDayNames\">" ;

	for (var i = 0 ; i < dayNamesArray.length ; i++) {
		html += "<th>" + dayNamesArray [i] + "</th>" ;
	}

	html += "</tr>" ;

	return html ;
}

function getDatesHTML (_date, currentDate) {
	var paramDate = getDateFromString(_date) ;
	var paramDayDate = paramDate.getDate () ;
	var paramMonth = paramDate.getMonth () ;
	var paramDay = paramDate.getDay () ;
	var paramYear = (paramDate.getFullYear () + "").substr (2, 2) ;

	var firstDate = getDateFromString((paramMonth + 1) + "/01/" + paramYear) ;
	var firstDayName = firstDate.getDay () ;

	var daysInMonth = datesArray [paramMonth] ;

	if( paramMonth == 1 && (Number(paramYear)%4) == 0 ) 
		daysInMonth = 29 ;	

	var lastDate = getDateFromString((paramMonth + 1) + "/" + daysInMonth + "/" + paramYear) ;

	var lastDayName = lastDate.getDay () ;

	var className = "" ;

	var html = "<tr>" ;

	for (var i = 0 - firstDayName ; i < daysInMonth ; i++) {
		if (i < 0) {
			html += "<td>&nbsp;</td>" ;
		}
		else {
			var date = getDateFromString((paramMonth + 1) + "/" + (i + 1) + "/" + paramYear) ;

			if (date < today) {
				html += "<td class=\"tdPastDate\">" + (i + 1) + "</td>" ;
			}
			else {
				if ((i + 1) == choosenDate && paramMonth == choosenMonth && paramYear == choosenYear) {
					html += "<td class=\"tdChoosenDate\"><a href=\"javascript: void (0)\" onclick=\"top.setChoosenDate ('" + ((((paramMonth + 1) + "").length < 2) ? ("0" + (paramMonth + 1)) : (paramMonth + 1)) + "/" + ((((i + 1) + "").length < 2) ? "0" + (i + 1) : (i + 1)) + "/" + paramYear + "','"+currentDate+"'); return false;\">" + (i + 1) + "</a></td>" ;
				}
				else {
					html += "<td class=\"tdFutureDate\"><a href=\"javascript: void (0)\" onclick=\"top.setChoosenDate ('" + ((((paramMonth + 1) + "").length < 2) ? "0" + (paramMonth + 1) : (paramMonth + 1)) + "/" + ((((i + 1) + "").length < 2) ? "0" + (i + 1) : (i + 1)) + "/" + paramYear + "', '"+currentDate+"'); return false;\">" + (i + 1) + "</a></td>" ;
				}
			}
		}

		if ((i + firstDayName + 1) % 7 == 0){
			html += "</tr><tr>" ;
		}
	}

	for (var i = 0 ; i < 6 - lastDayName ; i++) {
		html += "<td>&nbsp;</td>" ;
	}

	html += "</tr>" ;

	return html ;
}

function setChoosenDate (_date, currentDate) {
	choosenday = getDateFromString(_date) ;

	if (isNaN (choosenday)) {
		choosenday = today ;
	}

	choosenDay = choosenday.getDay () ;
	choosenDate = choosenday.getDate () ;
	choosenMonth = choosenday.getMonth () ;
	choosenYear = (choosenday.getFullYear () + "").substr (2, 2) ;

	input.value = _date + " " ;

	currentDate = getDateFromString(currentDate);
	
	var currentDay = currentDate.getDay () ;
	var currentDate2 = currentDate.getDate () ;
	var currentMonth = currentDate.getMonth () ;
	var currentYear = (currentDate.getFullYear () + "").substr (2, 2) ;
	if(currentMonth == 0 ) { 
		currentMonth = 12;
		var secondParamYear = Number (currentYear) - 1 ;
		secondParamYear = (secondParamYear + "").length < 2 ? "0" + secondParamYear : secondParamYear ;
		currentYear = secondParamYear;

	}
	calendarClose ();
//	calendarOpen (container.id, input.id, currentMonth  + "/" + currentDate2 + "/" + currentYear, x, y) ;
}

function getDateFromString(_date) {
	try {
		var today ;
		if( _date == '' ) {
			today = new Date (); 
		} else {		
			today = new Date (_date) ;
		}	
		var currentDate = today.getDate () ;
		var currentMonth = today.getMonth () ;
		var currentYear = (today.getFullYear () + "").substr (2, 2) ;
	
		today = new Date ((currentMonth + 1) + "/" + currentDate + "/20" + currentYear) ;
		
		return today;
	} catch (e){
		return new Date();
	}
}

function calendarOpen (_container, _input, _date, _x, _y) {
	x = _x ;
	y = _y ;


	
	container = document.getElementById (_container) ;
	input = document.getElementById (_input) ;

	today = new Date () ;
	currentDay = today.getDay () ;
	currentDate = today.getDate () ;
	currentMonth = today.getMonth () ;
	currentYear = (today.getFullYear () + "").substr (2, 2) ;
	
	today = new Date ((currentMonth + 1) + "/" + currentDate + "/20" + currentYear) ;
	currentDay = today.getDay () ;
	currentDate = today.getDate () ;
	currentMonth = today.getMonth () ;
	currentYear = (today.getFullYear () + "").substr (2, 2) ;
	
	choosenday = getDateFromString(input.value) ;

	choosenDay = choosenday.getDay () ;
	choosenDate = choosenday.getDate () ;
	choosenMonth = choosenday.getMonth () ;
	choosenYear = (choosenday.getFullYear () + "").substr (2, 2) ;


	var paramDate = getDateFromString(_date) ;
	
	var paramDayDate = paramDate.getDate () ;
	var paramMonth = paramDate.getMonth () +1;
	var paramDay = paramDate.getDay () ;
	var paramYear = (paramDate.getFullYear () + "").substr (2, 2) ;
	

	if(paramMonth == 12) {
		paramMonth = 1;
		var secondParamYear = Number (paramYear) + 1 ;
		secondParamYear = (secondParamYear + "").length < 2 ? "0" + secondParamYear : secondParamYear ;
		paramYear = secondParamYear;
		
	} else {
		paramMonth += 1;
	}
	
	var strCssLink = "<link rel=\"stylesheet\" type=\"text/css\" href=\"" + cssCustomLink + "\" />" + "<link rel=\"stylesheet\" type=\"text/css\" href=\"http://www.airportparkingreservations.com/css/ext_form.css\" />" ;;

	if (isPCIE) {
		container.innerHTML = "<div style='position:absolute;z-index:-1'><iframe id=\"calendarFrame\" name=\"calendarFrame\" src=\"javascript:'calendar'\" scrolling=\"no\" marginheight=\"0\" marginwidth=\"0\" frameborder=\"0\" width=\"160\" height=\"314\"></iframe></div>"+getCalendarHTML (paramMonth  + "/" + paramDayDate + "/" + paramYear) ;
	}
	else {
		container.innerHTML = getCalendarHTML (paramMonth  + "/" + paramDayDate + "/" + paramYear) ;

	}

	container.style.display = "block" ;
	
	container.style.left = x ;
	container.style.top = y ;

}

function calendarClose () {
	container.style.display = "none" ;
}


function showCalendar (_container, _input, _date, _event) {
	var x = 0 ;
	var y = 0 ;

	if (isPCIE) {
		x = window.event.x +  document.body.scrollLeft;
		y = window.event.y + document.body.scrollTop;
	}
	else {
		x = _event.pageX ;
		y = _event.pageY-150 ;
	}

	var today = new Date () ;
	var currentMonth = Number(today.getMonth () + 1) ;
	var	currentYear = Number((today.getFullYear () + "").substr (2, 2)) ;	

	var paramDate = getDateFromString(_date) ;
	var paramDayDate = paramDate.getDate () ;
	var paramMonth = Number(paramDate.getMonth () +1);
	var paramYear = Number((paramDate.getFullYear () + "").substr (2, 2)) ;
	
	if( (paramYear * 12 + paramMonth -1) == (currentYear*12 + currentMonth) ) {
		_date = currentMonth  + "/" + paramDayDate + "/" + currentYear;
	}	
	
	
	calendarOpen (_container, _input, _date, x, y) ;

	return false ;
}


