var curQ = 0;
var lastQ = 0;

var errors =[];
var messages = [];

var isAddHistory = true;

function initializeGroups(groupMatrix) {
    if(!groupMatrix) {
        return;
    }
    var nextButtonId = "div_NEXT_BTN";
    //ATTACH next button and remove ONCHANGE events where necessary
    for(var i = 0; i < groupMatrix.length; i++) {
        var group = groupMatrix[i];
        //we will always add continue button, form not seamless
        for(var j = 0; j < group.length; j++) {
            removeEvents(group[j]);
        }
        group[group.length] = nextButtonId;
  
    }

    //Show first group elements
    var firstGroup = groupMatrix[0];
    for(var i = 0; i < firstGroup.length; i++) {
        var div = document.getElementById(firstGroup[i]);
        if(div) {
            div.className = div.className.replace(/hidden/, "visible"); 
        }
    }
}

function removeEvents(divId) {
    var fields = getFieldsWithinDiv(divId);
    for(var i = 0; i < fields.length; i++) {
        fields[i].onchange = null;
        fields[i].onclick = null;
    }
}

function isFieldValueEmpty(value){
    if(value == null || value == "") {
        return true;
    }
    return false;
}

function showNextQ(field) {
    var isSubmitPage = true;
    
    if (window.qListGroups) {
       if (curQ < window.qListGroups.length) {
         var qListStringGroup = window.qListGroups[curQ];
         if (qListStringGroup) { 
           for (var i=0;i<qListStringGroup.length;++i) {
               if(!validateGroupElement(qListStringGroup[i])) {
                 return false;  
               }
            }
            if (curQ < window.qListGroups.length - 1) {
              lastQ = curQ;
              curQ = curQ + 1;
              showHideQ(curQ, lastQ);
              addHistory(curQ);
              isSubmitPage = false;
            }
         }
         else {
           isSubmitPage = false;
         }
       }
    }
    else {
        if(!validate(field)) {
            return;
        }
        initDynamicFields(field);
        
        lastQ = curQ;
        curQ++;
        while(curQ<qList.length) {
            if(qList[curQ]) {
                hide(qListString[lastQ]);
                show(qListString[curQ]);
                return;
            }
            curQ++;
        }
    }
    if (isSubmitPage) {
        submitForm();
    }
}

function showHideQ(shownQ, hiddenQ) {
    if (window.qListGroups) {
        var qListStringGroup = window.qListGroups[hiddenQ];
        if (qListStringGroup) {
            for (var j=0;j<qListStringGroup.length;++j) {
                hide(qListStringGroup[j]);
            }
        }
        qListStringGroup = window.qListGroups[shownQ];
        if (qListStringGroup) {
            for (var j=0;j<qListStringGroup.length;++j) {
                show(qListStringGroup[j]);
            }
        }
    } 
}

function initBackLink(){
    if(window.qListGroups) {
        if (curQ == 0){ 
            hide("backlink");
        } else {
            show("backlink");
        }
    }
}
function adchemyBack() {
    if (!window.dhtmlHistoryDisabled) {
      history.back();
    } else {
      displayPreviousQ();
    }
}

function showPreviousQ(field) {
    if(curQ == 0) {
        alert("Already at beginning of form");
        return;
    }

    showHideQ(lastQ, curQ);
    
    prevQ = curQ;
    curQ = lastQ;
    lastQ = lastQ - 1;
    
    addHistory(curQ);
    
}

function initHistory() {
    try {
      //initialize our DHTML history
      dhtmlHistory.initialize();
      
      //subscribe to DHTML history change events
      dhtmlHistory.addListener(historyChange);
      //alert("isSafari: " + dhtmlHistory.isSafari + " isIe: " + dhtmlHistory.isIE + " isOP: " + dhtmlHistory.isOpera + " isKOnq: " + dhtmlHistory.isKonquerer + " isGecko: " + dhtmlHistory.isGecko);
      if (dhtmlHistory.isSafari) {
        window.dhtmlHistoryDisabled = true;
      } else {
        if (dhtmlHistory.isFirstLoad()) {
          dhtmlHistory.add("HQ0", "0");
        }
      }
    } catch(e) {
      //alert("exception while init");
      window.dhtmlHistoryDisabled = true;
      try {
           var reasonMes = "reason: " + reason + "problem: " + e.name + ": ";
           if (e.message) {
             reasonMes += " message: " + e.message;
           }
           if (e.description) {
             reasonMes += " desc: " + e.description;
           }
           if (e.lineNumber) {
             reasonMes += " line number: " + e.lineNumber;
           }

           reasonMes = "can't initialize dhtmlHistory: " + ", " + reasonMes;
           
           params = "type=jsProblem&field=dhtmlHistory" + "&reason=" + encodeURIComponent(reasonMes);
           
           AjaxObject.getReq().open("POST", ValidationTracker.reportedUrl, false); 
           AjaxObject.getReq().setRequestHeader("Content-type", "application/x-www-form-urlencoded"); 
           AjaxObject.getReq().setRequestHeader("Cache-Control", "no-cache"); 
      
           AjaxObject.getReq().send(params);
           
         } catch(e) {}
    }
}

