/*
	Beeline Software Express Common Jscript library 1.1
	
	bsecj_library.js

*/


//// XMLHttpRequest ////

/* 
	v1.1 
	
	object sync: 
	
	setup: o = new request("http://www.server.com/", "text");
	action: o.load(); 
	result: o.data();

	convenience function:
	
	r = loadURL("http://www.server.com/", "text");
	
	object async:

	setup: o = new request("http://www.server.com/", "xml","callbackfunction");
	action: o.load(); 
	result: callbackfunction(data) & o.data();
	
	
*/	

function loadURL(url, response) {
	var o = new request(url, response);
	o.load(); 
	return o.data();
}

function request(url, response, callbackFunction) {
	this.URL = url;
	this.response = response;
	this.req = false;
	
	this.data = function() {
		if (this.response == "xml") return req.responseXML;
			else return req.responseText;
	}

	this.statusOK = function() {
		if ((this.req.readyState == 4) && (this.req.status == 200)) return true;
		else return false;
	}
	
	this.load = function(){ 
		try {netscape.security.PrivilegeManager.enablePrivilege("UniversalBrowserRead") } catch (e) {}
		// 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;}
				}
		}
	
		if(req) {
			if (callbackFunction) {
				req.onreadystatechange = requestDataReady;
				req.open("GET", url, true);
				req.send(null);
			}
			else {
				req.open("GET", url, false);
				req.send(null);
				//requestDataReady;
			}
		}
	} 
	
	requestDataReady =function()  {
		if (req.readyState == 4) {
	   		if (req.status == 200) {
	       		try {netscape.security.PrivilegeManager.enablePrivilege("UniversalBrowserRead") } catch (e) {}
	       		if (callbackFunction) {
		   			if (this.response == "xml") eval(callbackFunction+"(req.responseXML)");
		   				else eval(callbackFunction +"(req.responseText)");
				}
			}
		}
	}
}



