function init() {}
/*<!-- Begin
function init() {
define('name', 'string', 'Name');
define('address', 'string', 'Address');
define('city', 'string', 'City');
define('state', 'string', 'State');
define('zip', 'num', 'Zip', 5, 9);
define('telephone1', 'num', 'Area Code', 3);
define('telephone2', 'num', 'Telephone Prefix', 3);
define('telephone3', 'num', 'Telephone Number', 4);
define('email', 'email', 'Email');
}
//  End --> */

function window_open() {
	var newWindow;
    var urlstring = 'calendar1.htm';
    newWindow = window.open(urlstring, '', 'height=200, width=280, toolbar=no, minimize=no, status=no, menubar=no, location=no, scrollbars=no');
}

function window_open1() {
	var newWindow;
    var urlstring = 'calendar.htm';
    newWindow = window.open(urlstring, '', 'height=200, width=280, toolbar=no, minimize=no, status=no, menubar=no, location=no, scrollbars=no');
}


function deleteBlanks(entry) {
	var len = entry.length ;
	var foundBlank = 1;
	while(foundBlank == 1 && len > 0) {
		var indx = entry.indexOf(" ");
		if(indx == -1) {
			foundBlank = 0 ;
		}
		else {
			entry = entry.substring(0,indx) + entry.substring(indx+1,len);
		}
		len = entry.length;
	}
	return entry;
}

function isEmpty(val,valName) {
	if (!deleteBlanks(val.value) || val.value == "Enter Your Email") {
		alert(valName + " is required");
		val.focus();
		return false;	
	}
	return true;
}

//****************************************************************************
// Function To Check Entered Email Is Containing Any Special Characters or Not
//****************************************************************************
function emailCheck(emailStr) {
    var retVal = false;
	femailStr= emailStr;
	emailStr = emailStr.value;

	/* The following pattern is used to check if the entered e-mail address
	   fits the user@domain format.  It also is used to separate the username
	   from the domain. */
	var emailPat=/^(.+)@(.+)$/
	
	/* The following string represents the pattern for matching all special
	   characters.  We don't want to allow special characters in the address. 
	   These characters include ( ) < > @ , ; : \ " . [ ]    */
	var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]$!%^()+|=~*&#?/'{}`"
	
	/* The following string represents the range of characters allowed in a 
	   username or domainname.  It really states which chars aren't allowed. */
	var validChars="\[^\\s" + specialChars + "\]"
	
	/* The following pattern applies if the "user" is a quoted string (in
	   which case, there are no rules about which characters are allowed
	   and which aren't; anything goes).  E.g. "jiminy cricket"@disney.com
	   is a legal e-mail address. */
	var quotedUser="(\"[^\"]*\")"
	
	/* The following pattern applies for domains that are IP addresses,
	   rather than symbolic names.  E.g. joe@[123.124.233.4] is a legal
	   e-mail address. NOTE: The square brackets are required. */
	var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/
	
	/* The following string represents an atom (basically a series of
	   non-special characters.) */
	var atom=validChars + '+'
	
	/* The following string represents one word in the typical username.
	   For example, in john.doe@somewhere.com, john and doe are words.
	   Basically, a word is either an atom or quoted string. */
	var word="(" + atom + "|" + quotedUser + ")"
	
	// The following pattern describes the structure of the user
	var userPat=new RegExp("^" + word + "(\\." + word + ")*$")
	
	/* The following pattern describes the structure of a normal symbolic
	   domain, as opposed to ipDomainPat, shown above. */
	var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$")
	
	/* Finally, let's start trying to figure out if the supplied address is
	   valid. */
	/* Begin with the coarse pattern to simply break up user@domain into
	   different pieces that are easy to analyze. */
	var matchArray=emailStr.match(emailPat)
		while(true) {
			if (matchArray==null) {			
		  		/* Too many/few @'s or something; basically, this address doesn't
			 	even fit the general mould of a valid e-mail address. */
				alert("Invalid E-mail.")
				femailStr.focus();
				break;
			}

			var user=matchArray[1]
			var domain=matchArray[2]

			// See if "user" is valid 
			if (user.match(userPat)==null) {
				// user is not valid
				alert("Invalid E-mail. The email address doesn't seem to be valid.")
				femailStr.focus();
				break;
			}

			/* if the e-mail address is at an IP address (as opposed to a symbolic
	   		host name) make sure the IP address is valid. */
			var IPArray=domain.match(ipDomainPat)							   
			if (IPArray!=null) {
				// this is an IP address
				for (var i=1;i<=4;i++) {
					if (IPArray[i]>255) {
						alert("Invalid E-mail. Destination IP address is invalid!")
						//break;
						return false;
					}	
				}			
				//break;
				return true;		
			}									
	
			// Domain is symbolic name		
			var domainArray=domain.match(domainPat)
	
			if (domainArray==null) {		
				alert("Invalid E-mail. The domain name doesn't seem to be valid.")
				femailStr.focus();
				break;
			}

			/* domain name seems valid, but now make sure that it ends in a
		   	three-letter word (like com, edu, gov) or a two-letter word,
		   	representing country (uk, nl), and that there's a hostname preceding 
		   	the domain or country. */
			/* Now we need to break up the domain to get a count of how many atoms
		   	it consists of. */

			var atomPat=new RegExp(atom,"g")	
			var domArr=domain.match(atomPat)	
			var len=domArr.length

			if (domArr[domArr.length-1].length<2 || domArr[domArr.length-1].length>3) {			
			   // the address must end in a two letter or three letter word.			
			   alert("Invalid E-mail. The E-mail must end in a three-letter domain, or two letter country.")
		   	   femailStr.focus();
		       break;
		    }

			// Make sure there's a host name preceding the domain.	
			if (len < 2) {	
			   var errStr="Invalid E-mail. This address is missing a hostname!"
			   alert(errStr)
				femailStr.focus();
			   break;
			}			
		   retVal = true;
		   break;		   
       }		  		
   // If we've gotten this far, everything's valid!	
   return retVal;

 }	
