//var TimezoneOffset = -6;
//determine if we're in DST or not - code added 11/11/07 by Elizabeth Lawrence
var today = new Date();
var yr = today.getFullYear();
//getTimezoneOffset() returns # of minutes diff from Greenwich time
var curTZ = today.getTimezoneOffset();
var janDate = new Date();
janDate.setFullYear(yr, 0, 1);
var janTZ = janDate.getTimezoneOffset();
var julDate = new Date();
julDate.setFullYear(yr, 6, 1);
var julTZ = julDate.getTimezoneOffset();
//set the timezone offset depending on DST setting
var TimezoneOffset = 0;
if (curTZ == janTZ)
	TimezoneOffset = -6;
else
	TimezoneOffset = -5;

function dateDiff(firstdate,firsttime) {
	date1 = new Date();
	date2 = new Date();
	diff  = new Date();

	//current date/time - this section modified 8/9/07 by Elizabeth Lawrence
	//to always use Central Time Zone
	date1temp = new Date();
	var ms = date1temp.getTime() 
				+ (date1temp.getTimezoneOffset() * 60000)
				+ TimezoneOffset * 3600000;
	var now = new Date(ms);
	date1.setTime(now.getTime());
	//date1.setTime(date1temp.getTime());
//	date1.setTime(date1temp.getTime()-3600000);

	//passed date/time
	date2temp = new Date(firstdate + " " + firsttime);
	date2.setTime(date2temp.getTime());

	// sets difference date to difference of first date and second date
	diff.setTime(date1.getTime() - date2.getTime());
	timediff = diff.getTime();

	//if ready time is more than 10 minutes ago, give an error
	if(timediff > 600000){
		alert ("Please check the Ready Time/Pickup Date--it has expired.");
		document.Form1.PU_TIME_1.focus();
		return false;
	}
	return true;
}

function isValidDate() {
	var dateStr = document.Form1.PU_DATE_1.value + "/" + document.Form1.PU_DATE_2.value +"/" + document.Form1.PU_DATE_3.value;
	// MM/DD/YY   MM/DD/YYYY   MM-DD-YY   MM-DD-YYYY
	var datePat = /^(\d{1,2})(\/|-)(\d{1,2})\2(\d{4})$/; // requires 4 digit year
	var matchArray = dateStr.match(datePat); // is the format ok?
	if (matchArray == null) {
		alert(dateStr + " Date is not in a valid format.")
		return false;
	}
	month = matchArray[1]; // parse date into variables
	day = matchArray[3];
	year = matchArray[4];
	if (month < 1 || month > 12) { // check month range
		alert("Month must be between 1 and 12.");
		return false;
	}
	if (day < 1 || day > 31) {
		alert("Day must be between 1 and 31.");
		return false;
	}
	if ((month==4 || month==6 || month==9 || month==11) && day==31) {
		alert("Month "+month+" doesn't have 31 days!")
		return false;
	}
	if (month == 2) { // check for february 29th
		var isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0));
		if (day>29 || (day==29 && !isleap)) {
			alert("February " + year + " doesn't have " + day + " days!");
			return false;
		}
	}
	return true;
}

function isValidTime() {
	var timeStr = document.Form1.PU_TIME_1.value + ":" + document.Form1.PU_TIME_2.value +":00 " + document.Form1.PU_TIME_3.options[document.Form1.PU_TIME_3.selectedIndex].text;
	// Checks if time is in HH:MM:SS AM/PM format.
	// The seconds and AM/PM are optional.

	var timePat = /^(\d{1,2}):(\d{2})(:(\d{2}))?(\s?(AM|am|PM|pm))?$/;

	var matchArray = timeStr.match(timePat);
	if (matchArray == null) {
		alert(timeStr + " Time is not in a valid format.");
		return false;
	}
	hour = matchArray[1];
	minute = matchArray[2];
	second = matchArray[4];
	ampm = matchArray[6];
	if (second=="") { second = null; }
	if (ampm=="") { ampm = null }

	if (hour < 0  || hour > 23) {
		alert("Hour must be between 1 and 12.");
		return false;
	}
	if (hour <= 12 && ampm == null) {
		if (confirm("Please indicate which time format you are using.  OK = Standard Time, CANCEL = Military Time")) {
			alert("You must specify AM or PM.");
			return false;
		}
	}
	if  (hour > 12 && ampm != null) {
		alert("You can't specify AM or PM for military time.");
		return false;
	}
	if (minute < 0 || minute > 59) {
		alert ("Minute must be between 0 and 59.");
		return false;
	}
	if (second != null && (second < 0 || second > 59)) {
		alert ("Second must be between 0 and 59.");
		return false;
	}
	return true;
}

