/* 
  ------------------------------------------------
  Utility scripts
  Copyright (c) 2005-2006 Project Seven Development
  ------------------------------------------------
  ------------------------------------------------
  TabBar Magic menu scripts
  Copyright (c) 2005-2006 Project Seven Development
  www.projectseven.com
  Version: 1.0.8 
  ------------------------------------------------
*/

var tbma=new Array();
var tbmt=new Array();

function initTBM()
{ //v1.0.8 by PVII-www.projectseven.com
 //define over and down image suffix
 var Iv = "_f2";
 var Id = "_f3";
 var i,j,x,k,d,nV,tB,tbs,iM,im,ts,tA,sA,nA=new Array();
 
 document.tbmsw=new Array();
 tbma=arguments;
 if(!document.getElementById||document.tbmf)
 {
	 return;
 }
 tB=document.getElementById('TBM');
 nV=document.getElementById('TBMroot');
 if(!nV||!tB)
 {
	 return;
 }
 tB.onmouseout=TBMclose;
 tA=nV.getElementsByTagName('A');
 j=0;
 for(i=0;i<tA.length;i++)
 {
	 tbmt[j]=tA[i].id;
	 j++;
	 d='TBMsub'+tA[i].id.replace('TBMt','');
	 tbs=document.getElementById(d);
	 if(tbs)
	 {
		 tbs.onmouseover=function(){TBMsub(this);};
	 }
	 tbmt[j]=(tbs)?tbs.id:false;
	 tA[i].hasSub=tbmt[j];
	 j++;
	 tA[i].isRoot=true;
	 tA[i].onclick=function(){return TBMtrig(this);};
	 tA[i].onmouseover=function(){TBMovr(this);};
	 tA[i].state=0;tA[i].hasIm=false;
	 iM=tA[i].getElementsByTagName('IMG');
	 if(iM&&iM[0])
	 {
		 im=iM[0];
		 ts=im.getAttribute("src");
		 x=ts.lastIndexOf(".");
		 nA[0]=ts.substring(0,x);
		 nA[1]='.'+ts.substring(x+1);
		 im.mimg=new Array();
		 im.mimg[0]=ts;
		 if(tbma[1]>1)
		 {
			 ts=nA[0]+Iv+nA[1];
			 TBMpl(ts);
		 }
		 im.mimg[1]=ts;
		 if(tbma[1]==3)
		 {
			 im.mimg[2]=ts;
		 }
		 if(tbma[1]==1||tbma[1]==2)
		 {
			 ts=nA[0]+Id+nA[1];
			 TBMpl(ts);
			 if(tbma[1]==1)
			 {
				 im.mimg[1]=ts;
			 }
		 }
		 im.mimg[2]=ts;
		 im.state=0;
		 tA[i].hasIm=true;
	 }
 }
 document.tbmf=true;
 TBMopen();
}

function TBMpl(ims)
{ //v1.0.8 by PVII-www.projectseven.com
 var x=document.tbmsw.length;
 document.tbmsw[x]=new Image();
 document.tbmsw[x].src=ims;
}

function TBMovr(a){ //v1.0.8 by PVII-www.projectseven.com
 if(!document.tbmf)
 {
	 return;
 }
 if(document.TBMtm)
 {
	 clearTimeout(document.TBMtm);
 }
 TBMswp(a);
 if(tbma[0]==1)
 {
	 document.TBMtm=setTimeout("TBMshow('"+a.id+"')",tbma[4]);
 }
 else
 {
	 TBMshow(a.id);
 }
}

