
// Ponemos en marcha on load window el script principal

AttachEvent(window,"load",formatearElementos);

// ----------------------------------------
// Funciones para mostras y ocultar iframes 
// para solucionar el bug de selects en IE.
// ----------------------------------------

function muestraIframe(nombre_iframe) {
    if(!window.attachEvent) return false;
    var iframes = document.getElementsByTagName("iframe");
    for( var i=0; i<iframes .length; i++ ){
    	if (iframes[i].name == nombre_iframe) {
    		iframes[i].style.display = "block";
    	}
    }
}

function ocultaIframe(nombre_iframe) {
    if(!window.attachEvent) return false;
    var iframes = document.getElementsByTagName("iframe");
    for( var i=0; i<iframes .length; i++ ){
    	if (iframes[i].name == nombre_iframe) {
    		iframes[i].style.display = "none";
    	}
    }
}


// ----------------------------------
// Funcion formatearElementos
// ----------------------------------

var menu_principal;

function AplicarFondoMenu() {
menu_principal.className = "activo";
}


function LimpiarFondoMenu() {
menu_principal.className = "";
}

// -----------------------------------------
// Funcion mouseovear (evento on mouse over)
// -----------------------------------------
function mouseovear(evt) {
	// Con este código obtenemos la referencia al elemento
	// y extraemos las etiquetas que hemos creado en eventosElementosFormulario

	// "target" para Mozilla, Netscape, Firefox etc. ; "srcElement" para IE
	var ie_var = "srcElement";
	var moz_var = "target";

	var elemento;
	evt[moz_var] ? elemento = evt[moz_var] : elemento = evt[ie_var];

	var classonmouseover;
	classonmouseover = elemento["classonmouseover"];

	elemento.className = classonmouseover;
	
}

// -----------------------------------------
// Funcion mouseoutear (evento on mouse out)
// -----------------------------------------

function mouseoutear(evt) {
	// Con este código obtenemos la referencia al elemento
	// y extraemos las etiquetas que hemos creado en eventosElementosFormulario

	// "target" para Mozilla, Netscape, Firefox etc. ; "srcElement" para IE
	var ie_var = "srcElement";
	var moz_var = "target";

	var elemento;
	evt[moz_var] ? elemento = evt[moz_var] : elemento = evt[ie_var];

	var classonmouseout;
	classonmouseout = elemento.parentNode["classonmouseout"];

	elemento.className=classonmouseout;
}

