navigator.IE = !( !window.ActiveXObject );
// JavaScript Document
function ClassLogginOver(contenidoDiv){
	var me = this;
	var contador = 0;
	var content = contenidoDiv;
	me.oscurecer = function(anadido){
		if (contador != 1){
			var fondo = document.createElement("div");
			fondo.setAttribute("id","fondo");
			
			fondo.setAttribute("align","center");
			fondo.style.position = "absolute";
			fondo.style.filter = "alpha(opacity=50)";
			fondo.style.top = "0px";
			fondo.style.opacity = "0.5";
			res=document.body.offsetHeight;
			fondo.style.height = 100 + '%';
			fondo.style.width = 100 + '%';
			fondo.style.backgroundColor = "#000000";
			bod = anadido;
			bod.appendChild(fondo);
			var fondo2 = document.createElement("div");
			fondo2.setAttribute("id","log");
			fondo.style.position = "absolute";
			fondo.style.top= "0px";
			fondo2.style.height = 100 + '%';
			fondo2.style.width = 100 + '%';
			fondo2.innerHTML = content;
			bod.appendChild(fondo2);
			//bod.innerHTML += content;
			contador = 1;
		}
	}
 
	me.restablecer = function(){
		hijo = document.getElementById("fondo");
		padre = hijo.parentNode;
		padre.removeChild(hijo);
		contador = 0;
	}
}

function ClassValidaSessionUsuario(paginaValidadora, logginHTML){
	var me = this;
	var pagina = paginaValidadora;
	me.logginOver = new ClassLogginOver(logginHTML);
	var peticion = null;
	var divName = "";
	var divNameCargando = "cargando";
	var modo = 0;
	var destino = divNameCargando;
	var imagen = "<img src='../images/loader1.gif' align='absmiddle' title='Cargando...' border='0'> Cargando...";
	var cargo=false;
		
	function getAjax(){
		var req = false;
		cargo=false;
		if (window.XMLHttpRequest) {
			req = new XMLHttpRequest();
		 } else {
			 if (ActiveXObject){
				 var reqVersiones = ["MSXML2.XMLHttp.5.0", "MSXML2.XMLHttp.4.0", 
									 "MSXML2.XMLHttp.3.0", "MSXML.XMLHttp", "Microsoft.XMLHttp"];
				 for(var i=0; i<reqVersiones.length; i++){
					 try{
						 req = new ActiveXObject(reqVersiones[i]);
						 return req;					 
					 } catch (e) {}
				 }
			 }
		 }
		 return req;
	}
	
	function setModo(modo, destino, imagen)
	{
		this.modo = modo;
		this.destino = destino;
		this.imagen = "<img src='"+imagen+"' align='absmiddle' title='Cargando...' border='0'> Cargando...";
	}
	
	function procesaAjax(pagina, parametros){
		cargo=false;
		peticion.open("POST", pagina, true);
		peticion.onreadystatechange = procesaPeticion;	
		peticion.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
		peticion.send(parametros);
	}
	
	function procesaPeticion(){
		var divCargando = document.getElementById(divNameCargando);
		if (divCargando ){
			divCargando.style.display = "block";
			if (modo == 0){
				divCargando.style.position = "absolute";
				divCargando.style.left = "50%";
				divCargando.style.top = "50%";	
				divCargando.style.border="0px solid #CCC";
				divCargando.style.backgroundColor="#EEE";
				divCargando.style.zIndex  = 9000;
			}
		}
		if(peticion.readyState==1){
			if (divCargando) divCargando.innerHTML = imagen;
		}else if (peticion.readyState==4){
			if (peticion.status==200){
				executaValidador();
				if (divCargando) {divCargando.style.display = "none"; }
				cargo=true;
			}
		}
	}

 	me.validaSession = function(){
		peticion =  getAjax();	
		procesaAjax(pagina,"validar=1");
	}
	me.revalida = function(){
		me.logginOver.restablecer();
		hijo = document.getElementById("loginOver");
		padre = hijo.parentNode;
		padre.removeChild(hijo);
		peticion =  getAjax();	
		procesaAjax(pagina,"validar=1");
			
	}
	function executaValidador(){
		
		if(peticion.responseText == 1){
			//document.getElementsByTagName("BODY")[0].innerHTML += peticion.responseText + "<br />";
			me.validaSession();
		}
		else{
			if(peticion.responseText != ""){
				//document.getElementsByTagName("BODY")[0].innerHTML += peticion.responseText + "<br />";
				me.logginOver.oscurecer(document.getElementsByTagName("BODY")[0]);
			}
			else{
				me.validaSession();
			}
		}
	}
	
}
