function request(url, parameters, divid, callback) {
        var http_request = false;
        if (window.XMLHttpRequest) { // Mozilla, Safari, ...
            http_request = new XMLHttpRequest();
            if (http_request.overrideMimeType) {
                http_request.overrideMimeType('text/xml');
                // See note below about this line
            }
        } else if (window.ActiveXObject) { // IE
            try {
                http_request = new ActiveXObject("Msxml2.XMLHTTP");
            } catch (e) {
                try {
                    http_request = new ActiveXObject("Microsoft.XMLHTTP");
                } catch (e) {}
            }
        }
        if (!http_request) {
            alert('Giving up :( Cannot create an XMLHTTP instance');
            return false;
        }
        http_request.onreadystatechange = function() {   requestobj(http_request, divid, callback); };
        http_request.open('POST', url, true);
        http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
        http_request.setRequestHeader("Content-length", parameters.length);
        http_request.setRequestHeader("Connection", "close");
        http_request.send(parameters);
}
function requestobj(http_request, divid, callback){
	if (http_request.readyState == 4) {
        if (http_request.status == 200) {
        	rs=trimSpace(http_request.responseText);
        	callback(rs, divid);
}}}
function getcontents(rs, divid){  document.getElementById(divid).innerHTML=rs;
assignmenttime();
window.location.hash=Math.floor(Math.random()*1111); idtobj('ferror').style.display='none';
}
function setonload(url, divid, time, callback){
	divid=divid+","+time+","+url+",setonload";
	request(url, '', divid, callback);
}
function getonload(rs, divid){
	data=divid.split(","); 
	document.getElementById(data[0]).innerHTML=rs;   
	setTimeout("request('"+data[2]+"', '', '"+data[0]+"', "+data[3]+");", data[1]);
}
function trim(str) {
	if (str == null) return '';
	return encodeURIComponent(str.replace(/^\s*|\s*$/g,""));
}
function trimSpace(str) {
	if (str == null) return '';
	return str.replace(/^\s*|\s*$/g,"");
}
