﻿function changeTabs()
{
	var tabContent = document.getElementById("tabContent");
	tabContent.parentNode.replaceChild(this.content,tabContent);
	var lis = document.getElementById("tabStrip");
	lis = lis.getElementsByTagName("li");
	for(var i = 0; i < lis.length; i++)
	{
		lis[i].className = "";
	}
	this.parentNode.className = "selectedTab";
	return false;
}

function prepTabs()
{
	if(!document.getElementById("tabWrapper")) return false;
	var titleTag = "H4";
	var tabsWrap = document.getElementById("tabWrapper");
	var ul = document.createElement("ul");
	ul.id = "tabStrip";
	
	var tabs = tabsWrap.getElementsByTagName(titleTag);
	
	var origLength = parseFloat(tabs.length);
		
	for(var i = 0; i < tabs.length; i++)
	{
		var tab = tabs[i];
		
		//make the content a property of the tab.
		tab.content = document.createElement("div");
		while(tab.nextSibling && tab.nextSibling.tagName != titleTag) 
		{
			var tempNode = tab.parentNode.removeChild(tab.nextSibling);
			tab.content.appendChild(tempNode);
		}
		
		var a  = document.createElement("a");
		a.href = "#";
		a.onclick =
		a.onfocus = changeTabs;
		a.appendChild(tab.cloneNode(true))
		a.content = tab.content;
		a.content.id = "tabContent";
		var li = document.createElement("li");
		if(i == 0) li.className = "selectedTab";
		li.appendChild(a);
		ul.appendChild(li);
	}

	if(tabsWrap.firstChild)
		tabsWrap.insertBefore(ul,tabsWrap.firstChild);
	else
		tabsWrap.appendChild(ul);
	
	//Cleanup
	while(tabs.length > origLength)
		tabsWrap.removeChild(tabs[tabs.length-1]);
	
	var content = tabsWrap.appendChild(ul.firstChild.firstChild.content)
	
	
}

//manage onload events nicely | from http://simonwillison.net/2004/May/26/addLoadEvent/
function addLoadEvent(func) {
  var oldonload = window.onload;
  if (typeof window.onload != 'function') {
    window.onload = func;
  } else {
    window.onload = function() {
      if (oldonload) {
        oldonload();
      }
      func();
    }
  }
}

addLoadEvent(prepTabs);	


