//___________________________________________________________________
function REST(path_str,params_obj){
	
	var self			= this;
	
	// create parameter container
	this.p				= new Object;
	
	params_obj? absorbParamsObject(params_obj) : null;
	
	this.__defineGetter__('queryString',getQueryString);
	this.__defineGetter__('XMLString',getXMLString);
	this.__defineGetter__('pathString',function(){return path_str});
	
	//---------------------------------------------------------------
	function getQueryString(){
		
		var query_str	= '';
		for(var param_str in self.p){
			query_str	+= '&'+encodeURIComponent(param_str)+'='+encodeURIComponent(self.p[param_str]);
		}
		return query_str;
	};
	//---------------------------------------------------------------
	function getXMLString(){
		
		var query_xdoc		= document.implementation.createDocument('','',null);
		var root_xml		= query_xdoc.createElement('root');
		
		// display path
		root_xml.createChild('path',path_str);
		
		query_xdoc.appendChild(root_xml);
		for (var param_str in self.p){
			root_xml.createChild(param_str,self.p[param_str]);
		}
		
		return query_xdoc.saveXML();
	};	
	//---------------------------------------------------------------
	function absorbParamsObject(params_obj){
		
		for(var param_str in params_obj){
			self.p[param_str]	= params_obj[param_str];
		}
	};
};	//_______________________________________________________________
//___________________________________________________________________