(function($) {

	$.fn.htmlTabs = function(options)
	{
	  
		// default configuration properties
		var defaults = 
		{
			htmlClass  : 'tabHtml',			
			itemClass  : 'tabItem',
			itemActive : 'active',
			clickClass : false,
			activeFirst: true,
			activeLast : false,
			overClass  : false,
			scrollClass: 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 ) ) 
			  {	
			  		  
			  	if (getHash() > 0)
			  	{ 
			  	  options.activeFirst = getHash();			  	  
			  	} 
			    $("."+options.htmlClass+':nth-child('+options.activeFirst+')', obj).fadeIn(); //--- Pe primul div il afisam			  		
			    $("."+options.itemClass+':nth-child('+options.activeFirst+')', obj).addClass(options.itemActive);
			  }
			  else 
			  {			  
			    $("."+options.htmlClass+':first', obj).fadeIn(); //--- Pe primul div il afisam			  		
			    $("."+options.itemClass+':first', obj).addClass(options.itemActive);
			  }			  
			}
			
			// 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');			   
			  }
			});	
			
			// Mouse over
			$("."+options.itemClass, obj).mouseover(function()
			{			  
			  if (options.overClass)
			  {			   
			    $(this).addClass(options.overClass);  // Activam ITEM selectat
			  }
			});	
			
			// Mouse out
			$("."+options.itemClass, obj).mouseout(function()
			{			   
			  if (options.overClass)
			  { 
			    $(this).removeClass(options.overClass); // Stergem ITEM selectat
			  }
			});	
			
			function getHashFromString(hash) 
			{			
		     if (!hash) return -1;
		     hash = hash.replace(/^.*#/, '');		    		    
		     if (isNaN(hash)) return -1;
		     return (+hash);
	        }
	        	        
	    function getHash() 
	    {
		    var hash = location.hash;
		    return getHashFromString(hash);
	    }
			
		});
	  
	};

})(jQuery);
