﻿// ================================================ //
// Libreria JavaScript para el soporte de Ajax      //
// ================================================ //
var req;
// Función para crear un objeto HttpRequest para procesar llamadas Ajax
function CreateAjaxHttpRequest() {
    var xmlhttp = false;
    try {
        xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (e) {
        try {
            xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
        } catch (E) {
            xmlhttp = false;
        }
    }

    if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {
        xmlhttp = new XMLHttpRequest();
    }
    return xmlhttp;
}

// Función para realizar una llamada Ajax
function AjaxGetData(url, responseHandler) {
    req = CreateAjaxHttpRequest();
    if (req) {
        req.onreadystatechange = responseHandler;
        req.open('GET', url, true);
        req.setRequestHeader("content-type", "application/x-www-form-urlencoded");
        req.send('');
    }
    else {
        alert('Your browser does not seem to support XMLHttpRequest.');
    }
}

// Funcion que procesa el upgrade application
function ProcessUpgradeApplication() {    
    var url = _APPLICATION_ABSOLUTE_PATH + '/Ajax/AjaxUpgradeApplication.ashx';    
    AjaxGetData(url, AjaxUpgradeApplication_CallBack);
    setTimeout(ProcessUpgradeApplication, 60000);
}

// Función en donde se trata la respuesta obtenida de la llamada Ajax de upgrade application
function AjaxUpgradeApplication_CallBack() {
    if (req.readyState == 4 || req.readyState == 'complete') {
        if (req.responseText == 'ACTUALIZACION') {
            var theBody = MM_findObj('theBody', window.parent.frames[1].document);
            if (theBody != null) {
                theBody.onkeydown = function() {
                    var e;
                    if (!e) e = window.event;
                    //if (!e) {
                    //e.returnValue = false;
                    //e.keyCode = 0;
                    //}
                };
            }
            ShowDivUpgradeApplication();
        }
        else if (req.responseText == 'NORMAL') {
            HideDivUpgradeApplication();
        }
        else {
//            alert(req.responseText);
        }
    }
}
function ProcessDownloadPdf(tipoPDF, idContrato) {  
    ShowDivLoading();
    var url = _APPLICATION_ABSOLUTE_PATH + '/Ajax/AjaxDownloadPdf.ashx?tipoPDF=' + tipoPDF + '&idContrato=' + idContrato;
    AjaxGetData(url, AjaxDownloadPdf_CallBack);
    
}
function AjaxDownloadPdf_CallBack() {
    if (req.readyState == 4 || req.readyState == 'complete') {
        if (req.responseText != null && req.responseText != '')
        {
            var pdfContent = document.getElementById('PdfContent');
            if (pdfContent != null) {
                pdfContent.value = req.responseText;
                document.forms[0].submit();
            }            
        }
    }
}
