var Ticker = new Class({
				setOptions: function(options) {
					this.options = Object.extend({
						speed: 5500,
						delay: 500,
						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()=='vertical') {
						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 = new Fx.Morph(this.el,
						{duration:this.options.speed});
					this.fx.addEvent('complete', 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();
					
					this.el.addEvent('mouseover', this.pause.bind(this));
					this.el.addEvent('mouseout', this.unpause.bind(this));
					
				},
				isPause: false,
				pause: function() {
					this.isPause = true;
				},
				unpause: function() {
					this.isPause = false;
				},
				next: function() {
					if (!this.isPause) {
						this.current++;
						if (this.current >= this.items.length) this.current = 0;
						var pos = this.items[this.current];
						this.fx.start({
							top: -pos.offsetTop,
							left: -pos.offsetLeft
						});
					}
					this.next.bind(this).delay(this.options.delay+this.options.speed);
				}
			});
