/// XML Class ///
XML.prototype.setBrowser=function()
{var agent=window.navigator.userAgent;if(agent.match(/msie/ig))this.browser='ie';else if(agent.match(/firefox/ig))this.browser='ff';else if(agent.match(/opera/ig))this.browser='op';}
XML.prototype.setRequestObj=function(){	if(this.browser!='ie'){this.requestObj= (new XMLHttpRequest());}else if (this.browser=='ie'){try {this.requestObj= (new ActiveXObject("Msxml2.XMLHTTP"));} catch (e){try{this.requestObj= (new ActiveXObject("Microsoft.XMLHTTP"));}catch (e){}}}else this.requestObj=null;}

XML.prototype.fromSyncRequest=function(_url,_rType, _requestHeaders,_method,_message)
{ if(!this.requestObj) this.setRequestObj(); if(!_method) _method="GET"; this.requestObj.open(_method,_url, false);
  if(_requestHeaders && _requestHeaders!=''){var headers=_requestHeaders.split('&');for(var i=0; i<headers.length; i++){var temp=headers[i].split('=')
  if(temp.length>1)this.requestObj.setRequestHeader(temp[0],temp[1]);}}if(!_message)this.requestObj.send(null);else this.requestObj.send(_message);
  switch(_rType){case 0:	return this.requestObj.responseText;case 1: return this.requestObj.responseXML;case 2: return this.requestObj.responseStream;default:return this.requestObj.responseXML;}}
  
XML.prototype.fromAsyncRequest=function(_url,_callback,_requestHeaders,_method,_message)
{
	delete this.requestObj
	this.setRequestObj();
			
	if(!_method)
		_method="GET";
		
	if(_callback)
	{
		var wrapper=new Function("if(arguments.callee.reqObj.readyState==4){arguments.callee.toCall(arguments.callee.reqObj);}");
		wrapper.reqObj=this.requestObj;
		wrapper.toCall=_callback;
		this.requestObj.onreadystatechange=wrapper;
	}

	this.requestObj.open(_method, _url, true);
	
	if(_requestHeaders && _requestHeaders!='')
	{
		var headers=_requestHeaders.split('&');
		for(var i=0; i<headers.length; i++)
		{
			var temp=headers[i].split('=')
			if(temp.length>1)
				this.requestObj.setRequestHeader(temp[0],temp[1]);
		}
	}
	
	if(!_message)
		this.requestObj.send(null);
	else 
		this.requestObj.send(_message);
}  
  
  
XML.prototype.fromString=function(str){var dom;if(this.browser=='ie'){dom =new ActiveXObject("Microsoft.XMLDOM");dom.preserveWhiteSpace=true;dom.loadXML(str);return dom;}else{var parser=new DOMParser();parser.preserveWhiteSpace=true;parser.async=false;dom=parser.parseFromString(str, "text/xml");return dom;}}
function XML(){	this.browser=null;this.setBrowser();this.requestObj=null;}

/// End of XML Class ///