';
}
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(l<-5000||!bSTr||isIE5) {
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+");";
}
if (isIE4)st+=" overflow:hidden;";
st+=" clip:rect(0 "+w+" "+h+" 0)";
return '';
}
}
function DivEnd(){return isN4?"\n":"
\n";}
function setIm(d,n,i){eval("d." + n + ".src=i");}
VIZ=0x0001;
MOVE=0x0002;
CLIP=0x0004;
MMSTRT=0x0008;
RPSTRT=0x0010;
IETRANS=0x0020;
PAUSE=0x0040;
ACTION=0x0080;
STARTTL=0x0100
SIZE=0x0200;
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 sSlideQuestion = "";
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 Tick(time){this.Time=time;this.Events=new Array;}
function astEvent(LNm,PLNm,time,nIter,nMaxIter,act,x,y,viz,trD,script,url,target){
this.LNm=LNm;this.PLNm=PLNm;this.time=time;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; this.s=null; }
else{
this.d=getElm(PLNm,LNm);
this.s=getStyle(PLNm,LNm);
}
this.ExecuteEvent=(isN4?NSEvent:IEEvent);
}
function resetImgObj(obj){
if (obj) {
var srcImg = obj.src;
obj.src = '';
obj.src = srcImg;
}
}
function stHideShow(st,s) {
if (isN4) {
if (st.viz == 0) {
s.visibility='hide';
}
else {
s.visibility='show';
resetImgObj (s.document.images[0]);
}
}
else {
if (st.viz == 0) {
s.visibility='hidden';
}
else {
s.visibility='visible';
resetImgObj (document.images[st.LNm+'Im']);
}
}
}
function iterViz(ev){return (ev.iter==0||(ev.maxiter==1)||(((nLoop-1)%ev.maxiter)==(ev.iter-1)));}
function NSEvent(){
if(!iterViz(this)) return false;
if(this.act&PAUSE){pauseSlide(this.x,this.y); return true;}
if(this.act&ACTION){eval(this.script); jumpTo(this.url,this.target);}
if(this.d==null)return false;
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&SIZE)this.d.resizeTo(this.trD[4],this.trD[5]);
if(this.act&VIZ) stHideShow(this,this.d);
if(this.act&MMSTRT)playNS(this,false);
if(this.act&RPSTRT)playNS(this,true);
if(this.act&STARTTL)controlObj(this.PLNm,this.LNm,0);
return false;
}
function IEEvent() {
if(!iterViz(this)) return false;
if(this.act&PAUSE){pauseSlide(this.x,this.y); return true;}
if(this.act&ACTION){eval(this.script); jumpTo(this.url,this.target);}
if(this.d==null)return false;
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&SIZE){if(this.trD[4])this.s.width=this.trD[4];if(this.trD[5])this.s.height=this.trD[5];}
if(this.act&VIZ) stHideShow(this,this.s);
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(isIE4&&(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";
var tdfl = this.d.filters.length - 1;
if (tdfl>=0)
{
this.d.filters[tdfl].apply();
this.s.visibility=(this.trD[1]==0)?"visible":"hidden";
this.d.filters[tdfl].play();
}
}
return false;
}
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){
ob=getElm("",ev.LNm+"OBJ");
if(ob==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 astEvent(LNm,PLNm,0,0,1,r?RPSTRT:MMSTRT,-1,-1,1,null,'','','');
ev.ExecuteEvent();
}
function controlObj(PLNm, LNm, type){
var tl=null;
for(var i=1;i 0) break;
n++;
}
jumpToTime(n*INDEXMUL,0,-1);
}
// This "time" is not really time - it's (TL Index) * INDEXMUL + (event bin index)
function jumpToTime(nT,nP,nO){
if(nT<0)nT=0;
var nIndex = Math.floor(nT/INDEXMUL);
if (nIndex >= MainTL.length) nIndex = MainTL.length-1;
var nRestartIndex = nT - (nIndex*INDEXMUL);
if (nRestartIndex >= MainTL[nIndex].Events.length) nRestartIndex = MainTL[nIndex].Events.length-1;
if(nRestartIndex < 0) nRestartIndex = 0;
if (nIndex == nTimeIndex && nRestartIndex == nRestart)
return;
var state=new Array;
var ind=new Array;
var i,j,n;
for(i=0;i= nIndex && j >= nRestartIndex) break;
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,s;
for(i=0;i1))?scFact:1);}
if(which)trOut=tr;
else trIn=tr;
}
function InsertEvent(tl,nIndex,ev) {
if (nIndex>=tl.length) nIndex=tl.length-1;
evList=tl[nIndex].Events;
var nInsert=0;
for(; nInsert=evList.length)?null:evList[nInsert];
evList[nInsert]=evIns;
evIns=evNext;
nInsert++;
} while (evNext!=null)
}
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);
InsertEvent(tl,nIndex,new astEvent(LNm,PLNm,time,nIter,nMaxIter,act,x,y,viz,trD,"","",""));
}
function addActionEvent(time,script,url,target) {
time+=nSTT;
var nIndex=Math.floor(time/nGTStep);
InsertEvent(MainTL,nIndex,new astEvent("","X",time,0,0,ACTION,0,0,1,"",script,url,target));
}
function shiftEv(ev,delt){
var nIndex=Math.floor(nTimeIndex+delt/nGTStep);
if(nIndex=nT1-0.5 && tm<=nT2+0.5){
tr=trI;rat=((nT2==nT1)?1:(tm-nT1)/(nT2-nT1));
}
if(trO!=null && trO[0]==2 && tm>=nT3-0.5 && tm<=nT4+0.5){
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=MainTL.length) { EndTL(); 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];
var bP=false;
for(i=nRestart;i50)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);
getParent();
if (parentFrame) {
if (isIE4) parentFrame.document.title = document.title;
if (parentFrame.initFrameset) parentFrame.initFrameset(isN4);
if (parentFrame.startPresSlide) parentFrame.startPresSlide();
}
return true;
}
var nTryTime=0;
WAITINC=500;
function startTimeline(){
if(bStarted) return;
if(checkImages(nTryTime)){
if (checkApplets(nTryTime)){
bStarted=true;
var start = new Date();
realStartTime = startTime = start.getTime();
loopCount=0;
loadNotes();
if(nOffsetTime>0) {bStopped=true;jumpToTime(nOffsetTime,nOffsetPause,nOffsetOdo);}
else DoTimeLine();
return;
}
}
nTryTime+=WAITINC;
setTimeout("startTimeline();",WAITINC);
}
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;
}
MAXWAIT=30000;
function checkImages(nT){
var nIm=0,nC=0;
if (isN4){
for(var l=0;l0){ nIm++; if(ims[0].complete==true)nC++;}
}
}
}
else if (isIE4) {
for(var i=0;i=nImgPct)||(nT>MAXWAIT)||(nT>nImgPct*50*nIm);
SetStatusMSG(bDone?"":"Waiting for Images to load ... ");
return bDone;
}
function pauseSlide(time,click){bPause=true;bTimedPause=(time!=-1);nPauseTime=time;bClickUnpause=click;}
function unpauseSlide(){bPause=false;stat();}
function getClickedLink(e){
if(!bMaskOn) {
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 "X";
}
function clickHandler(e){
if(getClickedLink(e)=="") {
var tl;
for(var i=1; i0) path=path.substring(0,i);
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 (isN4){
l=getElm(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 100 && window.doAnnotEvent)
doAnnotEvent(n,str1,str2,nP1,nP2,nP3);
else {
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,str1==""?-1:Number(str1)); break;
case 7: evPauseSlide(false,nP1,nP2); break;
case 8: evUnpauseSlide(false); break;
}
}
}
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 evJumpTime2(c,t,bFinish,p,o) {
// Convert from Astound 0-32000 time to timeline index
evJumpTime(c, (Math.floor((t*nDur/MAXTM+nSTT)/nGTStep))*INDEXMUL, bFinish, p, o);
}
function evJumpTime(c,t,bFinish,p,o) {
if (c) sendConfEvent(6,'','',t,bFinish?1:0,p);
if (bFinish) setNextTmp ("javascript:jumpToTime("+t+","+p+","+o+");","_self");
else jumpToTime(t,p,o);
}
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() { return nTimeIndex*INDEXMUL + nRestart; }
function IsPaused() { return bPause?1:0; }
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="?";
var bFirst=true;
for(var i=0;i