~ubuntu-branches/ubuntu/wily/acl2/wily

« back to all changes in this revision

Viewing changes to books/workshops/2000/shumsky/slides2_files/script.js

  • Committer: Package Import Robot
  • Author(s): Camm Maguire
  • Date: 2015-01-16 10:35:45 UTC
  • mfrom: (3.3.26 sid)
  • Revision ID: package-import@ubuntu.com-20150116103545-prehe9thgo79o8w8
Tags: 7.0-1
New upstream release

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
 
 
2
function LoadSld( slideId )
 
3
{
 
4
        if( !g_supportsPPTHTML ) return
 
5
        if( slideId )
 
6
                parent.SldUpdated(slideId)
 
7
        g_origSz=parseInt(SlideObj.style.fontSize)
 
8
        g_origH=SlideObj.style.posHeight
 
9
        g_origW=SlideObj.style.posWidth
 
10
        g_scaleHyperlinks=(document.all.tags("AREA").length>0)
 
11
        if( g_scaleHyperlinks )
 
12
                InitHLinkArray()
 
13
        if( g_scaleInFrame||(IsWin("PPTSld") && parent.IsFullScrMode() ) )
 
14
                document.body.scroll="no"
 
15
        _RSW()
 
16
        if( IsWin("PPTSld") && parent.IsFullScrMode() ) {
 
17
                document.oncontextmenu=parent._CM;
 
18
                self.focus()
 
19
        }
 
20
}
 
21
function MakeSldVis( fTrans ) 
 
22
{
 
23
        fTrans=fTrans && g_showAnimation
 
24
        if( fTrans )
 
25
        {
 
26
                if( g_bgSound ) {
 
27
                        idx=g_bgSound.indexOf(",");
 
28
                        pptSound.src=g_bgSound.substr( 0, idx );
 
29
                        pptSound.loop= -(parseInt(g_bgSound.substr(idx+1)));
 
30
                }
 
31
                SlideObj.filters.revealtrans.Apply()
 
32
        }
 
33
        SlideObj.style.visibility="visible"
 
34
        if( fTrans )
 
35
                SlideObj.filters.revealtrans.Play()
 
36
}
 
37
function MakeNotesVis() 
 
38
{
 
39
        if( !IsNts() ) return false 
 
40
        SlideObj.style.display="none"
 
41
        nObj = document.all.item("NotesObj")
 
42
        parent.SetHasNts(0)
 
43
        if( nObj ) { 
 
44
                nObj.style.display=""
 
45
                parent.SetHasNts(1)
 
46
        }
 
47
        return 1
 
48
}
 
49
function Redirect( frmId,sId )
 
50
{
 
51
        var str=document.location.hash,idx=str.indexOf('#')
 
52
        if(idx>=0) str=str.substr(1);
 
53
        if( window.name != frmId && ( sId != str) ) {
 
54
                obj = document.all.item("Main-File")
 
55
                window.location.href=obj.href+"#"+sId
 
56
                return 1
 
57
        }
 
58
        return 0
 
59
}
 
60
function HideMenu() { if( frames["PPTSld"] && PPTSld.document.all.item("ctxtmenu") && PPTSld.ctxtmenu.style.display!="none" ) { PPTSld.ctxtmenu.style.display='none'; return true } return false }
 
61
function IsWin( name ) { return window.name == name }
 
62
function IsNts() { return IsWin("PPTNts") }
 
63
function IsSldOrNts() { return( IsWin("PPTSld")||IsWin("PPTNts") ) }
 
64
function SupportsPPTAnimation() { return( navigator.platform == "Win32" && navigator.appVersion.indexOf("Windows")>0 ) }
 
65
function SupportsPPTHTML()
 
66
{
 
67
        var appVer=navigator.appVersion, msie=appVer.indexOf("MSIE "), ver=0
 
68
        if( msie >= 0 )
 
69
                ver=parseFloat( appVer.substring( msie+5, appVer.indexOf(";",msie) ) )
 
70
        else
 
71
                ver=parseInt(appVer)
 
72
 
 
73
        return( ver >= 4 && msie >= 0 )
 
74
}
 
75
var MHTMLPrefix = CalculateMHTMLPrefix(); 
 
76
function CalculateMHTMLPrefix()
 
