/*
Biblioteca de Funciones JavaScript
VidalSystem S.A.
Proyecto:  Portal OCEF

*/


function AjaxRequest()
{
  try
    {
    objetus = new ActiveXObject("Msxml2.XMLHTTP");
    }
    catch (e)
    {
        try
        {
            objetus = new ActiveXObject("Microsoft.XMLHTTP");
        }
        catch (E)
        {
            objetus = false;
        }
    }

    if (!objetus && typeof XMLHttpRequest!='undefined')
        {
            objetus = new XMLHttpRequest();
        }
		
		if (objetus.overrideMimeType) {
			objetus.overrideMimeType('text/html');
		}     
	return objetus
}

	function activarRetirarScripts(_source) {
		var source = _source;
		var scripts = new Array();
				
		// Strip out tags
		while(source.indexOf("<script") > -1 || source.indexOf("</script") > -1) {
			var s = source.indexOf("<script");
			var s_e = source.indexOf(">", s);
			var e = source.indexOf("</script", s);
			var e_e = source.indexOf(">", e);		
			// Add to scripts array
			scripts.push(source.substring(s_e+1, e));		
			// Strip from source
			source = source.substring(0, s) + source.substring(e_e+1);	
		}
			
		// Loop through every script collected and eval it
		for(var i=0; i<scripts.length; i++) {
			try {						
				var script = document.createElement('script');	
				script.type = 'text/javascript';
				script.text = scripts[i];//Funciona en ambos	
				document.getElementsByTagName('head')[0].appendChild(script);
			}
			catch(ex) {
				// do what you want here when a script fails
			}
		}
		
		// Return the cleaned source (codigo sin Scripts)
		return source;
	}


//funcion ajax
function Ajax(objContenedor) {

	//<%-- Atributos --%>	
	this.objContenedor = objContenedor;

	//<%-- Constructor --%>	
	var ajax = AjaxRequest();
		
	//<%-- Metodos --%>
    this.doGet = function(url,manejador) {
    	var objContenedor = this.objContenedor;
    	
    	//Anida asincronamente a la pagina direccionada por el URL       
    	ajax.open ('GET', url, true);
    	//si funcion onreadystatechange esta definido
		if(manejador) {
			ajax.onreadystatechange = function() {
				manejador(ajax,objContenedor);				
			}
	    }
	    else {
	    //manejador por defecto
	    	if(objContenedor) {
		    	ajax.onreadystatechange = function () {
			    	// si el objeto Ajax ha recibido correctamente toda la data del URL, el contenedor debe recibir dicha data			  
					if (ajax.readyState == 4 && (ajax.status == 200 || window.location.href.indexOf ("http") == - 1)) {						
					    objContenedor.innerHTML = ajax.responseText;
					    var str = activarRetirarScripts(ajax.responseText); 									   						objContenedor.innerHTML = url2html(str);
					}
			    }
		    }
	    }
	    ajax.send (null);
    }
}

function url2html(str) {
	 str=unescape(str);
	 return str.replace(/\+/gi," ");
}


//funcion para evitar la recarga en la página al mostrar un contenido
function cargarUrlEnContenedor(url, contenedor_id) {
	var ajax1 = new Ajax();
	ajax1.objContenedor = document.getElementById(contenedor_id);
	ajax1.doGet(url);
}

//Validar una  dirección de correo
function ValidarEmail(direccionCorreo)
    { 
        if (/^[0-9a-zA-Z_\-\.]+@[0-9a-zA-Z\-\.]+\.[a-z]{2,4}$/.test(direccionCorreo))
            {      
             return (false);
            } 
        else 
            {
               return (true);
            }
   }