/* 
Adapted from Simple JQuery menu.

Altered to fit HFS.

Changes:
* Added CSS icons and icon switching in JS

HTML structure to use:

Notes: 

1: each accordion MUST have an ID set. It doesn't matter what this ID is as long as it's there.
2: each accordion MUST have a class 'accordion' set. If the accordion doesn't have this, the JS won't make it dynamic


Optional extra classnames:

noaccordion : no accordion functionality
collapsible : menu works like an accordion but can be fully collapsed
expandfirst : first menu item expanded at page load

***In development
clickEnabled : click trigger functionality
mouseEnabled : mouse roll-over trigger functionality


<ul id="accordion1" class="accordion [optional class] [optional class]">
	<li>
		<a href="#" class="submenuheader"><span>Sub menu heading</span></a>
		<ul>
			<li><a href="http://site.com/">Link</a></li>
			<li><a href="http://site.com/">Link</a></li>
			<li><a href="http://site.com/">Link</a></li>
		</ul>
	<li>
	<li>
		<a href="#" class="submenuheader"><span>Sub menu heading</span></a>
		<ul>
			<li><a href="http://site.com/">Link</a></li>
			<li><a href="http://site.com/">Link</a></li>
			<li><a href="http://site.com/">Link</a></li>
		</ul>
	</li>
</ul>

*/

function initMenus() {
	$('ul.accordion ul').hide();
	$.each($('ul.accordion'), function(){
		$('#' + this.id + '.expandFirst ul:first').show();
	});
	 
			$('ul.accordion li a').click(
				function() {
					var checkElement = $(this).next();
					var parent = this.parentNode.parentNode.id;
		
					if($('#' + parent).hasClass('noaccordion')) {
						$(this).next().slideToggle('normal');
						return false;
					}
					if((checkElement.is('ul')) && (checkElement.is(':visible'))) {	
						checkElement.slideUp('fast');
						$(this).removeClass("submenuheadershow");
		
						return false;
					}
					if((checkElement.is('ul')) && (!checkElement.is(':visible'))) {
						$('#' + parent + ' ul:visible').slideUp('normal');
						checkElement.slideDown('fast');
						
						$('#' + parent).find('.submenuheadershow').removeClass("submenuheadershow");
						$(this).addClass("submenuheadershow")
						
						return false;
					}
				}
			);
	}
		
$(document).ready(function() {initMenus();});