var m2ws_nextAction=null;
var m2ws_ajaxcommunicator='/m2ws/application/common/classes/communicate.php';
var m2ws_downloadpath='/m2ws/application/common/classes/download.php';
var m2ws_rols;
var m2ws_seedid;
var m2ws_hasSeed = false;
var m2ws_loggedIn = false;
var m2ws_seed_id = 0;
var m2ws_seed = 0;
var m2ws_s_id=null;
var m2ws_selectedRole='';
var m2ws_selectedRoleId=0;
var m2ws_username;
var m2ws_userpass;
m2ws_mods=new Array();
var m2ws_old_mods=null;
var m2ws_modsIndex=0;
var m2ws_xmlConfigPath='/m2ws/application/redaktion/xml/';
var m2ws_rolsArray=new Array();
var m2ws_rolsArrayIndex=0;
var m2ws_edit=false;
var m2ws_webapp=null;
var m2ws_AvailableModuls;
var m2ws_availableviews;
var m2ws_scriptpathstring="";
var m2ws_newmod;
var m2ws_modhistlist;
var m2ws_modhistsource;
var m2ws_modsources;
var m2ws_linktypelist;
var m2ws_globvars="";
var m2ws_edtmodulesource;
var m2ws_textImageData="";
var m2ws_editableFont=false;
var m2ws_mainmenueinstance=0;
var m2ws_mainmenueedit=false;
var m2ws_directJSFont=true;
var m2ws_activeMainnavSubentry=false;
var m2ws_redirectView;
var m2ws_allModIds;
var axpw_imageinfo;
//onerror=exfoerr

if (moz){
		emulateHTMLModel();
	}

window.onscroll= function(){
	m2ws_resizeBody();
}

function exfoerr(msg,url,line){
	//alert("Die von Ihnen gewählte Funktion steht in der Demo-Version nicht zur Verfügung.")
	return true;
}

var toggle = false;
		
function m2ws_init_webapp( dbg ) {
	m2ws_webapp = new webapplication();
	m2ws_webapp.init( dbg );
	if(m2ws_mods.length>0){
		//39,204,205
			m2ws_displayLoading('m2ws_wait_loading',250,200,200,39);
	}
}
		
function m2ws_replaceUml(data){
	var arrSpecials = ["ä", "ö", "ü", "Ä", "Ö", "Ü", "ß","\u00B4","\u00A9","³","®","\u201E","\u201C","\u20ac","\u2013","\u2122","§","&auml;", "&ouml;", "&uuml;", "&Auml;", "&Ouml;", "&Uuml;", "&szlig;","&copy;","&nbsp;","&sup3;","&reg;","&bdquo;","&ldquo","&euro;","&ndash;","&ndash;","&trade;","&sect;"];
	var arrReplace = ["#auml;", "#ouml;", "#uuml;", "#Auml;", "#Ouml;", "#Uuml;", "#szlig;","#acute;","#copy;","#sup3;","#reg;","#bdquo;","#ldquo;","#euro;","#ndash;","#trade;","#sect;","#auml;", "#ouml;", "#uuml;", "#Auml;", "#Ouml;", "#Uuml;", "#szlig;","#copy;","#nbsp;","#nbsp;","#sup3;","#reg;","#bdquo;","#ldquo","#euro;","#ndash;","#ndash;","#trade;","#sect;"];
	for(var i=0; i<arrSpecials.length; i++){
    // Sonderzeichen maskieren
    	data = data.replace(eval("/\\"+ arrSpecials[i]+"/g"), arrReplace[i]);
  	}
  	return data;
}

function m2ws_htmlEscape(s){
	var div=document.createElement("div");
	div.appendChild(document.createTextNode(s));
	return div.innerHTML;
}

function m2ws_rereplaceUml(data){
	var arrSpecials = ["ä", "ö", "ü", "Ä", "Ö", "Ü", "ß","´","©","³","®","„","“","€","–","™","§"];
	var arrReplace = ["#auml;", "#ouml;", "#uuml;", "#Auml;", "#Ouml;", "#Uuml;", "#szlig;","#acute;","#copy;","#sup3;","#reg;","#bdquo;","#ldquo;","#euro;","#ndash;","#trade;","#sect;"];
	for(var i=0; i<arrReplace.length; i++){
    // Sonderzeichen maskieren
    	data = data.replace(eval("/\\"+ arrReplace[i]+"/g"), arrSpecials[i]);
  	}
	data=data.replace(/&lt;/g,'<');
	data=data.replace(/&gt;/g,'>');
  	return data;
}

function m2ws_findViewModuls(){
	var hidMods=new Array();
	var mods=document.getElementsLikeId("module_");
	for (var i=0;i<mods.length;i++){
		if (mods[i].className=="m2ws_hiddenModule"){
			hidMods.push(mods[i])
		}
	}

	return hidMods;

}

