/****** Globale Variabeln ******/
var navigationBoxCookieName = 'ec_display_nav';
var searchBoxCookieName = 'ec_display_search';
var adminBoxCookieName = 'ec_display_cmslogin';
var effectStartUp = 'ec_effect_startup';

/****** PopUp-Funktion für Druckfenster ******/
function openprint(url) {
	var w = 700;
	var h = 550;
	var win;
	win = window.open(url, 'popup', 'width=' + w + ', height=' + h + ', location=no, menubar=no, status=no, toolbar=no, scrollbars=yes, resizable=no');
	if (!win) {
		alert('Automatische Pop-Ups sind in Ihrem Browser deaktiviert. Sie müssen Pop-Ups für die Elternclub URL erlauben um fortzufahren!');
	} else {
		var links = eval((screen.width - w) / 2);
		var oben = eval((screen.height - h) / 2);
		win.moveTo (links, oben);
	}
	return false;
}

/****** PopUp-Funktion für allgemeinen Content ******/
function openpopup(url) {
	var w = 400;
	var h = 300;
	var win;
	win = window.open(url, 'popup', 'width=' + w + ', height=' + h + ', location=no, menubar=no, status=no, toolbar=no, scrollbars=no, resizable=no');
	if (!win) {
		alert('Automatische Pop-Ups sind in Ihrem Browser deaktiviert. Sie müssen Pop-Ups für die Elternclub URL erlauben um fortzufahren!');
	} else {
		var links = eval((screen.width - w) / 2);
		var oben = eval((screen.height - h) / 2);
		win.moveTo (links, oben);
	}
	return false;
}

/****** Checkbox-Checker ;-) ******/
function negateChoice(id) {
	var k = 0;
	while (id.elements[k]) {
		if (id.elements[k].disabled == false) {
			if (id.elements[k].name != 'checkall') {
				if (id.elements[k].checked == 1) {
					id.elements[k].checked = 0;
				} else {
					id.elements[k].checked = 1;
				}
			}
		}
		k++;
	}
}

/****** PopUp für File-Manager ******/
function BrowseServer() {
	var iWidth = screen.width * 0.6;
	var iHeight = screen.height * 0.5;
	var iLeft = (screen.width  - iWidth) / 2;
	var iTop = (screen.height - iHeight) / 2;
	var sOptions = 'toolbar=no, status=no, resizable=yes, dependent=yes';
	sOptions += ',width=' + iWidth;
	sOptions += ',height=' + iHeight;
	sOptions += ',left=' + iLeft;
	sOptions += ',top=' + iTop;
	var oWindow = window.open('/_editor/editor/filemanager/browser/mcpuk/browser.php?mode=browser&Connector=connectors/php/connector.php', 'FCKBrowseWindow', sOptions);
}

/****** Erweiterung des String-Angebots von DOM ******/
String.prototype.trim = function() {
	return this.replace(/^\s*|\s*$/g, '');
}

/****** Customized confirm-Dialog ******/
function confirmDialog(msg, elem) {
	focus();
	new Fx.Style('bodyElement', 'opacity', {duration:500}).start(1,0.4).addEvent('onComplete', function() {
		var check = confirm(msg);
		new Fx.Style('bodyElement', 'opacity').set(1);
		if (check == true) {
			if (elem.action) {
				document.location.href = elem.action;
			} else {
				document.location.href = elem.href;
			}
		}
	});
	return false;
}

