// Jump.js for Astound Presentations Version 7.0.195 (C) 2000 Astound Incorporated. var NSVersion=(navigator.appName=='Netscape')?(parseInt(navigator.appVersion.substring(0,1))):0; var isN4=(NSVersion==4)&&(document.layers!=null); var isN5=(NSVersion==5)&&(document.getElementById!=null); RPGUID='clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA'; RPPARAMS=''; RPATTR='CONTROLS="ImageWindow"'; AMGUID='clsid:05589FA1-C356-11CE-BF01-00AA0055595A'; AMPARAMS=''; 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; var scFactFont=1.0; var bReloadOnResize = (!isIE4)&&(!isN5); function getElm(parent,child) { if(child=="") return null; if(isN4) { if(parent!="") return document.layers[parent].document.layers[child]; return document.layers[child]; } if(isIE4) return document.all[child]; if(isN5) return document.getElementById(child); return null; } function getStyle(parent,child) { d=getElm(parent,child); if (d) return d.style; return null; } function getScale(dpi){ var brDPI=0; var s=getStyle('','astDPIQuery'); if (s) { if(isN4)brDPI=s.clip.height; else brDPI=s.pixelHeight; } if (brDPI<72)brDPI=dpi; scFactFont=dpi/brDPI; } function stretchToFitClient(x,y){ /* x = wX / x; y = wY / y; var fact = x > y ? y : x; if (fact > 0 && (fact < 0.8 || fact > 1.2)) { if (fact < 0.25) fact = 0.25; else if (fact > 5) fact = 5; scFact *= fact; scFactFont *= fact; } bReloadOnResize = 1; */ } function RPObj(id,url){ if(!isN4)return ''+RPPARAMS+''; else return ''; } function QTObj(id,url,l){ return '1)?' LOOP="TRUE"':'')+' WIDTH=100% HEIGHT=100% '+AMATTR+'>'; } function AMObj(id,url,l){ if(!isN4){ s=''+AMPARAMS+''; if(AMObj.arguments.length>3) s+=''; return (s+''); } return QTObj(id,url,l); } function ImObj(nm,src,w,h,alt,map){ w=w*scFact;h=h*scFact; str=''+alt+'"; if(nSt&0x01)str+=""; if(nSt&0x02)str+=""; if(nSt&0x04)str+=""; if(nSt&0x10)str+=""; if(nSt&0x20)str+=""; str+=text; if(nSt&0x20)str+=""; if(nSt&0x10)str+=""; if(nSt&0x04)str+=""; if(nSt&0x02)str+=""; if(nSt&0x01)str+=""; str+=""; return str; } else{ var style="font-family:"+FName; style+="; font-size:"+(nPtSize*scFactFont)+"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;"; if(nLS>1.0)style += " line-height:"+nLS+";"; return ''+text+''; } } var bSTr=false; function DivSt(id,l,t,w,h,vis,sx,sy,sc) { l=l*scFact;t=t*scFact;w=w*scFact;h=h*scFact; if(isN4){ 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 ''; } 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