jQuery.vslider = function(options)
{	
	var top_arrow = options.top_arrow;
	var bottom_arrow = options.bottom_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('#vslider div.item');
	
	if(banners.size() > 4)
	{
		jQuery(top_arrow).click(slideItemsUp);
		jQuery(bottom_arrow).click(slideItemsDown);
	}
	else
	{
		jQuery(top_arrow).hide();
		jQuery(bottom_arrow).hide();
	}
	
	function slideItemsUp(ev)
	{
		ev.preventDefault();
		clearInterval(autoSlideTimer);
		slideItems(1);
	}
	
	function slideItemsDown(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 height = elementToSlide.height();
	 		 			 	
	 	jQuery(banner_block_items).css({'position': 'relative'});
	 	
	 	if (sign== '+')
	 	{
	 		elementToSlide.remove().prependTo(banner_block_items);
	 		jQuery(banner_block_items).css({'marginTop': -elementToSlide.height()});
	 	}
	 	
		jQuery(banner_block_items).animate({'marginTop': sign +'='+ height}, {
									  	queue: false, 
								  		duration: animation_speed, 									  		
								  		complete: function()
								  		{
								  			swapItems(elementToSlide, elementToRemove, sign, height);
								  		}
									  });
	}
	
	function swapItems(elToSlide, elToRemove, sign, height)
	{
		var items = jQuery(banner_block_items);
		//var injectElement = el.remove();

		if (sign == '-')
		{
			items.css({'marginTop': 0});
			elToRemove.remove().appendTo(banner_block_items);
			//items.append();
		}
		else
		{								
			items.css({'marginTop': 0});				
		}
	}			
	
	if (interval)
	{
		autoSlideTimer = setInterval(function(){
		slideItems(-1)
		}, interval);
	}
	

	
}
