//FUNCIONES AJAX#####################################
function crearAjax(){
    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 pintaAjax(pagina, sVars, divContenedora)
{      
var contenedor = document.getElementById(divContenedora);
var url_final = pagina+sVars; 

//Se crea un objeto XMLHttpRequest
var objAjax = crearAjax();                     
objAjax.open("POST", url_final);
objAjax.onreadystatechange = function() {
    if (objAjax.readyState == 4) {
    //Se escribe el resultado en la capa contenedora      
	//document.write(objAjax.responseText);
    //contenedor.innerHTML = objAjax.responseText; //esta linea la usaba antes, pero la cambio por la siguiente para que dentro de una capa se ejecuten los script
	SetContainerHTML(divContenedora, objAjax.responseText, true);
    }
}
objAjax.send(null);
}

//Esta funcion intenta resolver que se ejecuten los scripts dentro de un innerHTML
function SetContainerHTML(id,html,processScripts) {
  mydiv = document.getElementById(id);
  mydiv.innerHTML = html;
  if(processScripts!=false) {
    var elementos = mydiv.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);
    }
  }
}

function enviaForm(formu,url) 
{
  formu.action = url;
  formu.submit();
}

function concatUrl(url,arg,valor) {
  return url + '&' + arg + '=' + valor;
}
