
		var vLoad = 0;

		document.write("<div id='loadingMsg' style='font-size:20px;display:none;position:absolute;top:0;right:0;background-color:black;color:yellow; padding:6px;font-weight:bold;'>&nbsp;&nbsp;&nbsp;Page Loading . . .&nbsp;&nbsp;&nbsp;</div>");
		
		function fAjax(parameters)
		{
			var myObj = eval(parameters);
			
			if(!myObj.url) 
				alert('Missing URL');
			
			if(!myObj.method) 
				myObj.method="post";
			
			if(!myObj.postBody) 
				myObj.postBody="y=y";
		
			if(!myObj.loadDiv) 
				myObj.loadDiv="";
		
			if(!myObj.onSucess) 
				myObj.onSucess=defComplete;
			
			if(!myObj.onFailure) 
				myObj.onFailure=defFail;
		
			if(!myObj.vLoad) 
				myObj.vLoad=false;
		
			if(!myObj.busyDiv) 
				myObj.busyDiv="";
		
			var req = createRequest();
			req.onreadystatechange = function() {fReturn(req,parameters)};
		
			if(myObj.method == "get")
			{
				req.open("GET", myObj.url, true);
				req.send(null);
			} 
			else
			{
				req.open("POST", myObj.url, true);
				req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8');
				req.setRequestHeader('Referer', window.document.location); 
				req.send(myObj.postBody);
			}
		
			if(myObj.busyDiv != "")
			{
				fArgs(myObj.busyDiv).style.display = 'block';
			}
		
			if (myObj.vLoad == true)
			{
				vLoad++;
				fArgs('loadingMsg').style.display = 'block';
			}
		}
		
		function fReturn(req,parameters)
		{
			var myObj = eval(parameters);	
			if (req.readyState == 4)
			{
				if(myObj.busyDiv != "")
				{
					fArgs(myObj.busyDiv).style.display = 'none';
				}
				if (myObj.vLoad == true)
				{
					vLoad--;
					if(vLoad < 1)
					{
						fArgs('loadingMsg').style.display = 'none';
					}
				}				
				if (req.status == 200)
				{			
					if(myObj.loadDiv != "")
					{
						fArgs(myObj.loadDiv).innerHTML = req.responseText;
					} 
					else
					{
						myObj.onSucess(req);
					}
				}
				else
				{
					myObj.onFailure(req);
				}
			} 
		} 
		
		function defComplete(req)
		{
			// Add alert to notify user that page is retrieved.
		}
		
		function defFail(req)
		{
			alert('Page not found.');
			// Add alert to notify user that page is not retrieved. Error.
		}
		
		function createRequest()
		{
			var request = null;
			try {request = new XMLHttpRequest();} 
			catch (trymicrosoft)
			{
				try {request = new ActiveXObject("Msxml2.XMLHTTP");} 
				catch (othermicrosoft)
				{
					try {request = new ActiveXObject("Microsoft.XMLHTTP");} 
					catch (failed) {request = null;}
				}
			}
			if (request == null) {alert("Error creating request object!");}
			else {return request;}
		}
		
		function fArgs()
		{
			var elements = new Array();
			for (var i = 0; i < arguments.length; i++)
			{
				var element = arguments[i];
				if (typeof element == 'string')
					element = document.getElementById(element);
				if (arguments.length == 1)
					return element;
				elements.push(element);
			}
			return elements;
		}