var torwood = {
	intro: function() {
		var root 	= this;
		var W 		= 0;
		
		this.panels 	= [];
		this.text 	= [];
		this.controls	= [];
		this.level	= 100;
		
		this.inst 	= new YAHOO.util.Element('intro');

		var control = function(parent)
		{
			var mc = this;

			this.inst = new YAHOO.util.Element(document.createElement('a'));
			this.inst.get('element').innerHTML = '<img src="/assets/images/intro-point.png">';

			this.set_selected = function()
			{
				var arr = root.controls;
				
				for(var i = 0; i < arr.length; i++)
				{
					var obj = arr[i];
					
					obj.inst.get('element').innerHTML = '<img src="/assets/images/intro-point.png">';
				}
				
				mc.inst.get('element').innerHTML = '<img src="/assets/images/intro-point-selected.png">';
				parent.set_selected();
			}
			
			this.inst.on('click', mc.set_selected);
			var controller = document.getElementById("controller");
			controller.appendChild(this.inst.get('element'));
		}
		
		var panel = function(el)
		{
			this.inst = new YAHOO.util.Element(el);
			this.mask = new YAHOO.util.Element(this.inst.getElementsByClassName('mask', 'div')[0]);
		
			this.set_selected = function()
			{
				this.mask.setStyle('width', '0px');
				this.inst.setStyle("z-index", root.level++);
				this.maskAnim = new YAHOO.util.Anim(this.mask.get('element'), {
					width: {
					to: 939 
					} 
				}, 1, YAHOO.util.Easing.easeOut);
				
				this.maskAnim.animate();					
			}
		}
		
		var text = function(el, parent, p, d)
		{
			var mc = this;
			
			this.delta	= -d;
			this.panel 	= p;
			this.inst	= new YAHOO.util.Element(el);
			this.control 	= new control(this);
			this.parent	= parent;
			
			parent.controls.push(this.control);
			
			this.get_W = function()
			{
				return parseFloat(this.inst.getStyle('width'));
			}
			
			this.set_selected = function()
			{
				var sliderAnim = new YAHOO.util.Anim('texts', {
					marginLeft: {
					to: this.delta 
					} 
				}, 1, YAHOO.util.Easing.easeOut);
				
				sliderAnim.animate();
				this.panel.set_selected();
			}
		}
		
		this.selectedCurrent = -1;
		
		this.Next = function() {

			//alert("test");

			root.selectedCurrent++;
			
			if (root.selectedCurrent >= root.controls.length) root.selectedCurrent = 0;
			
			// set first
			root.controls[root.selectedCurrent].set_selected();
		}
		
		// set image panels
		var arr = this.inst.getElementsByClassName('panel', 'div');
		for(var i = 0; i < arr.length; i++)
		{
			this.panels.push(new panel(arr[i]));
		}					
							
		// set text panels
		arr = this.inst.getElementsByClassName('text', 'div');
		for(var i = 0; i < arr.length; i++)
		{
			var obj = new text(arr[i], this, this.panels[i], W);
			W += obj.get_W();
			this.text.push(obj);
		}
		
		// set text slider width
		var div = new YAHOO.util.Element('texts');
		div.setStyle('width', W + "px");
			
		// set first
		//this.controls[0].set_selected();
		this.Next();
	}
};
