﻿/* Check box togglers */
var togglers = new Array();

function NewCheckBoxToggler(checkBoxId, detailsPanelId, isSlider)
{
    if(detailsPanelId == null || detailsPanelId == "")
    {
        return function() {};
    }
    else
    {
        var checkBox = $("#" + checkBoxId);
        var detailsPanel = $("#" + detailsPanelId);

        var toggler = function(anim)
        {
            if(checkBox.attr("checked") == true)
            {
                if(isSlider == true)
                    detailsPanel.slideDown(anim);
                else
                    detailsPanel.show(anim);
            }
            else
            {
                if(isSlider == true)
                {
                    if(anim) detailsPanel.slideUp(anim);
                    else     detailsPanel.hide();
                }
                else
                {
                    detailsPanel.hide(anim);
                }
            }
        }
        
        togglers.push(toggler);
        return toggler;
    }
}


/* Radio togglers */
var radioTogglers = new Array();

function NewRadioToggler(radioId, detailsPanelId, isSlider, groupName)
{
    var toggler = NewCheckBoxToggler(radioId, detailsPanelId, isSlider);
    
    if(radioTogglers[groupName] == null)
    {
        radioTogglers[groupName] = new Array();
    }
    
    radioTogglers[groupName].push(toggler);
}

function UpdateRadioToggler(groupName, anim)
{
    var radioTogglerGroup = radioTogglers[groupName];
    if(radioTogglerGroup != null)
    {
        for(var i = 0; i < radioTogglerGroup.length; i++)
        {
            radioTogglerGroup[i](anim);
        }
    }
}


/* Init page stuff */
function InitPage()
{
    $(".hideWithJavascript").hide();
    
    for(var i = 0; i < togglers.length; i++)
    {
        togglers[i]();
    }
    
    InitAjaxHandlers();
    
    // Stop IE 6 or 7 from screwwing up
    if(typeof(doIEFix) !== "undefined" && doIEFix == true)
    {
        $(".formLayoutCol").removeClass("formLayoutCol").addClass("formLayoutCol-IE-fix");
    }
}

function InitAjaxHandlers()
{
    if(typeof(Sys) !== 'undefined' && Sys.Net && Sys.Net.WebRequestManager)
    {
        Sys.Net.WebRequestManager.add_invokingRequest(function()
        {
            $("#waiting-anim").show();
        });
        Sys.Net.WebRequestManager.add_completedRequest(function()
        {
            $("#waiting-anim").hide();
        });
    }
}

$(document).ready(InitPage); // Note: requires jquery to be included first
