﻿// *Novo*
// Variaveis para Guardar o tamanho da Área do Browser
var MAL_ClientAreaBounds;
var MAL_ClientAreaWidth;
var MAL_ClientAreaHeight;

// Variaveis com tamanhos da divModal
var MAL_OwnerControl
var MAL_OwnerBounds
var MAL_OwnerWidth
var MAL_OwnerHeight

// Variavel para guardar parametro se foi usado a página ou não como Owner da divModal
var MAL_PageIsOwner = false;
var MAL_strOwnerID = 'divPaginaHome';

var MAL_windowHandlersAttached = false;    // Flag para indicar se os eventos de resize e scroll estão interceptados

//Propriedades da _divFormLoader ( esta é uma div simulando um pequeno form onde o texto e a imagem do loader serão mostrados )
var MAL_FormLoaderWidth = 280;
var MAL_FormLoaderHeight = 100;

//Propriedades do Texto do lblCaption ( Texto de aviso que o processamento está em andamento...
var MAL_MensagemLoaderLeft = 10;
var MAL_MensagemLoaderTop = 58;

// Propriedades _imgImagemLoader ( As propriedades Width e Height devem ser omitidas, mas a imagem usada DEVE ser 64x64 pixels )
var MAL_imagemLoaderLeft = 110;                   // Left da Imagem do Loader
var MAL_imagemLoaderTop = 10;                    // Top da Imagem do Loader

function MostraAjaxLoader(strMensagemLoader) {

    // Inicializar variaveis da ClientArea
    MAL_ClientAreaBounds = GetJanelaBrowserClientArea();
    MAL_ClientAreaWidth = MAL_ClientAreaBounds.width;
    MAL_ClientAreaHeight = MAL_ClientAreaBounds.height;

    // O Owner da divModal será a divPagina
    if ($get(MAL_strOwnerID) == null) {
        MAL_strOwnerID = 'divPaginaHome';
    }

    MAL_OwnerControl = $get(MAL_strOwnerID);

    if (MAL_OwnerControl == null) {
        MAL_OwnerControl = $('#divPaginaHome', parent.document)[0];
    }

    MAL_OwnerBounds = Sys.UI.DomElement.getBounds(MAL_OwnerControl);
    MAL_OwnerWidth = MAL_OwnerBounds.width - 2;
    MAL_OwnerHeight = MAL_OwnerBounds.height - 1;

    // Cria a div Modal que cobrirá o página Owner
    var MAL_divModalWindow = document.createElement('div');
    MAL_divModalWindow.id = '_divModalLoader';
    MAL_divModalWindow.className = 'CSS_divModalLoader';

    MAL_divModalWindow.style.width = MAL_OwnerWidth + 'px';
    MAL_divModalWindow.style.height = MAL_OwnerHeight + 'px';
    MAL_divModalWindow.style.position = 'absolute';
    MAL_divModalWindow.style.left = '0px';
    MAL_divModalWindow.style.top = '0px';
    MAL_OwnerControl.appendChild(MAL_divModalWindow);

    // Segunda Etapa : Criar o form com o Loader ( Mensagem e gif animado )
    //Crio a div que vai conter a janela da mensagem
    var MAL_divForm = document.createElement('div');
    MAL_divForm.id = '_divFormLoader';

    MAL_divForm.className = 'CSS_divFormLoader';
    MAL_divForm.style.width = MAL_FormLoaderWidth + 'px';
    MAL_divForm.style.height = MAL_FormLoaderHeight + 'px';
    MAL_divForm.style.position = 'absolute';

    MAL_divForm.style.left = ((MAL_OwnerWidth - MAL_FormLoaderWidth) / 2) + 'px';
    MAL_divForm.style.top = MAL_OwnerBounds.y + Math.round(MAL_OwnerBounds.height / 3) - Math.round(MAL_FormLoaderHeight / 2) + 'px';

    MAL_divForm.style.zIndex = 999;
    MAL_divModalWindow.appendChild(MAL_divForm);

    // Crio o Texto de Aviso que o processamento está em andamento
    var MAL_MensagemLoader = document.createElement('span');
    MAL_MensagemLoader.id = '_lblMensagemLoader';
    MAL_MensagemLoader.className = 'CSS_TextoMensagemLoader';
    MAL_MensagemLoader.style.position = 'absolute';
    MAL_MensagemLoader.style.left = MAL_MensagemLoaderLeft + 'px';
    MAL_MensagemLoader.style.top = MAL_MensagemLoaderTop + 'px';
    MAL_MensagemLoader.innerHTML = strMensagemLoader;
    MAL_divForm.appendChild(MAL_MensagemLoader);

    // Crio a Imagem ( Icone ) que será usada pelo Loader
    var MAL_ImagemLoader = document.createElement('img');
    MAL_ImagemLoader.id = '_imgImagemLoader';
    MAL_ImagemLoader.className = 'CSS_imgImagemLoader';
    MAL_ImagemLoader.src = 'AppImagens/Pulse-1s-200px-unscreen.gif'
    MAL_ImagemLoader.style.position = 'relative';
    //MAL_ImagemLoader.style.left = MAL_imagemLoaderLeft + 'px';
    MAL_ImagemLoader.style.top = MAL_imagemLoaderTop + 'px';

    // Adiciono a imagem do Loader à divModal
    MAL_divForm.appendChild(MAL_ImagemLoader);

    // Ultima Etapa : Dar o foco para a janela
    try {
        if ($get('_divFormLoader') !== null) {
            $get('_divFormLoader').focus();
        } else {
            $('#_divFormLoader', parent.document)[0].focus();
        }
    } catch (e) {

    }

}

function FecharLoaderWindow() {
    var FLW_divModal = $get('_divModalLoader');
    var FLW_divLoader = $get('_divFormLoader');

    if (FLW_divModal !== null) {
        FLW_divModal = $get('_divModalLoader');
    } else {
        FLW_divModal = $('#_divModalLoader', parent.document)[0];
    }

    if (FLW_divLoader !== null) {
        FLW_divLoader = $get('_divFormLoader');
    } else {
        FLW_divLoader = $('#_divFormLoader', parent.document)[0];
    }

    try {
        FLW_divModal.removeChild(FLW_divLoader);
        if ($get(MAL_strOwnerID) == null) {
            $('#' + MAL_strOwnerID, parent.document)[0].removeChild(FLW_divModal);
        } else {
            $get(MAL_strOwnerID).removeChild(FLW_divModal);
        }
    } catch (e) {

    }
    return false;
}

