var XSLTProcessor;
var XMLDom;
var bodyLoaded;
var debug = '0';
/*<!+++++++++++++++++++++++++ How can I use servlet  XML request+++++++++++++++++-->
<!--1. In form
<field name="fileSelect" eachrow="yes" fieldtype="ajaxFileselect" datatype="string" options="navigation.file" optionsvalue="local" optionsname="@name" url="servlet.php?mode=servlet&amp;submode=publication&amp;navigationFile" urltarget="navigation"/>
fieldtype :	 can be xmlReqoptions for normal option format or ajaxFileselect for fileselect option format
options:		 just used in the case which option has no xml  Request. all other form with request no need of options!
optionsvalue , 
optionsname: the same as normal option
url: 				the relative url to servlet name with mode and submode and the command for the servlet. the name of the Variable wich send with field should be written as the last name without '=' sign in examlpe the value of field should be written in 'navigationFile'.
urltarget:		Is the Target of the Values which is send with XML Request.
2. In servlet: 
a.		Testing which field has asked for data 
b.		writing the datas in system/dom
c.		Writing the name of the data in command with "data" as name

Aufruf aus html: 
xmlRequest('http://localhost/projekte/comas3/comas.3.0.dev/licence/app/demo/servlet.php?mode=servlet&submode=publication&navigationFile=
'+ document.getElementById('contentversionEdit[3][fileSelect][1]').options[document.getElementById('contentversionEdit[3][fileSelect][1]').selectedIndex].value, 
'contentversionEdit[3][navigation][1]', 'value', 'name','contentversionEdit[3][navigation][1] contentversionEdit[3][navigation][1] ');" 


Funktionen
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
/ bisheriger Name        			 ---------------------	neuer Name                                              /        Übergabeparameter                                                                          /
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
xmlRequestDivisionForm 			 ---------------------   mpxAjaxNSLSubscribe				(formname, div)
xmlRequestDivision 		 	 ---------------------   mpxAjaxSortableList				(formname, div)
xmlRequest					 ---------------------   mpxAjaxFillSelect				(src,formname,optionsvalue,optionsname,nextOptionsArray)
addOption 					 ---------------------   mpxAjaxAddOption				(formname,optionsvalue,optionsname,nextOptionsArray)
mpxSubmitFormXML 			 ---------------------   mpxAjaxSubmitForm				(formname)
mpxSubmitFormXMLComment		 ---------------------   mpxAjaxSubmitFormComment			(formname)
mpxSubmitFormXMLChat 			 ---------------------   mpxAjaxSubmitFormChat			(formname, CountDown, first)
mpxSubmitFormXMLChat_CountDown 	 ---------------------   mpxAjaxSubmitFormChatCountDown		(msecs, formname, first) 
toCharEnt 					 ---------------------   mpxAjaxToCharEnt				(chat)
htmlEntityReplace				 ---------------------   mpxAjaxHtmlEntityReplace			(string) 
xml_load 					 ---------------------   mpxAjaxXmlLoad				(src)
checkForParseError 			 ---------------------   mpxAjaxCheckForParseError			(xmlDocument) 
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

-->*/

/* allgemeine Funktionen */



