function XMLObj(xmldatafile,f){	this.version = '0.7';	this.xmldoc;	this.resXML;	this.resTXT;	this.method = 'POST';	this.xmlDataFile = xmldatafile;	this.data;	this.selectedRecord;	if (f) this.processResults = f;}XMLObj.prototype.loadXML = xml_loadXML;XMLObj.prototype.processResults = new Function();XMLObj.prototype.getElementById = xml_getElementById;XMLObj.prototype.getFromXMLByNumber = xml_getFromXMLByNumber;XMLObj.prototype.getFromXMLById = xml_getFromXMLById;//####### ####### ####### ####### ####### ####### ####### ####### function xml_loadXML(data,method,xmldatafile,f){	try	{		if (this.xmldoc && (this.xmldoc.readyState == 2 || this.xmldoc.readyState == 3))		{			this.xmldoc.abort(); //wenn es schon ein "XMLHttpRequest"-Objekt gibt und bereits eine Anfrage laeuft, wird diese nun abgebrochen.			alert('Es laeuft gerade eine Aktion, waehrend der nicht gespeichert werden kann.')		}		else		{			var xmlobj = this;			this.data = data || null;			if (method) this.method = method;			if (xmldatafile) this.xmlDataFile = xmldatafile;			if (f) this.processResults = f;				if (window.XMLHttpRequest)			{				this.xmldoc = new XMLHttpRequest();			}			else if(window.ActiveXObject)			{				this.xmldoc = new ActiveXObject("Microsoft.XMLHTTP")			}			this.xmldoc.onreadystatechange = function()			{				if(xmlobj.xmldoc.readyState==4)// wird ausgefuehrt, wenn das xml-Dokument vollstaendig geladen ist.				{					if (xmlobj.xmldoc.status == 200) // wird ausgefuehrt, wenn das xml-Dokument fehlerfrei interpretiert werden kann					{						xmlobj.processResults(xmlobj)					}				}			}			this.xmldoc.open(this.method,this.xmlDataFile,true);			this.xmldoc.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");			this.xmldoc.send(data);		}	}	catch(e)	{		alert('Die XML Daten konnten nicht in den Browser geladen werden.\n'+e)	}}function xml_getElementById(id){	var sXPath = "*/*[@id='"+id+"']";	try	{		//for IE, use native selectSingleNode()		var node = this.xmldoc.responseXML.selectSingleNode(sXPath);	}	catch(e)	{		try		{			//solving the stuff for Mozilla			var node = this.xmldoc.responseXML.evaluate(sXPath, this.xmldoc.responseXML, null, 9, null).singleNodeValue;		}		catch (e)		{			try			{				var root = this.xmldoc.responseXML.firstChild;				var node = getNode(root,id);			}			catch(e)			{				alert('getElementById geht nicht\n'+e)			}		}	}	return node;}function getNode(node,id){	var nodes = node.childNodes;	for (var i=0; i<nodes.length; i++)	{		if (nodes[i].nodeType == 1)		{			var elmNode = elmnode = nodes[i];			if(elmNode.getAttribute('id') == id)			{				return elmnode;				break;			}			getNode(elmNode,id);		}	}}function xml_getFromXMLByNumber(tagname,num){	num = num || 0; 	try {return decodeURL(this.xmldoc.responseXML.getElementsByTagName(tagname)[num].firstChild.nodeValue);} catch(e){return ""}}function xml_getFromXMLById(id,tagname,num){	num = num || 0; 	try {return decodeURL(this.getElementById(id).getElementsByTagName(tagname)[0].firstChild.nodeValue);} catch(e){return ""}}function decodeURL(str){	str = unescape(str);	str = str.replace(/\+/g, ' ');	str = str.replace(/%22/g,'\"');	str = str.replace(/%27/g, '\'');	str = str.replace(/%2F/g,'\/');	return str;}function addSrc(elm,src,data,method,fnc){	if (typeof(elm) == 'string')	{		elm = document.getElementById(elm);	}	var xml = new XMLObj(),	data = data || '';	method = method || 'post';	xml.loadXML(data,method,src,responseData);	function responseData()	{		elm.innerHTML = decodeURL(xml.xmldoc.responseText);		if (fnc) fnc();	}}