﻿var mtID, mID, appID = "";
var tabToShow = 1;

function showTab(div, tabName) {
    expandcontent(div, document.getElementById(tabName));
}

function showTabByNum(tabNum) {
    showTab('sc' + tabNum, 'tab' + tabNum);
}

function ajaxLoadTabs() {
    Applications(); // alias for Sample Type
    ReflectanceTypes();
    ModeTypes();
    showTabByNum(1);
}

function checkTab1() {
    tabToShow = 2
    IsTransmissionChecked();
    IsBothChecked();

    if (!Tab1RadioChecked()) {
        msg = "The following errors occurred:\n\n";
        msg += "- Please select a Mode before proceeding.\n";
        if (tabToShow > 1) tabToShow = 1;
        alert(msg);
        showTabByNum(tabToShow);
    }
    else {
        if (IsTransmission() || IsBoth()) {
            if (FilterTab3(mID)) showTabByNum(tabToShow);
        }
        else {
            showTabByNum(tabToShow);
        }
    }
}

function checkTab2() {
    IsTransmissionChecked();
    IsBothChecked();
    tabToShow = 3;
    if (!Tab1RadioChecked() || (!IsTransmission() && !IsBoth() && !Tab2RadioChecked())) {
        msg = "The following errors occurred:\n\n";
        if (!Tab1RadioChecked()) {
            msg += "- Please select a Mode before proceeding.\n";
            if (tabToShow > 1) tabToShow = 1;
        }
        if (!IsTransmission() && !IsBoth() && !Tab2RadioChecked()) {
            msg += "- Please select a Reflectance Type before proceeding."
            if (tabToShow > 2) tabToShow = 2;
        }
        alert(msg);
        showTabByNum(tabToShow);
    }
    else FilterTab3(mID);
}

function checkTab3() {
    tabToShow = 3;

    if (!Tab1RadioChecked() || (!IsTransmission() && !IsBoth() && !Tab2RadioChecked()) || !Tab3RadioChecked()) {
        msg = "The following errors occurred:\n\n";
        if (!Tab1RadioChecked()) {
            msg += "- Please select a Mode before proceeding.\n";
            if (tabToShow > 1) tabToShow = 1;
        }
        if (!IsTransmission() && !IsBoth() && !Tab2RadioChecked()) {
            msg += "- Please select a Reflectance Type before proceeding.\n"
            if (tabToShow > 2) tabToShow = 2;
        }

        if (!Tab3RadioChecked()) {
            msg += "- Please select a Sample Type before proceeding.\n";
            if (tabToShow > 3) tabToShow = 3;
        }
        alert(msg);
        showTabByNum(tabToShow);
    }
    else {
        var querystring = "results.aspx?mID=" + mID + "&appID=" + appID;
        location.href = querystring;
    }
}

function IsTransmissionChecked() {
    for (var i = 0; i < document.Form1.rdoModeType.length; i++) {
        if (document.Form1.rdoModeType[i].value == 1) {
            if (document.Form1.rdoModeType[i].checked) {
                tabToShow = 3;
                setValue('mID', 1)
                //document.Form1.rdoMode[i].checked = true;
                for (var j = 0; j < document.Form1.rdoMode.length; j++) {
                    document.Form1.rdoMode[j].disabled = true;
                }
            }
        }
    }
}

function IsBothChecked() {
    for (var i = 0; i < document.Form1.rdoModeType.length; i++) {
        if (document.Form1.rdoModeType[i].value == 4) {
            if (document.Form1.rdoModeType[i].checked) {
                tabToShow = 3;
                setValue('mID', 4)
                //document.Form1.rdoMode[i].checked = true;
                for (var j = 0; j < document.Form1.rdoMode.length; j++) {
                    document.Form1.rdoMode[j].disabled = true;
                }
            }
        }
    }
}


function IsTransmission() {
    for (var i = 0; i < document.Form1.rdoModeType.length; i++) {
        if (document.Form1.rdoModeType[i].value == 1) {
            if (document.Form1.rdoModeType[i].checked) return true;
        }
    }
    return false;
}