function mpxAjaxXmlLoad(src) {
	var xmlDocument;
	var xmlhtt;

	// code for Mozilla, etc.
	if(debug=='1') alert('SRC: ' + src);
	//FOR IE
	if (window.ActiveXObject) {
		if(debug=='1') alert('iehallo1');
		xmlDoc = new ActiveXObject("Microsoft.XMLDOM");			
		xmlhttp=new ActiveXObject("Microsoft.XMLHTTP")
		if (xmlhttp)
		{
			if(debug=='1') alert('iehallo2');
//			xmlhttp.onreadystatechange=xmlhttpChange
			xmlhttp.open("GET",src,false)
			if(debug=='1') alert('iehallo3');
			xmlhttp.send()
			if(debug=='1') alert('iehallo4');
			//xmlDoc = xmlhttp.responseText;
			xmlDoc = xmlhttp.responseXML;
			if(debug=='1') alert('iehallo5');
			if(debug=='1') alert(xmlDoc);
			// Auskommentiert, da hier der IE6 aussteigt LR06
			//var s = new XMLSerializer();
			//if(debug=='1') alert('iehallo6a');
			//xmlDoc = s.serializeToString(xmlDoc);
			if(debug=='1') alert('iehallo6');
			//alert(xmlDoc.documentElement.firstChild);
			return xmlDoc.documentElement;
			//return xmlDoc
			//if(debug=='1') alert('iehallo7');
		}
	}
	//FOR FF
	else if (window.XMLHttpRequest)
	{
		if(debug=='1') alert('hallo');
		var	p = new XMLHttpRequest();
		if(debug=='1') alert('hallo2');
		p.open("GET",src, false);
		if(debug=='1') alert('hallo3');
		p.send(null);
		if(debug=='1') alert('hallo4');
		if(debug=='1') alert('p.responseText: ' + p.responseText);
		var domParser = new DOMParser();
		xmlDocument = domParser.parseFromString(p.responseText,'application/xml');
		if(debug=='1') alert('hallo5');
		var parseError = mpxAjaxCheckForParseError(xmlDocument);
		if(debug=='1') alert('hallo6');
		if (parseError.errorCode == 0) 
			{
			if(debug=='1') alert('hallo7');
			 return xmlDocument;    
			}  
		else
			{
			if(debug=='1') alert('hallo8');
			 alert(parseError.reason + '\r\n' + parseError.srcText); 		
			// shows detailed error message  
			}
	}
}
function mpxAjaxCheckForParseError (xmlDocument) {
	var errorNamespace = 'http://www.mozilla.org/newlayout/xml/parsererror.xml';
	var documentElement = xmlDocument.documentElement;
	var parseError = { errorCode : 0 };
	if (documentElement.nodeName == 'parsererror' && documentElement.namespaceURI == errorNamespace) {
	  parseError.errorCode = 1;
	  var sourceText =
	documentElement.getElementsByTagNameNS(errorNamespace, 'sourcetext')[0];
	  if (sourceText != null) {
		parseError.srcText = sourceText.firstChild.data
	  }
	  parseError.reason = documentElement.firstChild.data;
	}
	return parseError;
}
function mpxAjaxToCharEnt(chat) {
	if(debug=='1') alert(chat);
	var mtoc = /<([^<>]*)>/g;
	//var chat1 = chat.replace(mtoc,"&lt;$1&gt;");
	
	//chat =  chat.replace(/<\?([^?]+)\?>/g, "&lt;#$1#&gt;");
	var chat1 =  chat.replace(/&/g, ";and;");
	//alert(chat1)
	return chat1
}
function mpxAjaxHtmlEntityReplace(string) {
	if(debug=='1') alert(string);
	
	//alert('afterall')
	//alert(string)
	//var string1 =  string.replace(/&lt;\?([^?]+)\?&gt;/g, "<?#$1#?>");
	var string1 =  string.replace(/;and;/g, "&"); 
	//string =  string.replace(/&lt;#([^#]+)#&gt;/g, "<?$1?>");

	string1 =  string1.replace(/â?¬/g, "€")	
	
		//string1 =  string1.replace(/â€/g, "€")			
	return string1;
}
/* verschiedene Funktionen */
function mpxAjaxSortableList(src,divID){
	if (bodyLoaded == 1) {
		//alert(src);
		//alert(divID);
		XMLList = mpxAjaxXmlLoad(src);
		//alert(XMLList);
		if (window.XMLHttpRequest)
		{
			var s = new XMLSerializer();
			document.getElementById(divID).innerHTML = s.serializeToString(XMLList);
			// nur bei sortierbaren Liste muss das sortieren neu erzeugt werden
			//alert(divID);
			if(divID == 'sortable_list') Sortable.create('publ_list');
			//alert(s.serializeToString(XMLList));
		}
		//FOR IE
		else if (window.ActiveXObject)
		{
			document.getElementById(divID).innerHTML = XMLList;
			// nur bei sortierbaren Liste muss das sortieren neu erzeugt werden
			//alert(divID);
			if(divID == 'sortable_list') Sortable.create('publ_list');			
		}
	}
}
/*  Newsletter Subscribe (Aufruf aus mpx.bis.box.xsl Zeile  595)*/
function mpxAjaxNSLSubscribe(formname, div){
	if(debug=='1') alert('Formname: ' + formname);
	if(document.forms[formname])
	{
		url = document.forms[formname].action + "?";
		for (i = 0; i < document.forms[formname].elements.length; ++i)
		{
			if(document.forms[formname].elements[i].type == "checkbox")
			{
				if(document.forms[formname].elements[i].checked == true)
					url = url + document.forms[formname].elements[i].name + "=yes&";
			}
			else
				url = url + document.forms[formname].elements[i].name + "=" + document.forms[formname].elements[i].value + "&";
			//alert(document.forms[formname].elements[i].type)
			//alert(document.forms[formname].elements[i].name);
		}
		if(debug=='1') alert('URL: ' + url);
		XMLList = mpxAjaxXmlLoad(url);
		// mit dem object XMLList sollte eine neue Liste aufgebaut werden 
		div = document.getElementById(div);
		if(debug=='1') alert('XMLList: ' + XMLList);
		if (window.XMLHttpRequest)
		{
			if(debug=='1') alert('FF');
			var s = new XMLSerializer();
			div.innerHTML = s.serializeToString(XMLList);
			if(debug=='1') alert(s.serializeToString(XMLList));
		}
		//FOR IE
	  	else if (window.ActiveXObject)
	  	{
			if(debug=='1') alert('IE');
	  		div.innerHTML = XMLList;
		}
		// hier: textarea leeren
		//document.getElementsByName("text")[0].value = "";
		//alert("Danke, das haben wir gespeichert!");
		return false;
	}
	//alert("unknown form '" + formname + "'");
	return false;
}
/* Select Funktionen */
function mpxAjaxFillSelect(src,formname,optionsvalue,optionsname,nextOptionsArray){
	if(debug=='1') alert(src);
	//alert(nextOptionsArray[1]);
	XMLDom = mpxAjaxXmlLoad(src);

	mpxAjaxAddOption (formname,optionsvalue,optionsname,nextOptionsArray);   
	}