//  End -->	

function isTel(val1,val2,val3,valName) {
	inv=0;
	v=val1.value+val2.value+val3.value;
	if (v!="") {
		if (v.length<10) {
			inv=1;
		}
		for (var i=0;i<v.length && inv==0;i++) {
			if ( v.charAt(i)<"0" || v.charAt(i)>"9") {
				inv=1;
			}
		}
		if (inv==1)	{
			alert (valName + " is invalid")
			val1.focus();
			val1.select();
			return false;
		}
	}
	return true;
}

function isValidDate(day,month,year) {
	errflag=0;
	if (day==0 || month==0 || year==0) {
		errflag=1;
	}
	if (errflag==0) {
		month=month.toString();
		switch(month) {
			case '2':
	 			leap=year%4;
 				if(leap>0 && day>28) {
					errflag=1;
				}
				else if (day>29) {
					errflag=1;
				}
				break;
			case '4':
			case '6':
			case '9':
			case '11':
				if(day>30) {
					errflag=1;
				}
				break;
			case '1':
			case '3':
			case '5':
			case '7':
			case '8':
			case '10':
			case '12':
				if(day>31) {
					errflag=1;
				}
				break;
			default :
				errflag=1;
		}
	}
	if(errflag) {
		return false;
	}
	return true;
}

function isDate(val,valName) {
	tmp=val.value
	inv=0;
	if (tmp!="") {
		count=0;
		str = tmp.toString();
		for (i=0;i<str.length;i++)	{
			ch = str.substr(i, 1);
   		    if ( (ch<"0" || ch>"9") && ch!='/') {
				inv=1;
			}
		}
		idx=tmp.indexOf('/',0);
		if (idx<1 || idx>2) {
			inv=1;
		}
		else {
			a=tmp.substring(0,idx);
			b=tmp.substring(idx+1);
			if (b!="") {
				idx=b.indexOf('/',0);
				if (idx<1 || idx>2) {
					inv=1;
				}
				else {
					c=b.substring(idx+1);
					b=b.substring(0,idx);
					if (c=="") {
						inv=1;
					}
				}
			}
		}
	}
	if (inv==0) {
		alert("a="+a);
		alert("b="+b);
		alert("c="+c);
		mm=parseInt(a);
		dd=parseInt(b);
		yy=parseInt(c);
		alert("mm="+mm);
		alert("dd="+dd);
		alert("yy="+yy);
		if (!(isValidDate(dd,mm,yy))) {
			inv=1;	
		}
	}

	if (inv==1) {
		alert(valName + " is invalid")
		val.focus();
		return false;
	}
	return true;
}