function CheckRegForm(){
	if(!(document.Form1.Name.value)){
		alert("Please enter a Name.");
		document.Form1.Name.focus();
		return false;
	}
	if(!(document.Form1.Email.value)){
		alert("Please enter an Email.");
		document.Form1.Email.focus();
		return false;
	}
	if(!(document.Form1.Address.value)){
		alert("Please enter an Address.");
		document.Form1.Address.focus();
		return false;
	}
	if(!(document.Form1.City.value)){
		alert("Please enter a City.");
		document.Form1.City.focus();
		return false;
	}
	if(!(document.Form1.State.value)){
		alert("Please enter a State.");
		document.Form1.State.focus();
		return false;
	}
	if(!(document.Form1.ZipCode.value)){
		alert("Please enter a ZipCode.");
		document.Form1.ZipCode.focus();
		return false;
	}
	if(!(document.Form1.Remarks.value)){
		alert("Please tell us your Remark.");
		document.Form1.Remarks.focus();
		return false;
	}
}

function RPad(text, len) {
    //alert("padding "+text+" to length "+len);
	/*  Pad right with spaces
        text - string to be padded
        len - len of total field (limit 20)
        if text = "abc" and len = 5, value would be "abc  " */
    var result = text.concat('                    ');
    //alert("long text: "+result);
	result = result.slice(0, len);
    //alert("final text: "+result);
	return result;
}

function zeroPad(string, newlength) {
  var pad = "";
  var len = newlength-String(string).length;
  var i;
  for (i = 0; i<len; i++) {
    pad += "0";
  }
  return pad+string;
}

