// JavaScript Document

function ajaxFunction() {
var xmlHttp;
try {
// Firefox, Opera 8.0+, Safari
xmlHttp=new XMLHttpRequest();
return xmlHttp;
} catch (e) {
// Internet Explorer
try {
xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
return xmlHttp;
} catch (e) {
try {
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
return xmlHttp;
} catch (e) {
alert("Tu navegador no soporta AJAX!");
return false;
}}}
}


function SetContainerHTML(id_contenedor,responseText){ 
    var mydiv = document.getElementById(id_contenedor);
    mydiv.innerHTML = responseText.tratarResponseText();
	//txt=unescape(responseText.tratarResponseText());
	//txt2=txt.replace(/\+/gi," ");
	//mydiv.innerHTML = txt2;
} 

String.prototype.tratarResponseText=function(){ 
    var pat=/<script[^>]*>([\S\s]*?)<\/script[^>]*>/ig; 
    var pat2=/\bsrc=[^>\s]+\b/g; 
    var elementos = this.match(pat) || []; 
    for(i=0;i<elementos.length;i++) { 
        var nuevoScript = document.createElement('script'); 
        nuevoScript.type = 'text/javascript'; 
        var tienesrc=elementos[i].match(pat2) || []; 
        if(tienesrc.length){ 
            nuevoScript.src=tienesrc[0].split("'").join('').split('"').join('').split('src=').join('').split(' ').join('');
        }else{ 
            var elemento = elementos[i].replace(pat,'$1',''); 
            nuevoScript.text = elemento; 
        } 
        document.getElementsByTagName('body')[0].appendChild(nuevoScript); 
    } 
    return this.replace(pat,''); 
} 

function Enviar(_pagina,capa,refrescar) {
var ajax;
ajax = ajaxFunction();
ajax.open("GET", _pagina, true);

ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
ajax.onreadystatechange = function()
{
if (ajax.readyState == 1)
{
document.getElementById(capa).innerHTML = "";
document.getElementById(capa).style.display = 'none';
}
if (ajax.readyState == 4)
{
if (ajax.status==200)
{
//document.getElementById(capa).style.visibility ='visible'
document.getElementById(capa).style.display = 'block';
//document.getElementById(capa).innerHTML = ajax.responseText;
SetContainerHTML(capa,ajax.responseText); 

if (refrescar == 0){
	//oculta_mensaje_respuesta(capa,refrescar);
}else{
	oculta_mensaje_respuesta(capa,refrescar);
}
}
}}
ajax.send(null);
}

function Cargarcontenido(_pagina,seccion,formid,capa,refrescar) {
var ajax;
var	Formulario = document.getElementById(formid);
var longitudFormulario = Formulario.elements.length;
var cadenaFormulario = "";
var	sepCampos;
sepCampos = "";
for (var i=0; i <= Formulario.elements.length-1;i++) { 
//cadenaFormulario += sepCampos+Formulario.elements[i].name+'='+encodeURI(Formulario.elements[i].value);
// Sacamos encodeURI por problemas con acentos y Ñ
cadenaFormulario += sepCampos+Formulario.elements[i].name+'='+escape(Formulario.elements[i].value);
sepCampos="&";
}

ajax = ajaxFunction();

ajax.open("POST", _pagina, true);

ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
//ajax.setRequestHeader("Content-Type", "multipart/form-data");
ajax.onreadystatechange = function()
{

if (ajax.readyState==1)
{
document.getElementById(capa).innerHTML = "";
document.getElementById(capa).style.display = 'none';
}
if (ajax.readyState == 4)
{
if (ajax.status==200)
{
document.getElementById(capa).style.display = 'block';

 //document.getElementById(capa).innerHTML = ajax.responseText;
SetContainerHTML(capa,ajax.responseText); 
		
if (refrescar == 0){
	//oculta_mensaje_respuesta(capa,refrescar);
}else{
	oculta_mensaje_respuesta(capa,refrescar);
}

}}}
//ajax.send(cadenaFormulario+"&"+seccion);
ajax.send(cadenaFormulario);
}

function ajax_upload(_pagina,formid,capa) {
var	Formulario = document.getElementById(formid);
	// request more permissions
	//try {
	//	netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
	//} catch (e) {
	//	alert("No tiene permiso de lectura.");
	//}

	http_request = false;
	http_request = new XMLHttpRequest();
	if (!http_request) {
		alert('No puede crear la instancia XMLHTTP');
		return false;
	}

	// prepare the MIME POST data
	var boundaryString = 'capitano';
	var boundary = '--' + boundaryString;
	var requestbody = boundary + '\n' 
	+ 'Content-Disposition: form-data; name="mytext"' + '\n' 
	+ '\n' 
	+ mytext + '\n' 
	+ '\n' 
	+ boundary + '\n' 
	+ 'Content-Disposition: form-data; name="myfile"; filename="' 
		+ filename + '"' + '\n' 
	+ 'Content-Type: application/octet-stream' + '\n' 
	+ '\n'
	+ escape(binary.readBytes(binary.available()))
	+ '\n'
	+ boundary;

	Formulario.getElementById('sizespan').innerHTML = 
		"requestbody.length=" + requestbody.length;
	
	// do the AJAX request
	http_request.onreadystatechange = requestdone;
	http_request.open('POST', url, true);
	http_request.setRequestHeader("Content-type", "multipart/form-data; \
		boundary=\"" + boundaryString + "\"");
	http_request.setRequestHeader("Connection", "close");
	http_request.setRequestHeader("Content-length", requestbody.length);
	http_request.send(requestbody);

}


function enviarFormulario(url, formid, divrespuesta){
        var Formulario = document.getElementById(formid);
        var longitudFormulario = Formulario.elements.length;
        var cadenaFormulario = "";
        var sepCampos;
        sepCampos = "";
        for (var i=0; i <= Formulario.elements.length-1;i++) {
            cadenaFormulario += sepCampos+Formulario.elements[i].name+'='+encodeURI(Formulario.elements[i].value);
            sepCampos="&";
    }
    peticion=nuevoAjax();
    peticion.open("POST", url, true);
    peticion.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=ISO-8859-1');
    peticion.send(cadenaFormulario);
    peticion.onreadystatechange = function() {
          if (peticion.readyState == 4 && (peticion.status == 200 || window.location.href.indexOf ("http") == - 1)){
                document.getElementById(divrespuesta).innerHTML = peticion.responseText;
          }
    }
}


function oculta_mensaje_respuesta(capa,refrescar) {
	//setTimeout("document.getElementById('mensaje_respuesta').style.display='none'",3000);
	setTimeout("document.getElementById('" + capa + "').style.display='none'",3000);
	if (refrescar == 1){
             //location.reload(true)
			setTimeout("location.reload(true)",3000);
    }
}
function refrescar() {
	//location.reload(true)
	setTimeout("location.reload(true)",3000);
}
