// JavaScript Document
Event.addEvent(window,"load",prepareTabbedPanels);

function prepareTabbedPanels(){
	var tabbedPanels = Document.getElementsByClassMatch("JS:TabbedPanel");
	tabbedPanels.each(TabbedPanel);
}

function TabbedPanel(element){
	var panels = Document.getElementsByClassMatch("JS:Panel", element);
	panels.each(TabbedPanel.setPanels);
	var tabs = Document.getElementsByClassMatch("JS:Link", element);
	tabs.each(TabbedPanel.setLinks);
}
TabbedPanel.setPanels = function(element){
	var parameters = Document.getArguments(element, "JS:Panel");
	var defaultPanel = (parameters[1] == undefined) ? false : parameters[1];
	if(defaultPanel){
		element.style.display = "block";
	}
	else{
		element.style.display = "none";
	}
}
TabbedPanel.setLinks = function(element){
	var parentPanelSet = TabbedPanel.getParent(element);
	var eventType = Document.getArguments(parentPanelSet, "JS:TabbedPanel")[0];
	eventType = (eventType == undefined) ? "click" : eventType;
	Event.addEvent(element,eventType,TabbedPanel.open);
}
TabbedPanel.getParent = function(element){
	var searching = true;
	var currentNode = element.parentNode;
	while(searching){
		var nodeClass = currentNode.className.indexOf("JS:TabbedPanel");
		if(nodeClass > -1){
			searching = false;	
			return currentNode;
		}
		var currentNode = currentNode.parentNode;
	}
}
TabbedPanel.open = function(evt){
	var element = Event.getTarget(evt);
	Event.preventDefault(evt);
	TabbedPanel.setActive(element.parentNode);
	var parameters = Document.getArguments(element, "JS:Link");
	var id = parameters[0];
	var parentPanelSet = TabbedPanel.getParent(element);
	var panels = Document.getElementsByClassMatch("JS:Panel", parentPanelSet);
	for(var i = 0; i < panels.length; i ++){
		panels[i].style.display = "none";
		var selectPanel = Document.getArguments(panels[i], "JS:Panel")[0];
		if(selectPanel == id){
			panels[i].style.display = "block";
		}
	}
}
TabbedPanel.setActive = function(element){
	var tag = element.tagName.toLowerCase();
	if(tag == "li"){
		var list = element.parentNode;
		var items = list.getElementsByTagName("li");
		for(var i = 0 ; i < items.length; i ++){
			if(items[i].className.indexOf("active") > -1){
				items[i].className = items[i].className.replace("active","");
			}
		}
		element.className += " active";
	}
}