home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
PC World 2002 April
/
PCWorld_2002-04_cd.bin
/
Software
/
Komercni
/
abra
/
coolFramemenus3.js
< prev
next >
Wrap
Text File
|
2001-08-14
|
3KB
|
61 lines
/************
Find frame
*************/
function findFrame(frameName){
obj=top; var frameObj=0;
for(i=0;i<obj.frames.length;i++){
if(obj.frames[i].name==frameName){frameObj=obj.frames[i]; break;}; ln=obj.frames[i].frames.length
for(j=0;j<ln;j++){
if(obj.frames[i].frames[j].name==frameName){frameObj=obj.frames[i].frames[j]; break}; ln2=obj.frames[i].frames[j].frames.length
for(a=0;a<ln2;a++){
if(obj.frames[i].frames[j].frames[a].name==frameName){frameObj=obj.frames[i].frames[j].frames[a]; break}
}
}
}return frameObj
}
/************
Checking for frame
*************/
function cm_checkFrame(num){
var fr; if(num==10){debug('Frame: '+this.frame+' doesn\'t exist - Value: '+fr + " - Could not build menus."); return}
if(!top.frames[this.frame]) fr=findFrame(this.frame); else fr=top.frames[this.frame]
if(!fr){num++; setTimeout(this.name+".checkFrame("+num+")",500)
}else{ this.win=fr
if(bw.ns4){
top.frames.captureEvents(Event.UNLOAD); top.frames.captureEvents(Event.LOAD); top.frames.onunload=cm_unloaded;
top.frames.onload = cm_checkLoaded; setTimeout("cm_checkLoaded(0,1)",1000)
}else if((bw.ie||bw.ns6)) setTimeout("cm_checkLoaded()",200)
}
}
/************
Checkloaded for the frames version
*************/
function cm_checkLoaded(ev,ns){
coolFName=eval(coolFName)
var ok=0
if(document.layers){
if(ns){coolFName.refresh(); coolFName.nsload=1; ok=1; coolFrameError=0
}else if(ev.target.name==coolFName.frame&&!coolFName.nsload){coolFName.refresh(); ok=1; coolFrameError=0; routeEvent(ev)}
}else if(bw.ie){
if (coolFName.win.document.readyState == "complete"){
coolFName.win.document.body.insertAdjacentHTML("beforeEnd",coolFName.frstr)
coolFName.win.document.body.onunload=cm_unloaded; coolFName.refresh(); ok=1; coolFrameError=0
}else setTimeout("cm_checkLoaded()",200)
}else if(bw.ns6){
if(coolFName.win.document){
if(coolFName.win.document.body){coolFName.win.addEventListener("unload", cm_unloaded, true); coolFName.refresh(); ok=1; coolFrameError=0}
else setTimeout("cm_checkLoaded()",200)
}else setTimeout("cm_checkLoaded()",200)
}
}
function cm_unloaded(ev){coolFName=eval(coolFName); if(!coolFName) return; if(document.layers && ev.target.name!=coolFName.frame) return; else coolFName.nsload=0; coolFName.loaded=0; if(!document.layers) setTimeout("cm_checkLoaded()",200)}
coolFrameError=0//Trapping external pages in frame error!
function cm_check_error(e){e=e.toLowerCase(); if(e.indexOf("access")>-1||e.indexOf("permission")>-1){coolFrameError=1; return true;}else return false}
//Functions
makeCoolMenu.prototype.checkFrame=cm_checkFrame;