// JavaScript Document



var ticker = {
	
	labels : [
			  'VIEW THE LATEST PRESS ARTICLES',
			  'READ LATEST NEWS',
			  'SEE WHAT OUR CLIENTS THINK',
			  'WHITE DESERT SHOPPING'
			  ],
	links : [
			 '/press-releases/',
			 '/press-releases/#latest-news',
			 '/testimonials/',
			 '/shop/'
			 ],
	currentLabel : 0,
	element: 'ticker',
	speeds : {
		'typing' : 100,
		'color' : 1000,
		'hold' : 5000,
		'fadeOut' : 1000
	},
	fx : {
		'color' : '',
		'fade' : ''
	},
		
	letterIndex: 0,
	per : '',
	
	splitLabel: function(lbl){
		var ret = [];
		for(var i=0; i<lbl.length; i++){
			ret.push( lbl.charAt(i) );
		}
		return ret;
	},
	
	addLetter: function(letters){
		$(ticker.element).style.marginTop = 0;
		if( ticker.letterIndex > (letters.length - 1) ){
			$clear( ticker.per );
			ticker.letterIndex = 0;
			ticker.turnOrange();
			return;
		}else{
			var txt = $(ticker.element).getText();
			if(letters[ticker.letterIndex] == ' ') letters[ticker.letterIndex] = '&nbsp;';
			$(ticker.element).setHTML(txt + letters[ticker.letterIndex]);
			ticker.letterIndex = ticker.letterIndex + 1;
		}
	},
	
	handleClick: function(){
		window.location.href = ticker.links[ticker.currentLabel];
	},
	 		
	
	showLabel : function(){
		$(ticker.element).setText('');
		$(ticker.element).style.marginTop = '0px';
		var lbl = ticker.labels[ticker.currentLabel];
		var letters = ticker.splitLabel(lbl);
		ticker.per = ticker.addLetter.periodical( ticker.speeds.typing, $(ticker.element), [letters] ); 
	},
	
	turnOrange: function(){
		ticker.fx.color = new Fx.Style( ticker.element, 'color', {duration:ticker.speeds.color});
		ticker.fx.color.start( '#868D99', '#C37B37' );
		ticker.hideLabel.delay( ticker.speeds.hold );
	},
	
	hideLabel: function(){
		ticker.fx.fade = new Fx.Style( ticker.element, 'margin-top', {duration:ticker.speeds.fadeOut});
		ticker.fx.fade.start(0,-50);
		ticker.resetAll.delay( ticker.speeds.fadeOut );
	},
	
	resetAll: function(){
	$(ticker.element).setText('');
	ticker.fx.color = '';
	ticker.fx.fade = '';
	
		$(ticker.element).setStyles({
			'visibility' : 'visible',
			'color': '#868D99',
			'margin-top' : 0
									});
		$(ticker.element).setOpacity(1);
	ticker.currentLabel = ticker.currentLabel + 1;
	if( ticker.currentLabel >= ticker.labels.length ) ticker.currentLabel = 0;
	ticker.showLabel();
	}
}


window.addEvent('domready', function(){
	ticker.showLabel();
	$(ticker.element).addEvent('click', ticker.handleClick);
									 });			

	
		