77
{
 
78
        if ( document.location.protocol == 'mhtml:') { 
 
79
                href=new String(document.location.href) 
 
80
                Start=href.indexOf('!')+1 
 
81
                End=href.lastIndexOf('/')+1 
 
82
                if (End < Start) 
 
83
                        return href.substring(0, Start) 
 
84
                else 
 
85
                return href.substring(0, End) 
 
86
        }
 
87
        return '';
 
88
}
 
89
 
 
90
function _RSW()
 
91
{
 
92
        if( !g_supportsPPTHTML || IsNts() ||
 
93
          ( !g_scaleInFrame && (( window.name != "PPTSld" ) || !parent.IsFullScrMode()) ) )
 
94
                return
 
95
 
 
96
        cltWidth=document.body.clientWidth
 
97
        cltHeight=document.body.clientHeight
 
98
        factor=(1.0*cltWidth)/g_origW
 
99
        if( cltHeight < g_origH*factor )
 
100
                factor=(1.0*cltHeight)/g_origH
 
101
 
 
102
        newSize = g_origSz * factor
 
103
        if( newSize < 1 ) newSize=1
 
104
 
 
105
        s=SlideObj.style
 
106
        s.fontSize=newSize+"px"
 
107
        s.posWidth=g_origW*factor
 
108
        s.posHeight=g_origH*factor
 
109
        s.posLeft=(cltWidth-s.posWidth)/2
 
110
        s.posTop=(cltHeight-s.posHeight)/2
 
111
 
 
112
        if( g_scaleHyperlinks )
 
113
                ScaleHyperlinks( factor )
 
114
}
 
115
 
 
116
function _KPH()
 
117
 
118
  if( IsNts() ) return;
 
119
 
 
120
  if( !parent.IsFramesMode() && event.keyCode == 27 && !parent.HideMenu() )
 
121
    parent.window.close( self );
 
122
  else if( event.keyCode == 32 )
 
123
  {
 
124
    if( window.name == "PPTSld" )
 
125
      parent.PPTSld.DocumentOnClick();
 
126
    else
 
127
      parent.GoToNextSld();
 
128
  }
 
129
}
 
130
 
 
131
function DocumentOnClick()
 
132
{
 
133
        if( IsNts() || parent.HideMenu() ) return;
 
134
        if( ( g_allowAdvOnClick && !parent.IsFramesMode() ) ||
 
135
            (event && (event.keyCode==32) ) )
 
136
                parent.GoToNextSld();
 
137
}
 
138
 
 
139
 
 
140
 
 
141
var g_supportsPPTHTML = SupportsPPTHTML(), g_scaleInFrame = true, gId="", g_bgSound="",
 
142
    g_scaleHyperlinks = false, g_allowAdvOnClick = true, g_showInBrowser = false;
 
143
var g_showAnimation = g_supportsPPTHTML && SupportsPPTAnimation() && ( (window.name=="PPTSld" && !parent.IsFramesMode()) || g_showInBrowser );var g_hasTrans = false, g_autoTrans = false, g_transSecs = 0;
 
144
var g_animManager = null;
 
145
 
 
146
var ENDSHOW_MESG="End of slide show, click to exit.", SCREEN_MODE="Frames", gIsEndShow=0, NUM_VIS_SLDS=19, SCRIPT_HREF="script.js", FULLSCR_HREF="fullscreen.htm";
 
147
var gCurSld = gPrevSld = 1, g_offset = 0, gNtsOpen = gHasNts = gOtlTxtExp = gNarrationPaused = false, gOtlOpen = true
 
148
window.gPPTHTML=SupportsPPTHTML()
 
149
 
 
150
function UpdNtsPane(){ PPTNts.location.replace( MHTMLPrefix+GetHrefObj( gCurSld ).mNtsHref ) }
 
151
function UpdNavPane( sldIndex ){ if(gNavLoaded) PPTNav.UpdNav() }
 
152
function UpdOtNavPane(){ if(gOtlNavLoaded) PPTOtlNav.UpdOtlNav() }
 
153
function UpdOtlPane(){ if(gOtlLoaded) PPTOtl.UpdOtl() }
 
154
function SetHasNts( fVal )
 
155
{
 
156
        if( gHasNts != fVal ) {
 
157
                gHasNts=fVal
 
158
                UpdNavPane()
 
159
        }
 
160
}
 
161
function ToggleOtlText()
 
162
{
 
163
        gOtlTxtExp=!gOtlTxtExp
 
164
        UpdOtlPane()
 
165
}
 
166
function ToggleOtlPane()
 
167
{
 
168
        frmset=document.all("PPTHorizAdjust")
 
169
        frm=document.all("PPTOtl")
 
170
 
 
171
        if( gOtlOpen )
 
172
                frmset.cols="*,100%"
 
173
        else
 
174
                frmset.cols="20%,80%"
 
175
 
 
176
        gOtlOpen=!gOtlOpen
 
177
        frm.noResize=!frm.noResize
 
178
        UpdOtNavPane()
 
179
}
 
180
function ToggleNtsPane()
 
181
{
 
182
        frmset=document.all("PPTVertAdjust")
 
183
        frm=document.all("PPTNts")
 
184
 
 
185
        if( gNtsOpen )
 
186
                frmset.rows="100%,*"
 
187
        else
 
188
                frmset.rows="80%,20%"
 
189
 
 
190
        gNtsOpen=!gNtsOpen
 
191
        UpdNtsPane()
 
192
}
 
193
function FullScreen(){ window.open( MHTMLPrefix+FULLSCR_HREF,null,"fullscreen=yes" ) }
 
194
function ToggleVNarration()
 
195
{
 
196
        rObj=PPTSld.document.all("NSPlay")
 
197
        if( rObj ) {
 
198
                if( gNarrationPaused )
 
199
                        rObj.Play()
 
200
                else
 
201
                        rObj.Pause()
 
202
 
 
203
                gNarrationPaused=!gNarrationPaused
 
204
        }
 
205
}
 
206
function GetCurSldNum()
 
207
{   
 
208
        obj=GetHrefObj(gCurSld)
 
209
        if( obj.mOrigVis == 1 )
 
210
                return obj.mSldIdx
 
211
        else   
 
212
                return gCurSld
 
213
}
 
214
function GetNumSlds()
 
215
{   
 
216
        if( GetHrefObj(gCurSld).mOrigVis == 1 )
 
217
                return NUM_VIS_SLDS
 
218
        else
 
219
                return gDocTable.length
 
220
}
 
221
function GetSldNum( href )
 
222
{
 
223
        for(ii=0; ii<gDocTable.length; ii++) {
 
224
                if ( gDocTable[ii].mSldHref == href )
 
225
                        return ii+1
 
226
        }
 
227
        return 1
 
228
}
 
229
function GetHrefObj( sldIdx ){ return gDocTable[sldIdx-1] }
 
230
function IsFramesMode(){ return ( SCREEN_MODE == "Frames" ) }
 
231
function IsFullScrMode(){ return ( SCREEN_MODE == "FullScreen" ) }
 
232
function GoToNextSld()
 
233
{   
 
234
        ii=gCurSld + 1
 
235
        if( GetHrefObj( ii-1 ).mOrigVis == 0 ) {
 
236
                if( ii<=gDocTable.length ) {
 
237
                        obj=GetHrefObj(ii)
 
238
                        obj.mVis=1
 
239
                        GoToSld(obj.mSldHref)
 
240
                        return
 
241
                }               
 
242
        }
 
243
        else {
 
244
                obj=GetHrefObj( ii )
 
245
                while ( obj && ( obj.mOrigVis == 0 ) )
 
246
                        obj=GetHrefObj(ii++)
 
247
                if( obj && obj.mOrigVis ) {
 
248
                        GoToSld(obj.mSldHref)   
 
249
                        return
 
250
                }       
 
251
        }
 
252
        if( !IsFramesMode() ) EndShow()
 
253
}
 
254
function GoToPrevSld()
 
255
{
 
256
        ii=gCurSld-1
 
257
        if( ii > 0 ) {      
 
258
                obj=GetHrefObj(ii)
 
259
                while ( ( obj.mVis == 0 ) && ( ii>0 ) )
 
260
                        obj=GetHrefObj(ii--)
 
261
                GoToSld(obj.mSldHref)
 
262
        }
 
263
}
 
264
function GoToFirst(){ GoToSld( GetHrefObj(1).mSldHref ) }
 
265
function GoToLast()
 
