
function initMenus() {
	$('ul.menu div').hide();
	$.each($('ul.menu'), function(){
			// iterate all elements and check for cookie // and initial state.		
			$.each($('li.item > a',this), function(){
				$(this).addClass('title');										 
										 
					// add the class names to the cookie
				var parent = this.parentNode.parentNode.id;	
				var classes = this.className.split(' ');
				var box = classes[0];				
				var cookie = $.cookie(parent + '-' + box);
				var currentLink = $(this);		
				var container = $(this).next('div');
				
				if(cookie == null) {
					if($(this).hasClass('expandfirst')) {
						$(container).show();
					}
				} else {			
					if($(this).hasClass('expandfirst')) {
						$(container).hide();
					}
					$(container).show();
					$(container).addClass('open');
				}
				
				if($(container).is(':visible')) {
					$(this).removeClass('closed');
					$(this).addClass('open');
				}
				if($(container).is(':hidden')) {
					$(this).removeClass('open');
					$(this).addClass('closed');
				}
			});
	});
	
	$('ul.menu li > a.title').click(
		function() {

			var container = $(this).next('div');
			var classes = this.className.split(' ');
			var box = classes[0];
				// add the class name to the parent
			var parent = this.parentNode.parentNode.id;
			var cookieName = parent + '-' + box;

			if($('#' + parent).hasClass('noaccordion')) {
				if((String(parent).length > 0) && (String(this.className).length > 0)) {
					if($(container).is(':visible')) {
						$.cookie(cookieName, null);
					} else {
						$.cookie(cookieName, box);
					}
					
					$(container).slideToggle('normal');
	
					if($(this).hasClass('open')) {
						$(this).removeClass('open');
						$(this).addClass('closed');					
					} else if($(this).hasClass('closed')) {
						$(this).removeClass('closed');
						$(this).addClass('open');					
					}
				}	
				
				return false;
			} else {
			
					if($(this).hasClass('open')) {
						$(this).removeClass('open');
						$(this).addClass('closed');					
					} else if($(this).hasClass('closed')) {
						$(this).removeClass('closed');
						$(this).addClass('open');					
					}			
			}

			if(container.is(':visible')) {
				if($('#' + parent).hasClass('collapsible')) {
					container.slideUp('normal');
				}
				return false;
			}
			if(!container.is(':visible')) {
//				$('#' + parent + ' div:visible').slideUp('normal');
				if((String(parent).length > 0) && (String(this.className).length > 0)) {
					$.cookie(parent, this.className);
				}
				container.slideDown('normal');			
				return false;
			}

		}
	);
}
$(document).ready(function() {initMenus();});
