/**
 * AJAX Functions by Guillaume "gn0me" VanderEst <code@gn0me.org>
 * Originally Based Upon: http://w4r.us/ajax.js
 */

//  
var ajax_url = "ajax.php?action=";
var current_page = '';
var loading_page = "<div id=\"loading\">Loading</div>";

var ajax_element_id = '';
var ajax_busy = false;

function ajax_output() 
{
	// Receive information
	if (ajax_object.readyState == 4) 
	{
		// Successful connection
		if (ajax_object.status == 200) 
		{
			// Output results
      	var results = ajax_object.responseText;

			gE("ajax").style.visibility = "hidden";		      	
      	eval(results);
			//document.getElementById(ajax_element_id).innerHTML = results;
      }
	}
	ajax_busy = false;
}
function ajax_request(ajax_action, ajax_arguments, element_id) 
{ 
	if (ajax_busy && ajax_object.readyState >= 2)
	{
		if (ajax_object.abort())
			ajax_busy = false;
	}
		
	if (!ajax_busy) 
	{
		// Create connection
	  	ajax_object.open("GET", ajax_url+ajax_action+"&args="+ajax_arguments+"&hash="+(Math.random()*Math.pow(10,20)), true);
   	
   	gE("ajax").style.visibility = "visible";
    	
    	ajax_object.onreadystatechange = ajax_output;
   	ajax_object.send(null);
   	
		ajax_busy = true;
	}
}
function ajax_start() 
{
	var xmlhttp;
	
	// Gecko
	if (window.XMLHttpRequest)
		xmlhttp = new XMLHttpRequest();
	// Internet Explorer
	else if (window.ActiveXObject) {
		xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
		if (!xmlhttp)
			xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
	}
	
  return xmlhttp;
}

var ajax_object = ajax_start(); // We create the HTTP Object