jQuery.hslider = function(options)
{		
	var left_arrow = options.left_arrow;
	var right_arrow = options.right_arrow;
	var banner_container = options.banner_container;
	var banner_mask = options.banner_mask;
	var banner_items = options.banner_items;
	var banner_block_items =  options.banner_block_items;
	var animation_speed = options.animation_speed;
	var interval = options.interval;
	
	var autoSlideTimer = null;
	
	var banners = jQuery('#hslider div.item');
	
	
	if(banners.size() > 3)
	{
		jQuery(left_arrow).click(slideItemsRight);
		jQuery(right_arrow).click(slideItemsLeft);
	}
	else
	{
		jQuery(left_arrow).hide();
		jQuery(right_arrow).hide();
	}
	
	function slideItemsRight(ev)
	{
		ev.preventDefault();
		clearInterval(autoSlideTimer);
		slideItems(1);
	}
	
	function slideItemsLeft(ev)
	{
		ev.preventDefault();
		clearInterval(autoSlideTimer);
		slideItems(-1);
	}
	
	function slideItems(countItems)
	{
		var elementToSlide = null;
		var elementToRemove = null;
					
		if (elementToSlide > 0)
		{
			var elementToSlide = jQuery(banner_items + ":first");
			var elementToRemove = jQuery(banner_items + ":last");
		}
		else
		{
			var elementToSlide = jQuery(banner_items + ":last");
			var elementToRemove = jQuery(banner_items + ":first");
		}
		
		var sign = countItems >= 0 ? '+' : '-';
		var width = elementToSlide.width();		

	 	jQuery(banner_block_items).css({'position': 'relative'});
	 	
	 	if (sign== '+')
	 	{
	 		elementToSlide.remove().prependTo(banner_block_items);
	 		jQuery(banner_block_items).css({'marginLeft': -width});
	 	}
	 	
		jQuery(banner_block_items).animate({'marginLeft': sign +'='+ width}, {
									  	queue: false, 
								  		duration: animation_speed, 									  		
								  		complete: function()
								  		{
								  			swapItems(elementToSlide, elementToRemove, sign, width);
								  		}
									  });
	}
	
	function swapItems(elToSlide, elToRemove, sign, width)
	{
		var items = jQuery(banner_block_items);
		//var injectElement = el.remove();
		items.css({'marginLeft': 0});
		
		if (sign == '-')
		{			
			elToRemove.remove().appendTo(banner_block_items);
			//items.append();
		}
		
	}			
	
	if (interval)
	{
		autoSlideTimer = setInterval(function(){
		slideItems(-1)
		}, interval);
	}	
}