266
{
 
267
        ii=gDocTable.length
 
268
        if( ii != gCurSld )
 
269
                GoToSld( GetHrefObj(ii).mSldHref )
 
270
}
 
271
function GoToSld( href )
 
272
{
 
273
        if( PPTSld.event ) PPTSld.event.cancelBubble=true
 
274
        GetHrefObj( GetSldNum(href) ).mVis=1
 
275
        PPTSld.location.href=MHTMLPrefix+href
 
276
}
 
277
function SldUpdated( id )
 
278
{
 
279
        if( id == GetHrefObj(gCurSld).mSldHref ) return
 
280
        gPrevSld=gCurSld
 
281
        gCurSld=GetSldNum(id)
 
282
        if( IsFramesMode() ) {
 
283
                UpdNavPane(); UpdOtlPane(); UpdNtsPane()
 
284
        }
 
285
}
 
286
 
 
287
function PrevSldViewed(){ GoToSld( GetHrefObj(gPrevSld).mSldHref ) }
 
288
function HasPrevSld() { return ( gIsEndShow || ( gCurSld != 1 && GetHrefObj( gCurSld-1 ).mVis == 1 )||( GetCurSldNum() > 1 ) ) }
 
289
function HasNextSld() { return (GetCurSldNum() != GetNumSlds()) }
 
290
function EndShow()
 
291
{
 
292
        if( PPTSld.event ) PPTSld.event.cancelBubble=true
 
293
 
 
294
        doc=PPTSld.document
 
295
        doc.open()
 
296
        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>')
 
297
        doc.close()
 
298
}
 
299
function SetSldVisited(){ gDocTable[gCurSld-1].mVisited=true }
 
300
function IsSldVisited(){ return gDocTable[gCurSld-1].mVisited }
 
301
function hrefList( sldHref, visible, sldIdx )
 
302
{
 
303
        this.mSldHref= this.mNtsHref = sldHref
 
304
        this.mSldIdx = sldIdx
 
305
        this.mOrigVis= this.mVis = visible
 
306
        this.mVisited= false
 
307
}
 
308
var gDocTable = new Array(
 
309
   new hrefList("slide0001.htm", 1, 1),
 
310
   new hrefList("slide0003.htm", 1, 2),
 
311
   new hrefList("slide0004.htm", 1, 3),
 
312
   new hrefList("slide0020.htm", 1, 4),
 
313
   new hrefList("slide0005.htm", 1, 5),
 
314
   new hrefList("slide0021.htm", 1, 6),
 
315
   new hrefList("slide0032.htm", 1, 7),
 
316
   new hrefList("slide0033.htm", 1, 8),
 
317
   new hrefList("slide0026.htm", 1, 9),
 
318
   new hrefList("slide0027.htm", 1, 10),
 
319
   new hrefList("slide0028.htm", 1, 11),
 
320
   new hrefList("slide0009.htm", 1, 12),
 
321
   new hrefList("slide0010.htm", 1, 13),
 
322
   new hrefList("slide0013.htm", 1, 14),
 
323
   new hrefList("slide0029.htm", 1, 15),
 
324
   new hrefList("slide0030.htm", 1, 16),
 
325
   new hrefList("slide0015.htm", 1, 17),
 
326
   new hrefList("slide0016.htm", 1, 18),
 
327
   new hrefList("slide0017.htm", 1, 19)
 
328
);
 
329
 
 
330
function ImgBtn( oId,bId,w,action )
 
331
{
 
332
        var t=this
 
333
        t.Perform    = _IBP
 
334
        t.SetActive  = _IBSetA
 
335
        t.SetInactive= _IBSetI
 
336
        t.SetPressed = _IBSetP
 
337
        t.SetDisabled= _IBSetD
 
338
        t.Enabled    = _IBSetE
 
339
        t.ChangeIcon = null
 
340
        t.UserAction = action
 
341
        t.ChgState   = _IBUI
 
342
        t.mObjId   = oId
 
343
        t.mBorderId= bId
 
344
        t.mWidth   = w
 
345
        t.mIsOn    = t.mCurState = 0
 
346
}
 
347
function _IBSetA()
 
348
{
 
349
        if( this.mIsOn ) {
 
350
                obj=this.ChgState( gHiliteClr,gShadowClr,2 )
 
351
                obj.style.posTop=0
 
352
        }
 
353
}
 
354
function _IBSetI()
 
