<!-- hide from none Javascript Browsers

//initialize global variables
	function iResult() {
		gValid=true;
		gErrChk=false;
		gFocused=false;
		gErrTxt="";
	}


//set result
	function sResult() {
		if (!gValid) {
			window.alert("Validation Error:\n\n"+gErrTxt);
			return false;
		}
		else {
			return true;
		}
	}


//set focus
	function sFocus(thisField) {

		if (gErrChk && !gFocused) {
			thisField.focus();
			gFocused = true;
			gValid = false;
			if (thisField.type != "select-one") {
				thisField.select();
			}
		}

	}


//validate e-mail address
	function vEmail(thisField) {
		gErrChk=false;

		if (!thisField) {
			return !gErrChk;
		}
		
		err=checkEmail(thisField);
		if (err=='0') {
			gErrChk = false;
		}
		else
		if (err=='1') {
			gErrTxt = gErrTxt + "*  Email Id must be completed.\n";
			gErrChk = true;
		}
		else
		if (err=='2') {
			gErrTxt = gErrTxt + "*  Email Id must start with a char.\n";
			gErrChk = true;
		}
		else
		if (err=='3') {
			gErrTxt = gErrTxt + "*  Email Id contains invalid char.\n";
			gErrChk = true;
		}
		else
		if (err=='4') {
			gErrTxt = gErrTxt + "*  Email Id contains embedded space.\n";
			gErrChk = true;
		}
		else
		if (err=='5') {
			gErrTxt = gErrTxt + "*  Email Id contains embedded @.\n";
			gErrChk = true;
		}
		else
		if (err=='6') {
			gErrTxt = gErrTxt + "*  Email Id contains no @.\n";
			gErrChk = true;
		}
		else
		if (err=='7') {
			gErrTxt = gErrTxt + "*  Email Id is invalid.\n";
			gErrChk = true;
		}
		
		sFocus(thisField);

		return !gErrChk;
	}


//validate e-mail format
// 0 - OK
// 1 - empty string
// 2 - 1st char is not a alpha char
// 3 - invalid char found
// 4 - embedded space found
// 5 - embedded @ found
// 6 - no @ found
// 7 - no . after @ found
	function checkEmail(thisField) {
		var text = "abcdefghijklmnopqrstuvwxyz-_0123456789.@";

		//check for length
		if (isEmpty(thisField)) {
			return '1';
		}
		else {
			var str= thisField.value;
		}

		//check for 1 char
		if (text.substr(0,25).indexOf(str.toLowerCase().substr(0,1))<0) {
			return '2';
		}
		else
		//check for invalid char
		if (checkSpecialChar(str,text) < 0) {
			return '3';
		}
		else
		//check for embedded space blank=s
		if (checkEmbed(str,"s")) {
			return '4';
		}
		else
		//check for embedded @
		if (str.indexOf("@")!=str.lastIndexOf("@")) {
			return '5';
		}
		else
		//check for unique @
		if (str.indexOf("@")<0) {
			return '6';
		}
		else
		//check for @ followed by .
		if (str.indexOf("@")>str.lastIndexOf(".")) {
			return '7';
		}

		return '0';
	}


//check for specific embedded chars (ie occur more than once)
	function checkEmbed(str,srch) {
		var isEmbedded = false;
		var cRegExp=new RegExp("\\"+srch+"\\w*","g");	//define regular expression
		var matchArray = str.match(cRegExp);			//match input

		if (matchArray != null) {
			if (srch == "s" && matchArray[0] != " ") {
				isEmbedded = true;
			}
			else
			if (srch != "s" && matchArray[1] >= " ") {
				isEmbedded = true;
			}
		}

		return isEmbedded;
	}


//check for special characters
	function checkSpecialChar(str,validStr) {
		var j=0;
		for (var i=0; i<str.length && j>=0; i++) {
			j = validStr.indexOf(str.toLowerCase().substr(i,1),0);
		}
		return j;
	}

		
//check for empty strings
//string is never empty for selection box
	function isEmpty(thisField) {
		var isEmpty = false;
		var str;
		
		if (thisField.type != "select-one") {
			thisField.value = removeInitBlk(thisField.value);
			if (thisField.value=="" || thisField.value.indexOf(" ")==0) {
				isEmpty = true;
			}
		}
//		else {
//			if (thisField.selectedIndex== null || thisField.selectedIndex<1) {
//				isEmpty = true;
//			}
//		}
		
		return isEmpty;
	}
	

