var curQ = 0;
var lastQ = 0;

var errors =[];
var messages = [];

function showNextQ(field) {
    if(!validate(field)) {
        return;
    }
    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();
    }
    lastQ = curQ;
    curQ++;
    while(curQ<qList.length) {
        if(qList[curQ]) {
            hide(qListString[lastQ]);
            show(qListString[curQ]);
            return;
        }
        curQ++;
    }
    submitForm();
}

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.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 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);
}

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) {
        showCreditOutOfUsaQ();
    } else {
        hideCreditOutOfUsaQ();
    }
}

function initPHOENIXDEGREETYPE_01() {
    var field = window.document.form1.EDUCATION_01;
    var value = getFieldValueLB(field);
    if(value >= 7) {
        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) {
        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) {
        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_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;
}