// AJAX Javascript functions - © UK Websystems, all rights reserved.

	AjaxBusy = false;
	
  OnAjaxComplete = function(Data) {return;}
	AjaxLastReq = 'GET';
	req = false;
  
  function XMLinit()
	{
		// branch for native XMLHttpRequest object
		if(window.XMLHttpRequest) 
		{
			try {
				req = new XMLHttpRequest();
			} catch(e) {
				req = false;
			}
			
			// branch for IE/Windows ActiveX version
		} else if(window.ActiveXObject) 
		{
			try {
				req = new ActiveXObject("Msxml2.XMLHTTP");
			} catch(e) {
				try {
					req = new ActiveXObject("Microsoft.XMLHTTP");
				} catch(e) {
					req = false;
				}
			}
		}
	}

	function processReqChange() {
    // only if req shows "loaded"
    if (req.readyState == 4) {
        // only if "OK"
				AjaxBusy = false;
        if (req.status == 200) 
				{
        	// Run the returned Javascript
          OnAjaxComplete(req.responseText);
        } else {
          alert("There was a problem retrieving the information:\n" + req.statusText);
        }
    }
	}	
	
	function FetchInfo(url,type,postdata)
	{
  //	if (AjaxLastReq == 'POST')
		{
			XMLinit();
			req.onreadystatechange = processReqChange;
		}
//		if (req != undefined)
//		{
//			delete req;
//			XMLinit();
//		}
			
    if (type == undefined)
      type = 'GET';

    if (postdata == undefined)
      postdata = '';
    
		if ((typeof req == 'boolean') && (req == false))
	  {
			XMLinit();
			req.onreadystatechange = processReqChange;
		}

    if (AjaxBusy)
			return false;

    AjaxLastReq = type;

		if(req) {
			AjaxBusy = true;
			if (type == 'POST')
			{
			  req.open("POST", url, true);
				req.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
				req.setRequestHeader("Content-length", postdata.length);
				req.setRequestHeader("Connection", "close");				
  			req.onreadystatechange = processReqChange;
			  req.send(postdata);
			}
			else
			{
			  req.open("GET", url, true);
			  req.send('');
			}
		}
	}