/*
	Problem:
	hier werden alle folgenden selects geleert, gibt ein problem bei transfer, dort sollte nur
	diese selects geleert werden welche in einen Kontext gehï¿½...
	Woher weiss ich wann ich nicht alle Lï¿½en darf ? -> nie nur die die zum kontext gehï¿½!!!
	weil einfach nur das nã¢¨ste zu lï¿½en ist nicht drin glaube ich,

	
*/
function mpxAjaxAddOption (formname,optionsvalue,optionsname,nextOptionsArray) {
	//alert(formname);
	//alert(optionsvalue);
	//alert(optionsname);
	//alert(nextOptionsArray);
	var optionsArray	= nextOptionsArray.split(' ');
	//alert(optionsArray); // Kommagetrennt alle nachfolgenden Formnamen
	//delete the list of options next to the actuel option	
	for(j= optionsArray.length -2 ; j >= 0 ; j--) {		
		//alert(optionsArray[j]);
		if(document.getElementById(optionsArray[j])!= null) {
			for(i = document.getElementById(optionsArray[j]).length -1  ; i > 0 ; i--)
				document.getElementById(optionsArray[j]).options[i]	= null;
		}
	}
	//write the options in to the form		
	//alert(XMLDom.documentElement.childNodes);
	//alert(XMLDom.documentElement.childNodes.length);
	for (i=0; i<=XMLDom.documentElement.childNodes.length; i++) {
		//alert(XMLDom.documentElement.childNodes[i].nodeType);
		if(!(XMLDom.documentElement.childNodes[i]) || XMLDom.documentElement.childNodes[i].nodeType != 1)
			continue;		
		//alert(XMLDom.documentElement.childNodes[i].getAttributeNode('selected'));
		if(XMLDom.documentElement.childNodes[i].getAttributeNode('selected')) {
			NeuerEintrag = new Option(XMLDom.documentElement.childNodes[i].getElementsByTagName(optionsname)[0].firstChild.nodeValue, XMLDom.documentElement.childNodes[i].getElementsByTagName(optionsvalue)[0].firstChild.nodeValue, true, true);	
		}
		else {
			NeuerEintrag = new Option(XMLDom.documentElement.childNodes[i].getElementsByTagName(optionsname)[0].firstChild.nodeValue, XMLDom.documentElement.childNodes[i].getElementsByTagName(optionsvalue)[0].firstChild.nodeValue, false, false);
		}
		document.getElementById(formname).options[document.getElementById(formname).length] = NeuerEintrag;
	}
}

function mpxShowAjaxLoader(className){
	alert(className);
	for (i = 0; i < document.getElementsByTagName('div').length; ++i)
	{	
		if(document.getElementsByTagName('div')[i].className == className) {
			document.getElementsByTagName('div')[i].display = 'block';
		}
	}
}

