function ddtabcontent(tabinterfaceid){this.tabinterfaceid=tabinterfaceid;this.tabs=document.getElementById(tabinterfaceid).getElementsByTagName("a");this.enabletabpersistence=true;this.hottabspositions=[];this.currentTabIndex=0;this.subcontentids=[];this.revcontentids=[];this.selectedClassTarget="link"}ddtabcontent.getCookie=function(Name){var re=new RegExp(Name+"=[^;]+","i");if(document.cookie.match(re))return document.cookie.match(re)[0].split("=")[1];return""};
ddtabcontent.setCookie=function(name,value){document.cookie=name+"="+value+";path=/"};
ddtabcontent.prototype={expandit:function(tabid_or_position){this.cancelautorun();var tabref="";try{if(typeof tabid_or_position=="string"&&document.getElementById(tabid_or_position).getAttribute("rel"))tabref=document.getElementById(tabid_or_position);else if(parseInt(tabid_or_position)!=NaN&&this.tabs[tabid_or_position].getAttribute("rel"))tabref=this.tabs[tabid_or_position]}catch(err){alert("Invalid Tab ID or position entered!")}if(tabref!="")this.expandtab(tabref)},cycleit:function(dir,autorun){if(dir==
"next")var currentTabIndex=this.currentTabIndex<this.hottabspositions.length-1?this.currentTabIndex+1:0;else if(dir=="prev")var currentTabIndex=this.currentTabIndex>0?this.currentTabIndex-1:this.hottabspositions.length-1;if(typeof autorun=="undefined")this.cancelautorun();this.expandtab(this.tabs[this.hottabspositions[currentTabIndex]])},setpersist:function(bool){this.enabletabpersistence=bool},setselectedClassTarget:function(objstr){this.selectedClassTarget=objstr||"link"},getselectedClassTarget:function(tabref){return this.selectedClassTarget==
"linkparent".toLowerCase()?tabref.parentNode:tabref},urlparamselect:function(tabinterfaceid){var result=window.location.search.match(new RegExp(tabinterfaceid+"=(\\d+)","i"));return result==null?null:parseInt(RegExp.$1)},expandtab:function(tabref){var subcontentid=tabref.getAttribute("rel");var associatedrevids=tabref.getAttribute("rev")?","+tabref.getAttribute("rev").replace(/\s+/,"")+",":"";this.expandsubcontent(subcontentid);this.expandrevcontent(associatedrevids);for(var i=0;i<this.tabs.length;i++)this.getselectedClassTarget(this.tabs[i]).className=
this.tabs[i].getAttribute("rel")==subcontentid?"selected":"";if(this.enabletabpersistence)ddtabcontent.setCookie(this.tabinterfaceid,tabref.tabposition);this.setcurrenttabindex(tabref.tabposition)},expandsubcontent:function(subcontentid){for(var i=0;i<this.subcontentids.length;i++){var subcontent=document.getElementById(this.subcontentids[i]);subcontent.style.display=subcontent.id==subcontentid?"block":"none"}},expandrevcontent:function(associatedrevids){var allrevids=this.revcontentids;for(var i=
0;i<allrevids.length;i++)document.getElementById(allrevids[i]).style.display=associatedrevids.indexOf(","+allrevids[i]+",")!=-1?"block":"none"},setcurrenttabindex:function(tabposition){for(var i=0;i<this.hottabspositions.length;i++)if(tabposition==this.hottabspositions[i]){this.currentTabIndex=i;break}},autorun:function(){this.cycleit("next",true)},cancelautorun:function(){if(typeof this.autoruntimer!="undefined")clearInterval(this.autoruntimer)},init:function(automodeperiod){var persistedtab=ddtabcontent.getCookie(this.tabinterfaceid);
var selectedtab=-1;var selectedtabfromurl=this.urlparamselect(this.tabinterfaceid);this.automodeperiod=automodeperiod||0;for(var i=0;i<this.tabs.length;i++){this.tabs[i].tabposition=i;if(this.tabs[i].getAttribute("rel")){var tabinstance=this;this.hottabspositions[this.hottabspositions.length]=i;this.subcontentids[this.subcontentids.length]=this.tabs[i].getAttribute("rel");this.tabs[i].onclick=function(){tabinstance.expandtab(this);tabinstance.cancelautorun();return false};if(this.tabs[i].getAttribute("rev"))this.revcontentids=
this.revcontentids.concat(this.tabs[i].getAttribute("rev").split(/\s*,\s*/));if(selectedtabfromurl==i||this.enabletabpersistence&&selectedtab==-1&&parseInt(persistedtab)==i||!this.enabletabpersistence&&selectedtab==-1&&this.getselectedClassTarget(this.tabs[i]).className=="selected")selectedtab=i}}if(selectedtab!=-1)this.expandtab(this.tabs[selectedtab]);else this.expandtab(this.tabs[this.hottabspositions[0]]);if(parseInt(this.automodeperiod)>500&&this.hottabspositions.length>1)this.autoruntimer=setInterval(function(){tabinstance.autorun()},
this.automodeperiod)}};
