// JavaScript Document
// Slide Menu 
$.fn.slidemenu = function(options) {
	this.each(function(){
		// set defaults
		var slidemenu = this;
	
		slidemenu.options = {  // set options
			openall : true,
			closeall : true,
			closealltext : '[ collapse all - ]',
			openalltext : '[ expand all + ]'		
		};
		slidemenu.options = $.extend(slidemenu.options,options);	// load options and defualts

		slidemenu.openall = function(obj) {  // function to enable open all menus
	    	$(obj).before("<div class=\"slidemenu_all\"> <a href=\"##\" id=\"expand\">" + slidemenu.options.openalltext + "</a></div>");
			$("#expand").click(function() { $("#" + obj.id + " > li > a").find("+ ul").slideDown().parent().addClass("openMenu"); });
	  	};

 		slidemenu.closeall = function(obj) {  // function to enable close all menus
			$(obj).after("<div class=\"slidemenu_all\"> <a href=\"##\" id=\"collapse\">" + slidemenu.options.closealltext + "</a></div>");
			$("#collapse").click(function() {  $("#" + obj.id + " > li > a").find("+ ul").slideUp().parent().removeClass("openMenu"); });
 		};

		slidemenu.init = function(obj) {
			$("#" + obj.id + " > li > a").find("+ ul").slideUp(1).parent().addClass("submenu");  // close all menus on init

			if(slidemenu.options.closeall)  // if option set enable close all sub menus
				slidemenu.closeall(obj);

			if(slidemenu.options.openall)  // if option set enable open all sub menus
				slidemenu.openall(obj);
			
			$("#" + obj.id + " > li > a").click(function() {  // Expand or collapse on click 
	       		if ($(this).parent().children().length > 1)     {
   	      			$(this).find("+ ul").slideToggle();
       	  			$(this).parent().toggleClass("openMenu");
					return false;
        		}	
			});
		};
		slidemenu.init(this);  // init menus
	});
}