function m2ws_openLink(type,target,option){
	//alert(type+" - "+target+" - "+option);
	var redir=""; 
	if(m2ws_edit){
		//TODO: aus Datenbank auslesen
		var firstpart="/m2ws/application";
		var insertpart="/rc/"+document.getElementById("r_username").innerHTML;
		var hash=window.location.hash;
	}
	switch (type) {
    case "outerlink": 
    	window.open(option,'mywindow','width=800,height=600,toolbar=no,location=yes,directories=yes,status=yes,menubar=no,scrollbars=yes,copyhistory=yes,resizable=yes');
        break;
    case "innerlink": 
    	//alert("edit ? :"+m2ws_edit+" open Link - type:"+type+" target:"+target+" option:"+option);
    	if(m2ws_edit){
    		redir=option.replace(firstpart,firstpart+insertpart)+hash;
    		redir=redir.replace("#","?");
    		window.location.href=redir;
    	}else{
    		window.location.href=option.replace('/index.php','');
    	}
        break;
    case "popup": 
    	window.open(option,'mywindow','width=800,height=600,toolbar=no,location=yes,directories=yes,status=yes,menubar=no,scrollbars=yes,copyhistory=yes,resizable=yes');
        break;
    case "popup1": 
    	window.open(target,'mywindow','width=800,height=600,toolbar=no,location=yes,directories=yes,status=yes,menubar=no,scrollbars=yes,copyhistory=yes,resizable=yes');
        break;

    case "changemodule": 
    	//alert("changemodule --> open Link - type:"+type+" option:"+option);
    	var vmods=m2ws_findViewModuls();
    	for (var i=0;i<vmods.length;i++){
    		if (vmods[i].className=="m2ws_hiddenModule"){
    			vmods[i].style.display='none';
    		}
    	}
    	document.getElementById(option).style.display='block';
        break;
    case "insertmodule": 
    	alert("open Link - type:"+type+" option:"+option);
        break;
    case "newview": 
    	m2ws_nextAction=m2ws_verifyUserRights;
		document.getElementById("showid").innerHTML=option;
		document.getElementById("modulesid").innerHTML=option;
		if(typeof promo_time){promo_time=0;}
		m2ws_removejscssfile("promo_000000.js", "js");
		//entferne alle module aus der Anzeige
		m2ws_webapp = new webapplication();
		m2ws_webapp.init( false );
		for(var i=0;i<m2ws_mods.length-1;i++){
			m2ws_webapp.remove_Modules(m2ws_mods[i].area);
		}
		m2ws_modsIndex=0;
		m2ws_mods=new Array();
		m2ws_makeRequest(m2ws_ajaxcommunicator,"text","getModuls","viewid="+option,true);
        break;
    case "download": 
    	window.open(m2ws_downloadpath+'?id='+option,'mywindow','width=800,height=600,toolbar=no,location=yes,directories=yes,status=yes,menubar=no,scrollbars=yes,copyhistory=yes,resizable=yes');
        break;
    case "mail": 
    	emailForm(option);
        break;
    case "imgpopup":
    	var MyWin=window.open('','test','width=1063,height=1063');
	var imgsrc='<img src=\"/m2ws/application/common/classes/img.php?id=824\" id=\"popup_image\" width=\"1063\" height=\"1063\" border=\"0\" alt=\"\">';
    	with(MyWin.document)
		{
			open();
			write('<html><head></head><body>'+imgsrc+'</body></html>');
			close();
		}

    	break;
    default: 
    	if(m2ws_edit){
    		redir=option.replace(firstpart,firstpart+insertpart)+hash;
    		redir=redir.replace("#","?");
    		window.location.href=redir;
    	}else{
    		window.location.href=option.replace('/index.php','');
    	}
        break;
  }
	
}

function emailForm(email){

	var daReferrer = document.referrer;
	//var email = "yours@email.com";
	
	var subject = "";
	var body_message = "";

	var mailto_link = 'mailto:'+email+'?subject='+subject+''+body_message;

	win = window.open(mailto_link,'emailWindow');
	if (win && win.open &&!win.closed) win.close();
	} 

function m2ws_load_webapp(){
	var modstring="";
	var seite=document.getElementById("showid").innerHTML;
	//alert(m2ws_mods.length);
	for(var i=0;i<m2ws_mods.length-1;i++){
				m2ws_webapp.loads_ModuleCache(seite,m2ws_mods[i].area,m2ws_mods[i].modid,m2ws_mods[i].pos,m2ws_edit,m2ws_username,0,m2ws_mods[i].type);
				modstring+="'"+m2ws_mods[i].modid+"',";
	}
	//alert(modstring);
	if(m2ws_mods.length>0){
		m2ws_nextAction=m2ws_insertScripts;
		var query="path="+window.location.pathname+"&modids="+modstring.substr(0,modstring.length-1)+"&seite="+seite;
		//alert(query);
		m2ws_makeRequest(m2ws_ajaxcommunicator,"text","getModscripts",query,true);
	}
}

function m2ws_load_webapp(){
	var modstring="";
	var seite=document.getElementById("showid").innerHTML;
	//alert(m2ws_mods.length);
	for(var i=0;i<m2ws_mods.length-1;i++){
				m2ws_webapp.loads_ModuleCache(seite,m2ws_mods[i].area,m2ws_mods[i].modid,m2ws_mods[i].pos,m2ws_edit,m2ws_username,0,m2ws_mods[i].type);
				modstring+="'"+m2ws_mods[i].modid+"',";
	}
	//alert(modstring);
	if(m2ws_mods.length>0){
		m2ws_nextAction=m2ws_insertScripts;
		var sid=document.getElementById("siteid").innerHTML;
		var query="path="+window.location.pathname+"&modids="+modstring.substr(0,modstring.length-1)+"&seite="+seite+"&sid="+sid;
		//alert(query);
		m2ws_makeRequest(m2ws_ajaxcommunicator,"text","getModscripts",query,true);
	}
}