355
{
 
356
        if( this.mIsOn ) {
 
357
                obj=this.ChgState( gFaceClr,gFaceClr,1 )
 
358
                obj.style.posTop=0 
 
359
        }
 
360
}
 
361
function _IBSetP()
 
362
{
 
363
        if( this.mIsOn ) {
 
364
                obj=this.ChgState( gShadowClr,gHiliteClr,2 )
 
365
                obj.style.posLeft+=1; obj.style.posTop+=1
 
366
        }
 
367
}
 
368
function _IBSetD()
 
369
{  
 
370
        obj=this.ChgState( gFaceClr,gFaceClr,0 )
 
371
        obj.style.posTop=0 
 
372
}
 
373
function _IBSetE( state )
 
374
{
 
375
        var t=this
 
376
        GetObj( t.mBorderId ).style.visibility="visible"
 
377
        if( state != t.mIsOn ) {
 
378
                t.mIsOn=state
 
379
                if( state )
 
380
                        t.SetInactive()
 
381
                else
 
382
                        t.SetDisabled()
 
383
        }
 
384
}
 
385
function _IBP()
 
386
{
 
387
        var t=this
 
388
        if( t.mIsOn ) {
 
389
                if( t.UserAction != null )
 
390
                        t.UserAction()
 
391
                if( t.ChangeIcon ) {
 
392
                        obj=GetObj(t.mObjId)
 
393
                        if( t.ChangeIcon() )
 
394
                                obj.style.posLeft=obj.style.posLeft+(t.mCurState-4)*t.mWidth
 
395
                        else
 
396
                                obj.style.posLeft=obj.style.posLeft+(t.mCurState-0)*t.mWidth
 
397
                }
 
398
                t.SetActive()
 
399
        }  
 
400
}
 
401
function _IBUI( clr1,clr2,nextState )
 
402
{
 
403
        var t=this
 
404
        SetBorder( GetObj( t.mBorderId ),clr1,clr2 )
 
405
        obj=GetObj( t.mObjId )
 
406
        obj.style.posLeft=obj.style.posLeft+(t.mCurState-nextState)*t.mWidth-obj.style.posTop
 
407
        t.mCurState=nextState
 
408
        return obj
 
409
}
 
410
function TxtBtn( oId,oeId,action,chkState )
 
411
{
 
412
        var t=this
 
413
        t.Perform    = _TBP
 
414
        t.SetActive  = _TBSetA
 
415
        t.SetInactive= _TBSetI
 
416
        t.SetPressed = _TBSetP
 
417
        t.SetDisabled= _TBSetD
 
418
        t.SetEnabled = _TBSetE
 
419
        t.GetState   = chkState
 
420
        t.UserAction = action
 
421
        t.ChgState   = _TBUI
 
422
        t.mObjId      = oId
 
423
        t.m_elementsId= oeId
 
424
        t.mIsOn       = 1
 
425
}
 
426
function _TBSetA()
 
427
{
 
428
        var t=this
 
429
        if( t.mIsOn && !t.GetState() )
 
430
                t.ChgState( gHiliteClr,gShadowClr,0,0 )
 
431
}
 
432
function _TBSetI()
 
433
{
 
434
        var t=this
 
435
        if( t.mIsOn && !t.GetState() )
 
436
                t.ChgState( gFaceClr,gFaceClr,0,0 )
 
437
}
 
438
function _TBSetP()
 
439
{
 
440
        if( this.mIsOn )
 
441
                this.ChgState( gShadowClr,gHiliteClr,1,1 )
 
442
}
 
443
function _TBSetD()
 
444
{   
 
445
        this.ChgState( gFaceClr,gFaceClr,0,0 )
 
446
        this.mIsOn = 0
 
447
}
 
448
function _TBSetE()
 
449
{
 
450
        var t=this
 
451
        if( !t.GetState() )
 
452
                t.ChgState( gFaceClr,gFaceClr,0,0 )
 
453
        else
 
454
                t.ChgState( gShadowClr,gHiliteClr,1,1 )
 
455
        t.mIsOn = 1
 
456
}
 
457
function _TBP()
 
458
{
 
459
        var t=this
 
460
        if( t.mIsOn ) { 
 
461
                if( t.UserAction != null )
 
462
                        t.UserAction()
 
463
                if( t.GetState() )
 
464
                        t.SetPressed()
 
465
                else
 
466
                        t.SetActive()
 
467
        }  
 
468
}
 
