;(function($) {

	$.fn.htmlSlider = function(options)
	{
	  
		// default configuration properties
		var defaults = {
			prevClass  :  'prevBtn',						
			nextClass  :  'nextBtn',
			pageClass  :  'sliderPage',
			sliderClass:  'sliders',
			sliderULClass:  'sliderUL',
			sliderLIClass:  'sliderLI',
			
			orientation: '', //  'vertical' is optional;
			speed      : 800,
			autoRun	   : true,
			delay      : 5000,
			opacity    : false,
			borderColor     : ' 1px solid #FFFFFF ',
			selborderColor  : ' 1px solid #ff0000 ',
            overborderColor : ' 1px solid #0056A7 '							
		}; 
		
		var options = $.extend(defaults, options);  
		
		return this.each(function() 
		{
			var obj = $(this); 				
			var s = $("li."+options.sliderLIClass, obj).length;			
			var w = $("."+options.sliderClass, obj).width(); 
			var h = $("."+options.sliderClass, obj).height(); 
			var ts = s-1;			
			var t = 0;
			var page = 0;
			var vertical = (options.orientation == 'vertical');
			$("ul."+options.sliderULClass, obj).css('width',s*w);			
			if(!vertical) $("li."+options.sliderLIClass, obj).css('float','left');
			
			if (options.opacity)
			{
			  $("li img", obj).css('opacity', options.opacity).css('border', options.borderColor);
			}
												
			$("."+options.prevClass, obj).hide();
			$("."+options.nextClass, obj).hide();
			
			Play(); //--- merge singura
			
			$("li img", obj).click(function()
			{
			   if (options.opacity)
			   {
			     $("li img", obj).css('opacity', options.opacity).css('border', options.borderColor);
			     $("li img", obj).removeClass('jqueryActive');			   
			     $(this).animate({opacity: 1.0}).css('border', options.selborderColor);		
			     $(this).addClass('jqueryActive');	     
			   }
			});
			
			$("li img", obj).mouseover(function()
			{
			   if (options.opacity)
			   { 		
			       if ( ! $(this).hasClass('jqueryActive') )	     			    
			         $(this).css('opacity', 1.0).css('border', options.overborderColor);		    
			   }
			});
			
			$("li img", obj).mouseout(function()
			{
			   if (options.opacity)			    
			   {			     	
			     if ( ! $(this).hasClass('jqueryActive') )	    
			       $(this).css('opacity', options.opacity).css('border', options.borderColor);			    
			   }
			});
			
			$("."+options.nextClass, obj).click(function()
			{
			    options.autoRun = false;				  
				animate("next");
				if (t>=ts) $(this).fadeOut();
				$("."+options.prevClass, obj).fadeIn();
			});
			
			$("."+options.prevClass, obj).click(function()
			{		
			    options.autoRun = false;
				animate("prev");
				if (t<=0) $(this).fadeOut();
				$("."+options.nextClass, obj).fadeIn();
			});	
			
			$("."+options.pageClass, obj).click(function()
			{ 		  
			  options.autoRun = false;
			  page = getHashFromString( $(this).attr("href") );	
			  animate("page");				  
			  if (page>=ts) 
			  {			   
			    $("."+options.nextClass, obj).fadeOut();	
			    $("."+options.prevClass, obj).fadeIn();
			  }
			  
			  if (page<=0) 
			  {
			    $("."+options.prevClass, obj).fadeOut();
			    $("."+options.nextClass, obj).fadeIn();	  				
			  }
			  
			});	
			
			function Play ()
			{  
			   if (options.autoRun) 
			   {
			    if (t >= ts) t = -1;			   
			    //animate("next"); 
			    setTimeout(function() {animate("next");  Play ();  }, options.delay);
			   }			   		
			}
			
			function animate(dir)
			{			
				if(dir == "next")				
					t = (t>=ts) ? ts : t+1;					
				else if(dir == "prev")					
					t = (t<=0)  ? 0 : t-1;
				else 
				    t = page;
				
				if ( $("."+options.pageClass,obj) )
				{ 
				  // Deselectam toate imaginele 
					$("."+options.pageClass,obj).children("img").attr("src", '/img/site/btn_sl_i.png');
				       var index = t+1;
				       $('.'+options.pageClass+':nth-child('+index+')', obj).children("img").attr("src", '/img/site/btn_sl_a.png');
				}   
             					  
				if(!vertical) 
				{				  
					p = (t*w*-1);										
					$("ul."+options.sliderULClass,obj).animate( { marginLeft: p },  options.speed );				
				} 
				else 
				{				   
					p = (t*h*-1);
					$("ul."+options.sliderULClass,obj).animate( { marginTop: p }, options.speed );					
				}
				
			};
			
			if(s>1) $("."+options.nextClass, obj).fadeIn();	
						
			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);
