/*
* Tadas Juozapaitis ( kasp3rito@gmail.com )
*/
(function($) {
    $.fn.vTicker = function(options) {
        var defaults = {
            speed: 700,
            pause: 4000,
            showItems: 3,
            animation: '',
            mousePause: true,
            isPaused: false
        };
        moveUp = function(obj2, height) {
            if (obj2.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('display','');
            obj.css({ overflow: 'hidden', position: 'relative' })
			.children('ul').css({ position: 'absolute', margin: 0, padding: 0 })
			.children('li').css({ margin: 0, padding: 0 });

            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() {
                    obj.isPaused = true;
                }).bind("mouseleave", function() {
                    obj.isPaused = false;
                });
            }
        });
    };
})(jQuery);


