cms.modules = {};
cms.moduleArgs=[];
cms.texte = {};
/* später... */
cms.notify = function(msg){
	var nel = $("notify");

	nel.innerHTML="<center>"+msg+"</center>";
	
	new ljex.FX({
			id : nel,
			fps : 25
		}).fadeIn();

	window.setTimeout("new ljex.FX({ id: 'notify', fps: 25 }).fadeOut()",3000);
}

cms.progressBox = function(msg,conf){
	if(conf!=undefined){
		$assimilate.call(this,conf);
	}

	$setdef.call(this,{
		width: 350,
		height: 100,
		parentId: 'page'
	});

	this.pBoxWin = new ljex.Window({
		id: 'loadWindow',
		width: this.width,
		height: this.height,
		contentBgColor: 'transparent',
		bgColor: 'transparent',
		parentId: this.parentId,
		center: true,
		focusOpacity: false
	});
	
	this.pBoxWin.html='<div style="position:absolute;left:0px;top:0px;width:100%;height:100%;background-image:url(/ljex/images/tp2.png);background-repeat: repeat-x repeat-y;z-index:-10"></div><div style="z-index:2000;color:#fff;padding: 10px 0px 0px 20px;"><center><img id="busyImage" style="float:left" src="/ljex/images/ajax-loader6.gif"><div style="z-index:3000;padding-top:15px;color:#fff">'+msg+'...</div></center></div>';
	
	this.pBoxWin.open();

//	this.aktiv=window.setInterval("document.images['busyImage'].src=document.images['busyImage'].src",10);
}

cms.progressBox.prototype.close = function(){
//	window.clearInterval(this.aktiv);
	this.pBoxWin.close();
}


function loadObject(filename, objectname, args){
	try {
		var isLoaded = eval(objectname);
	}catch(e){
		var isLoaded = false;
	}

	cms.moduleArgs = args;
	if(!isLoaded){
		var jScript=document.createElement("script");
		jScript.src=filename;
		document.getElementsByTagName('head')[0].insertBefore(jScript, $('mainjs'));
	}else{
		onObjectLoaded(objectname);
	}

	return true;
}

function onObjectLoaded(module){
		eval("new "+module+"(cms.moduleArgs)");
}

function loadModule(module, type, args, noprogress){
	var isLoaded = eval("cms.modules."+module);

//	loadWin.html=cms.loading.replace(/\%message\%/, "module");
//	loadWin.open();

	if(!noprogress)
		cms.loader=new cms.progressBox("Loading Module "+module);
	else
		cms.loader=null;

	if(isLoaded){
	//	var isRunning = eval("cms.modules."+module+".running");
	//	if(isRunning){
	//		alert("Module already running!");
	//	}else{
			cms.moduleArgs=args;
			onModuleLoaded(module);
		//	eval("new cms.modules."+module+"(cms.moduleArgs)");
		//	loadWin.close();
	//	}
	}else{
			ljex.locale.add("cms", module, cms.lang, function(){
				var jScript=document.createElement("script");
				if(type=='core'){
					jScript.src="core/js/"+module+".js";
				}else if(type=="module"){
					jScript.src="modules/"+module+"/js/"+module+".js";
				}
			cms.moduleArgs=args;

			document.getElementsByTagName('head')[0].insertBefore(jScript, $('mainjs'));
		}, this);
	}
}

function onModuleLoaded(module){
		if(typeof cms.aktModule != "undefined" && typeof cms.aktModule.win!= "undefined" && module!="filemanager"){
			if($(cms.aktModule.win.id)) cms.aktModule.win.close();
		}
		eval("cms.aktModule=new cms.modules."+module+"(cms.moduleArgs)");
}

function hideSubPanel(){
	if(subPanel!=null && closeSubPanel){
		subPanel.style.display='none';
		subPanel=null;
		closeSubPanel=false;
	}
}

subPanel=null;
selectedItem=null;
closeSubPanel=false;


cms.fetchPageHeight = function(){
	cms.pageHeight=$('page').offsetHeight;
	return cms.pageHeight;
}

