GW_ExecutarAlLoadPagina("InicialitzarMenu()");


function InicialitzarMenu() {  
	// Variables pel funcionament dels estils al menu
	var sIdMenu = "menuEsquerra_es"; //id del menu on s'han d'aplicar les funcions
	var sCssDefault = "emcontenidortext"; //estil per defecte ( normalment 'emcontenidortext' )
	var sCssOver = "emcontenidortextover"; //estil al pasar el cursor per sobre ( normalment 'emcontenidortextOver' )

	// Nota: sCssDefault i sCssOver poden ser noms de classes (class) definits a la fulla d'estils, exemple:
	// SVT_ManegarEventsContenidorLinkable( sIdMenu, "Contactar", 'btnContactar', 'btnContactarOver', "Contactar.aspx" );
	//SVT_PlegarTot();
	//SVT_Treure3rsEstilsActius();

	// menuEsquerra_ca
	SVT_ManegarEventsContenidorNormal( sIdMenu, "turisme_es", sCssDefault, sCssOver );
	
	//tercer nivell menu
	SVT_ManegarEventsContenidorNormal3rNivell( sIdMenu, "oferta_es", sCssDefault, sCssOver );
	SVT_ManegarEventsContenidorNormal3rNivell( sIdMenu, "patrimoni_es", sCssDefault, sCssOver );
	SVT_ManegarEventsContenidorNormal3rNivell( sIdMenu, "natura_es", sCssDefault, sCssOver );
	SVT_ManegarEventsContenidorNormal3rNivell( sIdMenu, "serveisVila_es", sCssDefault, sCssOver );
	SVT_ManegarEventsContenidorNormal3rNivell( sIdMenu, "abansArribar_es", sCssDefault, sCssOver );
}
/*****************************************************************************************************/

/********************************************************************************************
*Funció que s'utilitza per controlar els events CLICK + MOUSEOUT + MOUSEOVER dels contenidors NORMALS
*S'ha d'introduir per a cada contenidor diferent : idMenu + <ID CONTENIDOR> + sCssDefault + sCssOver
*********************************************************************************************/
function SVT_ManegarEventsContenidorNormal( sIdMenu, sIdContenidor, sCssDefault, sCssOver ) {	
	GW_ManegarEvent(sIdMenu, sIdContenidor, "click", "SVT_ToggleContenidor('" + sIdMenu + "', '" + sIdContenidor + "', '" + sCssDefault + "', '" + sCssOver + "')");
	GW_ManegarEvent(sIdMenu, sIdContenidor, "mouseout", "SVT_ToggleMouseOut('" + sIdMenu + "', '" + sIdContenidor + "', '" + sCssDefault + "')");
	GW_ManegarEvent(sIdMenu, sIdContenidor, "mouseover", "SVT_ToggleMouseOver('" + sIdMenu + "', '" + sIdContenidor + "', '" + sCssOver + "')");
}

/********************************************************************************************
*Funció que s'utilitza per controlar els events CLICK + MOUSEOUT + MOUSEOVER dels contenidors LINKABLES
*S'ha d'introduir per a cada contenidor diferent : idMenu + <ID CONTENIDOR> + sCssDefault + sCssOver + sIdUrl
*nota: els efectes de desplaçament del contenidor (al fer click) s'han de posar a la capçalera de la pagina cap a on
*		redirigeix el contenidor
*********************************************************************************************/
function SVT_ManegarEventsContenidorLinkable( sIdMenu, sIdContenidor, sCssDefault, sCssOver, sUrl ) {
	GW_ManegarEvent(sIdMenu, sIdContenidor, "click", "SVT_Redirect('" + sUrl + "')");
	GW_ManegarEvent(sIdMenu, sIdContenidor, "mouseout", "SVT_ToggleMouseOut('" + sIdMenu + "', '" + sIdContenidor + "', '" + sCssDefault + "')");
	GW_ManegarEvent(sIdMenu, sIdContenidor, "mouseover", "SVT_ToggleMouseOver('" + sIdMenu + "', '" + sIdContenidor + "', '" + sCssOver + "')");
}

