﻿/*
* Tadas Juozapaitis ( kasp3rito@gmail.com )
*/
(function($) {
	$.fn.vTicker = function(options) {
		var defaults = {
			speed: 700,
			pause: 2000,
			showItems: 2,
			animation: '',
			mousePause: true,
			isPaused: false
		};

		var options = $.extend(defaults, options);

		moveUp = function(obj2, height) {
			if (options.isPaused)
				return;

			var obj = obj2.children('ul');

			first = obj.children('li:first').clone(true);

			obj.animate({ top: '-=' + height + 'px' }, options.speed, function() {
				$(this).children('li:first').remove();
				$(this).css('top', '0px');
			});

			if (options.animation == 'fade') {
				obj.children('li:first').fadeOut(options.speed);
				obj.children('li:last').hide().fadeIn(options.speed);
			}

			first.appendTo(obj);
		};

		return this.each(function() {
			var obj = $(this);
			var maxHeight = 0;

			obj.css({ overflow: 'hidden', position: 'relative' })
			.children('ul').css({ position: 'absolute'})
			.children('li').css({});

			obj.children('ul').children('li').each(function() {
				if ($(this).height() > maxHeight) {
					maxHeight = $(this).height();
				}
			});

			obj.children('ul').children('li').each(function() {
				$(this).height(maxHeight);
			});

			obj.height(maxHeight * options.showItems);

			var interval = setInterval(function() { moveUp(obj, maxHeight); }, options.pause);

			if (options.mousePause) {
				obj.bind("mouseenter", function() {
					options.isPaused = true;
				}).bind("mouseleave", function() {
					options.isPaused = false;
				});
			}
		});
	};
})(jQuery);
