function LoadSld( slideId ) | |
{ | |
if( !g_supportsPPTHTML ) return | |
if( slideId ) | |
parent.SldUpdated(slideId) | |
g_origSz=parseInt(SlideObj.style.fontSize) | |
g_origH=SlideObj.style.posHeight | |
g_origW=SlideObj.style.posWidth | |
g_scaleHyperlinks=(document.all.tags("AREA").length>0) | |
if( g_scaleHyperlinks ) | |
InitHLinkArray() | |
if( g_scaleInFrame||(IsWin("PPTSld") && parent.IsFullScrMode() ) ) | |
document.body.scroll="no" | |
_RSW() | |
if( IsWin("PPTSld") && parent.IsFullScrMode() ) { | |
document.oncontextmenu=parent._CM; | |
self.focus() | |
} | |
} | |
function MakeSldVis( fTrans ) | |
{ | |
fTrans=fTrans && g_showAnimation | |
if( fTrans ) | |
{ | |
if( g_bgSound ) { | |
idx=g_bgSound.indexOf(","); | |
pptSound.src=g_bgSound.substr( 0, idx ); | |
pptSound.loop= -(parseInt(g_bgSound.substr(idx+1))); | |
} | |
SlideObj.filters.revealtrans.Apply() | |
} | |
SlideObj.style.visibility="visible" | |
if( fTrans ) | |
SlideObj.filters.revealtrans.Play() | |
} | |
function MakeNotesVis() | |
{ | |
if( !IsNts() ) return false | |
SlideObj.style.display="none" | |
nObj = document.all.item("NotesObj") | |
parent.SetHasNts(0) | |
if( nObj ) { | |
nObj.style.display="" | |
parent.SetHasNts(1) | |
} | |
return 1 | |
} | |
function Redirect( frmId,sId ) | |
{ | |
var str=document.location.hash,idx=str.indexOf('#') | |
if(idx>=0) str=str.substr(1); | |
if( window.name != frmId && ( sId != str) ) { | |
obj = document.all.item("Main-File") | |
window.location.href=obj.href+"#"+sId | |
return 1 | |
} | |
return 0 | |
} | |
function HideMenu() { if( frames["PPTSld"] && PPTSld.document.all.item("ctxtmenu") && PPTSld.ctxtmenu.style.display!="none" ) { PPTSld.ctxtmenu.style.display='none'; return true } return false } | |
function IsWin( name ) { return window.name == name } | |
function IsNts() { return IsWin("PPTNts") } | |
function IsSldOrNts() { return( IsWin("PPTSld")||IsWin("PPTNts") ) } | |
function SupportsPPTAnimation() { return( navigator.platform == "Win32" && navigator.appVersion.indexOf("Windows")>0 ) } | |
function SupportsPPTHTML() | |
{ | |
var appVer=navigator.appVersion, msie=appVer.indexOf("MSIE "), ver=0 | |
if( msie >= 0 ) | |
ver=parseFloat( appVer.substring( msie+5, appVer.indexOf(";",msie) ) ) | |
else | |
ver=parseInt(appVer) | |
return( ver >= 4 && msie >= 0 ) | |
} | |
var MHTMLPrefix = CalculateMHTMLPrefix(); | |
function CalculateMHTMLPrefix() | |
{ | |
if ( document.location.protocol == 'mhtml:') { | |
href=new String(document.location.href) | |
Start=href.indexOf('!')+1 | |
End=href.lastIndexOf('/')+1 | |
if (End < Start) | |
return href.substring(0, Start) | |
else | |
return href.substring(0, End) | |
} | |
return ''; | |
} | |
function _RSW() | |
{ | |
if( !g_supportsPPTHTML || IsNts() || | |
( !g_scaleInFrame && (( window.name != "PPTSld" ) || !parent.IsFullScrMode()) ) ) | |
return | |
cltWidth=document.body.clientWidth | |
cltHeight=document.body.clientHeight | |
factor=(1.0*cltWidth)/g_origW | |
if( cltHeight < g_origH*factor ) | |
factor=(1.0*cltHeight)/g_origH | |
newSize = g_origSz * factor | |
if( newSize < 1 ) newSize=1 | |
s=SlideObj.style | |
s.fontSize=newSize+"px" | |
s.posWidth=g_origW*factor | |
s.posHeight=g_origH*factor | |
s.posLeft=(cltWidth-s.posWidth)/2 | |
s.posTop=(cltHeight-s.posHeight)/2 | |
if( g_scaleHyperlinks ) | |
ScaleHyperlinks( factor ) | |
} | |
function _KPH() | |
{ | |
if( IsNts() ) return; | |
if( !parent.IsFramesMode() && event.keyCode == 27 && !parent.HideMenu() ) | |
parent.window.close( self ); | |
else if( event.keyCode == 32 ) | |
{ | |
if( window.name == "PPTSld" ) | |
parent.PPTSld.DocumentOnClick(); | |
else | |
parent.GoToNextSld(); | |
} | |
} | |
function DocumentOnClick() | |
{ | |
if( IsNts() || parent.HideMenu() ) return; | |
if( ( g_allowAdvOnClick && !parent.IsFramesMode() ) || | |
(event && (event.keyCode==32) ) ) | |
parent.GoToNextSld(); | |
} | |
var g_supportsPPTHTML = SupportsPPTHTML(), g_scaleInFrame = true, gId="", g_bgSound="", | |
g_scaleHyperlinks = false, g_allowAdvOnClick = true, g_showInBrowser = false; | |
var g_showAnimation = g_supportsPPTHTML && SupportsPPTAnimation() && ( (window.name=="PPTSld" && !parent.IsFramesMode()) || g_showInBrowser );var g_hasTrans = false, g_autoTrans = false, g_transSecs = 0; | |
var g_animManager = null; | |
var ENDSHOW_MESG="End of slide show, click to exit.", SCREEN_MODE="Frames", gIsEndShow=0, NUM_VIS_SLDS=9, SCRIPT_HREF="script.js", FULLSCR_HREF="fullscreen.htm"; | |
var gCurSld = gPrevSld = 1, g_offset = 0, gNtsOpen = gHasNts = gOtlTxtExp = gNarrationPaused = false, gOtlOpen = true | |
window.gPPTHTML=SupportsPPTHTML() | |
function UpdNtsPane(){ PPTNts.location.replace( MHTMLPrefix+GetHrefObj( gCurSld ).mNtsHref ) } | |
function UpdNavPane( sldIndex ){ if(gNavLoaded) PPTNav.UpdNav() } | |
function UpdOtNavPane(){ if(gOtlNavLoaded) PPTOtlNav.UpdOtlNav() } | |
function UpdOtlPane(){ if(gOtlLoaded) PPTOtl.UpdOtl() } | |
function SetHasNts( fVal ) | |
{ | |
if( gHasNts != fVal ) { | |
gHasNts=fVal | |
UpdNavPane() | |
} | |
} | |
function ToggleOtlText() | |
{ | |
gOtlTxtExp=!gOtlTxtExp | |
UpdOtlPane() | |
} | |
function ToggleOtlPane() | |
{ | |
frmset=document.all("PPTHorizAdjust") | |
frm=document.all("PPTOtl") | |
if( gOtlOpen ) | |
frmset.cols="*,100%" | |
else | |
frmset.cols="20%,80%" | |
gOtlOpen=!gOtlOpen | |
frm.noResize=!frm.noResize | |
UpdOtNavPane() | |
} | |
function ToggleNtsPane() | |
{ | |
frmset=document.all("PPTVertAdjust") | |
frm=document.all("PPTNts") | |
if( gNtsOpen ) | |
frmset.rows="100%,*" | |
else | |
frmset.rows="80%,20%" | |
gNtsOpen=!gNtsOpen | |
UpdNtsPane() | |
} | |
function FullScreen(){ window.open( MHTMLPrefix+FULLSCR_HREF,null,"fullscreen=yes" ) } | |
function ToggleVNarration() | |
{ | |
rObj=PPTSld.document.all("NSPlay") | |
if( rObj ) { | |
if( gNarrationPaused ) | |
rObj.Play() | |
else | |
rObj.Pause() | |
gNarrationPaused=!gNarrationPaused | |
} | |
} | |
function GetCurSldNum() | |
{ | |
obj=GetHrefObj(gCurSld) | |
if( obj.mOrigVis == 1 ) | |
return obj.mSldIdx | |
else | |
return gCurSld | |
} | |
function GetNumSlds() | |
{ | |
if( GetHrefObj(gCurSld).mOrigVis == 1 ) | |
return NUM_VIS_SLDS | |
else | |
return gDocTable.length | |
} | |
function GetSldNum( href ) | |
{ | |
for(ii=0; ii<gDocTable.length; ii++) { | |
if ( gDocTable[ii].mSldHref == href ) | |
return ii+1 | |
} | |
return 1 | |
} | |
function GetHrefObj( sldIdx ){ return gDocTable[sldIdx-1] } | |
function IsFramesMode(){ return ( SCREEN_MODE == "Frames" ) } | |
function IsFullScrMode(){ return ( SCREEN_MODE == "FullScreen" ) } | |
function GoToNextSld() | |
{ | |
ii=gCurSld + 1 | |
if( GetHrefObj( ii-1 ).mOrigVis == 0 ) { | |
if( ii<=gDocTable.length ) { | |
obj=GetHrefObj(ii) | |
obj.mVis=1 | |
GoToSld(obj.mSldHref) | |
return | |
} | |
} | |
else { | |
obj=GetHrefObj( ii ) | |
while ( obj && ( obj.mOrigVis == 0 ) ) | |
obj=GetHrefObj(ii++) | |
if( obj && obj.mOrigVis ) { | |
GoToSld(obj.mSldHref) | |
return | |
} | |
} | |
if( !IsFramesMode() ) EndShow() | |
} | |
function GoToPrevSld() | |
{ | |
ii=gCurSld-1 | |
if( ii > 0 ) { | |
obj=GetHrefObj(ii) | |
while ( ( obj.mVis == 0 ) && ( ii>0 ) ) | |
obj=GetHrefObj(ii--) | |
GoToSld(obj.mSldHref) | |
} | |
} | |
function GoToFirst(){ GoToSld( GetHrefObj(1).mSldHref ) } | |
function GoToLast() | |
{ | |
ii=gDocTable.length | |
if( ii != gCurSld ) | |
GoToSld( GetHrefObj(ii).mSldHref ) | |
} | |
function GoToSld( href ) | |
{ | |
if( PPTSld.event ) PPTSld.event.cancelBubble=true | |
GetHrefObj( GetSldNum(href) ).mVis=1 | |
PPTSld.location.href=MHTMLPrefix+href | |
} | |
function SldUpdated( id ) | |
{ | |
if( id == GetHrefObj(gCurSld).mSldHref ) return | |
gPrevSld=gCurSld | |
gCurSld=GetSldNum(id) | |
if( IsFramesMode() ) { | |
UpdNavPane(); UpdOtlPane(); UpdNtsPane() | |
} | |
} | |
function PrevSldViewed(){ GoToSld( GetHrefObj(gPrevSld).mSldHref ) } | |
function HasPrevSld() { return ( gIsEndShow || ( gCurSld != 1 && GetHrefObj( gCurSld-1 ).mVis == 1 )||( GetCurSldNum() > 1 ) ) } | |
function HasNextSld() { return (GetCurSldNum() != GetNumSlds()) } | |
function EndShow() | |
{ | |
if( PPTSld.event ) PPTSld.event.cancelBubble=true | |
doc=PPTSld.document | |
doc.open() | |
doc.writeln('<html><head><script defer>function CloseWindow(){ if( parent.HideMenu() ) return; if( !parent.IsFramesMode() && event && (event.keyCode==27 || event.keyCode==32 || event.type=="click" ) ) parent.window.close( self ); } function Unload() { parent.gIsEndShow=0; } function SetupEndShow() { parent.gIsEndShow=1; document.body.scroll="no"; document.onkeypress=CloseWindow; document.onclick=CloseWindow; document.oncontextmenu=parent._CM; }</script></head><body bgcolor=black onload=SetupEndShow() onunload=Unload()><center><p><font face=Tahoma color=white size=2><br><b>' + ENDSHOW_MESG + '</b></font></p></center></body></html>') | |
doc.close() | |
} | |
function SetSldVisited(){ gDocTable[gCurSld-1].mVisited=true } | |
function IsSldVisited(){ return gDocTable[gCurSld-1].mVisited } | |
function hrefList( sldHref, visible, sldIdx ) | |
{ | |
this.mSldHref= this.mNtsHref = sldHref | |
this.mSldIdx = sldIdx | |
this.mOrigVis= this.mVis = visible | |
this.mVisited= false | |
} | |
var gDocTable = new Array( | |
new hrefList("slide0001.htm", 1, 1), | |
new hrefList("slide0009.htm", 1, 2), | |
new hrefList("slide0006.htm", 1, 3), | |
new hrefList("slide0021.htm", 1, 4), | |
new hrefList("slide0019.htm", 1, 5), | |
new hrefList("slide0016.htm", 1, 6), | |
new hrefList("slide0017.htm", 1, 7), | |
new hrefList("slide0022.htm", 1, 8), | |
new hrefList("slide0024.htm", 1, 9) | |
); | |
function ImgBtn( oId,bId,w,action ) | |
{ | |
var t=this | |
t.Perform = _IBP | |
t.SetActive = _IBSetA | |
t.SetInactive= _IBSetI | |
t.SetPressed = _IBSetP | |
t.SetDisabled= _IBSetD | |
t.Enabled = _IBSetE | |
t.ChangeIcon = null | |
t.UserAction = action | |
t.ChgState = _IBUI | |
t.mObjId = oId | |
t.mBorderId= bId | |
t.mWidth = w | |
t.mIsOn = t.mCurState = 0 | |
} | |
function _IBSetA() | |
{ | |
if( this.mIsOn ) { | |
obj=this.ChgState( gHiliteClr,gShadowClr,2 ) | |
obj.style.posTop=0 | |
} | |
} | |
function _IBSetI() | |
{ | |
if( this.mIsOn ) { | |
obj=this.ChgState( gFaceClr,gFaceClr,1 ) | |
obj.style.posTop=0 | |
} | |
} | |
function _IBSetP() | |
{ | |
if( this.mIsOn ) { | |
obj=this.ChgState( gShadowClr,gHiliteClr,2 ) | |
obj.style.posLeft+=1; obj.style.posTop+=1 | |
} | |
} | |
function _IBSetD() | |
{ | |
obj=this.ChgState( gFaceClr,gFaceClr,0 ) | |
obj.style.posTop=0 | |
} | |
function _IBSetE( state ) | |
{ | |
var t=this | |
GetObj( t.mBorderId ).style.visibility="visible" | |
if( state != t.mIsOn ) { | |
t.mIsOn=state | |
if( state ) | |
t.SetInactive() | |
else | |
t.SetDisabled() | |
} | |
} | |
function _IBP() | |
{ | |
var t=this | |
if( t.mIsOn ) { | |
if( t.UserAction != null ) | |
t.UserAction() | |
if( t.ChangeIcon ) { | |
obj=GetObj(t.mObjId) | |
if( t.ChangeIcon() ) | |
obj.style.posLeft=obj.style.posLeft+(t.mCurState-4)*t.mWidth | |
else | |
obj.style.posLeft=obj.style.posLeft+(t.mCurState-0)*t.mWidth | |
} | |
t.SetActive() | |
} | |
} | |
function _IBUI( clr1,clr2,nextState ) | |
{ | |
var t=this | |
SetBorder( GetObj( t.mBorderId ),clr1,clr2 ) | |
obj=GetObj( t.mObjId ) | |
obj.style.posLeft=obj.style.posLeft+(t.mCurState-nextState)*t.mWidth-obj.style.posTop | |
t.mCurState=nextState | |
return obj | |
} | |
function TxtBtn( oId,oeId,action,chkState ) | |
{ | |
var t=this | |
t.Perform = _TBP | |
t.SetActive = _TBSetA | |
t.SetInactive= _TBSetI | |
t.SetPressed = _TBSetP | |
t.SetDisabled= _TBSetD | |
t.SetEnabled = _TBSetE | |
t.GetState = chkState | |
t.UserAction = action | |
t.ChgState = _TBUI | |
t.mObjId = oId | |
t.m_elementsId= oeId | |
t.mIsOn = 1 | |
} | |
function _TBSetA() | |
{ | |
var t=this | |
if( t.mIsOn && !t.GetState() ) | |
t.ChgState( gHiliteClr,gShadowClr,0,0 ) | |
} | |
function _TBSetI() | |
{ | |
var t=this | |
if( t.mIsOn && !t.GetState() ) | |
t.ChgState( gFaceClr,gFaceClr,0,0 ) | |
} | |
function _TBSetP() | |
{ | |
if( this.mIsOn ) | |
this.ChgState( gShadowClr,gHiliteClr,1,1 ) | |
} | |
function _TBSetD() | |
{ | |
this.ChgState( gFaceClr,gFaceClr,0,0 ) | |
this.mIsOn = 0 | |
} | |
function _TBSetE() | |
{ | |
var t=this | |
if( !t.GetState() ) | |
t.ChgState( gFaceClr,gFaceClr,0,0 ) | |
else | |
t.ChgState( gShadowClr,gHiliteClr,1,1 ) | |
t.mIsOn = 1 | |
} | |
function _TBP() | |
{ | |
var t=this | |
if( t.mIsOn ) { | |
if( t.UserAction != null ) | |
t.UserAction() | |
if( t.GetState() ) | |
t.SetPressed() | |
else | |
t.SetActive() | |
} | |
} | |
function _TBUI( clr1,clr2,lOffset,tOffset ) | |
{ | |
SetBorder( GetObj( this.mObjId ),clr1,clr2 ) | |
Offset( GetObj( this.m_elementsId ),lOffset,tOffset ) | |
} | |
function GetObj( objId ){ return document.all.item( objId ) } | |
function Offset( obj, top, left ){ obj.style.top=top; obj.style.left=left } | |
function SetBorder( obj, upperLeft, lowerRight ) | |
{ | |
s=obj.style; | |
s.borderStyle = "solid" | |
s.borderWidth = 1 | |
s.borderLeftColor = s.borderTopColor = upperLeft | |
s.borderBottomColor= s.borderRightColor = lowerRight | |
} | |
function GetBtnObj(){ return gBtnArr[window.event.srcElement.id] } | |
function BtnOnOver(){ b=GetBtnObj(); if( b != null ) b.SetActive() } | |
function BtnOnDown(){ b=GetBtnObj(); if( b != null ) b.SetPressed() } | |
function BtnOnOut(){ b=GetBtnObj(); if( b != null ) b.SetInactive() } | |
function BtnOnUp() | |
{ | |
b=GetBtnObj() | |
if( b != null ) | |
b.Perform() | |
else | |
Upd() | |
} | |
function GetNtsState(){ return parent.gNtsOpen } | |
function GetOtlState(){ return parent.gOtlOpen } | |
function GetOtlTxtState(){ return parent.gOtlTxtExp } | |
function NtsBtnSetFlag( fVal ) | |
{ | |
s=document.all.item( this.m_flagId ).style | |
s.display="none" | |
if( fVal ) | |
s.display="" | |
else | |
s.display="none" | |
} | |
var gHiliteClr="THREEDHIGHLIGHT",gShadowClr="THREEDSHADOW",gFaceClr="THREEDFACE" | |
var gBtnArr = new Array() | |
gBtnArr["nb_otl"] = new TxtBtn( "nb_otl","nb_otlElem",parent.ToggleOtlPane,GetOtlState ) | |
gBtnArr["nb_nts"] = new TxtBtn( "nb_nts","nb_ntsElem",parent.ToggleNtsPane,GetNtsState ) | |
gBtnArr["nb_prev"]= new ImgBtn( "nb_prev","nb_prevBorder",30,parent.GoToPrevSld ) | |
gBtnArr["nb_next"]= new ImgBtn( "nb_next","nb_nextBorder",30,parent.GoToNextSld ) | |
gBtnArr["nb_sldshw"]= new ImgBtn( "nb_sldshw","nb_sldshwBorder",18,parent.FullScreen ) | |
gBtnArr["nb_voice"] = new ImgBtn( "nb_voice","nb_voiceBorder",18,parent.ToggleVNarration ) | |
gBtnArr["nb_otlTxt"]= new ImgBtn( "nb_otlTxt","nb_otlTxtBorder",23,parent.ToggleOtlText ) | |
gBtnArr["nb_nts"].m_flagId= "notes_flag" | |
gBtnArr["nb_nts"].SetFlag = NtsBtnSetFlag | |
gBtnArr["nb_otlTxt"].ChangeIcon= GetOtlTxtState | |
var sNext="Next",sPrev="Previous",sEnd="End Show",sFont="Arial" | |
function ShowMenu() | |
{ | |
BuildMenu(); | |
var doc=PPTSld.document.body,x=PPTSld.event.clientX+doc.scrollLeft,y=PPTSld.event.clientY+doc.scrollTop | |
m = PPTSld.document.all.item("ctxtmenu") | |
m.style.pixelLeft=x | |
if( (x+m.scrollWidth > doc.clientWidth)&&(x-m.scrollWidth > 0) ) | |
m.style.pixelLeft=x-m.scrollWidth | |
m.style.pixelTop=y | |
if( (y+m.scrollHeight > doc.clientHeight)&&(y-m.scrollHeight > 0) ) | |
m.style.pixelTop=y-m.scrollHeight | |
m.style.display="" | |
} | |
function _CM() | |
{ | |
if( !parent.IsFullScrMode() ) return; | |
if(!PPTSld.event.ctrlKey) { | |
ShowMenu() | |
return false | |
} else | |
HideMenu() | |
} | |
function BuildMenu() | |
{ | |
if( PPTSld.document.all.item("ctxtmenu") ) return | |
var mObj=CreateItem( PPTSld.document.body ) | |
mObj.id="ctxtmenu" | |
var s=mObj.style | |
s.position="absolute" | |
s.cursor="default" | |
s.width="100px" | |
SetCMBorder(mObj,"menu","black") | |
var iObj=CreateItem( mObj ) | |
SetCMBorder( iObj, "threedhighlight","threedshadow" ) | |
iObj.style.padding=2 | |
CreateMenuItem( iObj,sNext,M_GoNextSld,M_True ) | |
CreateMenuItem( iObj,sPrev,M_GoPrevSld,M_HasPrevSld ) | |
var sObj=CreateItem( iObj ) | |
SetCMBorder(sObj,"menu","menu") | |
var s=sObj.style | |
s.borderTopColor="threedshadow" | |
s.borderBottomColor="threedhighlight" | |
s.height=1 | |
s.fontSize="0px" | |
CreateMenuItem( iObj,sEnd,M_End,M_True ) | |
} | |
function Highlight() { ChangeClr("activecaption","threedhighlight") } | |
function Deselect() { ChangeClr("threedface","menutext") } | |
function Perform() | |
{ | |
e=PPTSld.event.srcElement | |
if( e.type=="menuitem" && e.IsActive() ) | |
e.Action() | |
else | |
PPTSld.event.cancelBubble=true | |
} | |
function ChangeClr( bg,clr ) | |
{ | |
e=PPTSld.event.srcElement | |
if( e.type=="menuitem" && e.IsActive() ) { | |
e.style.backgroundColor=bg | |
e.style.color=clr | |
} | |
} | |
function M_HasPrevSld() { return( parent.HasPrevSld() ) } | |
function M_GoNextSld() { if( gIsEndShow ) M_End(); else GoToNextSld() } | |
function M_GoPrevSld() { if( gIsEndShow ) { history.back(); PPTSld.event.cancelBubble=true; } else GoToPrevSld() } | |
function M_True() { return true } | |
function M_End() { window.close( self ) } | |
function CreateMenuItem( node,text,action,eval ) | |
{ | |
var e=CreateItem( node ) | |
e.type="menuitem" | |
e.Action=action | |
e.IsActive=eval | |
e.innerHTML=text | |
if( !e.IsActive() ) | |
e.style.color="threedshadow" | |
e.onclick=Perform | |
e.onmouseover=Highlight | |
e.onmouseout=Deselect | |
s=e.style; | |
s.fontFamily=sFont | |
s.fontSize="8pt" | |
s.paddingLeft=2 | |
} | |
function CreateItem( node ) | |
{ | |
var elem=PPTSld.document.createElement("DIV") | |
node.insertBefore( elem ) | |
return elem | |
} | |
function SetCMBorder( o,ltClr,rbClr ) | |
{ | |
var s=o.style | |
s.backgroundColor="menu" | |
s.borderStyle="solid" | |
s.borderWidth=1 | |
s.borderColor=ltClr+" "+rbClr+" "+rbClr+" "+ltClr | |
} |