function Ajax ()
{
	this.pagina = "";
	this.param = "";
	this.method = "";
	this.idformu = false;
	var http_request = false;
	var formu = false;

	this.enviar = function()
	{	
		if (this.method == 'GET')
		{
			this.CreaObjeto();
			document.getElementById("DivCargando").style.top = document.body.scrollTop+5;
			document.getElementById("DivCargando").style.display = 'block';
			this.idformu = false;
			formu = false;
			http_request.onreadystatechange = this.alertContents;
			http_request.open(this.method, this.pagina+'?'+this.param+'&r=' + Math.random(), true);
			http_request.send(null);
		}
		if (this.method == 'POST')
		{
			this.CreaObjeto();
			formu = this.idformu;
			var cadenaFormulario = ""; 
			//TOMO LA CADENA DE CAMPOS Y VALORES DEL FORMULARIO
			cadenaFormulario = this.FormularioPost ();
			document.getElementById("DivCargando").style.top = document.body.scrollTop+5;
			document.getElementById("DivCargando").style.display = 'block';

			http_request.onreadystatechange = this.alertContents;
			http_request.open(this.method, this.pagina+'?r=' + Math.random(), true); 
			http_request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=ISO-8859-1'); 
			http_request.send(cadenaFormulario); 
			
			
			
		}
	};
	
	this.FormularioPost = function(){
		
		var Formulario = document.getElementById(this.idformu); 
		var longitudFormulario = Formulario.elements.length; 
		var cadenaFormulario = "" 
		var sepCampos 
		sepCampos = "" 
		for (var i=0; i <= Formulario.elements.length-1;i++) 
		{ 
		cadenaFormulario += sepCampos+Formulario.elements[i].name+'='+encodeURI( Formulario.elements[i].value); 
		sepCampos="&";
		Formulario.elements[i].disabled = true; //BLOQUEA LOS ELEMENTOS DEL FORMULARIO
		} 
		return cadenaFormulario;
	};
	
	this.DesbloqueoForm = function(){
		//DESBLOQUEA LOS ELEMENTOS DEL FORMULARIO
		var Formulario = document.getElementById(this.idformu); 
		for (var i=0; i <= Formulario.elements.length-1;i++) 
		{ 
		Formulario.elements[i].disabled = false; //BLOQUEA LOS ELEMENTOS DEL FORMULARIO
		} 
	};
	
    this.alertContents = function () {

        if (http_request.readyState == 4) {
            if (http_request.status == 200) 
			{
				var texto = "";
				texto = unescape(http_request.responseText).replace(/\+/g,' ');
				document.getElementById("DivCargando").style.display = 'none';
				Proceso (texto);
				this.idformu = formu;
				if (this.idformu)
				{
					var Formul = document.getElementById(this.idformu); 
					for (var i=0; i <= Formul.elements.length-1;i++) 
					{ 
						Formul.elements[i].disabled = false; //BLOQUEA LOS ELEMENTOS DEL FORMULARIO
					} 
				}
				
            } 
			else 
			{
				document.getElementById("DivCargando").style.display = 'none';
                alert('Hubo problemas con la petición. Error Nº '+http_request.status);
				this.idformu = formu;
				if (this.idformu)
				{
					var Formul = document.getElementById(this.idformu); 
					for (var i=0; i <= Formul.elements.length-1;i++) 
					{ 
						Formul.elements[i].disabled = false; //BLOQUEA LOS ELEMENTOS DEL FORMULARIO
					} 
				}
            }
        }
    };
		
		
	this.CreaObjeto = function ()
	{	//CREA EL OBJETO REQUEST	
		if ( window.XMLHttpRequest) { // Mozilla, Safari,...
			http_request = new XMLHttpRequest();
			if (http_request.overrideMimeType) {
				http_request.overrideMimeType('text/xml');
			}
		} 
		else if (window.ActiveXObject) { // IE
				try {
					http_request = new ActiveXObject("Msxml2.XMLHTTP");
				} 
				catch (e) {
					try { 
						http_request = new ActiveXObject("Microsoft.XMLHTTP");
					} 
					catch (e) {}
				}
			}
	
		if (!http_request) {
		alert('Falla :( No es posible crear una instancia XMLHTTP');
		return false;
		}
	}
 document.write('<div id="DivCargando" style="position:absolute;background-color:#990000; width:109px; padding:3px;border:1px solid #FFFFFF; font-family:Verdana, Arial, Helvetica, sans-serif; font-size:11px; color:#FAF7F5;display:none;top:4 px;left:6;"><table width="100%" border="0" cellspacing="0" cellpadding="0"><tr style="font-family:Verdana, Arial, Helvetica, sans-serif; font-size:11px; color:#FAF7F5;"><td><img src="../images/loading.gif" width="20" height="20" /></td><td>&nbsp;Cargando...</td></tr></table></div>'); 
	 
}

var objetoAjax = new Ajax();

function AjaxPost (pag, formu)
{
	objetoAjax.idformu = formu;
	objetoAjax.method = "POST";
	objetoAjax.pagina = pag;
	objetoAjax.enviar();
	
}
function AjaxGet (pag, paremetros)
{
	objetoAjax.idformu = false;
	objetoAjax.method = "GET";
	objetoAjax.pagina = pag;
	objetoAjax.param = paremetros;
	objetoAjax.enviar();
}

function Desbloquea(idf){
		//DESBLOQUEA LOS ELEMENTOS DEL FORMULARIO
		var Formulario = document.getElementById(idf); 
		for (var i=0; i <= Formulario.elements.length-1;i++) 
		{ 
		Formulario.elements[i].disabled = false; 
		} 
	}