function CheckForm(chkRef, chkCaller, chkPhone, chkPUDateTime, chkMiscP, chkMiscD, distOE)
{
	//code added 5/14/09 by Elizabeth Lawrence
	if (document.Form1.CustomerNumber.value == 'H00953')
	{
		//Misc field is required if ReferenceNumber1 = Y
		if (document.Form1.ReferenceNumber1.value == "Y")
		{
			if (document.Form1.Misc.value == "")
			{
				alert("Please enter the Driver #");
				document.Form1.Misc.focus();
				return false;
			}
		}
	}
	//code added 5/10/11 by Elizabeth Lawrence
	if (document.Form1.CustomerNumber.value == 'A02134')
		document.Form1.MiscField.value = document.Form1.PU_STREET_NAME.value.substring(16) + "     " + document.Form1.DEL_STREET_NAME.value.substring(16);
	
	//code added 11/18/04 by Elizabeth Lawrence
	if (document.Form1.DriverNumber != null)
	{
		var DrivNum = document.Form1.DriverNumber.value;
		if(!(DrivNum))
		{
			alert("Please enter a Driver Number.");
			document.Form1.DriverNumber.focus();
			return false;
		}
		else if (DrivNum.match(/\D/))
		{
			alert("Please enter only digits for the Driver Number.");
			document.Form1.DriverNumber.focus();
			return false;
		}
		else if (DrivNum.length != 4)
		{
			alert("Please enter 4 digits for the Driver Number.");
			document.Form1.DriverNumber.focus();
			return false;
		}
	}
	
	if (document.Form1.MiscA00046 != null)
	{
		//required field
		if(!(document.Form1.MiscA00046.value))
		{
			alert("Please enter a Small Case Qty");
			document.Form1.MiscA00046.focus();
			return false;
		}
		//must be numeric
		if (document.Form1.MiscA00046.value.match(/\D/))
		{
			alert("Please enter a numeric Small Case Qty");
			document.Form1.MiscA00046.focus();
			return false;
		}
		//required field
		if(!(document.Form1.MiscDelA00046.value))
		{
			alert("Please enter a Large Case Qty");
			document.Form1.MiscDelA00046.focus();
			return false;
		}
		//must be numeric
		if (document.Form1.MiscDelA00046.value.match(/\D/))
		{
			alert("Please enter a numeric Large Case Qty");
			document.Form1.MiscDelA00046.focus();
			return false;
		}
		//must be greater than 1
		var totalCaseQty = document.Form1.MiscA00046.value + document.Form1.MiscDelA00046.value;
		if (totalCaseQty < 1 && document.Form1.SigReq.value != "Y")
		{
			alert("The Small Case Qty and Large Case Qty must be greater than 1");
			document.Form1.MiscA00046.focus();
			return false;
		}
		//if Pallet selected (SigReq = Y), Pcs must be greater than 0
		if (document.Form1.SigReq.value == "Y" && document.Form1.Pcs.value <= 0)
		{
			alert("Please enter the number of pieces");
			document.Form1.Pcs.focus();
			return false;
		}
		//required field
		if(!(document.Form1.MiscFieldA00046.value))
		{
			alert("Please enter a COD Amount");
			document.Form1.MiscFieldA00046.focus();
			return false;
		}
		//must be numeric (dollar amt)
		if (document.Form1.MiscFieldA00046.value.match(/[^0-9.]/))
		{
			alert("Please enter a numeric COD Amount");
			document.Form1.MiscFieldA00046.focus();
			return false;
		}
		document.Form1.Misc.value = zeroPad(document.Form1.MiscA00046.value, 4);
		document.Form1.MiscDel.value = zeroPad(document.Form1.MiscDelA00046.value, 4);
		document.Form1.MiscField.value = zeroPad(document.Form1.MiscFieldA00046.value, 8);
 		//alert("sm: " + document.Form1.Misc.value + " lg: " + document.Form1.MiscDel.value + " COD: " + document.Form1.MiscField.value);
	}
 	if(!(document.Form1.PU_FROM.value)){
 		alert("Please enter a From Name.");
 		document.Form1.PU_FROM.focus();
 		return false;
 	}
 	if(!(document.Form1.PU_CITY.value)){
 		alert("Please enter a Pickup City.");
 		document.Form1.PU_CITY.focus();
 		return false;
 	}
 	if(!(document.Form1.PU_STREET_NO.value)){
 		alert("Please enter a Pickup Street Number.");
 		document.Form1.PU_STREET_NO.focus();
 		return false;
 	}
 	if(!(document.Form1.PU_STREET_NAME.value)){
 		alert("Please enter a Pickup Street Name.");
 		document.Form1.PU_STREET_NAME.focus();
 		return false;
 	}
 	if(!(document.Form1.DEL_FROM.value)){
 		alert("Please enter a To Name.");
 		document.Form1.DEL_FROM.focus();
 		return false;
 	}
	if(!(document.Form1.DEL_CITY.value)){
 		alert("Please enter a Delivery City.");
 		document.Form1.DEL_CITY.focus();
 		return false;
 	}
 	if(!(document.Form1.DEL_STREET_NO.value)){
 		alert("Please enter a Delivery Street Number.");
 		document.Form1.DEL_STREET_NO.focus();
 		return false;
 	}
 	if(!(document.Form1.DEL_STREET_NAME.value)){
 		alert("Please enter a Delivery Street Name.");
 		document.Form1.DEL_STREET_NAME.focus();
 		return false;
 	}
 	//added check for zip code 9/21/09 by Elizabeth Lawrence
 	if (distOE == "Y")
 	{
 		if (!(document.Form1.DEL_ZIPCODE.value))
 		{
 			alert("Please enter a delivery zip code");
 			document.Form1.DEL_ZIPCODE.focus();
 			return false;
 		}
		if (DistZip[document.Form1.DEL_ZIPCODE.value])
		{
			//alert("Valid delivery zip: " + delZip);
		}
		else
		{
			alert("We do not deliver to this zip code: " + document.Form1.DEL_ZIPCODE.value);
			document.Form1.DEL_ZIPCODE.focus();
			document.Form1.DEL_ZIPCODE.select();
			return false;
		}
	}
 	if(!(document.Form1.Pcs.value)){
 		alert("Please enter # of Pieces.");
 		document.Form1.Pcs.focus();
 		return false;
 	}
 	if(!(document.Form1.Wt.value)){
 		alert("Please enter a Weight.");
 		document.Form1.Wt.focus();
 		return false;
 	}
 	if (document.Form1.Wt.value > 10)
 	{
		var vt=document.Form1.VehicleType;
		if (vt.options[vt.selectedIndex].text == "Bike")
		{
			alert("A package greater than 10 pounds cannot be sent by bike.");
			vt.focus();
			return false;
		}
	}
	if (document.Form1.MiscA00046 != null)
	{
		//field not required
	}
	else if(document.Form1.ServiceType.selectedIndex == 0)
	{
 		alert("Please select a Service Type.");
 		document.Form1.ServiceType.focus();
 		return false;
 	}
	else
	{
 		if (document.Form1.ServiceType.selectedIndex == 3 || document.Form1.ServiceType.selectedIndex == 4)
 		{
 			if (distOE == "N")
 			{
	 			var timeCheck = isValidTime();
	 			if (timeCheck == false){
	 				return false;
	 			}
	 			var dateCheck = isValidDate();
	 			if (dateCheck == false){
	 				return false;
	 			}
	
	 			pu = new Date();
	 			pu = new Date(document.Form1.PU_DATE_1.value + "/" + document.Form1.PU_DATE_2.value +"/" + document.Form1.PU_DATE_3.value + " " + document.Form1.PU_TIME_1.value + ":" + document.Form1.PU_TIME_2.value +":00 " + document.Form1.PU_TIME_3.value);
	
	 			if (pu.getHours() < 8 || pu.getHours() > 12 || (pu.getHours() == 12 && pu.getMinutes() > 0)){
	 				alert("Please Note.\n=======================================================\n\nThe Service Type you selected is only available Mon-Fri between 8:00 AM - 12:00 PM CT.\n\n=======================================================");
	 				return false;
	 			}
	
				if (pu.getUTCDay() == 0 || pu.getUTCDay() == 6){
	 				alert("Please Note.\n=======================================================\n\nThe Service Type you selected is only available Mon-Fri between 8:00 AM - 12:00 PM CT.\n\n=======================================================");
	 				return false;
				}
			}
 		}
 	}
	if ((document.Form1.MiscA00046 != null) || (distOE == "Y"))
	{
		//field not required
	}
	//VehicleType is required except when any ServiceType >= 7 (NightMove & following) is selected
	else if ((document.Form1.VehicleType.selectedIndex == 0) && 
			(document.Form1.ServiceType.selectedIndex < 7))
	{
 		alert("Please select a Vehicle Type.");
 		document.Form1.VehicleType.focus();
 		return false;
 	}
 	if (distOE == "N")
 	{
	 	if(!(isValidDate())){
	 		return false;
	 	}
	 	if(!(isValidTime())){
	 		return false;
	 	}
	 	if(!(dateDiff(document.Form1.PU_TIME_1.value + ":" + document.Form1.PU_TIME_2.value +":00 " + document.Form1.PU_TIME_3.value,
	 	              document.Form1.PU_DATE_1.value + "/" + document.Form1.PU_DATE_2.value +"/" + document.Form1.PU_DATE_3.value))){
	 		return false;
	 	}
	}
 	//chkRef, chkCaller, chkPhone, chkPUDateTime
 	if (chkRef == 'Y')
 	{
		//alert("calling CheckReference");
 		res = CheckReference();
 		if (! res)
 			return false;
 	}
 	if (chkCaller == 'Y')
 	{
 		res = CheckCaller();
 		if (! res)
 			return false;
 	}
 	if (chkPhone == 'Y')
 	{
 		res = CheckPhone();
 		if (! res)
 			return false;
 	}
 	if (chkPUDateTime == 'Y')
 	{
 		res = CheckPUDateTime();
 		if (! res)
 			return false;
 	}
 	//chkMiscP,chkMiscD
 	if (chkMiscP == 'Y')
 	{
 		res = CheckMiscP();
 		if (! res)
 			return false;
 	}
 	if (chkMiscD == 'Y')
 	{
 		res = CheckMiscD();
 		if (! res)
 			return false;
 	}
 	return true;
}

