
var Ticker = new Class({
setOptions: function(options) {
this.options = Object.extend({
speed:2000 ,
delay: 10000,
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;
var flagMotionControl = 'not running';



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 = new Fx.Morph(this.el,{duration:this.options.speed,onComplete:function() {
var i = (this.current==0)?this.items.length:this.current;
this.items[i-1].injectInside(this.el);
this.flagMotionControl = 'not running';
this.el.setStyles({
left:0,
top:0
});
}.bind(this)});
this.current = 0;
this.next();
},


next: function() {
this.current++;
if (this.current >= this.items.length) this.current = 0;
var pos = this.items[this.current];
this.flagMotionControl = 'running';
this.fx.start({
top: -pos.offsetTop,
left: -pos.offsetLeft
});
//this.next.bind(this).delay(this.options.delay+this.options.speed);
//In the next function, set the mytimer var to the delay timer.
mytimer = this.next.bind(this).delay(this.options.delay+this.options.speed);
},

pause: function() {
	//if(this.flagMotionControl == 'not running'){
		
     $clear(mytimer);
      mytimer = null;
	//}
},



resume: function() {
if(this.flagMotionControl == 'not running'){
   if (mytimer == null) {
    this.next();
  }
}
}

});