/**
 * @author nafis
 */
var loadingImage=new Image();
loadingImage.src="thickbox/loadingAnimation.gif";
var indicatorImage=new Image();
loadingImage.src="thickbox/indicator.gif";

function ajaxRequest()
{
	var that=this;
	this.ajaxReq=false;
	this.ajaxCallback=false;
	this.ajaxReqCompleted=false;
	this.ajaxReqSucceed=false;
	//this.ajaxResponse=ajaxResponse;
	
	
	this.ajaxGetRequest=function(filename)
		{
			/*if(ajaxReq && ajaxReq.readyState != 4)
			{
				alert("Another Request Already in Progress!!!");
				return;
			}*/
			
			//alert(filename);
			//alert("request for "+this.nme);
			
			if(window.XMLHttpRequest)
				this.ajaxReq=new XMLHttpRequest();
			else
				this.ajaxReq=new ActiveXObject("Microsoft.XMLHTTP");
			
			this.ajaxReqSucceed=false;
			this.ajaxReq.open("GET", filename);
			this.ajaxReq.onreadystatechange=function()
			{
				//alert("Response reached " + that.nme);
				if(!that.ajaxReq)
					return false;
						
				if(that.ajaxReq.readyState != 4)
					return;
				
				if(that.ajaxReq.status == 200)
						that.ajaxReqSucceed=true;
				else
					alert("request failed : "+that.ajaxReq.statusText);	

				if(that.ajaxCallback)
					that.ajaxCallback();
				/*alert("done");
				ajaxReq=false;
				ajaxCallback=false;
				*/
				if(that.ajaxReqCompleted)
					that.ajaxReqCompleted();
							
				return false;
			};
			
			//if(!ajaxResponse) alert("not found!!!");
			this.ajaxReq.send(null);
		};
}

innerBody=new ajaxRequest();
fName=false;

function setBody()
{
	var elem=document.getElementById("pageBody");
	elem.innerHTML=innerBody.ajaxReq.responseText;
	//TB_remove();
	//alert("done");
	/*elem=document.getElementById("message");
	elem.innerHTML="";
	elem=document.getElementById("progress");
	elem.style.display="none";
	alert('reached');
	if(document.getElementById('result0'))
		ShowPage(0);
	*/
	//alert('passed');
	//alert(ajaxReq.responseText);
}

function CategoryMenu(fileName)
{
	/*var elem=document.getElementById("message");
	elem.innerHTML="Loading...";
	elem=document.getElementById("progress");
	elem.style.display="";
	elem.style.backgroundColor="#000000";
	*/
	requestSend();
	fName=fileName;
	innerBody.ajaxCallback=setBody;
	innerBody.ajaxReqCompleted=requestCompleted;
	innerBody.ajaxGetRequest(fileName);
	//alert(fileName);
}

function requestSend()
{
	// create iframe, overlay and box if non-existent
	if ( !$("#TB_HideSelect").length ) {
		$("body").append("<iframe id='TB_HideSelect'></iframe><div id='TB_overlay'></div><div id='TB_window'></div>");
		$("#TB_overlay").click(requestCompleted);
	}
	// TODO replace or check if event is already assigned
	$(window).scroll(TB_position);
	
	// TODO replace
	TB_overlaySize();
	
	// TODO create loader only once, hide and show on demand
	$("body").append("<div id='TB_load'><img src='thickbox/loadingAnimation.gif' /></div>");
	TB_load_position();
}

function requestCompleted()
	{
		//ajaxReq=false;
		innerBody.ajaxCallback=false;
		if(fName=="body.php")
		{
			summaryBody=new ajaxRequest();
			space1=new Slider('space11', 'space1');
			space2=new Slider('space12', 'space2');
			fName=false;
		}
		
		TB_remove();
	}