function CheckMiscP()
{
	if (document.Form1.Misc != null)
	{
		if(!(document.Form1.Misc.value))
		{
			alert("Please enter pickup information.");
			document.Form1.Misc.focus();
			return false;
		}
	}
	return true;
}

function CheckMiscD()
{
	if (document.Form1.MiscDel != null)
	{
		if(!(document.Form1.MiscDel.value))
		{
			alert("Please enter delivery information.");
			document.Form1.MiscDel.focus();
			return false;
		}
	}
	return true;
}

function CheckPUDateTime()
{
	//what checking goes here??
	return true;
}

function CheckPhone()
{
 		if (document.Form1.PhoneATTY != null){
 			if(!(document.Form1.PhoneATTY.value)){
 				alert("Please enter an Attorney.");
 				document.Form1.PhoneATTY.focus();
 				return false;
 			}
 			document.Form1.Phone.value = document.Form1.PhoneATTY.value;
 		}else{
 			if(!(document.Form1.Phone.value)){
 				alert("Please enter a Phone Number.");
 				document.Form1.Phone.focus();
 				return false;
 			}
 		}
 		return true;
}

function CheckCaller()
{
 		if (document.Form1.CallerCL != null && document.Form1.CallerATY != null){
 			if(!(document.Form1.CallerCL.value)){
 				alert("Please enter a Caller.");
 				document.Form1.CallerCL.focus();
 				return false;
 			}else{
 				for (i=document.Form1.CallerCL.value.length;i<11;i++){
 					document.Form1.CallerCL.value=document.Form1.CallerCL.value.concat(" ");
 				}
 			}
 			if(!(document.Form1.CallerATY.value)){
 				alert("Please enter an Attorney Number.");
 				document.Form1.CallerATY.focus();
 				return false;
 			}else{
 				for (i=document.Form1.CallerATY.value.length;i<5;i++){
 					document.Form1.CallerATY.value=document.Form1.CallerATY.value.concat(" ");
 				}
 			}
 			document.Form1.Caller.value = document.Form1.CallerCL.value + document.Form1.CallerATY.value;
 		}else{
 			if(!(document.Form1.Caller.value)){
 				alert("Please enter a Caller.");
 				document.Form1.Caller.focus();
 				return false;
 			}
 		}
 		return true;
}

