Javascript error in dropdown menu

Ik ben bezig met een [url=http://aha4adsl.nl/nbpw/basis/index.html]site[/url] waarin een Javascript dropdown menu gebruikt word. Het menu doet het goed op vrijwel elke browser alleen krijg ik een kleine javascript error bij het openen van de pagina. Met Firefox via de Javascript Console is de fout ook te achterhalen. So far so good... alleen heb ik nu geen idee hoe ik nu die fout eruit kan krijgen :roll:

De code heb ik van Podlob gehaald. Dit is het originele bestand, die geeft dus ook die Javascript error…

De rollovers van de main knoppen heb ik zelf gemaakt in CSS.

Deze regel code zorgt dus voor de error:

[code:1:ab58a63db1]document.images[img].src = obj.src;[/code:1:ab58a63db1]

Welke Javascript freak weet hoe ik die error eruit krijg?

Dit is de volledige code:

[code:1:ab58a63db1]
<script language="JavaScript" type="text/JavaScript">
var w3c = document.getElementById ? true : false;
var iex = document.all ? true : false;
var ns4 = document.layers ? true : false;

function fixNetscape(){
if(origWidth != window.innerWidth || origHeight != window.innerHeight){
window.location.reload();
}
}
if(ns4){
origWidth = window.innerWidth;
origHeight = window.innerHeight;
window.onresize = fixNetscape;
}
function newImage(src){
img = new Image();
img.src = src;
return img;
}
function imageSwap(img,obj,div){
if(ns4 && div != null){
document.layers[div].document.images[img].src = obj.src;
}else{
document.images[img].src = obj.src;
}
}
function getStyle(name, nest){
nest = nest ? ‘document.’+nest+’.’ : ‘’;
return w3c ? document.getElementById(name).style : iex ? document.all[name].style : ns4 ? eval(nest+‘document.’+name) : false;
}

// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Menus = new Object();
var curMenu = null;

MakeMenu = function(name,left,top,rollimg,rollout,rollover,rolldiv){
this.name = name;
this.left = left;
this.top = top;
this.timer = null;
this.rolldiv = (rolldiv != null) ? rolldiv : null;
this.obj = name+‘Object’;
eval(this.obj+’=this’);
}
MakeMenu.prototype.show = function(){
clearTimeout(this.timer);
getStyle(this.name).visibility = ‘visible’;
imageSwap(this.rollimg,this.rollover,this.rolldiv);
curMenu = this.name;
}
MakeMenu.prototype.hide = function(){
this.timer = setTimeout(this.obj+’.hideIt()’,100);
}
MakeMenu.prototype.hideIt = function(){
getStyle(this.name).visibility = ‘hidden’;
imageSwap(this.rollimg,this.rollout,this.rolldiv);
}
MakeMenu.prototype.startMenu = function(){
var html;
if(ns4){
html = ‘<layer name="’+this.name+’" left="’+this.left+’" top="’+this.top+’" z-index=“1000” visibility=“hidden” ‘;
}else{
html = ‘<div id="’+this.name+’" style=“position:absolute; left:’+this.left+‘px; top:’+this.top+'px; z-index:1000; visibility:hidden” ‘;
}
html += ‘onMouseOver="Menus.’+this.name+’.show()" onMouseOut=“Menus.’+this.name+’.hide()”>’;
return html;
}
hideCur = function(){
if(curMenu != null){
Menus[curMenu].hideIt();
curMenu = null;
}
}
endMenu = function(){
return ns4 ? ‘</layer>’ : ‘</div>’;
}
createMenu = function(name,left,top,rollimg,rollout,rollover,rolldiv){
Menus[name] = new MakeMenu(name,left,top,rollimg,rollout,rollover,rolldiv);
}

// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

// object name | left position | top position | rollover image name | normal image src | rollover image src | rollover div name (optional)

createMenu(‘submenu1’, 49, 154);
createMenu(‘submenu2’, 91, 154);
createMenu(‘submenu3’, 224, 154);
createMenu(‘submenu4’, 279, 154);
createMenu(‘submenu5’, 527, 154);
createMenu(‘submenu6’, 600, 154);

// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

[/code:1:ab58a63db1]

doet dit het?: document.getElementById(img).src = obj.src;

Langs de andere kant kan het zijn dat je er geen zorgen hoeft over te maken. Die regel staat in het stuk voor IE-browsers, en IE wil dingen anders dan de norm.

Ik heb je script wel niet helemaal uitgespit, dus ik ben niet zeker of het script de figuren wel bij de ID wil benaderen. Het is wel zo dat de norm en IE daar iets anders voor doen, en dat de IE versie zulke melding kan geven op mozilla browsers.

Ga morgen ff checken op de zaak, alvast bedankt... :wink: