﻿function CheckAllCheckBoxes(CheckBoxList, checkVal) {
    var chkboxes = CheckBoxList.getElementsByTagName("input");

    for (i = 0; i < chkboxes.length; ++i) {
        var chkbox = chkboxes[i];
        chkbox.checked = checkVal;
    }
}


function GetCheckSummary(CheckBoxList, Target) {
    var summary = '';
    if (CheckBoxList != null) {

        var chkboxes = CheckBoxList.getElementsByTagName("input");

        for (i = 0; i < chkboxes.length; ++i) {
            var chkbox = chkboxes[i];
            if (chkbox.checked == 1) {
                summary = summary + chkbox.nextSibling.innerHTML + ',';
            }
        }

    }
    if (summary.length > 0) {
        summary = summary.substring(0, summary.length - 1);
    }

    Target.innerHTML = summary;
}


function GetCheckCount(CheckBoxList, Target) {
    var cnt = 0;
    if (CheckBoxList != null && Target != null) {

        var chkboxes = CheckBoxList.getElementsByTagName("input");

        for (i = 0; i < chkboxes.length; ++i) {
            var chkbox = chkboxes[i];
            if (chkbox.checked == 1) {
                cnt++;
            }
        }

        Target.innerHTML = '(' + cnt + ' Selected)';
    }


}

function GetCheckCount2(CheckBoxList, Target) {
    var cnt = 0;
    if (CheckBoxList != null) {

        var chkboxes = CheckBoxList.getElementsByTagName("input");

        for (i = 0; i < chkboxes.length; ++i) {
            var chkbox = chkboxes[i];
            if (chkbox.checked == 1) {
                cnt++;
            }
        }

    }

    Target.value = '(' + cnt + ' Selected)';
}

function CycleDropDown(ctrl) {
    if (ctrl.style.visibility == 'visible') {
        ctrl.style.visibility = "hidden";
    }
    else {
        ctrl.style.visibility = "visible";
    }

}


function OpenDropDown(ctrl) {
    ctrl.style.visibility = "visible";

}



function SetText(cbl, txt) {

    txt.value = cbl[cbl.selectedIndex].text;
}


function CloseDropDown(ctrl) {
    ctrl.style.visibility = 'hidden';
}



function showPanel(tab, name) {
    if (selectedTab) {
        selectedTab.style.backgroundColor = '';
        selectedTab.style.paddingTop = '';
        selectedTab.style.marginTop = '4px';
    }
    selectedTab = tab;
    selectedTab.style.backgroundColor = 'white';
    selectedTab.style.paddingTop = '6px';
    selectedTab.style.marginTop = '0px';

    for (i = 0; i < panels.length; i++)
        document.getElementById(panels[i]).style.display = (name == panels[i]) ? 'block' : 'none';

    return false;
}

//Helper function for ASP.NET AJAXControlToolkit.TabControl, tab control does not save tab index between postbacks
function TabControlSaveClientState(sender, args) {
    sender.get_clientStateField().value = sender.saveClientState();
}


function CheckBoxShowHide(chkBox, aryTargets) {

    var pdisplay = '';
    var pvisibility = '';

    if ($get(chkBox).checked) {
        pdisplay = '';
        pvisibility = 'visible';
    }
    else {
        pdisplay = 'none';
        pvisibility = 'hidden';
    }

    for (var t in aryTargets) {
        $get(aryTargets[t]).style.display = pdisplay;
        $get(aryTargets[t]).style.visibility = pvisibility;
    }

}


function CycleVisibility(ctrl) {
    if (ctrl.style.visibility == 'visible') {
        ctrl.style.visibility = "hidden";
    }
    else {
        ctrl.style.visibility = "visible";
    }

}

function formatDate(inp) {

    var striped = '';

    striped = inp.value.replace(/[^0-9]/g, '');

    if (striped.length == 8) {

        inp.value = striped.substring(0, 2) + '/' + striped.substring(2, 4) + "/" + striped.substring(4, 8);
    }

    //dont set, not a date

}