/********************************************************************************************
*Funció que s'utilitza per controlar els events MOUSEOUT + MOUSEOVER dels enllaços NORMALS amb estils especials
*S'ha d'introduir per a cada contenidor diferent : idMenu + <ID DE L'ENLLAÇ> + sCssDefault + sCssOver
*********************************************************************************************/
function SVT_ManegarEventsLinkNormal( sIdMenu, sIdLink, sCssDefault, sCssOver ) {
	GW_ManegarEvent(sIdMenu, sIdLink, "mouseout", "SVT_ToggleEmInternTextOut('" + sIdMenu + "', '" + sIdLink + "', '" + sCssDefault + "')");
	GW_ManegarEvent(sIdMenu, sIdLink, "mouseover", "SVT_ToggleEmInternTextOver('" + sIdMenu + "', '" + sIdLink + "', '" + sCssOver + "')");
}

/********************************************************************************************
*Funció que s'utilitza per controlar els events CLICK + MOUSEOUT + MOUSEOVER dels contenidors NORMALS de 3r nivell
*S'ha d'introduir per a cada contenidor diferent : idMenu + <ID CONTENIDOR> + sCssDefault + sCssOver
*********************************************************************************************/
function SVT_ManegarEventsContenidorNormal3rNivell( sIdMenu, sIdContenidor, sCssDefault, sCssOver) {
	GW_ManegarEvent(sIdMenu, sIdContenidor, "click", "SVT_ToggleContenidor3nNivell('" + sIdMenu + "', '" + sIdContenidor + "', '" + sCssDefault + "', '" + sCssOver + "')");
	GW_ManegarEvent(sIdMenu, sIdContenidor, "mouseout", "SVT_ToggleMouseOut('" + sIdMenu + "', '" + sIdContenidor + "', '" + sCssDefault + "')");
	GW_ManegarEvent(sIdMenu, sIdContenidor, "mouseover", "SVT_ToggleMouseOver('" + sIdMenu + "', '" + sIdContenidor + "', '" + sCssOver + "')");
}

/********************************************************************************************
*Funció que s'utilitza per controlar els events CLICK + MOUSEOUT + MOUSEOVER dels contenidors LINKABLES
*S'ha d'introduir per a cada contenidor diferent : idMenu + <ID CONTENIDOR> + sCssDefault + sCssOver + sIdUrl
*nota: els efectes de desplaçament del contenidor (al fer click) s'han de posar a la capçalera de la pagina cap a on
*		redirigeix el contenidor
*********************************************************************************************/
function SVT_ManegarEventsContenidorLinkable3rNivell( sIdMenu, sIdContenidor, sCssDefault, sCssOver, sUrl ) {
	GW_ManegarEvent(sIdMenu, sIdContenidor, "click", "SVT_Redirect('" + sUrl + "')");
	GW_ManegarEvent(sIdMenu, sIdContenidor, "mouseout", "SVT_ToggleMouseOut('" + sIdMenu + "', '" + sIdContenidor + "', '" + sCssDefault + "')");
	GW_ManegarEvent(sIdMenu, sIdContenidor, "mouseover", "SVT_ToggleMouseOver('" + sIdMenu + "', '" + sIdContenidor + "', '" + sCssOver + "')");
}



/********************************************************************************************
*Funció que s'utilitza per plegar tots els Contenidors del menu
*S'ha d'introduir per a cada contenidor diferent : idMenu + <ID CONTENIDOR>
*********************************************************************************************/
function SVT_PlegarTot() {
	//menuEsquerra
	var sIdMenu = "menuEsquerra_es"; //id del menu on s'han d'aplicar les funcions
	
	GW_PlegarContenidor(sIdMenu,'turisme_es');
	
	SVT_Plegar3rNivell();
}

