<!--

// default window status
defaultStatus = "Welcome to American Service Insurance Company";

// remove leading/trailing white space from string
function trim(str)
{
   return str.replace(/^\s*|\s*$/g,"");
}

// get element by id
function gebi(obj){
	
	return document.getElementById(obj);
}

// set window status
function winStatus(txt){
	
	window.status = txt;
}


function routeIt(pfx1,sfx1){

	document.routerForm.pfx.value = pfx1;
	document.routerForm.sfx.value = sfx1;

	document.routerForm.submit();
}

function Trim(str)
{
   return str.replace(/^\s*|\s*$/g,"");
}

function checkpay(amt) {

	var ptrn = /\D/i;
	if(amt.match(ptrn)) {
		return false;
	} else {
		return true;
	}
}

function ValidEmail (emailStr) {
	/* user@domain check and separate */
	var emailPat=/^(.+)@(.+)$/;
	/* special characters check */
	var specialChars="\*\?#$%\\(\\)<>@,;:\\\\\\\"\\.\\[\\]";
	/* characters allowed */
	var validChars="\[^\\s" + specialChars + "\]";
	/* "user" is a quoted string (all legal) */
	var quotedUser="(\"[^\"]*\")";
	/* bracketed IP addresses as domain */
	var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/;
	/* atom as a series of non-special characters */
	var atom=validChars + '+';
	/* one word in the typical username */
	var word="(" + atom + "|" + quotedUser + ")";
	// structure of the user
	var userPat=new RegExp("^" + word + "(\\." + word + ")*$");
	/* structure of a normal domain */
	var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$");
	
	var matchArray=emailStr.match(emailPat);
	if (matchArray==null) {
		alert("Your email address is not valid. Please check the @ and .'s. Thank You.");
		return false;
	}
	var user=matchArray[1];
	var domain=matchArray[2];
	
	if (user.match(userPat)==null) {
	
	    alert("Your USER@domain is not valid. Please re-enter your email. Thank You.");
	    return false;
	}
	
	var IPArray=domain.match(ipDomainPat);
	if (IPArray!=null) {
	
		  for (var i=1;i<=4;i++) {
		    if (IPArray[i]>255) {
		        alert("Your destination IP address is not valid. Please re-enter your email. Thank You.");
			return false;
		    }
	    }
	    return true;
	}
	
	var domainArray=domain.match(domainPat);
	if (domainArray==null) {
		alert("Your user@DOMAIN name is not valid. Please re-enter your email. Thank You.");
	    return false;
	}
	
	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) {
	
	   alert("Your email address must end in a 3-letter domain, or a 2-letter country code. Please correct this error. Thank You.");
	   return false;
	}
	
	if (len<2) {
	   var errStr="Your address is missing a hostname. Please re-enter your email. Thank You.";
	   alert(errStr);
	   return false;
	}
	
	// Good Address...
	return true;
}

function checkrequired(which, evalid) {
	var pass=true;
	var evl=true;

	if (document.images) {
		for (i=0;i<which.length;i++) {
			var tempobj=which.elements[i];
			//alert(which.elements[i]);
			if (tempobj.name.substring(0,8)=="required") {
				if (((tempobj.type=="text"||tempobj.type=="textarea")&&
					Trim(tempobj.value)=='')||(tempobj.type.toString().charAt(0)=="s"&&
					(tempobj.selectedIndex==0)||Trim(tempobj.value)=='null')||
					(tempobj.type=="radio"&&Trim(tempobj.value)=='')) {

					pass=false;
					break;
         		}
				
				if(tempobj.name == "requiredYourEmail"){
					evl = ValidEmail(evalid);
					if(!evl){
						pass=true;
						break;
					}
				}
				if(tempobj.name.indexOf("Date") != -1){
					if (tempobj.value.indexOf("use") > -1) {
						pass=false;
						break;
					}
				}
      		}
   		}
	}
	
	if (!pass) {
		shortFieldName=tempobj.name.substring(8,50).toUpperCase();
		alert("Please make sure the "+Trim(shortFieldName)+" field is completed. Thank You.");
		return false;

	} else {

		if(!evl) {
			return false;
		} else {
			return true;
		}
	}
}