function m2ws_insertScripts(){
	m2ws_nextAction=null;
	if(m2ws_scriptpathstring!=""){
		var arrScriptPath=m2ws_scriptpathstring.split(",");
		var filename;
		var filetype;
		for(var i=0;i<arrScriptPath.length;i++){
			filename=arrScriptPath[i];
			filetype=filename.substr(filename.lastIndexOf(".")+1);
			m2ws_loadjscssfile(filename, filetype);
		}
	}
	if(m2ws_globvars!=""){
		var a_filename=filename.split("/mods/");
		m2ws_loadjscssfile(a_filename[0]+"/m2ws_global.js", "js");
		m2ws_globvars="";
	}
	m2ws_allModIds="";
	for(var i=0;i<m2ws_mods.length-1;i++){
		m2ws_allModIds+=m2ws_mods[i].modid+",";
	}

	for(var i=0;i<m2ws_mods.length-1;i++){
		//log.info(m2ws_mods[i].modid+" - "+i);
		if(m2ws_mods[i].segment>0){
			if(parseInt(m2ws_mods[i].sort)>parseInt(m2ws_mods[i].segment)){
				if(m2ws_mods[i].sort%m2ws_mods[i].segment==1){
					string="<div class=\"rowsep\" style=\"width:780px;\"><div style=\"clear:both;height:5px;border-bottom:1px solid #DADADA;\">&nbsp;</div>";
					string+="<div style=\"clear:both;height:10px;\">&nbsp;</div></div>";
					//string="<div style=\"position:relative;width:779px;\"><div style=\"clear:both;height:10px;border-bottom:1px solid #DADADA;\">&nbsp;</div>";
					//string+="<div style=\"clear:both;height:10px;\">&nbsp;</div></div>";
					document.getElementById(m2ws_mods[i].area).insertAdjacentHTML("BeforeEnd",string);
				}
			}
		}
		m2ws_webapp.loads_Module(m2ws_mods[i].area,m2ws_mods[i].modid,m2ws_mods[i].pos,m2ws_edit,m2ws_username,m2ws_mods[i].type);
	}
	m2ws_deleteLoading('m2ws_wait_loading');
	m2ws_resizeBody();
	if(m2ws_edit){
		m2ws_displayInsertBar();
	}
}

function m2ws_checkCompleteDisplay(modid){
	m2ws_allModIds=m2ws_allModIds.replace(modid+",","");
	if(m2ws_edit){
	}else{
		
		//document.body.removeAttribute("onLoad");
		if(m2ws_allModIds==""){
			
			m2ws_nextAction=null;
			var mods=document.getElementsLikeId("module_");
			for(var i=0;i<mods.length;i++){
				var modid=mods[i].id;
				var div=document.createElement("div");
				div.style.display="none";
				div.id=modid+"_";
				div.innerHTML=modid;
				document.getElementById(modid).parentNode.insertBefore(div,document.getElementById(modid));
				document.getElementById(modid).parentNode.removeChild(document.getElementById(modid));
				document.getElementById(modid+"_").id=modid;
			}
			var body=m2ws_replaceUml(m2ws_tidy_body(document.getElementsByTagName("body")[0].outerHTML));
			body=body.replace("onload=m2ws_bodyok();","");
			body=body.replace("onload=\"m2ws_bodyok();\"","");
			//body=body.replace("onresize=m2ws_resizeBody()","");
			//body=body.replace("onresize=\"m2ws_resizeBody()\"","");
			m2ws_nextAction=null;
			
			var query='viewid='+document.getElementById("showid").innerHTML+"&sid="+document.getElementById("siteid").innerHTML+"&body="+body;
			m2ws_makeRequest(m2ws_ajaxcommunicator,"text","writeLiveCache",query,true);
			window.location.href=window.location.href;
		}


	}
}

function m2ws_tidy_body(string){

	var s=" (type)=(\\s*(\"\"[^\";\"]*\"\"|[^\\s>]*))?";
	var re = new RegExp(s, "g");
  	string = string.replace(re,' $1="$2" ');
	var s=" (id)=(\\s*(\"\"[^\";\"]*\"\"|[^\\s>]*))?";
  	var re = new RegExp(s, "g");
  	string = string.replace(re,' $1="$2" ');
	s="(class)=(\\s*(\"\"[^\";\"]*\"\"|[^\\s>]*))?";
  	re = new RegExp(s, "g");
	string= string.replace(re,' $1="$2" ');
	string= string.replace(/\"\"/g,"\"");
	outstring=string.replace (/^\s+/, '').replace (/\s+$/, '');
	return outstring;
}

function m2ws_displayLoading(id,L,T,width,img) {
	//var LR='<img id='+id+' src="/m2ws/application/common/classes/img.php?id='+img+'" width="'+width+'" onload=m2ws_load_webapp() style="width:'+width+' px;position:absolute;z-index:99;top:'+T+'px;left:'+L+'px"/>';
	//document.body.insertAdjacentHTML("BeforeEnd",LR);
	m2ws_load_webapp();
}