function mpxAjaxSubmitForm(formname){
	bDebug	= false;
	if(bDebug)
		alert(formname);
	if(document.forms[formname])
	{
		url = document.forms[formname].action + "?";
		for (i = 0; i < document.forms[formname].elements.length; ++i)
		{
			if(document.forms[formname].elements[i].type == "checkbox")
			{
				if(document.forms[formname].elements[i].checked == true)
					url = url + document.forms[formname].elements[i].name + "=yes&";
			}
			else
				url = url + document.forms[formname].elements[i].name + "=" + mpxAjaxToCharEnt(document.forms[formname].elements[i].value) + "&";
			//alert(document.forms[formname].elements[i].type)
			//alert(document.forms[formname].elements[i].name);
		}
		//alert(url);
		//document.write(url);
		XMLList = mpxAjaxXmlLoad(url);
		//alert(XMLList.node);
		//alert(XMLList.childNodes[0].node);
		//alert(XMLList.childNodes[0].childNodes[0].node);
		//var s = new XMLSerializer();
		//if(bDebug)
			//alert(s.serializeToString(XMLList));

		i = 0;
		while(XMLList.getElementsByTagName("div")[i])
		{
			//alert("Div: " + XMLList.getElementsByTagName("div")[i].getAttribute("id"));
			//alert(s.serializeToString(XMLList.getElementsByTagName("div")[i]));
			//alert(s.serializeToString(XMLList.getElementsByTagName("div")[i].childNodes[0]));
			div = document.getElementById(XMLList.getElementsByTagName("div")[i].getAttribute("id"));
			if(div)
			{
				//für IE7 MUSS DAS ÜBER DEM FF STEHEN
				if (window.ActiveXObject)
				{
					//document.getElementById(divID).innerHTML = XMLList;
					// nur bei sortierbaren Liste muss das sortieren neu erzeugt werden
					//alert(divID);
					//if(divID == 'sortable_list') Sortable.create('publ_list');	
					
					if(0 && XMLList.getElementsByTagName("div")[i].childNodes[1])
					{
						if(bDebug)
							alert("child1");
							
						//div.innerHTML = s.serializeToString(XMLList.getElementsByTagName("div")[i].childNodes[1]);
						div.innerHTML = XMLList.getElementsByTagName("div")[i].childNodes[1];
					}
					else
					{
						if(bDebug)
							alert("all");
						//var s = new XMLSerializer();
						//alert(XMLList.getElementsByTagName("div")[i]);
						//alert(XMLList.getElementsByTagName("div")[i].xml);
						div.innerHTML = XMLList.getElementsByTagName("div")[i].xml;
						//alert("OK");
						//div.innerHTML = XMLList.getElementsByTagName("div")[i];
					}
				}						
				//FOR FF
				else if (window.XMLHttpRequest)
				{
					var s = new XMLSerializer();
					//alert(XMLList.getElementsByTagName("div")[i].childNodes[1]);
					if(0 && XMLList.getElementsByTagName("div")[i].childNodes[1])
					{
						if(bDebug)
							alert("child1");
							
						div.innerHTML = mpxAjaxHtmlEntityReplace(s.serializeToString(XMLList.getElementsByTagName("div")[i].childNodes[1]));
					}
					else
					{
						if(bDebug)
							alert("all");
						div.innerHTML = mpxAjaxHtmlEntityReplace(s.serializeToString(XMLList.getElementsByTagName("div")[i]));
					}
				}
				if(bDebug)
					alert("div found: " + XMLList.getElementsByTagName("div")[i].getAttribute("id"));
				/*if (window.XMLHttpRequest)
				{
					//alert(XMLList.getElementsByTagName("div")[i].childNodes[1]);
					if(0 && XMLList.getElementsByTagName("div")[i].childNodes[1])
					{
						if(bDebug)
							alert("child1");
						div.innerHTML = mpxAjaxHtmlEntityReplace(s.serializeToString(XMLList.getElementsByTagName("div")[i].childNodes[1]));
					}
					else
					{
						if(bDebug)
							alert("all");
						div.innerHTML = mpxAjaxHtmlEntityReplace(s.serializeToString(XMLList.getElementsByTagName("div")[i]));
					}
				}*/
			}
			i++;
		}
//		alert(XMLList.getElementsByTagName("div")[0].childNodes[0].nodeValue);
		// mit dem object XMLList sollte eine neue Liste aufgebaut werden 
		//div = document.getElementById("mpxDebugComment");
		//alert(div.firstChild.nodeValue);
		//div.innerHTML = s.serializeToString(XMLList);
		//alert(s.serializeToString(XMLList));
		// hier: textarea leeren
		//document.getElementsByName("text")[0].value = "";
		//alert("Danke, das haben wir gespeichert!");
		//alert(document.getElementById('ajaxLoader').style.display);
		if(document.getElementById('ajaxLoader').style.display != 'none')
			toggle('ajaxLoader');
		return false;
	}
	alert("unknown form '" + formname + "'");

	return false;
}

