﻿//Root functions used by all PostBackPopups

//Show the popup in an empty state
function $showEmpty(controlId,clientControlID,postBackData)
{
    emptyElement(clientControlID + '_pnlContent');
    __doPostBack(clientControlID + '_updatepanel', postBackData);
    NBSEnablePanel(controlId + 'backpanel');
}

function NBSEnablePanel(controlId) {
    $("BODY").append("<div id=\"dialogUnder\" class=\"modalBackground\"></div>");
  
    var width = $('#' + controlId).width();
    var offsetx = width / 2;
    var windowwidth = $(window).width()/2;
    var xpos = windowwidth - offsetx;
    $('#' + controlId).css("left", xpos + 'px');
    $('#' + controlId).show();
}

function NBSDisablePanel(controlId) {
    //remove the div added for displaying underneart the dialog
    $("#dialogUnder").remove();    
    $('#' + controlId).hide();
}

//Show the popup as is
function $show(controlId,clientControlID,postBackData)
{
    __doPostBack(clientControlID + '_updatepanel',postBackData);
    NBSEnablePanel(controlId + 'backpanel');    
}


//hide the popup as is
function $hide(controlId)
{
    NBSDisablePanel(controlId + 'backpanel');
}

//hide the popup, emptying it's contents afterwards
function $hideEmpty(controlId,clientControlID)
{
    //$find(controlId + '_mpe').hide();
    NBSDisablePanel(controlId + 'backpanel');
    emptyElement(clientControlID + '_pnlContent');
}

//find an element by id and empty it
function emptyElement(elementName) {

    var cell = document.getElementById(elementName);
    if ( cell.hasChildNodes() )
    {
        while ( cell.childNodes.length >= 1 )
        {
            cell.removeChild( cell.firstChild );       
        } 
    }
}