(function($){
	$.fn.t4mclick = function(options)
	{
		options = $.extend({
			clickAttribut:'id', 		
			elementeAttributPlus:'_',	
			viewroot:'', 				
			viewelementclass:'', 		
			classAct:'',					
			last:null,
			position:false,
			activeTow:false
		}, options);	
		$(this).each(function()
		{
				var last;
				var root = $(this);
				root.css('cursor','pointer');
				root.attr('act',root.attr('class')+' '+options.classAct);
				root.attr('notact',root.attr('class'));
				root.bind(
						{
							click:function()
							{		
								if((options.activeTow == true  && (root !== options.last || root.attr('class') == 'link link_click'  )) || options.activeTow== false)
								{
									if( options.last != null)
									{
										$(options.last).attr('class',$(options.last).attr('notact'));
									}
									root.attr('class',root.attr('act') );
									if(options.viewroot !== '')
									{
										$(options.viewroot+' .'+options.viewelementclass).fadeOut
										(400,
											function()
											{
												if(options.position == true)
												{
													$(options.viewroot+' .'+options.viewelementclass).css('position','absolute')
												}
											}
										);
									}
									
									var objekt 	=	$('#'+options.elementeAttributPlus+root.attr(options.clickAttribut));
									methode.Open(objekt);
									options.last = root;
								}
							}
						}
				);
		});
		var methode = {
				
				Open : function(objekt)
				{
					//alert(objekt.css('display'));
					if(objekt.css('display') == 'none')
					{
						objekt.fadeIn
						(600,	
								function()
								{
									if(options.position == true)
									{
										$('#'+options.elementeAttributPlus+root.attr(options.clickAttribut)).css('position','relative')	
									}
								}
						);
					}
					else
					{
						methode.Close(objekt);
					}
				},
				Close: function(objekt)
				{
					objekt.fadeOut
					(400,
							function()
							{
								objekt.css('display','none');
								if(options.position == true)
								{
									$(options.viewroot+' .'+options.viewelementclass).css('position','absolute')
								}
							}
						);
				}
		}
		
	}	
}
)(jQuery);
