/**
* Accordion plugin based in jquery javascript library
* Necessary structure to make this accordion work
* <ul>
*Â&nbsp; <li>
*Â&nbsp;Â&nbsp; &lt;h4&lt;Menu item</h4>
*Â&nbsp;Â&nbsp; <ul>
*Â&nbsp;Â&nbsp;Â&nbsp; <li>Submenu item</li>
*Â&nbsp;Â&nbsp; </ul>
*Â&nbsp; </li>
*Â&nbsp; <li>
*Â&nbsp;Â&nbsp; <h4>Menu item</h4>
*Â&nbsp;Â&nbsp; <ul>
*Â&nbsp;Â&nbsp;Â&nbsp;Â&nbsp; <li>Submenu item</li>
*Â&nbsp;Â&nbsp;Â&nbsp; </ul>
* Â&nbsp; </li>
*Â&nbsp; </ul>
**/
(function($) {
$.fn.Accordion = function(settings){
	contBox = this;
	settings = $.extend({}, arguments.callee.defaults, settings);
	/* send settings to each function */
	$(this).each(function(){
		tSettings = settings;
	});
	$(this).find(tSettings.selector)
		.parent()
		.addClass("collapsed")
	$(this).find(tSettings.selector)
		.css("cursor","pointer")
		.bind(settings.event,toggleElements);
	return this;
	};
	function toggleElements(event){
		/* Inside click event ! */
		var speed = tSettings.speed;
		if( $(this).parent().attr("class") != "expanded"){
			$(this).parent().parent().find(" li.expanded")
				.removeClass("expanded")
				.addClass("collapsed")
				.find(" ul:first")
				.slideToggle(speed);
			$(this).parent()
			.removeClass('collapsed')
			.addClass('expanded')
			.find(" ul:first")
			.slideToggle(speed);
		}
		else{		
			$(this).parent()
			.addClass("collapsed")
			.removeClass("expanded")
			.find(" ul:first")
			.slideToggle(speed);
			
			$(this).parent().find("li.expanded")
			.addClass("collapsed")
			.removeClass("expanded")
			.find(" ul:first")
			.slideToggle(speed);
		};
	};
	$.fn.Accordion.defaults = {
		delay: 250,
		event: "click",
		speed: 500,
		selector: "h4"
	};
})(jQuery);