function TBMswp(d)
{ //v1.0.8 by PVII-www.projectseven.com
 var i,cl,a;
 for(i=0;i<tbmt.length;i+=2)
 {
	 a=document.getElementById(tbmt[i]);
	 cl=a.className;
	 if(tbmt[i]!=d.id)
	 {
		 if(a.state<2)
		 {
			 if(cl.indexOf("TBMon")>-1)
			 {
				 a.className=cl.replace("TBMon",'');
			 }
			 if(a.hasIm)
			 {
				 im=a.getElementsByTagName('IMG')[0];
				 if(im.state<2)
				 {
					 im.src=im.mimg[0];
				 }
			 }
		 }
	 }
	 else
	 {
		 if(a.state!=2)
		 {
			 if(cl.indexOf("TBMon")==-1)
			 {
				 a.className=(cl&&cl.length>0)?cl+" TBMon":"TBMon";
			 }
			 if(a.hasIm)
			 {
				 im=a.getElementsByTagName('IMG')[0];
				 if(im.state<2)
				 {
					 im.src=im.mimg[1];
				 }
			 }
		 }
	 }
 }
}

function TBMshow(d)
{ //v1.0.8 by PVII-www.projectseven.com
 var a,i,im,cl;
 a=document.getElementById(d);
 if(a.hasIm)
 {
	 im=a.getElementsByTagName('IMG')[0];
	 if(im.state==0)
	 {
		 im.src=im.mimg[1];
		 im.state=1;
	 }
 }
 if(a.hasSub)
 {
	 if(a.state!=2)
	 {
		 a.state=1;
		 cl=a.className;
		 if(cl.indexOf("TBMon")==-1)
		 {
			 a.className=(cl&&cl.length>0)?cl+" TBMon":"TBMon";
		 }
	 }
	 document.getElementById(a.hasSub).style.visibility="visible";
 }
 TBMtg(a);
}

function TBMtg(d)
{ //v1.0.8 by PVII-www.projectseven.com
 var a,i,im,s,cl;
 for(i=0;i<tbmt.length;i+=2)
 {
	 if(!d||tbmt[i]!=d.id)
	 {
		 a=document.getElementById(tbmt[i]);
		 if(a.hasIm)
		 {
			 im=a.getElementsByTagName('IMG')[0];
			 if(im.state<2)
			 {
				 im.src=im.mimg[0];
				 im.state=0;
			 }
		 }
		 if(a.state!=2)
		 {
			 a.state=0;
			 cl=a.className;
			 if(cl.indexOf("TBMon")>-1)
			 {
				 a.className=cl.replace("TBMon",'');
			 }
		 }
		 s=document.getElementById(tbmt[i+1]);
		 if(s)
		 {
			 s.style.visibility="hidden";
		 }
	 }
 }
}

function TBMtrig(a)
{ //v1.0.8 by PVII-www.projectseven.com
 var h,hh,ret=false;
 TBMdown(a);
 h=a.href;
 hh='javascript:; javascript:void(0)';
 if(tbma[3]==1)
 {
	 if(h.charAt(h.length-1)=='#'||document.location.href==h)
	 {
		 ret=false;
	 }
	 else
	 {
		 ret=(hh.indexOf(h)>-1)?false:true;
	 }
 }
 else
 {
	 ret=false;
 }
 return ret;
}

function TBMdown(a)
{ //v1.0.8 by PVII-www.projectseven.com
 var i,aa,im,cl;
 for(i=0;i<tbmt.length;i+=2)
 {
	 aa=document.getElementById(tbmt[i]);
	 aa.state=0;
	 aa.className=trim(aa.className.replace("TBMdown",''));
	 if(aa.hasIm)
	 {
		 im=aa.getElementsByTagName('IMG')[0];
		 im.state=0;
	 }
 }
 a.state=2;
 if(a.hasIm)
 {
	 im=a.getElementsByTagName('IMG')[0];
	 im.state=2;
	 im.src=im.mimg[2];
 }
 else
 {
	 cl=a.className;
	 a.className=(cl&&cl.length>0)?cl+" TBMdown":"TBMdown";
 }
 TBMshow(a.id);
}

function trim(t)
{ //v1.0.8 by PVII-www.projectseven.com
 t=t.replace(/^\s/,'');
 t=t.replace(/\s$/,'');
 return t;
}

