﻿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().size.y;
				this.items.each(function(li,index) {
				w += li.getSize().size.x;
			});
	} else {
			w = this.el.getSize().size.x;
			this.items.each(function(li,index) {
				h += li.getSize().size.y;
			});
		}
		this.el.setStyles({
			position: 'absolute',
			top: 0,
			left: 0,
			width: w,
				height: h
		});
		this.fx = new Fx.Styles(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.el.setStyles({
				left:0,
				top:0
			});
		}.bind(this)});
		this.current = 0;
		this.next();
		},
	
	pause: function() {
	    $clear(mytimer);
	    mytimer = null;
	},
	jump: function(text, id) {
		this.pause();
		resetall();
		var out = document.getElementById(id).innerHTML;
		document.getElementById(id).innerHTML = '<strong>' + out + '</strong>';
		document.getElementById('TickerVertical').innerHTML = '<li>' + text + '</li>';
	},
	resume: function() {
	    if (mytimer == null) {
	    this.next();
	    }
	},
	next: function() {
		var bolditem = this.current;
		var bolditemdisplay = bolditem + 1;
		// Justin, want to unbold them all first!!
		resetall();
		document.getElementById('jump'+ bolditem).innerHTML = '<strong>' + bolditemdisplay + '</strong>';
		this.current++;
		//alert("Count: " + out);
		if (this.current >= this.items.length) this.current = 0;
		var pos = this.items[this.current];
		this.fx.start({
			top: -pos.offsetTop,
			left: -pos.offsetLeft
		});
		mytimer = this.next.bind(this).delay(this.options.delay+this.options.speed);
	}
});

function resetall()
{
	var x = 0;
	while (x < 10)
	{
		try
		{
			document.getElementById('jump'+ x).innerHTML = x+1;
		}
		catch(err)
		{
			
		}
    	x++;
	}
}

var mytimer = null;

window.addEvent('domready', function() {
   var hor = new Ticker('TickerVertical', {
      speed : 500, delay : 5000, direction : 'vertical'});
    $('jump0').addEvent('click', function() {
		hor.jump(document.getElementById('news_0').innerHTML, 'jump0');
	});
	$('jump1').addEvent('click', function() {
		hor.jump(document.getElementById('news_1').innerHTML, 'jump1');
	});
	$('jump2').addEvent('click', function() {
		hor.jump(document.getElementById('news_2').innerHTML, 'jump2');
	});
	$('jump3').addEvent('click', function() {
		hor.jump(document.getElementById('news_3').innerHTML, 'jump3');
	});
	$('jump4').addEvent('click', function() {
		hor.jump(document.getElementById('news_4').innerHTML, 'jump4');
	});
	$('jump5').addEvent('click', function() {
		hor.jump(document.getElementById('news_5').innerHTML, 'jump5');
	});
	$('jump6').addEvent('click', function() {
		hor.jump(document.getElementById('news_6').innerHTML, 'jump6');
	});
	$('jump7').addEvent('click', function() {
		hor.jump(document.getElementById('news_7').innerHTML, 'jump7');
	});
	$('jump8').addEvent('click', function() {
		hor.jump(document.getElementById('news_8').innerHTML, 'jump8');
	});
	$('jump9').addEvent('click', function() {
		hor.jump(document.getElementById('news_9').innerHTML, 'jump9');
	});
});

function roll(img_name, img_src)
{
	document[img_name].src = img_src;
}

