/* Ultimater's edited version of:
   http://jibbering.com/2002/4/httprequest.html
   to serve IE7 with XMLHttpRequest instead of ActiveX */

var xmlhttp=false;
if (!xmlhttp && typeof XMLHttpRequest!='undefined') 
{
 	try 
 	{
 		 xmlhttp = new XMLHttpRequest();
 	} 
 	catch (e) 
 	{
 		 xmlhttp=false;
 	}
}

/*@cc_on @*/
/*@if (@_jscript_version >= 5)
// JScript gives us Conditional compilation, we can cope with old IE versions.
// and security blocked creation of the objects.
if (!xmlhttp)
{
	try 
	{
		xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
	} 
	catch (e) 
	{
		try 
		{
			xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
		} 
		catch (E) 
		{
			xmlhttp = false;
		}
	}
}

@end @*/

if (!xmlhttp && window.createRequest) 
{
	try 
	{
		xmlhttp = window.createRequest();
	} 
	catch (e) 
	{
		xmlhttp=false;
	}
}

/* Ultimater's edited version of:
   http://javascript.internet.com/ajax/ajax-navigation.html */

var please_wait = "<img src='images/loading.gif'>";

function open_url(url, targetId) 
{
	if(!xmlhttp)return false;
    var e=document.getElementById(targetId);if(!e)return false;
    
    if(please_wait)e.innerHTML = please_wait;
    
    xmlhttp.open("GET", url, true);
    xmlhttp.onreadystatechange = function() { response(url, e); }
    try
    {
		xmlhttp.send(null);
    }
    catch(l)
    {
		while(e.firstChild)e.removeChild(e.firstChild);//e.innerHTML="" the standard way
		e.appendChild(document.createTextNode("request failed"));
	}
}

function response(url, e) 
{
	if(xmlhttp.readyState != 4)return;
    var tmp= (xmlhttp.status == 200 || xmlhttp.status == 0) ? xmlhttp.responseText : "Ooops!! A broken link! Please contact the webmaster of this website ASAP and give him the following error code: " + xmlhttp.status+" "+xmlhttp.statusText;
    var d=document.createElement("div");
    d.innerHTML=tmp;
    setTimeout(function()
    {
		while(e.firstChild)e.removeChild(e.firstChild);//e.innerHTML="" the standard way
		e.appendChild(d);
    },10)
}

