var http_request=new Array();
var omr_history=new Array();
var omr_history_steps=0;
var requests=1;

function newRequester()
{
	requests++;
	
	if(window.XMLHttpRequest) // mozilla, safari..
	{ 	
		http_request[requests]=new XMLHttpRequest();
		if (http_request[requests].overrideMimeType) 
		{
			http_request[requests].overrideMimeType('text/xml');
		}
	}
	else if(window.ActiveXObject) // IE
	{ 	
		try 
		{
			http_request[requests]=new ActiveXObject("Msxml2.XMLHTTP");
		} 
		catch(e) 
		{
			try 
			{
				http_request[requests]=new ActiveXObject("Microsoft.XMLHTTP");
			}
			catch(e){}
		}
	}
	
	return http_request[requests];
}

function output(text,container)
{
	try
	{
		if(document.all)            document.all[container].innerHTML=text;
		if(document.layers)         document.layers[container].innerHTML=text;
		if(document.getElementById) document.getElementById(container).innerHTML=text;
	}
	catch(e)
	{
		try
		{
			if(document.all)            document.all["home_container"].innerHTML=text;
			if(document.layers)         document.layers["home_container"].innerHTML=text;
			if(document.getElementById) document.getElementById("home_container").innerHTML=text;
		}
		catch(e){}
	}
}

function x_get(url,outputcontainer,img)
{
	http_request[requests+1]=newRequester();	

	var showimg=(img=="noimg");
	var history=(img!="nohistory");

	if (!http_request[requests]) 
	{
		html="<font face=verdana size=1><b>An error has occurred!<br>Please try again later..</b></font>";
		output(html,outputcontainer);
		return false;
	}
	
	http_request[requests].onreadystatechange=function onreadystatechange()
	{
		if(http_request[requests].readyState==1) 
		{
			//html="<img src='img/progressbar.gif' border=0><br>&nbsp;<font face=verdana size=1>..please wait</font>";
			html="<img src='img/rotating_arrows.gif' border=0>";
			output(html,outputcontainer);		
		}
		else if(http_request[requests].readyState==4) 
		{
			if(http_request[requests].status==200) 
			{
				if(http_request[requests].responseText!="")
				{	
					if(outputcontainer=="div_content")
					{
						if(history)
						{
							omr_history_steps++;
							omr_history[omr_history_steps]=url;
						}
					}
					
					html=http_request[requests].responseText;
					
					if(outputcontainer=='div_display')
					{
						html=html+"<div id='div_display_description'></div>";
					}
					/*else
					{					
						anchorname="top_"+requests;
						html="<a name='"+anchorname+"'></a>"+html+"<br><a href=#"+anchorname+">top</a>";
					}*/
					
					output(html,outputcontainer);
				}
			}
			else 
			{
				switch(http_request[requests].status)
				{
					case 403:
						html="<font face=verdana size=1><b>An error has occurred!<br>You are not allowed to access this site..</b></font>";
						output(html,outputcontainer);
						break;
						
					case 404:
						html="<font face=verdana size=1><b>An error has occurred!<br>This site does not exist..</b></font>";
						output(html,outputcontainer);
						break;
						
					case 502:
						html="<font face=verdana size=1><b>An error has occurred!<br>Bad gateway..</b></font>";
						output(html,outputcontainer);
						break;
						
					case 503:
						html="<font face=verdana size=1><b>An error has occurred!<br>Service Unavailible..</b></font>";
						output(html,outputcontainer);
						break;
						
					case 504:
						html="<font face=verdana size=1><b>An error has occurred!<br>Gateway Time-out..</b></font>";
						output(html,outputcontainer);
						break;
						
					default:
						html="<font face=verdana size=1><b>An error has occurred!<br>Please try again later..</b></font>";
						output(html,outputcontainer);
						break;
				}
			}
		}
	};

	http_request[requests].open('GET',url,true);
	http_request[requests].send(null);
}

function x_gets()
{
	var parameter_count=arguments.length;
	
	for(i=0;i<parameter_count;i+=2)
	{
		requests++;
		x_get(arguments[i],arguments[i+1]);
	}
}

function historyForward()
{
	if(omr_history_steps<omr_history.length)
	{
		omr_history_steps++;
		return omr_history[omr_history_steps];
	}
	else
	{
		return "home.php";
	}
}

function historyBack()
{
	if(omr_history_steps>0)
	{
		omr_history_steps--;
		return omr_history[omr_history_steps];
	}
	else
	{
		return "home.php";
	}
}