var PictureSlider = function(containerId, currentPicture) {
	var container = $("#"+containerId);
	container.addClass("withJS");

	var wrap = $(".wrap", container);
	var scrollW = 520;

	var imgW = 130;
	var links = $("a", wrap);
	var pL = links.length;
	var wrapW = pL*imgW;

	var cPIndex = currentPicture;
	var paddingL = cPIndex+1 - 2;
	if(paddingL<0) {paddingL=0;}
	if(pL - (4+paddingL) < 0) {paddingL = pL - 4;}

	var currentI = links.index($(".current", wrap));
	var sL1 = 0;
	var slidePicture = function(sL) {
		sL1 = sL;
		wrap.scrollLeft(sL);
	};
	slidePicture(paddingL*imgW);

	var G = $("#gallery");

	$(".next", G).click(function() {
		var current = $(".current", wrap);
		var next = current.next();
		currentI = links.index(next)+1;
		if(currentI<=pL && currentI!=0) {
			current.removeClass("current");
			next.addClass("current");
			changeImg(next.attr("href"), currentI, $("img", next).attr("alt"));
		}
		return false;
	});
	$(".prev", G).click(function() {
		var current = $(".current", wrap);
		var prev = current.prev();
		currentI = links.index(prev)+1;
		if((currentI)>0) {
			current.removeClass("current");
			prev.addClass("current");
			changeImg(prev.attr("href"), currentI, $("img", prev).attr("alt"));
		}
		return false;
	});
	links.click(function() {
		if(!$(this).hasClass("current")) {
			$(".current", wrap).removeClass("current");
			$(this).addClass("current");
			changeImg($(this).attr("href"), links.index($(this))+1, $("img", $(this)).attr("alt"));
		}
		return false;
	});

	var changeImg = function(href, currentI, alt) {
		$("#content p:first").text(alt);
		$("img:first", G).unbind("load").load(function() {
			$(this).animate({opacity:1});
		}).css({opacity:1}).animate({opacity:0}, function() {
			$(this).attr({src:href, alt:alt});
		});
		if(currentI<pL && currentI>Math.round((sL1+scrollW)/imgW-1)) {
			slidePicture(((currentI+1)*imgW)-scrollW);
		}
		if(currentI>1 && currentI<Math.round(sL1/imgW+2)) {
			slidePicture(((currentI-2)*imgW));
		}
	};
};