function m2ws_deleteLoading(id) {
	var img=document.getElementById(id);
	if(img){
		img.parentNode.removeChild(img);
	}
	
}

function m2ws_displayInsertBar(){
	if(document.getElementById("lytarea_col_left_3sp")){
		document.getElementById("lytarea_col_left_3sp").style.borderBottom="10px solid lightgray";
	}
	if(document.getElementById("lytarea_col_left_1sp")){
		document.getElementById("lytarea_col_left_1sp").style.borderBottom="10px solid lightgray";
	}
	if(document.getElementById("lytarea_col_right_1sp")){
		document.getElementById("lytarea_col_right_1sp").style.borderBottom="10px solid lightgray";
	}
	if(document.getElementById("lytarea_col_right_3sp")){
		document.getElementById("lytarea_col_right_3sp").style.borderBottom="10px solid lightgray";
	}
	if(document.getElementById("lytarea_col_middle_2sp")){
		document.getElementById("lytarea_col_middle_2sp").style.borderBottom="10px solid lightgray";
	}
}

function m2ws_rolspackage(roleid,role,appname,appurl){
	this.roleid=roleid;
	this.role=role;
	this.appname=appname;
	this.appurl=appurl;
}

function m2ws_setRolsArray(roleid,role,appname,appurl){
	m2ws_rolsArray[m2ws_rolsArrayIndex++]= new m2ws_rolspackage(roleid,role,appname,appurl);
}

function m2ws_ModInfos(area,modid,pos,resize,segment,resizevalue,resizestandart,sort,type){
	this.area=area;
	this.modid=modid;
	this.pos=pos;
	this.resize=resize;
	this.segment=segment;
	this.resizevalue=resizevalue;
	this.resizestandart=resizestandart;
	this.sort=sort;
	this.type=type;
}

function m2ws_setModInfos(area,modid,pos,resize,segment,resizevalue,resizestandart,sort,type){
	m2ws_mods[m2ws_modsIndex++]= new m2ws_ModInfos(area,modid,pos,resize,segment,resizevalue,resizestandart,sort,type);
}

function m2ws_resetModInfos(){
	m2ws_modsIndex=0;
	m2ws_mods=new Array();
}

function m2ws_bodyok(){
	m2ws_edit=m2ws_getQueryData('edit');
		//if(m2ws_edit=="true"){
			m2ws_nextAction=m2ws_verifyPage;
			m2ws_pageData();
		//}
}

function m2ws_resizeBody(){
	if(ie){
		var frame=document.getElementById("lytarea_index_main");
		var htmlHeight=document.body.parentNode.scrollHeight;
		var windowheight=window.innerHeight;
		var scroll=document.documentElement.scrollTop;
		var mbody=(document.compatMode&&document.compatMode!="BackCompat")? document.documentElement:document.body;
		if(htmlHeight<frame.offsetHeight){
			//document.body.style.height=eval(parseInt(frame.offsetHeight)+parseInt(scroll)+30)+'px';
			document.body.style.height=(htmlHeight+scroll)+'px';
			//document.getElementsByTagName("html")[0].style.height='2000px';
			//document.body.style.height='2000px';
		}
		//alert(htmlHeight+scroll);
		//alert(eval(parseInt(frame.offsetHeight)+parseInt(scroll)+30)+'px');
		//document.getElementById("lytarea_row_content_large").innerHTML=document.getElementById("lytarea_row_content_large").innerHTML+'<br>'+eval(parseInt(frame.offsetHeight)+parseInt(scroll))+'px';
		/*
		if(htmlHeight<frame.style.height){
			document.body.style.height=parseInt((frame.style.height).replace('px',''))+scroll+'px';
		}*/
		
	}
}

function m2ws_addModInfos(){
	var resize=new Array();
	for(var i=0;i<(m2ws_mods.length-1);i++){
		if(m2ws_mods[i].resize!='none'){
			if(!resize[m2ws_mods[i].area]){
				resize[m2ws_mods[i].area]=m2ws_mods[i].resize;
				if(m2ws_mods[i].resize=="width"){
					
				}else if(m2ws_mods[i].resize=="height"){
					//document.getElementById(m2ws_mods[i].area).style.height=m2ws_mods[i].resizevalue;
				}
			}
		}

	}
	
	m2ws_nextAction=null;
	if(document.getElementById("applicationid").innerText!="0"){
		m2ws_init_webapp( false );
	}
}


function m2ws_verifyPage(){
	m2ws_nextAction=null;
	if(sitedata[3]=='1'&&sitedata[4]=='1'){
		m2ws_createFields();
	}else{
		document.body.innerHTML='<br><br><CENTER>Die Seite ist ausser Betrieb</CENTER>';
	}
}

function m2ws_pageData(){
	var curl=window.location.href;
	if(curl.indexOf("?")>-1){
		window.location.href=(window.location.href).replace("?","#");
	}
	var cleanURL=curl.substr(curl.indexOf('//')+2);
	var url=cleanURL.split('/')[0];
	var hash=window.location.hash;
	var user="";
	if(hash!=""){
		hash=hash.replace("#","");
		var a_hash=hash.split("&");
		for(var i=0;i<a_hash.length;i++){
			var line=a_hash[i].split("=");
			if(line[0]=="user"){
				user=line[1];
				break;
			}
		}
	}
	var query='url='+url+'&path='+window.location.pathname+'&user='+user;
	m2ws_makeRequest(m2ws_ajaxcommunicator,"text","pageData",query,true);

}

