
$(function() {
	var transition_speed = 300;
	var transition_interval = 4000;
	var iterator = 0;
	var frame_width = 105;
	var b_enableClicker = true;
	var on_hover = false;
	var strip_size = 4;

	var j_filmstrip = $('#iLantern .strip-wrapper .filmstrip');
	var j_frames = $('#iLantern .strip-wrapper .filmstrip img');
	var j_pics = $('#iLantern .panel-wrapper img');
	var item_count = j_pics.length;

	j_filmstrip.css({'width':(j_frames.length * 2 + strip_size) * frame_width, 'left':-frame_width});
	j_pics.hide().eq(0).show();

	var c =j_frames.eq(item_count - 1).clone();
	j_filmstrip.prepend(c);
	c.wrap('<li></li>');
	
	c = j_frames.clone().add(j_frames.slice(0, strip_size).clone());
	j_filmstrip.append(c);
	c.wrap('<li></li>');

	$('#iLantern .strip-wrapper .filmstrip img').click(function(e) {
		i = Math.floor((e.pageX - j_filmstrip.offset().left) / frame_width) - 1;
		if(i == iterator) return;
		distance = Math.floor((e.pageX - $('#iLantern .strip-wrapper').offset().left) / frame_width) * frame_width;
		showItem(i, distance);
	}).add(j_pics).hover(function(){on_hover = true;}, function(){on_hover = false;});
	$('img.btn-prev').click(showPrevItem);
	$('img.btn-next').click(showNextItem);
	$(document).everyTime(transition_interval,'transition',function(){
		if(!on_hover) showNextItem();
	});

	function showItem(i, distance) {
		if(!b_enableClicker) return ;

		$(document).stopTime('transition');
		b_enablePointer = false;
		iterator = (i + item_count) % item_count;
		j_pics.fadeOut(transition_speed).eq(iterator).fadeIn(transition_speed);

		var leftstr = (distance>=0?'-=':'+=')+Math.abs(distance)+'px';

		j_filmstrip.animate({'left':leftstr}, transition_speed, 'swing', function() {
			j_filmstrip.css('left','-'+(frame_width * (iterator+1))+'px');	
			b_enablePointer = true;
		});

		$(document).everyTime(transition_interval,'transition',function(){
			if(!on_hover) showNextItem();
		});
	}
	function showPrevItem() {showItem(--iterator, -105);}
	function showNextItem() {showItem(++iterator, +105);}
});