function TBMclose(evt)
{ //v1.0.2 by PVII-www.projectseven.com
 var i,pp,tS,d,p,f,m=true;
 evt=(evt)?evt:((event)?event:null);
 if(evt)
 {
	 tS=(evt.relatedTarget)?evt.relatedTarget:evt.toElement;
	 if(tS)
	 {
		 pp=tS;
		 while(pp)
		 {
			 if(pp.id)
			 {
				 d=pp.id;
				 if(pp.id.indexOf("TBM")>-1)
				 {
					 m=false;
					 break;
				 }
			 }
			 pp=pp.parentNode;
		 }
		 if(m)
		 {
			 f='TBMtg()';
			 if(tbma[2]==1)
			 {
				 for(i=0;i<tbmt.length;i+=2)
				 {
					 p=document.getElementById(tbmt[i]);
					 if(p.state==2)
					 {
						 f="TBMshow('"+p.id+"')";
					 }
				 }
			 }
			 if(tbma[0]==1)
			 {
				 eval('document.TBMtm=setTimeout("'+f+'",'+parseInt(tbma[4]+50)+')');
			 }
			 else
			 {
				 eval(f);
			 }
		 }
	 }
 }
}

function TBMsub(s)
{ //v1.0.8 by PVII-www.projectseven.com
 if(document.TBMtm)
 {
	 clearTimeout(document.TBMtm);
 }
 var d=s.id.replace("TBMsub","TBMt"),a=document.getElementById(d);
 TBMswp(a);
}

function TBMmark()
{
	document.TBMop=arguments;
}

function TBMopen()
{ //v1.0.8 by PVII-www.projectseven.com
 var x,i,j,k,kk,wH,tM,tA,pp,cl,a,nd,op,r1,aU;
 wH=window.location.href;
 var mt = new Array(1,'','');
 if(document.TBMop)
 {
	 mt=document.TBMop;
 }
 op=mt[0];
 if(op<1)
 {
	 return;
 }
 r1=/index\.[\S]*/i;
 k=-1,kk=-1;
 tM=document.getElementById('TBM');
 tA=tM.getElementsByTagName("A");
 for(j=0;j<tA.length;j++)
 {
	 aU=tA[j].href.replace(r1,'');
	 if(op>0)
	 {
		 if(tA[j].href==wH||aU==wH)
		 {
			 k=j;kk=-1;
 // tweak to allow last link found
 //break;
 //end tweak
 		 }
	 }
	 if(op==2)
	 {
		 if(tA[j].firstChild)
		 {
			 if(tA[j].firstChild.nodeValue==mt[1])
			 {
				 kk=j;
			 }
		 }
	 }
	 if(op==3 && tA[j].href.indexOf(mt[1])>-1)
	 {
		 kk=j;
	 }
	 if(op==4)
	 {
		 for(x=1;x<mt.length;x+=2)
		 {
			 if(wH.indexOf(mt[x])>-1)
			 {
				 if(tA[j].firstChild&&tA[j].firstChild.nodeValue)
				 {
					 if(tA[j].firstChild.nodeValue==mt[x+1])
					 {
						 kk=j;
					 }
				 }
			 }
		 }
	 }
 }
 k=(kk>k)?kk:k;
 if(k>-1)
 {
	 a=false;
	 if(!tA[k].hasIm&&!tA[k].isRoot)
	 {
		 cl=tA[k].className;
		 tA[k].className=(cl&&cl.length>0)?cl+" TBMmark":"TBMmark";
	 }
	 pp=tA[k].parentNode;
	 while(pp)
	 {
		 if(pp.id&&pp.id=='TBMroot')
		 {
			 a=tA[k];break;
		 }
		 if(pp.id&&pp.id.indexOf('TBMsub')>-1)
		 {
			 nd='TBMt'+pp.id.replace('TBMsub','');
			 a=document.getElementById(nd);
			 break;
		 }
		 pp=pp.parentNode;
	 }
	 if(a)
	 {
		 TBMdown(a);
	 }
 }
}

//Fix Firefox backButton Stupidity
if(window.addEventListener)
{
	window.addEventListener("unload",FFfix,false);
}

function FFfix()
{
	return;
}

