//** Tab Content script v2.0- � Dynamic Drive DHTML code library (http://www.dynamicdrive.com)਀⼀⼀⨀⨀ 唀瀀搀愀琀攀搀 伀挀琀 㜀琀栀Ⰰ 　㜀 琀漀 瘀攀爀猀椀漀渀 ㈀⸀　⸀ 䌀漀渀琀愀椀渀猀 渀甀洀攀爀漀甀猀 椀洀瀀爀漀瘀攀洀攀渀琀猀㨀 
//   -Added Auto Mode: Script auto rotates the tabs based on an interval, until a tab is explicitly selected਀⼀⼀   ⴀ䄀戀椀氀椀琀礀 琀漀 攀砀瀀愀渀搀⼀挀漀渀琀爀愀挀琀 愀爀戀椀琀爀愀爀礀 䐀䤀嘀猀 漀渀 琀栀攀 瀀愀最攀 愀猀 琀栀攀 琀愀戀戀攀搀 挀漀渀琀攀渀琀 椀猀 攀砀瀀愀渀搀攀搀⼀ 挀漀渀琀爀愀挀琀攀搀 
//   -Ability to dynamically select a tab either based on its position within its peers, or its ID attribute (give the target tab one 1st)਀⼀⼀   ⴀ䄀戀椀氀椀琀礀 琀漀 猀攀琀 眀栀攀爀攀 琀栀攀 䌀匀匀 挀氀愀猀猀渀愀洀攀 ∀猀攀氀攀挀琀攀搀∀ 最攀琀 愀猀猀椀最渀攀搀ⴀ 攀椀琀栀攀爀 琀漀 琀栀攀 琀愀爀最攀琀 琀愀戀✀猀 氀椀渀欀 ⠀∀䄀∀⤀Ⰰ 漀爀 椀琀猀 瀀愀爀攀渀琀 挀漀渀琀愀椀渀攀爀  
਀⼀⼀⼀⼀一伀 一䔀䔀䐀 吀伀 䔀䐀䤀吀 䈀䔀䰀伀圀⼀⼀⼀⼀⼀⼀⼀⼀⼀⼀⼀⼀⼀⼀⼀⼀⼀⼀⼀⼀⼀⼀⼀⼀ 
਀昀甀渀挀琀椀漀渀 搀搀琀愀戀挀漀渀琀攀渀琀⠀琀愀戀椀渀琀攀爀昀愀挀攀椀搀⤀笀 
	this.tabinterfaceid=tabinterfaceid //ID of Tab Menu main container਀ऀ琀栀椀猀⸀琀愀戀猀㴀搀漀挀甀洀攀渀琀⸀最攀琀䔀氀攀洀攀渀琀䈀礀䤀搀⠀琀愀戀椀渀琀攀爀昀愀挀攀椀搀⤀⸀最攀琀䔀氀攀洀攀渀琀猀䈀礀吀愀最一愀洀攀⠀∀愀∀⤀ ⼀⼀䜀攀琀 愀氀氀 琀愀戀 氀椀渀欀猀 眀椀琀栀椀渀 挀漀渀琀愀椀渀攀爀 
	this.enabletabpersistence=true਀ऀ琀栀椀猀⸀栀漀琀琀愀戀猀瀀漀猀椀琀椀漀渀猀㴀嬀崀 ⼀⼀䄀爀爀愀礀 琀漀 猀琀漀爀攀 瀀漀猀椀琀椀漀渀 漀昀 琀愀戀猀 琀栀愀琀 栀愀瘀攀 愀 ∀爀攀氀∀ 愀琀琀爀 搀攀昀椀渀攀搀Ⰰ 爀攀氀愀琀椀瘀攀 琀漀 愀氀氀 琀愀戀 氀椀渀欀猀Ⰰ 眀椀琀栀椀渀 挀漀渀琀愀椀渀攀爀 
	this.subcontentids=[] //Array to store ids of the sub contents ("rel" attr values)਀ऀ琀栀椀猀⸀爀攀瘀挀漀渀琀攀渀琀椀搀猀㴀嬀崀 ⼀⼀䄀爀爀愀礀 琀漀 猀琀漀爀攀 椀搀猀 漀昀 愀爀戀椀琀爀愀爀礀 挀漀渀琀攀渀琀猀 琀漀 攀砀瀀愀渀搀⼀挀漀渀琀愀挀琀 愀猀 眀攀氀氀 ⠀∀爀攀瘀∀ 愀琀琀爀 瘀愀氀甀攀猀⤀ 
	this.selectedClassTarget="link" //keyword to indicate which target element to assign "selected" CSS class ("linkparent" or "link")਀紀 
