diff -r 75dcd8cf6232 -r 58bc29c14a4d includes/clientside/static/fadefilter.js --- a/includes/clientside/static/fadefilter.js Sun Mar 15 11:15:16 2009 -0400 +++ b/includes/clientside/static/fadefilter.js Wed Mar 18 11:35:28 2009 -0400 @@ -14,7 +14,7 @@ if ( !opacVal ) opacVal = 70; darkener_index[layerid] = ( typeof(darkener_index[layerid]) == 'number' ) ? darkener_index[layerid] + 1 : 1; - if(document.getElementById(layerid)) + if(document.getElementById(layerid) && !document.getElementById(layerid).destroying) { document.getElementById(layerid).style.zIndex = getHighestZ() + 1; if(nofade) @@ -38,7 +38,18 @@ opacity(layerid, 0, opacVal, 1000); } } - } else { + } + else if(document.getElementById(layerid) && document.getElementById(layerid).destroying) + { + // fade in progress - abort + console.warn('Aborting fade'); + abortFades(); + changeOpac(opacVal, layerid); + document.getElementById(layerid).destroying = false; + return document.getElementById(layerid); + } + else + { w = getWidth(); h = getHeight(); var thediv = document.createElement('div'); @@ -103,9 +114,10 @@ } else { + document.getElementById(layerid).destroying = true; var from = document.getElementById(layerid).myOpacVal; opacity(layerid, from, 0, 1000); - setTimeout("document.getElementById('" + layerid + "').style.display = 'none';", 1000); + setTimeout("if ( document.getElementById('" + layerid + "').destroying ) { document.getElementById('" + layerid + "').destroying = false; document.getElementById('" + layerid + "').style.display = 'none'; }", 1000); } } return document.getElementById(layerid);