/********************************************************************************************
*Funció que s'utilitza per treure tots els estils actius dels contenidors
*S'ha d'introduir per a cada contenidor diferent : idMenu + <ID CONTENIDOR> + estilDefault
*	nota: els estilNoActiu acostuma a ser 'emcontenidortext'
*********************************************************************************************/
function SVT_TreureTotsEstilsActius() {
	//menuEsquerra	
	
	var sIdMenu = "menuEsquerra_es";
	var sCssDefault = "emcontenidortext";
	
	GW_EstablirCssElementMenu(sIdMenu, 'turisme_es', sCssDefault);
		
	SVT_Treure3rsEstilsActius();
}
/********************************************************************************************
*Funció que s'utilitza per plegar  els Contenidors de 3r nivell del menu
*S'ha d'introduir per a cada contenidor diferent : idMenu + <ID CONTENIDOR>
*********************************************************************************************/
function SVT_Plegar3rNivell(){
	//menuEsquerra
	var sIdMenu = "menuEsquerra_es"; //id del menu on s'han d'aplicar les funcions
	
	GW_PlegarContenidor(sIdMenu,'oferta_es');	
	GW_PlegarContenidor(sIdMenu,'patrimoni_es');
	GW_PlegarContenidor(sIdMenu,'natura_es');	
	GW_PlegarContenidor(sIdMenu,'serveisVila_es');
	GW_PlegarContenidor(sIdMenu,'abansArribar_es');
}
/********************************************************************************************
*Funció que s'utilitza per treure els estils dels contenedors de 3r nivell
*S'ha d'introduir per a cada contenidor diferent : idMenu + <ID CONTENIDOR> + estilDefault
*	nota: els estilNoActiu acostuma a ser 'emcontenidortext'
*********************************************************************************************/
function SVT_Treure3rsEstilsActius(){
	//menuEsquerra		
	var sIdMenu = "menuEsquerra_es";
	var sCssDefault = "emcontenidortext";

	GW_EstablirCssElementMenu(sIdMenu, 'oferta_es', sCssDefault);
	GW_EstablirCssElementMenu(sIdMenu, 'patrimoni_es', sCssDefault);
	GW_EstablirCssElementMenu(sIdMenu, 'natura_es', sCssDefault);	
	GW_EstablirCssElementMenu(sIdMenu, 'serveisVila_es', sCssDefault);
	GW_EstablirCssElementMenu(sIdMenu, 'abansArribar_es', sCssDefault);

}

