//AJAX NAVIGATOR v1.0

//CARGANDO & SENDING
function loadingMessage(isGET) {
	cargando = (isGET) ? "<div id='loader'><img src='ajax-loader.gif'><br />   Cargando...</div>" : "<div id='loader'><img src='ajax-loader.gif'><br />   Enviando Información...</div>";
	return cargando;
} 
//Crear AJAX
function ajax () {
	var newajax=false;
 	try {
 		newajax = new ActiveXObject("Msxml2.XMLHTTP");
 	} catch (e) {
 		try {
 			newajax = new ActiveXObject("Microsoft.XMLHTTP");
 		} catch (E) {
 			newajax = false;
 		}
  	}
	if (!newajax && typeof XMLHttpRequest!='undefined') {newajax = new XMLHttpRequest();}
	return newajax;
}
//Metodo GET
function openURL(url, target) {	
	xmlhttp = ajax();
	xmlhttp.onreadystatechange = function() { states(url, target, true); }
 	xmlhttp.open("GET", url, true);	
 	xmlhttp.send(null);
}
//Metodo POST
function postURL(url, target, vars){
	vars = chainVAR (vars);
	xmlhttp = ajax();
	xmlhttp.open("POST", url, true);
	xmlhttp.onreadystatechange = function (){ states(url,target, false); }
	xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	xmlhttp.send(vars)
}
function chainVAR(vars) {
	arrUnion = new Array ();
	arrVars = vars.split("&");
	for (i=0; i<arrVars.length; i++) {
		arrUnion[i] = arrVars[i]+"="+document.getElementById(arrVars[i]).value;
	}
	vars = arrUnion.join("&");
	return vars;
}
//ESTADOS
function states(url, target, isGET){
	if (xmlhttp.readyState==4) {
		document.getElementById(target).innerHTML = (xmlhttp.status == 200) ? xmlhttp.responseText : "<div id='loader'>Esta seccion no esta funcionando...<br />"+xmlhttp.status+" "+xmlhttp.statusText+"</div>";
	}else{
		document.getElementById(target).innerHTML = loadingMessage(isGET);
	}
}
