AttachEvent(window,'load',function(){
	var tocTag='ul',tocClass='tabset_tabs',tabTag='a',contentClass='tabset_content';


		function FindEl(tagName,evt){
				if (!evt && window.event) evt=event;
						if (!evt) return DebugOut("Can't find an event to handle in DLTabSet::SetTab",0);
								var el=evt.currentTarget || evt.srcElement;
										while (el && (!el.tagName || el.tagName.toLowerCase()!=tagName)) el=el.parentNode;
												return el;
													}

														function SetTabActive(tab){
																if (tab.tabTOC.activeTab){
																			if (tab.tabTOC.activeTab==tab) return;
																						KillClass(tab.tabTOC.activeTab,'active');
																									if (tab.tabTOC.activeTab.tabContent) KillClass(tab.tabTOC.activeTab.tabContent,'tabset_content_active');
																												//if (tab.tabTOC.activeTab.tabContent) tab.tabTOC.activeTab.tabContent.style.display='';
																															if (tab.tabTOC.activeTab.prevTab) KillClass(tab.tabTOC.activeTab.previousTab,'preActive');
																																		if (tab.tabTOC.activeTab.nextTab) KillClass(tab.tabTOC.activeTab.nextTab,'postActive');
																																				}
																																						AddClass(tab.tabTOC.activeTab=tab,'active');
																																								if (tab.tabContent) AddClass(tab.tabContent,'tabset_content_active');				
																																										//if (tab.tabContent) tab.tabContent.style.display='block';
																																												if (tab.prevTab) AddClass(tab.prevTab,'preActive');
																																														if (tab.nextTab) AddClass(tab.nextTab,'postActive');
																																															}
																																																function SetTabFromAnchor(evt){
																																																		//setTimeout('document.body.scrollTop='+document.body.scrollTop,1);
																																																				SetTabActive(FindEl('a',evt).semanticTab);
																																																					}

																																																						
																																																							function Init(){
																																																									window.everyTabThereIsById = {};
																																																											
																																																													var anchorMatch = /#([a-z][\w.:-]*)$/i,match;
																																																															var activeTabs = [];
																																																																	
																																																																			var tocs = document.getElementsByTagName(tocTag);
																																																																					for (var i=0,len=tocs.length;i<len;i++){
																																																																								var toc = tocs[i];
																																																																											if (!HasClass(toc,tocClass)) continue;

																																																																														var lastTab;
																																																																																	var tabs = toc.getElementsByTagName(tabTag);
																																																																																				for (var j=0,len2=tabs.length;j<len2;j++){
																																																																																								var tab = tabs[j];
																																																																																												if (!tab.href || !(match=anchorMatch.exec(tab.href))) continue;
																																																																																																if (lastTab){
																																																																																																					tab.prevTab=lastTab;
																																																																																																										lastTab.nextTab=tab;
																																																																																																														}
																																																																																																																		tab.tabTOC=toc;
																																																																																																																						everyTabThereIsById[tab.tabID=match[1]]=tab;
																																																																																																																										tab.tabContent = document.getElementById(tab.tabID);
																																																																																																																														
																																																																																																																																		if (HasClass(tab,'active')) activeTabs[activeTabs.length]=tab;
																																																																																																																																						
																																																																																																																																										lastTab=tab;
																																																																																																																																													}
																																																																																																																																																AddClass(toc.getElementsByTagName('li')[0],'firstchild');
																																																																																																																																																		}

																																																																																																																																																				for (var i=0,len=activeTabs.length;i<len;i++){
																																																																																																																																																							SetTabActive(activeTabs[i]);
																																																																																																																																																									}

																																																																																																																																																											for (var i=0,len=document.links.length;i<len;i++){
																																																																																																																																																														var a = document.links[i];
																																																																																																																																																																	if (!(match=anchorMatch.exec(a.href))) continue;
																																																																																																																																																																				if (a.semanticTab = everyTabThereIsById[match[1]]) AttachEvent(a,'click',SetTabFromAnchor,false);
																																																																																																																																																																						}
																																																																																																																																																																								
																																																																																																																																																																										if ((match=anchorMatch.exec(location.href)) && (a=everyTabThereIsById[match[1]])) SetTabActive(a);
																																																																																																																																																																												
																																																																																																																																																																														//Comment out the next line and include the file directly if you need IE5Mac or Opera7 support.
																																																																																																																																																																																AddStyleSheet('tabtastic.css',0);
																																																																																																																																																																																	}
																																																																																																																																																																																		Init();
																																																																																																																																																																																		},false);