function m2ws_makeRequest(url,rtype,queryt,queryz,async) {
	querytype=queryt;
	if (window.XMLHttpRequest) 
	{ // Mozilla, Safari,...
		http_request = new XMLHttpRequest();
    }
	else if (window.ActiveXObject) 
	{ // IE
    	http_request = new ActiveXObject("Microsoft.XMLHTTP");
    }
	http_request.onreadystatechange = m2ws_getAnswer;
	http_request.open('POST', url, async);
	http_request.setRequestHeader("Pragma", "no-cache");
	http_request.setRequestHeader("Cache-Control", "must-revalidate");
	http_request.setRequestHeader("If-Modified-Since", document.lastModified);
	if(rtype=='xml'){
		http_request.setRequestHeader('Content-Type','text/xml');
		
	}else{
		http_request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
		
	}
	// wenn bereits eine Session gestartet wurde übergeben wir diese ID an das PHP-Script
	// damit die in der Session abgespeicherten Werte wieder ausgelesen werden können
	var query='s_id='+m2ws_s_id+'&q='+queryt+'&time='+(new Date).getTime();
	if(queryz!=''){
		send=query+'&'+queryz;
		queryt='';queryz='';
	}else{
		send=query;
		queryt='';queryz='';
	}
	//alert('send--> '+send);
	// Und los -> jetzt starten wir die Anfrage und das PHP-Script wird aufgerufen 
	http_request.send(send);
}

function m2ws_getAnswer() 
{
	// Übertragung schon fertig?
	if (http_request.readyState == 4) 
	{
		if (http_request.status == 200) 
		{
			m2ws_parseXML(http_request.responseXML);
			if(m2ws_nextAction!=null){
				m2ws_nextAction();
			}
        } 
		else 	
		{
		}
	}
	
}


function m2ws_parseXML(xmldoc) 
{ 	
	if(xmldoc!=null){
		if(xml22string(xmldoc)!=""){
			var parameterstring;
			var pars=xmldoc.documentElement.childNodes;
			var node;
			for (var i=0;i<pars.length;i++)
			{
				node=pars.item(i);
				if(node.childNodes.length>0){
					parameterstring=node.firstChild.nodeValue; 
					
					var parArr=parameterstring.split('=');
					if(parArr[0]=='edtmodulesource'||parArr[0]=='foldertree'){
						var txt=xml22string(xmldoc);
						txt=txt.replace("<root>","");
						txt=txt.replace("</root>","");
						var aTxt=txt.split("<par>");
						for(var j=0;j<aTxt.length;j++){
							if(aTxt[j].indexOf("edtmodulesource")==0){
								parameterstring=aTxt[j];
								parameterstring=parameterstring.replace("</par>","");
							}
							if(aTxt[j].indexOf("foldertree")==0){
								parameterstring=aTxt[j];
								parameterstring=parameterstring.replace("</par>","");
							}

						}
					}
					m2ws_saveit(parameterstring);
				}
			}
		}
	}
}

