<!--

// default window status

defaultStatus = "Welcome to JEVCO Insurance";
defaultStatus_FRA = "Bienvenu chez JEVCO Assurance";


// 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 showHideMenu1(submenu){
	
	var lable=document.getElementById(submenu+'link').innerHTML;
	var sign=lable.substring(0,1);


	if (sign=='+'){
		var menutext=document.getElementById('temp'+submenu).innerHTML;
		document.getElementById(submenu).innerHTML=menutext;
		document.getElementById(submenu).style.display='block';
		document.getElementById(submenu+'link').innerHTML='-'+lable.substring(1);
	} else {
		document.getElementById(submenu).innerHTML='';
		document.getElementById(submenu).style.display='none';
	document.getElementById(submenu+'link').innerHTML='+'+lable.substring(1);
	}
}

function showHideMenu2(submenu){
var lable=document.getElementById(submenu+'link').innerHTML;
var sign=lable.substring(0,1);	

	if (sign=='+'){
		var menutext=document.getElementById('temp'+submenu).innerHTML;
		document.getElementById(submenu).innerHTML=menutext;
		document.getElementById(submenu).style.display='block';
		document.getElementById(submenu+'link').innerHTML='-'+lable.substring(1);
	}else{
		document.getElementById(submenu).innerHTML='';
		document.getElementById(submenu).style.display='none';
		document.getElementById(submenu+'link').innerHTML='+'+lable.substring(1);
	}
}

function setLanguage (language) {
	document.getElementById('changeLanguage').value = language;
	document.languageSelect.submit();
}


function pageReload(openMenu,page){
	switch (openMenu)
	{
	case 2:
		showHideMenu1('Product');
		break;
	case 3:
		showHideMenu1('Product');
		showHideMenu2('PersonalLines');
		break;
	case 4:
		showHideMenu1('Product');
		showHideMenu2('CommercialInsurance');
		break;
	case 5:
		showHideMenu1('Product');
		showHideMenu2('Surety');
		break;
	case 6:
		showHideMenu1('BrokerSection');
		showHideMenu2('BrokerCenter');
		showHideMenu2('OntarioBrokers');
		break;
	case 7:
		showHideMenu1('BrokerSection');
		showHideMenu2('BrokerCenter');
		showHideMenu2('AlbertaBrokers');
		break;
	case 8:
		showHideMenu1('BrokerSection');
		showHideMenu2('BrokerCenter');
		showHideMenu2('BritishColumbiaBrokers');
		break;
	case 9:
		showHideMenu1('BrokerSection');
		showHideMenu2('BrokerCenter');
		showHideMenu2('AtlanticProvincesBrokers');
		break;
	case 10:
		showHideMenu1('BrokerSection');
		showHideMenu2('BrokerCenter');
		break;
	case 11:
		showHideMenu1('Claims');
		break;
	case 12:
		showHideMenu1('ContactUs');
		break;
	case 13:
		showHideMenu1('BrokerSection');
		break;
		
	default:
		break;
	}
	
	
	
	var thePage = document.getElementById(page);
	thePage.style.color = "#F38F1D";
}


function displayProductManuals(prodManualId)
{
document.getElementById('ProductManual').innerHTML=document.getElementById(prodManualId).innerHTML;


}



function validateForm(frm,fldRay,typRay){

	var fldArr = fldRay;
	var fldArrLen = fldArr.length;
	var typArr = typRay;
	var fmObj = gebi(frm);
	var tempOb = new Object();
	var tempMsg = "";
	var goForm = true;
	var tempEmail = "";
	var tempResume = "";
	var resLen = 0;
	
	valformOuterLoop:
	for(fli=0; fli<fldArrLen; fli++){
	
		tempOb = gebi(frm+fldRay);
		
		
		if(typArr[fli] == "resume"){
			
			tempResume = Trim(gebi(frm+fldArr[fli]).value);
			resLen = tempResume.length;
			resSfx = Trim(tempResume.substring(resLen-4,resLen)).toLowerCase();
			
			if((resSfx != ".pdf") 
				&& (resSfx != ".doc") 
				&& (resSfx != ".txt")){
				
				alert("We can only accept resume files of type *.PDF, *.DOC, or *.TXT \n"
					+ "Please browse to another version of your resume. Thank You.");
				goForm = false;
				break valformOuterLoop;
				
			}
						
		} else if(typArr[fli] == "email"){
			
			tempEmail = Trim(gebi(frm+fldArr[fli]).value);
			goForm = ValidEmail(tempEmail);
			
			if(goForm == false){
				
				break valformOuterLoop;
			}
		
		} else {
			//alert(frm+":"+fldArr[fli]+":"+typArr[fli]);
			tempMsg = validateChars(frm,fldArr[fli],typArr[fli]);
			
			if(tempMsg != "PASS"){
				
				alert(tempMsg);
				goForm = false;
				break valformOuterLoop;
			}
		}
	}
	
	return goForm;
	
}



