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 FAjax(url,capa,valores){//POST
	var ajax=nuevoAjax();
	var capaContenedora = document.getElementById(capa);
	ajax.open ('POST', url, true);
	ajax.onreadystatechange = function() {
		if (ajax.readyState==1) {
			capaContenedora.innerHTML='<img src="./images/1-0.gif" align="middle"><span style="color:#000000;">Cargando...</span>';
		}	else if (ajax.readyState==4){
				if(ajax.status==200){
					SetContainerHTML(capa, ajax.responseText, true);
					//alert(ajax.responseText);
					//document.getElementById(capa).innerHTML=ajax.responseText;
				}	else if(ajax.status==404){
						capaContenedora.innerHTML = '<span style="color:#000000;">La direccion no existe...</span>';
					}else{
						capaContenedora.innerHTML = '<span style="color:#000000;">Error: '+ajax.status+'</span>';
					}
			}
	}
	ajax.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
	ajax.send(valores);
	//alert(valores);
	//alert(url);
	return;
}

function cargaXML(url,capa){//GET
	var ajax=nuevoAjax();
	if (arguments.length==1) capa='detalles';
	var capaContenedora = document.getElementById(capa);
	ajax.open ('GET', url, true);
	ajax.onreadystatechange = function() {
		if (ajax.readyState==1) {
			capaContenedora.innerHTML='<img src="./images/1-0.gif" align="middle"><span style="color:#000000;">Cargando...</span>';
		}else if (ajax.readyState==4){
			if(ajax.status==200){
				SetContainerHTML(capa, ajax.responseText, true);
				//document.getElementById(capa).innerHTML=ajax.responseText;
			}else if(ajax.status==404){
				capaContenedora.innerHTML = '<span style="color:#000000;">La direccion no existe...</span>';
			}else{
				capaContenedora.innerHTML = '<span style="color:#000000;">Error: '+ajax.status+'</span>';
			}
		}
	}
	ajax.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
	ajax.send(null);
	return
}

function SetContainerHTML(id,html,processScripts){//para que funcione javascript
	mydiv = document.getElementById(id);
	mydiv.innerHTML = html;
	if(processScripts!=false){
		var elementos = mydiv.getElementsByTagName('script');
		//alert(elementos.length);
		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 enviarFormulario(url, formid, divrespuesta){//recorre un formulario y envia por metodo POST
	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++) {
		//alert(Formulario.elements[i].tagName);
		if (Formulario.elements[i].tagName == "INPUT") {
			if (Formulario.elements[i].type == "password") {
				cadenaFormulario += sepCampos+Formulario.elements[i].name + "=" + Formulario.elements[i].value;
			}
			if (Formulario.elements[i].type == "hidden") {
				cadenaFormulario += sepCampos+Formulario.elements[i].name + "=" + Formulario.elements[i].value;
			}
			if (Formulario.elements[i].type == "text") {
				cadenaFormulario += sepCampos+Formulario.elements[i].name + "=" + Formulario.elements[i].value;
			}
			if (Formulario.elements[i].type == "checkbox") {
				if (Formulario.elements[i].checked) {
					cadenaFormulario += sepCampos+Formulario.elements[i].name + "=" + Formulario.elements[i].value;
				} else {
					cadenaFormulario += sepCampos+Formulario.elements[i].name;
				}
			}
			if (Formulario.elements[i].type == "radio") {
				if (Formulario.elements[i].checked) {
					cadenaFormulario += sepCampos+Formulario.elements[i].name + "=" + Formulario.elements[i].value;
				}
			}
		}   
		if (Formulario.elements[i].tagName == "SELECT") {
			var sel = Formulario.elements[i];
			cadenaFormulario += sepCampos+sel.name + "=" + sel.options[sel.selectedIndex].value;
		}
		if (Formulario.elements[i].tagName == "TEXTAREA") {
			cadenaFormulario += sepCampos+Formulario.elements[i].name + "=" + Formulario.elements[i].value;
		}
		sepCampos="&";
    }
	//alert(cadenaFormulario);
	FAjax(url,divrespuesta,cadenaFormulario);
}