function historyChange(newLocation,historyData) {
    if (window.dhtmlHistoryDisabled) {
      return;
    }
    
    var newL = null;
    if(historyData && newLocation && newLocation!=""){
      newL=parseInt(newLocation.substring(2));
      if(!isNaN(newL)) {
        if (newL > curQ) { //going forward, doesn't do anything
            if (window.inReset) {//reset function was called
              var length4CurQ = qListString.length;
              if (window.qListGroups) {
                length4CurQ = window.qListGroups.length;
              }
              var tempCurQ = curQ;
              while (curQ < newL && curQ < length4CurQ) {
                displayNextQ(window.document.form1.Submit);
                if (curQ <= tempCurQ) { //if for some reason we don't increase curQ
                  tempCurQ = curQ;
                  curQ++;
                }
              }
              window.inReset = false;
            }
            else {
              dhtmlHistory.add("HQ"+ curQ, (curQ+1)); 
              history.back();
            }
        } 
        else {//going back
          while (curQ > newL && curQ >0) {
            displayPreviousQ();
          }
        }
      }
    }
    if (null == newL || isNaN(newL)) {
      while (curQ > 0) {
        displayPreviousQ();
      }
    }

}

function addHistory(addQ) {
    if (!window.dhtmlHistoryDisabled && isAddHistory) {
        dhtmlHistory.add("HQ" + addQ, addQ);
    }
}

function initDynamicFields(field){
    if(field == window.document.form1.EDUCATION_01) {
        initCREDITOUTOFUSA_01();
        initPHOENIXDEGREETYPE_01();
        initPHOENIXPROGRAM_01();
    }
    if(field == window.document.form1.PHOENIXAOS_01) {
        initPHOENIXPROGRAM_01();
    }
    if(field == window.document.form1.PHOENIXPROGRAM_01) {
        initLICENSEDNURSE_01_select();
        initPHOENIXPROGRAMTYPE_01();
        initNurseProgram();
    }
    if(field == window.document.form1.STATE_01) {
        initPHOENIXDEGREEFIELD_01();
    }
    if(field == window.document.form1.PHOENIXDEGREEFIELD_01_1) {
        initLICENSEDNURSE_01_checkbox();
        initNurseProgram();
    }
    if(field == window.document.form1.LICENSEDNURSE_01) {
        initLICENSEDNURSE_01_checkbox();
        initNurseProgram();
    }
    if(field == window.document.form1.COUNTRY_01) {
    //initState();
    }
    if(field == window.document.form1.PHOENIXDEGREETYPE_01) {
        initPHOENIXDEGREEFIELD_01();
    }
}

function validateGroupElement(groupElement) {
    var EDUCATION_01_fieldName = "EDUCATION_01";
    var CREDITOUTOFUSA_01_fieldName = "CREDITOUTOFUSA_01";
    var MILITARYBRANCH_01_fieldName = "MILITARYBRANCH_01";
    var MILITARYAFFILIATE_01_fieldName = "MILITARYAFFILIATE_01";
    
    if(groupElement == ("qDiv_" + EDUCATION_01_fieldName) ){
        var field_EDUCATION_01 = getFormField(EDUCATION_01_fieldName);
        if(field_EDUCATION_01 && !validate(field_EDUCATION_01)){
            return false;
        }
        if( isVisible("qDiv_" + CREDITOUTOFUSA_01_fieldName) && window.qListGroups[curQ].length > 1 && !validateGroupElementFields("qDiv_" + CREDITOUTOFUSA_01_fieldName) ){
            return false;
        }
        
    } else if(groupElement == ("qDiv_" + MILITARYBRANCH_01_fieldName) ){
        var field_MILITARYAFFILIATE_01 = getFormField(MILITARYAFFILIATE_01_fieldName);
        if(field_MILITARYAFFILIATE_01 && !validate(field_MILITARYAFFILIATE_01)){
            return false;
        }
        var isMilitaryAffiliate = getFieldValueRB(field_MILITARYAFFILIATE_01) == "Yes";
        if(isMilitaryAffiliate==true && !validateGroupElementFields(groupElement)){
            return false;
        }
    } else if(!validateGroupElementFields(groupElement)){
        return false;
    }
    return true;
    
}
function validateGroupElementFields(groupElement) {
    var fieldsInDiv = getFieldsWithinDiv(groupElement);
    if(fieldsInDiv && fieldsInDiv.length > 0) {
        var field = getFormField(fieldsInDiv[0].name);
        if(field && !validate(field)) {
          return false;
         }
    }
    return true;
}