// Nimmt einen Parameterstring wie "name=wert" entgegen und speichert den Inhalt im HTML-Element auf der Seite
function m2ws_saveit(parameterstring)
{

	var parArr=parameterstring.split('=');
	// wenn es sich um Steuerparameter handelt -> übernehmen
	if (parArr[0]=='s_id') {
		m2ws_s_id=parArr[1];
		// die Adressierung erfolgt über die ID des HTML-Elements der Seite (parArr[0])
		if(document.getElementById('sessionid')){
			document.getElementById('sessionid').innerHTML=m2ws_s_id;
		}
	}else if(parArr[0]=='seed'){
		//alert("seedid="+parArr[1]);
		m2ws_seedid=parArr[1];
		if(m2ws_seedid!=''){
			if(document.getElementById("seed")){
				document.getElementById("seed").innerHTML=m2ws_seedid;
			}
		}
	}else if(parArr[0]=='rols'&&parArr[1]!=''){
		if(parArr[1]!='error'){
			m2ws_loggedIn=true;
			m2ws_rols=parArr[1].split(",");
			//alert('rollen : '+parArr[1]);
		}else{
			//alert('rollen : '+parArr[1]);
		}
	}else if(parArr[0]=='completeResult'&&parArr[1]!=''){
		//alert("compl has data --> "+parArr[1]);
		sitedata=parArr[1].split(',');
		//m2ws_updateFields();
	}else if(parArr[0]=='listImages'&&parArr[1]!=''){
		//m2ws_fillImagelist(parArr[1]);
		axpw_fillImagelist(parArr[1]);
	}else if(parArr[0]=='imageinfo'&&parArr[1]!=''){
		axpw_imageinfo=parArr[1];
	}else if(parArr[0]=='listMedia'&&parArr[1]!=''){
		//alert(parArr[1]);
		m2ws_fillMedialist(parArr[1]);
	}else if(parArr[0]=='availableviews'&&parArr[1]!=''){
		m2ws_availableviews=parArr[1];
	}else if(parArr[0]=='modulstree'&&parArr[1]!=''){
		axpw_modTreeString=parArr[1];
	}else if(parArr[0]=='fontList'&&parArr[1]!=''){
		writeToFontSelect(parArr[1]);
	}else if(parArr[0]=='modscripts'&&parArr[1]!=''){
		//alert("----------->"+parArr[1]);
		m2ws_scriptpathstring=parArr[1];
	}else if(parArr[0]=='globvar'&&parArr[1]!=''){
		m2ws_globvars=parArr[1];
	}else if(parArr[0]=='newmod'&&parArr[1]!=''){
		//alert(parArr[1]);
		m2ws_newmod=parArr[1];
	}else if(parArr[0]=='modhist'&&parArr[1]!=''){
		m2ws_modhistlist=parArr[1];
	}else if(parArr[0]=='layouts'&&parArr[1]!=''){
		m2ws_layoutlist=parArr[1];
	}else if(parArr[0]=='modsrc'&&parArr[1]!=''){
		var retval=parArr[1];
		retval=retval.replaceAll("+","%20");
		m2ws_modsources=decodeURIComponent(retval);
	}else if(parArr[0]=='linktypelist'&&parArr[1]!=''){
		m2ws_linktypelist=parArr[1];
		//alert(m2ws_linktypelist);
	}else if(parArr[0]=='edtmodulesource'&&parArr[1]!=''){
		var retval=parArr[1];
		retval=retval.replaceAll("+","%20");
		m2ws_edtmodulesource=decodeURIComponent(retval);
	}else if(parArr[0]=='foldertree'&&parArr[1]!=''){
		m2ws_folderTreeData=parArr[1];
		if(document.getElementById("M2WS_LYR")){
			var tree=m2ws_getViewTree();
			document.getElementById("m2ws_viewtree").innerHTML=tree;
			document.getElementById("M2WS_LYR").style.height=((document.getElementById("m2ws_viewtreedesc").offsetHeight)+(document.getElementById("m2ws_viewtree").offsetHeight)+(document.getElementById("viewLayerTable").clientHeight)+60)+'px';
		}
	}else if(parArr[0]=='txtimgprop'&&parArr[1]!=''){
		m2ws_textImageData=parArr[1];
		//alert(parArr[1]);
	}else if(parArr[0]=='redirect'&&parArr[1]!=''){
		m2ws_redirectView=(parArr[1]);
	}else if(parArr[0]=='histmodsrc'&&parArr[1]!=''){
		var retval=parArr[1];
		retval=retval.replaceAll("+","%20");
		m2ws_modhistsource=decodeURIComponent(retval);
	}else if(parArr[0]=='saveresult'&&parArr[1]!=''){
		if(parArr[1]==0){
		//alert("Ihre Änderung wurde erfolgreich gespeichert.");
			m2ws_setSaveQuery('yes');
		}
	}else if(parArr[0]=='moduls'&&parArr[1]!=''){
		m2ws_modsIndex=0;
		m2ws_mods.slice(0,m2ws_mods.length);
		//alert(parArr[1]);
		//alert("gespeicherte module gefunden : "+m2ws_mods.length);
		var modRow=parArr[1].split(";");
		for(var j=0;j<(modRow.length);j++){
			//alert(modRow[j]);
			var mods=modRow[j].split(",");
			m2ws_setModInfos( mods[0],mods[1],mods[2],mods[3],mods[4],mods[5],mods[6],mods[7],mods[8]);
		}
		//alert(m2ws_mods.join());
	//availablemoduls
	}else if(parArr[0]=='availablemoduls'&&parArr[1]!=''){
			m2ws_AvailableModuls=parArr[1];
			
	}else if(parArr[0]=='query'){
		//alert(parArr[1]);
	}
}


