Problema con Menú

Ayuda con Men?
14 de Marzo del 2006
Saludos compañeros, realmente soy nuevo en esto, sin embargo ya conozco algunas que otras funcionalidades de javascript, tengo un pequeño problema con unos menus, el problema que tengo es q tengo menus normales (click y entras) y menus con submenus es decir le das click y despliega las ocpiones, sin embargo cuando abro un menu con submenus y paso a un menu sencillo este me lo deja abierto, en cambio cuando paso de submenu con menu a otro igual si hace el cambio cerrando el anterior, ya trate con lo de style.display="block" y "none" y nada espero me puedan ayudar, muchisimas gracias de antemano, hasta luego !

Aquí esta lo q he hecho:

// JavaScript Document

if (document.getElementById){
document.write('<style type="text/css">n')
document.write('.submenus{display: none;}n')
document.write('</style>n')
}
function CargaContenido(objID){
lnk = document.getElementById(objID).id;
set_cookie("contenido",lnk);
document.URL=objID+".html";
}
// Función que cambia un submenú de abierto a cerrado o viceversa
// Cierra todos los submenus excepto el que lo manda a llamar
function SwitchMenu(obj){
if(document.getElementById){
var el = document.getElementById(obj);
var ar = document.getElementById("masterdiv").getElementsByTagName("span");
if(el.style.display != "block"){
for (var i=0; i<ar.length; i++){
if (ar[i].className=="submenus") {
ar[i].style.display = "none";
}
}
el.style.display = "block";
}else{
el.style.display = "none";
}
}
}
// Obtiene el valor de la variable switchmenu guardado en el cookie
function get_cookie(Name) {
var search = Name + "="
var returnvalue = "";
if (document.cookie.length > 0) {
offset = document.cookie.indexOf(search)
if (offset != -1) {
offset += search.length
end = document.cookie.indexOf(";", offset);
if (end == -1) end = document.cookie.length; {
returnvalue=unescape(document.cookie.substring(offset, end))
}
}
}
return returnvalue;
}
// guarda cookie
function set_cookie(cname, cvalue){
document.cookie=cname+"="+cvalue
}
// Abre el submenú indicado por el valor de la variable switchmenu
function onloadfunction(){
urlDoc = document.URL;
if (urlDoc.match("index.html")==null){ // si la pagina es index.htm, entonces se cambio de sección
var submenuabierto=get_cookie("switchmenu");
if (submenuabierto!="") {
// pone visible el submenu en el que se encuentra la opcion seleccionada
document.getElementById(submenuabierto).style.display="block"
}
// cambia color de opción seleccionada
var optseleccionada=get_cookie("contenido");
if (optseleccionada!="") {
var seccion = optseleccionada.charAt(0) ;
var colorSeccion;
switch(seccion){
case "A": colorSeccion = "#00547D";
break;
case "B": colorSeccion = "#669900";
break;
case "C": colorSeccion = "#990000";
break;
case "D": colorSeccion = "#996600";
break;
case "E": colorSeccion = "#330066";
break;
case "F": colorSeccion = "#00547D";
break;
case "G": colorSeccion = "#00547D";
break;
case "G": colorSeccion = "#00547D";
break;
default: colorSeccion = "";
};
document.getElementById(optseleccionada).bgColor = colorSeccion;
}
}
}
// Guarda el índice del menú que está abierto en la variable
function savemenustate(){
// Identifica el submenu desplegado
var inc=1, blockid=""
while (document.getElementById("sub"+inc)){
if (document.getElementById("sub"+inc).style.display=="block"){
blockid="sub"+inc
break
}
inc++
}
// guarda el indice del submenu desplegado
set_cookie("switchmenu",blockid);
}

// Agrega la función onloadfunction al evento de cargado de la página
if (window.addEventListener) {
window.addEventListener("load", onloadfunction, false)
} else if (window.attachEvent) {
window.attachEvent("onload", onloadfunction)
} else if (document.getElementById) {
window.onload=onloadfunction
}

// Agrega la función savemenustate al evento de descarga de la página
if (document.getElementById) {
window.onunload=savemenustate
}