$(function(){
					 
	jQuery.fn.scrollx = function(settings) {
		settings = jQuery.extend({
			visibleCount: 3
		}, settings)
	
		var container = this;
		var visibleWidth = 940;
		var scrollArea = $(".scrollArea",container);
		var itemList = $("table",scrollArea);
		var itemCount = $(".pub",itemList).size();
		var lentaWidth = 0;
		var itemWidth = 300;
		var firstItem = 0;
		var scrollPos = 0;
		var arrNext, arrPrev;
		var mouseIsDown;
		var mouseXStart;
		var arrNext, arrPrev;
		
		function _initialize() {
			if (itemCount>settings.visibleCount)
			{
				container.prepend('<span class="arrNext"></span><span class="arrPrev"></span>');
				arrNext = $(".arrNext", container);
				arrPrev = $(".arrPrev", container);

				arrNext.click(function(){
					if(itemCount-firstItem>settings.visibleCount)
					{
						firstItem++;
						_scroll_x();
					}
				});
				arrPrev.click(function(){
					if(firstItem>0)
					{
						firstItem--;																		
						_scroll_x();
					}
				});											 
				container.mousedown(function(event){
					event.preventDefault();
					mouseIsDown = true;
					mouseXStart = event.pageX;
				});
				
				container.mouseup(function(event){											
					mouseIsDown = false;
				});
				
				container.mouseout(function(event){
					mouseIsDown = false;
				});
				
				container.mousemove(function(event){
					event.preventDefault();
					if(mouseIsDown){
						if ((event.pageX-mouseXStart)<-20 && (itemCount-firstItem>settings.visibleCount)){				
							firstItem++;
							_scroll_x();
							mouseIsDown = false;
						}
						if ((event.pageX-mouseXStart)>20 && (firstItem>0)){				
							firstItem--;
							_scroll_x();
							mouseIsDown = false;
						}						
					}
				});
			}
			$(window).resize(_resize_area);
			setTimeout(_resize_area, 100);			
		}
		
		function _resize_area()
		{
			visibleWidth = scrollArea.width();
			itemWidth = visibleWidth/settings.visibleCount+1;
			$('.pub', scrollArea).width(itemWidth-9);
			scrollPos = firstItem * itemWidth;
			scrollArea.scrollLeft(scrollPos);
			lentaWidth = itemList.width();
			$(".arrNext, .arrPrev", container).height(container.outerHeight());
			if (itemCount>settings.visibleCount)
				_hide_btns();	
		}
		
		function _scroll_x()
		{
			scrollPos = firstItem * itemWidth;
			scrollArea.animate({scrollLeft: scrollPos}, 600, 'swing', _hide_btns);
		}
		
		function _hide_btns()
		{
			if(firstItem<=0) {
				arrPrev.hide();
			} else {
				arrPrev.show();
			}	
			if(itemCount-firstItem<=settings.visibleCount) {
				arrNext.hide();
			} else {
				arrNext.show();
			}	
		}
		
		if (container.size())
			_initialize();
	}
	
	$('#pubs').scrollx();
});


