]> git.sur5r.net Git - bacula/bacula/blob - gui/bacula-web/js/mini/overlib_crossframe_mini.js
Update
[bacula/bacula] / gui / bacula-web / js / mini / overlib_crossframe_mini.js
1 //\/////
2 //\  overLIB Crossframe Support Plugin
3 //\  This file requires overLIB 4.00 or later.
4 //\
5 //\  overLIB 4.00 - You may not remove or change this notice.
6 //\  Copyright Erik Bosrup 1998-2004. All rights reserved.
7 //\  Contributors are listed on the homepage.
8 //\  See http://www.bosrup.com/web/overlib/ for details.
9 //\/////
10 if (typeof olInfo=='undefined'||olInfo.simpleversion<400) alert('overLIB 4.00 or later is required for the Cross Frame Support Plugin.');registerCommands('frame');
11 function parseFrameExtras(pf,i,ar) {var k=i,v;
12 if (k<ar.length) {if (ar[k]==FRAME) { v=ar[++k]; if(pf=='ol_'&&compatibleframe(v)) ol_frame=v; else opt_FRAME(v); return k; }
13 }
14 return-1;}
15 function opt_FRAME(frm) {o3_frame=compatibleFrame(frm)?frm:ol_frame;
16 if (olNs4) {over=o3_frame.document.layers['overDiv'];} else if (document.all) {over=o3_frame.document.all['overDiv'];} else if (document.getElementById) {over=o3_frame.document.getElementById("overDiv");}
17 return 0;}
18 function compatibleFrame(frameid) {if (olNs4&&typeof frameid.document.overDiv=='undefined') {return false;} else if (document.all&&typeof frameid.document.all["overDiv"]=='undefined') {return false;} else if (document.getElementById&&frameid.document.getElementById('overDiv')==null) {return false;}
19 return true;}
20 function frmDepth(thisFrame,ofrm) {var retVal='';
21 for (var i=0; i<thisFrame.length; i++) {if (thisFrame[i].length>0) {retVal=frmDepth(thisFrame[i],ofrm);if (retVal=='') continue;} else if (thisFrame[i]!=ofrm) continue;retVal='['+i+']'+retVal;break;}
22 return retVal;}
23 function getFrmRef(srcFrm,tgetFrm) {var rtnVal=''
24 if (tgetFrm!=srcFrm) {var tFrm=frmDepth(top.frames,tgetFrm)
25 var sFrm=frmDepth(top.frames,srcFrm)
26 if (sFrm.length==tFrm.length) {l=tFrm.lastIndexOf('[')
27 if (l) {while ( sFrm.substring(0,l)!=tFrm.substring(0,l) )
28 l=tFrm.lastIndexOf('[',l-1)
29 tFrm=tFrm.substr(l)
30 sFrm=sFrm.substr(l)
31 }
32 }
33 var cnt=0, p='',str=tFrm
34 while ((k=str.lastIndexOf('['))!=-1) {cnt++
35 str=str.substring(0,k)
36 }
37 for (var i=0; i<cnt; i++) p=p+'parent.'
38 rtnVal=p+'frames'+sFrm+'.'
39 }
40 return rtnVal
41 }
42 function chkForFrmRef() {if(o3_frame!=ol_frame) fnRef=getFrmRef(ol_frame,o3_frame)
43 return true;}
44 registerCmdLineFunction(parseFrameExtras);registerPostParseFunction(chkForFrmRef);