function formatearElementos() {

	// Con esta función definimos que eventos asignamos a cada elemento.
	// Igualmente almacenamos en etiquetas los valores a utilizar en la ejeción
	// de dichos eventos dada la imposibilidad de pasar parámetros a las funciones
	// con addEventListener y attachEvent y la imposibilidad de IE para reconocer
	// con "this" el elemento que ha ejecutado el evento.

	//
	// Mouseover del menu principal
	//-----------------------------
	
	/* 

	menu_principal = document.getElementById("menuprincipal")
	AttachEvent(menu_principal,"mouseover",AplicarFondoMenu);
	AttachEvent(menu_principal,"mouseout",LimpiarFondoMenu);

	*/

	var objetos;

	//
	// Objetos tipo "a"
	//---------------------

	objetos = document.getElementsByTagName("a");

	for(var no=0;no<objetos.length;no++){
		if (objetos[no].className == "cambiante") {
			AttachEvent(objetos[no],"mouseover",mouseovear);
			AttachEvent(objetos[no],"mouseout",mouseoutear);
			objetos[no].classonmouseout = objetos[no].className;
			objetos[no].classonmouseover = "activo";
			
		}
	}

	//
	// Objetos tipo "input"
	//---------------------

	objetos = document.getElementsByTagName("input");

	for(var no=0;no<objetos.length;no++){
		if (objetos[no].className == "enviar") {
			AttachEvent(objetos[no],"mouseover",mouseovear);
			AttachEvent(objetos[no],"mouseout",mouseoutear);
			objetos[no].classonmouseout = objetos[no].className;
			objetos[no].classonmouseover = "over";
			
		}
	}

/*

	var objetos;

	//
	// Objetos tipo "input"
	//---------------------

	objetos = document.getElementsByTagName("input");

	for(var no=0;no<objetos.length;no++){
		if (objetos[no].className == "texto") {
			AttachEvent(objetos[no],"focus",focusear);
			AttachEvent(objetos[no],"blur",blurear);
			objetos[no].classonblur = objetos[no].className;
			objetos[no].classonfocus = "textomarcado";
			
		} else if (objetos[no].className == "boton") {
	
			AttachEvent(objetos[no],"click",EncontrarFormulario);
			objetos[no].onclick = function() {return false;};
		}
	}

	//
	// Objetos tipo "textarea"
	//------------------------

	objetos = document.getElementsByTagName("textarea");

	for(var no=0;no<objetos.length;no++){
	
		if (objetos[no].className == "edicion_xhtml") {
			
			eval("var oFCKeditor" + no + " = new FCKeditor(objetos[no].name);");
			eval("oFCKeditor" + no + ".BasePath = 'FCKeditor/';");
			eval("oFCKeditor" + no + ".Height = 400;");
			eval("oFCKeditor" + no + ".ToolbarSet = 'stanque_toolbar';");
			eval("oFCKeditor" + no + ".ReplaceTextarea();");

		} else {
	
			AttachEvent(objetos[no],"focus",focusear);
			AttachEvent(objetos[no],"blur",blurear);
			objetos[no].classonblur = objetos[no].className;
			objetos[no].classonfocus = "textomarcado";
		
		}
	}

	//
	// Objetos tipo "select"
	//----------------------

	objetos = document.getElementsByTagName("select");

	for(var no=0;no<objetos.length;no++){
		AttachEvent(objetos[no],"focus",focusear);
		AttachEvent(objetos[no],"blur",blurear);
		objetos[no].nombredelelemento = objetos[no].name;
		objetos[no].classonblur = objetos[no].className;
		objetos[no].classonfocus = "selectmarcado";
	}
	
	//
	// Objetos tipo "tr"
	//-------------------
	
	objetos = document.getElementsByTagName("tr");

	for(var no=0;no<objetos.length;no++){

	var resto = no % 2;
	
	// el "tr" último solo sirve si hay una sola tabla en el HTML!!!
	// Habría que verificar si hay un salto de tabla!!!
	
	if(resto == 0) {
		objetos[no].className = "par";
		if ((no + 1) == objetos.length) {
		objetos[no].className = "parultimo";
		}
	} else {
		objetos[no].className = "impar";
		if ((no + 1) == objetos.length) {
		objetos[no].className = "imparultimo";
		}
	}

	AttachEvent(objetos[no],"mouseover",mouseovear);
	AttachEvent(objetos[no],"mouseout",mouseoutear);
	objetos[no].classonmouseout = objetos[no].className;
	objetos[no].className == "imparultimo" || objetos[no].className == "parultimo" ? objetos[no].classonmouseover = "marcadoultimo" : objetos[no].classonmouseover = "marcado";

	}
	
	//
	// Objetos tipo "anchor"
	//----------------------

	objetos = document.getElementsByTagName("a");

	for(var no=0;no<objetos.length;no++){
		if (objetos[no].className == "eliminar") {
		
			if (navigator.appName == "Microsoft Internet Explorer") {
			
				AttachEvent(objetos[no],"click",confirmacionEliminarIE); // Solo con confirm -> no funciona en FF si en IE
			
			} else {

				objetos[no].onclick = function(evt) {
				
					var ie_var = "srcElement";
					var moz_var = "target";

					var elemento;

					evt[moz_var] ? elemento = evt[moz_var] : elemento = evt[ie_var];

					// vamos subiendo por la estructura del DOM hasta que encontramos un elemento con tagName "TR"

					var varnodeName = "";
					var varparentNode = "";
					var nombreFormulario = "";

					while(varnodeName != "TR") {

					varparentNode = varparentNode + ".parentNode"; 

					varnodeName = eval("elemento" + varparentNode + ".tagName;"); //alert ("objetos[no]" + varparentNode + ".tagName;" + "-" + eval("objetos[no]" + varparentNode + ".tagName;"));

					}

					// obtenemos la clase que tenía el tr

					var copiaclase;

					copiaclase = eval("elemento" + varparentNode + ".className;");

					eval("elemento" + varparentNode + ".className = 'marcadoalerta'");

					if (confirm("¿Está seguro de que desea eliminar este elemento?")) {
					
						return true;
						
					} else {
						eval("elemento" + varparentNode + ".className = '" + copiaclase + "';");

						return false;
					}
	

				}; // Fin funcion onclick
			
			} // Fin if IE
			
		} // Fin if anchor className == eliminar
		
	}
*/
}



