var dtCh= "/";
var minYear=1900;
var maxYear=2100;
				function isInteger(s){
					var i;
				    for (i = 0; i < s.length; i++){
				        // Check that current character is number.
				        var c = s.charAt(i);
				        if (((c < "0") || (c > "9"))) return false;
				    }
				    // All characters are numbers.
				    return true;
				}
				function stripCharsInBag(s, bag){
					var i;
				    var returnString = "";
				    // Search through string's characters one by one.
				    // If character is not in bag, append to returnString.
				    for (i = 0; i < s.length; i++){
				        var c = s.charAt(i);
				        if (bag.indexOf(c) == -1) returnString += c;
				    }
				    return returnString;
				}
				function daysInFebruary (year){
					// February has 29 days in any year evenly divisible by four,
				    // EXCEPT for centurial years which are not also divisible by 400.
				    return (((year % 4 == 0) && ( (!(year % 100 == 0)) || (year % 400 == 0))) ? 29 : 28 );
				}
				function DaysArray(n) {
					for (var i = 1; i <= n; i++) {
						this[i] = 31
						if (i==4 || i==6 || i==9 || i==11) {this[i] = 30}
						if (i==2) {this[i] = 29}
				   }
				   return this
				}

				function isDate(dtStr){
					var daysInMonth = DaysArray(12)
					var pos1=dtStr.indexOf(dtCh)
					var pos2=dtStr.indexOf(dtCh,pos1+1)
					var strMonth=dtStr.substring(0,pos1)
					var strDay=dtStr.substring(pos1+1,pos2)
					var strYear=dtStr.substring(pos2+1)
					strYr=strYear
					if (strDay.charAt(0)=="0" && strDay.length>1) strDay=strDay.substring(1)
					if (strMonth.charAt(0)=="0" && strMonth.length>1) strMonth=strMonth.substring(1)
					for (var i = 1; i <= 3; i++) {
						if (strYr.charAt(0)=="0" && strYr.length>1) strYr=strYr.substring(1)
					}
					month=parseInt(strMonth)
					day=parseInt(strDay)
					year=parseInt(strYr)

					if (pos1==-1 || pos2==-1){
						alert("The date format should be : mm/dd/yyyy")
						return false
					}
					if (strMonth.length<1 || month<1 || month>12){
						alert("Please enter a valid month")
						return false
					}
					if (strDay.length<1 || day<1 || day>31 || (month==2 && day>daysInFebruary(year)) || day > daysInMonth[month]){
						alert("Please enter a valid day")
						return false
					}
					if (strYear.length != 4 || year==0 || year<minYear || year>maxYear){
						alert("Please enter a valid 4 digit year between "+minYear+" and "+maxYear)
						return false
					}
					if (dtStr.indexOf(dtCh,pos2+1)!=-1 || isInteger(stripCharsInBag(dtStr, dtCh))==false){
						alert("Please enter a valid date")
						return false
					}
				return true
				}

				function validateDate(field){
					var dt=field
					if (field.value!=""){
						if (isDate(field.value)==false){
							field.value = "";
							field.focus()
							return false
						}
					}
				    return true
				}

				function validate_phone( strValue )
				{
					var objRegExp  = /(^\d{3}-\d{3}-\d{4}$)/;
					return objRegExp.test(strValue);

				}

				function checkStep1() {
					var ok = "yes";
					var message = "The following fields are required:\n";
/*
if (document.theform.unit_size.options[document.theform.unit_size.options.selectedIndex].value == "") {
*/
					if (document.theform.unit_size.value == "") {
						ok = "no";
						message += " - Unit Size\n";
					}
					if (document.theform.location.value == "") {
						ok = "no";
						message += " - Location\n";
					}
					if (document.theform.date_needed.value == "") {
						ok = "no";
						message += " - Date Needed\n";
					}
					else
					{
						var dtString = document.theform.date_needed.value;
						//var dtConvString = dtString.replace(/[/]/g," ");
						var dt = new Date(dtString);
						if (dt < new Date())
						{
							ok = "no";
							message = "You can not make a reservation earlier than tomorrow!\n";
						}
					}

					if (ok == "no") {
						alert(message);
						return false;
				   	}
				   	return true;
				}


				function checkStep2() {
					var ok = "yes";
					var bad_data = "no";

					var message = "The following fields are required:\n";
					var message2 = "";

					if (document.theform.name.value == "") {
						ok = "no";
						message += " - Name\n";
					}
					if (document.theform.home_phone.value == "") {
						ok = "no";
						message += " - Home Phone\n";
					}
					if (document.theform.day_phone.value == "") {
						ok = "no";
						message += " - Daytime Phone\n";
					}
					if (document.theform.email.value == "") {
						ok = "no";
						message += " - Email\n";
					}
					if (document.theform.contact_method.value == "") {
						ok = "no";
						message += " - Desired Contact\n";
					}

					if (ok == "yes")
					{
						message = "";

				  		if (document.theform.home_phone.value.length != 10 || isNaN(document.theform.home_phone.value))
				  		{
							message2 += "That does not appear to be a valid home phone number.\n";
							ok = "no";
							bad_data = "yes";
				  		}

				  		if (document.theform.day_phone.value.length != 10 || isNaN(document.theform.day_phone.value))
				  		{
							message2 += "That does not appear to be a valid daytime phone number.\n";
							ok = "no";
							bad_data = "yes";
				  		}

						var EMAIL = "^[a-zA-Z0-9_-]+(\.([a-zA-Z0-9_-])+)*@[a-zA-Z0-9_-]+[.][a-zA-Z0-9_-]+([.][a-zA-Z0-9_-]+)*$";
						var re = new RegExp(EMAIL);
						if (!document.theform.email.value.match(re))
						{
							message2 += "That does not appear to be a valid email.\n";
							ok = "no";
							bad_data = "yes";
						}

					}

					if (ok == "no") {
						if (bad_data == "yes")
							message += message2;
						alert(message);
						return false;
				   	}
				   	return true;
				}