਀搀搀琀愀戀挀漀渀琀攀渀琀⸀最攀琀䌀漀漀欀椀攀㴀昀甀渀挀琀椀漀渀⠀一愀洀攀⤀笀  
	var re=new RegExp(Name+"=[^;]+", "i"); //construct RE to search for target name/value pair਀ऀ椀昀 ⠀搀漀挀甀洀攀渀琀⸀挀漀漀欀椀攀⸀洀愀琀挀栀⠀爀攀⤀⤀ ⼀⼀椀昀 挀漀漀欀椀攀 昀漀甀渀搀 
		return document.cookie.match(re)[0].split("=")[1] //return its value਀ऀ爀攀琀甀爀渀 ∀∀ 
}਀ 
ddtabcontent.setCookie=function(name, value){਀ऀ搀漀挀甀洀攀渀琀⸀挀漀漀欀椀攀 㴀 渀愀洀攀⬀∀㴀∀⬀瘀愀氀甀攀⬀∀㬀瀀愀琀栀㴀⼀∀ ⼀⼀挀漀漀欀椀攀 瘀愀氀甀攀 椀猀 搀漀洀愀椀渀 眀椀搀攀 ⠀瀀愀琀栀㴀⼀⤀ 
}਀ 
ddtabcontent.prototype={਀ 
	expandit:function(tabid_or_position){ //PUBLIC function to select a tab either by its ID or position(int) within its peers਀ऀऀ琀栀椀猀⸀挀愀渀挀攀氀愀甀琀漀爀甀渀⠀⤀ ⼀⼀猀琀漀瀀 愀甀琀漀 挀礀挀氀椀渀最 漀昀 琀愀戀猀 ⠀椀昀 爀甀渀渀椀渀最⤀ 
		var tabref=""਀ऀऀ琀爀礀笀 
			if (typeof tabid_or_position=="string" && document.getElementById(tabid_or_position).getAttribute("rel")) //if specified tab contains "rel" attr਀ऀऀऀऀ琀愀戀爀攀昀㴀搀漀挀甀洀攀渀琀⸀最攀琀䔀氀攀洀攀渀琀䈀礀䤀搀⠀琀愀戀椀搀开漀爀开瀀漀猀椀琀椀漀渀⤀ 
			else if (parseInt(tabid_or_position)!=NaN && this.tabs[tabid_or_position].getAttribute("rel")) //if specified tab contains "rel" attr਀ऀऀऀऀ琀愀戀爀攀昀㴀琀栀椀猀⸀琀愀戀猀嬀琀愀戀椀搀开漀爀开瀀漀猀椀琀椀漀渀崀 
		}਀ऀऀ挀愀琀挀栀⠀攀爀爀⤀笀愀氀攀爀琀⠀∀䤀渀瘀愀氀椀搀 吀愀戀 䤀䐀 漀爀 瀀漀猀椀琀椀漀渀 攀渀琀攀爀攀搀℀∀⤀紀 
		if (tabref!="") //if a valid tab is found based on function parameter਀ऀऀऀ琀栀椀猀⸀攀砀瀀愀渀搀琀愀戀⠀琀愀戀爀攀昀⤀ ⼀⼀攀砀瀀愀渀搀 琀栀椀猀 琀愀戀 
	},਀ 
	setpersist:function(bool){ //PUBLIC function to toggle persistence feature਀ऀऀऀ琀栀椀猀⸀攀渀愀戀氀攀琀愀戀瀀攀爀猀椀猀琀攀渀挀攀㴀戀漀漀氀 
	},਀ 
	setselectedClassTarget:function(objstr){ //PUBLIC function to set which target element to assign "selected" CSS class ("linkparent" or "link")਀ऀऀ琀栀椀猀⸀猀攀氀攀挀琀攀搀䌀氀愀猀猀吀愀爀最攀琀㴀漀戀樀猀琀爀 簀簀 ∀氀椀渀欀∀ 
	},਀ 
	getselectedClassTarget:function(tabref){ //Returns target element to assign "selected" CSS class to਀ऀऀ爀攀琀甀爀渀 ⠀琀栀椀猀⸀猀攀氀攀挀琀攀搀䌀氀愀猀猀吀愀爀最攀琀㴀㴀⠀∀氀椀渀欀瀀愀爀攀渀琀∀⸀琀漀䰀漀眀攀爀䌀愀猀攀⠀⤀⤀⤀㼀 琀愀戀爀攀昀⸀瀀愀爀攀渀琀一漀搀攀 㨀 琀愀戀爀攀昀 
	},਀ 
	expandtab:function(tabref){਀ऀऀ瘀愀爀 猀甀戀挀漀渀琀攀渀琀椀搀㴀琀愀戀爀攀昀⸀最攀琀䄀琀琀爀椀戀甀琀攀⠀∀爀攀氀∀⤀ ⼀⼀䜀攀琀 椀搀 漀昀 猀甀戀挀漀渀琀攀渀琀 琀漀 攀砀瀀愀渀搀 
		//Get "rev" attr as a string of IDs in the format ",john,george,trey,etc," to easily search through਀ऀऀ瘀愀爀 愀猀猀漀挀椀愀琀攀搀爀攀瘀椀搀猀㴀⠀琀愀戀爀攀昀⸀最攀琀䄀琀琀爀椀戀甀琀攀⠀∀爀攀瘀∀⤀⤀㼀 ∀Ⰰ∀⬀琀愀戀爀攀昀⸀最攀琀䄀琀琀爀椀戀甀琀攀⠀∀爀攀瘀∀⤀⸀爀攀瀀氀愀挀攀⠀⼀尀猀⬀⼀Ⰰ ∀∀⤀⬀∀Ⰰ∀ 㨀 ∀∀ 
		this.expandsubcontent(subcontentid)਀ऀऀ琀栀椀猀⸀攀砀瀀愀渀搀爀攀瘀挀漀渀琀攀渀琀⠀愀猀猀漀挀椀愀琀攀搀爀攀瘀椀搀猀⤀ 
		for (var i=0; i<this.tabs.length; i++){ //Loop through all tabs, and assign only the selected tab the CSS class "selected"਀ऀऀऀ琀栀椀猀⸀最攀琀猀攀氀攀挀琀攀搀䌀氀愀猀猀吀愀爀最攀琀⠀琀栀椀猀⸀琀愀戀猀嬀椀崀⤀⸀挀氀愀猀猀一愀洀攀㴀⠀琀栀椀猀⸀琀愀戀猀嬀椀崀⸀最攀琀䄀琀琀爀椀戀甀琀攀⠀∀爀攀氀∀⤀㴀㴀猀甀戀挀漀渀琀攀渀琀椀搀⤀㼀 ∀猀攀氀攀挀琀攀搀∀ 㨀 ∀∀ 
		}਀ऀऀ椀昀 ⠀琀栀椀猀⸀攀渀愀戀氀攀琀愀戀瀀攀爀猀椀猀琀攀渀挀攀⤀ ⼀⼀椀昀 瀀攀爀猀椀猀琀攀渀挀攀 攀渀愀戀氀攀搀Ⰰ 猀愀瘀攀 猀攀氀攀挀琀攀搀 琀愀戀 瀀漀猀椀琀椀漀渀⠀椀渀琀⤀ 爀攀氀愀琀椀瘀攀 琀漀 椀琀猀 瀀攀攀爀猀 
			ddtabcontent.setCookie(this.tabinterfaceid, tabref.tabposition)਀ऀ紀Ⰰ 
਀ऀ攀砀瀀愀渀搀猀甀戀挀漀渀琀攀渀琀㨀昀甀渀挀琀椀漀渀⠀猀甀戀挀漀渀琀攀渀琀椀搀⤀笀 
		for (var i=0; i<this.subcontentids.length; i++){਀ऀऀऀ瘀愀爀 猀甀戀挀漀渀琀攀渀琀㴀搀漀挀甀洀攀渀琀⸀最攀琀䔀氀攀洀攀渀琀䈀礀䤀搀⠀琀栀椀猀⸀猀甀戀挀漀渀琀攀渀琀椀搀猀嬀椀崀⤀ ⼀⼀挀愀挀栀攀 挀甀爀爀攀渀琀 猀甀戀挀漀渀琀攀渀琀 漀戀樀 ⠀椀渀 昀漀爀 氀漀漀瀀⤀ 
			subcontent.style.display=(subcontent.id==subcontentid)? "block" : "none" //"show" or hide sub content based on matching id attr value਀ऀऀ紀 
	},਀ 
਀ऀ攀砀瀀愀渀搀爀攀瘀挀漀渀琀攀渀琀㨀昀甀渀挀琀椀漀渀⠀愀猀猀漀挀椀愀琀攀搀爀攀瘀椀搀猀⤀笀 
		var allrevids=this.revcontentids਀ऀऀ昀漀爀 ⠀瘀愀爀 椀㴀　㬀 椀㰀愀氀氀爀攀瘀椀搀猀⸀氀攀渀最琀栀㬀 椀⬀⬀⤀笀 ⼀⼀䰀漀漀瀀 琀栀爀漀甀最栀 爀攀瘀 愀琀琀爀椀戀甀琀攀猀 昀漀爀 愀氀氀 琀愀戀猀 椀渀 琀栀椀猀 琀愀戀 椀渀琀攀爀昀愀挀攀 
			//if any values stored within associatedrevids matches one within allrevids, expand that DIV, otherwise, contract it਀ऀऀऀ搀漀挀甀洀攀渀琀⸀最攀琀䔀氀攀洀攀渀琀䈀礀䤀搀⠀愀氀氀爀攀瘀椀搀猀嬀椀崀⤀⸀猀琀礀氀攀⸀搀椀猀瀀氀愀礀㴀⠀愀猀猀漀挀椀愀琀攀搀爀攀瘀椀搀猀⸀椀渀搀攀砀伀昀⠀∀Ⰰ∀⬀愀氀氀爀攀瘀椀搀猀嬀椀崀⬀∀Ⰰ∀⤀℀㴀ⴀ㄀⤀㼀 ∀戀氀漀挀欀∀ 㨀 ∀渀漀渀攀∀ 
		}਀ऀ紀Ⰰ 