function m2ws_createFields(){
	//alert("m2ws_createFields");
	var rem_seed=m2ws_getQueryData('seed');
	var rem_user=m2ws_getQueryData('user');
	m2ws_username=rem_user;
	m2ws_edit=m2ws_getQueryData('edit');
	m2ws_s_id=m2ws_getQueryData('id');
	var body=document.body;
	//implements hidden fields to body
	var div=document.createElement('div');
	div.setAttribute("id",'server');
	div.style.display="none";
	var field=document.createElement('p');
	field.setAttribute("id",'sessionid');
	div.appendChild(field);
	
	field=document.createElement('p');
	field.setAttribute("id",'partnerid');
	field.innerHTML=sitedata[1];
	div.appendChild(field);
	
	//alert(rem_user);
	field=document.createElement('p');
	field.setAttribute("id",'r_username');
	if(rem_user!=null){
		field.innerHTML=rem_user;
	}
	div.appendChild(field);
	
	field=document.createElement('p');
	field.setAttribute("id",'seed');
	if(rem_seed!=null){
		field.innerHTML=rem_seed;
	}
	div.appendChild(field);
	field=document.createElement('p');
	field.setAttribute("id",'proname');
		field.innerHTML=sitedata[11];
	div.appendChild(field);
	field=document.createElement('p');
	field.setAttribute("id",'applicationid');
	field.innerHTML=sitedata[7];
	div.appendChild(field);
//alert(sitedata.join());
	field=document.createElement('p');
	field.setAttribute("id",'layoutid');
	field.innerHTML=sitedata[7];
	div.appendChild(field);
	
	field=document.createElement('p');
	field.setAttribute("id",'modulesid');
	field.innerHTML=sitedata[10];
	div.appendChild(field);

	field=document.createElement('p');
	field.setAttribute("id",'showid');
	field.innerHTML=sitedata[10];
	div.appendChild(field);

	field=document.createElement('p');
	field.setAttribute("id",'logging');
	div.appendChild(field);

	field=document.createElement('p');
	field.setAttribute("id",'siteid');
	field.innerHTML=sitedata[2];
	div.appendChild(field);
	body.appendChild(div);
	var n=navigator;
	var query='';
	if(ie){
		query='cookie='+n.cookieEnabled+'&browser_ua='+n.userAgent+'&browser_language='+n.browserLanguage+'&system_language='+n.systemLanguage+
		'&user_language='+n.userLanguage+'&platform='+n.platform;
	}else{
		query='cookie='+n.cookieEnabled+'&browser_ua='+n.userAgent+'&browser_language='+n.language+'&system_language='+n.language+
		'&user_language='+n.language+'&platform='+n.platform;
	}
	m2ws_nextAction=m2ws_verifyUserRights;
	m2ws_makeRequest(m2ws_ajaxcommunicator,"text","getModuls","viewid="+document.getElementById("modulesid").innerText,true);
}

function m2ws_verifyUserRights(){
	m2ws_nextAction=m2ws_addModInfos;
	if(document.getElementById('r_username').innerHTML!='' && m2ws_edit){
		m2ws_loadSripts('scriptloader.xml');
	}else{
		m2ws_addModInfos();
	}
}

function m2ws_loadSripts(conf){
	//alert('load scripts --> '+m2ws_xmlConfigPath+conf);
	var xmlDoc=m2ws_LoadConfigFile(m2ws_xmlConfigPath+conf);
	var spath;
	var script;
	var x=xmlDoc.documentElement.childNodes;
	      if(x.length>0){
	    	for (var i=0;i<x.length;i++)
	    	{ 
	    		if (x[i].nodeType==1)
	      		{
	      			
	      				m2ws_loadjscssfile(x[i].getAttribute("path"), x[i].getAttribute("type"));
	      			
	      		}
	    	}
	      }
	m2ws_addModInfos();
}

function m2ws_loadjscssfile(filename, filetype){
//test ob schon geladen
	var exist=false;
	var targetelement=(filetype=="js")? "script" : (filetype=="css")? "link" : "none" ;
 	var targetattr=(filetype=="js")? "src" : (filetype=="css")? "href" : "none" ;
 	var allsuspects=document.getElementsByTagName(targetelement)
 	for (var i=allsuspects.length; i>=0; i--){
 		if (allsuspects[i] && allsuspects[i].getAttribute(targetattr)!=null && allsuspects[i].getAttribute(targetattr).indexOf(filename)!=-1){
 			exist=true;
 		}
 	}
//laden
	if(exist==false){
		 if (filetype=="js"){ //if filename is a external JavaScript file
		  	var fileref=document.createElement('script');
		  	fileref.setAttribute("type","text/javascript");
		  	fileref.setAttribute("src", filename+'?time='+(new Date).getTime());
		 }else if (filetype=="css"){ //if filename is an external CSS file
		  	var fileref=document.createElement("link");
		  	fileref.setAttribute("rel", "stylesheet");
		  	fileref.setAttribute("type", "text/css");
		  	fileref.setAttribute("href", filename+'?time='+(new Date).getTime());
		 }
		 if (typeof fileref!="undefined"){
		  	document.getElementsByTagName("head")[0].appendChild(fileref);
		 }
	}
}

function m2ws_removejscssfile(filename, filetype){
 var targetelement=(filetype=="js")? "script" : (filetype=="css")? "link" : "none" ;
 var targetattr=(filetype=="js")? "src" : (filetype=="css")? "href" : "none" ;
 var allsuspects=document.getElementsByTagName(targetelement);
 for (var i=allsuspects.length; i>=0; i--){ 
 	if (allsuspects[i] && allsuspects[i].getAttribute(targetattr)!=null && allsuspects[i].getAttribute(targetattr).indexOf(filename)!=-1){
 		//alert(allsuspects[i].outerHTML);
 		allsuspects[i].parentNode.removeChild(allsuspects[i]);
 	}
 }
}

function m2ws_replacejscssfile(oldfilename, newfilename, filetype){
 var targetelement=(filetype=="js")? "script" : (filetype=="css")? "link" : "none" ;
 var targetattr=(filetype=="js")? "src" : (filetype=="css")? "href" : "none" ;
 var allsuspects=document.getElementsByTagName(targetelement);
 for (var i=allsuspects.length; i>=0; i--){ 
  if (allsuspects[i] && allsuspects[i].getAttribute(targetattr)!=null && allsuspects[i].getAttribute(targetattr).indexOf(oldfilename)!=-1){
   var newelement=createjscssfile(newfilename, filetype);
   allsuspects[i].parentNode.replaceChild(newelement, allsuspects[i]);
  }
 }
}