469
function _TBUI( clr1,clr2,lOffset,tOffset )
 
470
{
 
471
        SetBorder( GetObj( this.mObjId ),clr1,clr2 )
 
472
        Offset( GetObj( this.m_elementsId ),lOffset,tOffset )
 
473
}
 
474
function GetObj( objId ){ return document.all.item( objId ) }
 
475
function Offset( obj, top, left ){ obj.style.top=top; obj.style.left=left }
 
476
function SetBorder( obj, upperLeft, lowerRight )
 
477
{
 
478
        s=obj.style;
 
479
        s.borderStyle      = "solid"
 
480
        s.borderWidth      = 1 
 
481
        s.borderLeftColor  = s.borderTopColor = upperLeft
 
482
        s.borderBottomColor= s.borderRightColor = lowerRight
 
483
}
 
484
function GetBtnObj(){ return gBtnArr[window.event.srcElement.id] }
 
485
function BtnOnOver(){ b=GetBtnObj(); if( b != null ) b.SetActive() }
 
486
function BtnOnDown(){ b=GetBtnObj(); if( b != null ) b.SetPressed() }
 
487
function BtnOnOut(){ b=GetBtnObj(); if( b != null ) b.SetInactive() }
 
488
function BtnOnUp()
 
489
{
 
490
        b=GetBtnObj()
 
491
        if( b != null )
 
492
                b.Perform()
 
493
        else
 
494
                Upd()
 
495
}
 
496
function GetNtsState(){ return parent.gNtsOpen }
 
497
function GetOtlState(){ return parent.gOtlOpen }
 
498
function GetOtlTxtState(){ return parent.gOtlTxtExp }
 
499
function NtsBtnSetFlag( fVal )
 
500
{
 
501
        s=document.all.item( this.m_flagId ).style
 
502
        s.display="none"
 
503
        if( fVal )
 
504
                s.display=""
 
505
        else
 
506
                s.display="none"
 
507
}
 
508
 
 
509
var gHiliteClr="THREEDHIGHLIGHT",gShadowClr="THREEDSHADOW",gFaceClr="THREEDFACE"
 
510
var gBtnArr = new Array()
 
511
gBtnArr["nb_otl"] = new TxtBtn( "nb_otl","nb_otlElem",parent.ToggleOtlPane,GetOtlState )
 
512
gBtnArr["nb_nts"] = new TxtBtn( "nb_nts","nb_ntsElem",parent.ToggleNtsPane,GetNtsState )
 
513
gBtnArr["nb_prev"]= new ImgBtn( "nb_prev","nb_prevBorder",30,parent.GoToPrevSld )
 
514
gBtnArr["nb_next"]= new ImgBtn( "nb_next","nb_nextBorder",30,parent.GoToNextSld )
 
515
gBtnArr["nb_sldshw"]= new ImgBtn( "nb_sldshw","nb_sldshwBorder",18,parent.FullScreen )
 
516
gBtnArr["nb_voice"]  = new ImgBtn( "nb_voice","nb_voiceBorder",18,parent.ToggleVNarration )
 
517
gBtnArr["nb_otlTxt"]= new ImgBtn( "nb_otlTxt","nb_otlTxtBorder",23,parent.ToggleOtlText )
 
518
gBtnArr["nb_nts"].m_flagId= "notes_flag"
 
519
gBtnArr["nb_nts"].SetFlag = NtsBtnSetFlag
 
520
gBtnArr["nb_otlTxt"].ChangeIcon= GetOtlTxtState
 
521
var sNext="Next",sPrev="Previous",sEnd="End Show",sFont="Arial"
 
522
function ShowMenu()
 
523
{
 
524
        BuildMenu();
 
525
        var doc=PPTSld.document.body,x=PPTSld.event.clientX+doc.scrollLeft,y=PPTSld.event.clientY+doc.scrollTop
 
526
 
 
527
        m = PPTSld.document.all.item("ctxtmenu")
 
528
        m.style.pixelLeft=x
 
529
        if( (x+m.scrollWidth > doc.clientWidth)&&(x-m.scrollWidth > 0) )
 
530
                m.style.pixelLeft=x-m.scrollWidth
 
531
 
 
532
        m.style.pixelTop=y
 
533
        if( (y+m.scrollHeight > doc.clientHeight)&&(y-m.scrollHeight > 0) )
 
534
                m.style.pixelTop=y-m.scrollHeight
 
535
 
 
536
        m.style.display=""
 
537
}
 
