var panes = new Array();

function setupPanes(containerId, defaultTabId) 
{
    // go through the DOM, find each tab-container
    // set up the panes array with named panes
    panes[containerId] = new Array();
    var maxHeight = 0; var maxWidth = 0;
    var container = document.getElementById(containerId);
    var paneContainer = container.getElementsByTagName("div")[0];
    var paneList = paneContainer.childNodes;
    for (var i = 0; i < paneList.length; i++) 
    {
        var pane = paneList[i];
        if (pane.nodeType != 1) continue;
        panes[containerId][pane.id] = pane;
        pane.style.display = "none";
    }
    document.getElementById(defaultTabId).onclick();
}

function showPane(paneId, activeTab) 
{
    // make tab active class 
    // hide other panes (siblings) 
    // make pane visible
    for (var con in panes) {
        activeTab.blur();
        activeTab.className = "tab-active";

        if (panes[con][paneId] != null)
        { 
            // tab and pane are members of this container
            var pane = document.getElementById(paneId);
            pane.style.display = "block";
            var container = document.getElementById(con);
            var tabs = container.getElementsByTagName("ul")[0];
            var tabList = tabs.getElementsByTagName("a");
            
            for (var i = 0; i < tabList.length; i++) 
            {
                var tab = tabList[i];
                if (tab != activeTab) tab.className = "tab-disabled";
            }
            
            for (var i in panes[con])
            {
                var pane = panes[con][i];
                if (!!pane && pane.id != paneId) {
                    if (!!pane.style) {
                        pane.style.display = "none";
                    }
                }
                else {
                    continue;
                }               
                
            }
        }
    }
    return false;
} 


/***************Modal****************************************/
function closePopup(modal) 
{
    document.getElementById(modal).style.display = "none";
    objDiv = document.getElementById("divg");
    objDiv.style.display = "none";
    return false;
}

function showPopup(modal) 
{
    try {
        document.getElementById(modal).style.display = "block";
        objDiv = document.getElementById("divg");
        objDiv.style.display = "block";
        objDiv.style.width = document.body.scrollWidth;
        objDiv.style.height = document.body.scrollHeight;
        fnSetPopUpLeft(modal);
    }
    catch (e)
    {
        alert(e);
    }
    return false
}

function fnSetPopUpLeft(oElement) 
{
    var DivWidth = parseInt(document.getElementById(oElement).offsetWidth, 10)
    var DivHeight = parseInt(document.getElementById(oElement).offsetHeight, 10)
//    document.getElementById(oElement).style.left = (document.body.offsetWidth / 2) - (DivWidth / 2) + 200;
    document.getElementById(oElement).style.top = 180 + 'px'; //(document.body.offsetHeight / 2) - (DivHeight / 2);

    return false;
}

/*********Silverlight***********************/
function onSilverlightError(sender, args) 
{
    var appSource = "";
    if (sender != null && sender != 0) {
        appSource = sender.getHost().Source;
    }
    var errorType = args.ErrorType;
    var iErrorCode = args.ErrorCode;

    var errMsg = "Unhandled Error in Silverlight 2 Application " + appSource + "\n";

    errMsg += "Code: " + iErrorCode + "    \n";
    errMsg += "Category: " + errorType + "       \n";
    errMsg += "Message: " + args.ErrorMessage + "     \n";

    if (errorType == "ParserError") {
        errMsg += "File: " + args.xamlFile + "     \n";
        errMsg += "Line: " + args.lineNumber + "     \n";
        errMsg += "Position: " + args.charPosition + "     \n";
    }
    else if (errorType == "RuntimeError") {
        if (args.lineNumber != 0) {
            errMsg += "Line: " + args.lineNumber + "     \n";
            errMsg += "Position: " + args.charPosition + "     \n";
        }
        errMsg += "MethodName: " + args.methodName + "     \n";
    }

    throw new Error(errMsg);
}


/********************Accordion*********************************************/
function loadAccordions() 
{
    var bottomAccordion = new accordion('vertical_container');
}
