<!-- Copyright (c) 2000, AirportParkingLots.com, Inc.  All rights reserved. -->/*APR form JS*/// prepopulate date fields.function prepopdf(){	var date;	if (document.frmcmain.ddate.value == '') 	{		date = new Date();		date.setDate(date.getDate()+10);		document.frmcmain.ddate.value = dt2dtstr(date);		if (document.frmcmain.rdate.value == '') 		{			date.setDate(date.getDate()+6);			document.frmcmain.rdate.value = dt2dtstr(date);		}				}	// originaldate	if (document.frmcmain.originaldate.value == '') 	{		date = new Date();		document.frmcmain.originaldate.value = dt2dtstr(date);			}		// Set per-refID default time	var refID = getReqParam("refID");		if (refID == 852) 	{		setSelectTo(document.frmcmain.dhour,"10");		setSelectTo(document.frmcmain.dminute,'30');		setSelectTo(document.frmcmain.ddt,'am');		setSelectTo(document.frmcmain.rhour,"4");		setSelectTo(document.frmcmain.rminute,"30");		setSelectTo(document.frmcmain.rdt,"pm");	}	// end Set per-refID default time	}function setSelectTo(sfield,sval) {	for (var i = 0; i < sfield.options.length; i++)	{				if ( sfield.options[i].value == sval)		{			 sfield.selectedIndex =  i;			return 1;		}	}	return 0;}function getReqParam(param) {	var val = "";	var s_end = "";	var qstring = window.location.search;	var s_start = qstring.indexOf(param);	if (s_start != -1) {		s_start += param.length + 1;		var s_end = qstring.indexOf("&", s_start);		if (s_end == -1) {			s_end = qstring.length		}		val = qstring.substring(s_start,s_end);	}return val;}function dt2dtstr(dt_datetime){	var s_year = new String(dt_datetime.getFullYear());		return(new String((iup22cl(dt_datetime.getMonth()+1)) + "/" + iup22cl(dt_datetime.getDate()) + "/" + s_year.substring(2, 4)));}function iup22cl(value){	if(value < 10)	return new String('0' + value);	return value;}// return true if field value eq passed value	function messnfocus_unless_value(fieldRef,value,message){	if (fieldRef.value == value)	{		alert(message);		fieldRef.focus();		return true;	}	return false;}	function check(){	 if (messnfocus_unless_value(document.frmcmain.airportname,0,"Please select an Airport.") ) return false;	 if (messnfocus_unless_value(document.frmcmain.ddate,'',"Please enter your Departure Date.") ) return false;	DatePreformat(document.frmcmain.ddate);		if (DateFormat(document.frmcmain.ddate.value) ==0)	{		alert ("Your Departure Date format is incorrect.");		document.frmcmain.ddate.focus();		return false;	}	if (isDateCValid(document.frmcmain.ddate.value) ==0)	{		alert ("Your Departure Date is incorrect.");		document.frmcmain.ddate.focus();		return false;	}// dva working below 	//if ((DatePosition(document.frmcmain.ddate.value,document.frmcmain.originaldate.value)<0) || (DateNow(document.frmcmain.ddate.value)<0))	if ((DatePosition(document.frmcmain.ddate.value,document.frmcmain.originaldate.value)<0))	{		alert ("Please enter a valid Departure Date.");		document.frmcmain.ddate.focus();		return false;	}// dva working above here	 if (messnfocus_unless_value(document.frmcmain.dhour,0,"Please select expected Departure Hour.") ) return false;	 if (messnfocus_unless_value(document.frmcmain.dminute,'N',"Please select expected Departure Minute.") ) return false;	 if (messnfocus_unless_value(document.frmcmain.ddt,0,"Please select expected Departure AM or PM.") ) return false;	 if (messnfocus_unless_value(document.frmcmain.rdate,'',"Please enter your Return Date.") ) return false;	DatePreformat(document.frmcmain.rdate);	if (DateFormat(document.frmcmain.rdate.value) ==0)	{		alert ("Your Return Date format is incorrect.");		document.frmcmain.rdate.focus();		return false;	}	if (isDateCValid(document.frmcmain.rdate.value) ==0)	{		alert ("Your Return Date is incorrect.");		document.frmcmain.rdate.focus();		return false;	}	if (DatePosition(document.frmcmain.rdate.value,document.frmcmain.ddate.value)<0)	{		alert ("Please select a valid Return Date.");		document.frmcmain.rdate.focus();		return false;	}	 if (messnfocus_unless_value(document.frmcmain.rhour,0,"Please select expected Return Hour.") ) return false;	 if (messnfocus_unless_value(document.frmcmain.rminute,'N',"Please select expected Return Minutes.") ) return false;	 if (messnfocus_unless_value(document.frmcmain.rdt,0,"Please select expected Return AM or PM.") ) return false;// DVA & Bob working here 	// DEPART & RETURN DAYS THE SAME 	if (document.frmcmain.rdate.value == document.frmcmain.ddate.value) {		// Check departure in PM when return AM, same day		if (document.frmcmain.rdt.value < document.frmcmain.ddt.value) {			alert ("Cannot depart in PM if your return is in AM on the same day.");			document.frmcmain.rdt.focus();			return false;		}		// Check departure after return (AM & AM or PM & PM)		if (document.frmcmain.rdt.value == document.frmcmain.ddt.value) {		// Check depart hr after return hour, same day		if (parseInt(document.frmcmain.rhour.value,10) < parseInt(document.frmcmain.dhour.value,10)) {			alert ("Cannot depart after your return time.");			document.frmcmain.rhour.focus();			return false;		}		// depart hr = return hr 		if (parseInt(document.frmcmain.rhour.value,10) == parseInt(document.frmcmain.dhour.value,10)) {			if ((parseInt(document.frmcmain.rminute.value) == parseInt(document.frmcmain.dminute.value)) || (parseInt(document.frmcmain.rminute.value) < parseInt(document.frmcmain.dminute.value))) {				alert ("Departure and Return minute values are incorrect.");				document.frmcmain.rminute.focus();				return false;			}		}	}	}		//Stay check	var stay_length = StayCalc(document.frmcmain.ddate.value,document.frmcmain.rdate.value);	if ( stay_length > 100 )	{		alert ("Your parking stay is too long ("+Math.floor(stay_length)+" days), please check your dates");		document.frmcmain.rdate.focus();		return false;	}	return true;}function StayCalc(first_dts,second_dts){	var re_date = /^(\d+)\/(\d+)\/(\d+)$/;	var date1;	var date2;		re_date.exec(first_dts);	if (parseInt(RegExp.$3,10)<100)	{		date1 = new Date (parseInt(RegExp.$3,10)+2000, parseInt(RegExp.$1,10)-1, parseInt(RegExp.$2,10));	}else {		date1 = new Date(parseInt(RegExp.$3,10), parseInt(RegExp.$1,10)-1, parseInt(RegExp.$2,10));	}			re_date.exec(second_dts);	if (parseInt(RegExp.$3,10)<100)	{		date2 = new Date (parseInt(RegExp.$3,10)+2000, parseInt(RegExp.$1,10)-1, parseInt(RegExp.$2,10));	}else {		date2 = new Date(parseInt(RegExp.$3,10), parseInt(RegExp.$1,10)-1, parseInt(RegExp.$2,10));	}	return ((date2-date1)/86400000);	}function DatePosition(dateString,orignaldate) {	var now = new Date();	//var today = new Date(orignaldate);	var today = new Date();	var re_date = /^(\d+)\/(\d+)\/(\d+)$/;	re_date.exec(orignaldate);	if (parseInt(RegExp.$3,10)<100)	{		   today = new Date (parseInt(RegExp.$3,10)+2000, parseInt(RegExp.$1,10)-1, parseInt(RegExp.$2,10));	}else {  today = new Date(parseInt(RegExp.$3,10), parseInt(RegExp.$1,10)-1, parseInt(RegExp.$2,10));	}	//var century = parseInt(now.getYear()/100)*100;	re_date.exec(dateString);	var date;	if (parseInt(RegExp.$3,10)<100)	{		date = new Date (parseInt(RegExp.$3,10)+2000, parseInt(RegExp.$1,10)-1, parseInt(RegExp.$2,10));	}else {		date = new Date(parseInt(RegExp.$3,10), parseInt(RegExp.$1,10)-1, parseInt(RegExp.$2,10));	}	//alert(date);	if (date < today)	{   		return -1;	}	else if (date > today)		{   			return 1;	}	else	{   		return 0;	}}function DateNow(dateString) {	//var now = new Date();	var today = new Date();	//var century = parseInt(now.getYear()/100)*100;	var re_date = /^(\d+)\/(\d+)\/(\d+)$/;	re_date.exec(dateString);	var date;	if (parseInt(RegExp.$3,10)<100)	{		date = new Date (parseInt(RegExp.$3,10)+2000, parseInt(RegExp.$1,10)-1, parseInt(RegExp.$2,10));	}else {		date = new Date(parseInt(RegExp.$3,10), parseInt(RegExp.$1,10)-1, parseInt(RegExp.$2,10));	}	//alert(date);	if (date < today)	{   		return -1;	}	else if (date > today)		{   			return 1;	}	else	{   		return 0;	}}function hcoded_mstom (smonth){		var fir = smonth.substr(0,3);		mtom = fir.toLowerCase();		if (mtom == 'jan') return '01';		if (mtom == 'feb') return '02';		if (mtom == 'mar') return '03';		if (mtom == 'apr') return '04';		if (mtom == 'may') return '05';		if (mtom == 'jun') return '06';		if (mtom == 'jul') return '07';		if (mtom == 'aug') return '08';		if (mtom == 'sep') return '09';		if (mtom == 'oct') return '10';		if (mtom == 'nov') return '11';		if (mtom == 'dec') return '12';		// oops		return 0;}function DatePreformat(field){	var str_datetime = field.value;	str_datetime = str_datetime.replace(/\s+/ig,'');	str_datetime = str_datetime.replace(/\\/ig,'/');	str_datetime = str_datetime.replace(/-/ig,'/');		var re_date = /^(\d+)\/.*$/;		if (!re_date.exec(str_datetime))		{			re_date = /^(\w+)\/(.*)$/;			if (!re_date.exec(str_datetime))					return (false);				mon = hcoded_mstom(RegExp.$1);		str_datetime = mon+'/'+RegExp.$2		}    	field.value = str_datetime;	return (true)}function DateFormat(Datestr) {	var re_date = /^(\d\d)\/(\d\d)\/(\d\d)$/;	if (!re_date.exec(Datestr))		return (0);	return (1);}function isDateCValid(dateString){	var re_date = /^(\d+)\/(\d+)\/(\d+)$/;	re_date.exec(dateString);	if (parseInt(RegExp.$1,10) > 12 ) return 0;	if (parseInt(RegExp.$2,10) == 0 ) return 0;	if (parseInt(RegExp.$2,10) > hcoded_mlength(parseInt(RegExp.$1,10),parseInt(RegExp.$3,10)) ) return 0;			return 1;		}function hcoded_mlength (mtom,yyy){		var yc = 0;		if (mtom == '1') return '31';		if (mtom == '2') {			yc = (yyy<100)?(yyy+2000):yyy;								if ((yc%4==0)&&(yc%100!= 0 || yc%400==0))				return '29';			else 				return '28';		};		if (mtom == '3') return '31';		if (mtom == '4') return '30';		if (mtom == '5') return '31';		if (mtom == '6') return '30';		if (mtom == '7') return '31';		if (mtom == '8') return '31';		if (mtom == '9') return '30';		if (mtom == '10') return '31';		if (mtom == '11') return '30';		if (mtom == '12') return '31';		// oops		return 0;}
