//** Tab Content script v2.0- © Dynamic Drive DHTML code library (http://www.dynamicdrive.com)

function dinamods(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";}
dinamods.getCookie=function(Name){ 
	var re=new RegExp(Name+"=[^;]+", "i");
	if (document.cookie.match(re))
		return document.cookie.match(re)[0].split("=")[1];
	return "";
}
dinamods.setCookie=function(name, value){
	document.cookie = name+"="+value+";path=/";
}
dinamods.prototype={
	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;
	},
	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)? "dm_selected" : "";
		}
		if (this.enabletabpersistence)
			dinamods.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,change){
		var persistedtab=dinamods.getCookie(this.tabinterfaceid);
		var persisterror=true;
		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 (change==1){
					this.tabs[i].onmouseover=this.tabs[i].onclick
				}
				if (this.tabs[i].getAttribute("rev")){
					this.revcontentids=this.revcontentids.concat(this.tabs[i].getAttribute("rev").split(/\s*,\s*/));
				}
				if (this.enabletabpersistence && parseInt(persistedtab)==i || !this.enabletabpersistence && this.getselectedClassTarget(this.tabs[i]).className=="dm_selected"){
					this.expandtab(this.tabs[i]);
					persisterror=false;
				}
			}
		}
		if (persisterror)
			this.expandtab(this.tabs[this.hottabspositions[0]]);
		if (parseInt(this.automodeperiod)>500 && this.hottabspositions.length>1){
			this.autoruntimer=setInterval(function(){tabinstance.autorun()}, this.automodeperiod);
		}
	}
}
