$(window).load(function() {
	var gallery = $('div.gallery');
	if(gallery.length < 1) return;
	
	var imgWidth = 0;
	var navGallery = gallery.next('ul.navGallery');
	var images = $('li', gallery);
	images.each(function() {
		// imgWidth += $(this).innerWidth();
		navGallery.append('<li><a href="#">&nbsp;</a></li>');
	});
	// add margin:
	imgWidth += images.length * 654;
	gallery.css('width', imgWidth + 'px');
	gallery.parents('#content').addClass('gallery_on');
	
	var navItems = $('a', navGallery);
	
	var moveToImg = function(index) {
		var image = images.eq(index);
		gallery.stop().animate({left: -image.position().left + 'px'}, 'normal', 'swing');
		navGallery.children().eq(index).addClass('selected').siblings().removeClass('selected');
		navItems.data('current', index);				
	};
	navItems.click(function() {
		clearTimeout(ticker);
		moveToImg($(this).parent().index());					
	});
	
	moveToImg(0);
		
	gallery.bind('mousewheel', function(event, delta) {
		clearTimeout(ticker);
		var dir = delta > 0 ? -1 : 1;
		moveImg(dir);
		return false;
	});
	
	$(document).bind('keydown', function(event) {
		var dir = 0;
		if(event.which == '37') {
			dir = -1;
		} else if(event.which == '39') {
			dir = 1;
		}
		if(dir != 0) {
			event.preventDefault();
			clearTimeout(ticker);
			moveImg(dir);
		}
	});
	
	function moveImg(step) {
		var total = images.length -1;
		var newIndex = navItems.data('current') + step;
		if(newIndex < 0) {
			newIndex = total;
		} else if(newIndex > total) {
			newIndex = 0;			
		}
		moveToImg(newIndex);
	};
	
	function nextImageTicker() {
		moveImg(1);
		ticker = setTimeout(nextImageTicker, 3000);
	};
	
	var ticker = setTimeout(nextImageTicker, 3000);
		
});