਀ऀ愀甀琀漀爀甀渀㨀昀甀渀挀琀椀漀渀⠀⤀笀 ⼀⼀昀甀渀挀琀椀漀渀 琀漀 愀甀琀漀 挀礀挀氀攀 琀栀爀漀甀最栀 愀渀搀 猀攀氀攀挀琀 琀愀戀猀 戀愀猀攀搀 漀渀 愀 猀攀琀 椀渀琀攀爀瘀愀氀 
		var currentTabIndex=this.automode_currentTabIndex //index within this.hottabspositions to begin਀ऀऀ瘀愀爀 栀漀琀琀愀戀猀瀀漀猀椀琀椀漀渀猀㴀琀栀椀猀⸀栀漀琀琀愀戀猀瀀漀猀椀琀椀漀渀猀 ⼀⼀䄀爀爀愀礀 挀漀渀琀愀椀渀椀渀最 瀀漀猀椀琀椀漀渀 渀甀洀戀攀爀猀 漀昀 ∀栀漀琀∀ 琀愀戀猀 ⠀琀栀漀猀攀 眀椀琀栀 愀 ∀爀攀氀∀ 愀琀琀爀⤀ 
		this.expandtab(this.tabs[hottabspositions[currentTabIndex]])਀ऀऀ琀栀椀猀⸀愀甀琀漀洀漀搀攀开挀甀爀爀攀渀琀吀愀戀䤀渀搀攀砀㴀⠀挀甀爀爀攀渀琀吀愀戀䤀渀搀攀砀㰀栀漀琀琀愀戀猀瀀漀猀椀琀椀漀渀猀⸀氀攀渀最琀栀ⴀ㄀⤀㼀 挀甀爀爀攀渀琀吀愀戀䤀渀搀攀砀⬀㄀ 㨀 　 ⼀⼀椀渀挀爀攀洀攀渀琀 挀甀爀爀攀渀琀吀愀戀䤀渀搀攀砀 
	},਀ 
	cancelautorun:function(){਀ऀऀ椀昀 ⠀琀礀瀀攀漀昀 琀栀椀猀⸀愀甀琀漀爀甀渀琀椀洀攀爀℀㴀∀甀渀搀攀昀椀渀攀搀∀⤀ 
			clearInterval(this.autoruntimer)਀ऀ紀Ⰰ 
਀ऀ椀渀椀琀㨀昀甀渀挀琀椀漀渀⠀愀甀琀漀洀漀搀攀瀀攀爀椀漀搀⤀笀 
		var persistedtab=ddtabcontent.getCookie(this.tabinterfaceid) //get position of persisted tab (applicable if persistence is enabled)਀ऀऀ瘀愀爀 瀀攀爀猀椀猀琀攀爀爀漀爀㴀琀爀甀攀 ⼀⼀䈀漀漀氀 瘀愀爀椀愀戀氀攀 琀漀 挀栀攀挀欀 眀栀攀琀栀攀爀 瀀攀爀猀椀猀琀攀搀 琀愀戀 瀀漀猀椀琀椀漀渀 椀猀 瘀愀氀椀搀 ⠀挀愀渀 戀攀挀漀洀攀 椀渀瘀愀氀椀搀 椀昀 甀猀攀爀 栀愀猀 洀漀搀椀昀椀攀搀 琀愀戀 猀琀爀甀挀琀甀爀攀⤀ 
		this.automodeperiod=automodeperiod || 0਀ऀऀ昀漀爀 ⠀瘀愀爀 椀㴀　㬀 椀㰀琀栀椀猀⸀琀愀戀猀⸀氀攀渀最琀栀㬀 椀⬀⬀⤀笀 
			this.tabs[i].tabposition=i //remember position of tab relative to its peers਀ऀऀऀ椀昀 ⠀琀栀椀猀⸀琀愀戀猀嬀椀崀⸀最攀琀䄀琀琀爀椀戀甀琀攀⠀∀爀攀氀∀⤀⤀笀 
				var tabinstance=this਀ऀऀऀऀ琀栀椀猀⸀栀漀琀琀愀戀猀瀀漀猀椀琀椀漀渀猀嬀琀栀椀猀⸀栀漀琀琀愀戀猀瀀漀猀椀琀椀漀渀猀⸀氀攀渀最琀栀崀㴀椀 ⼀⼀猀琀漀爀攀 瀀漀猀椀琀椀漀渀 漀昀 ∀栀漀琀∀ 琀愀戀 ⠀∀爀攀氀∀ 愀琀琀爀 搀攀昀椀渀攀搀⤀ 爀攀氀愀琀椀瘀攀 琀漀 椀琀猀 瀀攀攀爀猀 
				this.subcontentids[this.subcontentids.length]=this.tabs[i].getAttribute("rel") //store id of sub content ("rel" attr value)਀ऀऀऀऀ琀栀椀猀⸀琀愀戀猀嬀椀崀⸀漀渀挀氀椀挀欀㴀昀甀渀挀琀椀漀渀⠀⤀笀 
					tabinstance.expandtab(this)਀ऀऀऀऀऀ琀愀戀椀渀猀琀愀渀挀攀⸀挀愀渀挀攀氀愀甀琀漀爀甀渀⠀⤀ ⼀⼀猀琀漀瀀 愀甀琀漀 挀礀挀氀椀渀最 漀昀 琀愀戀猀 ⠀椀昀 爀甀渀渀椀渀最⤀ 
					return false਀ऀऀऀऀ紀 
				if (this.tabs[i].getAttribute("rev")){ //if "rev" attr defined, store each value within "rev" as an array element਀ऀऀऀऀऀ琀栀椀猀⸀爀攀瘀挀漀渀琀攀渀琀椀搀猀㴀琀栀椀猀⸀爀攀瘀挀漀渀琀攀渀琀椀搀猀⸀挀漀渀挀愀琀⠀琀栀椀猀⸀琀愀戀猀嬀椀崀⸀最攀琀䄀琀琀爀椀戀甀琀攀⠀∀爀攀瘀∀⤀⸀猀瀀氀椀琀⠀⼀尀猀⨀Ⰰ尀猀⨀⼀⤀⤀ 
				}਀ऀऀऀऀ椀昀 ⠀琀栀椀猀⸀攀渀愀戀氀攀琀愀戀瀀攀爀猀椀猀琀攀渀挀攀 ☀☀ 瀀愀爀猀攀䤀渀琀⠀瀀攀爀猀椀猀琀攀搀琀愀戀⤀㴀㴀椀 簀簀 ℀琀栀椀猀⸀攀渀愀戀氀攀琀愀戀瀀攀爀猀椀猀琀攀渀挀攀 ☀☀ 琀栀椀猀⸀最攀琀猀攀氀攀挀琀攀搀䌀氀愀猀猀吀愀爀最攀琀⠀琀栀椀猀⸀琀愀戀猀嬀椀崀⤀⸀挀氀愀猀猀一愀洀攀㴀㴀∀猀攀氀攀挀琀攀搀∀⤀笀 
					this.expandtab(this.tabs[i]) //expand current tab if it's the persisted tab, or if persist=off, carries the "selected" CSS class਀ऀऀऀऀऀ瀀攀爀猀椀猀琀攀爀爀漀爀㴀昀愀氀猀攀 ⼀⼀倀攀爀猀椀猀琀攀搀 琀愀戀 ⠀椀昀 愀瀀瀀氀椀挀愀戀氀攀⤀ 眀愀猀 昀漀甀渀搀Ⰰ 猀漀 猀攀琀 ∀瀀攀爀猀椀猀琀攀爀爀漀爀∀ 琀漀 昀愀氀猀攀 
					//If currently selected tab's index(i) is greater than 0, this means its not the 1st tab, so set the tab to begin in automode to 1st tab:਀ऀऀऀऀऀ琀栀椀猀⸀愀甀琀漀洀漀搀攀开挀甀爀爀攀渀琀吀愀戀䤀渀搀攀砀㴀⠀椀㸀　⤀㼀 　 㨀 ㄀ 
				}਀ऀऀऀ紀 
		} //END for loop਀ऀऀ椀昀 ⠀瀀攀爀猀椀猀琀攀爀爀漀爀⤀ ⼀⼀椀昀 愀渀 攀爀爀漀爀 栀愀猀 漀挀挀甀爀攀搀 眀栀椀氀攀 琀爀礀椀渀最 琀漀 爀攀琀爀椀攀瘀攀 瀀攀爀猀椀猀琀攀搀 琀愀戀 ⠀戀愀猀攀搀 漀渀 椀琀猀 瀀漀猀椀琀椀漀渀 眀椀琀栀椀渀 椀琀猀 瀀攀攀爀猀⤀ 
			this.expandtab(this.tabs[this.hottabspositions[0]]) //Just select first tab that contains a "rel" attr਀ऀऀ椀昀 ⠀瀀愀爀猀攀䤀渀琀⠀琀栀椀猀⸀愀甀琀漀洀漀搀攀瀀攀爀椀漀搀⤀㸀㔀　　 ☀☀ 琀栀椀猀⸀栀漀琀琀愀戀猀瀀漀猀椀琀椀漀渀猀⸀氀攀渀最琀栀㸀㄀⤀笀 
			this.automode_currentTabIndex=this.automode_currentTabIndex || 0਀ऀऀऀ琀栀椀猀⸀愀甀琀漀爀甀渀琀椀洀攀爀㴀猀攀琀䤀渀琀攀爀瘀愀氀⠀昀甀渀挀琀椀漀渀⠀⤀笀琀愀戀椀渀猀琀愀渀挀攀⸀愀甀琀漀爀甀渀⠀⤀紀Ⰰ 琀栀椀猀⸀愀甀琀漀洀漀搀攀瀀攀爀椀漀搀⤀ 
		}਀ऀ紀 ⼀⼀䔀一䐀 椀渀琀⠀⤀ 昀甀渀挀琀椀漀渀 
਀紀 ⼀⼀䔀一䐀 倀爀漀琀漀琀礀瀀攀 愀猀猀椀最渀洀攀渀琀਀