
    document.onKeyDown = myOnKeyDown;
    document.onKeyPress = myOnKeyDown;

    //verify for netscape/mozilla
    var nav4 = window.Event ? true : false;
    if(!isNS4){
        var isNS4 = (navigator.appName=="Netscape")?1:0;
    }
    /**
     * Controls how data is entered on the specified fields.
     */
    function myOnKeyDown(element,e) {

        if (element != null) {
            if (element.name == "ssn") {
                handleSSN (element,e);
            }
            else if (element.name == "phone1" || element.name == "phone2" || element.name == "phone" || element.name == "supervisorPhone") {
                handlePhoneNumber (element,e);
            }
            else if (element.name == "zipcode") {
                handleZipcode (element,e);
            }
            else if (element.name == "callDate") {
                handleDate (element,e);
            }
            else if (element.name == "dateFirstAvailable") {
                handleDate (element,e);
            }
			//Considerations for date fields in the Local Registered Nurse form 
			else if ((element.name.substr(0,4) == "cert") && ((element.name.substr(5,3) == "Exp") || (element.name.substr(6,3) == "Exp"))) {
				handleDate (element,e);
            }
			else if ((element.name.substr(0,3) == "lic") && ((element.name.substr(4,3) == "Exp") || (element.name.substr(5,3) == "Exp"))) {
				handleDate (element,e);
            }
			else if ((element.name.substr(0,4) == "back") && ((element.name.substr(5,4) == "Comp") || (element.name.substr(6,4) == "Comp"))) {
				handleDate (element,e);
            }
        }
     }

     /**
      * Function to select the entire field value upon mouse click.
      * This is necessary to aid data entry on format-sensitive fields.
      */
     function myOnClick(element) {
        if (element != null) {
            element.select();
        }
     }

    /**
     * Handles the data entry process for a phone number field.
     * The preferred format, and thus enforced here
     * is: ###.###.####
     */
    function handlePhoneNumber (element,e) {

        var myKeyCode;
        if (document.all)
        {
            e = window.event;
            myKeyCode = e.keyCode;
        } else {
            myKeyCode = e.which;
        }
				
				
        if((myKeyCode >= 48 && myKeyCode <= 57) || (myKeyCode >= 96 && myKeyCode <= 105)){
            if(element.value.length == 3){
                element.value = element.value + ".";
            }
            else if(element.value.length == 7){
                element.value = element.value + ".";
            }
            else if(element.value.length == 12 && element.form.name == 'verifyApplicantForm'){
                element.form.zipcode.focus();
            }
        }

        if (myKeyCode == 0 || myKeyCode == 127 || myKeyCode == 8){
            //allows the Backspace and Delete keys to be pressed
        }

    }

    /**
     * Handles the data entry process for a SSN field.
     * The preferred format, and thus enforced here
     * is: ###-##-####
     */
    function handleSSN (element,event) {
        //keyCodes 47-57 = keyboard 1-0 and keyCodes 96-105 = Num Lock keypad
        if ((event.keyCode >= 48 && event.keyCode <= 57) || (event.keyCode >= 96 && event.keyCode <= 105)) {
            if (element.value.length == 3) {
                element.value = element.value + "-";
            }
            else if (element.value.length == 6) {
                element.value = element.value + "-";
            }
        }
        else if (event.keyCode == 8 || event.keyCode == 127 || event.keyCode == 9) {
            //allows the Backspace and Delete keys to be pressed
        }
        else {
            event.returnValue = false;
        }
    }

    /**
     * Handles the data entry process for a zipcode field.
     * The preferred format, and thus enforced here is:
     * #####
     */
    function handleZipcode (element,event) {

        //keyCodes 47-57 = keyboard 1-0 and keyCodes 96-105 = Num Lock keypad
        if (!((event.keyCode >= 48 && event.keyCode <= 57) || (event.keyCode == 9) || event.keyCode == 8 || event.keyCode == 127)){

                element.returnValue = false;
        }
            else if(element.value.length == 5 && element.form.name == 'verifyApplicantForm'){
                element.form.elements['submit'].focus();
            }
    }
    
    /**
     * Handles the data entry process for a date field.
     * The preferred format, and thus enforced here
     * is: MM-DD-YYYY
     */
    function handleDate (element,e) {

        var myKeyCode;
        if (document.all)
        {
            e = window.event;
            myKeyCode = e.keyCode;
        } else {
            myKeyCode = e.which;
        }

        if((myKeyCode >= 48 && myKeyCode <= 57) || (myKeyCode >= 96 && myKeyCode <= 105)){
            if(element.value.length == 2){
                element.value = element.value + "-";
            }
            else if(element.value.length == 5){
                element.value = element.value + "-";
            }
        }

        if (myKeyCode == 8 || myKeyCode == 127 || myKeyCode == 9){
            //allows the Backspace and Delete keys to be pressed
        }

    }
    
    /**
     * Sets the options for a given <select> HTML element
     * @param arrOptions An associative array of name, value-pairs to be constructed as an <option> for the given <select> element
     * @param selectElement <select> element on a form whose options is getting populated
     */
    function setOptions (arrOptions, selectElement, startIndex) {
        i = 0;
        for (o in arrOptions) {
            selectElement.options[i+startIndex] = new Option(o, arrOptions[o]);
            i++;
        }

    }


    function getElementByName(srchName, srchArr) {
        var k = 0;
        var results = new Array();
        var o = 0;
        for (k=0; k < srchArr.length; k++) {
            if (srchArr[k].name == srchName) {
                results[o++] = srchArr[k];
            }
        }

        if (results.length == 1) {
            return results[0];
        }
        else if (results.length > 1) {
            return results;
        }
        else {
            return null;
        }
    }

    //Check Languages: Make sure that each selected language value is unique

    function checkLanguage(){

        if(document.applicantForm.language){

            var lang0 = document.getElementById('language0');
            var lang1 = document.getElementById('language1');
            var lang2 = document.getElementById('language2');

            //lang0.selectedIndex = lang1.selectedIndex;
            if(lang1.value == lang2.value){
                lang2.selectedIndex = 0;
            }
            if(lang0.value == lang2.value){
                lang2.selectedIndex = 0;
            }
            if(lang0.value == lang1.value){
                if(lang2.selectIndex > 0 ){
                    lang1.selectedIndex = lang2.selectedIndex;
                    lang2.selectedIndex = 0;
                }else{
                    lang1.selectedIndex = 0;
                }

            }

            if(lang2.value.length > 0 && (lang0.value.length + lang1.value.length == 0)){
                lang0.selectedIndex = lang2.selectedIndex;
                lang2.selectedIndex = 0;
            }

            if(lang2.value.length > 0 && lang1.value.length == 0 && lang0.value.length > 0){
                lang1.selectedIndex = lang2.selectedIndex;
                lang2.selectedIndex = 0;
            }

            if(lang1.value.length > 0 && lang0.value.length == 0){
                lang0.selectedIndex = lang1.selectedIndex;
                if(lang2.value.length > 0){
                    lang1.selectedIndex = lang2.selectedIndex;
                    lang2.selectedIndex = 0;
                }
                else{
                    lang1.selectedIndex = 0;
                }
            }
        }
    }


      //Manually resets the form
      function resetForm(rForm) {
        var relements = rForm.elements;
        var i = 0;
        for (i = 0; i < relements.length; i++) {
            if (relements[i].type == 'text' || relements[i].type == 'textarea') {
                relements[i].value = "";
            }
            else if (relements[i].type == 'radio' || relements[i].type == 'checkbox') {
                relements[i].checked = false;
            }
            else if (relements[i].type == 'select-multiple') {
                var ropts = relements[i].options;
                var j = 0;
                for (j=0; j < ropts.length; j++) {
                    relements[i].options[j].selected = false;
                }
            }
            else if (relements[i].type == 'select-one') {
                relements[i].selectedIndex = 0;
            }
       }
    }


    /**
     * To limit the number of selection in a given <select> elements
     * @param slctCtrl the <select> object
     * @param
     */
    function limitSelect(slctCtrl, maxSelection) {
    var maxMessage = "You cannot select more than " + maxSelection + " items for this field.";
        var m = 0;
        var count = 0;
        var passLimit = false;
        var opts = slctCtrl.options;
        for (m=0; m < opts.length; m++) {
            if (opts[m].selected) {
                count++;
            }
            if (count > maxSelection) {
                opts[m].selected = false;
                passLimit = true;
            }
        }

        if (passLimit) {
            alert (maxMessage);
            return false;
        }
    }


function checkReason(x)
{
    var strReasonObj = eval('document.applicantForm.reasonForLeaving' + x);
    var strMonthObj = eval('document.applicantForm.employedToMonth' + x);
    var strYearObj = eval('document.applicantForm.employedToYear' + x);
    var date = new Date(); 
    var m = date.getMonth() + 1 ;
    var y = date.getYear();
    
    if(isNS4)//check if Netscape/Mozilla to correct for y2k
    {
        y = y + 1900;
    }
    
    var strMonth;
    
    if(m < 10)
    {
        strMonth = '0' + m;
    }
    
    if(strReasonObj.options[strReasonObj.selectedIndex].text == 'Currently Working')
    {
        for (var i=0, j=strMonthObj.options.length; i<j; i++)
        {
            if (strMonthObj.options[i].value == strMonth)
            {
                
                strMonthObj.selectedIndex = i;
                break;
            }
        }
        for (var i=0, j=strYearObj.options.length; i<j; i++)
        {
            if (strYearObj.options[i].value == y)
            {
                strYearObj.selectedIndex = i;
                break;
            }
        }
        
    }
}