function IsBoth() {
    for (var i = 0; i < document.Form1.rdoModeType.length; i++) {
        if (document.Form1.rdoModeType[i].value == 4) {
            if (document.Form1.rdoModeType[i].checked) return true;
        }
    }
    return false;
}

/*  used on onClick of radio button  */
function uncheckNextTabsRadios(thisTab) {
    if (thisTab == 1) uncheckRadios('rdoMode', 'mID');
    if (thisTab == 1 || thisTab == 2) uncheckRadios('rdoApplication', 'appID');
}

function Tab1RadioChecked() {
    if (IsRadioChecked('rdoModeType', 'mtID') || allDisabled('rdoModeType', 'mtID')) return true;
    setValue('mtID', 0)
    return false;
}
function Tab2RadioChecked() {
    if (IsRadioChecked('rdoMode', 'mID') || allDisabled('rdoMode', 'mID')) return true;
    setValue('mID', 0)
    return false;
}
function Tab3RadioChecked() {
    if (IsRadioChecked('rdoApplication', 'appID') || allDisabled('rdoApplication', 'appID')) return true;
    setValue('appID', 0)
    return false;
}

function IsRadioChecked(radButtonGroupName, valueToSet) {
    var radioButtonGroup = eval('document.Form1.' + radButtonGroupName);
    for (var i = 0; i < radioButtonGroup.length; i++) {
        if (radioButtonGroup[i].checked) {
            setValue(valueToSet, radioButtonGroup[i].value);
            return true;
        }
    }
    setValue(valueToSet, 0);
    return false;
}

function allDisabled(radButtonGroupName, valueToSet) {
    var radioButtonGroup = eval('document.Form1.' + radButtonGroupName);
    for (var i = 0; i < radioButtonGroup.length; i++) {
        if (radioButtonGroup[i].disabled == false) {
            return false
        }
    }
    setValue(valueToSet, 0);
    return true;
}

function uncheckRadios(radButtonGroupName, valueToSet) {
    var radioButtonGroup = eval('document.Form1.' + radButtonGroupName);
    for (var i = 0; i < radioButtonGroup.length; i++) {
        radioButtonGroup[i].checked = false;
    }
    setValue(valueToSet, 0);

    if (document.Form1.rdoModeType.value != 1) {
        for (var i = 0; i < radioButtonGroup.length; i++) {
            radioButtonGroup[i].checked = false;
            radioButtonGroup[i].disabled = false;
        }
    }
    return true;
}

function setValue(valueToSet, value) {
    switch (valueToSet) {
        case 'mtID':
            mtID = value;
            break;
        case 'mID':
            mID = value;
            break;
        case 'appID':
            appID = value;
            break;
    }
}


/*  functions for use by tab filters  */

function DisableRadiosTab(radButtonGroupName, xmlString) {
    var radios = xmlString.getElementsByTagName("radio");
    rowcount = radios.length;
    if (rowcount > 0) {
        ClearTabRadios(radButtonGroupName);
        for (i = 0; i < rowcount; i++) {
            var rID = radios[i].getAttribute("id");
            DisableTabRadio(radButtonGroupName, rID);
        }
    }
    if (ClearDisabledRadios(radButtonGroupName)) showTabByNum(tabToShow);
}

function ClearTabRadios(radButtonGroupName) {
    var radioButtonGroup = eval('document.Form1.' + radButtonGroupName);
    for (var i = 0; i < radioButtonGroup.length; i++) {
        radioButtonGroup[i].disabled = false;
    }
}

function DisableTabRadio(radButtonGroupName, rID) {
    var radioButtonGroup = eval('document.Form1.' + radButtonGroupName);
    for (var i = 0; i < radioButtonGroup.length; i++) {
        if (radioButtonGroup[i].value == rID) {
            radioButtonGroup[i].disabled = true;
        }
    }
}

function ClearDisabledRadios(radButtonGroupName) {
    var radioButtonGroup = eval('document.Form1.' + radButtonGroupName);
    for (var i = 0; i < radioButtonGroup.length; i++) {
        if (radioButtonGroup[i].disabled == true) {
            radioButtonGroup[i].checked = false;
        }
    }
    return true;
}
