 
// Esta función carga las paginas
function llamarasincrono(url, id_contenedor , tipo){
	var pagina_requerida = false
	
	if (window.XMLHttpRequest) {// Si es Mozilla, Safari etc
		pagina_requerida = new XMLHttpRequest()
	} else if (window.ActiveXObject){ // pero si es IE
	
		try {
			pagina_requerida = new ActiveXObject("Msxml2.XMLHTTP")
		}catch (e){ // en caso que sea una versión antigua
			try{
				pagina_requerida = new ActiveXObject("Microsoft.XMLHTTP")
				}catch (e){}
		}
	}
	
	else return false
	
	pagina_requerida.onreadystatechange=function(){ // función de respuesta
                if(tipo==-2)      agregarTexto(pagina_requerida, id_contenedor)
                if(tipo==-1)      cargarTexto(pagina_requerida, id_contenedor)
		if(tipo==0)	  cargarpagina(pagina_requerida, id_contenedor)
		else if(tipo==1)  cargarpagina2(pagina_requerida, id_contenedor)
                else if(tipo==2)  cargarSelect(pagina_requerida, id_contenedor)                
                else if(tipo==3)  cargarTabla(pagina_requerida, id_contenedor)
                else if(tipo==4)  CargarTabla(pagina_requerida, id_contenedor)
                else if(tipo==5)  obtenerMitelmex(pagina_requerida, id_contenedor)
                else if(tipo==6)  obtenerHTML(pagina_requerida,stringCont)
	}
	pagina_requerida.open('GET', url, true) // asignamos los métodos open y send
	pagina_requerida.send(null)
}

//Agrega una pagina en un contenedor
function agregarTexto(pagina_requerida, id_contenedor){
	if (pagina_requerida.readyState == 4 && (pagina_requerida.status==200 || window.location.href.indexOf("http")==-1))
	document.getElementById(id_contenedor).value=document.getElementById(id_contenedor).value+" "+pagina_requerida.responseText
}


//Carga una pagina en un contenedor
function cargarTexto(pagina_requerida, id_contenedor){
	if (pagina_requerida.readyState == 4 && (pagina_requerida.status==200 || window.location.href.indexOf("http")==-1))
	document.getElementById(id_contenedor).value=pagina_requerida.responseText
}



//Carga una pagina en un contenedor
function cargarpagina(pagina_requerida, id_contenedor){
	if (pagina_requerida.readyState == 4 && (pagina_requerida.status==200 || window.location.href.indexOf("http")==-1))
	document.getElementById(id_contenedor).innerHTML=pagina_requerida.responseText
}


//Cambia el valor de un contenedor
function cargarpagina2(pagina_requerida, id_contenedor){
        if (pagina_requerida.readyState==1)
        document.getElementById(id_contenedor).innerHTML="<div id='"+id_contenedor+"' align='center'><h1>Cargando....</h1></div>"               
	
        if (pagina_requerida.readyState == 4 && (pagina_requerida.status==200 || window.location.href.indexOf("http")==-1))
	document.getElementById(id_contenedor).innerHTML=pagina_requerida.responseText
}

//Carga un select con nuevos calores
function cargarSelect(pagina_requerida, selectId){
    selectDestino=document.getElementById(selectId)
    if (pagina_requerida.readyState==1){
            // Mientras carga elimino la opcion "Selecciona Opcion..." y pongo una que dice "Cargando..."
            //selectDestino.length=0;
            //var nuevaOpcion=document.createElement("option"); nuevaOpcion.value=0; nuevaOpcion.innerHTML="Cargando...";
            //selectDestino.appendChild(nuevaOpcion); selectDestino.disabled=true;	
            selectDestino.parentNode.innerHTML="<div><select id='"+selectId+"' class='frm_input' disabled><option>Cargando...</option></select></div>"   
            
	}

    if (pagina_requerida.readyState == 4 && (pagina_requerida.status==200 || window.location.href.indexOf("http")==-1))
        selectDestino.parentNode.innerHTML=pagina_requerida.responseText;
        //document.getElementById(id_contenedor).innerHTML=pagina_requerida.responseText
}

//carga una tabla
function cargarTabla(pagina_requerida, selectId){
    var selectDestino=document.getElementById(selectId)
    if (pagina_requerida.readyState==1){
            // Mientras carga elimino la opcion "Selecciona Opcion..." y pongo una que dice "Cargando..."
            selectDestino.parentNode.innerHTML="<h2 id="+selectId+">Cargando...</h2>";            
	}

    if (pagina_requerida.readyState == 4 && (pagina_requerida.status==200 || window.location.href.indexOf("http")==-1))
        selectDestino.parentNode.innerHTML=pagina_requerida.responseText;        
}

function CargarTabla(pagina_requerida, selectId){
   var selectDestino=document.getElementById(selectId)
    if (pagina_requerida.readyState==1){
            // Mientras carga elimino la opcion "Selecciona Opcion..." y pongo una que dice "Cargando..."
            selectDestino.parentNode.innerHTML="<h2 id="+selectId+">Cargando...</h2>";            
	}

    if (pagina_requerida.readyState == 4 && (pagina_requerida.status==200 || window.location.href.indexOf("http")==-1))
        selectDestino.innerHTML=pagina_requerida.responseText;        
}

function obtenerMitelmex(pagina_requerida, selectId){
   var selectDestino=document.getElementById(selectId)
   var status=-1;
    if (pagina_requerida.readyState==1){
            // Mientras carga elimino el texto y pongo uno que dice "Procesando..."
        selectDestino.parentNode.innerHTML="<h5 id="+selectId+">Procesando...</h5>";            
    }

    if (pagina_requerida.readyState == 4 && (pagina_requerida.status==200 || window.location.href.indexOf("http")==-1)){
        status=pagina_requerida.responseText;  
    }
    
    if(status == 0 || status == 6){
       document.forms[0].submit();
    }
    if(status == 1){
        //selectDestino.innerHTML="<span syle='color:red;font-size:13px'><a href='#'>Aun no esta registrado</a></span>"; 
        selectDestino.innerHTML="<div style='color:red;font-size:11px' id='miTelmexmsg'>Contrase&ntilde;a no valida</div>";         
    }
    if(status == 2){        
        selectDestino.innerHTML="<span style='color:red;font-size:11px'>Servicio no disponible, por favor intente mas tarde</span>"; 
        
    }
    if(status == 4){        
        selectDestino.innerHTML="<span style='color:red;font-size:11px'>Tu cuenta aun no est&aacute; activa</span>"; 
        
    }

    if(status == 5){        
        selectDestino.innerHTML="<span style='color:red;font-size:11px'>Tu cuenta se ha dado de baja</span>"; 
        
    }
            
}


function obtenerHTML(pagina_requerida,stringCont){
    if (pagina_requerida.readyState == 4 && (pagina_requerida.status==200 || window.location.href.indexOf("http")==-1))
        stringCont=pagina_requerida.responseText;    
}

function $(id){    
    return document.getElementById(id);
}

function elementsById(id){
    var nodes = [];
    var tmpNode = document.getElementById(id);
    while(tmpNode){
        nodes.push(tmpNode);
        tmpNode.id = "\\";
        tmpNode = document.getElementById(id);
    }
    for(var x=0; x<nodes .length; x++){
        nodes[x].id = id;
    }
    return nodes;
}







