// Mike's "Zach has to do nothing" rollover script of DOOM if (navigator.appName.indexOf('xplorer') != -1) window.onload = InitializeAutoRollOver; else window.onload = startForNetscape; function InitializeAutoRollOver() { flagImagesFound = 0; imageOn = new Array(); for (loop = 0; loop < document.images.length; loop++) { if (document.images[loop].src.indexOf("_off") != -1) { eval("rollOver" + ++flagImagesFound + " = new imageThingy('rollOver" + flagImagesFound + "'," + loop + ",'" + document.images[loop].src + "'," + flagImagesFound + ")"); imageOn[flagImagesFound] = new Image(); imageOn[flagImagesFound].src = document.images[loop].src.substring(0,document.images[loop].src.indexOf("_off")) + "_on" + document.images[loop].src.substring(document.images[loop].src.indexOf("_off") + 4,1000); } } } function imageThingy(varName,MAI,offSrc,num) { this.myVarName = varName; this.myIndex = MAI; this.myNumber = num; this.myRef = eval("document.images[" + MAI + "]"); this.myRefStr = "document.images[" + MAI + "]"; this.myOffSrc = offSrc; this.myOnSrc = offSrc.substring(0,offSrc.indexOf("_off")) + "_on" + offSrc.substring(offSrc.indexOf("_off") + 4,1000); this.doOn = doOn; this.doOff = doOff; initializeImageSwap(this.myRefStr + ".onmouseover = " + this.myVarName + ".doOn"); initializeImageSwap(this.myRefStr + ".onmouseout = " + this.myVarName + ".doOff"); } function initializeImageSwap(evalLine) { eval('setTimeout("' + evalLine + '",500)'); } function doOn() { myName = this.src.substring(this.src.indexOf(".nsf") + 5,this.src.indexOf("_o")); done = 0; loop = 0; while(!done) { loop++; itsName = eval('rollOver' + loop + '.myOffSrc.substring(rollOver' + loop + '.myOffSrc.indexOf(".nsf") + 5,rollOver' + loop + '.myOffSrc.indexOf("_off"))'); it = eval("rollOver" + loop); if (myName == itsName) done = 1; } if (imageOn[it.myNumber].complete) this.src = it.myOnSrc; } function doOff() { myName = this.src.substring(this.src.indexOf(".nsf") + 5,this.src.indexOf("_o")); done = 0; loop = 0; while(!done) { loop++; itsName = eval('rollOver' + loop + '.myOffSrc.substring(rollOver' + loop + '.myOffSrc.indexOf(".nsf") + 5,rollOver' + loop + '.myOffSrc.indexOf("_off"))'); it = eval("rollOver" + loop); if (myName == itsName) done = 1; } this.src = it.myOffSrc; } function startForNetscape() { NSMarkImages(); xtolerance = 1; ytolerance = 1; preloadArray = new Array(); exceptionArray = new Array(); // example... exceptionArray = new Array(8,12); // this translates to document.links[8] triggers the rollover for document.images[12] for (aLoop = 0; aLoop < document.links.length; aLoop++) { for (iLoop = 0; iLoop < document.images.length; iLoop++) { //if (document.links[aLoop].x == document.images[iLoop].x && document.links[aLoop].y == document.images[iLoop].y) { if ( document.links[aLoop].x >= (document.images[iLoop].x - xtolerance) && document.links[aLoop].x <= (document.images[iLoop].x + xtolerance) && document.links[aLoop].y >= (document.images[iLoop].y - ytolerance) && document.links[aLoop].y <= (document.images[iLoop].y + ytolerance) ) { if (document.images[iLoop].src.toString().indexOf('_off') != -1) { document.links[aLoop].info = iLoop; onSrc = document.images[iLoop].src.toString().substring(0,document.images[iLoop].src.toString().indexOf('_off')); onSrc += "_on"; onSrc += document.images[iLoop].src.toString().substring(document.images[iLoop].src.toString().indexOf('_off') + 4,1000); preloadArray[iLoop] = new Image(); preloadArray[iLoop].src = onSrc; document.links[aLoop].onSrc = onSrc; document.links[aLoop].offSrc = document.images[iLoop].src; document.links[aLoop].onmouseover = netscapeDoOn; document.links[aLoop].onmouseout = netscapeDoOff; } } } } for(loop = 0; loop < exceptionArray.length; loop += 2) { linkIndex = exceptionArray[loop]; imageIndex = exceptionArray[loop + 1]; document.links[linkIndex].info = imageIndex; onSrc = document.images[imageIndex].src.toString().substring(0,document.images[imageIndex].src.toString().indexOf('_off')); onSrc += "_on"; onSrc += document.images[imageIndex].src.toString().substring(document.images[imageIndex].src.toString().indexOf('_off') + 4,1000); preloadArray[imageIndex] = new Image(); preloadArray[imageIndex].src = onSrc; document.links[linkIndex].onSrc = onSrc; document.links[linkIndex].offSrc = document.images[imageIndex].src; document.links[linkIndex].onmouseover = netscapeDoOn; document.links[linkIndex].onmouseout = netscapeDoOff; } } function netscapeDoOn() { if (preloadArray[this.info].complete) document.images[this.info].src = this.onSrc; } function netscapeDoOff() { document.images[this.info].src = this.offSrc; }