function Send(url, params, handler, optional)
{
      	var request = null;
		
		//Get request object
		if(window.XMLHttpRequest)				//Standards
			request = new XMLHttpRequest();
		else if(window.ActiveXObject)			//IE
			try {
				request = new ActiveXObject("Msxml2.XMLHTTP");}
			catch(e) {
				try {
					request = new ActiveXObject("Microsoft.XMLHTTP");}
				catch(e) {
					alert("Please update your browser.  I recommend http://www.getfirefox.com");}}

		
	
        request.onreadystatechange = function() {
			if (request.readyState == 4) 
			{
				if (request.status == 200) 
				{
					var params = request.responseText.split("|");
					//call handler
					handler(params[0], params[1], optional);
				}
			}
		 };

        request.open('POST', url, true);
		request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		//request.setRequestHeader("Content-length", params.length);
		//request.setRequestHeader("Connection", "close");
		
		if(typeof params == "object")
		{
			var p = '';
			for(var key in params)
			{
				p += "&" + key + "=" + params[key];	
			}
			p = p.substring(1);
			request.send(p);
		}
		else
	        request.send(params);

}
