﻿var lastProductSetId = '';
var lastProductSetName = '';
function closeProductPanels(excluedPanelIndex) {
    /*
    var index = 0;
    var behaviorName = 'productBehavior' + index;
    var cpe = $find(behaviorName);
    while (cpe) {
        if (index != excluedPanelIndex)
            cpe._doClose();

        index++;
        behaviorName = 'productBehavior' + index;
        cpe = $find(behaviorName);
    }
    */
}
function toggelProductPanel(cpe) {
    if (cpe.get_Collapsed()) {
        cpe._doOpen();
    } else {
        cpe._doClose();
    }
}
function GetProductSetName() {
    var hidProductSetName = GetControl('hidProductSetName', 'hidden');
    if (hidProductSetName)
        return hidProductSetName.value;
    return null;
}
function ConfigureProducts() {
    var modulesDisabled = true;
    var re = new RegExp('repProductSets.*Product');
    for (i = 0; i < document.forms[0].elements.length; i++) {
        elm = document.forms[0].elements[i];
        if (elm.type == 'radio') {
            if (re.test(elm.name) && elm.checked == true) {
                elm.onclick();
                modulesDisabled = false;
                break;
            }
        }
    }

    if (modulesDisabled)
        DisableModules(null);

    lastProductSetName = '';
}
function RefreshExcesses() {
    var productSetName = GetProductSetName();

    if (productSetName == null ||
        lastProductSetName == productSetName)
        return;

    var cddExcess = $find('cddExcess');

    if (cddExcess) {
        cddExcess.set_contextKey(productSetName);
        cddExcess._onParentChange(null, false);
        lastProductSetName = productSetName;
    }
    else
        lastProductSetName = '';
}
function RefreshPaymentFrequencies() {
    var ddlPaymentMethod = GetControl('ddlPaymentMethod', 'select-one');
    var cddPaymentFrequency = $find('cddPaymentFrequency');

    if (cddPaymentFrequency) {
        cddPaymentFrequency.set_contextKey(ddlPaymentMethod.value);
        cddPaymentFrequency._onParentChange(null, false);
    }
}
function SetProductSetRadioButton(current, productSetName) {
    var re = new RegExp('repProductSets.*Product');
    for (i = 0; i < document.forms[0].elements.length; i++) {
        elm = document.forms[0].elements[i];
        if (elm.type == 'radio') {
            if (re.test(elm.name)) {
                elm.checked = false;
            }
        }
    }
    current.checked = true;

    var idValues = current.id.split('_');
    var productSetId = '';
    for (var index = 0; index < 3; index++)
        productSetId += idValues[index] + '_';
        
    DisableModules(productSetId);

    if (lastProductSetId != productSetId)
        SetModules(null, '');

    lastProductSetId = productSetId;

    var hidProductSetName = GetControl('hidProductSetName', 'hidden');
    if (hidProductSetName) {
        hidProductSetName.setAttribute("Value", productSetName);
        hidProductSetName.value = productSetName;
    }
    RefreshExcesses();
}
function DisableModules(productSetId) {
    for (i = 0; i < document.forms[0].elements.length; i++) {
        elm = document.forms[0].elements[i];
        if (elm.type == 'checkbox') {
            var keepChecked = false;
            if (productSetId != null)
                keepChecked = elm.id.startsWith(productSetId);
            DisableModule(elm.id, elm.id.replace('chk', 'img'), keepChecked);
        }
    }
}
function EnableModule(checkBoxId, imageId) {
    var chkModule = document.getElementById(checkBoxId);
    var imgModule = document.getElementById(imageId);
    if (chkModule) chkModule.disabled = '';
    if (imgModule) imgModule.src = imgModule.src.replace('-disabled.gif', '.gif');
}
function DisableModule(checkBoxId, imageId, keepChecked) {
    var chkModule = document.getElementById(checkBoxId);
    var imgModule = document.getElementById(imageId);
    if (!keepChecked && chkModule)
        chkModule.checked = false;
    if (imgModule && imgModule.src.indexOf('disabled') == -1) {
        chkModule.disabled = 'disabled';
        imgModule.src = imgModule.src.replace('.gif', '-disabled.gif');
    }
}
function GetModuleCheckbox(checkBoxName) {
    var re = new RegExp(checkBoxName);
    for (i = 0; i < document.forms[0].elements.length; i++) {
        elm = document.forms[0].elements[i];
        if (elm.type == 'checkbox') {
            if (re.test(elm.name)) {
                return elm;
            }
        }
    }
    return null;
}
function SetModules(current, module) {
    var hidProductModules = GetControl('hidProductModules', 'hidden');
    if (hidProductModules == null)
        return;
    var value = hidProductModules.value;

    var newValue = '';
    if (current == null)
        newValue = '';
    else if (current.checked)
        newValue = value  + module + ',';
    else
        newValue = value.replace(module + ',', '');

    hidProductModules.setAttribute("Value", newValue);  
    hidProductModules.value = newValue;
}
function SaveExcess()
{
    var ddlExcess = GetControl('ddlExcess', 'select-one');
    var hidExcess = GetControl('hidExcess', 'hidden');

    hidExcess.setAttribute("Value", ddlExcess.value);
    hidExcess.value = ddlExcess.value;
}
function SetDropDownListValue(ddlControl, value) {
    for (index = 0; index < ddlControl.length; index++) {
        if (ddlControl[index].value == value) {
            ddlControl[index].selected = true;
            break;
        }
    }
}
