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)}}}
