jQuery.fn.slidingGallery = function(option) {
	option = jQuery.extend({
		slideAnimate: false,
		slideSpeed: 500
	}, option);	
	
	return this.each(function(i){	
	
		$(this).attr('id','slidingGallery'+i);
		var
			scrollContent = $(this).find('ol');
			scrollItem = scrollContent.children('li');
			scrollDone = true;
			scrollContentWidth = 0;
			scrollNav = '';
			tab = $('#fancybox-tmp', window.parent.document).attr('data-tab');
			subtab = $('#fancybox-tmp', window.parent.document).attr('data-subtab');
		
		scrollItem.each(function(){
			scrollContentWidth = parseInt($(this).outerWidth()) + parseInt(scrollContentWidth);
		});
		
		scrollContent.css('width',scrollContentWidth+'px').wrap('<div class="slider"></div>');
		
		
	
		scrollNav += '<a href="#" class="btn btn-prev" rel="0" title="Poprzednia strona"><span>poprzedni</span></a>';
		scrollNav += '<a href="#" class="btn btn-next" rel="0" title="Następna strona"><span>następny</span></a>';
		$(this).append(scrollNav);
		$(this).prepend('<span class="slide-eq">strona <span>1</span>/'+scrollItem.length+'</span>')
		
			
		var scrollRewind, scrollForward;
		
		function navigate(scrollPosition,scrollItemCnt){
			scrollRewind = $('#slidingGallery'+i).find('.btn-prev');
			scrollForward = $('#slidingGallery'+i).find('.btn-next');					
			
			if(scrollPosition <= 0)
				scrollRewind.hide();
			else
				scrollRewind.show();
				
			if(scrollPosition >= scrollItemCnt-1)
				scrollForward.hide();
			else
				scrollForward.show();	
		
			scrollRewind.attr('rel',scrollPosition-1);
			scrollForward.attr('rel',scrollPosition+1);
		}
		
		//tabNavigation();
		if(subtab == '0' || subtab == undefined)
			navigate(0,scrollItem.size());
		else{
			j = parseInt(subtab.match(/[\d]/));	
			slide(j,1,0);
		}
		
		
		$('#tabs-nav span a').click(function(e){
			scrollItemCnt = scrollItem.size();
			scrollItem = scrollContent.children('li');
			j = $(this).attr('rel').split('|')[1];
			if(j != 0){
				j = parseInt(j.match(/[\d]/));
				slide(j,1,0);
			}
		});
		
		$(this).find('.btn').unbind().bind('click', function(event){
			event.preventDefault();	
			j = parseInt($(this).attr('rel'));
			if($(this).is('.btn-prev'))
				scrollStep = 0;
			else
				scrollStep = 1;
			slide(j,scrollStep,1);
		});
		
		function slide(j,step,singleStep){
			scrollContent = $('#slidingGallery'+i).find('ol');
			scrollItem = scrollContent.children('li');
			scrollItemCnt = scrollItem.size();
			
			if(scrollDone){
				scrollDone = false;
				
				navigate(j,scrollItemCnt);
				
				scrollStep = scrollItem.eq(j).outerWidth();
				
				if(step == 0)
					scrollStep = -scrollStep;
				
				
				if(singleStep)	{
					scrollContent.animate({marginLeft: parseInt(scrollContent.css('margin-left')) - scrollStep +'px' }, option.slideSpeed,function(){
						slideDone(j);
					});
				}
				else{
					scrollContent.animate({marginLeft: -(scrollStep*j) +'px' }, option.slideSpeed,function(){
						slideDone(j)
					});
				}
			
				function slideDone(j){
					scrollDone = true;
					$('.slide-eq span').text((j+1));
					Cufon.replace('.slide-eq span');
				}
			
			}		
	   } // slide
	
	}); // each
}
	