function mpxAjaxSubmitFormTMP(formname){
	bDebug	= false;
	if(bDebug)
		alert(formname);
	if(document.forms[formname])
	{
		url = document.forms[formname].action + "?";
		for (i = 0; i < document.forms[formname].elements.length; ++i)
		{
			if(document.forms[formname].elements[i].type == "checkbox")
			{
				if(document.forms[formname].elements[i].checked == true)
					url = url + document.forms[formname].elements[i].name + "=yes&";
			}
			else
				url = url + document.forms[formname].elements[i].name + "=" + mpxAjaxToCharEnt(document.forms[formname].elements[i].value) + "&";
			//alert(document.forms[formname].elements[i].type)
			//alert(document.forms[formname].elements[i].name);
		}
		//alert(url);
		//document.write(url);
		XMLList = mpxAjaxXmlLoad(url);
		//alert(XMLList.node);
		//alert(XMLList.childNodes[0].node);
		//alert(XMLList.childNodes[0].childNodes[0].node);
		var s = new XMLSerializer();
		if(bDebug)
			alert(s.serializeToString(XMLList));

		i = 0;
		while(XMLList.getElementsByTagName("div")[i])
		{
			//alert("Div: " + XMLList.getElementsByTagName("div")[i].getAttribute("id"));
			//alert(s.serializeToString(XMLList.getElementsByTagName("div")[i]));
			//alert(s.serializeToString(XMLList.getElementsByTagName("div")[i].childNodes[0]));
			div = document.getElementById(XMLList.getElementsByTagName("div")[i].getAttribute("id"));
			if(div)
			{
				if(bDebug)
					alert("div found: " + XMLList.getElementsByTagName("div")[i].getAttribute("id"));
				if (window.XMLHttpRequest)
				{
					//alert(XMLList.getElementsByTagName("div")[i].childNodes[1]);
					if(0 && XMLList.getElementsByTagName("div")[i].childNodes[1])
					{
						div.innerHTML = mpxAjaxHtmlEntityReplace(s.serializeToString(XMLList.getElementsByTagName("div")[i].childNodes[1]));
					}
					else
					{
						div.innerHTML = mpxAjaxHtmlEntityReplace(s.serializeToString(XMLList.getElementsByTagName("div")[i]));
					}
				}
			}
			i++;
		}
//		alert(XMLList.getElementsByTagName("div")[0].childNodes[0].nodeValue);
		// mit dem object XMLList sollte eine neue Liste aufgebaut werden 
		//div = document.getElementById("mpxDebugComment");
		//alert(div.firstChild.nodeValue);
		//div.innerHTML = s.serializeToString(XMLList);
		//alert(s.serializeToString(XMLList));
		// hier: textarea leeren
		//document.getElementsByName("text")[0].value = "";
		//alert("Danke, das haben wir gespeichert!");
		return false;
	}
	alert("unknown form '" + formname + "'");
	return false;
}
function mpxAjaxSubmitLink(url, deleteMsg, msg){
	bDebug	= false;
	var delMsg;
	var del;
	var go;
	if(deleteMsg) delMsg = deleteMsg;
	else delMsg = 'no';
	
	if(bDebug)
		alert(url);
	if(deleteMsg == 'yes') {
		//alert(msg);
		del = deleteMsgAjax(msg);
		//alert(del);
	}
	//alert(delMsg);
	//alert(del);
	
	//&& ((delMsg == 'yes' && del = 'true') or delMsg == 'no')
	
	// WENN URL VORHANDEN UND KEINE DELMSG AUSGEGEBEN WERDEN SOLL
	if(url && delMsg == 'no') {
		go = '1';
	}
	// WENN URL VORHANDEN UND EINE DELMSG AUSGEGEBEN WURDE UND DIE MIT YES BEANTWORTET WURDE
	else if (url && delMsg == 'yes' && del == true) {
		go = '1';
	}
	//SONST
	else {
		go = '0';
	}
	
	if(go == '1')
	{	
		//alert('hi');
		//document.write(url);
		XMLList = mpxAjaxXmlLoad(url);
		//alert(XMLList.node);
		//alert(XMLList.childNodes[0].node);
		//alert(XMLList.childNodes[0].childNodes[0].node);
			
		//var s = new http();
		//var s = new XMLSerializer();
		//if(bDebug)
			//alert(s.serializeToString(XMLList));

		i = 0;
		while(XMLList.getElementsByTagName("div")[i])
		{
			//alert("Div: " + XMLList.getElementsByTagName("div")[i].getAttribute("id"));
			//alert(s.serializeToString(XMLList.getElementsByTagName("div")[i]));
			//alert(s.serializeToString(XMLList.getElementsByTagName("div")[i].childNodes[0]));
			div = document.getElementById(XMLList.getElementsByTagName("div")[i].getAttribute("id"));
			if(div)
			{
				if(bDebug)
					alert("div found: " + XMLList.getElementsByTagName("div")[i].getAttribute("id"));
					
				/*
				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) {}
					}
				}					
				*/
				//für IE7 MUSS DAS ÜBER DEM FF STEHEN
				if (window.ActiveXObject)
				{
					//document.getElementById(divID).innerHTML = XMLList;
					// nur bei sortierbaren Liste muss das sortieren neu erzeugt werden
					//alert(divID);
					//if(divID == 'sortable_list') Sortable.create('publ_list');	
					
					if(0 && XMLList.getElementsByTagName("div")[i].childNodes[1])
					{
						if(bDebug)
							alert("child1");
							
						//div.innerHTML = s.serializeToString(XMLList.getElementsByTagName("div")[i].childNodes[1]);
						div.innerHTML = XMLList.getElementsByTagName("div")[i].childNodes[1];
					}
					else
					{
						if(bDebug)
							alert("all");
						//var s = new XMLSerializer();
						//alert(XMLList.getElementsByTagName("div")[i]);
						//alert(XMLList.getElementsByTagName("div")[i].xml);
						div.innerHTML = XMLList.getElementsByTagName("div")[i].xml;
						//alert("OK");
						//div.innerHTML = XMLList.getElementsByTagName("div")[i];
					}
				}						
				//FOR FF
				else if (window.XMLHttpRequest)
				{
					var s = new XMLSerializer();
					//alert(XMLList.getElementsByTagName("div")[i].childNodes[1]);
					if(0 && XMLList.getElementsByTagName("div")[i].childNodes[1])
					{
						if(bDebug)
							alert("child1");
							
						div.innerHTML = s.serializeToString(XMLList.getElementsByTagName("div")[i].childNodes[1]);
					}
					else
					{
						if(bDebug)
							alert("all");
						div.innerHTML = s.serializeToString(XMLList.getElementsByTagName("div")[i]);
					}
				}
								
			}
			i++;
		}
//		alert(XMLList.getElementsByTagName("div")[0].childNodes[0].nodeValue);
		// mit dem object XMLList sollte eine neue Liste aufgebaut werden 
		//div = document.getElementById("mpxDebugComment");
		//alert(div.firstChild.nodeValue);
		//div.innerHTML = s.serializeToString(XMLList);
		//alert(s.serializeToString(XMLList));
		// hier: textarea leeren
		//document.getElementsByName("text")[0].value = "";
		//alert("Danke, das haben wir gespeichert!");
		//return false;
	}
	//alert("unknown form '" + formname + "'");
	//alert(document.getElementById('ajaxLoader').style.display);
	if(document.getElementById('ajaxLoader').style.display == 'block')
		toggle('ajaxLoader');	
	return false;
}