function getFieldsWithinDiv(divId) {
    var fieldName = divId;
    if(fieldName.indexOf('_01') == -1) {
        fieldName = fieldName + '_01';
    }
    
    if(fieldName.indexOf('qDiv_') == 0) {
        fieldName = fieldName.substring(5);
    }
    
    var fields = document.getElementsByName(fieldName);
    
    return fields;
}

function getFormField(fieldName) {
    return eval("window.document.form1." + fieldName);
}

function validate(field) {
    if(field==window.document.form1.EDUCATION_01) {
        return validate_EDUCATION_01();
    } else if(field==window.document.form1.CREDITOUTOFUSA_01) {
        return validate_CREDITOUTOFUSA_01();
    } else if(field==window.document.form1.ZIP_01) {
        return validate_ZIP_01(window.document.form1);
    } else if(field==window.document.form1.EMAIL_01) {
        return validate_EMAIL_01(window.document.form1);
    } else if(field==window.document.form1.STATE_01) {
        return validate_STATE_01();
    } else if(field==window.document.form1.PHOENIXDEGREEFIELD_01_1) {
        return validate_PHOENIXDEGREEFIELD_01();
    } else if(field==window.document.form1.LICENSEDNURSE_01) {
        return validate_LICENSEDNURSE_01();
    } else if(field==window.document.form1.PHOENIXPROGRAMTYPE_01) {
        return validate_PHOENIXPROGRAMTYPE_01();
    } else if(field==window.document.form1.USCITIZEN_01) {
        return validate_USCITIZEN_01();
    } else if(field==window.document.form1.MILITARYAFFILIATE_01) {
        return validate_MILITARYAFFILIATE_01();
    } else if(field==window.document.form1.MILITARYBRANCH_01) {
        return validate_MILITARYBRANCH_01();
    } else if(field==window.document.form1.PHOENIXAOS_01) {
        return validate_PHOENIXAOS_01();
    } else if(field==window.document.form1.PHOENIXPROGRAM_01) {
        return validate_PHOENIXPROGRAM_01();
    }
    return true;
}

function hideAll() {
    i=0;
    while(i<qListString.length) {
        hide(qListString[i]);
        i++;
    }
}

function resetFields() {
    if(errors && errors.length > 0) {
        showErrorQuestions();
        return;
    }
}

function showErrorQuestions() {
  //ZIP and email are validated together so if both are errors only use one.
    var emailError = false;
    var zipError = false;
    
    for(i=0;i<errors.length;i++) {
      if(errors[i]=='EMAIL_01') {
        emailError=true;
       } else if(errors[i]=='ZIP_01') {
        zipError=true;
       }
    }
    showHideQ(null, 0);
    
    var group = [];
    if (window.qListGroups) {
       window.qListGroups.length = 0;
    } 
    
    for(i=0;i<errors.length;i++) {
      if (window.qListGroups) {
        group[group.length] = getDivByField(errors[i]);
      } else {
        if(zipError == true && emailError == true && errors[i] == 'EMAIL_01') {
        }
      }
    }
    
    if(window.qListGroups) {
       window.qListGroups[0] = group;
    }
    
    showHideQ(0, null);
}

function getDivByField(field) {
    return "qDiv_"+field;
}

function showCreditOutOfUsaQ() {
    qList[creditOutOfUsaQIndex] = true;
    show("qDiv_CREDITOUTOFUSA_01");
}

