var Manager = 
{
	aSenders: new Array(),
	aRequests: new Array(),
		
	iCmdIndex: 0,

	sendCommand: function( sUrl, oCommand, oOwner )
	{
		var iMark = Manager.iCmdIndex++;		
		oCommand.mark = iMark;
		
		Manager.aSenders[ iMark ] = { owner: oOwner};

		var oRequest = Manager.getRequester();		
		if ( !oRequest ) return null;
				
		Manager.aRequests.push( oRequest );
		
		with ( oRequest )
		{
			open('post', sUrl, true);
			onreadystatechange = Manager.changeState;
			setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
			send( Manager.serializeUrl( oCommand ) );
		}
		
		return iMark;
	},

	changeState: function()
	{
		for ( var iIndex in Manager.aRequests )
		{
			var oRequest = Manager.aRequests[iIndex];

			if ( oRequest.readyState == 4 && oRequest.status == 200 )
			{
				var oDiv = document.getElementById( 'content' );
				if ( oDiv )
				{
						oDiv.innerHTML = oRequest.responseText;
				}
				delete Manager.aRequests[iIndex];
			}
		}
	},

	abortCommand: function( iMark )
	{
		if ( Manager.aSenders[ iMark ] != null )
			delete Manager.aSenders[ iMark ];
	},
		
	serializeUrl: function( oCommand )
	{
		var aParams = new Array();
		for ( var sName in oCommand )
			aParams[ aParams.length ] = sName + '=' + oCommand[ sName ];
		return aParams.join('&');
	},




	getRequester: function()
	{
		if ( window.XMLHttpRequest )
			return new window.XMLHttpRequest(); 
		else if ( window.ActiveXObject )
			return new ActiveXObject("Microsoft.XMLHTTP");
		else
			return false;
	}
};

			function fnOnClick( sParam )
			{
				var oCommand = { name: 'get'};
				Manager.sendCommand( sParam, oCommand, window);
			}
			

