// JavaScript Document
/**
 * @author Matthew Foster
 * @date   January 22nd 2007
 */
  
 
var TabNav = Class.create();
	
	Object.extend(TabNav.prototype,
				{
				
					initialize : function(arr, initialTab, eventType){
						this.eventType = eventType;
						arr.each(this.bindElements.bind(this));
						
						
						var tab = $(initialTab.tab);
						tab.box = $(initialTab.box);
						
						this.tabOver({ target : tab }, initialTab);
					
					},
					bindElements : function(tabDTO){
						var tab = $(tabDTO.tab);
						var box = $(tabDTO.box);
				
						tab.box = box;
						
						Event.observe(tab, this.eventType, this.tabOver.bindAsEventListener(this, tabDTO));
						
					},
					tabOver : function(e, dto){
						
						var ele = $(dto.tab);
						
						if(Element.hasClassName(ele, "active"))
							return false;
						
						try{
							this.removeActive(this.previousActive);
							}
						catch(e){}
						
						this.addActive(ele);
						
						this.previousActive = ele;
						
					
					},
					addActive : function(ele){
						
						Element.addClassName(ele, "active");
						Element.addClassName(ele.box, "active");
					
					},
					removeActive : function(ele){
						Element.removeClassName(ele, "active");
						Element.removeClassName(ele.box, "active");
					}
				}
				
		);
