(function($) {

	$.fn.htmlTabs = function(options)
	{
	  
		// default configuration properties
		var defaults = 
		{
			htmlClass  : 'tabHtml',			
			itemClass  : 'tabItem',
			itemActive : 'active',
			clickClass : false,
			activeFirst: false,
			activeLast : false,
			overClass  : false,
			overClick  : false,
			scrollClass: false,
			scrollProg : false,
			arrColor   : false
		}; 
		
		var options = $.extend(defaults, options);  
		
		return this.each(function() 
		{  
			var obj = $(this);
						
			$("."+options.htmlClass, obj).hide(); //--- Ascundem toate divurile cu HTML
						
			// Sa afisam primul meniu cu submeniu lui			 
			if (options.activeFirst)
			{ 
			  if ( parseInt( options.activeFirst ) ) 
			  {			  		  
  			    $("."+options.htmlClass+':nth-child('+options.activeFirst+')', obj).fadeIn(); //--- Pe primul div il afisam
			    $("."+options.itemClass+':nth-child('+options.activeFirst+')', obj).addClass(options.itemActive);
				// Adaugam scrollingul			  
				if (options.scrollClass)
				{ 
				   var scalss = "."+options.htmlClass+':nth-child('+options.activeFirst+')'+ ' .'+options.scrollClass;
				   var pane = $(scalss, obj).jScrollPane();
				   
				   if (options.scrollProg)
				   {
					   var api = pane.data('jsp');					   
					   api.scrollToY(parseInt(options.scrollProg*35-195/2));
				   }
				   	
				    
				}
			  }
			  else 
			  {					  
			    $("."+options.htmlClass+':first', obj).fadeIn(); //--- Pe primul div il afisam
			    $("."+options.itemClass+':first', obj).addClass(options.itemActive);
			    if (options.scrollClass)
				{ 
				   $("."+options.htmlClass+':first .'+options.scrollClass, obj).jScrollPane();
				}
			  }			  
			}
			
			// Sa afisam ultimul submeniu 
			if (options.activeLast)
			{
			  $("."+options.htmlClass+':last', obj).css('display', 'block');			 
			}
			
			// Facem click pe primul linck
			if (options.clickClass)
			{				    		    
			    $("."+options.htmlClass+':first'+' .'+options.clickClass+':first', obj).trigger('click');			    		   
			}
			
			
			// Daca alegem o categorie 			 			
			$("."+options.itemClass, obj).click(function()
			{
				
			  // Stergem clasa ACTIVE de la ITEM selectat 
			  if ($("."+options.itemClass, obj).hasClass(options.itemActive)) 
			  {
				   $("."+options.itemClass, obj).removeClass(options.itemActive);
			  }	
			  
			  // Activam ITEM selectat
			  $(this).addClass(options.itemActive);
			  
			  // Afisam HTML carui corespunde Item dat 
			  var index = $("."+options.itemClass, obj).index(this) + 1 ; //-- cautam indexul care trebuei afisat
			  
              $("."+options.htmlClass, obj).hide(); // Ascundem toate HTML 	
			  $("."+options.htmlClass+':nth-child('+index+')', obj).fadeIn(); // Afisam HTML ales
			  
			  // Adaugam scrollingul			  
			  if (options.scrollClass)
			  { 
			    $("."+options.htmlClass+':nth-child('+index+')'+' .'+options.scrollClass, obj).jScrollPane();
			  }
			  
			  // Facem click pe primul linck
			  if (options.clickClass)
			  {			    
			    $("."+options.htmlClass+':nth-child('+index+')'+' .'+options.clickClass+':first', obj).trigger('click');			   
			  }
			  
			  //--- backround color ---
			  if (options.arrColor)
			  {					  
				  if (options.arrColor[index-1])
				  {
					  $(this).css({'background-color': options.arrColor[index-1]});
					  $("."+options.htmlClass+':nth-child('+index+')', obj).css({'background-color': options.arrColor[index-1]});  
				  }
			  }
			  //--- end --
			});	
			
			// Mouse over by submeniu mark by active 
			if (options.overClick)
			{
			  $("."+options.htmlClass, obj).mouseenter(function()
			  {
				 $(this).addClass('tabHtmlActive');				 
		 	  }).mouseleave(function()
			  {				  
				  $(this).hide();
				  $(this).removeClass('tabHtmlActive');
			  });
			}
			
			// Mouse over
			$("."+options.itemClass, obj).mouseover(function()
			{			  
			  if (options.overClass)
			  {			   
			    $(this).addClass(options.overClass);  // Activam ITEM selectat			    
			  }
			  
			  if (options.overClick)
			  {
				  // Stergem clasa ACTIVE de la ITEM selectat 
				  if ($("."+options.itemClass, obj).hasClass(options.itemActive)) 
				  {
					   $("."+options.itemClass, obj).removeClass(options.itemActive);
					   if (options.arrColor)				 
					    {
						   $("."+options.itemClass, obj).removeAttr("style")
					    }
				  }	
				  
				  // Activam ITEM selectat
				  $(this).addClass(options.itemActive);
				  
				  // Afisam HTML carui corespunde Item dat 
				  var index = $("."+options.itemClass, obj).index(this) + 1 ; //-- cautam indexul care trebuei afisat
				  				  
	              $("."+options.htmlClass, obj).hide(); // Ascundem toate HTML 	
				  $("."+options.htmlClass+':nth-child('+index+')', obj).fadeIn(); // Afisam HTML ales
				  
				  //--- backround color ---
				  if (options.arrColor)
				  {					  
					  if (options.arrColor[index-1])
					  {
						  $(this).css({'background-color': options.arrColor[index-1]});
						  $("."+options.htmlClass+':nth-child('+index+')', obj).css({'background-color': options.arrColor[index-1]});  
					  }
				  }
				  //--- end --
				  
				  if (options.scrollClass)
				  {	
					   var scalss = ' .'+options.scrollClass;
					   var pane = $(scalss, obj).jScrollPane();
				  }
			  }
			});	
			
			// Mouse out
			$("."+options.itemClass, obj).mouseout(function()
			{			   
			  if (options.overClass)
			  { 
			    $(this).removeClass(options.overClass); // Stergem ITEM selectat			   
			  }			  
			});	
			
			//-- acundem toate in afara de cel activ
			if (options.overClick)
			{
				$(this).mouseleave(function(){				  
					 $("."+options.htmlClass, obj).hide(); // Ascundem toate HTML 	
					 $("."+options.itemClass, obj).removeClass(options.itemActive);
					 if (options.arrColor)				 
					 {
					    $("."+options.itemClass, obj).removeAttr("style")
					 }
				  });
			}
			
		});
	  
	};

})(jQuery);