function hideCreditOutOfUsaQ() {
    qList[creditOutOfUsaQIndex] = false;
    hide("qDiv_CREDITOUTOFUSA_01");
}

function enableDegreeTypeQ() {
    qList[degreeTypeQIndex] = true;
}

function disableDegreeTypeQ() {
    qList[degreeTypeQIndex] = false;
}

function showDegreeTypeQ() {
    qList[degreeTypeQIndex] = true;
    show("qDiv_PHOENIXDEGREETYPE_01");
}

function hideDegreeTypeQ() {
    qList[degreeTypeQIndex] = false;
    hide("qDiv_PHOENIXDEGREETYPE_01");
}


function showProgramTypeQ() {
    qList[programTypeQIndex] = true;
    show("qDiv_PHOENIXPROGRAMTYPE_01");
}

function hideProgramTypeQ() {
    qList[programTypeQIndex] = false;
    hide("qDiv_PHOENIXPROGRAMTYPE_01");
}

function showLicensedNurseQ() {
    qList[licensedNurseQIndex] = true;
    show("qDiv_LICENSEDNURSE_01");
}

function hideLicensedNurseQ() {
    qList[licensedNurseQIndex] = false;
    hide("qDiv_LICENSEDNURSE_01");
}

function selectValue(field, value) {
    for (var i = 0; i < field.options.length; i++) {
        if (field.options[i].value == value) {
        field.options[i].selected = true
                return;
        }
    }
    return;
}

function askLicensedNurseQuestion_checkbox() {
    var degreeField = window.document.form1.PHOENIXDEGREEFIELD_01_12;
    if(degreeField == null) {
        return false;
    }
    var eduValue = getFieldValueLB(window.document.form1.EDUCATION_01);
    var field = window.document.form1.PHOENIXDEGREETYPE_01;
    var value = getFieldValueRB(field)
    return window.document.form1.PHOENIXDEGREEFIELD_01_12.checked && ((value != null && value == 'bachelors') || (eduValue < 7 || eduValue == 10));
}

function askLicensedNurseQuestion_select() {
    var programField = window.document.form1.PHOENIXPROGRAM_01;
    if(programField == null) {
        return false;
    }
    var programValue = getFieldValueLB(programField);
    return programValue.indexOf("BSN") != -1 || programValue.indexOf("MSN") != -1 || programValue.indexOf("SNC") != -1;
}

function isNotLicensedNurse() {
    if(window.document.form1.LICENSEDNURSE_01 == null) {
        return false;
    }
    var value = getFieldValueRB(window.document.form1.LICENSEDNURSE_01);
    return value != null && value == "No" ? true : false;
}

function displayPreviousQ()
{
}

function initCREDITOUTOFUSA_01() {
    var field = window.document.form1.EDUCATION_01;
    var value = getFieldValueLB(field);
    if(value > 4 && value != 10) {
        showCreditOutOfUsaQ();
    } else {
        hideCreditOutOfUsaQ();
    }
}

function initPHOENIXDEGREETYPE_01() {
    var field = window.document.form1.EDUCATION_01;
    var value = getFieldValueLB(field);
    if(value >= 7 && value != 10) {
        enableDegreeTypeQ();
    } else {
        disableDegreeTypeQ();
    }
}

function initPHOENIXPROGRAM_01() {
}

function initPHOENIXPROGRAMTYPE_01() {
}

function initPHOENIXDEGREEFIELD_01() {
}

function initLICENSEDNURSE_01_checkbox() {
    if(askLicensedNurseQuestion_checkbox()) {
        showLicensedNurseQ();
    } else {
        hideLicensedNurseQ();
    }
}

function initLICENSEDNURSE_01_select() {
    if(askLicensedNurseQuestion_select()) {
        showLicensedNurseQ();
    } else {
        hideLicensedNurseQ();
    }
}

function initNurseCheckbox() {
    if(askLicensedNurseQuestion_checkbox() && isNotLicensedNurse()) {
        alert( "Thank you for your interest. This program requires an RN license. Please select another program." );
        window.document.form1.PHOENIXDEGREEFIELD_01_12.checked = false;
        window.document.form1.PHOENIXDEGREEFIELD_01_12.disabled = true;
        hide("qDiv_LICENSEDNURSE_01");
    } else {
        window.document.form1.PHOENIXDEGREEFIELD_01_12.disabled = false;
    }
}