function isDate(dateStr) {

    var datePat = /^(\d{1,2})(\/|-)(\d{1,2})(\/|-)(\d{4})$/;
    var matchArray = dateStr.match(datePat); // is the format ok?

    if (matchArray == null) {
        return false;
    }

    month = matchArray[1]; // parse date into variables
    day = matchArray[3];
    year = matchArray[4];

    if (month < 1 || month > 12) { // check month range
        return false;
    }

    if (day < 1 || day > 31) {

        return false;
    }

    if ((month == 4 || month == 6 || month == 9 || month == 11) && day == 31) {
        return false;
    }

    if (month == 2) { // check for february 29th
        var isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0));
        if (day > 29 || (day == 29 && !isleap)) {
            return false;
        }
    }
    return true; // date is valid
}

function formatSSN(inp) {

    var striped = '';

    striped = inp.value.replace(/[^0-9]/g, '');

    if (striped.length == 9) {

        inp.value = striped.substring(0, 3) + '-' + striped.substring(3, 5) + "-" + striped.substring(5, 9);
    }

    //dont set, not a date

}

function formatPhone(inp) {

    var striped = '';

    striped = inp.value.replace(/[^0-9]/g, '');

    if (striped.length == 10) {

        inp.value = '(' + striped.substring(0, 3) + ') ' + striped.substring(3, 6) + "-" + striped.substring(6, 10);
    }

    //dont set, not a date

}

function formatTIN(inp) {

    var striped = '';

    striped = inp.value.replace(/[^0-9]/g, '');

    if (striped.length == 9) {

        inp.value = striped.substring(0, 2) + '-' + striped.substring(2, 9);
    }

    //dont set, not a date
}

function CheckBoxListFind(CheckBoxList) {

    var keycode;
    if (window.event) keycode = window.event.keyCode;
    else if (e) keycode = e.which;


    var rg = new RegExp("^" + String.fromCharCode(keycode));

    CheckBoxList.selectedindex = 20;

    if (CheckBoxList != null) {
        var chkboxes = CheckBoxList.getElementsByTagName("input");
        for (i = 0; i < chkboxes.length; ++i) {
            var chkbox = chkboxes[i];
            var txt = chkbox.nextSibling.innerHTML;
            var c = txt.search(rg);

            if (c > -1) {

                //chkbox.selected = true;

            }


        }
    }
}


function ToggleRepeaterGroupDisplay(id) {
    for (i = 0; i <= 1000; i++) {

        //var elem = document.getElementById(id + '-' + i);
        var elem = $get(id + '-' + i);



        if (elem) {
            if (elem.style.visibility != 'visible') {
                elem.style.display = 'block';
                elem.style.visibility = 'visible';
            }
            else {
                elem.style.display = 'none';
                elem.style.visibility = 'hidden';
            }
        }
        else {
            break;
        }


    }
}

function ToggleRepeaterGroupDisplay2(CarrierIndex, ProductIndex) {


    //var elem = document.getElementById(id + '-' + i);
    var elem = $get('trProduct' + CarrierIndex + '-' + ProductIndex);



    if (elem) {
        if (elem.style.visibility != 'visible') {
            elem.style.display = 'block';
            elem.style.visibility = 'visible';
        }
        else {
            elem.style.display = 'none';
            elem.style.visibility = 'hidden';
        }

    }


}

function ShowAllRepeaterGroups(id) {
    for (x = 0; x <= 1000; x++) {
        //var elem = document.getElementById('trHeader' + x);
        var elem = $get('trHeader' + x);



        if (elem) {
            ToggleRepeaterGroupDisplay(id + x);
        }
        else {
            break;
        }
    }
}

function CycleDisplay(elem) {
    if (elem.style.display == '') {
        elem.style.display = 'none';
    }
    else {
        elem.style.display = '';
    }

}





