var req;

function DynLoader(){
this.loadXMLDoc = function(url,handler) {
if (window.XMLHttpRequest)
req = new XMLHttpRequest();
else if (window.ActiveXObject)
req = new ActiveXObject("Microsoft.XMLHTTP");
req.onreadystatechange = handler;
req.open("GET", url, true);
req.setRequestHeader("Content-type","application/x-www-form-urlencoded; charset=ISO-8859-1");
req.setRequestHeader("Connection", "close");
req.send(null);
};

this.loadContent = function(element,url){
rootNodeObj = document.getElementById(element);
//jkluuppi = setTimeout("jkloop()",1000);
this.loadXMLDoc(url,this.processReqChange);
};

this.postContent = function(element,url){
	var query = this.setQueryString(element);
	rootNodeObj = document.getElementById(element);
	this.postXMLDoc(url,query,this.processReqChange);
};

this.postXMLDoc = function(url,query,handler) {
		this.InitReq();
		req.onreadystatechange = handler;
		req.open("POST", url, true);
		req.setRequestHeader("Content-type","application/x-www-form-urlencoded; charset=ISO-8859-1");
		req.setRequestHeader("Connection", "close");
		req.send(query);
};

this.setQueryString = function(element){ var queryString="";
var root = document.getElementById(element);
var inputs = root.getElementsByTagName("INPUT");
var textareas = root.getElementsByTagName("TEXTAREA");
var selects = root.getElementsByTagName("SELECT");
for(var i = 0; i <inputs.length; i++) queryString += inputs[i].name+"="+encodeURIComponent(inputs[i].value)+"&";
for(var i = 0; i <textareas.length; i++) queryString += textareas[i].name+"="+encodeURIComponent(textareas[i].value)+"&";
for(var i = 0; i <selects.length; i++) queryString += selects[i].name+"="+encodeURIComponent(selects[i].options[selects[i].selectedIndex].value)+"&"; 
return queryString;
};


this.InitReq = function(){
if (window.XMLHttpRequest)
req = new XMLHttpRequest();
else if (window.ActiveXObject)
req = new ActiveXObject("Microsoft.XMLHTTP");
};



this.processReqChange = function() {
if (req.readyState == 4) {
if (req.status == 200) {
rootNodeObj.innerHTML = req.responseText;
} else {
alert("There was a problem retrieving the XML data:\n" + req.statusText);
}
}
};
}

var dl = new DynLoader();
