///////////////////
function NuevoAjax(){
        var xmlhttp=false;
        try{
                xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
        }catch(e){
                try{
                        xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
                }catch(E){
                        xmlhttp = false;
                }
        }

        if(!xmlhttp && typeof XMLHttpRequest!='undefined'){
                xmlhttp = new XMLHttpRequest();
        }
        return xmlhttp;
}

function llamarasincrono(url, id_contenedor){
	
        var contenido, preloader;
        contenido = document.getElementById(id_contenedor);
        preloader = document.getElementById('preloader');
        //creamos el objeto XMLHttpRequest
        ajax=NuevoAjax(); 
        //peticionamos los datos, le damos la url enviada desde el link
        ajax.open("GET", url,true); 
		
        ajax.onreadystatechange=function(){
                if(ajax.readyState==1){
                        preloader.innerHTML = "Cargando...";
                        //modificamos el estilo de la div, mostrando una imagen de fondo
                        // preloader.style.background = "url('loading.gif') no-repeat"; 
						//preloader.style.width = "200px";
                }else if(ajax.readyState==4){
                        if(ajax.status==200){
                                //mostramos los datos dentro de la div
								 preloader.innerHTML = "";
                                contenido.innerHTML = ajax.responseText; 
                                //preloader.innerHTML = "Cargado.";
                                preloader.style.background = "";
								
								
								/////////////
								
								var elementos = contenido.getElementsByTagName('script');
								for(i=0;i<elementos.length;i++) {
								var elemento = elementos[ i ];
								nuevoScript = document.createElement('script');
								nuevoScript.text = elemento.innerHTML;
								nuevoScript.type = 'text/javascript';
								if(elemento.src!=null && elemento.src.length>0)
								nuevoScript.src = elemento.src;
								elemento.parentNode.replaceChild(nuevoScript,elemento);
								}
								
								/////////////
								
								
								
                        }else if(ajax.status==404){
                                preloader.innerHTML = "La página no existe";
								contenido.innerHTML = ""; 
                        }else{
                                //mostramos el posible error
                                preloader.innerHTML = "Error:".ajax.status; 
								contenido.innerHTML = ""; 
                        }
                }
        }
        ajax.send(null);
}

// Documento JavaScript metodo post
function xmlhttpPost(strURL,idContenedor,frm,bnt) {
	var xmlHttpReq = false;
	 var contenido, preloader;
     contenido = document.getElementById(idContenedor);
     preloader = document.getElementById('preloader');
		
   // Mozilla/Safari
  if (window.XMLHttpRequest) {// Si es Mozilla, Safari etc
	xmlHttpReq = new XMLHttpRequest()
	} else if (window.ActiveXObject){ // pero si es IE
	try {
	xmlHttpReq = new ActiveXObject("Msxml2.XMLHTTP")
	} 
	catch (e){ // en caso que sea una versión antigua
	try{
	xmlHttpReq = new ActiveXObject("Microsoft.XMLHTTP")
	}
	catch (e){}
	}
	}
	else
	return false
   
   xmlHttpReq.open('POST', strURL, true);
   
   xmlHttpReq.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
   
   xmlHttpReq.onreadystatechange = function() {
	   if(xmlHttpReq.readyState==1){
                        preloader.innerHTML = "Cargando...";
                        //modificamos el estilo de la div, mostrando una imagen de fondo
                       // preloader.style.width = "url('loading.gif') no-repeat"; 
						//preloader.style.width = "200px";
                }else if(xmlHttpReq.readyState==4){
                        if(xmlHttpReq.status==200){
                                //mostramos los datos dentro de la div
								preloader.innerHTML = "";
                                contenido.innerHTML = xmlHttpReq.responseText; 
                                //preloader.innerHTML = "Cargado.";
                               // preloader.style.background = "#ffffff";
								////////////
								var elementos = contenido.getElementsByTagName('script');
								for(i=0;i<elementos.length;i++) {
								var elemento = elementos[ i ];
								nuevoScript = document.createElement('script');
								nuevoScript.text = elemento.innerHTML;
								nuevoScript.type = 'text/javascript';
								if(elemento.src!=null && elemento.src.length>0)
								nuevoScript.src = elemento.src;
								elemento.parentNode.replaceChild(nuevoScript,elemento);
								}
								///////////
								
                        }else if(xmlHttpReq.status==404){
                                preloader.innerHTML = "La página no existe";
                        }else{
                                //mostramos el posible error
                                preloader.innerHTML = "Error:".xmlHttpReq.status; 
                        }
                }
   }

	xmlHttpReq.send(getquerystring(frm,bnt)); 
  
}

function getquerystring(frm,bnt) {
   var form = document.forms[frm];
   
   var texto = new String ("");
   var validar = new String ("");

	var anterior = "";
	
	for(i=0; i<form.length; i++)
   { 
     if(form.elements[i].name != anterior && form.elements[i].name != "validar")
	 {
		 if(form.elements[i].type=="radio")
		 {
		  aux = "&" + form.elements[i].name + "=" + checkForm(frm,form.elements[i].name);
		 }
		 else
		 {aux="&" + form.elements[i].name + "=" + form.elements[i].value;}
		 
		 texto = texto.concat(aux);
	 }
	 anterior = form.elements[i].name;
    }
	
	texto = texto + "&validar=" + bnt;
	
 return texto;
}

function checkForm(id,check){
      var id = document.forms[id];
      var rb = checkRaddio(id[check]);
      return rb;
   }

function checkRaddio(id){
      var x = 0;
      var value = null;
      while(x<id.length){
         if(id[x].checked)value = id[x].value;
         x++;
      }
      return value == null ? "" : value;
   }