//remove leading blanks
	function removeInitBlk(str) {
		var	newStr=str;

		if (str.substr(i,1)==" ") {
			matchArray = str.match(/\s\S*/g);
			bSpace = true;
			newStr='';
			for (var i=0; i<matchArray.length; i++) {
				if (matchArray[i]!=" " || bSpace == false) {
					newStr = newStr + matchArray[i];
					bSpace = false;
				}
			}
			newStr=newStr.substr(1);
		}
		return newStr;
	}


//validate search field
	function vSrch(thisField) {
		gErrChk=false;

		if (!thisField) {
			return !gErrChk;
		}
		
		if (isEmpty(thisField)) {
			gErrTxt = gErrTxt + "*  Search field must be completed.\n";
			gErrChk = true;
		}
		
		sFocus(thisField);

		return !gErrChk;
	}


//validate format for DOLId
//no need to validate when it is a selection box
	function vDOLId(thisField) {
		gErrChk=false;

		if (!thisField) {
			return !gErrChk;
		}
		else
		if (thisField.type=="select-one") {
			return !gErrChk;
		}

		err=checkFormat(thisField,6);
		if (err=='0') {
			gErrChk = false;	
		}
		else
		if (err=='1') {
			gErrTxt = gErrTxt + "*  DOL Id must be completed.\n";
			gErrChk = true;	
		}
		else  
		if (err=='2') {
			gErrTxt = gErrTxt + "*  DOL Id length must be at least 6 char.\n";
			gErrChk = true;
		}
		else
		if (err=='3') {
			gErrTxt = gErrTxt + "*  DOL Id must start with alpha char.\n";
			gErrChk = true;
		}
		else
		if (err=='4') {
			gErrTxt = gErrTxt + "*  DOL Id has invalid char.\n";
			gErrChk = true;
		}
		
		sFocus(thisField);

		return !gErrChk;
	}


//validate format for password
	function vPswd(thisField) {
		gErrChk=false;

		if (!thisField) {
			return !gErrChk;
		}
		
		err=checkFormat(thisField,6);
		if (err=='0') {
			gErrChk = false;	
		}
		else
		if (err=='1') {
			gErrTxt = gErrTxt + "*  Password must be completed.\n";
			gErrChk = true;	
		}
		else  
		if (err=='2') {
			gErrTxt = gErrTxt + "*  Password length must be at least 6 char.\n";
			gErrChk = true;
		}
		else
		if (err=='3') {
			gErrTxt = gErrTxt + "*  Password must start with alpha char.\n";
			gErrChk = true;
		}
		else
		if (err=='4') {
			gErrTxt = gErrTxt + "*  Password has invalid char.\n";
			gErrChk = true;
		}
		
		sFocus(thisField);

		return !gErrChk;
	}


//confirm password
	function cPswd(thisField,cField) {
		gErrChk=false;


		//only do so when both fields are present
		if (!thisField || !cField) {
			return !gErrChk;
		}
		
		//issue isEmpty to remove leading space
		isEmpty(cField);
		if (thisField.value!=cField.value) { 
			cField.value = ""; 
			gErrTxt = gErrTxt + "*  Password did not match.\n";
			gErrChk = true;	
		}

		sFocus(thisField);

		return !gErrChk;
	}


//check for fixed format
// 0 - OK
// 1 - empty string
// 2 - invalid length
// 3 - 1st char is not a alpha char
// 4 - invalid char found
	function checkFormat(thisField,len) {
		var text = "abcdefghijklmnopqrstuvwxyz-_0123456789";

		//check for length
		if (isEmpty(thisField)) {
			return '1';
		}
		else {
			var str= thisField.value;
		}

		//check for length
		if (str.length < len) {
			return '2';
		}
		else
		//check for 1 char
		if (text.substr(0,25).indexOf(str.toLowerCase().substr(0,1))<0) {
			return '3';
		}
		else
		//check for invalid char
		if (checkSpecialChar(str,text) < 0) {
			return '4';
		}
		
		return '0';
	}

// - stop hiding -->