function initNurseSelect() {
    if(askLicensedNurseQuestion_select() && isNotLicensedNurse()) {
        alert( "Thank you for your interest. This program requires an RN license. Please select another program." );
        var programField = window.document.form1.PHOENIXPROGRAM_01;
        programField.options[programField.selectedIndex] = null;
        hide("qDiv_LICENSEDNURSE_01");
    }
}

function initNurseProgram() {
    if(window.document.form1.PHOENIXDEGREEFIELD_01_12 != null) {
        initNurseCheckbox();
    } else {
        initNurseSelect();
    }
}

function validate_PHOENIXDEGREETYPE_01() {
    var eduValue = getFieldValueLB(window.document.form1.EDUCATION_01);
    if(eduValue >= 7 && eduValue != 10) {
        var field = window.document.form1.PHOENIXDEGREETYPE_01;
        var value = getFieldValueRB(field)
        if(!validateIsRequired(value)) {
            alert( "Please select a degree type." );
            field[0].focus();
            return false;
        }
    }
    return true;
}

function validate_PHOENIXDEGREEFIELD_01() {
    var len = window.document.form1.elements.length;
    var i=0;
    for(i=0;i<len;i++) {
        if(window.document.form1.elements[i].type==('checkbox')) {
            if(window.document.form1.elements[i].checked == true) {
                return true;
            }
        }
    }
    alert( "Please select a degree field." );
    window.document.form1.PHOENIXDEGREEFIELD_01_1.focus();
    return false;
}

function validate_PHOENIXPROGRAMTYPE_01() {
    return true;
}

function validate_PHOENIXEDUCTN_01() {
    field = window.document.form1.PHOENIXEDUCTN_01;
    value = getFieldValueLB(field)
    if(!validateIsRequired(value)) {
        alert( "Please select your highest level of education." );
        field.focus();
        return false;
    }
    return true;
}

function validate_EDUCATION_01() {
    field = window.document.form1.EDUCATION_01;
    value = getFieldValueLB(field)
    if(!validateIsRequired(value)) {
        alert( "Please select your highest level of education." );
        field.focus();
        return false;
    }
    return true;
}

function validate_CREDITOUTOFUSA_01() {
    var eduValue = getFieldValueLB(window.document.form1.EDUCATION_01);
    if(eduValue > 4 && eduValue != 10) {
        field = window.document.form1.CREDITOUTOFUSA_01;
        value = getFieldValueRB(field)
        if(!validateIsRequired(value)) {
            alert( "Please check were any college credits earned at an institution outside of the U.S." );
            return false;
        }
    }
    return true;
}

function validate_PHOENIXPROGRAM_01() {
    field = window.document.form1.PHOENIXPROGRAM_01;
    value = getFieldValueLB(field)
    if(!validateIsRequired(value)) {
        alert( "Please select your most interested degree program." );
        field.focus();
        return false;
    }
    return true;
}

function validate_USCITIZEN_01() {
    field = window.document.form1.USCITIZEN_01;
    value = getFieldValueRB(field)
    if(!validateIsRequired(value)) {
        alert( "Please check are you a U.S. Citizen." );
        return false;
    }
    return true;
}

function validate_MILITARYAFFILIATE_01() {
    field = window.document.form1.MILITARYAFFILIATE_01;
    value = getFieldValueRB(field);
    if(!validateIsRequired(value)) {
        alert("Please indicate if you are associated with the US Military.");
        field.focus();
        return false;
    }
    return true;
}

function validate_MILITARYBRANCH_01() {
    field = window.document.form1.MILITARYBRANCH_01;
    value = getFieldValueLB(field)
    if(!validateIsRequired(value)) {
        alert( "Please select are you associated with the US Military." );
        field.focus();
        return false;
    }
    return true;
}

function validate_UNDERSTAND_01() {
    if(window.document.form1.UNDERSTAND_01_1.checked == true) {
        return true;
    }
    alert( "Please check the box indicating your understanding that you will be contacted by a University of Phoenix representative." );
    window.document.form1.UNDERSTAND_01_1.focus();
    return false;
}