function isNumber(val) 
{
	count=0;
	str = val.toString();
	for (i=0;i<str.length;i++)
	{
		ch = str.substr(i, 1);
   	    if (ch<"0" || ch>"9")
			return false;
	}
    return true;
}


function validate() {
	var returnVal = false;
	
	while(true) {
		if(!isEmpty(document.contact.name1,"Name")) {
			break;
		}

		if(!isEmpty(document.contact.address,"Address")) {
			break;
		}
	
		if(!isEmpty(document.contact.city,"City")) {
			break;
		}


		if (document.contact.state[document.contact.state.selectedIndex].value==0) {
			alert("Select a State");
			document.contact.state.focus();
			break;
		}

		if(!isEmpty(document.contact.zip,"Zip Code")) {
			break;
		}
		
		if (!isNumber(document.contact.zip.value)) {
			alert("Zip Code can only be numeric");
			document.contact.zip.focus();
			document.contact.zip.select();
			return false;
		}

		if ((!deleteBlanks(document.contact.telephone1.value)) && (!deleteBlanks(document.contact.telephone2.value)) && (!deleteBlanks(document.contact.telephone3.value)) ) {
			alert("Contact Phone Number is required");
			document.contact.telephone1.focus();
			break;
		}


		if(!isTel(document.contact.telephone1, document.contact.telephone2, document.contact.telephone3, "Contact Phone Number")) {
			break;
		}

		if(!isTel(document.contact.fax1, document.contact.fax2, document.contact.fax3, "Contact Fax")) {
			break;
		}	

		if(!isEmpty(document.contact.email,"E-mail")) {
			break;
		}
	
		if (deleteBlanks(document.contact.email.value)) {
			if(!emailCheck(document.contact.email)) {
				break;
			}
		}
			
		if (document.contact.email.value != deleteBlanks(document.contact.email.value)) {
			if (confirm("The spaces in Email will be removed")) {
				document.contact.email.value =  deleteBlanks(document.contact.email.value);
			}
			document.contact.email.focus();
			document.contact.email.select();
			break;
		}
			
		if(!isEmpty(document.contact.date,"Date of Incident")) {
			break;
		}

		returnVal = true;
		break;
	}
	return returnVal;
}

function validateNewsletter() {
	var retVal = false;
	
	while(true) {
		if(!isEmpty(document.newsletter.submitemail,"Email")) {
			break;
		}
		
		if (deleteBlanks(document.newsletter.submitemail.value)) {
			if(!emailCheck(document.newsletter.submitemail)) {
				break;
			}
		}

		if (document.newsletter.submitemail.value != deleteBlanks(document.newsletter.submitemail.value)) {
			if (confirm("The spaces in Email will be removed")) {
				document.newsletter.submitemail.value =  deleteBlanks(document.newsletter.submitemail.value);
			}
			document.newsletter.submitemail.focus();
			document.newsletter.submitemail.select();
			break;
		}
		retVal = true;
		break;
	}
	return retVal;
}

function validateContact() {
	var returnVal = false;
	
	while(true) {
		if(!isEmpty(document.left_contact.name1,"Name")) {
			break;
		}
		
		if ((!deleteBlanks(document.left_contact.telephone1.value)) && (!deleteBlanks(document.left_contact.telephone2.value)) && (!deleteBlanks(document.left_contact.telephone3.value)) ) {
			alert("Phone is required");
			document.left_contact.telephone1.focus();
			break;
		}
			
		if(!isTel(document.left_contact.telephone1, document.left_contact.telephone2, document.left_contact.telephone3,"Phone")) {
			break;
		}
			
		if(!isEmpty(document.left_contact.email,"E-mail")) {
			break;
		}
			
		if (deleteBlanks(document.left_contact.email.value)) {
			if(!emailCheck(document.left_contact.email)) {
				break;
			}
		}
		
		if (document.left_contact.email.value != deleteBlanks(document.left_contact.email.value)) {
			if (confirm("The spaces in Email will be removed")) {
				document.left_contact.email.value =  deleteBlanks(document.left_contact.email.value);
			}
			document.left_contact.email.focus();
			document.left_contact.email.select();
			break;
		}
			
		if(!isEmpty(document.left_contact.date,"Date of Incident")) {
			break;
		}
			
		returnVal = true;
		break;
	}
	return returnVal;
}