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":"";}var boxHeight=document.getElementById("mainContent").offsetHeight+120;var e=document.getElementById("tabs");boxHeight=boxHeight+"px";e.style.top=boxHeight;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);}}};
