﻿// Añade Eventos de Pagina en el Cliente
var app = Sys.Application;
//app.add_load(ApplicationLoad);
app.add_init(ApplicationInit);
//app.add_disposing(ApplicationDisposing);
//app.add_unload(ApplicationUnload);

// Metodos asociados a evenos de pagona
function ApplicationInit(sender) {
  var prm = Sys.WebForms.PageRequestManager.getInstance();
  if (!prm.get_isInAsyncPostBack())
  {
      //prm.add_initializeRequest(InitializeRequest);
      prm.add_beginRequest(BeginRequest);
      //prm.add_pageLoading(PageLoading);
      //prm.add_pageLoaded(PageLoaded);
      prm.add_endRequest(EndRequest);
  }
  //alert("Se inicializo Eventos");
  //$get('ClientEvents').innerHTML += "APP:: Application init. <br/>";
}
function ApplicationLoad(sender, args) {
  //$get('ClientEvents').innerHTML += "APP:: Application load. ";
  //$get('ClientEvents').innerHTML += "(isPartialLoad = " + args.get_isPartialLoad() + ")<br/>";
  alert("Evento ApplicationLoad");
}
function ApplicationUnload(sender) {
  alert('Application unload');
}
function ApplicationDisposing(sender) {
  //$get('ClientEvents').innerHTML += "APP:: Application disposing. <br/>";
  alert("ApplicaionDispos");
}
/* // Application event handlers for page developers.
function pageLoad() {
  //$get('ClientEvents').innerHTML += "PAGE:: Load.<br/>";
  alert("Load");
}

function pageUnload() {
  alert('Page unload');
}
*/

// PageRequestManager event handlers.
function InitializeRequest(sender, args) {
  //$get('ClientEvents').innerHTML += "<hr/>";
  //$get('ClientEvents').innerHTML += "PRM:: Initializing async request.<br/>";
  alert("InitializeRequest");

}
function BeginRequest(sender, args) {
  //Pone mensaje de procesando
  lblProceso = document.getElementById("ctl00_lblProceso");
  lblProceso.innerHTML = '&nbsp;&nbsp;Espere por favor. Procesando....&nbsp;&nbsp;';

  //$get('ClientEvents').innerHTML += "PRM:: Begin processing async request.<br/>";
  //var ObjMsg = document.getElementById("ctl00_lblMsg");
  //ObjMsg.innerHTML = '';//Inicializo el mensaje mostrado
  txtargs = document.getElementById("ctl00_txtargs");

  //Guarda el boton que produce el postback
  txtargs.value = args.get_postBackElement().id;//Guarda el boton que produce la consulta
  //alert("PageRequestManager-->BeginRequest");
  //Deshabilito el boton que se presiono
  //btn = document.getElementById(txtargs.value);
  //btn.disabled = true;
  
}
function PageLoading(sender, args) {
  /*$get('ClientEvents').innerHTML += "PRM:: Loading results of async request.<br/>";
  var updatedPanels = printArray("PanelsUpdating", args.get_panelsUpdating());
  var deletedPanels = printArray("PanelsDeleting", args.get_panelsDeleting());
  var message = "-->" + updatedPanels + "<br/>-->" + deletedPanels + "<br/>";
  document.getElementById("ClientEvents").innerHTML += message;
  */
  alert("PageRequestManager-->PageLoading");
}
function PageLoaded(sender, args) {
  /*$get('ClientEvents').innerHTML += "PRM:: Finished loading results of async request.<br/>";
  var updatedPanels = printArray("PanelsUpdated", args.get_panelsUpdated());
  var createdPanels = printArray("PaneslCreated", args.get_panelsCreated());
  var message = "-->" + updatedPanels + "<br/>-->" + createdPanels + "<br/>";
  document.getElementById("ClientEvents").innerHTML += message;
  */
  alert("PageRequestManager-->PageLoaded");
}
function EndRequest(sender, args) {
  //$get('ClientEvents').innerHTML += "PRM:: End of async request.<br/>";
  var ObjMsg = document.getElementById("ctl00_lblMsg");
  var ObjCons = document.getElementById("ctl00_objctrCmd_txtConsulta");
  var ObjCmd = document.getElementById("ctl00_objctrCmd_txtComando");
  //alert("PageRequestManager-->EndRequest");
  //Si hay mensaje se muestra en forma de ventana
  if (ObjMsg != null )
    if (ObjMsg.innerHTML != '')
        alert(ObjMsg.innerHTML);
  //Verifica si no se llamado a una consulta
  if (ObjCons != null )
    if (ObjCons.value != '')
  { //Preguntar si tiene frmConsulta.aspx o frmConsTree.aspx
    if ( ObjCons.value.indexOf("frmConsulta") > 0 || 
         ObjCons.value.indexOf("frmConsTree") > 0 ||
         ObjCons.value.indexOf("frmImagen") > 0 ||
         ObjCons.value.indexOf("frmReportes") > 0)
    {
        pos1 = ObjCons.value.indexOf(",");
        formulario = ObjCons.value.substring(0,pos1-1);
        //alert(formulario);
        temp = ObjCons.value.substring(pos1+1);
        pos1 = temp.indexOf(",");
        opcion = temp.substring(0,pos1);//Opcion
        temp = temp.substring(pos1+1);
        pos1 = temp.indexOf(",");
        ancho = temp.substring(0,pos1);//Ancho
        temp = temp.substring(pos1+1);
        pos1 = temp.indexOf(",");
        alto = temp.substring(0,pos1);//alto
        temp = temp.substring(pos1+1);
        pos1 = temp.indexOf(",");
        marg1 = temp.substring(0,pos1);//top
        marg2 = temp.substring(pos1+1); //left
        AbrirWindow(formulario,opcion,ancho,alto,marg1,marg2);
        ObjCons.value = '';
    }
    if ( ObjCons.value.indexOf("RetornaConsulta") >= 0 )
    {
        ObjCons.value = ObjCons.value.substring(17);
        pos1 = ObjCons.value.indexOf("'");
        ObjCons.value = ObjCons.value.substring(0,pos1);
        RetornaConsulta(ObjCons.value);
    } 
  }
  //Procesa comando
  if (ObjCmd != null)
   if (ObjCmd.value != '')
  { //Preguntar si tiene un comando que ejecutar
      switch (ObjCmd.value)
      {
        case "Salir": 
            window.close();break;      
      }
  }
  //Quita pensaje de Procesando
  lblProceso = document.getElementById("ctl00_lblProceso");
  lblProceso.innerHTML = '';
}


