﻿// FUNCIONES AJAX

var http_request = false;
   
function obtenerRequest(url, parametros, funcion, tabla, campo) {
      
    try {
        bloquearPantalla(true); //realizamos el bloqueo modal de pantalla
    }catch(e){}
        
    http_request = false;
      
    var navegador = navigator.appName ;
    
      if (window.XMLHttpRequest) { // Mozilla, Safari,...
        if(navegador!="Microsoft Internet Explorer")
        {
            http_request = new XMLHttpRequest();
            if (http_request.overrideMimeType) {
               http_request.overrideMimeType('text/xml');
            }
        }else{
            try {
                http_request = new ActiveXObject("Msxml2.XMLHTTP");
            } catch (e) {
                try {
                   http_request = new ActiveXObject("Microsoft.XMLHTTP");
                } catch (e) {}
            }
        }
      } 
      else if (window.ActiveXObject) { // IE
         try {
            http_request = new ActiveXObject("Msxml2.XMLHTTP");
         } catch (e) {
            try {
               http_request = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (e) {}
         }
      }
      
      if (!http_request) {
         alert('No se puede crear una instancia XMLHttpRequest');
         return false;
      }
      
      parametrosGet='';
      if(tabla!=""){
        parametrosGet+='tabla='+tabla;
      }
      
      if(campo!=""){
        if(parametrosGet!='') parametrosGet+='&';
        parametrosGet+='campo='+campo;
      }
      
      if(parametrosGet!='') parametrosGet='?'+parametrosGet;
	  
      http_request.onreadystatechange = function() {
	    if(http_request.readyState == 4 && http_request.status == 200){
	        try {
                desbloquearPantalla();
            }catch(e){}
	        funcion(campo);
	    }
	    else {
	        if(http_request.readyState == 4 && http_request.status == 12030){
                try {
                    desbloquearPantalla();
                }catch(e){}
	        }
	        
	    }
      }
            
	  if(parametros!=''){
	      //alert("url+parametrosGet::" + url+parametrosGet);
		  http_request.open('POST', url+parametrosGet, true);
	
		  //Creamos las cabeceras de envio post
		  http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		  http_request.setRequestHeader("Content-length", parametros.length);
		  http_request.setRequestHeader("Connection", "close");
	
		  http_request.send(parametros);
	  }else{
		  http_request.open('GET', url, true);
		  http_request.send('null');
	  }
   }
   
   function bloquearPantalla(reloj)
   {
        try 
        {
            oElement = MM_findObj('bodyTarificador');
		    oElement.scrolling='no';
    		
    //		oElement.overflow-y = "hidden";
    //		oElement.overflow-x = "hidden"; 
    		
		    dim = getDimensions(oElement);

            //alert(dim.w+" - "+dim.h);

            cb = MM_findObj("capaBloqueo");
		    tc = MM_findObj('capaReloj');
		    fo = MM_findObj('iframe_oculto');
    		
		    height = (typeof(height)=="undefined")?900:height;
		    dim.h = (dim.h<400)?height:dim.h;
    		
		    if(reloj){
			    //tc.style.width=dim.w+"px";
			    tc.style.width="100%";
        	    tc.style.height=dim.h+"px";
			    tc.style.display="block";
			    ref=tc;
		    }else{
			    //cb.style.width=dim.w+"px";
			    cb.style.width="100%";
			    cb.style.height=dim.h+"px";
			    cb.style.display="block";
			    ref=cb;
		    }
		    if(document.all){
    					
			    fo.style.filter="alpha(opacity=0)"; // Opacidad para IE
			    fo.style.opacity="0.00"; // Ocapacidad para Netscape
    	
    //			fo.style.width = ref.offsetWidth;
    //			fo.style.height = ref.offsetHeight;
			    fo.style.width = "250px";
			    fo.style.height = "450px";
			    fo.style.top = ref.style.top;
			    fo.style.left = ref.style.left;
			    //fo.style.zIndex = cb.style.zIndex - 1;
			    fo.style.display = "block";
		    }
		}
		catch(e){}
   }
   
   function desbloquearPantalla()
   {
	    if(typeof(oElement)=="undefined")
	        oElement = MM_findObj('bodyTarificador');
		   
	    oElement.scrolling='auto';
	    
        cb = MM_findObj("capaBloqueo");
        fo = MM_findObj("iframe_oculto");
        tc = MM_findObj('capaReloj');
        cb.style.display = "none";
        fo.style.display = "none";
        tc.style.display = "none";
   }
