function createRequestObject() {
	var ro;
	var browser = navigator.appName;
	if(browser == "Microsoft Internet Explorer"){
		ro = new ActiveXObject("Microsoft.XMLHTTP");
	}else{
		ro = new XMLHttpRequest();
	}
	return ro;
}

function request(destination, handler, action){
	var http = createRequestObject();		
	http.open('post', destination);
	http.onreadystatechange = function(){
		if(http.readyState == 4){
			handler(http.responseText);
			http.onreadystatechange = undefined;
			http = undefined;
		}
	};
	http.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	if(action){
		http.send("action=" + action);
	} else {
		http.send();
	}
}

$ = function(id){
	return document.getElementById(id);
}

decode = function(str){
  var ta = document.createElement("textarea");
  ta.innerHTML = str.replace(/</g,"&lt;").replace(/>/,"&gt;");
  return ta.value;
}