function checkCC(which, evalid, evalid2) {
	var pass=true;
	var evl=true;

	
	if (document.images) {
		for (i=0;i<which.length;i++) {
			var tempobj=which.elements[i];
			//alert(which.elements[i]);
			if (tempobj.name.substring(0,8)=="required") {
				if (((tempobj.type=="text"||tempobj.type=="textarea")&&
					Trim(tempobj.value)=='')||(tempobj.type.toString().charAt(0)=="s"&&
					(tempobj.selectedIndex==0)||Trim(tempobj.value)=='null')||
					(tempobj.type=="radio"&&Trim(tempobj.value)=='')) {

					pass=false;
					break;
         		}
				
				if(tempobj.name == "requiredEmail"){
					evl = ValidEmail(evalid);
					if(!evl){
						pass=true;
						break;
					}
					if(Trim(evalid) != Trim(evalid2)) {
						alert("For validation purposes, please check that your Email addresses match. Thank You.");
						return false;
						break;
					}
				}
				if(tempobj.name == "requiredCreditCardNumber"){
					if(checkpay(tempobj.value) == false){
						alert("Only Numbers are allowed in the Credit Card field.");
						return false;
						break;
					}
				}
				if(tempobj.name == "requiredCreditCardNumber"){
					if(tempobj.value.length < 16){
						alert("Please enter the full 16-digits of your Credit Card Number.");
						return false;
						break;
					}
				}
				if(tempobj.name == "requiredPaymentDollar"){
					if(checkpay(tempobj.value) == false){
						alert("Only Numbers are allowed in the Payment Amount field.");
						return false;
						break;
					}
				}
				if(tempobj.name == "requiredPaymentCents"){
					if(checkpay(tempobj.value) == false){
						alert("Only Numbers are allowed in the Payment Amount field.");
						return false;
						break;
					}
				}
				if(tempobj.name == "requiredPaymentCents"){
					if(tempobj.value.length < 2){
						alert("Please use 2-digits for Payment Amount Cents.");
						return false;
						break;
					}
				}
				if(tempobj.name == "requiredPolicyholderAreaCode"){
					if(checkpay(tempobj.value) == false){
						alert("Only Numbers are allowed in the Phone Number field.");
						return false;
						break;
					}
				}
				if(tempobj.name == "requiredPolicyholderPhone"){
					if(checkpay(tempobj.value) == false){
						alert("Only Numbers are allowed in the Phone Number field.");
						return false;
						break;
					}
				}
				if(tempobj.name == "requiredZipCode"){
					trim(tempobj.value);
					if(checkpay(tempobj.value) == false){
						alert("Only Numbers are allowed in the Zip Code field.");
						return false;
						break;
					}
				}
				if(tempobj.name == "requiredExpirationMonth") {
					var today=new Date();
					if (trim(gebi("requiredExpirationYear").value) == today.getFullYear()) {
						if (tempobj.value < (today.getMonth() + 1)) {
							alert("Expiration Date must not before today's date");
							return false;
							break;
						}
					}
				}
				
      		}
   		}
	}
	
	
	if (!pass) {
		shortFieldName=tempobj.name.substring(8,50).toUpperCase();
		alert("Please make sure the "+Trim(shortFieldName)+" field is completed. Thank You.");
		return false;

	} else {
		if (eval(gebi("requiredPaymentDollar").value + " + 0." + gebi("requiredPaymentCents").value) == 0) {
			alert("Please enter a non-zero payment amount"); 
			return false;
		}
		if(!evl) {
			return false;
		} else {
			
			return true;
		}
	}
	
	
}

function checkFutureDate (yearControl, monthControl) {

}
function checkTerms(){
var agree=document.getElementById("agree");
	if (agree.checked) {
	document.getElementById("submit").disabled=false;
	}else{
	document.getElementById("submit").disabled=true;
	}

}

function checkTerms(){
var agree=document.getElementById("agree");
	if (agree.checked) {
	document.getElementById("submit").disabled=false;
	}else{
	document.getElementById("submit").disabled=true;
	}

}
//-->