// JScript File
    function verifyEmail(email) {
        var isValidEmail = true;
        var temp = "";
        if(email.value == "")
            isValidEmail = false;
        if(isValidEmail) {
        
            var apos = email.value.indexOf("@");
            var dotpos = email.value.lastIndexOf(".");            
            if(apos < 1 || dotpos - apos < 2 || email.value.length - dotpos < 3 || email.value.length - dotpos > 4)
                isValidEmail = false;
            else if(email.value.indexOf("@") != email.value.lastIndexOf("@"))
                isValidEmail = false;
        }
        if(!isValidEmail && !email.value == "") {
            alert("Invalid Email Address. Please enter a valid email address.");
            email.focus();
            email.select();
        }
        if(isValidEmail)
            return true;
        else 
            return false;
    }
    
    function verifyAreaCode(areaCode) {
        var rtnValue = areaCode.value.length == 3;
        if(!rtnValue && !areaCode.value == "") {
            alert("Invalid Area Code. Please enter a valid area code.");
            areaCode.focus();
            areaCode.select();
        }
        if(rtnValue)
            return true;
        else
            return false;
    }
    
    function verifyPhone1(phone1) {
        var rtnValue = phone1.value.length == 3;
        if(!rtnValue && !phone1.value == "") {
            alert("Invalid Phone Number Prefix. Please enter a valid phone number prefix.");
            phone1.focus();
            phone1.select();
        }
        if(rtnValue)
            return true;
        else
            return false;
    }
    
    function verifyPhone2(phone2) {
        var rtnValue = phone2.value.length == 4;
        if(!rtnValue && !phone2.value == "") {
            alert("Invalid Phone Number Suffix. Please enter a valid phone number suffix.");
            phone2.focus();
            phone2.select();
        }
        if(rtnValue)
            return true;
        else
            return false;
    }
    
    function verifyPhone(areaCode, phone1, phone2) {
        var rtnValue = verifyAreaCode(areaCode) && verifyPhone1(phone1) && verifyPhone2(phone2);
        
        if(rtnValue)
            return true;
        else
            return false;
    }
    
    function verifyState(state) {
		var rtnValue = (state.value.length == 0 || state.value.length == 2)
		if(!rtnValue) {
			alert("Invalid State. Please enter a valid State.");
			state.focus();
			state.select();
		}
		if(rtnValue)
            return true;
        else
            return false;
    }
    
    function verifyZip(zip) {
		var rtnValue = (zip.value.length == 0 || zip.value.length == 5)
		if(!rtnValue) {
			alert("Invalid Zip Code. Please enter a valid 5 digit zip code.");
			zip.focus();
			zip.select();
		}
		if(rtnValue)
            return true;
        else
            return false;
    }
    
    function verifyFields(form) {
        with(form) {
            if(!fname.value.length > 0) {
                alert("You must enter your first name.");
                fname.focus();
                return false;
            } else if(!lname.value.length > 0) {
                alert("You must enter your last name.");
                lname.focus();
                return false;
            } else if(!verifyPhone(areaCode, phone1, phone2)) {
                if(areaCode.value.length == 0) {
                    alert("You must enter the area code!");
                    areaCode.focus();
                } else if(phone1.value.length == 0) {
                    alert("You must enter the phone number prefix!");
                    phone1.focus();
                } else if(phone2.value.length == 0) {
                    alert("You must enter the phone number suffix!");
                    phone2.focus();
                }
                return false;
            } else if(!verifyEmail(email)) {
                alert("You must enter your email address.");
                email.focus();
                return false;
            } else 	
                return true;
            
        }
    }
    
    function getDomain(input) {
		input.value = document.domain;
    }
    
    function toUpper(field) {
        field.value = field.value.toUpperCase();
    }
    
    function suppressNonNumeric(e) {
		var keychar = getCharFromEvent(e);
        
        return isNumeric(keychar) || keychar == '\b' || keychar == '\t' || getkeyCodeFromEvent(e) == 46;
    }
    
    function suppressNumeric(e) {
        var keychar = getCharFromEvent(e);
        
        return !isNumeric(keychar);
    }
    
    function suppressNonAlphabetic(e) {
        var keychar = getCharFromEvent(e);
        
        return (isAlpha(keychar) || keychar == '\t' || keychar == '\b');
    }
    
    function removeNonNumeric(field, e) {
		var rtnValue = "";
		var illegalChars = "\"!@#$%^&*()";
		var keychar = getCharFromEvent(e);
		if(keychar != '\t' && keychar != '\b' && getkeyCodeFromEvent(e) != 16) {
		    for(var i = 0; i < field.value.length; i++) {
			    if(illegalChars.indexOf(field.value.slice(i,i+1)) == -1)
				    rtnValue = rtnValue + field.value.slice(i,i+1);
		    }
		    field.value = rtnValue;
		}
    }
    
    //navigation section (moving from element to element via javascript)
    function custIDKeyUp(e) {
        var theChar = getCharFromEvent(e);
        if(document.emailForm.custID.value.length == 4 && isNumeric(theChar))
            document.emailForm.fname.focus();
    }
    
    function stateKeyUp(e) {
        var theChar = getCharFromEvent(e);
        if(document.emailForm.state.value.length == 2 && isAlpha(theChar))
            document.emailForm.zip.focus();
        else if(document.emailForm.zip.value.length == 0 && theChar == '\b')
            document.emailForm.city.focus();
    }
    
    function zipKeyUp(e) {
        var theChar = getCharFromEvent(e);
        if(document.emailForm.zip.value.length == 5 && isNumeric(theChar))
            document.emailForm.areaCode.focus();
        else if(document.emailForm.zip.value.length == 0 && theChar == '\b')
            document.emailForm.state.focus();
    }
    
    function areaCodeKeyUp(e) {
        var theChar = getCharFromEvent(e);
        if(document.emailForm.areaCode.value.length == 3 && isNumeric(theChar))
            document.emailForm.phone1.focus();
        else if(document.emailForm.areaCode.value.length == 0 && theChar == '\b')
            document.emailForm.zip.focus();
    }
    
    function phone1KeyUp(e) {
        var theChar = getCharFromEvent(e);
        if(document.emailForm.phone1.value.length == 3 && isNumeric(theChar))
            document.emailForm.phone2.focus();
        else if(document.emailForm.phone1.value.length == 0 && theChar == '\b')
            document.emailForm.areaCode.focus();
    }
    
    function phone2KeyUp(e) {
        var theChar = getCharFromEvent(e);
        if(document.emailForm.phone2.value.length == 4 && isNumeric(theChar))
            document.emailForm.email.focus();
        else if(document.emailForm.phone2.value.length == 0 && theChar == '\b')
            document.emailForm.phone1.focus();
    }
    //end navigation code
    
    //utility functions
    function getCharFromEvent(e) {
        var keynum
        
        if(window.event) // IE
        {
        keynum = e.keyCode
        }
        else if(e.which) // Netscape/Firefox/Opera
        {
        keynum = e.which
        }
        if(keynum > 95 &&  keynum < 106)
			return keynum - 96
		else
			return String.fromCharCode(keynum)
    }
    
    function getkeyCodeFromEvent(e) {
		if(window.event) // IE
        {
        return e.keyCode
        }
        else if(e.which) // Netscape/Firefox/Opera
        {
        return e.which
        }
    }
    
    function isNumeric(aChar) {
        var validChars = "1234567890";
        
        return (validChars.indexOf(aChar) != -1);
    }
    
    function isAlpha(aChar) {
        var validChars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
        
        return (validChars.indexOf(aChar) != -1);
    }
