var http_request = "";
var resultObj = null;
var resultFunkt = null;
var callbackObject = null;

if (window.XMLHttpRequest) {
	http_request = new XMLHttpRequest();
}

function getEl(id) {
	return document.getElementById(id);
}

function getMainEl(id) {
	return parent.mainframe.document.getElementById(id);
}

function reloadAjaxContent(req, resObject)
{
	AjaxServiceInfo(systemUrlBase + "index.php?SeitenID=" + req);
	
	resultObj = resObject;
	
	return false;
}

function AjaxServiceInfo(URL)
{
	if (window.ActiveXObject) {
		http_request = new ActiveXObject("Microsoft.XMLHTTP");
	} else if (window.XMLHttpRequest) {
	}

	http_request.onreadystatechange = AjaxRequestReady;		
	http_request.open('GET', URL, true);
	http_request.send(null);
}

function AjaxRequestReady() {
	var Result = "";
	if (http_request.readyState == 4) {
		Result = http_request.responseText;	
		setContent(Result);
	}
			
}

function setContent(sResult)
{
	if (resultObj == null) return;
	resultObj.innerHTML = sResult;
	
	if (resultFunkt != null)
		eval(resultFunkt);
	
	resultObj = null;
	resultFunkt = null;
}


function setCallback(command)
{
	resultFunkt = command;	
}



// Spezielle Funktionen


function loadAndShowDiv(req, resObject)
{
	callbackObject = resObject;
	setCallback('showDiv();');
	reloadAjaxContent(req, resObject);
}

function showDiv(div)
{
	if (callbackObject == null) return;
	ShowDragDivObject(callbackObject);
	//callbackObject.style.visibility = 'visible';
	callbackObject = null;
}



// Formular Postback

var pars = "";
var target = 'output-div';	
var vars = "";


function splitText(text) {
	var doppelpacks = text.split('++');
	for (i=1; i<doppelpacks.length; i++) {
		einzelne = doppelpacks[i].split('=>');
		feldname = einzelne[0];
		einzelne[1] = decodeURIComponent(einzelne[1]);
		einzelne[1] = einzelne[1].replace(/#013/g, "<br />");
		einzelne[1] = einzelne[1].replace(/&#043/g, "+");
		einzelne[1] = einzelne[1].replace(/&#061&#062/g, "=>");
		if (feldname == "resultcode"){
			if (einzelne[1] == "reload_all")
				ReloadFrameset();
		} else if (feldname.substr(0,4) == "div_"){
			var divname = feldname.substr(4);
			var o = document.getElementById(divname);
			if (o != null)
				o.style.visibility = einzelne[1];			
		}else if(feldname.substr(0,5) == "html_"){
			var htmlname = feldname.substr(5);
			var o = document.getElementById(htmlname);
			if (o != null)
				o.innerHTML = einzelne[1];
		}else{
			if (document.getElementById(feldname)) {
				document.getElementById(feldname).value = einzelne[1];
			}
		}
	}
}



function paraConv(vars){
	var attrb = vars.split(',');
	var pars = '';
	for(i=0; i<attrb.length; i++){
		var o = document.getElementById(attrb[i]);
		if (o != null)
			pars = pars+'&'+attrb[i]+'='+encodeURIComponent(o.value); // encodeURIComponent
	}
	return pars;
}


function createXMLHttp() {	
	if (typeof XMLHttpRequest != 'undefined'){
		return new XMLHttpRequest();
	}else if (window.ActiveXObject){
		var avers = ["Microsoft.XmlHttp", "MSXML2.XmlHttp", "MSXML2.XmlHttp.3.0", "MSXML2.XmlHttp.4.0", "MSXML2.XmlHttp.5.0"];
		for (var i = avers.length -1; i >= 0; i--){
			try {
				httpObj = new ActiveXObject(avers[i]);
				return httpObj;
			} catch(e) {}
		}
	}
}


function ajax_update(command, vars){
	var ajaxObj = false;
	if(vars != ""){
		var pars = paraConv(vars);
	}
	
	
	if (!ajaxObj){	
		ajaxObj = createXMLHttp();
	}else if (ajaxObj.readyState != 0){
		ajaxObj.abort();  
	}
	
	//alert(pars);
	
	ajaxObj.open("GET", "ajax_postback.php?cmd=" + command + '&' + pars, true); 
	ajaxObj.onreadystatechange = function(){
		ajaxObj.processRequest();	
	}
	ajaxObj.send(null);
	
	
	ajaxObj.processRequest = function() {
		if (this.readyState == 4) {
			if (this.status != 200) {
				alert('Error : Status '+this.status+' returned.');
			}else{
				//alert(this.responseText);
				splitText(this.responseText);
			}
		}
	}
} 


// ------------- Hilfsfunktionen --------------------------

function ReloadFrameset()
{
	parent.location.reload();
}