538
function _CM()
 
539
{
 
540
        if( !parent.IsFullScrMode() ) return;
 
541
        if(!PPTSld.event.ctrlKey) {
 
542
                ShowMenu()
 
543
                return false
 
544
        } else
 
545
                HideMenu()
 
546
}
 
547
function BuildMenu()
 
548
{
 
549
        if( PPTSld.document.all.item("ctxtmenu") ) return
 
550
 
 
551
        var mObj=CreateItem( PPTSld.document.body )
 
552
        mObj.id="ctxtmenu"
 
553
        var s=mObj.style
 
554
        s.position="absolute"
 
555
        s.cursor="default"
 
556
        s.width="100px"
 
557
        SetCMBorder(mObj,"menu","black")
 
558
 
 
559
        var iObj=CreateItem( mObj )
 
560
        SetCMBorder( iObj, "threedhighlight","threedshadow" )
 
561
        iObj.style.padding=2
 
562
        CreateMenuItem( iObj,sNext,M_GoNextSld,M_True )
 
563
        CreateMenuItem( iObj,sPrev,M_GoPrevSld,M_HasPrevSld )
 
564
        var sObj=CreateItem( iObj )
 
565
        SetCMBorder(sObj,"menu","menu")
 
566
        var s=sObj.style
 
567
        s.borderTopColor="threedshadow"
 
568
        s.borderBottomColor="threedhighlight"
 
569
        s.height=1
 
570
        s.fontSize="0px"
 
571
        CreateMenuItem( iObj,sEnd,M_End,M_True )
 
572
}
 
573
function Highlight() { ChangeClr("activecaption","threedhighlight") }
 
574
function Deselect() { ChangeClr("threedface","menutext") }
 
575
function Perform()
 
576
{
 
577
        e=PPTSld.event.srcElement
 
578
        if( e.type=="menuitem" && e.IsActive() )
 
579
                e.Action()
 
580
        else
 
581
                PPTSld.event.cancelBubble=true
 
582
}
 
583
function ChangeClr( bg,clr )
 
584
{
 
585
        e=PPTSld.event.srcElement
 
586
        if( e.type=="menuitem" && e.IsActive() ) {
 
587
                e.style.backgroundColor=bg
 
588
                e.style.color=clr
 
589
        }
 
590
}
 
591
 
 
592
function M_HasPrevSld() { return( parent.HasPrevSld() ) }
 
593
function M_GoNextSld() { if( gIsEndShow ) M_End(); else GoToNextSld() }
 
594
function M_GoPrevSld() { if( gIsEndShow ) { history.back(); PPTSld.event.cancelBubble=true; } else GoToPrevSld() }
 
595
function M_True() { return true }
 
596
function M_End() { window.close( self ) }
 
597
function CreateMenuItem( node,text,action,eval )
 
598
{
 
599
        var e=CreateItem( node )
 
600
        e.type="menuitem"
 
601
        e.Action=action
 
602
        e.IsActive=eval
 
603
        e.innerHTML=text
 
604
 
 
605
        if( !e.IsActive() )
 
606
                e.style.color="threedshadow"
 
607
        e.onclick=Perform
 
608
        e.onmouseover=Highlight
 
609
        e.onmouseout=Deselect
 
610
        s=e.style;
 
611
        s.fontFamily=sFont
 
612
        s.fontSize="8pt"
 
613
        s.paddingLeft=2
 
614
}
 
615
function CreateItem( node )
 
616
{
 
617
        var elem=PPTSld.document.createElement("DIV")
 
618
        node.insertBefore( elem )
 
619
        return elem
 
620
}
 
621
function SetCMBorder( o,ltClr,rbClr )
 
622
{
 
623
        var s=o.style
 
624
        s.backgroundColor="menu"
 
625
        s.borderStyle="solid"
 
626
        s.borderWidth=1
 
627
        s.borderColor=ltClr+" "+rbClr+" "+rbClr+" "+ltClr
 
628
}
 
 
b'\\ No newline at end of file'