	window.addEvent('domready', function() {
		if ($('NewsVertical')) {
			window.setTimeout("var hor = new Ticker('TickerVertical', {speed: 500, delay: 5000, direction: 'vertical'})",5000);
    	}
	});


	var Ticker = new Class({
	    setOptions: function(options) {
	        this.options = Object.extend({
	            speed: 1500,
	            delay: 5000,
	            direction: 'vertical',
	            onComplete: Class.empty,
	            onStart: Class.empty
	        }, options || {});
	    },
	    initialize: function(el, options) {
	        this.setOptions(options);
	        this.el = $(el);
	        this.items = this.el.getElements('li');
	        var w = 0;
	        var h = 0;
	        if (this.options.direction.toLowerCase() == 'horizontal') {
	            h = this.el.getSize().y;
	            this.items.each(function(li, index) {
	                w += li.getSize().x;
	            });
	        } else {
	            w = this.el.getSize().x;
	            this.items.each(function(li, index) {
	                h += li.getSize().y;
	            });
	        }
	        this.el.setStyles({
	            position: 'absolute',
	            top: 0,
	            left: 0,
	            width: w,
	            height: h
	        });
	        this.fx = this.el.set('morph', { duration: this.options.speed, onComplete: function() {
	            var i = (this.current == 0) ? this.items.length : this.current;
	            this.items[i - 1].injectInside(this.el);
	            this.el.setStyles({
	                left: 0,
	                top: 0
	            });
	        } .bind(this)
	        });
	        this.current = 0;
	        this.next();
	    },
	
	    pause: function() {
	        $clear(mytimer);
	        mytimer = null;
	    },
	    resume: function() {
	        if (mytimer == null) {
	            this.next();
	        }
	    },
	    next: function() {
	        this.current++;
	        if (this.current >= this.items.length) this.current = 0;
	        var pos = this.items[this.current];
	        this.el.morph({
	            top: -pos.offsetTop,
	            left: -pos.offsetLeft
	        });
	        mytimer = this.next.bind(this).delay(this.options.delay + this.options.speed);
	    }
	});