function mpxAjaxSubmitLinkTMP(url){
	bDebug	= true;
	if(bDebug)
		alert(url);
	if(url)
	{
		//document.write(url);
		XMLList = mpxAjaxXmlLoad(url);
		//alert(XMLList.node);
		//alert(XMLList.childNodes[0].node);
		//alert(XMLList.childNodes[0].childNodes[0].node);
		var s = new XMLSerializer();
		if(bDebug)
			alert(s.serializeToString(XMLList));

		i = 0;
		//while(XMLList.getElementsByTagName("div")[i])
		//alert(XMLList.firstChild.nodeName);
		//alert(XMLList.firstChild.firstChild.childNodes[0]);
		//alert(XMLList.getElementsByTagName("root")[0].firstChild);
		//alert(XMLList.getElementsByTagName("root")[0].childNodes[0]);
		//alert(XMLList.childNodes[1]);
		while(XMLList.getElementsByTagName("root")[0].childNodes[i])
		{
			//alert(XMLList.getElementsByTagName("root")[0].childNodes[i].nodeName);
			if(XMLList.getElementsByTagName("root")[0].childNodes[i].nodeName != "div")
			//if(0 && XMLList.getElementsByTagName("div")[i].parent != XMLList.firstChild)
			{
				i++;
				continue;
			}
			//alert("Div: " + XMLList.getElementsByTagName("div")[i].getAttribute("id"));
			//alert(s.serializeToString(XMLList.getElementsByTagName("div")[i]));
			//alert(s.serializeToString(XMLList.getElementsByTagName("div")[i].childNodes[0]));
			//div = document.getElementById(XMLList.getElementsByTagName("div")[i].getAttribute("id"));
			//div = XMLList.firstChild.childNodes[i].nodeName.getAttribute("id");
			//div = XMLList.getElementsByTagName("root")[0].childNodes[i].getAttribute("id");
			div = document.getElementById(XMLList.getElementsByTagName("root")[0].childNodes[i].getAttribute("id"));
			if(div)
			{
				if(bDebug)
					alert("div found: " + XMLList.getElementsByTagName("root")[0].childNodes[i].getAttribute("id"));
				if (window.XMLHttpRequest)
				{
					//alert(XMLList.getElementsByTagName("root")[0].childNodes[i].childNodes[1]);
					//if(XMLList.getElementsByTagName("div")[i].childNodes[1])
					if(XMLList.getElementsByTagName("root")[0].childNodes[i].childNodes[1])
					{
						//div.innerHTML = s.serializeToString(XMLList.getElementsByTagName("div")[i].childNodes[1]);
						div.innerHTML = s.serializeToString(XMLList.getElementsByTagName("root")[0].childNodes[i].childNodes[1]);
					}
					else
					{
						//alert(XMLList.getElementsByTagName("root")[0].childNodes[i]);
						div.innerHTML = s.serializeToString(XMLList.getElementsByTagName("root")[0].childNodes[i]);
						//div.innerHTML = s.serializeToString(XMLList.getElementsByTagName("div")[i]);
					}
				}
			}
			i++;
		}
//		alert(XMLList.getElementsByTagName("div")[0].childNodes[0].nodeValue);
		// mit dem object XMLList sollte eine neue Liste aufgebaut werden 
		//div = document.getElementById("mpxDebugComment");
		//alert(div.firstChild.nodeValue);
		//div.innerHTML = s.serializeToString(XMLList);
		//alert(s.serializeToString(XMLList));
		// hier: textarea leeren
		//document.getElementsByName("text")[0].value = "";
		//alert("Danke, das haben wir gespeichert!");
		//return false;
	}
	//alert("unknown form '" + formname + "'");
	return false;
}
/* SUbmitForm Funktionen */
function mpxAjaxSubmitFormComment(formname){
	//alert(formname);
	if(document.forms[formname])
	{
		url = document.forms[formname].action + "?";
		for (i = 0; i < document.forms[formname].elements.length; ++i)
		{
			if(document.forms[formname].elements[i].type == "checkbox")
			{
				if(document.forms[formname].elements[i].checked == true)
					url = url + document.forms[formname].elements[i].name + "=yes&";
			}
			else
				url = url + document.forms[formname].elements[i].name + "=" + document.forms[formname].elements[i].value + "&";
			//alert(document.forms[formname].elements[i].type)
			//alert(document.forms[formname].elements[i].name);
		}
		//alert(url);
		//document.write(url);
		XMLList = mpxAjaxXmlLoad(url);
		// mit dem object XMLList sollte eine neue Liste aufgebaut werden 
		div = document.getElementById("mpxDebugComment");
		//alert(div.firstChild.nodeValue);
		//alert(XMLList);
		if (window.XMLHttpRequest)
		{
			if (typeof XMLSerializer == "undefined")
			{
				div.innerHTML = XMLList;
			}
			else
			{
				var s = new XMLSerializer();
				div.innerHTML = s.serializeToString(XMLList);
			}
			//alert(s.serializeToString(XMLList));
		}
		//FOR IE
		else if (window.ActiveXObject)
		{
			div.innerHTML = XMLList;
		}
		// hier: textarea leeren
		//alert(document.getElementsByTagName('textarea')item[0].value);
		document.getElementsByName("text")[0].value = "";
		alert("Danke, das haben wir gespeichert!");
		return false;
	}
	alert("unknown form '" + formname + "'");
	return false;
}
function mpxAjaxSubmitFormChat(formname, CountDown, first){
	//debug='1';
	//alert("isNew: "+ isNew);
	if(debug=='1') alert(formname);
	//alert(document.forms[formname].action);
	if(document.forms[formname])
	{
//			url = /*document.forms[formname].action +*/ "http://195.96.33.223/comas/c3/licence/offenbach/mpx.chat.seminar.php?mode=servlet&submode=chat&xsl=mpx.template.servlet.chat.xsl&";
		url = document.forms[formname].action + "/mpx.chat.seminar.php?mode=servlet&submode=chat&xsl=mpx.template.servlet.chat.xsl&";
		var nickname;
		var userId = 0;
		var isFirst;
		for (i = 0; i < document.forms[formname].elements.length; ++i)
		{
			/*if(document.forms[formname].elements[i].type == "checkbox")
			{
				if(document.forms[formname].elements[i].checked == true)
				url = url + document.forms[formname].elements[i].name + "=yes&";
			}*/
			if(document.forms[formname].elements[i].name == "seminar")
			{
				url = url + "seminar=" + document.forms[formname].elements[i].value + "&";
			}
			if(document.forms[formname].elements[i].name == "nickname")
			{
				nickname = "<b>" +document.forms[formname].elements[i].value + "::</b> ";
			}
			if(document.forms[formname].elements[i].name == "userId")
			{
				userId = document.forms[formname].elements[i].value;
			}
			if(document.forms[formname].elements[i].name == "chatAjax[value][1]" && document.forms[formname].elements[i].value != "" && CountDown != "1")
			{
				if(debug=='1') alert(document.forms[formname].elements[i].value);
				var chat1 = mpxAjaxToCharEnt(document.forms[formname].elements[i].value);
				if(debug=='1') alert('return von stringersetzung' + chat1);
				url = url + "chat=" + nickname + chat1 + "&user=" + userId + "&"; 
				if (document.forms[formname].elements[i].value != "")document.forms[formname].elements[i].value = "";
			}
				
			//else
			//url = url + document.forms[formname].elements[i].name + "=" + document.forms[formname].elements[i].value + "&";*/
			//alert(document.forms[formname].elements[i].type)
			//alert(document.forms[formname].elements[i].name);
		}		
		if(CountDown == '1')
		{
			if(first == 'yes')
			{
				url = url + "user=" + userId + "&first=yes";
			}
			else {
				url = url + "user=" + userId + "&";
			}
			if(debug=='1') alert(' URL: '+url);					
		}				
		if(debug=='1') alert(url);
		if(debug=='1') alert('rufe xml_load auf');
		//document.write(url);			
		XMLList = mpxAjaxXmlLoad(url);
		if(debug=='1') alert('hallo nach XMLList');
		// mit dem object XMLList sollte eine neue Liste aufgebaut werden 
		div = document.getElementById("chatContainer");
		if(debug=='1') alert(div);
		if(debug=='1') alert(XMLList);
		if (window.XMLHttpRequest)
		{
			if (typeof XMLSerializer == "undefined")
			{
				div.innerHTML = XMLList;
			}
			else
			{
				var s = new XMLSerializer();
				var serializedString	= mpxAjaxHtmlEntityReplace(s.serializeToString(XMLList));
				div.innerHTML = serializedString;
				//alert(s.serializeToString(XMLList));				
			}
		}
		//FOR IE
		else if (window.ActiveXObject)
		{
			
			div.innerHTML = mpxAjaxHtmlEntityReplace(XMLList);
			//div.innerHTML =XMLList.responseText		  	
		}
		// hier: textarea leeren
		//document.getElementsByName("text")[0].value = "";
		//alert("Danke, das haben wir gespeichert!");
		return false;
	}
	alert("unknown form '" + formname + "'");
	return false;
}	
function mpxAjaxSubmitFormChatCountDown(msecs, formname, first) {
	if(debug=='1') alert(msecs);
	mpxAjaxSubmitFormChat(formname, '1', first);
	window.setTimeout("mpxSubmitFormXMLChat_CountDown('"+ msecs +"','"+ formname +"')",msecs); 
}
function mpxAjaxSubmitTextline(inputname,input,parameter){
	var url = "/mpx.ajax.test.username.php" + "?"+parameter+"=" + input;
	var inputValue = document.getElementById(inputname).value;
	if(inputValue != "")
	{
		//alert(document.getElementById(inputname).value);
		//alert(url);
		XMLList = mpxAjaxXmlLoad(url);
		if(debug=='1') alert("mpxAjaxSubmitTextline 1 : "+XMLList);
		//var s = new XMLSerializer();
		//alert(s.serializeToString(XMLList));
		var x = XMLList.getElementsByTagName("result")[0].firstChild;
		if(debug=='1') alert("mpxAjaxSubmitTextline 2 : "+x.nodeName);
		if (x.nodeName == "no"){
			if(debug=='1') alert("yes");
			return true;			
		}
		else {
			if(debug=='1') alert("no");
			return false;		
		}
	}
}
function mpxAjaxSubmitRating(stars,type,session,id,divAverage,divMsg,divCounter){
	var url = "/mpx.ajax.rating.php" + "?stars="+stars+"&type="+type+"&session="+session+"&id="+id;
	XMLList = mpxAjaxXmlLoad(url);
	if(XMLList.getElementsByTagName("result")[0])
		var x = XMLList.getElementsByTagName("result")[0].firstChild;
	else
		var x = XMLList.firstChild;
	var average = x.getAttribute('average') + " / 5";
	var msg = x.getAttribute('msg');	
	var counter = x.getAttribute('counter');
	//alert(average+" msg "+msg+" counter "+counter);
	//alert(x);
	switch(msg) 
	{
		case 'unknown':
			document.getElementById(divMsg).innerHTML = 'Ups, there has an error occured.';
			break;
				
		case 'noSession':
			document.getElementById(divMsg).innerHTML = 'Bitte loggen Sie sich ein um bewerten zu können.';
			break;
			
		case 'ownStuff':
			document.getElementById(divMsg).innerHTML = 'Sie können Ihre eigenen Beiträge nicht bewerten.';
			break;
			
		case 'notExistant':
			document.getElementById(divMsg).innerHTML = 'This content is no longer available.';
			break;
		case 'alreadyVoted':
			document.getElementById(divMsg).innerHTML = 'You already rated this design.';
			break;
		case 'thanx':
			document.getElementById(divAverage).innerHTML = average;
			document.getElementById(divMsg).innerHTML = 'Thank you for your rating.';
			document.getElementById(divCounter).innerHTML = counter;
			break;
		default:
			document.getElementById(divMsg).innerHTML = 'Ups, there has an unknown error occured.';
	}

}
function mpxAjaxSubmitMisusage(type,session,id,divForm){
	//alert(divForm);	
	var url = "/mpx.ajax.misusage.php" + "?type="+type+"&session="+session+"&id="+id;
	XMLList = mpxAjaxXmlLoad(url);
	
	var x = XMLList.getElementsByTagName("forms")[0].firstChild;
	var s = new XMLSerializer();
	//alert(s.serializeToString(XMLList));	
	document.getElementById(divForm).innerHTML = s.serializeToString(XMLList);
	//document.getElementById(divForm).innerHTML = x;
	transform(XMLList,'ajaxtest.xsl',divForm);

	//alert(htmlString);
}
function mpxAjaxSubmitErfahrungMarkieren (type,session,id,divForm){
	//alert(divForm);	
	var url = "/mpx.ajax.erfahrungMarkieren.php" + "?type="+type+"&session="+session+"&id="+id;
	XMLList = mpxAjaxXmlLoad(url);
	
	var x = XMLList.getElementsByTagName("forms")[0].firstChild;
	var s = new XMLSerializer();
	//alert(s.serializeToString(XMLList));	
	document.getElementById(divForm).innerHTML = s.serializeToString(XMLList);
	//document.getElementById(divForm).innerHTML = x;
	transform(XMLList,'ajax.erfahrungMarkieren.xsl',divForm);

	//alert(htmlString);
}

