$(document).ready(function(){
	//Conseguimos el objeto de AJAX
	try{
		xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
		xmlhttp2 == new ActiveXObject("Msxml2.XMLHTTP"); 
		xmlhttp3 == new ActiveXObject("Msxml2.XMLHTTP"); 
	}catch (e) {
		try{
			xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
			xmlhttp2 = new ActiveXObject("Microsoft.XMLHTTP"); 
			xmlhttp3 = new ActiveXObject("Microsoft.XMLHTTP"); 
		}catch (E) {
			xmlhttp = false;
			xmlhttp2 = false;
			xmlhttp3 = false;
		}
	}
	if (!xmlhttp && typeof XMLHttpRequest != 'undefined'){
		xmlhttp = new XMLHttpRequest();
		xmlhttp2 = new XMLHttpRequest(); 
		xmlhttp3 = new XMLHttpRequest(); 
	}

	AddDebug("Ajax Object Loaded", "AJAX init");
	AjaxHashRedirect();
});

var xmlhttp = false; //Canal normal
var xmlhttp2 = false; //Canal background
var xmlhttp3 = false; //Canal background CheckOnline()
var lastHashRedirect = "";
var timeHashRedirect;

function AjaxHashRedirect(){
	var Hash = getHash();
	if(Hash != "" && Hash != lastHashRedirect){
		AddDebug("Redirecting to " + Hash, "AJAX AjaxHashRedirect()");
		makerequest(Hash + "&ajax=1", 'content', Hash);
		lastHashRedirect = Hash;
	}
	
	timeHashRedirect = setTimeout("AjaxHashRedirect()", 1500);
}

function getHash() {
  var hash = window.location.hash;
  return hash.substring(1);
}
function setHash(hash) {
  window.location.hash = "#" + hash;
  lastHashRedirect = hash;
  clearTimeout(timeHashRedirect);
  timeHashRedirect = setTimeout("AjaxHashRedirect()", 1500);
}
	
function RunJS(objID) {
	//alert(http_request.responseText);
	var ob = document.getElementById(objID).getElementsByTagName("script");
	for(var i=0; i<ob.length-1; i++){
	if(ob[i+1].text!=null) eval(ob[i+1].text);
	}
	
}
function makerequest(serverPage, objID, href, mode){
	if(mode == undefined){
		mode = 1;
	}
	in_topnav = false;
	if(mode == 1){
		ShowTopnav();
	}else{
		HideTopnav();
	}
	var obj = document.getElementById( objID );
	//window.clearTimeout(timertopnav);
	obj.innerHTML = obj.innerHTML + '<div style="position:absolute;top:0px;width:99%;height:99%;background:url(transp.gif) repeat;"><center><br><br><br><br><span style="font-size:40px;">Cargando...</span><br/><img src="images/loadingAnimation.gif"></center></div>';
	if(objID == 'content'){
		var lastHeight = $("#page").height();
	}
	var last = 10;
	xmlhttp.open("GET", serverPage, true);
	xmlhttp.onreadystatechange = function() {
		
		if(xmlhttp.readyState != last){
			AddDebug("ReadyStateChange: "+ xmlhttp.readyState + ", Page: " + serverPage + "", "AJAX makerequest()");
		}
		last = xmlhttp.readyState;
		if(xmlhttp.readyState == 4 && xmlhttp.status == 200 && strpos(serverPage, 'ajax.php') == false && in_topnav == false ){
			obj.innerHTML = xmlhttp.responseText;
			
			if(strpos(serverPage, 'ajax.php') == false && in_topnav == false ){
				curpage = href;
				setHash(href);
			}
			if(objID == 'content'){
				/*$("#page").height(0);
				$("#page").animate({ height: lastHeight }, 1000, 'linear');*/
				LoadTips();
			}
			AddDebug("Page loaded: " + serverPage + "", "AJAX makerequest()");
			//RunJS(objID);
		}
	}
	xmlhttp.send(null);
	//loadtopnav(false);
	//timertopnav = window.setTimeout("loadtopnav(true)", 7000);
}


function getformvalues(fobj){
	var str = "";
	
	for(var i = 0; i < fobj.elements.length; i++){
		if(fobj.elements[i].name != ""){
			str += fobj.elements[i].name + "=" + escape(fobj.elements[i].value) + "&";
		}
	}
	
	return str;
}

function submitform(theform, serverPage, objID){
	theform = document.getElementById(theform);
	var file = serverPage;
	var str = getformvalues( theform );
	obj = document.getElementById(objID);
	processform(serverPage, obj, str);
}

