// JavaScript Document for auto tabs
Tabs = {
	
	groups:[],
	content:[],
	
	show:function()
	{
		var indx = this.id.replace('t','');
		indx = indx.split('-');
		var ul = this.parentNode.parentNode;
		var li = ul.getElementsByTagName('li');
		// hide all in group
		for(var l = 0; l < Tabs.content[indx[0]].length; l++)
		{
			Tabs.content[indx[0]][l].style.left = '-2000px';
			li[l].className = '';
		} 
		// show clicked
		Tabs.content[indx[0]][indx[1]-1].style.left = '0px';
		this.parentNode.className = 'current';
		
		this.blur();
		return false;
	},
	
	init:function()
	{
		// get all page elements
		var _a = document.getElementsByTagName('DIV');
		// find elements with class 'tab-group'
		for(var i = 0; i < _a.length; i++) // loop through got elements
		{
			if(/\b(tab-group)\b/.test(_a[i].className)) // regexp test for class
			{
				// push the element into the groups array - Mac IE doesn't support .push()
				Tabs.groups[Tabs.groups.length] = _a[i];
			}
		}
		// loop through groups
		for(var j = 0; j < Tabs.groups.length; j++)
		{
			var selectedTab = arguments[j] ? arguments[j] : 1;
			// create a new array to hold the tab-contents
			Tabs.content[j] = [];
			var _c = Tabs.groups[j].getElementsByTagName('*');
			// create tab-header to hold tabs
			var _ul = document.createElement('ul');
			var _th = document.createElement('div');
			_th.className = 'tab-header';
			// find elements with class 'tab-content'
			for(var k = 0; k < _c.length; k++) // loop through got elements
			{
				if(/\b(tab-content)\b/.test(_c[k].className)) // regexp test for class
				{
					// push the element into the content array using same index as group
					Tabs.content[j][Tabs.content[j].length] = _c[k];
					// get heading
					var _h = _c[k].getElementsByTagName('h2')[0];
					var _li = document.createElement('li');
					if(Tabs.content[j].length == selectedTab) _li.className = 'current'; // select first by default
					var _lnk = document.createElement('a');
					_lnk.href = 'javascript:;';
					_lnk.id = 't' + j + '-' + Tabs.content[j].length;
					_lnk.onclick = Tabs.show;
					
					_ul.appendChild(_li).appendChild(_lnk).innerHTML = _h.innerHTML;
					// remove the header from the content
					_h.parentNode.removeChild(_h);
					// set the height of the 'tab-wrapper' to contain all elements;
					if(_c[k].offsetHeight > _c[k].parentNode.offsetHeight)
					{
						_c[k].parentNode.style.height = _c[k].offsetHeight + 'px';
					}
				}
			}
			// insert the tab-header div into the current group div
			// Tabs.groups[j].appendChild(_th.appendChild(_ul));
			Tabs.groups[j].insertBefore(_th.appendChild(_ul).parentNode, Tabs.content[j][0].parentNode);
			// show first by default
			if(Tabs.content[j][selectedTab-1]) Tabs.content[j][selectedTab-1].style.left = '0px';
		}
	}	
}

//addEvent(window,'load',function(){Tabs.init(1)});