// Application:[ vSolution ] version:[ 1.8 ] Build:[ 3299 ] Copyright 2009-2010 VIBSCO. All rights reserved.
function vTabContent(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";} vTabContent.getCookie=function(Name) {var re=new RegExp(Name+"=[^;]+","i");if(document.cookie.match(re)) {return document.cookie.match(re)[0].split("=")[1];} return"";};vTabContent.setCookie=function(name,value) {document.cookie=name+"="+value+";path=/";};vTabContent.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) {vTabContent.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]);if(subcontent==null) break;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=vTabContent.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);}}}