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;
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();
},



back: 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
});

/*if (this.items[this.current])
{

	var text = this.items[this.current].get('text');
	var link = this.items[this.current].get("html");
	var id = "li_" + this.current;

	this.items[this.current].set('id',id);
	this.items[this.current].set('text','');
	var t = new Typewriter({
		container: $(id),
		message: text,
		html: link,
		delay:50
	}).start();
}*/



mytimer = this.back.bind(this).delay(this.options.delay+this.options.speed);
},

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
});

/*if (this.items[this.current])
{

	var text = this.items[this.current].get('text');
	var link = this.items[this.current].get("html");
	var id = "li_" + this.current;

	this.items[this.current].set('id',id);
	this.items[this.current].set('text','');
	var t = new Typewriter({
		container: $(id),
		message: text,
		html: link,
		delay:50
	}).start();
}*/


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();
}
}
}
});
			

//class is in
/*var Typewriter = new Class({
	
	//implements
	Implements: [Options],

	//options
	options: {
		container: $(document.body),
		message: '',
		html: '',
		delay: 150,
		cursor: 0
	},
	
	//initialization
	initialize: function(options) {
		//set options
		this.setOptions(options);
	},
	
	//start the typewriter
	start: function() {
		
		//for every letter
		for(x = 0; x < this.options.message.length; x++)
		{
			//spit out the letter
			var id = this.setLetter.delay(this.options.delay * x,this);
		}

	},
	
	//place the newest letter in the container
	setLetter: function() {
		
		this.options.container.set('html',this.options.container.get('html') + '' + this.options.message.charAt(this.options.cursor));
		
		//increment cursor
		this.options.cursor++;

		if (this.options.container.get('html') == this.options.message)
		{
			this.options.container.set('html',this.options.html);
		}

		
	}
});*/
