var o_menu_cookie = null;
var a_menu_state = null;

var InitMenu = function(){
	var s_cookie_value = o_menu_cookie.read();
	if (s_cookie_value != null){
		a_menu_state = $A(s_cookie_value.split(','));
	} else {
		a_menu_state = Array();
	}

	a_menu_state.each(function(s_id){
		var i_id = s_id.replace(/^mi([\d]+)$/, '$1');
		if ($('menu-item-' + i_id)){
			ToggleMenu($('menu-item-' + i_id));
		}
	});
};

var ToggleMenu = function(oEl){
	var i_id = oEl.id.replace(/^menu-item-([\d]+)$/, '$1');

	if ($(oEl.children[1])){
		if ($(oEl.children[1]).hasClass('mi-open')){
			a_menu_state.erase('mi' + i_id);
			o_menu_cookie.write(a_menu_state.join(','));

			$(oEl.children[1]).removeClass('mi-open');
			$(oEl.children[1]).addClass('mi-closed');
			if ($('submenu-' + i_id)){
				$('submenu-' + i_id).style.display = 'none';
			}
		} else {
			a_menu_state.include('mi' + i_id);
			o_menu_cookie.write(a_menu_state.join(','));

			$(oEl.children[1]).removeClass('mi-closed');
			$(oEl.children[1]).addClass('mi-open');
			if ($('submenu-' + i_id)){
				$('submenu-' + i_id).style.display = 'block';
			}
		}
	}
};

window.addEvent('domready', function(){
 	o_menu_cookie = new Cookie('menu', {'path':'/'});
	
	// add onclicks for main menuitems
	$$('div.menuItem').each(function(oEl){
		if (oEl.hasClass('link') !== true){
			oEl.addEvent('click', function(oEvent){
				ToggleMenu(oEl);
			});
		}
	});
	
	InitMenu();
	
	if ($('login-form')){
		
		$('login-email').addEvent('focus', function(){
			this.value = '';
			this.removeEvents('focus');
		}).addEvent('keypress', function(oEvent){
			if (oEvent.code == 13){
				$('login-form').submit();
			}
		});
		
		$('login-password').addEvent('focus', function(){
			this.value = '';
			this.removeEvents('focus');
		}).addEvent('keypress', function(oEvent){
			if (oEvent.code == 13){
				$('login-form').submit();
			}
		});

		$('go-login').addEvent('click', function(){
			$('login-form').submit();
		});
	}
	
	
	if($('deactivate-link')){
		$('deactivate-link').addEvent('click', function(){
			return confirm('Are you sure you want to de-activate your account?\n(You can not log in again and can not register yourself for courses anymore)');
		});
	}
	
});