var IW_HTabs = Class.create({

	CONTAINER_CLASS: 'h_tabs',
	ACTIVE_ITEM_CLASS: 'active',
	ITEM_TITLE_CLASS: 'title',

	m_arrContainers: null,
	
	m_objWrapper: null,
	
	m_arrItems: null,
	

	initialize: function(p_strRootElement){

		this.m_objWrapper = $(p_strRootElement);
		//this.m_arrContainers = 
		//this.refresh();
		var iTabNo = 1;
		if(this.m_objWrapper){
			
			this.m_arrItems = new Array();
			for(var i = 0; i < this.m_objWrapper.childNodes.length; i++){
				var objItem = $(this.m_objWrapper.childNodes[i]);
				var strTag = objItem.tagName?objItem.tagName.toLowerCase():"";
				if(strTag == "li"){
					if(!objItem.id)
						objItem.id = this.m_objWrapper.id+"_"+iTabNo;
						
					var objLink = document.createElement("a");
					objLink.name = objItem.id;

				//	objItem.insert({top: objLink});

					this.m_arrItems.push(objItem);
					iTabNo++;
				}
			}
			
			var strHash = document.location.hash?document.location.hash.replace(/#/, ""):"";
			var objItemByHash = $(strHash);
			if(objItemByHash){
				if(objItemByHash.parentNode.id == this.m_objWrapper.id)
					this.open(objItemByHash);
			}
			
			this.m_objWrapper.observe('click', this._onItemClick.bindAsEventListener(this));
			
		}
		
	},
	
	
	_onItemClick: function(event){
		var objItem = Event.element(event);
		//alert(objItem);
		if(objItem.tagName.toLowerCase() == 'p' && objItem.className.indexOf(this.ITEM_TITLE_CLASS) > -1){
			//alert(objItem.tagName);
			this.toggle($(objItem.parentNode));
		}
		
	},
	
	toggle: function(p_objItem){
		if(!p_objItem)
			return;
			
		if(p_objItem.className.indexOf(this.ACTIVE_ITEM_CLASS) == -1){
			this.open(p_objItem, false);
		}
		else{
			this.close(p_objItem);
		}
			
	},
	
	close: function(p_objItem){
		if(!p_objItem)
			return;
	
		p_objItem.removeClassName(this.ACTIVE_ITEM_CLASS);
	},
	
	open: function(p_objItem, p_bAutoScroll){
		p_objItem = $(p_objItem);
	
		if(!p_objItem)
			return;
		
		
		var objContainer = p_objItem.parentNode;
		for(var i=0; i<this.m_arrItems.length; i++){
			var objActiveItem = $(this.m_arrItems[i]);
			objActiveItem.removeClassName(this.ACTIVE_ITEM_CLASS);
		}
		
		p_objItem.addClassName(this.ACTIVE_ITEM_CLASS);
		
		if(p_bAutoScroll != false)
			document.location.hash = p_objItem.id;
					
		
	}
	
	
});

var objTabs = null;

var arrTabContainers = new Array();

function IW_tabs_init(p_arrContainers){
//alert('IW_tabs_init');
	for(i=0; i < p_arrContainers.length; i++){
		arrTabContainers[p_arrContainers[i]] = new IW_HTabs(p_arrContainers[i]);
	}
}

function IW_tabs_open(p_strContainerId, p_strTabId){
	var objTabs = arrTabContainers[p_strContainerId];
	//alert('IW_tabs_open');
	if(objTabs){
		var strTabId = isNaN(p_strTabId)?p_strTabId:p_strContainerId+"_"+p_strTabId;
		//alert(strTabId);
		objTabs.open(strTabId);
	}
}