cms.init = function(){


	ljex.init(cms.lang);

//	$('pageframe').style.height=parseInt(window.innerHeight)-30-parseInt($('footer').clientHeight);
	cms.pageHeight=$('page').offsetHeight;
	
	ljex.locale.add("cms", ["buttons","msg"], cms.lang, function(){
			cms.initnavi();

	//		loadModule("filemanager","core", {path: "links"});
//			loadModule("formgen","core", ["HK Audio"]);
//			loadModule("wmc","core", ["hk"]);
		//	loadModule("wpm","module", ["HK Audio"]);
	//		loadModule("newsletter","module", [""]);
		//	loadModule("oma","module", [""]);
		//	cms.notify("Vielen Dank!");
		//	$alert("Das ist eine Testmessage! Die Länge dieser Message ist absichtlich etwas größer, um zu sehen, wie das in dem Fensterchen wirkt.Das ist eine Testmessage! Die Länge dieser Message ist absichtlich etwas größer, um zu sehen, wie das in dem Fensterchen wirkt.Das ist eine Testmessage! Die Länge dieser Message ist absichtlich etwas größer, um zu sehen, wie das in dem Fensterchen wirkt.Das ist eine Testmessage! Die Länge dieser Message ist absichtlich etwas größer, um zu sehen, wie das in dem Fensterchen wirkt.Das ist eine Testmessage! Die Länge dieser Message ist absichtlich etwas größer, um zu sehen, wie das in dem Fensterchen wirkt.");
	/*	
			new ljex.prompt({
				msg: "Finden Sie diese PromptBox cool?",
				height: 200,
				callback: function(response){
					if(response=="OK"){
						alert("Ja, finden Sie!");
					}else{
						alert("Nein, Sie finden's scheiße!");
					}
				}
			});
	*/	
//	new cms.progressBox("Ich lade dann mal...");
	}, this);

}


cms.initnavi = function(){
	$("navi").onmouseout = function(e){
		closeSubPanel=true;
		window.setTimeout("hideSubPanel()",1000);
	}

	var subpanels=$("navilist").getElementsByTagName("div");

	for(i=0;i<subpanels.length;i++){
		if(subpanels[i].className == 'nav-submenu-panel'){
			subpanels[i].onmouseout = function(e){
				closeSubPanel=true;
				window.setTimeout("hideSubPanel()",1000);
			}
			subpanels[i].onmouseover = function(e){
				closeSubPanel=false;
			}

			if(ljex.isIE()){
				subpanels[i].style.left=$("li"+subpanels[i].id).offsetLeft+$("header").offsetLeft;
			}else{
				subpanels[i].style.left=$("li"+subpanels[i].id).offsetLeft;
			}

		}
	}


	var items=$("navilist").getElementsByTagName("li");

	for(i=0;i<items.length;i++){
		if(items[i].className == 'nav-item' || items[i].className == 'nav-item-submenu'){
			items[i].onmouseover = function(e){
					if(selectedItem!=this) this.style.backgroundPosition="0px -26px";
					if(subPanel!==null){
						subPanel.style.display='none';
						subPanel=null;
					}
					if(this.className == 'nav-item-submenu'){
						closeSubPanel=false;
						if(ljex.isIE()){
							this.firstChild.nextSibling.style.display='block';
							subPanel=this.firstChild.nextSibling;
						}else{

							
							this.nextSibling.nextSibling.style.display='block';
							subPanel=this.nextSibling.nextSibling;
						/*	new ljex.FX({
								id : subPanel,
								fps : 25
							}).fadeIn();*/
						}

					}
			}
			items[i].onmouseout = function(e){
				if(selectedItem!=this) this.style.backgroundPosition="0px 0px";
			}
		}else if(items[i].className == 'nav-subitem'){
			items[i].onmouseover = function(e){
				this.style.backgroundColor='#333';
				this.style.opacity='.85';
			}
			items[i].onmouseout = function(e){
				this.style.backgroundColor='#111';
				this.style.opacity='1';
			}
		}
	}


}

function toggleSubNavi(id){
	var subnavi=$(id+'_subnavi');
	if(!naviems[id].open){
		subnavi.style.display='block';
		navi.items[id].open=true;
	}else{
		subnavi.style.display='none';
		navi.items[id].open=false;
	}
}

function logout(){
	new ljex.prompt({
		title: 'LunaCMS - Logout',
		msg: 'Wollen Sie sich wirklich ausloggen?',
		callback: function(response){
			if(response=='OK'){
				new ljex.Ajax({
					url: '/index.php5?action=logout',
					method: 'GET',
					scope: this,
					callback: function(response,scope){ 
						data = JSON.parse(response.responseText);
						location.href="/index.php5";
					}
				}).request();		
			}	
		}});
}	