// ----------------------------------------------------------------
// Funcion AttachEvent
//	Para agregar en IE y otros navegadores un evento a un elemento
// ----------------------------------------------------------------

function AttachEvent(elementObj, eventName, eventHandlerFunctionName)
{
  if (elementObj.addEventListener)
  { // Non-IE browsers
    elementObj.addEventListener(eventName, eventHandlerFunctionName, false);
  }
  else if (elementObj.attachEvent)
  { // IE 6+
   elementObj.attachEvent('on' + eventName, eventHandlerFunctionName);
  }
  else
  { // Older browsers
    var currentEventHandler = elementObj['on' + eventName];
    if (currentEventHandler == null)
    {
      elementObj['on' + eventName] = eventHandlerFunctionName;
    }
    else
    {
      elementObj['on' + eventName] = function(e) { currentEventHandler(e); eventHandlerFunctionName(e); }
    }
  }
}

// ----------------------------------------------------------------
// Funcion IncrustarFlash
//	Funcion para incrustar el Flash con el nuevo problema de IE
// ----------------------------------------------------------------

function IncrustarFlash(nombre, idioma, ruta, wait) {

	if (nombre == "interior") {

	document.write ("<object id=\"flashprincipal\"");
	document.write ("type=\"application/x-shockwave-flash\" data=\"" + ruta + "c_menu.swf?" + ruta + "path=menu_" + idioma + ".swf\"");
	document.write ("width=\"742\" height=\"300\">");
	document.write ("<param name=\"movie\" value=\"" + ruta + "c_menu.swf?path=" + ruta + "menu_" + idioma + ".swf&amp;ruta=" + ruta + "\" /> <param name=\"quality\" value=\"high\"/> <param name=\"menu\" value=\"false\" /> <param name=\"wmode\" value=\"transparent\" />");
	document.write ("</object>");

	} else if (nombre == "bienvenida") {

	document.write ("<object id=\"flashprincipal\"");
	document.write ("type=\"application/x-shockwave-flash\" data=\"../media/flash/bienvenida/bienvenida_" + idioma + ".swf?path=" + ruta + "bienvenida_" + idioma + ".swf&amp;nav=noie&amp;wait=" + wait + "&amp;ruta=" + ruta + "\"");
	document.write ("width=\"760\" height=\"410\">");
	document.write ("<param name=\"movie\" value=\"../media/flash/bienvenida/bienvenida_" + idioma + ".swf?path=" + ruta + "bienvenida_" + idioma + ".swf&amp;nav=ie&amp;wait=" + wait + "&amp;ruta=" + ruta + "\" /> <param name=\"quality\" value=\"high\"/> <param name=\"menu\" value=\"false\" /> <param name=\"wmode\" value=\"transparent\" />");
	document.write ("	<object>");
	document.write ("	</object>");
	document.write ("</object>");

	}

}



