shuInit = function() {

	setupTabs();

}

setupTabs = function() {
	var tabCollection = $('tabCollection');
	var tabOptions = $('tabOptions');
	Element.addClassName(tabCollection,'jsIsOn');

	if (tabCollection) {	
		// Give new onClick events to the links
		var tabLinks = $A(tabOptions.getElementsByTagName('a'));
		if (tabLinks) {
			tabLinks.each( function(tabLink) {
				tabLink.tabCollection = tabCollection;
				tabLink.tabOptionLinks = tabLinks;
				
				if (tabLink.parentNode.className.indexOf('current') > -1) {
					var docLink = getDocumentLinkFromUrl(tabLink.href);
					Element.addClassName($(docLink).parentNode,'default');	
				}
			
				tabLink.onclick = function() {
					if (this.parentNode.className.indexOf('current') < 0) {
						var docLink = getDocumentLinkFromUrl(this.href);
						if ($(docLink)) {
							setCurrentStates(this);
							Element.addClassName(this.parentNode,'current');
							
							hideAllTabs(this.tabCollection);
							Element.show($(docLink).parentNode);
						}
					}
					return false;
				}
			});
		}
		
		hideAllTabs(tabCollection);
	}
}

getDocumentLinkFromUrl = function(currentUrl) {
	return currentUrl.substr(currentUrl.indexOf('#')+1,currentUrl.length);
}

hideAllTabs = function(tabCollection) {
	// hide all tabs, while we're here we'll hide all h2's too!
	
	var allTabs = document.getElementsByClassName('tabbable', tabCollection);
	if (allTabs) {
		// If a tab is set as default, then let it show, and strip off the default tag, otherwise hide it.
		allTabs.each( function(tab) {
			//var allH2s = $A(tab.getElementsByTagName('h2'));
			//allH2s.each( function(eachH2) {
				//Element.hide(eachH2);
			//});
		
			if(tab.className.indexOf('default') < 0)
				Element.hide(tab);
			else
				Element.removeClassName(tab,'default');
		});
	}
}

setCurrentStates = function(currentLink) {
	currentLink.tabOptionLinks.each( function(tabOptionLink) {
		if (tabOptionLink.href == currentLink.href)
			Element.addClassName(tabOptionLink.parentNode,'current');
		else
			Element.removeClassName(tabOptionLink.parentNode, 'current');
	});
	
	
}

/* Attach events */
if (typeof document.attachEvent!='undefined')
   window.attachEvent('onload',shuInit);
else
   window.addEventListener('load',shuInit,false);