function m2ws_updateFields(){
	//alert("update -->"+document.getElementById('applicationid'));
	if(document.getElementById('applicationid')){
		document.getElementById('applicationid').innerHTML=sitedata[7];
	}
}


function m2ws_getQueryData(variable){
	//var data=window.parent.location.hash.split('#');
	var data=window.location.hash.split('#');
	if(data.length>1){
		var vars=data[1].split('&');
		for(var i=0;i<vars.length;i++){
			var pair=vars[i].split('=');
			if(pair[0]==variable){
				return pair[1];
			}
		}
	}
	return null;
}

function m2ws_login_submit() {
	
	m2ws_username=document.getElementById('login_username').value;
	m2ws_userpass=document.getElementById('login_pass').value;
	if(m2ws_username!=''&&m2ws_userpass!=''){
		m2ws_nextAction=m2ws_login_submit_db;
		m2ws_makeRequest(m2ws_ajaxcommunicator,"text","getSeed",'',true);
	}
}

function m2ws_login_submit_db(){
	var results=m2ws_seedid.split('|');
		m2ws_seed_id = results[0];
		m2ws_seed = results[1];
		m2ws_hasSeed = true;
		var passhash = calcMD5(m2ws_userpass);
		var applicationid=document.getElementById("applicationid").innerHTML;
		var siteid=document.getElementById("siteid").innerHTML;
		var partnerid=document.getElementById("partnerid").innerHTML;
		m2ws_nextAction=m2ws_login_submit_client;
		m2ws_validateLogin(m2ws_username,m2ws_seed_id,passhash,applicationid,siteid,partnerid);
}

function m2ws_login_submit_client(){
	if(m2ws_rols){
		document.getElementById("r_username").innerHTML=document.getElementById('login_username').value;
		var loginsel=document.getElementById('login_role_select');
		loginsel.options[loginsel.options.length]=new Option('Bitte wählen Sie ...','0')
		
		for(var i=0;i<m2ws_rols.length-1;i++){
			//alert(m2ws_rols[i]);
			var srole=m2ws_rols[i].split('##');
			m2ws_setRolsArray(srole[0],srole[1],srole[2],srole[3]);
			loginsel.options[loginsel.options.length]=new Option(srole[1],srole[0])
		}
		document.getElementById('login_role_text').style.display="block";
		document.getElementById('login_role_input').style.display="block";
		document.getElementById('login_user_text').style.display="none";
		document.getElementById('login_user_input').style.display="none";
		document.getElementById('login_pass_text').style.display="none";
		document.getElementById('login_pass_input').style.display="none";
		document.getElementById('login_button').style.display="none";
		document.getElementById('login_text').innerText="Bitte wählen Sie Ihre Rolle";
	}
}

function m2ws_validateLogin(username,seed_id,passhash,applicationid,siteid,partnerid){
	var qtype='validateLogin';
	var query='username='+username+'&seed_id='+seed_id+'&hash='+passhash+'&appid='+applicationid+'&siteid='+siteid+'&partnerid='+partnerid;
	//alert(query);
	m2ws_makeRequest(m2ws_ajaxcommunicator,"text",qtype,query,true);
}

function m2ws_getSecureQuery(){
	return '?user='+document.getElementById("r_username").innerHTML+'&seed='+document.getElementById("seed").innerHTML+'&id='+m2ws_s_id;
}

function m2ws_changeRole(s){
	m2ws_selectedRole=s.options[s.value].text;
	m2ws_selectedRoleId=s.value;
	if(s.value==2){
		m2ws_edit=true;
	}else{
		m2ws_edit=false;
	}
	//alert('Editor: '+m2ws_edit);
	var url="http://"+m2ws_rolsArray[s.selectedIndex-1].appurl+m2ws_getSecureQuery()+'&edit='+m2ws_edit;
	//alert('call url: '+url);
	window.parent.location.href=url;
	/*
	if(s>0){
		//var xmlDoc=loadConfigFile(xmlConfigPath+'role_action.xml');
		var act=getRoleAction(xmlDoc,s)
		var arrAct=act.split('-');
		if(arrAct[0]=='js'){
			//loadSripts('scriptloader.xml');
			loginpup_onoff();
			//document.body.outerHTML=document.body.outerHTML;
		}else if(arrAct[0]=='redirect'){
			window.parent.location.href=arrAct[1]+getSecureQuery();
		}
	}*/
}

function m2ws_LoadConfigFile(filename){
    try //Internet Explorer
      {
      var xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
      }
    catch(e)
      {
      try //Firefox, Mozilla, Opera, etc.
        {
        xmlDoc=document.implementation.createDocument("","",null);
        }
      catch(e) {alert(e.message)}
      }
    try 
      {
      xmlDoc.async=false;
      xmlDoc.load(filename);
      }
    catch(e) {alert(e.message)}
    return xmlDoc;
}

function xml22string(xml){
	//try{
	if(xml.xml==null){
		return (new XMLSerializer().serializeToString(xml));
	}else{
	//}catch(e){
		return xml.xml;
	}
	//}
}

function m2ws_dev_display(sText,surl){
	myWindow=window.open(surl,'myWindow');
	myWindow.document.write(sText);
}