﻿document.getElementsByClassName = function(nombreClase){
	var clasificadas = new Array();//Se crea el array de elementos resultantes
	var elementos = document.getElementsByTagName("*");//Se busca en todos los elementos (de ahí el asterisco)
	for(var i = 0;i < elementos.length;i++){
		if(elementos[i].className.indexOf(" ") >= 0){//Se buscan elementos con más de una clase
			var clases = elementos[i].className.split(" ");//y se parte el valor de la clase en los espacios
			for(var j = 0;j < clases.length;j++){
				if(clases[j] == nombreClase) {
					clasificadas.push(elementos[i]);
				}
			}
		}
		else if(elementos[i].className == nombreClase) {
			clasificadas.push(elementos[i]);
		}
	}
	
	return clasificadas;//Nos da el array con los elementos que tengan la clase solicitada
}//Función original en: http://www.netlobo.com/javascript_getelementsbyclassname.html


window.onload = function() {//Carga la funcion de despliegue a la carga del documento
	
	pliegaDespliega2();
		pliegaDespliega();
}


function pliegaDespliega () {//Pliegue y despliegue de secciones individuales
	
	capas = document.getElementsByClassName('subseccion');
	for (i=0;i<capas.length;i++) {
	
		H2 = capas[i].getElementsByTagName('h5')[0];//Se selecciona el H2
		textoH2 = H2.firstChild.nodeValue;//Se coge el texto del H2
			H2.firstChild.nodeValue = "";//Se elimina el texto del H2
		
		textoEnlace = document.createTextNode(textoH2);//Se crea un nodo de texto con el valor que tenía el H2
		enlace = document.createElement('a');//Se crea un elemento de enlace
			enlace.appendChild(textoEnlace);//Se inserta texto al enlace
			enlace.href = "#";
			enlace.title = "Pulse para ver más";
		
		H2.appendChild(enlace);//Se inserta el enlace dentro del H2
		
		contenidoSeccion = capas[i].getElementsByTagName('div')[0];//Se selecciona el DIV con el contenido de seccion...
		contenidoSeccion.style.display = "none";//... y se oculta
		
		enlaceDesp = H2.getElementsByTagName('a')[0];//Selección del enlace creado en el H2
		
		enlaceDesp.onclick = function () {
			contenidoSeccion = this.parentNode.parentNode.getElementsByTagName('div')[0];//Se selecciona el DIV con el contenido de seccion...
			if (contenidoSeccion.style.display == "none") {//Si el contenido está oculto...
				contenidoSeccion.style.display = "block";//... se muestra ...
				this.className = "desplegado";
				this.title = "Oculta la sección";
			} else {//... y si está visible ...
				contenidoSeccion.style.display = "none";//... se oculta
				this.className = "";
				this.title = "Muestra la sección";
			}
			
			return false;
		}
		
		
	}
	
}




function pliegaDespliega2 () {//Pliegue y despliegue de secciones individuales
	
	capas = document.getElementsByClassName('seccion');
	for (i=0;i<capas.length;i++) {
	
		H2 = capas[i].getElementsByTagName('h4')[0];//Se selecciona el H2
		textoH2 = H2.firstChild.nodeValue;//Se coge el texto del H2
			H2.firstChild.nodeValue = "";//Se elimina el texto del H2
		
		textoEnlace = document.createTextNode(textoH2);//Se crea un nodo de texto con el valor que tenía el H2
		enlace = document.createElement('a');//Se crea un elemento de enlace
			enlace.appendChild(textoEnlace);//Se inserta texto al enlace
			enlace.href = "#";
			enlace.title = "Muestra la sección";
		
		H2.appendChild(enlace);//Se inserta el enlace dentro del H2
		
		contenidoSeccion = capas[i].getElementsByTagName('div')[0];//Se selecciona el DIV con el contenido de seccion...
		contenidoSeccion.style.display = "none";//... y se oculta
		
		enlaceDesp = H2.getElementsByTagName('a')[0];//Selección del enlace creado en el H2
		
		enlaceDesp.onclick = function () {
			contenidoSeccion = this.parentNode.parentNode.getElementsByTagName('div')[0];//Se selecciona el DIV con el contenido de seccion...
			if (contenidoSeccion.style.display == "none") {//Si el contenido está oculto...
				contenidoSeccion.style.display = "block";//... se muestra ...
				this.className = "desplegado";
				this.title = "Oculta la sección";
			} else {//... y si está visible ...
				contenidoSeccion.style.display = "none";//... se oculta
				this.className = "";
				this.title = "Muestra la sección";
			}
			
			return false;
		}
		
		
	}
	
}






function pliegaDespliegaTodos () {//Pliegue y despliegue de todas las secciones al mismo tiempo
	creaMenu();//Se crea y se inserta el HTML para el menú
	enlaceDesplegar = document.getElementById('plegarDesplegar').getElementsByTagName('a')[0];
	enlacePlegar = document.getElementById('plegarDesplegar').getElementsByTagName('a')[1];
	
	enlaceDesplegar.onclick = function () {//Para mostrar todas las secciones
		capas = document.getElementsByClassName('seccion');
		for (i=0;i<capas.length;i++) {
			capas[i].getElementsByTagName('a')[0].className = "desplegado";
			capas[i].getElementsByTagName('a')[0].title = "Oculta la sección";
			capas[i].getElementsByTagName('div')[0].style.display = "block";
		}
		return false;
	}
	enlacePlegar.onclick = function () {//Para ocultar todas las secciones
		capas = document.getElementsByClassName('seccion');
		for (i=0;i<capas.length;i++) {
			capas[i].getElementsByTagName('a')[0].className = "";
			capas[i].getElementsByTagName('a')[0].title = "Muestra la sección";
			capas[i].getElementsByTagName('div')[0].style.display = "none";
		}
		return false;
	}
}

function creaMenu () {
	textoOculto1 = document.createTextNode(" las secciones");
	spanOculto1 = document.createElement('span');
		spanOculto1.className = "oculto";
		spanOculto1.appendChild(textoOculto1);
		
	textoOculto2 = document.createTextNode(" las secciones");
	spanOculto2 = document.createElement('span');
		spanOculto2.className = "oculto";
		spanOculto2.appendChild(textoOculto2);
	
	textoDesp = document.createTextNode("Desplegar todas");
	aDesp = document.createElement('a');
		aDesp.href = "#";
		aDesp.appendChild(textoDesp);
		aDesp.appendChild(spanOculto1);
	
	liDesp = document.createElement('li');
		liDesp.className = "desplegar";
		liDesp.appendChild(aDesp);
	
	textoPlieg = document.createTextNode("Plegar todas");
	aPlieg = document.createElement('a');
		aPlieg.href = "#";
		aPlieg.appendChild(textoPlieg);
		aPlieg.appendChild(spanOculto2);
	
	liPlieg = document.createElement('li');
		liPlieg.className = "plegar";
		liPlieg.appendChild(aPlieg);
	
	ulMenu = document.createElement('ul');
		ulMenu.className = "clear";
		ulMenu.appendChild(liDesp);
		ulMenu.appendChild(liPlieg);
	
	divMenu = document.createElement('div');
		divMenu.id = "plegarDesplegar";
		divMenu.appendChild(ulMenu);
		
	primeraSeccion = document.getElementsByClassName('seccion')[0];
	
	document.getElementById("contentvlak_large").insertBefore(divMenu, primeraSeccion);
	
}