// ===================================================================
// Author: Mike Doran <doran@randomorbits.com>
// WWW: http://www.randomorbits.com/
//
// NOTICE: You may use this code for any purpose, commercial or
// private, without any further permission from the author. You may
// remove this notice from your final code if you wish, however it is
// appreciated by the author if at least the Author line is kept.
//
// Please DO NOT link directly to my .js files from your site. Copy
// the files to your server and use them there. Thank you.
// Several functions and code that dynamically change the form fields.
// This is designed to improve the look and operation of the web form 
// supplied by KennelConnection. (www.bluecrystalsoftware.com)
// ===================================================================
function checkForm() {
	var pos1, pos2, inday, inmth, inyr, outday, outmth, outyr, indt, outdt, fromdate, todate;
	var indt = frmReserve.indate.value;
	var outdt = frmReserve.outdate.value;
	if (indt != "") {
		pos1 = indt.indexOf("/");
		pos2 = indt.indexOf("/", pos1+1);
		inmth = indt.substring(0, pos1) - 1;
		inday = indt.substring(pos1 + 1, pos2);
		inyr = indt.substring(pos2 + 1);
	}
	if (outdt != "") {
		pos1 = outdt.indexOf("/");
		pos2 = outdt.indexOf("/", pos1+1);
		outmth = outdt.substring(0, pos1) - 1;
		outday = outdt.substring(pos1 +1  , pos2);
		outyr = outdt.substring(pos2 + 1 );
	}
	fromdate = new Date(inyr, inmth, inday);
	todate = new Date(outyr, outmth, outday);
	if (frmReserve.indate.value == "") {
		alert("Drop-off Date cannot be blank. Please enter a Drop-off Date.");
		frmReserve.indate.focus();
		return false;
	}else if (frmReserve.outdate.value == "") {
		alert("Pick-up Date cannot be blank. Please enter a Pick-up Date.");
		frmReserve.outdate.focus();
		return false;
	}else if (fromdate - todate > 0 ) {
		alert("Pick Up Date can not be before Drop Off Date.");
		frmReserve.indate.focus();
		return false;
	}else if (frmReserve.mod_type.value == "Daycare" &&
				!frmReserve.elements['wkday_sub[]'][0].checked && 
				!frmReserve.elements['wkday_sub[]'][1].checked && 
				!frmReserve.elements['wkday_sub[]'][2].checked && 
				!frmReserve.elements['wkday_sub[]'][3].checked && 
				!frmReserve.elements['wkday_sub[]'][4].checked && 
				!frmReserve.elements['wkday_sub[]'][5].checked && 
				!frmReserve.elements['wkday_sub[]'][6].checked){
			alert("Please select the days of the week for Daycare.");
			frmReserve.elements['wkday_sub[]'][0].focus();
			return false;
	}else if (frmReserve.usrid.value == "") {
		alert("User ID field cannot be blank. Please enter your User ID.");
		frmReserve.usrid.focus();
		return false;
	}else if (frmReserve.usrpwd.value == "") {
		alert("Password field cannot be blank. Please enter your Password.");
		frmReserve.usrpwd.focus();
		return false;
	}else if ((frmReserve.pet1.value == "") && (frmReserve.pet2.value == "")){
		alert("Please enter at least 1 Pet.");
		frmReserve.pet1.focus()
		return false;
	}else if (frmReserve.email.value == "") {
		alert("Email Contact cannot be blank. Please enter an Email Contact.");
		frmReserve.email.focus();
		return false;
	}else if (frmReserve.emerg.value == "") {
		alert("Emergency Contact cannot be blank. Please enter an Emergency Contact.");
		frmReserve.emerg.focus();
		return false;
	}
return true;
}

// Set time according to bus-stops
function BusCheck(InpfielD){
	// Set the Location Field
	if (InpfielD == "intime") { 
		var locField = "dol";
		var aPm = "";
	} else {
		var locField = "pul";
		var aPm = "outampm";
	}
	// Get Location
	var fieldIndex = eval("document.frmReserve."+locField+".selectedIndex");
	// Return control if Main Location is chosen
	if (fieldIndex == 0){
		eval ("document.frmReserve."+InpfielD+".disabled=false");
		// Clear Temp Variables
		eval ("document.frmReserve."+InpfielD+"_temp.value=''");
		if (aPm != "") {
			eval ("document.frmReserve."+aPm+"[0].disabled=false");
		} 
	}else {
		// Otherwise Set Time variable depending on Location and Drop-off or Pick-up
		if (InpfielD == "intime") { 
			var timeArray = new Array("-","0","1","3","5","7");
			var tiMeR = timeArray[fieldIndex];
		} else {
			var timeArray = new Array("-","0","44","41","42","43");
			var tiMeR = timeArray[fieldIndex];
		}
		// Change/Disable time fields
		eval (("document.frmReserve."+InpfielD+".selectedIndex=")+tiMeR);
		// Change/Disable ampm
		if (aPm != "") {
			eval ("document.frmReserve."+aPm+"[1].checked=true");
			eval ("document.frmReserve."+aPm+"[0].disabled=true");
		} 
		eval ("document.frmReserve."+InpfielD+".disabled=true");
		// Set Temp Variable
		var tempVar = eval(("document.frmReserve."+InpfielD+".options[")+tiMeR+("].value"));
		eval (("document.frmReserve."+InpfielD+"_temp.value=")+'tempVar');
	}
}

// Detect weekends and restrict bus-stops
function dayTest (fieldIn) {
	// Set input field
	if (fieldIn == "indate") { 
			var locField = "dol";
			var timeField = "intime";
		} else {
			var locField = "pul";
			var timeField = "outtime";
	}
	// Location Check
	var weeKend = eval("document.frmReserve."+fieldIn+".value");
	if (weeKend == "") {
		alert("Please set the Date before the location.");
		eval ("document.frmReserve."+locField+".selectedIndex='0'");
		eval ("document.frmReserve."+timeField+".disabled=false");
		// Clear Temp Variable
		eval ("document.frmReserve."+timeField+"_temp.value=''");
		return false;
	}
	// Set/Check the format
	var datePat = /^(\d{1,2})(\/|-)(\d{1,2})(\/|-)(\d{4})$/;
	var matchArray = weeKend.match(datePat);
	 
	// Parse date into variables
	var my_month = matchArray[1]; 
	var my_day = matchArray[3];
	var my_year = matchArray[5];
	
	// Check for weekend day
	var checkDate = new Date(my_year,(my_month-1),(my_day),0,0,0);
	if ((checkDate.getDay() == 0)|(checkDate.getDay() == 6)) {
		alert("No Bus running on weekends.");
		eval ("document.frmReserve."+locField+".selectedIndex='0'");
		eval ("document.frmReserve."+timeField+".disabled=false");
	}
}

function popUp(anchorName){
	var dateWin = new PopupWindow();
	if (anchorName == 'dropOff'){
		dateWin.setUrl("do_date.htm");
	}else{
		dateWin.setUrl("pu_date.htm");
	}
	dateWin.setSize(250,60);
	dateWin.showPopup(anchorName);
}
