
(function(){
	var slider = {};

	$(document).ready(function(){
		slider.len = $('#slider ul li').length;
		slider.speed = .4;	//	od 0 do 1
		slider.pos = 0;
		slider.num = 0;
		slider.el = {w: 150, h: 100};
		var html = '';
		html += '<li>'+$('#slider ul li').eq(0).html()+'</li>';
		html += '<li>'+$('#slider ul li').eq(1).html()+'</li>';
		$('#slider ul').append(html);
		addStyles();
		updateSliderView();
		
		$('#prev').click(function(){
			slider.num++;
			//slider.num = (slider.num+1) % slider.len;
			clearInterval(slider.iid);
			slider.iid = setInterval(animation, 30);
		});
		
		$('#next').click(function(){
			slider.num--;
			//slider.num = (slider.num-1+slider.len) % slider.len;
			clearInterval(slider.iid);
			slider.iid = setInterval(animation, 30);
		});
	});

	function addStyles(){
		$("#slider").width(slider.el.w*2);
		$("#slider").height(slider.el.h);
		$("#slider ul").width((slider.len+2)*slider.el.w);
	}

	function animation(){
		var dest = (slider.num)*slider.el.w;
		//var dest = (slider.num-slider.len)*slider.el.w;
		var dif = dest - slider.pos;
		if( Math.abs(dif) < 2 ){
			slider.pos = dest;
			clearInterval(slider.iid);
		}else{
			slider.pos += dif * slider.speed;
		}
		updateSliderView();
	}

	function updateSliderView(){
		var sw = slider.el.w*slider.len;
		slider.pos = (slider.pos + sw) - sw;
		$("#slider ul").css('left', ((slider.pos + Math.ceil(-slider.pos/sw)*sw)% sw -sw) + 'px');
	}
})();
