var isHovering=false;
var curTab=0;
var iterations = 4;
var iterationIndex = 0;
function tabberObj(a){

this.roti = 0;
this.tabRotInt=3500;
this.tabRotTime=0;
//this.isHovering=false;


	var b;

	this.div=null;
	this.classMain="tabber";
	this.classMainLive="tabberlive";
	this.classTab="tabbertab";
	this.classTabDefault="tabbertabdefault";
	this.classNav="tabbernav";
	this.classTabHide="tabbertabhide";
	this.classNavActive="tabberactive";
	this.titleElements=['h2','h3','h4','h5','h6'];
	this.titleElementsStripHTML=true;
	this.removeTitle=true;
	this.addLinkId=false;
	this.linkIdFormat='<tabberid>nav<tabnumberone>';
	for(b in a){
	     this[b]=a[b]
     }
	this.REclassMain=new RegExp('\\b'+this.classMain+'\\b','gi');
	this.REclassMainLive=new RegExp('\\b'+this.classMainLive+'\\b','gi');
	this.REclassTab=new RegExp('\\b'+this.classTab+'\\b','gi');
	this.REclassTabDefault=new RegExp('\\b'+this.classTabDefault+'\\b','gi');
	this.REclassTabHide=new RegExp('\\b'+this.classTabHide+'\\b','gi');
	this.tabs=new Array();
	if(this.div){
    	this.init(this.div);
		this.div=null
     }
}

tabberObj.prototype.init=function(e){
     var a,i,i2,t,defaultTab=0,DOM_ul,DOM_li,DOM_a,aId,headingElement;
	if(!document.getElementsByTagName){
		 return false
		 }
	if(e.id){
		 this.id=e.id
		 }
	this.tabs.length=0;
	a=e.childNodes;
	for(i=0;i<a.length;i++){
		 if(a[i].className&&a[i].className.match(this.REclassTab)){
			 t=new Object();
			t.div=a[i];
			this.tabs[this.tabs.length]=t;
			if(a[i].className.match(this.REclassTabDefault)){
				 defaultTab=this.tabs.length-1
			 }
	     }
     }
	DOM_ul=document.createElement("ul");
	DOM_ul.className=this.classNav;
	for(i=0;i<this.tabs.length;i++){
	     t=this.tabs[i];
		t.headingText=t.div.title;
		if(this.removeTitle){
		     t.div.title=''
	     }
		if(!t.headingText){
		     for(i2=0;i2<this.titleElements.length;i2++){
			     headingElement=t.div.getElementsByTagName(this.titleElements[i2])[0];
				if(headingElement){
				     t.headingText=headingElement.innerHTML;
					if(this.titleElementsStripHTML){
					     t.headingText.replace(/<br>/gi," ");
						t.headingText=t.headingText.replace(/<[^>]+>/g,"")
				     }
					break
			     }

		     }

	     }
		if(!t.headingText){
		     t.headingText=i+1
	     }
		DOM_li=document.createElement("li");
		t.li=DOM_li;
		DOM_a=document.createElement("a");
		DOM_a.appendChild(document.createTextNode(t.headingText));
		DOM_a.href="#";
		DOM_a.title=t.headingText;
		DOM_a.onmouseover=this.navClick;
		DOM_a.onmouseout =this.navOut;
		DOM_a.tabber=this;
		DOM_a.tabberIndex=i;
		if(this.addLinkId&&this.linkIdFormat){
		     aId=this.linkIdFormat;
			aId=aId.replace(/<tabberid>/gi,this.id);
			aId=aId.replace(/<tabnumberzero>/gi,i);
			aId=aId.replace(/<tabnumberone>/gi,i+1);
			aId=aId.replace(/<tabtitle>/gi,t.headingText.replace(/[^a-zA-Z0-9\-]/gi,''));
			DOM_a.id=aId
	     }
		DOM_li.appendChild(DOM_a);
		DOM_ul.appendChild(DOM_li)
	}
	e.insertBefore(DOM_ul,e.firstChild);
	e.className=e.className.replace(this.REclassMain,this.classMainLive);
	this.tabShow(defaultTab);
	this.tabRotate(curTab);
	if(typeof this.onLoad=='function'){
	     this.onLoad({tabber:this})
     }
	return this
};