function validatePhone(area, phone) {
    if(!validateIsRequired(area) || !validateIsRequired(phone)) {
        return false;
    }

    var countryValue = getFieldValueLB(window.document.form1.COUNTRY_01);
    if(countryValue == "USA" || countryValue == "CAN") {
        area=stripAwayNonDigits(area);
        if(!validateMinLength(area,3)) {
            return false;
        } else if(!validateMaxLength(area,3)) {
            return false;
        } else if(area.charAt(0)=="0" || area.charAt(0)=="1") {
            return false;
        }  else if(allCharsTheSame(area)) {
            return false;
        }

        phone=stripAwayNonDigits(phone);        
        if(!validateMinLength(phone,7)) {
            return false;
        } else if(!validateMaxLength(phone,7)) {
            return false;
        } else if(allCharsTheSame(phone)) {
            return false;
        } else if(phone.charAt(0)=="0" || phone.charAt(0)=="1") {
            return false;
        } else if(phone == "5551212") {
            return false;
        }
    }
    return true;
}

function validatePhones(form) {
    if(validatePhone(getFieldValueTF(form.PHONE_EVENING_AREA_01), getFieldValueTF(form.PHONE_EVENING_01)) || 
       validatePhone(getFieldValueTF(form.PHONE_DAY_AREA_01), getFieldValueTF(form.PHONE_DAY_01)) || 
       validatePhone(getFieldValueTF(form.PHONE_MOBILE_AREA_01), getFieldValueTF(form.PHONE_MOBILE_01))) {
        return true;
    }
    alert("Please provide at least one valid phone number so we can contact you.");
    form.PHONE_EVENING_AREA_01.focus();
    return false;
}

function validate_LICENSEDNURSE_01_checkbox() {
    if(askLicensedNurseQuestion_checkbox()) {
        var field = window.document.form1.LICENSEDNURSE_01;
        var value = getFieldValueRB(field)
        if(!validateIsRequired(value)) {
            alert( "Please indicate do you possess a current, unrestricted license to practice as a registered nurse in at least one U.S. state." );
            return false;
        }
        if(value == "No") {
            alert( "Thank you for your interest. This program requires an RN license. Please select another program." );
            window.document.form1.PHOENIXDEGREEFIELD_01_12.checked = false;
            window.document.form1.PHOENIXDEGREEFIELD_01_12.disabled = true;
            displayPreviousQ();
            return false;
        }
    }
    return true;
}


function validate_LICENSEDNURSE_01_select() {
    var programField = window.document.form1.PHOENIXPROGRAM_01;
    if(askLicensedNurseQuestion_select()) {
        var field = window.document.form1.LICENSEDNURSE_01;
        var value = getFieldValueRB(field);
        if(!validateIsRequired(value)) {
            alert( "Please indicate do you possess a current, unrestricted license to practice as a registered nurse in at least one U.S. state." );
            return false;
        }
        if(value == "No") {
            alert( "Thank you for your interest. This program requires an RN license. Please select another program." );
            programField.options[programField.selectedIndex] = null;
            displayPreviousQ();
            return false;
        }
    }
    return true;
}

function validate_LICENSEDNURSE_01() {
    return window.document.form1.PHOENIXDEGREEFIELD_01_12 != null ? validate_LICENSEDNURSE_01_checkbox() : validate_LICENSEDNURSE_01_select();
}


function validate_PHOENIXAOS_01() {
    field = window.document.form1.PHOENIXAOS_01;
    value = getFieldValueLB(field)
    if(!validateIsRequired(value)) {
        alert( "Please select your most interested field(s)." );
        field.focus();
        return false;
    }
    return true;
}

