var ticker = new Class({
	options: {
		angle: 0,
		speed: 50,
		hoverSpeed: 0,
		elements: []
	},
	initialize: function(options) {
		this.setOptions(options);
		this.addTickers(this.options.elements);
	},
	addTickers: function(elements) {
		$$(elements).each(function(e) {
			wrapper = new Element('div');

			wrapper.innerHTML = e.innerHTML;
			e.innerHTML = '';
			wrapper.style.position = 'absolute';
			wrapper.inject(e);

			e.style.overflow = 'hidden';
			e.style.position = 'relative';
			wrapper.style.width = e.style.width;

			angle = this.options.angle;

			if (angle == 0) {
				start = e.style.height;
				finish = (parseFloat(start.replace(/px/i, '')) * (-3)) + 'px';
				wrapper.style.top = start;
			} else if (angle == 90) {
				 finish = e.style.width;
				 start = (parseFloat(finish.replace(/px/i, '')) * (-1)) + 'px';
				 wrapper.style.left = start;
			} else if (angle == 180) {
				finish = e.style.height;
				start = (parseFloat(finish.replace(/px/i, '')) * (-3)) + 'px';
				wrapper.style.top = start;
			} else if (angle == 270) {
				 start = e.style.width;
				 finish = (parseFloat(start.replace(/px/i, '')) * (-1)) + 'px';
				 wrapper.style.left = start;
			}

			timer = false;

			tick = function() {
				if (angle == 0) {
					wrapper.style.top = (parseFloat(wrapper.style.top.replace(/px/i, '')) - 1) + 'px';

					if (wrapper.style.top == finish) {
						wrapper.style.top = start;
					}
				} else if (angle == 90) {
					wrapper.style.left = (parseFloat(wrapper.style.left.replace(/px/i, '')) + 1) + 'px';

					if (wrapper.style.left == finish) {
						wrapper.style.left = start;
					}
				} else if (angle == 180) {
					wrapper.style.top = (parseFloat(wrapper.style.top.replace(/px/i, '')) + 1) + 'px';

					if (wrapper.style.top == finish) {
						wrapper.style.top = start;
					}
				} else 	if (angle == 270) {
					wrapper.style.left = (parseFloat(wrapper.style.left.replace(/px/i, '')) - 1) + 'px';

					if (wrapper.style.left == finish) {
						wrapper.style.left = start;
					}
				}
			}

			defaultSpeed = this.options.speed;
			hoverSpeed = this.options.hoverSpeed == 0 ? 1 : this.options.hoverSpeed;
			refresh = 60000 / defaultSpeed;
			loop = tick.periodical(refresh);

			e.addEvent('mouseenter', function() {
				speed = 60000 / hoverSpeed;
				$clear(loop);
				loop = tick.periodical(speed);
			});

			e.addEvent('mouseleave', function() {
				speed = 60000 / defaultSpeed;
				$clear(loop);
				loop = tick.periodical(speed);
			});
		}, this);
	}
});
ticker.implement(new Options);

window.addEvent('domready', function() {



	new ticker({
		angle: 0,
		speed: 1000,
		hoverSpeed: 0,
		elements: [$('news')]
    });


});