var sitepath = "";
//var sitepath = "http://localhost/apbazar/";
//var sitepath = "http://9bytes.com/clients/apbazar/";

//==================================== AJAX functions ======================
var xmlHttp;
function ajaxFunction()
{
	try
	{
	  // Firefox, Opera 8.0+, Safari
	  xmlHttp = new XMLHttpRequest();
	}
	catch (e)
	{
		// Internet Explorer
		try
		{
			xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch (e)
		{
			try
			{
				xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
			}
			catch (e)
			{
				alert("Your browser does not support AJAX!");
				return false;
			}
		}
	}
	
	xmlHttp.onreadystatechange = function()
	{
		if(xmlHttp.readyState == 4)
		{
			AjaxCallBack(ajax_command);

			array_requests.shift();
			if(array_requests.length > 0)
			{
				StartRequest();
			}
		}
		else
		{
			onError();
		}
	}
}

var onRequestStart = function(){ };
var onResponse = function(){ };
var callBack = function(){ };
var onError = function(){ };

function AjaxCallBack(cmd)
{
	onResponse(cmd);
}

var ajax_url = "ajax_handler.php";
var ajax_method = "GET";
var ajax_command = "null";
var ajax_args = "null";
// args = arg1=10&arg2=20
function AjaxRequest()
{
	if(ajax_command == "null" || ajax_url == "null" || ajax_args == "null" ) return;
	var path = sitepath + ajax_url + "?cmd=" + ajax_command + "&" + ajax_args;
	ajaxFunction();

	xmlHttp.open(ajax_method, path, true);
	
	xmlHttp.send(null);
	
	try
	{
		onRequestStart();
	}
	catch(e)
	{
		
	}
}

var array_requests = new Array();

// req = array(CMD, args, response_function);
function AddRequest(req)
{
	array_requests.push(req);
	if(array_requests.length == 1)
	{
		StartRequest();
	}
}

function StartRequest()
{
	ajax_command = array_requests[0][0];
	ajax_args = array_requests[0][1];
	onResponse = array_requests[0][2];
	onRequestStart = array_requests[0][3];
	AjaxRequest();
}

