function XSSiteration(eID, url) {
	
	function createRequestObject() {
		if(url.indexOf('?')>0) {
			url=url+"&ajaxMode=On";
		}
		else {
			url=url+"?ajaxMode=On";
		}
		
	    this.script = document.createElement('script');
	    this.script.setAttribute('type', 'text/javascript');
	    this.script.setAttribute('src', url+"&ajaxMode=On");
	    this.script.setAttribute('id', 'crossSiteLoader_'+eID);
		this.eID=eID;
		this.scriptID='crossSiteLoader_'+eID;

		return this;
	}
	
	function handleResponse() {		
		if (xss.script.readyState == 'loaded') {
			xss.pageData=pageData;
			
			//	Häkki!
			if(xss.pageData == null) {
				window.location.reload()
			}

			myDiv=document.getElementById(xss.eID);
			newDiv=document.createElement('div');
			newDiv.setAttribute('id', eID);
			newDiv.innerHTML=decodeURIComponent(xss.pageData);
			pageData=null;

			x=myDiv.parentNode;
			x.replaceChild(newDiv,myDiv);
			
			document.getElementsByTagName('head')[0].removeChild(document.getElementById(xss.scriptID));
		}	
	}	
	
	var xss = new createRequestObject();
	xss.script.onreadystatechange = handleResponse;
	
	this.doRequest = function() {
		document.getElementsByTagName('head')[0].appendChild(xss.script);
	}
	
	xss.script.onload = function () {		
		xss.pageData=pageData;		

		//	Häkki!
		if(xss.pageData == null) {
			window.location.reload()
		}
		
		myDiv=document.getElementById(xss.eID);
		newDiv=document.createElement('div');
		newDiv.setAttribute('id', eID);
		newDiv.innerHTML=decodeURIComponent(xss.pageData);
		pageData=null;
		
		x=myDiv.parentNode;
		x.replaceChild(newDiv,myDiv);
		
		document.getElementsByTagName('head')[0].removeChild(document.getElementById(xss.scriptID));
	}	
}

function xssLoader(eID, url) {
	var xi = new XSSiteration(eID, url);

	xi.doRequest();
}

function ajaxPost(formID, url, eId) {

	obj = document.getElementById(formID);
	if(url.indexOf('?')>0) {
		getstr = "&sourceCharset="+encodeURIComponent("UTF-8")+"&";
	}
	else {
		getstr = "?sourceCharset="+encodeURIComponent("UTF-8")+"&";
	}
	
	for (i=0; i<obj.length; i++) {
		if (obj.elements[i].tagName == "INPUT" && obj.elements[i].value != "") {
			if (obj.elements[i].type == "text" || obj.elements[i].type == "hidden") {
				getstr += obj.elements[i].name + "=" + encodeURIComponent(obj.elements[i].value) + "&";
			}
			else if (obj.elements[i].type == "checkbox") {
				if (obj.elements[i].checked) {
					getstr += obj.elements[i].name + "=" + encodeURIComponent(obj.elements[i].value) + "&";
				}
				else {
					getstr += obj.elements[i].name + "=&";
				}
			}
			else if (obj.elements[i].type == "radio") {
				if (obj.elements[i].checked) {
					getstr += obj.elements[i].name + "=" + encodeURIComponent(obj.elements[i].value) + "&";
				}
			}
		}
		else if (obj.elements[i].tagName == "SELECT") {
			var sel = obj.elements[i];
			if(sel.multiple) {
				for (var x = 0; x < sel.options.length; x++) {
					if (sel.options[x].selected) {
						getstr += sel.name + "=" + sel.options[x].value + "&";
					}
				}
			}
			else {
				getstr += sel.name + "=" + sel.options[sel.selectedIndex].value + "&";
			}
		}
		else if (obj.elements[i].tagName == "TEXTAREA") {
			getstr += obj.elements[i].name + "=" + encodeURIComponent(obj.elements[i].value) + "&";
		}
	}

	xssLoader(eId, url+getstr);
}

function changeAction(form, action) {
	document.getElementById(form+'_default').value=action;
}