/* 
	deleteMsg
	Warnung Popup z.b beim Löschen 
	Aufruf:
	onclick="return  deleteMsg('{//data[@name = 'language.teacher.list']/child::*[@name = 'deleteMsg']}');"
*/
function deleteMsgAjax(msgData) {
	Check = confirm(msgData);
	if (Check == false) return false;
	return true;
}

/*
var xslStylesheet;
var xsltProcessor = new XSLTProcessor();
var myDOM;

var xmlDoc;

function transform(source,stylesheet,div){
	document.getElementById(div).innerHTML = "";
	if(document.implementation && document.implementation.createDocument)
	{

		// load the xslt file
		var myXMLHTTPRequest = new XMLHttpRequest();
		myXMLHTTPRequest.open("GET", stylesheet, false);
		myXMLHTTPRequest.send(null);
		//alert(document);
		xslStylesheet = myXMLHTTPRequest.responseXML;
		xsltProcessor.importStylesheet(xslStylesheet);

		// load the xml file
		//myXMLHTTPRequest = new XMLHttpRequest();
		//myXMLHTTPRequest.open("GET", source, false);
		//myXMLHTTPRequest.send(null);
		//xmlDoc = myXMLHTTPRequest.responseXML;
		xmlDoc = source;
		
		//alert(xmlDoc);

		//transform
		var fragment = xsltProcessor.transformToFragment(xmlDoc, document);

		document.getElementById(div).innerHTML = "";

		myDOM = fragment;
		//alert(fragment);
		document.getElementById(div).appendChild(fragment);
	}
	else if(window.ActiveXObject)
	{
		// IE

		// Load XML
		xml = new ActiveXObject("MSXML2.DOMDocument");
		xml.async = false
		xml.load(source)

		// Load XSL
		xsl = new ActiveXObject("MSXML2.DOMDocument");
		xsl.async = false
		xsl.load(stylesheet)

		// Transform
		document.getElementById(div).innerHTML=xml.transformNode(xsl);
	}
	else
	{
		// Browser unknown
		alert("Browser unknown");
	}
}
*/

