RPGUID='clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA';
RPPARAMS='<PARAM NAME="CONTROLS" VALUE="ImageWindow">';
RPATTR='CONTROLS="ImageWindow"';
AMGUID='clsid:05589FA1-C356-11CE-BF01-00AA0055595A';
AMPARAMS='<PARAM NAME="ShowDisplay" VALUE="0"><PARAM NAME="ShowControls" VALUE="0"><PARAM NAME="ShowTracker" VALUE="0">';
AMATTR='AUTOSTART="FALSE" AUTOPLAY="FALSE" CONTROLLER="FALSE" SCALE="TOFIT" MASTERSOUND PLUGINSPAGE="http://www.apple.com/quicktime/download/"';
var wX = window.innerWidth;
var wY = window.innerHeight;
var scFact=1.0;
function getScale(dpi){
	var brDPI=96;
	if(isNS4)brDPI=document.layers['astDPIQuery'].clip.height;
	else if(isIE4)brDPI=document.all.astDPIQuery.style.pixelHeight;
	scFact=brDPI/dpi;
}
function RPObj(id,url){
	if(isIE4)return '<OBJECT ID="'+id+'OBJ" CLASSID="'+RPGUID+'" HEIGHT=100% WIDTH=100%>'+RPPARAMS+'<PARAM NAME="SRC" VALUE="'+url+'"></OBJECT>';
	else return	'<EMBED NAME="'+id+'EMB" SRC="'+url+'" WIDTH=100% HEIGHT=100% '+RPATTR+'></EMBED>';
}
function QTObj(id,url,l){
        return '<EMBED NAME="'+id+'EMB" SRC="'+url+'"'+((l>1)?' LOOP="TRUE"':'')+' WIDTH=100% HEIGHT=100% '+AMATTR+'></EMBED>';
}
function AMObj(id,url,l){
	if(isIE4){
        s='<OBJECT ID="'+id+'OBJ" CLASSID="'+AMGUID+'" WIDTH=100% HEIGHT=100%>'+AMPARAMS+'<PARAM NAME="FileName" VALUE="'+url+'"><PARAM NAME="PlayCount" VALUE="'+l+'">';
        if(AMObj.arguments.length>3) s+='<PARAM NAME="MovieWindowWidth" VALUE="'+AMObj.arguments[3]+'"><PARAM NAME="MovieWindowHeight" VALUE="'+AMObj.arguments[4]+'">';
        return (s+'</OBJECT>');
    }
        return QTObj(id,url,l);
}
function ImObj(nm,src,w,h,alt,map){
	w=w*scFact;h=h*scFact;
	str='<IMG SRC="'+src+'" WIDTH="'+w+'" HEIGHT="'+h+'" BORDER="0" NAME="'+nm+'" ALT="'+alt+'"';
	if(map!=null&&map!="")str+=' USEMAP="#'+map+'"';
	str+='>';
	return str;
}
function TObj(FName,bFixed,nPtSize,color,nSt,text,shX,shY,shC){
	if((nSt&0x10)||(nSt&0x20))nPtSize=nPtSize*2/3;
	if(isNS4){
		var attr='FACE="'+FName+'" COLOR="#'+color+'" POINT-SIZE="'+nPtSize+'"';
		var str="<FONT "+attr+">";
		if(nSt&0x01)str+="<B>";
		if(nSt&0x02)str+="<I>";
		if(nSt&0x04)str+="<U>";
		if(nSt&0x10)str+="<SUP>";
		if(nSt&0x20)str+="<SUB>";
		str+=text;
		if(nSt&0x20)str+="</SUB>";
		if(nSt&0x10)str+="</SUP>";
		if(nSt&0x04)str+="</U>";
		if(nSt&0x02)str+="</I>";
		if(nSt&0x01)str+="</B>";
		str+="</FONT>";
		return str;
	}
	else{
		var style="font-family:"+FName;
		style+="; font-size:"+nPtSize+"pt; color:#"+color+";";
		if(nSt&0x01)style+=" font-weight:bold;";
		if(nSt&0x02)style+=" font-style:italic;";
		if(nSt&0x04)style+=" text-decoration:underline;";
		if(nSt&0x08)style+=" text-decoration:line-through;";
		if(nSt&0x10)style+=" vertical-align:super;";
		if(nSt&0x20)style+=" vertical-align:sub;";
		return '<SPAN STYLE="'+style+'">'+text+'</SPAN>';
	}
}
function DivSt(id,l,t,w,h,vis,sx,sy,sc)	{
	l=l*scFact;t=t*scFact;w=w*scFact;h=h*scFact;
	if(isNS4){
		var attr='NAME="'+id+'" LEFT='+l+' TOP='+t;
		if(w>0)attr+=' WIDTH='+w;
		if(h>0)attr+=' HEIGHT='+h;
		if(vis!=-1)attr+=' VISIBILITY='+(vis?'SHOW':'HIDDEN');
		attr+=" CLIP='"+w+","+h+"'";
		return '<LAYER '+attr+'">';
	}
	else{
		var st="position:absolute; left:"+l+"px; top:"+t+"px;";
		if(w>0)st+=" width:"+w+"px;";
		if(h>0)st+=" height:"+h+"px;";
		if(vis!=-1)st+=" visibility:"+(vis?"visible;":"hidden;");
		if(sx==256)st+=" filter:DropShadow(Color=#000000,OffX=1,OffY=1);";
		else if(sx!=0||sy!=0)st+=" filter:DropShadow(Color=#"+sc+",OffX="+sx+",OffY="+sy+");";
		st+=" overflow:hidden; clip:rect(0 "+w+" "+h+" 0)";
		return '<DIV ID="'+id+'" STYLE="'+st+'">';
	}
}
function DivEnd(){return isNS4?"</LAYER>\n":"</DIV>\n";}
function setIm(d,n,i){eval("d." + n + ".src=i");}
VIZ=0x01;
MOVE=0x02;
CLIP=0x04;
MMSTRT=0x08;
RPSTRT=0x10;
IETRANS=0x20;
PAUSE=0x40;
ACTION=0x80;
STARTTL=0x100
MAXTM=32000;
document.tls=new Array;
document.tls[0]=new Array;
var MainTL = document.tls[0];
MainTL.bActive = true;
var pathArray=new Array;
var	trIn=new Array;
var	trOut=new Array;
var nextURL=null;
var nextURLTmp=null;
var nextURLTmpTarget=null;
var Divs=new Array;
var numDivs=0;
var bStarted=false;
var bPause=false;
var bStopped=false;
var nTimeIndex=0;
var nGlobalTime=0;
var nDur=0;
var nGTStep=100;
var nDelay=0;
var nSTT=0;
var nImgPct=100;
var bTimedPause=false;
var nPauseTime=0;
var bClickUnpause=true;
var nLoop=1;
var nMaxLoop=1;
var nTLoopStart=0;
var nLoopEnd=0;
TimeWarp=0.5;
function NSLayer(PLNm,LNm){
	if(!isNS4) return null;
	if(PLNm!="")return document.layers[PLNm].document.layers[LNm];   
	return document.layers[LNm];
}
function Tick(time){this.Time=time;this.Events=new Array;}
function Event(LNm,PLNm,nIter,nMaxIter,act,x,y,viz,trD,script,url,target){
	this.LNm=LNm;this.PLNm=PLNm;this.iter=nIter;this.maxiter=nMaxIter;this.act=act;
	this.x=x;this.y=y;this.viz=viz;this.trD=trD;this.script=script;this.url=url;this.target=target;
	if(LNm=="")this.d=null;
	else{
		if(isNS4)this.d=NSLayer(PLNm,LNm);
		else{this.d=document.all[LNm];this.s=this.d.style;}
	}
	this.ExecuteEvent=(isNS4?NSEvent:IEEvent);
}
function iterViz(ev){return (ev.iter==0||(ev.maxiter==1)||(((nLoop-1)%ev.maxiter)==(ev.iter-1)));}
function NSEvent(){
	if(!iterViz(this)) return;
	if(this.act&PAUSE){pauseSlide(this.x,this.y);}
	if(this.act&ACTION){eval(this.script); jumpTo(this.url,this.target);}
	if(this.d==null)return;
	if((this.act&CLIP) && this.trD){this.d.clip.left=this.trD[0];this.d.clip.top=this.trD[1];this.d.clip.width=this.trD[2]-this.trD[0];this.d.clip.height=this.trD[3]-this.trD[1];}
	if(this.act&MOVE)this.d.moveTo(this.x,this.y);
	if(this.act&VIZ)this.d.visibility=(this.viz == 0)?'hide':'show';
	if(this.act&MMSTRT)playNS(this,false);
	if(this.act&RPSTRT)playNS(this,true);
	if(this.act&STARTTL)controlObj(this.PLNm,this.LNm,0);
}
function IEEvent() {
	if(!iterViz(this)) return;
	if(this.act&PAUSE){pauseSlide(this.x,this.y);}
	if(this.act&ACTION){eval(this.script); jumpTo(this.url,this.target);}
	if(this.d==null)return;
	if((this.act&CLIP) && this.trD)this.s.clip="rect("+this.trD[1]+" "+this.trD[2]+" "+this.trD[3]+" "+this.trD[0]+")";
	if(this.act&MOVE){this.s.left=this.x;this.s.top=this.y;}
	if(this.act&VIZ)this.s.visibility=(this.viz == 0)?'hidden':'visible';
	if(this.act&MMSTRT)playIE(this,false);
	if(this.act&RPSTRT)playIE(this,true);
	if(this.act&STARTTL)controlObj(this.PLNm,this.LNm,0);
	if(this.act&IETRANS){
		var sec=Math.floor(this.trD[2]/1000);
		var msec=Math.floor(this.trD[2]-sec*1000);
		if(this.trD[0]==-1)this.s.filter="blendtrans(duration="+sec+"."+msec+")";
		else this.s.filter="revealtrans(duration="+sec+"."+msec+",transition="+(this.trD[0]-1)+")";
	    this.s.visibility=(this.trD[1]==0)?"hidden":"visible";
	    this.d.filters[0].apply();
	    this.s.visibility=(this.trD[1]==0)?"visible":"hidden";
	    this.d.filters[0].play();
	}
}
function playNS(ev,r){
	if (!ev.d) return;
	if((em=ev.d.document.embeds[ev.LNm+"EMB"])==null)return;
	bPl=false;
	if(r){if(em.CanPlayPause()){em.DoPlayPause();bPl=true;}}
	else{em.play();bPl=true;}
	if(!bPl)shiftEv(ev,200);
}
function playIE(ev,r){
	if((ob=document.all[ev.LNm+"OBJ"])==null)return;
	bPl=false;
	if(r){if(ob.CanPlayPause()){ob.DoPlayPause();bPl=true;}}
	else{if(ob.ReadyState==4&&ob.Filename!=""){ob.Run();bPl=true;}}
	if(!bPl)shiftEv(ev,200);
}
function playMM(PLNm,LNm,v, r){
	var ev=new Array;
	ev.LNm=LNm;
	if(isNS4){ev.PLNm=PLNm;ev.d=NSLayer(PLNm,LNm);playNS(ev,r);}
	else{playIE(ev,r);}
}
function controlObj(PLNm, LNm, type){
	var tl=null;
	for(var i=1;i<document.tls.length;i++){
		tl=document.tls[i];
		if (tl.LNm==LNm&&tl.PLNm==PLNm){
			switch (type){
				case 0: tl.nTimeIndex=0; tl.bActive=true; break;
				case 1: tl.nTimeIndex=0; tl.bActive=false; break;
				case 2: tl.nTimeIndex=0; tl.bActive=!tl.bActive; break;
				case 4: tl.nTimeIndex=tl.nExitIndex; break;
			}
			// Set initial state 
			if (tl.bActive) {
				tick=tl[tl.nTimeIndex++];
				for(var j=0;j<tick.Events.length;j++)tick.Events[j].ExecuteEvent();
			}
			// Set visibility ...

			tick=tl[tl.nSteps+(tl.bActive?1:2)];
			tick.Events[0].ExecuteEvent();
			break;
		}
	}
}
function Div(LNm,PLNm){this.LNm=LNm;this.PLNm=PLNm;}
function State(LNm,PLNm){this.LNm=LNm;this.PLNm=PLNm;this.viz=0;this.x=0;this.y=0;this.trD=null;}
var bDoingJump=false;
function jumpTo(url,target){
	if(url==''||url=='#') return;
	if(url.substring(0,11).toLowerCase()=="javascript:")eval(url.substring(11,url.length));
	else {bDoingJump=true; open(url,(target=='')?"_self":target);}
}
function jumpToTime(nT,nP){
	if(nT<0)nT=0;
	if(nT>MAXTM)nT=MAXTM;
	var t=nT*nDur/MAXTM;
	if(t>0)t+=nSTT;
	var nIndex=Math.floor(t/nGTStep+0.5);
	var tick,ev;
	var state=new Array;
	var ind=new Array;

	for(var i=0;i<Divs.length;i++){
		if(Divs[i].LNm=="")continue;
		eval("ind."+Divs[i].LNm+"=i");
		state[i]=new State(Divs[i].LNm,Divs[i].PLNm);
	}
	var ev;
	for(var i=0;i<=nIndex&&i<MainTL.length;i++){
		tick=MainTL[i];
		for(var j=0;j<tick.Events.length;j++){
			ev=tick.Events[j];
			if(ev.LNm=="")continue;
			n=ind[ev.LNm]
			state[n].LNm=ev.LNm;
			state[n].PLNm=ev.PLNm;
			if(ev.act&VIZ)state[n].viz=(iterViz(ev)?ev.viz:false);
			if(ev.act&MOVE){state[n].x=ev.x;state[n].y=ev.y;}
			if(ev.act&CLIP)state[n].trD=ev.trD;
		}
	}

	var st,l,d,s;
	for(var i=0;i<state.length;i++){
		st=state[i];
		if(st.LNm=="")return;
		if(isNS4){
			l=NSLayer(st.PLNm,st.LNm);
			if(!l) return;
			if(st.trD){l.clip.left=st.trD[0];l.clip.top=st.trD[1];l.clip.width=st.trD[2]-st.trD[0];l.clip.height=st.trD[3]-st.trD[1];}
			l.moveTo(st.x,st.y);l.visibility=(st.viz == 0)?'hide':'show';
		}
		else{
			d=document.all[st.LNm];s=d.style;
			if(st.trD)s.clip="rect("+st.trD[1]+" "+st.trD[2]+" "+st.trD[3]+" "+st.trD[0]+")";
			s.left=st.x;s.top=st.y;s.visibility=(st.viz == 0)?'hidden':'visible';
		}
	}
	nTimeIndex=nIndex;
	nGlobalTime=nTimeIndex*nGTStep;
	var tm = new Date();
	startTime = tm.getTime();
	startTime -= nTimeIndex*nGTStep;
    if (nP!=-1) {
    	bPause=(nP==1)?true:false;
    	bTimedPause=false;
    	nPausedTime=0;
    	bClickUnpause=true;
    }
	if(bStopped)DoTimeLine();
}
function mkPath(init){
	if(init)pathArray.length=0;
	var index=pathArray.length;
	for(var i=1;i<mkPath.arguments.length;i++,index++){pathArray[index]=mkPath.arguments[i]*(((i%3)==1)?1:scFact);}
}
function mkTrans(which){
	var tr=new Array;
	var bClip=mkTrans.arguments[1]==2;
    var i, j;
	for(j=0,i=1;i<mkTrans.arguments.length;i++,j++){tr[j]=mkTrans.arguments[i]*((bClip&&(i>1))?scFact:1);}
	if(which)trOut=tr;
	else trIn=tr;	
}
function addEvent(LNm,PLNm,tl,nIter,nMaxIter,time,act,x,y,viz,trD){
	if(PLNm!=""&&time!=0&&tl==MainTL)time+=nSTT;
	var nIndex=Math.floor(time/nGTStep);
	evList=tl[nIndex].Events;
	evList[evList.length]=new Event(LNm,PLNm,nIter,nMaxIter,act,x,y,viz,trD,"","","");
}
function addActionEvent(time,script,url,target) {
	time+=nSTT;
	var nIndex=Math.floor(time/nGTStep);
	evList=MainTL[nIndex].Events;
	evList[evList.length]=new Event("","X",0,0,ACTION,0,0,1,"",script,url,target);
}
function shiftEv(ev,delt){
	var nIndex=Math.floor(nTimeIndex+delt/nGTStep);
	if(nIndex<MainTL.length){
		evList=MainTL[nIndex].Events;
		evList[evList.length]=ev;
	}
}
function addItem(LNm,PLNm,bInter,nIter,nMaxIter,nTStep,trI,trO,T1,T2,T3,T4,nState,x,y,p,mmType){
	x=x*scFact;y=y*scFact;
	if(nTStep < nGTStep)nTStep=nGTStep;
	var fact=nDur/MAXTM;
	Divs[numDivs++]=new Div(LNm,PLNm);
	var nT1=T1*fact,nT2=T2*fact,nT3=T3*fact,nT4=T4*fact;
	var tl = MainTL;
	if (bInter){
		nT4-=nT1; nT3-=nT1; nT2-=nT1; nT1=0;
		tl = document.tls[document.tls.length] = new Array;
		var nSteps=Math.floor(nT4/nGTStep);
		for(var i=0;i<=nSteps+2;i++)tl[i]=new Tick(i*nGTStep);
		tl.LNm=LNm;
		tl.PLNm=PLNm;
		tl.bActive=false;
		tl.nTimeIndex=0;
		tl.nSteps=nSteps;
		tl.nExitIndex=Math.floor(nT3/nGTStep);
		addEvent(LNm,PLNm,tl,nIter,nMaxIter,nT4+nGTStep,VIZ,0,0,1,null);
		addEvent(LNm,PLNm,tl,nIter,nMaxIter,nT4+2*nGTStep,VIZ,0,0,0,null);
	}
	if((p==null || p.length<6) && trI==null && trO==null)	{
		addEvent(LNm,PLNm,tl,nIter,nMaxIter,nT1,VIZ|MOVE,x,y,1,null);
		if(T4!=MAXTM || bInter)addEvent(LNm,PLNm,tl,nIter,nMaxIter,nT4,VIZ,0,0,0,null);
	}
	else{
		var path=new Array;
		if(p==null || p.length<6){
			if(p==null)p=path;
			p.length=0;
			p[0]=T1;p[3]=T2;p[6]=T3;p[9]=T4;
			p[1]=p[4]=p[7]=p[10]=p[2]=p[5]=p[8]=p[11]=0;
		}
		var j,delj,nTStart,nTEnd,nT,x1,y1,x2,y2,delX,delY,trD,tr,xShift,yShift,xx,yy,act;
		nTStart=p[0]*fact;
		if (bInter) nTStart = 0;
		x1=p[1]+x;y1=p[2]+y;
		var bFirst=true;
		if(trI!=null && trI[0]==1){
			trD=new Array(trI[1],0,nT2-nT1);
    		addEvent(LNm,PLNm,tl,nIter,nMaxIter,nT1,VIZ,0,0,0,null);
			addEvent(LNm,PLNm,tl,nIter,nMaxIter,nT1+1,VIZ|IETRANS,0,0,1,trD);
		}
		else
    		addEvent(LNm,PLNm,tl,nIter,nMaxIter,nT1,VIZ,0,0,1,null);
		if(trO!=null && trO[0]==1){
			trD=new Array(trO[1],1,nT4-nT3);
			addEvent(LNm,PLNm,tl,nIter,nMaxIter,nT3+1,IETRANS,0,0,1,trD);
		}
		for(var i=3;i<p.length;i+=3){
			nTEnd=p[i]*fact;
			if (bInter) nTEnd = (p[i]-p[0])*fact;
			x2=p[i+1]+x;y2=p[i+2]+y;
			delX=x2-x1;delY=y2-y1;
			tm=nTStart;
			bDone=false;
			delj=((nTEnd==nTStart)?0:nTStep/(nTEnd-nTStart));
			j=0;
			do{
				tr=null;trD=null;act=MOVE;
				xx=x1+j*delX;yy=y1+j*delY;
				if(trI!=null && trI[0]==2 && nT1<=tm && tm<=nT2){
					tr=trI;rat=((nT2==nT1)?1:(tm-nT1)/(nT2-nT1));
				}
				if(trO!=null && trO[0]==2 && nT3<=tm && tm<=nT4){
					tr=trO;rat=((nT4==nT3)?1:(tm-nT3)/(nT4-nT3));
				}
				if(tr!=null){
					xShift=tr[1]+(tr[7]-tr[1])*rat;
					yShift=tr[2]+(tr[8]-tr[2])*rat;
					trD=new Array(tr[3]+(tr[9]-tr[3])*rat,tr[4]+(tr[10]-tr[4])*rat,tr[5]+(tr[11]-tr[5])*rat,tr[6]+(tr[12]-tr[6])*rat);
					act|=CLIP;xx+=xShift;yy+=yShift;
				}
				if(bFirst||delX!=0||delY!=0||tr!=null)addEvent(LNm,PLNm,tl,nIter,nMaxIter,tm,act,xx,yy,1,trD);
				bFirst=false;
				if(tm==nTEnd)bDone=true;
				tm+=nTStep;j+=delj;
				if(tm>nTEnd){tm=nTEnd;j=1;}
			}while(!bDone);
			x1=x2;y1=y2;
			nTStart=nTEnd;
		}
		if(T4!=MAXTM || bInter)addEvent(LNm,PLNm,tl,nIter,nMaxIter,nT4,VIZ,0,0,0,null);
	}
	if(mmType>0){del=(isIE4?screen.updateInterval:nGTStep);if(del<nGTStep)del=nGTStep;addEvent(LNm,PLNm,tl,nIter,nMaxIter,nT1+del,mmType==2?RPSTRT:MMSTRT,0,0,0,null);}
}
function addPause(nT,nD,bClick){addEvent("","X",MainTL,0,0,nT*nDur/MAXTM,PAUSE,nD,bClick,0,null);}
function setStartTL(LNm,PLNm,nT){addEvent(LNm,PLNm,MainTL,0,0,nT*nDur/MAXTM+1,STARTTL,0,0,0,null);}
function addMarker(nT,script,url,target){addActionEvent(nT*nDur/MAXTM,script,url,target);}
function setNext(URL){nextURL=URL;}
function setNextTmp(URL,target){if(bStopped==true)jumpTo(URL,target);else {nextURLTmp=URL;nextURLTmpTarget=target;}}
function stat(){
	var str="";
	if(bPause){
		str+="Paused";
		if(bTimedPause)str+=" ["+nPauseTime/1000+" sec]";
		if(bClickUnpause)str+=": Click to continue";
	}
	window.status=str;
}
var loopCount = 0;
function DoTimeLine(){
	bStopped=false;
	nGlobalTime=nTimeIndex*nGTStep;
	if(bPause){
		nPauseTime-=100;
		if(bTimedPause&&nPauseTime<0){unpauseSlide();}
		else{setTimeout("DoTimeLine()",100);stat();return;}
	}
	var t;
	do { t = new Date(); curTime = t.getTime();} while (curTime - startTime < nGlobalTime); // resync time ...
	if (((loopCount%5) == 0) && nGlobalTime > nSTT && parentFrame && parentFrame.SetTime)
		parentFrame.SetTime ((bTimedSlide ? nGlobalTime : curTime - realStartTime) - nSTT, nDur, bTimedSlide);
	loopCount++;
	var tick=MainTL[nTimeIndex];
	for(var i=0;i<tick.Events.length;i++)tick.Events[i].ExecuteEvent();
	nTimeIndex++;
	var tl;
	for(var ntl=1; ntl<document.tls.length; ntl++){
		tl = document.tls[ntl];
		if (tl.bActive && tl.nTimeIndex <= tl.nSteps){
			tick=tl[tl.nTimeIndex++];
			for(var i=0;i<tick.Events.length;i++)tick.Events[i].ExecuteEvent();
		}
	}
	if(nGlobalTime+nGTStep<=nLoopEnd+nSTT)setTimeout("DoTimeLine()",nDelay);
	else {
		if (nLoop < nMaxLoop){bStopped=true;nLoop++;jumpToTime(nTLoopStart,0);}
		else {
			if(nGlobalTime+nGTStep<=nDur+nSTT)setTimeout("DoTimeLine()",nDelay);
			else {
				bStopped=true;
				bDoUnload = true;
//enumParams(params,"End Of Slide:");
				if(RangeLast!=""&&(RangeLast==getFName(location.pathname)))	{
					clearRange();
					if (AfterRange!="")	{
						jumpTo(AfterRange+paramsToS(params),"_self");
						return;
					}
				}
                s=paramsToS(params);
                var bSelf=false;
				if(nextURLTmp!=null){u=nextURLTmp;nextURLTmp=null;bSelf=(nextURLTmpTarget=="_self");tg=nextURLTmpTarget;nextURLTmpTarget=null;jumpTo(u+s,tg);}
				if(!bSelf&&nextURL!=null)jumpTo(nextURL+s,"_self");
			}
		}
	}
}
var bCBTNeedLogin = false;
function InitSlide(name,dur,nLoopSt,nLoop,tr,step,bTimed){
    sToParams(location.search,params);
	getParamData();
	strPageNm=name;
	nDur=dur;nTLoopStart=nLoopSt;nLoopEnd=nLoop*nDur/MAXTM;nSTT=tr;
	ui=screen.updateInterval;
	if(isIE4&&step<ui&&ui>50)step=ui;
	nGTStep=nTStep=step;
	nDelay=nGTStep*TimeWarp;
	nTimeIndex=0;
	bTimedSlide=bTimed;
	var nSteps=(dur+tr)/step;
	for(var i=0;i<=nSteps;i++)MainTL[i]=new Tick(i*step);
	parentFrame = window.parent;
	if (parentFrame && isIE4) parentFrame.document.title = document.title;
	if (parentFrame && parentFrame.initFrameset) parentFrame.initFrameset(isNS4);
	return true;
}
var nTryTime=0;
function startTimeline(){
	if(bStarted) return;
	if(checkImages()){
	    if (checkApplets(nTryTime)){
        	bStarted=true;
    		var start = new Date();
    		realStartTime = startTime = start.getTime();
    		loopCount=0;
            loadNotes();
            if(nOffsetTime!=0) {bStopped=true;jumpToTime(nOffsetTime,nOffsetPause);}
    		else DoTimeLine();
            return;
        }
	}
    nTryTime+=500;
	setTimeout("startTimeline();",500);
}
function checkApplets(n){
	if (!parentFrame||!parentFrame.appletsReady)
		return true;
	if (!parentFrame.appletsReady(n))
		return false;
	if (parentFrame.ConfIsConference&&parentFrame.ConfStartTL){
		if (parentFrame.ConfIsConference()&&(parentFrame.ConfStartTL(location.href)!=1)) return false;
	}
	if (bCBTNeedLogin&&parentFrame.LogIn&&!parentFrame.LogIn()){
		bDoUnload=false;
		parentFrame.location.href=strNoLoginURL;
		return false;
	}
	return true;
}
function checkImages(){
	var nIm=0,nC=0;
	if (isNS4){
		for(var l=0;l<document.layers.length;l++){
			for(var s=0;s<document.layers[l].document.layers.length;s++){
				ims=document.layers[l].document.layers[s].document.images;
				if(ims.length>0){nIm++;if(ims[0].complete==true)nC++;}
			}
		}
	}
	else{
		for(var i=0;i<document.images.length;i++){nIm++;if(document.images[i].readyState=="complete")nC++;}
	}
	return (nIm==0||nC/nIm*100>=nImgPct);
}
function pauseSlide(time,click){bPause=true;bTimedPause=(time!=-1);nPauseTime=time;bClickUnpause=click;}
function unpauseSlide(){bPause=false;stat();}
function getClickedLink(e){
	if(isIE4&&((s=window.event.srcElement)!=null)&&(s.parentElement!=null)){r=s.parentElement.href;return r?r:"";}
	else if(e!=null&&e.target!=null){return e.target.href?e.target.href:"";}
	return "";
}
function clickHandler(e){if(getClickedLink(e)==""){if(bClickUnpause&&!bMaskOn){evUnpauseSlide(true);}}}
function setLooping(n){nMaxLoop=n;}
var bDoUnload = false;
function resizeCalled(){
	if(isIE4) return;
	if (window.innerWidth!=wX||window.innerHeight!=wY){
        setParam(params,"t",""+Math.floor(((nGlobalTime-5*nGTStep)*MAXTM)/nDur));
//enumParams(params,"resizeCalled()");
        var srch = paramsToS(params);
		location.href=location.pathname+srch;
		bDoUnload=false;
	}
}
NX="astrangenext";
RL="astrangelast";
AR="astafterrange";
function playRange(url1,url2,bReplay,bTime,bDelay){
	setParam(params,NX,url1);
	setParam(params,RL,url2);
	if (bReplay){
		after=getFName(location.pathname);
		if(bTime) after+="?t="+Math.floor(((nGlobalTime+nGTStep)*MAXTM)/nDur);
	}
	else after=nextURL;
	setParam(params,AR,after);
//enumParams(params,"playRange");
	if (bDelay) setNextTmp(url1,"_self");
	else jumpTo(url1+paramsToS(params),"_self");
}
var RangeNext="";
var RangeLast="";
var AfterRange="";
var params = new Array;
var nOffsetTime=0;
var nOffsetPause=0;
function getParamData(){
//enumParams(params,"getParamData()");
	RangeNext=getParam(params,NX);
	RangeLast=getParam(params,RL);
	AfterRange=getParam(params,AR);
    nOffsetTime=getTimeOffset();
    nOffsetPause=getPauseOffset();
}
function getTimeOffset() { 
    str=getParam(params,"t");
    setParam(params,"t",null);
    return ((str=="")?0:str);
}
function getPauseOffset() { 
    str=getParam(params,"p");
    setParam(params,"p",null);
    return ((str=="")?0:str);
}
function clearRange(){
    setParam(params,NX,null);
    setParam(params,RL,null);
    setParam(params,AR,null);
}
function getFName(path){
	i=path.lastIndexOf('/');
	if (i<=0)i=path.lastIndexOf('\\');
	if(i<0) return path;
	return path.substring(i+1,path.length);
}
function getBase(path) {
	i=path.lastIndexOf('/');
	if (i<=0)i=path.lastIndexOf('\\');
	if(i<0) return "";
	return path.substring(0,i+1);
}
var docbtns = new Array;
docbtns.length = 0;
BTN_TOGGLE=1;
BTN_EXCLUDE=2;
BTN_PUSH=0;
BTN_CHECK=BTN_TOGGLE;
BTN_RADIO=BTN_EXCLUDE;
function Button (PLNm,LNm,name,type,src,srcDn,srcOvr){
	if (isNS4){
		l=NSLayer(PLNm,LNm);
		this.img=(l?l.document.images[0]:null);
	}
	else
		this.img=document.images[name];
	this.name = name;
	this.type = type;
	this.src = src;
	this.srcDn = srcDn;
	this.srcOvr = srcOvr;
	this.state = false;
}
function defBtn (PLNm,LNm,name,type,src,srcDn,srcOvr){
	btn = new Button(PLNm,LNm,name,type,src,srcDn,srcOvr);
	if (defBtn.arguments.length>7){
		btn.exclude = new Array;
		for(var i=7;i<defBtn.arguments.length; i++)
			btn.exclude[i-7]=defBtn.arguments[i];
	}
	docbtns[name]=btn;
}
function btnClick(name){
	var btn=docbtns[name];
	if(btn)
	{
		if (btn.type&BTN_TOGGLE) btn.state=!btn.state;
		else btn.state=true;
		if ((btn.type&BTN_EXCLUDE)&&btn.exclude){
			for(var i=0; i<btn.exclude.length; i++){
				btn2 = docbtns[btn.exclude[i]];
				if (btn2.name!=btn.name){
					btn2.state=false;
					btn2.img.src=btn2.src;
				}
			}
		}
		btn.img.src=(btn.state&&btn.srcDn!="")?btn.srcDn:btn.src;
	}
}
function btnUnclick(name){
	var btn=docbtns[name];
	if(btn)
	{
		if (btn.type&(BTN_TOGGLE|BTN_EXCLUDE))
			btn.img.src=(btn.state&&btn.srcDn!="")?btn.srcDn:btn.src;
		else {
			btn.state=false;
			btn.img.src=btn.src;
		}
	}

}
function btnOver(name){
	var btn=docbtns[name];
	if(btn&&btn.srcOvr!=""&&!btn.state)
		btn.img.src=btn.srcOvr;
}
var bMaskOn=false;
function clickMask(bOn){
    bMaskOn=bOn;
	if(isNS4){d=NSLayer("",MASKLAYER);d.visibility=(bOn?"show":"hide");}
	else{d=document.all[MASKLAYER];d.style.visibility=(bOn?"visible":"hidden");}
}
function blockDisplay(bOn){
	if(isNS4){d=NSLayer("",BLOCKLAYER);d.visibility=(bOn?"show":"hide");}
	else{d=document.all[BLOCKLAYER];d.style.visibility=(bOn?"visible":"hidden");}
}
var SlideScore=0;
var startTime=0;
var realStartTime=0;
var curTime=0;
var parentFrame=null;
var bTimedSlide=true;
var strPageNm="";
var nQ=1;
var nQA=1;
function setScore(n){SlideScore=n;}
function getScore(){ return SlideScore; }
function unloadSlide(){ 
    if(!bDoingJump)killNotes();
	if (bDoUnload&&parentFrame&&parentFrame.CBTData) {
		parentFrame.CBTData(strPageNm,nQ,nQA,getScore(),getScore(),(curTime-realStartTime-nSTT),(realStartTime+nSTT),curTime,getBase(location.href)+nextURL);
	}
}
var strNotesURL="";
var bDoSpeakerNotes=false;
var bNotesInWindow=true;
var notesW=null;
function GetNotesURL() { return strNotesURL; }
function loadNotes() {
    if (!bDoSpeakerNotes) return;
    if (parentFrame&&parentFrame.ConfCanLoadNotes) if (!parentFrame.ConfCanLoadNotes()) return;
    if (bNotesInWindow){
        attr='scrollbars=yes,resizable=yes,';
        if(isNS4)attr+='left='+window.screenX+',top='+(window.screenY+window.outerHeight)+',width='+window.innerWidth+',height=150';
        else attr+='left=0,top=0,width=320,height=240';
        notesW=open(strNotesURL==''?'javascript:"";':strNotesURL,'SpeakerNotes',attr);
    }
    else { if (parentFrame&&parentFrame.NotesLoadFrame) parentFrame.NotesLoadFrame();}
}
function killNotes() { 
    if(bNotesInWindow) {if(notesW&&notesW.close)notesW.close();notesW=null;}
//    else { if (parentFrame&&parentFrame.NotesKillFrame) parentFrame.NotesKillFrame();}
}
function sendConfEvent(n,str1,str2,nP1,nP2,nP3) {
	if (parentFrame&&parentFrame.ConfSendEvent)
		parentFrame.ConfSendEvent(n,str1,str2,nP1,nP2,nP3);
}
function doEvent(n,str1,str2,nP1,nP2,nP3) {
	switch (n) {
	case 1: evGotoURL(false,str1,str2,nP1); break;
	case 2: evGotoSlide(false,str1,nP1); break;
	case 3: evControlObj(false,str1,nP1); break;
	case 4: evPlayRange(false,str1,str2,nP1,nP2,nP3); break;
	case 5: evPlayMedia(false,str1,nP1,nP2); break;
	case 6: evJumpTime(false,nP1,nP2,nP3); break;
	case 7: evPauseSlide(false,nP1,nP2); break;
	case 8: evUnpauseSlide(false); break;
	}
}
// interaction entry points ...
function evGotoURL(c,url,target,bFinish) {
	if (c) sendConfEvent(1,url,target,bFinish?1:0,0,0);
	if (bFinish) setNextTmp (url,target);
	else jumpTo(url,target);
}
function evGotoSlide(c,url,bFinish) {
	if (c) sendConfEvent(2,url,'',bFinish?1:0,0,0);
	if (bFinish) setNextTmp (url,"_self");
	else jumpTo(url,"_self");
}
function evControlObj (c,name,nAction) {
	if (c) sendConfEvent(3,name,'',nAction,0,0);
	controlObj ('SCL',name,nAction);
}
function evPlayRange (c,sl1,sl2,bFinish,bRestart,bSameTime) {
	if (c) sendConfEvent(4,sl1,sl2,bFinish?1:0,bRestart?1:0,bSameTime?1:0);
	playRange (sl1,sl2,bRestart,bSameTime,bFinish);
}
function evPlayMedia(c, name, v, bReal) {
	if (c) sendConfEvent(5,name,'',v,bReal?1:0,0);
	playMM('SCL',name,v,bReal);
}
function evJumpTime(c,t,bFinish,p) {
	if (c) sendConfEvent(6,'','',t,bFinish?1:0,p);
	if (bFinish) setNextTmp ("javascript:jumpToTime("+t+","+p+");","_self");
	else jumpToTime(t,p);
}
function evPauseSlide(c,t,cl) {
	if (c) sendConfEvent(7,'','',t,cl,0);
	pauseSlide(t,cl);
}
function evUnpauseSlide(c) {
	if (c) sendConfEvent(8,'','',0,0,0);
	unpauseSlide();
}
function useFrame(fr,url) {
    sToParams(location.search,params);
    setParam(params,"astredirect",url);
    location.href=fr+paramsToS(params);
}
function GetURL() { return location.href}
function GetTime() { var t=nGlobalTime-nSTT; if(t<0) t=0; return t*MAXTM/nDur; }
function IsPaused() { return bPause?1:0; }
// Global Parameter manager ...
function Param(n,v) { this.name=n;this.value=v; }
function sToParams(s,p) {
    p.length=0;
    if(!s||s=="") return;
    var i=s.indexOf("?")+1;
    if (i<=0) return;
    var j;
    var bDone=false;
    while (!bDone) {
        j=s.indexOf("&",i); if(j<0) {j=s.length; bDone=true;}
        str=s.substring(i,j);
        k=str.indexOf("="); if(k<0) k=str.length-1;
        pm=new Param(unescape(str.substring(0,k)), unescape(str.substring(k+1,str.length)));
        p[p.length]=pm;
        i=j+1;
    }
}
function paramsToS(p) {
    var s="?";
    for(var i=0;i<p.length;i++)
        if (p[i].name!="") s+=(i==0?"":"&")+escape(p[i].name)+"="+escape(p[i].value);
	return (s=="?")?"":s;
}
function getPm(p,name) {
	var pm=null;
    for(var i=0;i<p.length;i++) {
    	if (p[i].name==name) pm=p[i];
    }
   	return pm;
}
function getParam(p,name) {
    pm=getPm(p,name);
    return (pm?pm.value:"");
}
function setParam(p,name,val) {
    pm=getPm(p,name);
    if(pm) {
        if (val) pm.value=val;
        else pm.name="";
    }
    else if (val) { pm = new Param(name,val); p[p.length]=pm; }
}

