// JavaScript Document

var cargando = "<table width='100%' heigth='100%'><td valing='middle'><div align='center'><img src='./images/ajax-loader.gif' /></div></td></table>";

function creaAjax() {
	var objetoAjax = false;
    
	if (window.XMLHttpRequest) {
        // Si es Mozilla, Safari etc
        objetoAjax = new XMLHttpRequest();
    } else if (window.ActiveXObject) {
        // pero si es IE
        try {
            objetoAjax = new ActiveXObject("Msxml2.XMLHTTP");
        } catch (e) {
            // en caso que sea una versión antigua
            try {
                objetoAjax = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (e) {
				alert("Imposible crear Objeto Ajax!");
			}
        }
    }
	
	return objetoAjax;
}

function FAjax (url,capa,valores,metodo) {
	var ajax = creaAjax();
    var capaContenedora = document.getElementById(capa);

	/*Creamos y ejecutamos la instancia si el metodo elegido es POST*/
	if (metodo.toUpperCase()=='POST') {
		ajax.open ('POST', url, true);
        ajax.onreadystatechange = function() {
        	if (ajax.readyState==1) {
				capaContenedora.innerHTML=cargando;
        	}
        	else if (ajax.readyState==4) {
				if(ajax.status==200) {
					capaContenedora.innerHTML=ajax.responseText;
            	} else if (ajax.status==404) {
					capaContenedora.innerHTML = "La direccion no existe";
				} else {
					capaContenedora.innerHTML = "Error: " + ajax.status;
            	}
        	}
		}
    	ajax.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
    	ajax.send(valores==""?"dummy=" + Math.random():valores+"&dummy="+Math.random());
    	return;
	}
	/*Creamos y ejecutamos la instancia si el metodo elegido es GET*/
	if (metodo.toUpperCase()=='GET') {
		ajax.open ('GET', url.indexOf("?")==-1?url+"?dummy=" + Math.random():url+"&dummy="+Math.random(), true);
        ajax.onreadystatechange = function() {
	       	if (ajax.readyState==1) {
        		capaContenedora.innerHTML=cargando;
        	}
        	else if (ajax.readyState==4) {
				if ( ajax.status==200) {
					capaContenedora.innerHTML=ajax.responseText;
	            } else if (ajax.status==404) {
					capaContenedora.innerHTML="La direccion no existe";
				} else {
					capaContenedora.innerHTML="Error: " + ajax.status;
            	}
			}
		}
	}
	ajax.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
    ajax.send(null);
    return;
}