function CheckReference()
{
	//var refRefNo = document.Form1.ReferenceNumber;
	//alert("refnum: " + refRefNo.value);
	var custno = document.Form1.CustomerNumber.value;
	//we're using custom reference field(s)
	if (document.Form1.ReferenceNumber1 != null)
	{
		//alert("custom ref fields!");
		//first reset ReferenceNumber field to empty, so it can be filled up - 3/26/10, Elizabeth Lawrence
		document.Form1.ReferenceNumber.value = "";
		//check for all ReferenceNumberx fields
 		for (i=0; i<document.Form1.elements.length; i++)
 		{
 			if (document.Form1.elements[i].name.match(/ReferenceNumber\d/i))
 			{
				//if (custno == "B01966")
					//alert("maxlength: "+document.Form1.elements[i].maxLength+", title: "+document.Form1.elements[i].title);
				//make sure they're all filled in
				if(!(document.Form1.elements[i].value))
				{
		 			alert("Please enter all parts of the Reference Number field.");
		 			document.Form1.elements[i].focus();
		 			return false;
		 		}
				//changed to use "title" attribute if maxlength not used (title = select, maxlength = input text) - 11/1/11, Elizabeth Lawrence
				//space-pad the field to fill up the required characters
				if (document.Form1.elements[i].maxLength != undefined)
				{
					//alert("RefNum maxlength - field length: "+document.Form1.elements[i].value.length+", maxlength: "+document.Form1.elements[i].maxLength);
					var newvalue = document.Form1.elements[i].value;
					if (document.Form1.elements[i].value.length < document.Form1.elements[i].maxLength)
					{
						//alert("too short--need to right pad");
						newvalue = RPad(document.Form1.elements[i].value, document.Form1.elements[i].maxLength);
						//document.Form1.elements[i].value = RPad(document.Form1.elements[i].value, document.Form1.elements[i].maxLength);
					}
				}
				else
				{
					//alert("RefNum title - field length: "+document.Form1.elements[i].value.length+", title: "+document.Form1.elements[i].title);
					var newvalue = document.Form1.elements[i].value;
					if (document.Form1.elements[i].value.length < document.Form1.elements[i].title)
					{
						//alert("too short--need to right pad: "+document.Form1.elements[i].value);
						newvalue = RPad(document.Form1.elements[i].value, document.Form1.elements[i].title);
						//alert("new value: "+newvalue);
						//document.Form1.elements[i].value = newvalue;
						//alert("new value: "+document.Form1.elements[i].value);
					}
				}
	 			//munge all the fields together into the ReferenceNumber field
	 			//document.Form1.ReferenceNumber.value += document.Form1.elements[i].value;
	 			document.Form1.ReferenceNumber.value += newvalue;
				//alert("refnum: |"+document.Form1.ReferenceNumber.value+"|");
	 		}
			if (document.Form1.elements[i].name.match(/MiscField\d/i))
			{
	 			//make sure they're all filled in
	 			if(!(document.Form1.elements[i].value))
	 			{
	 				alert("Please enter all parts of the Reference Number field.");
	 				document.Form1.elements[i].focus();
	 				return false;
	 			}
				//space-pad the field to fill up the required characters
				if (document.Form1.elements[i].maxLength != undefined)
				{
					//alert("Misc maxlength - field length: "+document.Form1.elements[i].value.length+", maxlength: "+document.Form1.elements[i].maxLength);
					var newvalue = document.Form1.elements[i].value;
					if (document.Form1.elements[i].value.length < document.Form1.elements[i].maxLength)
					{
						//alert("too short--need to right pad");
						//document.Form1.elements[i].value = RPad(document.Form1.elements[i].value, document.Form1.elements[i].maxLength);
						newvalue = RPad(document.Form1.elements[i].value, document.Form1.elements[i].maxLength);
					}
				}
				else
				{
					//alert("Misc title - field length: "+document.Form1.elements[i].value.length+", title: "+document.Form1.elements[i].title);
					var newvalue = document.Form1.elements[i].value;
					if (document.Form1.elements[i].value.length < document.Form1.elements[i].title)
					{
						//alert("too short--need to right pad");
						//document.Form1.elements[i].value = RPad(document.Form1.elements[i].value, document.Form1.elements[i].title);
						newvalue = RPad(document.Form1.elements[i].value, document.Form1.elements[i].title);
					}
				}
	 			//munge all the fields together into the ReferenceNumber field
	 			//document.Form1.MiscField.value += document.Form1.elements[i].value;
	 			document.Form1.MiscField.value += newvalue;
				//alert("misc: |"+document.Form1.MiscField.value+"|");
	 		}
	 	}
	}
	//no custom fields
	else
	{
		if(!(document.Form1.ReferenceNumber.value))
		{
			alert("Please enter a Reference Number.");
 			document.Form1.ReferenceNumber.focus();
 			return false;
 		}
 	}
	//alert("refnum: |"+document.Form1.ReferenceNumber.value+"|");
	//alert("misc: |"+document.Form1.MiscField.value+"|");
 	return true;
}	