tabberObj.prototype.navOut=function(){
	isHovering=false;
}
tabberObj.prototype.navClick=function(b){
	isHovering=true;
	var c,a,self,tabberIndex,onClickArgs;
	a=this;
	if(!a.tabber){
		return false
    }
	self=a.tabber;
	tabberIndex=a.tabberIndex;
	a.blur();
	if(typeof self.onClick=='function'){
    	 onClickArgs={'tabber':self,'index':tabberIndex,'event':b};
		if(!b){
		     onClickArgs.event=window.event
	     }
		c=self.onClick(onClickArgs);
		if(c===false){
		     return false
	     }
     }
	self.tabShow(tabberIndex);
	return false
};

tabberObj.prototype.tabHideAll=function(){
     var i;
	for(i=0;i<this.tabs.length;i++){
	     this.tabHide(i)
     }
};

tabberObj.prototype.tabHide=function(a){
     var b;
	if(!this.tabs[a]){
	     return false
     }
	b=this.tabs[a].div;
	if(!b.className.match(this.REclassTabHide)){
    	 b.className+=' '+this.classTabHide
     }
	this.navClearActive(a);
	return this
};

tabberObj.prototype.tabShow=function(a){
     var b;
	 tabnum = a;
	if(!this.tabs[a]){
    	 return false
     }
	this.tabHideAll();
	b=this.tabs[a].div;
	b.className=b.className.replace(this.REclassTabHide,'');
	this.navSetActive(a);
	if(typeof this.onTabDisplay=='function'){
	     this.onTabDisplay({'tabber':this,'index':a})
     }
	return this
};

tabberObj.prototype.navSetActive=function(a){
     this.tabs[a].li.className=this.classNavActive;
	return this
};

tabberObj.prototype.navClearActive=function(a){
     this.tabs[a].li.className='';
	return this
};

//////////////////////ROTATE///////////////////////////////////
var gs = [];

function msFix(id, f, p){
	var s = gs[id];
	eval( "s." + f + "(" + p + ")" );
}

tabberObj.prototype.tabRotate = function()
{
	if(!isHovering){
		if(typeof(tabnum)=='undefined')tabnum=1;
		this.tabShow(tabnum);
		tabnum = (tabnum<this.tabs.length-1)?tabnum+1:0;
	}
	if (iterationIndex < iterations) {
		this.id = new Date().getMilliseconds();
		if( document.all ){
			gs[this.id] = this;
			setTimeout( 'msFix("' + this.id + '","tabRotate")', this.tabRotInt );
		} else {
			setTimeout(function(obj){obj.tabRotate();}, this.tabRotInt, this );
		}
		iterationIndex++;
	}
	return this
};
/////////////////////////////////////////////////////////


function tabberAutomatic(a){
     var b,divs,i;
	if(!a){a={}}
	b=new tabberObj(a);
	divs=document.getElementsByTagName("div");
	for(i=0;i<divs.length;i++){
	     if(divs[i].className&&divs[i].className.match(b.REclassMain)){
	    	 a.div=divs[i];
			divs[i].tabber=new tabberObj(a)
     	}
    }
	return this
}

function tabberAutomaticOnLoad(a){
     var b;
	if(!a){a={}}
	b=window.onload;
	if(typeof window.onload!='function'){
    	 window.onload=function(){
		     tabberAutomatic(a)
	     }
     }
	else{
    	 window.onload=function(){
	    	 b();
			tabberAutomatic(a)
    	 }
     }
}

if(typeof tabberOptions=='undefined'){
     tabberAutomaticOnLoad()
}
else{
     if(!tabberOptions['manualStartup']){
	     tabberAutomaticOnLoad(tabberOptions)
    }
 }

try {
  document.execCommand('BackgroundImageCache', false, true);
} catch(e) {}


