$(document).ready(function MakeGallery() {
	var current = 1;
	$('#gallery').addClass('hasjs');
	$('#gallery li.video').append('<span class="video" />');
	var numtotal = 1*$('#gallery #thumbs li:last').attr('rel');
	var working = false;
	
	$('#gallery .cv').append('<div id="image"></div><div class="nav"><a class="prev inact"></a><a class="next"></a></div>');

	var prevLink = $('#gallery a.prev');
	prevLink.click(function(){
		if(current > 1) {
			showItem(current - 1);
		}
		return false;
	});
	var nextLink = $('#gallery a.next');
	nextLink.click(function() {
		if(current < numtotal) {
			showItem(current + 1);
		}
		return false;
	});

	var startWork = function() {
		var ret = (working == false);
		if(ret) {
			working = true;
			$('#thumbs li a, #gallery div.nav a').addClass('working');
		}
		return ret;
	}
	
	var endWork = function() {
		$('#thumbs li a, #gallery div.nav a').removeClass('working');
		working = false;
	}
	
	var loadImageBox = function (html) {
		var node = $(html);

		var current = $('#image .imwrap');
		current.css({zIndex: 25});
				
		$('#image').append(node);
		if(current.length) {
			current.fadeOut(200, function(){
				$(current).remove();
				endWork();
			});
		} else {
			endWork();
		}
	}
	
	var setCurrent = function (num, url) {
		current = num;
		if(num == 1) { prevLink.addClass('inact'); } else { prevLink.removeClass('inact'); }
		if(num == numtotal) { nextLink.addClass('inact'); } else { nextLink.removeClass('inact'); }
		
		if(numtotal > 5) {
			var mnum = num;
			if(mnum < 3) {
				mnum = 3;
			} else if(mnum > numtotal - 2) {
				mnum = numtotal - 2;
			}
			var topmargin = -100 * mnum + 300;
			$('#thumbs ul').animate({marginTop: topmargin +'px'}, 500, 'swing');
		}
	}
	
	var showItem = function(i) {
		var li = $('#thumbs li[rel='+i+']');
		if(!li.hasClass('current')) {
			if(startWork()) {
				var img = $('img',li);
				var a =  $('a',li);
			
				$('#thumbs li.current').removeClass('current');
				li.addClass('current');
			
				//load image HTML
				var url = a.attr('href');
				$.get( url, {ajx:1}, loadImageBox, 'html');
			
				var num = 1*li.attr('rel');
				setCurrent(num, url);
			}
		}
	}

	$('#thumbs li a').click(function() {
		var i = $(this).closest('li').attr('rel');
		showItem(i);
		return false;
	});
	
	showItem(1);
});