function NewWindow(mypage, myname, w, h, scroll) {
	var winl = (screen.width - w) / 2;
	var wint = (screen.height - h) / 2;
	winprops = 'toolbar=0,title=0,location=0,menubar=0,height='+h+',width='+w+',top='+wint+',left='+winl+',scrollbars='+scroll+',resizable'
	win = window.open(mypage, myname, winprops)
	if (parseInt(navigator.appVersion) >= 4) { win.window.focus(); }
}

function fillEmail(email){
	if (email){
		document.Form1.Email.value = email;
	}else{
		document.Form1.Email.value = "";
	}
	return false;
}

function fillSearchSavedAddress(customerNo){
	if (document.Form1.SearchSavedAddress.value){
		var item = document.Form1.SearchSavedAddress.value;
		item = item.replace(/\s{1}/g,"-");
		NewWindow('./savedAddressLookup.php?item=name&custno='+customerNo+'&val='+item,'name','600','100','yes');
		return false;
	}
}

//function added by Elizabeth Lawrence, 4/16/06
function fixStreetName(txtField)
{
	var streetName = txtField.value;
	streetName = streetName.replace(/\./g, "");
	streetName = streetName.toUpperCase();
	//added word boundaries in all regexes 10/25/11, E. Lawrence
	streetName = streetName.replace(/^NORTH\b/g, "N");
	streetName = streetName.replace(/^SOUTH\b/g, "S");
	streetName = streetName.replace(/^EAST\b/g, "E");
	streetName = streetName.replace(/^WEST\b/g, "W");
	streetName = streetName.replace(/\bAVENUE\b/g, "AVE");
	streetName = streetName.replace(/\bDRIVE\b/g, "DR");
	streetName = streetName.replace(/\bSTREET\b/g, "ST");
	streetName = streetName.replace(/\bROAD\b/g, "RD");
	streetName = streetName.replace(/\bBLVD\b/g, "BLV");
	streetName = streetName.replace(/\bBOULEVARD\b/g, "BLV");
	streetName = streetName.replace(/\bCIRCLE\b/g, "CR");
	streetName = streetName.replace(/\bCOURT\b/g, "CT");
	//added the following replacements 10/25/11, E. Lawrence
	streetName = streetName.replace(/\bPLACE\b/g, "PL");
	streetName = streetName.replace(/\bSTR\b/g, "ST");
	streetName = streetName.replace(/\bAV\b/g, "AVE");
	streetName = streetName.replace(/\bCIR\b/g, "CR");
	streetName = streetName.replace(/\bDRIV\b/g, "DR");
	txtField.value = streetName;
}

function checkPUStreetName(){
		if (document.Form1.PU_STREET_NAME.value){
			var StreetName = document.Form1.PU_STREET_NAME.value;
			if (StreetName.length > 0){
				if (document.Form1.PU_CITY.value){
					if (document.Form1.PU_CITY.value == 'CHICAGO'){
						var item = document.Form1.PU_STREET_NAME.value;
						item = item.replace(/\s{1}/g,"-");
						NewWindow('./streetNameLookup.php?item=name&ins=PU&val='+item,'name','400','100','yes');
						return false;
					}
				}else{
					alert("Please enter a City for pickup.");
					document.Form1.PU_CITY.focus();
				}
			}
		}else{
			if (document.Form1.PU_CITY.value){
				if (document.Form1.PU_CITY.value == 'CHICAGO'){
					var item = document.Form1.PU_STREET_NAME.value;
					item = item.replace(/\s{1}/g,"-");
					NewWindow('./streetNameLookup.php?item=name&ins=PU&val='+item,'name','400','100','yes');
					return false;
				}
			}
		}
}

//function added 9/21/09 by Elizabeth Lawrence
function checkDistZip(delZip)
{
	if (DistZip[delZip])
	{
		//alert("Valid delivery zip: " + delZip);
		document.Form1.DEL_ZIPCODE.value = delZip;
	}
	else
	{
		alert("We do not deliver to this zip code: " + delZip);
		document.Form1.DelZip2.focus();
		document.Form1.DelZip2.select();
	}
}

function fillPUCity(){
    var fld = document.Form1.PU_CITY;
    if (fld.value.length == 0) {
    	if (ZipCity[document.Form1.PU_ZIPCODE.value]){
	        fld.value = ZipCity[document.Form1.PU_ZIPCODE.value];
        }
	}
	return false;
}

