/*

	jQuery Accordions v1.1	
	Copyright 2010 por Pedro Magalhães	
	
	web: http://www.webgrafismo.com
	email: webgrafismo@gmail.com	
	Gratuito para uso não comercial

*/

(function($){
	$.fn.jQueryAccordions = function(options) {
		
		var defaults = {
			topclass: 		".mod_links_top", 
			contentclass:   ".mod_links_content", 
			footerclass:    ".mod_links_footer", 
			parentclass:    ".parent",
			childrenclass:  ".children",
			showclass:      ".show_link",			
			hideclass:      ".hide_link", 
			speedfx:		400		
		};
		
		var options = $.extend(defaults, options);								
		
		obj = $(this);		
		
		var showclass = $(options.showclass, obj);
		var hideclass = $(options.hideclass, obj);			
		var topclass = $(options.topclass, obj);						
		var contentclass = $(options.contentclass, obj);									
		var footerclass = $(options.footerclass, obj);												
		var parentclass = $(options.parentclass, obj);
		var childrenclass = $(options.childrenclass, obj);	
		var speedfx = $(options.speedfx, obj);																					
		
		contentclass.find("ul li.parent:gt(7), ul li.parent li").hide();
		
		$(options.parentclass +	"> a").attr("href", "javascript:void(0)");
		
		$(this).toggleClass("open")
				.parent()
				.find(options.contentclass,options.footerclass)
				.slideToggle(options.speedfx);	
				
		$(this).parent()
				.find(options.footerclass)
				.slideToggle(options.speedfx);	

		childrenclass.bind('click', function(e){
			if($(this).attr("rel") != 'sub'){
				if($.fn.jQueryAccordions.ant == null){
					$(this).attr("data", Math.random());
					$.fn.jQueryAccordions.ant = $(this);
				}else{
					if($(this).attr("data") != $.fn.jQueryAccordions.ant.attr("data")){
						if($.fn.jQueryAccordions.asub != null){
							$.fn.jQueryAccordions.asub.trigger('click', {loop:false});
							$.fn.jQueryAccordions.asub = null;
						}
						
						$.fn.jQueryAccordions.ant.trigger('click', {loop:false});
						$(this).attr("data", Math.random());
						$.fn.jQueryAccordions.ant = $(this);
					}
				}
				$(this).toggleClass("open").parent().children().find(".liRaiz:gt(1)").slideToggle(options.speedfx);
				if($(this).is('.open') == false){
					$.fn.jQueryAccordions.ant = null;
					if($.fn.jQueryAccordions.asub != null){
						$.fn.jQueryAccordions.asub.trigger('click', {loop:false});
						$.fn.jQueryAccordions.asub = null;
					}
				}
			}else{
				if($.fn.jQueryAccordions.asub == null){
					$(this).attr("data", Math.random());
					$.fn.jQueryAccordions.asub = $(this);
				}else{
					if($(this).attr("data") != $.fn.jQueryAccordions.asub.attr("data")){
						$.fn.jQueryAccordions.asub.trigger('click', {loop:false});
						$(this).attr("data", Math.random());
						$.fn.jQueryAccordions.asub = $(this);
					}
				}
				$(this).toggleClass("open").parent().children().find("LI:gt(1)").slideToggle(options.speedfx);
			}
			//$(this).toggleClass("open").parent().children().find("li:gt(1)").slideToggle(options.speedfx);
		});
		
		$.fn.jQueryAccordions.ant = null;
		$.fn.jQueryAccordions.asub = null;
	};
})(jQuery);
