var menu, titles, submenus, bypixels;
var heights = new Array();

var n = navigator.userAgent;
if(/Opera/.test(n)) bypixels = 2;
else if(/Firefox/.test(n)) bypixels = 3;
else if(/MSIE/.test(n)) bypixels = 2;


//almacena los vectores con cada uno de los submenus y anchos de los enlaces
function init() {
	menu 		= getElementsByClassName("sdmenu", "div", document)[0];
    titles 		= getElementsByClassName("title", "span", menu);
    submenus 	= getElementsByClassName("submenu", "div", menu);
    
	for(i=0; i<Math.max(titles.length, submenus.length); i++) {
        titles[i].onclick 			= gomenu;
        heights[i] 					= submenus[i].offsetHeight;
        submenus[i].style.height 	= submenus[i].offsetHeight+"px";
    }
    
	restore();
	document.getElementById("sdmenu").style.visibility = 'visible';
}

//mostramos solo el menu que toca
function restore() {
	var url = location.href.split("/");
	var url = url[3];
	var i = 1;
	
	for (i=0;i<=9;i++) {
		titles[i].className			= "titlehidden";
		submenus[i].style.display	= "none";
		submenus[i].style.height 	= 0;
	}
	
	switch (url) {
		case "ramon_cabrera": 		mostrarSinAnimacion(0);break;
		case "la_ruta_de_cabrera": 	mostrarSinAnimacion(1);break;
		case "el_carlismo":			mostrarSinAnimacion(2);break;
		case "la_estatua_de_cabrera": mostrarSinAnimacion(3);break;
		case "galeria_de_gravados":	mostrarSinAnimacion(4);break;
		case "galeria_de_imagenes": mostrarSinAnimacion(5);break;
		case "noticias": 			mostrarSinAnimacion(6);break;
		case "buzon_de_sugerencias": mostrarSinAnimacion(7);break;
		case "enlaces_de_interes": 	mostrarSinAnimacion(8);break;
		case "bibliografia":		mostrarSinAnimacion(9);break;
	}
}

//para hacer la animacion al hacer clic sobre el titulo
function gomenu(e) {
    if (!e)
        var e = window.event;
    
	var ce = (e.target) ? e.target : e.srcElement;
    var sm;
    
	for(var i in titles) {
        if(titles[i] == ce)
            sm = i;
    }
    
	if(parseInt(submenus[sm].style.height) > parseInt(heights[sm])-2) {
        hidemenu(sm);
    } 
	else if(parseInt(submenus[sm].style.height) < 2) {
        titles[sm].className = "title";
        showmenu(sm);
    }
}


function hidemenu(sm) {
	var nr 						= submenus[sm].getElementsByTagName("a").length * bypixels;
	var aux						= parseInt(submenus[sm].style.height) - nr;
	
	if (parseInt(aux) < 0)
		submenus[sm].style.height	= "0px";
	else
		submenus[sm].style.height 	= aux + "px";
	
    var to 						= setTimeout("hidemenu("+sm+")", 30);
    
	if (parseInt(submenus[sm].style.height) <= nr) {
        clearTimeout(to);
        submenus[sm].style.display 	= "none";
        submenus[sm].style.height 	= "0px";
        titles[sm].className 		= "titlehidden";
    }
}


function mostrarSinAnimacion(sm) {
    submenus[sm].style.display 	= "";
    submenus[sm].style.height = heights[sm]+"px";
}

function showmenu(sm) {
    var nr 						= submenus[sm].getElementsByTagName("a").length*bypixels;
    submenus[sm].style.display 	= "";
    submenus[sm].style.height 	= (parseInt(submenus[sm].style.height)+nr)+"px";
    var to 						= setTimeout("showmenu("+sm+")", 30);
    
	if(parseInt(submenus[sm].style.height) > (parseInt(heights[sm])-nr)) {
        clearTimeout(to);
        submenus[sm].style.height = heights[sm]+"px";
		
		for (var i in titles) {
			if (i != sm) {
				hidemenu(i);
			}
		}
	}
        
        
}

function getElementsByClassName(strClassName, strTagName, oElm){
    var arrElements 		= (strTagName == "*" && document.all)? document.all : oElm.getElementsByTagName(strTagName);
    var arrReturnElements 	= new Array();
    
	strClassName 			= strClassName.replace(/\-/g, "\\-");
    
	var oRegExp 			= new RegExp("(^|\\s)" + strClassName + "(\\s|$)");
    var oElement;
    
	for(var i=0; i<arrElements.length; i++){
        oElement = arrElements[i];      
        
		if(oRegExp.test(oElement.className)){
            arrReturnElements.push(oElement);
        }   
    }
    return (arrReturnElements)
}

window.onload = init;
