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.loadURL = function(urli){
	this.InitReq();
	req.open("GET",urli,false);
	req.setRequestHeader("Content-type","application/x-www-form-urlencoded;charset=ISO-8859-1");		
	req.send("");
	return req.responseText;
};

this.JSONParse = function(text){
	if(text){
		try{
			if(JSON){
				return JSON.parse(text);
			}else{
				var my_JSON_object = !(/[^,:{}\[\]0-9.\-+Eaeflnr-u \n\r\t]/.test(text.replace(/"(\\.|[^"\\])*"/g, ''))) && eval('(' + text + ')');
				return eval(my_JSON_object);		
			}
		}catch(e){
			var my_JSON_object = !(/[^,:{}\[\]0-9.\-+Eaeflnr-u \n\r\t]/.test(text.replace(/"(\\.|[^"\\])*"/g, ''))) && eval('(' + text + ')');
			return eval(my_JSON_object);					
		}
	}
	return [];
};


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();


function SetValue(name,value){
	var exp = new Date();
	exp.setYear(exp.getFullYear()+1);
	document.cookie = name + "=" + value + ";path=/;expires=" + exp.toGMTString();
}
function GetValue(name){
	var dc = document.cookie;
	var prefix = name + "=";
	var begin = dc.indexOf("; " + prefix);
	if (begin == -1) {
		begin = dc.indexOf(prefix);
		if (begin != 0) return null;
	} else {
		begin += 2;
	}
	var end = document.cookie.indexOf(";", begin);
	if (end == -1) {end = dc.length;}
	return unescape(dc.substring(begin + prefix.length, end));
}
