Ciao a tutti,
sono alle prime armi (o quasi) con javascript...ovvero ho creato il mio primo script interamente da solo (...almeno un "che bravo mi pare doveroso a questo punto ).
Il problema è che funziona con internet explorer mentre con mozilla no...

non so esattamente da cosa sia derivato il problema ma probabilmente è dovuto al fatto che mozilla non gestisce il ridimensionamento dei tag div...ovvero non posso impostare l'altezza dell'elemento.

Il codice incriminato è questo (ho sottolineato in rosso le parti dove (credo) ci sia un errore:

codice:
<script language="JavaScript">

function lib_bwcheck(){ 
	this.ver=navigator.appVersion
	this.agent=navigator.userAgent
	this.dom=document.getElementById?1:0
	this.opera5=this.agent.indexOf("Opera 5")>-1
	this.ie5=(this.ver.indexOf("MSIE 5")>-1 && this.dom && !this.opera5)?1:0; 
	this.ie6=(this.ver.indexOf("MSIE 6")>-1 && this.dom && !this.opera5)?1:0;
	this.ie4=(document.all && !this.dom && !this.opera5)?1:0;
	this.ie=this.ie4||this.ie5||this.ie6
	this.mac=this.agent.indexOf("Mac")>-1
	this.ns6=(this.dom && parseInt(this.ver) >= 5) ?1:0; 
	this.ns4=(document.layers && !this.dom)?1:0;
	this.bw=(this.ie6 || this.ie5 || this.ie4 || this.ns4 || this.ns6 || this.opera5)
	return this
}
var bw=new lib_bwcheck()

var oMenu
// Speed
var speed = 10;
// Number of menus
var nummenu = 2;
function ToggleMenu(num) {
	if (oMenu[num].height == 0 || oMenu[num].action == "SlideUp")
	{
		oMenu[num].action = "SlideDown";
		oMenu[num].slideDown();
		oMenu[num].img.src = "arrowdown.gif";
	}
	else
	{
		if (oMenu[num].height == oMenu[num].maxheight || oMenu[num].action == "SlideDown")
		{
			oMenu[num].action = "SlideUp";
			oMenu[num].slideUp();
			oMenu[num].img.src = "arrowup.gif";
		}
	}	
}

function b_slideDown() {
	if (this.action == "SlideDown") {
		if (this.height < this.maxheight) 
		{
			this.height = this.height + 1;
			this.css.height = this.height;
			
			if (this.parents!=null) {
				for (a=0; a<this.parents.length;a++)
				{
					this.parents[a].height = this.parents[a].height + 1;
					this.parents[a].maxheight = this.parents[a].maxheight + 1;
					this.parents[a].css.height = this.parents[a].height;
				}
			}
			setTimeout(this.obj+'.slideDown()', speed);
		}
		else
		{
			eval(this.css.height = this.maxheight);
			this.action = "none";
		}
	}
}
function b_slideUp() {
	if (this.action == "SlideUp") {
		if (this.height > 0)
		{
			this.height = this.height - 1;
			this.css.height = this.height;
			if (this.parents!=null) {
				for (a=0; a<this.parents.length;a++)
				{
					this.parents[a].height = this.parents[a].height - 1;
					this.parents[a].maxheight = this.parents[a].maxheight - 1;
					this.parents[a].css.height = this.parents[a].height;
				}
			}
			setTimeout(this.obj+'.slideUp()', speed);
		}
		else
		{
			eval(this.css.height = 0);
			this.action = "none";
		}
	}
}

function makeMenu(obj, nest, imm, parents) {
	nest=(!nest) ? "":'document.'+nest+'.'
	this.el=bw.dom?document.getElementById(obj):bw.ie4?document.all[obj]:bw.ns4?eval(nest+'document.'+obj):0;
  	this.css=bw.dom?document.getElementById(obj).style:bw.ie4?document.all[obj].style:bw.ns4?eval(nest+'document.'+obj):0;
	this.img=bw.dom?document.getElementById(imm):bw.ie4?document.all[imm]:bw.ns4?eval(nest+'document.'+imm):0;
	this.action = "none"; 
	this.height=0;
	this.maxheight=bw.ns4?this.css.document.height:this.el.offsetHeight;
	this.slideUp=b_slideUp; 
	this.slideDown=b_slideDown;
    this.obj = obj + "Object"; 
	this.parents = parents;	
	eval(this.obj + "=this")
	eval(this.css.height = 0);
}

function initmenu() {
	var parents;
	oMenu = new Array();
	oMenu[0] = new makeMenu('menu1', '', 'menuimg1', parents);
	
		parents = new Array();
		parents[0] = oMenu[0];
		oMenu[1] = new makeMenu('menu1a1', '', 'menuimg1a1', parents);
}
</script>
e potete vederlo operativo in http://www.wedding-in-venice.com/temp/indexframe.htm ...ovviamente funzionante solo in internet explorer.

Dove sbaglio?

Grazie.
Ciao