/* --------------------------------------------------------------------------------------- */
/* VALIDATE ALLOWED CHARS ---------------------------------------------------------------- */
/* --------------------------------------------------------------------------------------- */
function validateChars(frm,fld,typ){
	
	var fldId = frm + fld;
	var fldObj = gebi(fldId);
	var val = fldObj.value;
	var boolVal = true;
	
	if((typ == "alphanum") && (Trim(val) != "")){
		
		var ptrn = /[^a-zA-Z0-9\s-]/i;
		var msg = "ERROR: Only Alphanumeric characters, dashes and spaces are allowed. Please make changes to your \'" + fld + "\'. Thank you.";
		msg = msg.replace(/_/g, " ");
		if(val.match(ptrn)){
			boolVal = false;
		}
	}
	else if((typ == "alpha") && (Trim(val) != "")){
		
		var ptrn = /[^a-zA-Z-]/i;
		var msg = "ERROR: Only Alphabetic characters and dashes are allowed. Please make changes to your \'" + fld + "\'. Thank you.";
		msg = msg.replace(/_/g, " ");
		if(val.match(ptrn)){
			boolVal = false;
		}
	}
	else if((typ == "num") && (Trim(val) != "")){
		
		var ptrn = /[^0-9-]/i;
		var msg = "ERROR: Only Numeric characters and dashes are allowed. Please make changes to your \'" + fld + "\'. Thank you.";
		msg = msg.replace(/_/g, " ");
		if(val.match(ptrn)){
			boolVal = false;
		}
	}
	
	if(boolVal == false){
		return msg;
	} else {
		return "PASS";
	}
}












/* ----------------------------------------------------------------------------------------- */
/* CHECK REQUIRED FIELDS ------------------------------------------------------------------- */
/* ----------------------------------------------------------------------------------------- */
function checkReqFields(frmId,reqArr,btnId){

	
	var frmObj = gebi(frmId);
	var frmLen = frmObj.length;
	var frmElem = frmObj.elements;
	
	var btnObj = gebi(btnId);
	
	var reqRay = new Array(1);
	reqRay = reqArr;
	var reqLen = reqRay.length;
	
	var tempElem = new Object();
	var tempReq = frmId;
	var enableFlag = true;
	
	
	
	checkreqOuterLoop:
	for(fi=0; fi<frmLen; fi++){
		
		tempElem = frmElem[fi];
		
		checkreqInnerLoop:
		for(ri=0; ri<reqLen; ri++){
			
			tempReq = frmId + reqRay[ri];
			
			if(tempElem.id == tempReq){
				
				//alert(tempElem.id+":"+tempReq+":"+tempElem.type.substring(0,4)+":"+tempElem.value);
				
				if((tempElem.type.substring(0,4) == "text")
					&& (Trim(tempElem.value) == "")){
										
					enableFlag = false;
					break checkreqOuterLoop;
				}
				
				if((tempElem.type.substring(0,4) == "file")
					&& (Trim(tempElem.value) == "")){
										
					enableFlag = false;
					break checkreqOuterLoop;
				}
				
				if((tempElem.type.substring(0,3) == "sel")
					&& (tempElem.selectedIndex == 0)){
					
					enableFlag = false;
					break checkreqOuterLoop;
				}
			}
		}
	}
	
	
	if(enableFlag == true){
		
		btnObj.className = "subBtn";
	} else {
	
		btnObj.className = "subBtnOff";
	}
	btnObj.disabled = !enableFlag;
	
}


/* --------------------------------------------------------------------------------------- */
/* SET CURSOR TYPE ----------------------------------------------------------------------- */
/* --------------------------------------------------------------------------------------- */
function setCurs(elem,cur){
	gebi(elem).style["cursor"] = cur;
}

//-->