/****** OnLoad/Init-Funktion ******/
function init() {
	// Mootools: Element.Event, Element.Selectors, Fx.Style, Fx.Styles, Fx.Scroll, Fx.Slide, Remote.Cookie
	// Spalten initialisieren
	var sideBar = $('sideBar');
	var mainBar = $('mainBar');
	if (!Cookie.get(effectStartUp)) {
		new Fx.Style(sideBar, 'opacity').set(0);
		new Fx.Style(mainBar, 'opacity').set(0);
	}
	// Slider-Boxen initialisieren
	var navigationSlideBox = new Fx.Slide('navigationBox');
	var searchSlideBox = new Fx.Slide('searchBox');
	var adminSlideBox = new Fx.Slide('adminBox');
	// Boxen-Stati init.
	var navigationShow = 1;
	var searchShow = 1;
	var adminShow = 1;
	// Cookie auslesen
	if (document.cookie) {
		if (Cookie.get(navigationBoxCookieName) == 'false') {
			navigationShow = 0;
			navigationSlideBox.hide();
			$('navigationImg').src = '/_img/gif/image_body_maxgreen.gif';
		}
		if (Cookie.get(searchBoxCookieName) == 'false') {
			searchShow = 0;
			searchSlideBox.hide();
			$('searchImg').src = '/_img/gif/image_body_maxorange.gif';
		}
		if (Cookie.get(adminBoxCookieName) == 'false') {
			adminShow = 0;
			adminSlideBox.hide();
			$('adminImg').src = '/_img/gif/image_body_maxgrey.gif';
		}
	}
	// Event-Listener auf Navi-Minim./Maxim.
	$('navigationText').addEvent('click', function(e){
		e = new Event(e);
		if (navigationShow == 0) {
			navigationSlideBox.slideIn().addEvent('onComplete', function() {
				navigationShow = 1;
				$('navigationImg').src = '/_img/gif/image_body_mingreen.gif';
			});
			Cookie.remove(navigationBoxCookieName);
			Cookie.set(navigationBoxCookieName, 'true', {duration: 365});
		} else {
			navigationSlideBox.slideOut().addEvent('onComplete', function() {
				navigationShow = 0;
				$('navigationImg').src = '/_img/gif/image_body_maxgreen.gif';
			});
			Cookie.remove(navigationBoxCookieName);
			Cookie.set(navigationBoxCookieName, 'false', {duration: 365});
		}
		e.stop();
	});
	// Event-Listener auf Such-Minim./Maxim.
	$('searchText').addEvent('click', function(e){
		e = new Event(e);
		if (searchShow == 0) {
			searchSlideBox.slideIn().addEvent('onComplete', function() {
				searchShow = 1;
				$('searchImg').src = '/_img/gif/image_body_minorange.gif';
			});
			Cookie.remove(searchBoxCookieName);
			Cookie.set(searchBoxCookieName, 'true', {duration: 365});
		} else {
			searchSlideBox.slideOut().addEvent('onComplete', function() {
				searchShow = 0;
				$('searchImg').src = '/_img/gif/image_body_maxorange.gif';
			});
			Cookie.remove(searchBoxCookieName);
			Cookie.set(searchBoxCookieName, 'false', {duration: 365});
		}
		e.stop();
	});
	// Event-Listener auf Admin-Minim./Maxim.
	$('adminText').addEvent('click', function(e){
		e = new Event(e);
		if (adminShow == 0) {
			adminSlideBox.slideIn().addEvent('onComplete', function() {
				adminShow = 1;
				$('adminImg').src = '/_img/gif/image_body_mingrey.gif';
			});
			Cookie.remove(adminBoxCookieName);
			Cookie.set(adminBoxCookieName, 'true', {duration: 365});
		} else {
			adminSlideBox.slideOut().addEvent('onComplete', function() {
				adminShow = 0;
				$('adminImg').src = '/_img/gif/image_body_maxgrey.gif';
			});
			Cookie.remove(adminBoxCookieName);
			Cookie.set(adminBoxCookieName, 'false', {duration: 365});
		}
		e.stop();
	});
	// Event-Listener auf toTop-Link
	$('toTop').addEvent('click', function(e){
		e = new Event(e);
		var scrollToTop = new Fx.Scroll('bodyElement').toTop();
		e.stop();
	});
	// Event-Listener auf Navi
	var tds = $$('#navTable td.navOption');
	tds.each(function(element) {
		var fx = new Fx.Styles(element, {wait: false, duration: 300});
		element.addEvent('mouseenter', function(){
			fx.start({
				'background-color': '#E0F983'
			});
		});
		element.addEvent('mouseleave', function(){
			fx.start({
				'background-color': '#F6FCE0'
			});
		});
	});
	// Event-Listener auf Administration der Seiten
	var trs = $$('#pageAdmin tr.pageAdminOption');
	trs.each(function(element) {
		var oldColor = element.getStyle('background-color');
		var fx = new Fx.Styles(element, {wait: false, duration: 300});
		element.addEvent('mouseenter', function(){
			fx.start({
				'background-color': '#FFE5C7'
			});
		});
		element.addEvent('mouseleave', function(){
			fx.start({
				'background-color': oldColor
			});
		});
	});
	// Alles geladen: Body und Spalten anzeigen
	$('bodyElement').setStyle('visibility', 'visible');
	sideBar.setStyle('visibility', 'visible');
	mainBar.setStyle('visibility', 'visible');
	// Startup-Effekt ausführen, insofern das Cookie noch nicht gesetzt wurde
	if (!Cookie.get(effectStartUp)) {
		new Fx.Style(sideBar, 'opacity', {duration: 700}).start(0,1);
		new Fx.Style(mainBar, 'opacity', {duration: 700}).start(0,1);
		Cookie.set(effectStartUp, 'true');
	}
}
