function fAJAXRequest( sTargetID , sURL )
{
	var e = document.getElementById( sTargetID );

	if( e )
	{
		new oAJAXRequest( e , sURL );
	}
}

function fAJAXStateChange( hAJAXRequest )
{
	if( hAJAXRequest && hAJAXRequest.mRequest && hAJAXRequest.mRequest.readyState == 4 )
	{
		var s = hAJAXRequest.mRequest.responseText;
		//DEBUG: alert( s );

		if( hAJAXRequest.mRequest.status == "200" && s.substr(0,3) == "200" )
		{
			hAJAXRequest.mhTarget.innerHTML = s.substring(4);
		}
		else
		if( hAJAXRequest.msError != "" )
		{
			hAJAXRequest.mhTarget.innerHTML = hAJAXRequest.msError;
		}
	}
}

function oAJAXRequest( hTarget , sURL )
{
	var me = this;
	this.mRequest	= null;
	this.mhTarget	= hTarget;

	//do NOT use try{}catch as it is not supported in very old browsers and the script will not compile
	if( window.XMLHttpRequest )	//FF,NS,OP,IE7
	{
		this.mRequest = new XMLHttpRequest();
	}
	else
	if( window.ActiveXObject )	//IE5 & 6
	{
		this.mRequest = new ActiveXObject("Microsoft.XMLHTTP");
	}

	if( this.mRequest )
	{
		this.mRequest.open( 'GET', sURL , true );
		this.mRequest.onreadystatechange = function(){ fAJAXStateChange(me); };
		this.mRequest.send( null );
	}
}


