function Connector()
{
	this.results = new Array();
	if (window.XMLHttpRequest)  // Mozilla and Safari
		this.xmlHttp = new XMLHttpRequest();
	else if (window.ActiveXObject) // IE
		this.xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
	this.makeCall = cMakeCall;
	this.send = cSend;
}
function cMakeCall( textOrXML, element, service, args )
{
	var responseFromService = this.send( textOrXML, service, args );
	if( textOrXML == "text" )
	{
		var response = responseFromService.split( "," );
		if( response[ 0 ] == -1 )
		{
			this.results[ element ] = "Error:" + response[ 1 ];
			return false;
		}
		else
		{
			this.results[ element ] = response;
			return true;
		}
	}
	else if( textOrXML == "xml" )
	{
		var response = responseFromService;
		this.results[ element ] = response;
		return true;
	}
	else
	{
		alert( "usage: makeCall( text|xml, element, service, args )" );
		return false;
	}
}
function cSend( textOrXML, service, args )
{
	var xmlHttp = this.xmlHttp;
	var page = service + ".php?" + args;
	xmlHttp.open( "get", page, false );
	xmlHttp.send( null );
	if( xmlHttp.readyState == 4 )
	{
		switch( xmlHttp.status )
		{
			case 200 : if( textOrXML == "text" ) return xmlHttp.responseText; else return xmlHttp.responseXML;
			case 404 : return "-1, Page Not Found:" + page;
			case 500 : return "-1, Internal Server Error";
			default : return "-1, General Error";
		}
	}
	else
		return "-1, Not Ready";
	
}
