jQuery.fn.myacc = function(options){  

	var defaults = {  
		img_true:true,
		css_options:"margin:0px 4px 0px 0px;padding:0;",
		img_down_src:"images/arrow_down_colored.png",
		img_up_src:"images/arrow_up_colored.png",
		img_nochild_src:"images/arrow_spacer_colored.png",
		visible_ul:false
	};  

	var obj = jQuery(this);

	var options = jQuery.extend(defaults, options); 
	
	var down = {
		"src" :options.img_down_src, 
		"id" : "down",
		"style" : options.css_options
	};
	var up = {
		"src" : options.img_up_src,
		"id" : "up",
		"style" : options.css_options
	};
	var no_childs = {
		"src" : options.img_nochild_src,
		"style" : options.css_options,
		"class" : "nochild"
	};
	
	var list_elements = jQuery("li",obj).filter(function(index) { 
	  return jQuery("ul", this).length > 0; 
	});
	
	var list_elements_no_childs = jQuery("li",obj).filter(function(index) { 
	  return jQuery("ul", this).length == 0; 
	});	
	
	//get all list elements without the chosen one
	var hide_elements = jQuery("ul",obj).filter(function(index) { 
			//Hier jQuery_GET param			
			var id = options.visible_ul;
			if (id)
				return jQuery(this).find(id).length == 0;
			else
				return true;
	});
	
	return this.each(function(){
		
		hide_elements.hide();
		jQuery("li"+options.visible_ul,obj).addClass("current");
		if(options.img_true){
			jQuery("<img>").attr(no_childs).prependTo(list_elements_no_childs);
			jQuery("<img>").attr(down).prependTo(list_elements);
			
			jQuery("li img",obj).click(
				function(){
					var nvis = jQuery(this).next().next("ul:hidden");
					var vis = jQuery(this).next().next("ul:visible");
					if(nvis.length){
						nvis.slideDown();
						jQuery(this).parent().siblings().children("ul").slideUp();
						//Graphic
						jQuery(this).attr(up);				
						var imgs = jQuery(this).parent().siblings().find("img").not(".nochild");
						imgs.attr(down)
						
						return false;
					}
					if(vis.length){
						jQuery(this).attr(down);
						vis.slideUp();
						return false;
					}		
				}
			);//click
		}else{
		
		
			jQuery("li",obj).click(
				function(){
					var nvis = jQuery(this).find("ul:hidden");
					var vis = jQuery(this).find("ul:visible");
					if(nvis.length){						
						nvis.slideDown();
						jQuery(this).siblings().children("ul").slideUp();
						return false;
					}
					if(vis.length){
						vis.slideUp();
						return false;
					}		
				}
			);//click		
		}		
	});  	
};