﻿var clientIds = new Object;
var ddlHabitat1;
var ddlHabitat2;
var ddlHabitat3;
var vldHabitat1;
var vldHabitat2;
var vldHabitat3;
var hidHabitat;

addLoadEvent(init);

function init()
{
    var btn = document.getElementById(clientIds.btnHabitat1);
    btn.style.display = "none";
    var btn = document.getElementById(clientIds.btnHabitat2);
    btn.style.display = "none";
    ddlHabitat1 = document.getElementById(clientIds.ddlHabitat1);
    ddlHabitat1.onchange = habitat1Change;
    ddlHabitat2 = document.getElementById(clientIds.ddlHabitat2);
    ddlHabitat2.onchange = habitat2Change;
    ddlHabitat3 = document.getElementById(clientIds.ddlHabitat3);
    ddlHabitat3.onchange = habitat3Change;
    ddlHabitat3 = document.getElementById(clientIds.ddlHabitat3);
    vldHabitat1 = document.getElementById(clientIds.vldHabitat1);
    vldHabitat2 = document.getElementById(clientIds.vldHabitat2);
    vldHabitat3 = document.getElementById(clientIds.vldHabitat3);
    hidHabitat = document.getElementById(clientIds.hidHabitat);
}

function habitat1Change()
{//change habitat2 list for different habitat1
    var parent = ddlHabitat1.value;
    if (parent != "")
    {
        proxyHabitatService.SelectHabitatsByParent(parent, successHabitat1Change);
    }
    else
    {
        ddlHabitat2.options.length = 1;
        ddlHabitat2.disabled = true;
        ValidatorEnable(vldHabitat2, false);
        ddlHabitat3.options.length = 1;
        ddlHabitat3.disabled = true;
        ValidatorEnable(vldHabitat3, false);
    }
    ValidatorValidate(vldHabitat1)
    hidHabitat.value = ddlHabitat1.value;
}

function habitat2Change()
{//change habitat3 list for different habitat2
    var parent = ddlHabitat2.value;
    if (parent != "")
    {
        proxyHabitatService.SelectHabitatsByParent(parent, successHabitat2Change);
    }
    else
    {
        ddlHabitat3.options.length = 1;
        ddlHabitat3.disabled = true;
        ValidatorEnable(vldHabitat3, false);
    }
    ValidatorValidate(vldHabitat2)
    hidHabitat.value = ddlHabitat2.value;
}

function habitat3Change()
{
    ValidatorValidate(vldHabitat3)
    hidHabitat.value = ddlHabitat3.value;
}

function successHabitat1Change(result)
{//callback for habitat1Change
    if (result.length == 0)
    {
        ddlHabitat2.options.length = 1;
        ddlHabitat2.disabled = true;
        ValidatorEnable(vldHabitat2, false);
        ddlHabitat3.options.length = 1;
        ddlHabitat3.disabled = true;
        ValidatorEnable(vldHabitat3, false);
    }
    else
    {
        ddlHabitat2.options.length = 1;
        for (var i in result)
        {
            ddlHabitat2.options.add(new Option(result[i].Description, result[i].ID));
        }
        ddlHabitat2.disabled = false;
        ValidatorEnable(vldHabitat2, true);
        ddlHabitat2.selectedIndex = 0;
        ddlHabitat3.options.length = 1;
        ddlHabitat3.disabled = true;
    }
}

function successHabitat2Change(result)
{//callback for habitat2Change
    if (result.length == 0)
    {
        ddlHabitat3.options.length = 1;
        ddlHabitat3.disabled = true;
        ValidatorEnable(vldHabitat3, false);
    }
    else
    {
        ddlHabitat3.options.length = 1;
        for (var i in result)
        {
            ddlHabitat3.options.add(new Option(result[i].Description, result[i].ID));
        }
        ddlHabitat3.disabled = false;
        ValidatorEnable(vldHabitat3, true);
        ddlHabitat3.selectedIndex = 0;
    }
}