function fillPUZip(){
	if(	document.Form1.PU_CITY.value ){
		document.Form1.PU_CITY.value = document.Form1.PU_CITY.value.toUpperCase();
	}
    if (document.Form1.PU_ZIPCODE.value.length == 0) {
    	if (CityZip[document.Form1.PU_CITY.value]){
    		document.Form1.PU_ZIPCODE.value = CityZip[document.Form1.PU_CITY.value];
    	}else{
    		var item = document.Form1.PU_CITY.value;
    		item = item.replace(/\s{1}/g,"-");
    		NewWindow('./cityLookup.php?item=city&ins=PU&val='+item,'name','400','100','yes');
    		return false;
        }
    }
	return false;
}

function ClearPU(){
  // clear the data fields
  document.Form1.PU_FROM.value = "";
  document.Form1.PU_ZIPCODE.value = "";
  document.Form1.PU_STATE.value = "";
  document.Form1.PU_CITY.value = "";
  document.Form1.PU_STREET_NO.value = "";
  document.Form1.PU_STREET_NAME.value = "";
  document.Form1.PU_ROOM.value = "";
  //added Instructions 10/17/09 by Elizabeth Lawrence
  document.Form1.PU_INST.value = "";
  return false;
}

function FillPU(){
  var s;
  var s2;
  var s3;
  var ary;
  var ary2;

  // clear the data fields
  ClearPU();

  s = document.Form1.savedAddress.options [ document.Form1.savedAddress.selectedIndex ].value;

  ary = s.split(":");

  s1 = ary[1];
  ary2 = s1.split(" ");

 s3 = ary2[1];
  for (var i=2;i<ary2.length;i++){
	  if (ary2[i] != null){
		  s3 += " "+ary2[i];
  	}
  }

  document.Form1.PU_FROM.value = ary[0];
  document.Form1.PU_ZIPCODE.value = ary[5];
  document.Form1.PU_STATE.value = ary[4];
  document.Form1.PU_CITY.value = ary[3];
  document.Form1.PU_STREET_NO.value = ary2[0];
  document.Form1.PU_STREET_NAME.value = s3;
  document.Form1.PU_ROOM.value = ary[2];
  //added Instructions 10/17/09 by Elizabeth Lawrence
  document.Form1.PU_INST.value = ary[6];
  return false;
}

function FillPUSearch(){
  var s;
  var s2;
  var s3;
  var ary;
  var ary2;

  // clear the data fields
  ClearPU();

  s = document.Form1.SearchSavedAddress.value;

  ary = s.split(":");

  s1 = ary[1];
  ary2 = s1.split(" ");

  s3 = ary2[1];
  for (var i=2;i<ary2.length;i++){
	  if (ary2[i] != null){
		  s3 += " "+ary2[i];
  	}
  }

  document.Form1.PU_FROM.value = ary[0];
  document.Form1.PU_ZIPCODE.value = ary[5];
  document.Form1.PU_STATE.value = ary[4];
  document.Form1.PU_CITY.value = ary[3];
  document.Form1.PU_STREET_NO.value = ary2[0];
  document.Form1.PU_STREET_NAME.value = s3;
  document.Form1.PU_ROOM.value = ary[2];
  //added Instructions 10/17/09 by Elizabeth Lawrence
  document.Form1.PU_INST.value = ary[6];
  return false;
}

function checkDELStreetName(){
		if (document.Form1.DEL_STREET_NAME.value){
			var StreetName = document.Form1.DEL_STREET_NAME.value;
			if (StreetName.length > 0){
				if (document.Form1.DEL_CITY.value){
					if (document.Form1.DEL_CITY.value == 'CHICAGO'){
						var item = document.Form1.DEL_STREET_NAME.value;
						item = item.replace(/\s{1}/g,"-");
						NewWindow('./streetNameLookup.php?item=name&ins=DEL&val='+item,'name','400','100','yes');
						return false;
					}
				}else{
					alert("Please enter a City for delivery.");
					document.Form1.DEL_CITY.focus();
				}
			}
		}else{
			if (document.Form1.DEL_CITY.value){
				if (document.Form1.DEL_CITY.value == 'CHICAGO'){
					var item = document.Form1.DEL_STREET_NAME.value;
					item = item.replace(/\s{1}/g,"-");
					NewWindow('./streetNameLookup.php?item=name&ins=DEL&val='+item,'name','400','100','yes');
					return false;
				}
			}
		}
}

function fillDELCity(){
    var fld = document.Form1.DEL_CITY;
    if (fld.value.length == 0) {
	    if (ZipCity[document.Form1.DEL_ZIPCODE.value]){
		    fld.value = ZipCity[document.Form1.DEL_ZIPCODE.value];
	    }
    }
	return false;
}

