// JavaScript Document		

    var reply0 = function(data)
    {
			var form = document.getElementById("App_Engine_Form");
    	//DWRUtil.setValue('d0', DWRUtil.toDescriptiveString(data, 1));
    	var bStatus = DWRUtil.toDescriptiveString(data, 1);
			if (bStatus == "false")
			{
			  alert("We are unable to recognize your Program Number, please try again or contact BerkelyCare toll-free at 1-877-846-8834 for assistance.");
			  form['App_Engine_Form:question_1745'].focus();
			  return false;
			}
			else
			{
			  form['App_Engine_Form:question_1744'].focus();
				validateInput();
			}
    }
    
		function validateProgramNumber()
		{
			//alert("Validating the Program Number and Program Code...");
			var form = document.getElementById("App_Engine_Form");
			//alert("The program number is " + form['App_Engine_Form:question_1745'].value);
			AppUtil.getProductCode(form['App_Engine_Form:question_1745'].value, reply0);
		}
	
		function validateInput()
		{
			//alert("Validating input...");
			var dayInMs = 1000 * 60 * 60 * 24;
			var MAX_TRIP_LENGTH = 180 * dayInMs;
			var today = new Date();
			var todayStr = (today.getMonth() + 1) + "/" + today.getDate() + "/" + today.getFullYear();
			//alert("Today is " + today + ", (" + todayStr + ")");
			
			var form = document.getElementById("App_Engine_Form");
						
			// If pickupDate and returnDate both not empty,
			// error if pickupDate <= today,  pickupDate must be in the future
			// error if pickupDate > one year from now
			// error if returnDate < pickupDate, 
			// error if returnDate > pickupDate + 180 (MAX_TRIP_LENGTH=6mo), max trip length exceeded
			//
			if ( (form["App_Engine_Form:question_1750"].value != "") &&
					 (form["App_Engine_Form:question_1752"].value != "") )
			{
				var pickupDate = Date.parse(form["App_Engine_Form:question_1750"].value);
				var returnDate = Date.parse(form["App_Engine_Form:question_1752"].value);
				
				// Verify that the user entered dates a valid dates
				var pickupDateStr = (form["App_Engine_Form:question_1750"].value).split("/");
				var returnDateStr = (form["App_Engine_Form:question_1752"].value).split("/");
				if ( !isDate(pickupDateStr[2], pickupDateStr[0], pickupDateStr[1]) )
				{
					alert("Your pickup date is not a valid date.  Please re-enter in the form MM/DD/YYYY or click on the calendar.");
					form["App_Engine_Form:question_1750"].focus();
					return false;
				}

				if ( !isDate(returnDateStr[2], returnDateStr[0], returnDateStr[1]) )
				{
					alert("Your return date is not a valid date.  Please re-enter in the form MM/DD/YYYY or click on the calendar.");
					form["App_Engine_Form:question_1752"].focus();
					return false;
				}
               
               if(pickupDateStr[0].length<2 ||pickupDateStr[1].length<2)
				{
					alert("Your pickup date is not a valid date.  Please re-enter in the form MM/DD/YYYY or click on the calendar.");
					form["App_Engine_Form:question_1750"].focus();
					return false;
				}
				
                if(returnDateStr[0].length<2 || returnDateStr[1].length<2)
				{
					alert("Your return date is not a valid date.  Please re-enter in the form MM/DD/YYYY or click on the calendar.");
					form["App_Engine_Form:question_1752"].focus();
					return false;
				}
       
                if ( pickupDate < Date.parse(todayStr) )
				{
					alert("That date has already passed.  Please enter your Pickup Date.");
					form["App_Engine_Form:question_1750"].focus();
					return false;
				}
				else if ( pickupDate == Date.parse(todayStr) )
				{
					alert("This insurance must be purchased at least one day before the Pickup Date.  Please enter a different Pickup Date.");
					form["App_Engine_Form:question_1750"].focus();
					return false;
				}
				else if ( pickupDate > (Date.parse(todayStr) + (365 * dayInMs)) )
				{
					alert("The date you are picking up your car must be within one year of today's date.");
					form["App_Engine_Form:question_1750"].focus();
					return false;
				}
				else if (returnDate < pickupDate)
				{
					alert("The date you are picking up your car must be before the date you are returning the car.");
					form["App_Engine_Form:question_1750"].focus();
					return false;
				}
				else if (returnDate > (pickupDate + MAX_TRIP_LENGTH - 1))
				{
					alert("Your car rental has exceeded the maximum trip length for this insurance plan.  For assistance, please contact BerkelyCare at " + document.getElementById("site_phone").value);
					form["App_Engine_Form:question_1752"].focus();
					return false;
				}
			}
						
			return true;
		}
