﻿function GetOtherComboInfo(objThis) {

    var TheRegionID = 0;
    var strTaskIDs = "";
    var strID = objThis.id;
    var isChurch = 0;
    
    if (strID.match("dplRegion") == "dplRegion") {
        TheRegionID = objThis.value;
    }
    else if (strID.match("dplTasks") == "dplTasks") {
        strTaskIDs = objThis.value;
    }

    isChurch = isPageChurchURL();

    if (strID.match("dplRegion") != "dplRegion") {
        if (isChurch == "1") {
            WebClickHandler.GetStiftWithCount(strTaskIDs, '', '', '', '', populateRegion);
        }
        else {
            WebClickHandler.GetRegionsWithJobCount(strTaskIDs, '', '', '', '', populateRegion);
        }
    }
    /*if (strID.match("dplTasks") != "dplTasks") {
        if (isChurch == "1") {
            WebClickHandler.GetTaskWithJobCount(TheRegionID, '', '', '', '', true, populateTask);
        }
        else {
            WebClickHandler.GetTaskWithJobCount(TheRegionID, '', '', '', '', false, populateTask);
        }
    }*/
    
}

function populateCombo(res, strAllText, objClientID, strDivID, strColValueName, strColTextName, isReset, isMultiple) {
    var strhtml = [];
    var strSelected = "";
    var arrIDs = "";
    var prevSelectedIDs = "";
    var strSelectedAll = "";
    
    if (isReset == false)
        prevSelectedIDs = collectSelectedIDs(objClientID);

    if (prevSelectedIDs == "undefined" || prevSelectedIDs == null)
        prevSelectedIDs = "";

    if (prevSelectedIDs.toString().length <= 0) { // first checkbox(All) is checked
        strSelected = " selected ";
    } else {
        arrIDs = prevSelectedIDs.toString().split(',');
    }
    
    strAllText = "";
    strSelectedAll = strSelected;
    /*strhtml[strhtml.length] = "<option value='0'" + strSelected + ">" + strAllText + "</option>";*/
    var isFound = false;
    if (res.value == null) return;
    for (var i = 0; i < res.value.Rows.length; i++) {
        strSelected = "";
        for (var j = 0; j < arrIDs.length; j++) {
            if (res.value.Rows[i][strColValueName] == arrIDs[j]) {
                strSelected = " selected ";
                isFound = true;
                break;
            }
        }
        if (i == 0 && strSelectedAll != "" && res.value.Rows[i][strColValueName] == "0") {
            strSelected = strSelectedAll;
        }
        strhtml[strhtml.length] = "<option value='" + res.value.Rows[i][strColValueName] + "'" + strSelected + ">" + res.value.Rows[i][strColTextName] + "</option>";
    }

    var strMultiple = "";
    if (isMultiple == true) {
        strMultiple = " multiple='multiple'";
    }

    if (strhtml.length > 0) {
        //var objSelDiv = $("#" + strDivID);
        //objSelDiv.html("<select id='" + objClientID + "' name='" + objClientID + "'" + strMultiple + " onchange='GetOtherComboInfo(this)'> " + strhtml.join("") + "</select>");
        var objDiv = document.getElementById(strDivID);
        if (objDiv) {
            objDiv.innerHTML = "<select id='" + objClientID + "' name='" + objClientID + "'" + strMultiple + " onchange='GetOtherComboInfo(this)'> " + strhtml.join("") + "</select>";
        }
        if (isFound == false && prevSelectedIDs.length > 0) {
            var objC = document.getElementById(objClientID);
            if (objC) {
                objAllCheckBoxes = objC.getElementsByTagName("OPTION");
                objAllCheckBoxes[0].selected = true;
            }
        }
    }
}

function collectSelectedIDs(objCombo) {

    var strIDs = "";
    if (objCombo == null) return;
    var objC = document.getElementById(objCombo);
    objAllCheckBoxes = objC.getElementsByTagName("OPTION");

    for (var i = 1; i < objAllCheckBoxes.length; i++) {
        if (objAllCheckBoxes[i].selected == true) {
            if (strIDs.length > 0) strIDs = strIDs + ",";
            strIDs = strIDs + objAllCheckBoxes[i].value;
        }
    }
    return strIDs;
}