/********************************************************************************************
*Funció que s'utilitza per detectar si un contenidor esta:
*  -plegat : s'ha de treure tots els estils actius, plegar tots els contenidors ,
*			 desplegar el contenidor que ens pasen per <sIdContenidor> i aplicar-li
*			 els estils de contenidor actiu.
*  -desplegat : s'ha de plegar el contenidor que ens pasen y posar-hi els estils over per treure
*				els actius.
*********************************************************************************************/
function SVT_ToggleContenidor(sIdMenu, sIdContenidor , sCssDefault , sCssOver ){
	if (GW_EsContenidorPlegat(sIdMenu, sIdContenidor)) {
		SVT_TreureTotsEstilsActius();
		SVT_PlegarTot();
		GW_DesplegarContenidor(sIdMenu, sIdContenidor);
		GW_EstablirCssElementMenu(sIdMenu, sIdContenidor, sCssOver);		
	}
	else {
		SVT_TreureTotsEstilsActius();
		SVT_PlegarTot();		
		GW_PlegarContenidor(sIdMenu, sIdContenidor);	
	}
}
/********************************************************************************************
*Funció que s'utilitza per detectar si un contenidor de 3r nivell esta:
*  -plegat : s'ha de treure tots els estils actius, plegar tots els contenidors ,
*			 desplegar el contenidor que ens pasen per <sIdContenidor> i aplicar-li
*			 els estils de contenidor actiu.
*  -desplegat : s'ha de plegar el contenidor que ens pasen y posar-hi els estils over per treure
*				els actius.
*********************************************************************************************/
function SVT_ToggleContenidor3nNivell(sIdMenu, sIdContenidor , sCssDefault , sCssOver) {		
		var navegador = navigator.appName 
		if (navegador == "Microsoft Internet Explorer") { //explorer
			
			var objCont;
			var objOrigen;
			
			objCont = document.getElementById(sIdMenu + sIdContenidor);
			objOrigen = event.srcElement.parentElement;  		 
			
			/* Nomès ha de plegar el contenedor en cas de que sigui aquest l'element que ha activat l'event.
			
			Explicació detallada:
			
			-S'ha trobat un error amb IE que provoca que al clicar un link (EmInternText) dins d'un contenedor que
			a la vegada esta en un contenedor,aquest no pugui fer el link i es tanqui el contenedor com a consequencia.
			
			
			Esquema explicatiu: C=Contenedor L=Link(EmInternText)
			---
			|C|
			---
			 |   ---
			 ----|C|
				 ---
				  |     _
				  -----|L|
				  
			 
					
			
			El problema sembla degut a que al fer clik al link i aquest trobar-se dins del contenedor, per herencia
			el contenedor acaba activant l'event de plegar cosa que provoca que el contenedor es plegui i no es faci el
			link corresponent (aixo es degut a que en principi als links(EmInternText) no se li recullen els events).	*/
			
			if(objCont == objOrigen){
				
				if (event) {
					event.cancelBubble = true;
					event.returnValue = false;
				}
			
				if (GW_EsContenidorPlegat(sIdMenu, sIdContenidor)) {
					SVT_Plegar3rNivell();
					SVT_Treure3rsEstilsActius();
					GW_DesplegarContenidor(sIdMenu, sIdContenidor);
					GW_EstablirCssElementMenu(sIdMenu, sIdContenidor, sCssOver);		
				}
				else {			
					GW_PlegarContenidor(sIdMenu, sIdContenidor);
				}		
			}
		}
		else { //no explorer
				if (event) {
					event.cancelBubble = true;
					event.returnValue = false;
				}
			
				if (GW_EsContenidorPlegat(sIdMenu, sIdContenidor)) {
					SVT_Plegar3rNivell();
					SVT_Treure3rsEstilsActius();
					GW_DesplegarContenidor(sIdMenu, sIdContenidor);
					GW_EstablirCssElementMenu(sIdMenu, sIdContenidor, sCssOver);		
				}
				else {			
					GW_PlegarContenidor(sIdMenu, sIdContenidor);
				}
		}
		
}


/********************************************************************************************
*Funció que s'utilitza per detectar si un Contenidor esta plegat o no i aplicar-li o no 
*els estils al mouseover.
*Nomès en el cas que un contenidor estigui plegat sera neccesari aplicar-li els estils de mouseover
*********************************************************************************************/
function SVT_ToggleMouseOver(sIdMenu, sIdContenidor, sCss){
	if (GW_EsContenidorPlegat(sIdMenu, sIdContenidor)) {
		GW_EstablirCssElementMenu(sIdMenu, sIdContenidor, sCss);
	}
}

/********************************************************************************************
*Funció que s'utilitza per detectar si un Contenidor esta plegat o no i aplicar-li o no 
*els estils al mouseout.
*Nomès en el cas que un contenidor estigui plegat sera neccesari aplicar-li els estils de mouseout
*********************************************************************************************/
function SVT_ToggleMouseOut(sIdMenu, sIdContenidor, sCss){
	if (GW_EsContenidorPlegat(sIdMenu, sIdContenidor)) {
		GW_EstablirCssElementMenu(sIdMenu, sIdContenidor, sCss);
	}
}

/********************************************************************************************
*Funció per redirigir 
*S'ha d'introduir el  <URL ON HA DE REDIRIGIR>
*********************************************************************************************/
function SVT_Redirect(sUrl) {
    if (document.getElementsByTagName("base").length > 0) {
        window.location.href = document.getElementsByTagName("base")[0].href + sUrl;
    } else {
        window.location.href = sIdUrl;
    }
}

//altres
function getObject(sId) { return document.getElementById(sId); }