function processform(serverPage, obj, str ){
	in_topnav = false;
	//window.clearTimeout(timertopnav);
	obj.innerHTML = obj.innerHTML + '<div style="position:absolute;top:0px;width:99%;height:99%;background:url(transp.gif) repeat;"><center><br><br><br><br><span style="font-size:40px;">Cargando...</span><br/><img src="images/loadingAnimation.gif"></center></div>';	xmlhttp.open("POST", serverPage, true);
	xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded;");
	var last = 10;
	xmlhttp.onreadystatechange = function() {
		if(last != xmlhttp.readyState){
			AddDebug("ReadyStateChange: "+ xmlhttp.readyState + ", Page: " + serverPage + "", "AJAX processform()");
		}
		last = xmlhttp.readyState;
		if(xmlhttp.readyState == 4 && xmlhttp.status == 200 && strpos(serverPage, 'ajax.php') == false && in_topnav == false ){
			obj.innerHTML = xmlhttp.responseText;
			//timertopnav = window.setTimeout("loadtopnav(true)", 7000);
			LoadTips();
			AddDebug("Page loaded: " + serverPage + "", "AJAX processform()");
			//RunJS(objID);
		}		
	}
	xmlhttp.send(str);
}

function loadtopnav(auto){
	in_topnav = true;
	var obj = document.getElementById('header_top');
	if (auto == false){
		obj.innerHTML = '<br/><br/><center><img src="images/loadingAnimation.gif"></center>';
	}
	xmlhttp.open("GET", 'ajax.php?page=topnav&unid=' + unid, true);
	xmlhttp.onreadystatechange = function() {
		if(xmlhttp.readyState == 4 && xmlhttp.status == 200 && in_topnav == true){
			obj.innerHTML = xmlhttp.responseText;
		}
	}
	xmlhttp.send(null);
	//window.clearTimeout(timertopnav);
	//timertopnav = window.setTimeout("loadtopnav(true)", 7000);
}
function loadpage_message(serverPage){
	xmlhttp.open("GET", serverPage, true);
	HidePage();
	$('#messDiv').animate({opacity: 0.5 }, 1500);
	$('#messDiv').css('display', 'block');
	$('#messagebox').html('<center><table width="100%"><tr><th><img src="images/indicator.gif" border="0" width="16" height="16">&nbsp;Cargando...</th></tr></table></center>');
	$('#messagebox').css('display', 'block');
	xmlhttp.onreadystatechange = function() {
		if(xmlhttp.readyState == 4 && xmlhttp.status == 200){
				//document.getElementById('messDiv').style.display = 'block';
				document.getElementById('messagebox').innerHTML = xmlhttp.responseText;
				//document.getElementById('messagebox').style.display = 'block';
				LoadTips();
				AddDebug("Message loaded: " + serverPage + "", "AJAX loadpage_message()");
			//RunJS(objID);
		}
		AddDebug("ReadyStateChange: "+ xmlhttp.readyState + ", Page: " + serverPage + "", "AJAX loadpage_message()");
	}
	xmlhttp.send(null);	
}
function backgroundpage(serverPage){
	xmlhttp2.open("GET", serverPage, true);
	xmlhttp2.send(null);
	AddDebug("Sending Background Page: " + serverPage, "AJAX backgroundpage()");
}
function loadpage_error(serverPage){
	xmlhttp.open("GET", serverPage, true);
	HidePage();
	$('#messDiv').animate({opacity: 0.5 }, 1500);
	$('#messDiv').css('display', 'block');
	$('#messagebox').html('<center><table width="100%"><tr><td class="c">P&aacute;gina de error</td></tr><tr><th><img src="images/indicator.gif" border="0" width="16" height="16">&nbsp;Cargando...</th></tr></table></center>');
	$('#messagebox').css('display', 'block');
	xmlhttp.onreadystatechange = function() {
		if(xmlhttp.readyState == 4 && xmlhttp.status == 200){
				//document.getElementById('messDiv').style.display = 'block';
				document.getElementById('messagebox').innerHTML = xmlhttp.responseText;
				//document.getElementById('messagebox').style.display = 'block';
				LoadTips();
				AddDebug("Error loaded: " + serverPage + "", "AJAX loadpage_error()");
			//RunJS(objID);
		}
		AddDebug("ReadyStateChange: "+ xmlhttp.readyState + ", Page: " + serverPage + "", "AJAX loadpage_error()");
	}
	xmlhttp.send(null);	
}