function showUSStates() {
    var stateField = window.document.form1.STATE_01;
    stateField.enabled = true;
    stateField.length=0;
    stateField.options[stateField.length] = new Option("Select State","");    
    stateField.options[stateField.length] = new Option("Alabama","AL");
    stateField.options[stateField.length] = new Option("Alaska","AK");
    stateField.options[stateField.length] = new Option("Arizona","AZ");
    stateField.options[stateField.length] = new Option("Arkansas","AR");
    stateField.options[stateField.length] = new Option("Armed Forces Americas","AA");
    stateField.options[stateField.length] = new Option("California","CA");
    stateField.options[stateField.length] = new Option("Colorado","CO");
    stateField.options[stateField.length] = new Option("Connecticut","CT");
    stateField.options[stateField.length] = new Option("Delaware","DE");
    stateField.options[stateField.length] = new Option("District of Columbia","DC");
    stateField.options[stateField.length] = new Option("Florida","FL");
    stateField.options[stateField.length] = new Option("Georgia","GA");
    stateField.options[stateField.length] = new Option("Hawaii","HI");
    stateField.options[stateField.length] = new Option("Idaho","ID");
    stateField.options[stateField.length] = new Option("Illinois","IL");
    stateField.options[stateField.length] = new Option("Indiana","IN");
    stateField.options[stateField.length] = new Option("Iowa","IA");
    stateField.options[stateField.length] = new Option("Kansas","KS");
    stateField.options[stateField.length] = new Option("Kentucky","KY");
    stateField.options[stateField.length] = new Option("Louisiana","LA");
    stateField.options[stateField.length] = new Option("Maine","ME");
    stateField.options[stateField.length] = new Option("Maryland","MD");
    stateField.options[stateField.length] = new Option("Massachusetts","MA");
    stateField.options[stateField.length] = new Option("Michigan","MI");
    stateField.options[stateField.length] = new Option("Minnesota","MN");
    stateField.options[stateField.length] = new Option("Mississippi","MS");
    stateField.options[stateField.length] = new Option("Missouri","MO");
    stateField.options[stateField.length] = new Option("Montana","MT");
    stateField.options[stateField.length] = new Option("Nebraska","NE");
    stateField.options[stateField.length] = new Option("Nevada","NV");
    stateField.options[stateField.length] = new Option("New Hampshire","NH");
    stateField.options[stateField.length] = new Option("New Jersey","NJ");
    stateField.options[stateField.length] = new Option("New Mexico","NM");
    stateField.options[stateField.length] = new Option("New York","NY");
    stateField.options[stateField.length] = new Option("North Carolina","NC");
    stateField.options[stateField.length] = new Option("North Dakota","ND");
    stateField.options[stateField.length] = new Option("Ohio","OH");
    stateField.options[stateField.length] = new Option("Oklahoma","OK");
    stateField.options[stateField.length] = new Option("Oregon","OR");
    stateField.options[stateField.length] = new Option("Pennsylvania","PA");
    stateField.options[stateField.length] = new Option("Puerto Rico","PR");
    stateField.options[stateField.length] = new Option("Rhode Island","RI");
    stateField.options[stateField.length] = new Option("South Carolina","SC");
    stateField.options[stateField.length] = new Option("South Dakota","SD");
    stateField.options[stateField.length] = new Option("Tennessee","TN");
    stateField.options[stateField.length] = new Option("Texas","TX");
    stateField.options[stateField.length] = new Option("Utah","UT");
    stateField.options[stateField.length] = new Option("Vermont","VT");
    stateField.options[stateField.length] = new Option("Virginia","VA");
    stateField.options[stateField.length] = new Option("Washington","WA");
    stateField.options[stateField.length] = new Option("West Virginia","WV");
    stateField.options[stateField.length] = new Option("Wisconsin","WI");
    stateField.options[stateField.length] = new Option("Wyoming","WY");
}

function showCANStates() {
    var stateField = window.document.form1.STATE_01;
    stateField.enabled = true;
    stateField.length=0;
    stateField.options[stateField.length] = new Option("Select State","");
    stateField.options[stateField.length] = new Option("Alberta","AB");
    stateField.options[stateField.length] = new Option("British Columbia","BC");
    stateField.options[stateField.length] = new Option("Manitoba","MB");
    stateField.options[stateField.length] = new Option("New Brunswick","NB");
    stateField.options[stateField.length] = new Option("Newfoundland","NF");
    stateField.options[stateField.length] = new Option("Northwest Territories","NT");
    stateField.options[stateField.length] = new Option("Nova Scotia","NS");
    stateField.options[stateField.length] = new Option("Ontario","ON");
    stateField.options[stateField.length] = new Option("Prince Edward Island","PE");
    stateField.options[stateField.length] = new Option("Quebec","QC");
    stateField.options[stateField.length] = new Option("Saskatchewan","SK");
    stateField.options[stateField.length] = new Option("Yukon Territory","YT");
    }

function initState() {
    var countryValue = getFieldValueLB(window.document.form1.COUNTRY_01);
    var stateField = window.document.form1.STATE_01;
    var value = getFieldValueLB(stateField);
    if(countryValue == "USA") {
     showUSStates();
    } else if (countryValue == "CAN") {
        showCANStates();
    }  else {
        stateField.length=0;
    stateField.options[stateField.length] = new Option("Select State","");    
        stateField.disabled = true;
        return;
    }
    selectValue(stateField,value);
    stateField.disabled = false;
    return;
}