// javascript form validation file 

function showHide(divName)
	{
		if(eval(divName +".style.display=='none'"))
				{ 		
					eval(divName +".style.display='inline'");
				}
		else
		{
			eval(divName +".style.display='none'");
		}
	}
	
// Check whether string s is empty.
function isEmpty(s)
{ return ((s == null) || (s.length == 0)) }

/****************************************************************/
// whitespace characters
var whitespace = " \t\n\r";

  function isWhitespace (s)
  {
	   var i;

	   // Is s empty?
	   if (isEmpty(s)) return true;

	   // Search through string's characters one by one
	   // until we find a non-whitespace character.
	   // When we do, return false; if we don't, return true.

	   for (i = 0; i < s.length; i++)
	   {
			// Check that current character isn't whitespace.
			var c = s.charAt(i);
			if (whitespace.indexOf(c) == -1) return false;
	   }
	   // All characters are whitespace.
	   return true;
  }
  
	var numb = '0123456789';
	var lwr = 'abcdefghijklmnopqrstuvwxyz';
	var upr = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
	
	function isValid(parm,val) {
	if (parm == "") return true;
	for (i=0; i<parm.length; i++) 
		{
		if (val.indexOf(parm.charAt(i),0) == -1) return false;
		}
	return true;
	}
	
	function isNum(parm) {return isValid(parm,numb);}
	function isLower(parm) {return isValid(parm,lwr);}
	function isUpper(parm) {return isValid(parm,upr);}
	function isAlpha(parm) {return isValid(parm,lwr+upr);}
	function isAlphanum(parm) {return isValid(parm,lwr+upr+numb);}
  
  function isValidDate(dateStr) {
	// Date validation function courtesty of 
	// Sandeep V. Tamhankar (stamhankar@hotmail.com) -->
	
	// Checks for the following valid date formats:
	// 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 + " is not in a valid date 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 isEmail(str) {
	// are regular expressions supported?
	var supported = 0;
	if (window.RegExp) {
	var tempStr = "a";
	var tempReg = new RegExp(tempStr);
	if (tempReg.test(tempStr)) supported = 1;
	}
	if (!supported) 
	return (str.indexOf(".") > 2) && (str.indexOf("@") > 0);
	var r1 = new RegExp("(@.*@)|(\\.\\.)|(@\\.)|(^\\.)");
	var r2 = new RegExp("^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,3}|[0-9]{1,3})(\\]?)$");
	return (!r1.test(str) && r2.test(str));
	}


// check existing policy form
function inputValidation()
{	

	if(isWhitespace(myForm.firstName.value))
	{
		myForm.firstName.focus();
		alert('The first name must have a value.');
		return false;
	}

	if(isWhitespace(myForm.lastName.value))
	{
		myForm.lastName.focus();
		alert('The last name must have a value.');
		return false;
	}
	
	if (isWhitespace(myForm.emailAddress.value))
	{
		myForm.emailAddress.focus();
		alert('The email address must have a value.');
		return false;
	}

	if (isWhitespace(myForm.home_phone.value))
	{
		myForm.home_phone.focus();
		alert('The phone field must contain a value.');
		return false;
	}

	if (isWhitespace(myForm.BestTime.value))
	{
		myForm.BestTime.focus();
		alert('The time field must contain a value.');
		return false;
	}
	
	// All is well, submit the form
	return true;
}