function fillDELZip(){
	if(	document.Form1.DEL_CITY.value){
		document.Form1.DEL_CITY.value = document.Form1.DEL_CITY.value.toUpperCase();
	}
    if (document.Form1.DEL_ZIPCODE.value.length == 0) {
    	if (CityZip[document.Form1.DEL_CITY.value]){
    		document.Form1.DEL_CITY.value.toUpperCase();
    		document.Form1.DEL_ZIPCODE.value = CityZip[document.Form1.DEL_CITY.value];
    	}else{
    		var item = document.Form1.DEL_CITY.value;
    		item = item.replace(/\s{1}/g,"-");
    		NewWindow('./cityLookup.php?item=city&ins=DEL&val='+item,'name','400','100','yes');
    		return false;
    	}
    }
	return false;
}

function ClearDEL()
{
  // clear the data fields
  document.Form1.DEL_FROM.value = "";
  document.Form1.DEL_ZIPCODE.value = "";
  document.Form1.DEL_STATE.value = "";
  document.Form1.DEL_CITY.value = "";
  document.Form1.DEL_STREET_NO.value = "";
  document.Form1.DEL_STREET_NAME.value = "";
  document.Form1.DEL_ROOM.value = "";
  //added Instructions 10/17/09 by Elizabeth Lawrence
  document.Form1.DEL_INST.value = "";
  return false;
}

function FillDEL()
{
  var s;
  var s2;
  var s3;
  var ary;
  var ary2;

  // clear the data fields
  ClearDEL();

  s = document.Form1.savedAddress.options [ document.Form1.savedAddress.selectedIndex ].value;
  ary = s.split(":");

  s1 = ary[1];
  ary2 = s1.split(" ");

  s3 = ary2[1];
  for (var i=2;i<ary2.length;i++){
	  if (ary2[i] != null){
		  s3 += " "+ary2[i];
  	}
  }

  document.Form1.DEL_FROM.value = ary[0];
  document.Form1.DEL_ZIPCODE.value = ary[5];
  document.Form1.DEL_STATE.value = ary[4];
  document.Form1.DEL_CITY.value = ary[3];
  document.Form1.DEL_STREET_NO.value = ary2[0];
  document.Form1.DEL_STREET_NAME.value = s3;
  document.Form1.DEL_ROOM.value = ary[2];
  //added Instructions 10/17/09 by Elizabeth Lawrence
  if ( typeof( ary[6] ) != "undefined" )
	  document.Form1.DEL_INST.value = ary[6];
  return false;
}

function FillDELSearch(){
  var s;
  var s2;
  var s3;
  var ary;
  var ary2;

 // clear the data fields
  ClearDEL();

  s = document.Form1.SearchSavedAddress.value;
  ary = s.split(":");

  s1 = ary[1];
  ary2 = s1.split(" ");

  s3 = ary2[1];
  for (var i=2;i<ary2.length;i++){
	  if (ary2[i] != null){
		  s3 += " "+ary2[i];
  	}
  }

  if (ary[0]){
	  document.Form1.DEL_FROM.value = ary[0];
  }
  if (ary[5]){
	  document.Form1.DEL_ZIPCODE.value = ary[5];
  }
  if (ary[4]){
	  document.Form1.DEL_STATE.value = ary[4];
  }
  if (ary[3]){
	  document.Form1.DEL_CITY.value = ary[3];
  }
  if (ary2[0]){
	  document.Form1.DEL_STREET_NO.value = ary2[0];
  }
  if (s3){
	  document.Form1.DEL_STREET_NAME.value = s3;
  }
  if (ary[2]){
	  document.Form1.DEL_ROOM.value = ary[2];
  }
  //added Instructions 10/17/09 by Elizabeth Lawrence
  if (ary[6]){
	  document.Form1.DEL_INST.value = ary[6];
  }
  return false;
}

function fillPUTime(formObj)
{
	//added 1st 2 lines 8/9/07 by Elizabeth Lawrence to always use Central Time Zone
	//removed -- see setting at top of script
	//var TimezoneOffset = -6;  // adjust for time zone
	var localTime = new Date();
	var ms = localTime.getTime() 
				+ (localTime.getTimezoneOffset() * 60000)
				+ TimezoneOffset * 3600000;
	var now = new Date(ms);
	var hours = now.getHours();
	var minutes = now.getMinutes();
	var tod = "AM";
	if (hours >= 12)
		tod = "PM";
	if (hours > 12)
		hours -= 12;
	if (hours == "0")
		hours = 12;
	if (minutes < 10)
		minutes = "0" + minutes;
	formObj.PU_TIME_1.value = hours;
	formObj.PU_TIME_2.value = minutes;
	if (tod == "AM")
		formObj.PU_TIME_3.options[1].selected = true;
	else
		formObj.PU_TIME_3.options[2].selected = true;
}

