

			// ***************************************************************************************************************************************************
			// checkEmail(String email address) returns boolean if valid/invalid email
			// ***************************************************************************************************************************************************
				function checkEmail(szEmail) {
					// Checks the passed field value and makes sure its a valid email address.
								
					// var szEmail = oEmailField.value
					var bEmailValid = false
					var bBadFlag = false
					var szUsername = ""
					var szDomain = ""
					var b1 = false
					var b2 = false
					var b3 = false
					var b4 = false
								
					if ((szEmail != "") && (InStr(szEmail,"@") > -1) && (InStr(szEmail,".") > -1)) {
						var iAtCount = 0
						var bSpecialFlag = false
						var szAtChr = ""
									
						for (var iAtLoop = 0; iAtLoop <= Len(szEmail); iAtLoop++) {
							szAtChr = Mid(szEmail, iAtLoop, 1)
										
							if (szAtChr == "@") {iAtCount++}
							if ((szAtChr >= Chr(32)) && (szAtChr <= Chr(44))) {bSpecialFlag = true; b1 = true}
							if ((szAtChr == Chr(47)) || (szAtChr == Chr(96)) || (szAtChr >= Chr(123))) {bSpecialFlag = true; b2 = true}
							if ((szAtChr >= Chr(58)) && (szAtChr <= Chr(63))) {bSpecialFlag = true; b3 = true}
							if ((szAtChr >= Chr(91)) && (szAtChr <= Chr(94))) {bSpecialFlag = true; b4 = true}
						}	
									
						if ((iAtCount == 1) && (bSpecialFlag == false)) {
							arrEmail = Split(szEmail, "@")
							szUsername = arrEmail[0]
							szDomain = arrEmail[1]
										
							// if user or domain empty, bad
							if ((szUsername == "") || (szDomain == "") || (szUsername == undefined) || (szDomain == undefined)) {bBadFlag = true}
										
							// if "." first character of domain, bad
							if (Mid(szDomain, 0, 1) == ".") {bBadFlag = true}
										
							// if no "." in domain, bad
							if (InStr(szDomain, ".") <= 0) {bBadFlag = true}
										
							// if "." at end of domain, bad
							if (Mid(szDomain, Len(szDomain)-1, 1) == ".") {bBadFlag = true}
										
							bEmailValid = true }
										
						else if (iAtCount == 0) {
							// no @ symbols, bad
							bBadFlag = true
						}
					}
								
					if (bBadFlag) {
						bEmailValid = false }
					else {
						bEmailValid = true
					}
								
					return bEmailValid;
				}
			// ***************************************************************************************************************************************************			

			//*****************************************************************************************************
			// INSTR
			//*****************************************************************************************************
				function InStr(STRING,SUBSTRING,COMPARE,START){
					if(START){
						STRING = STRING.substring(START,STRING.length);
					}
					if(CBool(COMPARE) || COMPARE ==undefined){
						STRING = STRING.toLowerCase();
						SUBSTRING = SUBSTRING.toLowerCase();
					}
					if(STRING.indexOf(SUBSTRING) > -1){
						return STRING.indexOf(SUBSTRING)
					}
					else{
						return 0;
					}
				}
			//*****************************************************************************************************
			
			
			//*****************************************************************************************************
			// CBOOL
			//*****************************************************************************************************
				function CBool(VALUE){
					VALUE = new String(VALUE);
					VALUE = VALUE.toLowerCase();
					if(VALUE== "1" || VALUE=="-1" || VALUE=="true" || VALUE == "yes"){
						return true;
					}
					else{
						return false;
					}
				}
			//*****************************************************************************************************
			
			
			//*****************************************************************************************************
			// LEN
			//*****************************************************************************************************
				function Len(STRING){
					return STRING.length;
				}
			//*****************************************************************************************************
			
			
			//*****************************************************************************************************
			// MID
			//*****************************************************************************************************
				function Mid(STRING,START,END){
					if(!START){START=0};
					if(!END || END > STRING.length){END=STRING.length};
					if(END!=STRING.length){END = START + END};
					return STRING.substring(START,END);
				}
			//*****************************************************************************************************
			
			
			//*****************************************************************************************************
			// CHR
			//*****************************************************************************************************
				function Chr(CHARACTER_CODE){
					return String.fromCharCode(CHARACTER_CODE);
				}
			//*****************************************************************************************************
			
			
			//*****************************************************************************************************
			// SPLIT
			//*****************************************************************************************************
				function Split(STRING,CHARACTER){
					return STRING.split(CHARACTER);
				}
			//*****************************************************************************************************