﻿function DialogForm_Show(clientId, action,id, headerText, width, height,onCloseUpHandler)
{
    var popup = DialogForm_GetPopupElement(clientId);
    //if(popup.IsVisible()) return;
    if(popup)
    {
        //Debuger.ShowInfo(popup);
        if (headerText)
            popup.SetHeaderText(headerText);

        if (width && height)
        {
            popup.Show();
            popup.SetSize(width, height);
            popup.Hide();
        }
        popup.Show();
        var cbp = gfGetElement(clientId+'_popupDialogForm_cbpDialogForm');
        //Debuger.ShowInfo(cbp);
        cbp.PerformCallback(action+'|'+id);
    }
    if (!popup.closeUpEventHandlers) {
        popup.closeUpEventHandlers = new Array();
        popup.addCloseUpEventHandler = function(handler) {
            if (handler && typeof(handler) =='function')
                popup.closeUpEventHandlers[popup.closeUpEventHandlers.length] = handler;
        }
    }
    else
        popup.closeUpEventHandlers = new Array();
    popup.addCloseUpEventHandler(onCloseUpHandler);
}
function DialogForm_GetPopupElement(clientId) {
    return gfGetElement(clientId + '_popupDialogForm');
}
function DialogForm_AddCloseUpEventHandler(clientId, handler) {
    var popup = DialogForm_GetPopupElement(clientId);
    popup.addCloseUpEventHandler(handler);
}
function DialogForm_Close(clientId)
{
    gfClosePopup(clientId+'_popupDialogForm');
}
function popupDialogForm_CloseUp(clientId,e)
{
    
    var hf = document.getElementById(clientId + "_popupDialogForm_cbpDialogForm_hfDialogParam");
    gfClearHidden(clientId + "_popupDialogForm_cbpDialogForm_hfDialogParam");
    
    var popup = DialogForm_GetPopupElement(clientId);
    //execute event handlers
    if (popup.closeUpEventHandlers && popup.closeUpEventHandlers.length > 0) {
        for (var i = 0; i < popup.closeUpEventHandlers.length; i++) {
            var handler = popup.closeUpEventHandlers[i];
            handler(popup, e);
        }
    }
}