$(document).ready(function() {
	$('#menu_vert ul li.parent h3, #menu_vert ul li.menuparent h3, #menu_vert ul li.menuparent a.menuparent, #menu_vert ul li.parent a.parent').click(function () {
		// if we're not selecting an open element...
		if($(this).parent().attr('class').indexOf('open') < 0 || $(this).parent().find('ul:first').css('display') != 'block') {
			// show children 
			$(this).parent().find('ul:first').slideDown('normal');
			// search for all elements of class openparent -> change class to open
			$('#menu_vert ul li.openparent').each(function(i,elm) {
				$(elm).removeClass('openparent');
				$(elm).addClass('open');
			});
			// search for parents of class open -> change class to openparent
			$(this).parent().parents('li').each(function(i,elm) {
				$(elm).removeClass('open');
				$(elm).addClass('openparent');
			});
			// search for elements of class open -> hide children -> change class to closed
			$('#menu_vert ul li.open').each(function(i,elm) {
				$(elm).find('ul:first').slideUp('normal');
				$(elm).removeClass('open');
				$(elm).addClass('closed');
			});
			// change class to open
			$(this).parent().removeClass('openparent');
			$(this).parent().removeClass('closed');
			$(this).parent().addClass('open');
		}
		else {
			// if we're selecting an open element -> just close it an change class to closed
			$(this).parent().find('ul:first').slideUp('normal');
			$(this).parent().removeClass('open');
			$(this).parent().removeClass('openparent');
			$(this).parent().addClass('closed');
		}
		return false;
	});
});