/*

// -----------------------------------
// Funcion focusear (evento on focus)
// -----------------------------------

function focusear(evt) {
	// Con este código obtenemos la referencia al elemento
	// y extraemos las etiquetas que hemos creado en eventosElementosFormulario

	// "target" para Mozilla, Netscape, Firefox etc. ; "srcElement" para IE
	var ie_var = "srcElement";
	var moz_var = "target";

	var elemento;
	evt[moz_var] ? elemento = evt[moz_var] : elemento = evt[ie_var];

	var classonfocus;
	classonfocus = elemento["classonfocus"];

	elemento.className=classonfocus;
}

// -----------------------------------
// Funcion blurear (evento on blur)
// -----------------------------------

function blurear(evt) {
	// Con este código obtenemos la referencia al elemento
	// y extraemos las etiquetas que hemos creado en eventosElementosFormulario

	// "target" para Mozilla, Netscape, Firefox etc. ; "srcElement" para IE
	var ie_var = "srcElement";
	var moz_var = "target";

	var elemento;
	evt[moz_var] ? elemento = evt[moz_var] : elemento = evt[ie_var];

	var classonblur;
	classonblur = elemento["classonblur"];

	elemento.className=classonblur;
}

// -----------------------------------------
// Funcion mouseovear (evento on mouse over)
// -----------------------------------------

function mouseovear(evt) {
	// Con este código obtenemos la referencia al elemento
	// y extraemos las etiquetas que hemos creado en eventosElementosFormulario

	// "target" para Mozilla, Netscape, Firefox etc. ; "srcElement" para IE
	var ie_var = "srcElement";
	var moz_var = "target";

	var elemento;
	evt[moz_var] ? elemento = evt[moz_var] : elemento = evt[ie_var];

	// Por alguna extraña razón el elemento capturado es el "td" dentro del "tr"
	// sobre el que hacemos onmouseover. Tenemos por tanto que referirnos a su "padre".
	var classonmouseover;
	classonmouseover = elemento.parentNode["classonmouseover"];

	elemento.parentNode.className=classonmouseover;
}

// -----------------------------------------
// Funcion mouseoutear (evento on mouse out)
// -----------------------------------------

function mouseoutear(evt) {
	// Con este código obtenemos la referencia al elemento
	// y extraemos las etiquetas que hemos creado en eventosElementosFormulario

	// "target" para Mozilla, Netscape, Firefox etc. ; "srcElement" para IE
	var ie_var = "srcElement";
	var moz_var = "target";

	var elemento;
	evt[moz_var] ? elemento = evt[moz_var] : elemento = evt[ie_var];

	// Por alguna extraña razón el elemento capturado es el "td" dentro del "tr"
	// sobre el que hacemos onmouseover. Tenemos por tanto que referirnos a su "padre".
	var classonmouseout;
	classonmouseout = elemento.parentNode["classonmouseout"];

	elemento.parentNode.className=classonmouseout;
}

// ----------------------------------------------------------------------------------
// Funcion EncontrarFormulario
//
// Esta funcion recorre el DOM hasta encontrar un formulario que integre al elemento
// ----------------------------------------------------------------------------------

function EncontrarFormulario(evt) {

	var ie_var = "srcElement";
	var moz_var = "target";

	var elemento;
	evt[moz_var] ? elemento = evt[moz_var] : elemento = evt[ie_var];

	// vamos subiendo por la estructura del DOM hasta que encontramos un elemento con tagName "FORM"

	var varnodeName = "";
	var varparentNode = "";
	var nombreFormulario = "";

	while(varnodeName != "FORM") {

	varparentNode = varparentNode + ".parentNode"; 

	varnodeName = eval("elemento" + varparentNode + ".tagName;"); //alert ("objetos[no]" + varparentNode + ".tagName;" + "-" + eval("objetos[no]" + varparentNode + ".tagName;"));

	}
	
	if (ValidarFormulario(eval("elemento" + varparentNode))) {
		eval("elemento" + varparentNode + ".submit()");
	}
	

}

// ---------------------------------------------------------
// Funcion confirmacionEliminarIE
//
// Confirmacion para IE de si se desea eliminar el elemento
// ---------------------------------------------------------

function confirmacionEliminarIE(evt) {
	if (confirm("¿Está seguro de que desea eliminar este elemento?")) {
		return true;
	} else {
		return false;
	}
}
*/

/* ------------------------------------------------------------------------------------------ */

// Esta función pertenece a las antiguas funciones.
// Habría que remodelarla.

function mostrar (apartado) {
	// valor = document.form1.tipoinscripcion.value;
	if (apartado == "listado") {
		//fondomarcado(1);
		document.getElementById("insertarnoticia").className="oculto";
		document.getElementById("listadodenoticias").className="visible";
		
		document.getElementById("oplistado").className="seleccionado";
		document.getElementById("opinsertar").className="noseleccionado";
	} else if (apartado == "insertar") {
		//fondomarcado(2);
		document.getElementById("listadodenoticias").className="oculto";
		document.getElementById("insertarnoticia").className="visible";
		
		document.getElementById("opinsertar").className="seleccionado";
		document.getElementById("oplistado").className="noseleccionado";
	} else {
		window.alert("Error inesperado 0x001 / Unexpected error 0x001");
	}
}

