function pageWidth() {return window.innerWidth != null? window.innerWidth : document.documentElement && document.documentElement.clientWidth ?       document.documentElement.clientWidth : document.body != null ? document.body.clientWidth : null;} 
function pageHeight() {return  window.innerHeight != null? window.innerHeight : document.documentElement && document.documentElement.clientHeight ?  document.documentElement.clientHeight : document.body != null? document.body.clientHeight : null;} 
function posLeft() {return typeof window.pageXOffset != 'undefined' ? window.pageXOffset :document.documentElement && document.documentElement.scrollLeft ? document.documentElement.scrollLeft : document.body.scrollLeft ? document.body.scrollLeft : 0;} 
function posTop() {return typeof window.pageYOffset != 'undefined' ?  window.pageYOffset : document.documentElement && document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop ? document.body.scrollTop : 0;} 
function posRight() {return posLeft()+pageWidth();} 
function posBottom() {return posTop()+pageHeight();}

function getxmlhttp(){
var xmlhttp = false;
if (window.XMLHttpRequest) {
		xmlhttp = new XMLHttpRequest();
} else if (window.ActiveXObject) {
		xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
return xmlhttp;
}

function makerequest(serverPage, objID, loadDiv) {
var xmlhttp = getxmlhttp(); var obj = document.getElementById(objID);
var url = serverPage; 
if (typeof loadDiv == "undefined") {hasloader = false;} else {hasloader = true;}
var t = Date.parse(Date()); var d = new Date(); var reqid = t + d.getMilliseconds();
if (url.search(/=/) == -1 ) {// the code below makes sure that each request will be unique
		url = serverPage + "?rqid=" +reqid;
}
else { url = serverPage + "&rqid=" +reqid; }
obj.innerHTML ='';
xmlhttp.open("GET", url);
xmlhttp.onreadystatechange = function() {
	if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
		if (hasloader) {document.getElementById(loadDiv).style.display = 'none';}
		obj.innerHTML = xmlhttp.responseText;
	}
	else {  if (hasloader) { document.getElementById(loadDiv).style.display = '';	} 	else {obj.innerHTML = "Loading...";}}
}
xmlhttp.send(null);
}

function makePOSTrequest(serverPage, params, objID, loadDiv) {
var xmlhttp = getxmlhttp(); 
var obj = (obj != '' || objID == "undefined") ?document.getElementById(objID):null;
var url = serverPage;
if (typeof loadDiv == "undefined") {hasloader = false;} else {hasloader = true;}
if (obj != null) obj.innerHTML ='';
xmlhttp.open("POST", serverPage, true);
xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xmlhttp.setRequestHeader("Content-length", params.length);
xmlhttp.setRequestHeader("Connection", "close");
xmlhttp.onreadystatechange = function() {
	if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
		if (hasloader) {document.getElementById(loadDiv).style.display = 'none';}
		if (obj != null) obj.innerHTML = xmlhttp.responseText;
	}
	else { if (hasloader) { document.getElementById(loadDiv).style.display = '';} else {obj.innerHTML = "Loading...";}
	}
}
xmlhttp.send(params);
}
