jQuery.fn.not_exists = function(){return jQuery(this).length==0;}
 
jQuery.fn.jqcollapse = function(o) {
 
// Defaults
var o = jQuery.extend( {
   slide: true,
   speed: 300,
   easing: ''
},o);
 
jQuery(this).each(function(){
    
     var e = jQuery(this).attr('id');
     jQuery('#'+e+' li > ul').each(function(i) {
        var parent_li = jQuery(this).parent('li');
        var sub_ul = jQuery(this).remove();
       
        // Create 'a' tag for parent if DNE
 
        if (parent_li.children('a').not_exists()) {
            parent_li.wrapInner('<a/>');
        }
       
        parent_li.find('a').addClass('jqcNode').css('cursor','pointer').click(function() {
        
        
            jQuery('#'+e+' ul:visible').slideToggle(o.speed, o.easing);  //se qualquer elemento estiver visivel, toggle(esconde)

	        if(jQuery(this).siblings().is(":hidden") == true ){
  				sub_ul.slideToggle(o.speed, o.easing); //mostra o elemento clicado se estiver previamente escondido
			}
			
        });
        parent_li.append(sub_ul);
    });
   
    //Hide all sub-lists
     jQuery('#'+e+' ul').hide();
    
});
 
};

