
;(function($) {
	$.fn.sliderScroll = function(options) {
		
		var container = $(this);
        var ul = $('ul', container);
        var slider = $('.slider', container);
        var width = 0;
        
        $('li', ul).each(function(){
        	width += $(this).width() + parseInt($(this).css('padding-left')) + parseInt($(this).css('padding-right'));
        });
        
        $('li:last', ul).addClass('last').siblings();
        
        ul.width(width);
        
        var itemsWidth = width - container.width();
        if(itemsWidth < 0)
        	return;
        $(slider).slider({
            min: 0,
            max: itemsWidth,
            handle: '.ui-slider-handle',
            stop: function (event, ui) {
                ul.animate({'left' : ui.value * -1}, 500);
            },
            slide: function (event, ui) {
            	ul.css('left', ui.value * -1);
            }
        });
        
        $(".btn-left").click(function(){
        	var elValue = $('.slider', container).slider('option', 'value');
        	
        	if(elValue > 0) {
        		elValue = elValue - 100;
        		
        		if(elValue < 0) {
        			elValue = 0;
        		}
        	
        		$(".sliderGallery .slider").slider('value', elValue);
        		$(".sliderGallery ul").animate({'left' : elValue * -1}, 500);
        	}
        });
        
		$(".btn-right").click(function(){
			var elValue = $('.slider', container).slider('option', 'value');
			
			if(elValue < itemsWidth) {
				elValue = elValue + 100; 
				
				if(elValue > itemsWidth) {
					elValue = itemsWidth;
				}
			
				$(".sliderGallery .slider").slider('value', elValue); 
				$(".sliderGallery ul").animate({'left' : elValue * -1}, 500);
			}
		});
		
		
		$("span.end").click(function(){
			var elValue = $('.slider', container).slider('option', 'value');
			elValue = itemsWidth;
			
			$(".sliderGallery .slider").slider('value', elValue); 
			$(".sliderGallery ul").animate({'left' : elValue * -1}, 500);
		});

		$("span.start").click(function(){
			var elValue = $('.slider', container).slider('option', 'value');
			elValue = 0;
  
			$(".sliderGallery .slider").slider('value', elValue); 
			$(".sliderGallery ul").animate({'left' : elValue * -1}, 500);
		});
		
		var count = $('li', ul).length;
		var idx = 0;
		var parts = {};
		$('li', ul).each(function() {
			var rel = $(this).attr('rel');
			
			if(!parts[rel]) {
				parts[rel] = 1;
			}
			else {
				parts[rel]++;
			}
		});
		
		var spanWidth = parseFloat((slider.width()-80) / count);
		
		var i = 1;
		var w = 0;
		var left = [];
		left[0] = w;
		for(val in parts) {
			w += parts[val] * spanWidth + 35;
			left[i++] = w;
		}
		
		var i = 0;
		$('span', slider).each(function() {
			$(this).css('left', left[i++] + 'px');
		});
		
		
		$('span.end').click();
	}

})(jQuery);
