$(function(){
	var cur = 0;
	$('.mod_pages_box_ss').each(function(){
		var ss = this;
		var scroll_timer = null;
		
		var ol = $('.mod_pages_btn_left', ss).position();
		var or = $('.mod_pages_btn_right', ss).position();
		var ow = $('.mod_pages_btn_left', ss).width();
		var oh = $(ss).height() - $('.mod_pages_btn_thumbs img', ss).height() - 20;
		$('.mod_pages_image, .mod_pages_progress', ss).css({
			left: (ol.left + ow + 10) + 'px',
			top: '10px',
			width: (or.left - ol.left - ow - 20) + 'px',
			height: oh + 'px'
		});
		ow = or.left - ol.left - ow - 20;
		
		$('.mod_pages_btn_left', ss).click(function(){
			$('.mod_pages_thumbs_cont img:eq(' + (cur - 1) + ')').click();
		});
		$('.mod_pages_btn_right', ss).click(function(){
			$('.mod_pages_thumbs_cont img:eq(' + (cur + 1) + ')').click();
		});
		
		$('.mod_pages_btn_thumbs img', ss).click(function(){
			$('.mod_pages_thumbs_cont', ss).slideToggle();
		});
		
		$('.mod_pages_thumbs_cont img', ss).click(function(){
			cur = $('.mod_pages_thumbs_cont img').index(this);
			$('.mod_pages_progress', ss).show();
			$('.mod_pages_thumbs_cont', ss).slideUp();
			var thumb = this;
			var img = new Image();
			$(img).load(function(){
				$('.mod_pages_image', ss).fadeOut(function(){
					$('.mod_pages_progress', ss).hide();
					var csw = $(this).width();
					var csh = $(this).height();
					
					var r = Math.min(csh / img.height, csw / img.width);
					img.width = Math.round(img.width * r);
					img.height = Math.round(img.height * r);
					$(this).html(img);
					$(img).css('margin-left', Math.round((csw - img.width) / 2) + 'px');
					$('.mod_pages_image', ss).fadeIn();
				});
			});
			img.src = thumb.src.replace(/_thumb/, '');
		}).eq(0).click();
		
		var scroll_func = function(pos, cont){
			window.clearTimeout(scroll_timer);
			if(pos <= 0.15) {
				cont.scrollLeft -= 10;
				scroll_timer = window.setTimeout(function(){ scroll_func(pos, cont); }, 100);
			}
			if(pos >= 0.85) {
				cont.scrollLeft += 10;
				scroll_timer = window.setTimeout(function(){ scroll_func(pos, cont); }, 100);
			}
		};
		
		$('.mod_pages_thumbs_cont')
			.mousemove(function(e){
				var cont = this;
				var pos = (e.pageX - $(cont).offset().left) / $(cont).width();
				scroll_func(pos, cont);
			})
			.mouseout(function(){
				window.clearTimeout(scroll_timer);
			});
	});
});
