	/****
	 *  
	 *  @Proyecto     :  Portal Web del Club Atletismo Lynze-Parla
	 *  @Autor        :  Jose Luis Rubio Fronton
	 *  @Fecha        :  Agosto 2007
	 *
	 *  @Fichero      :  comun.js
	 *  @Descripción  :  Archivo Javascript que contiene funciones JS comúnes en la web del CA Lynze-Parla
	 *
	 **/
	 
	var msjError     = "ERROR: \n\nLos siguientes campos son obligatorios/erróneos:\n"; // error validación datos formulario
	var colorError   = "#FDABA2"; // color cuando EXISTE error. Se aplica a los bordes de los campos
	var colorNoError = "#DFDFDF"; // color cuando NO EXISTE error. Se aplica a los bordes de los campos

	// función que valida una dirección de email pasada como parámetro
	function validarEmail (email, msj) {
		var ERmail = /^\w+([._]?\w+)*@\w+([._]?\w+)*(\.\w{2,3})+$/;
		if (!ERmail.test(email)) {
			if (msj) alert("Dirección de email errónea");
			return false;
		}
		else 
			return true;
	}
	
	
	/**
	 *  función que valida una fecha teniendo en cuenta
	 * los días de cada mes y si el año es bisiesto o no
	 * @param : fecha a comprobar
	 */
	function validarFecha (fecha) {
		var ERfecha = /^[0-3]\d\/[0-1]\d\/[1-2]\d{3}$/;
		if (ERfecha.test(fecha)) {
			var _diasMes = new Array("31", "28", "31", "30", "31", "30", "31", "31", "30", "31", "30", "31");
			dd = fecha.substr(0,2);
			mm = fecha.substr(3,2);
			aaaa = fecha.substr(6,4);
			// un año es bisiesto si es divisible por 4, excepto aquellos divisibles por 100 pero no por 400 (wikipedia.org)
			((aaaa % 4 == 0) && ((aaaa % 100 != 0) || (aaaa % 400 == 0))) ? _diasMes[1] = 29 : _diasMes[1] = 28; // comprobar si el año es bisiesto
			if ((mm >= 1 && mm <= 12) && (dd >= 1 && dd <= _diasMes[(mm - 1)]) && fecha.length == 10) {
				return true;
			}
			else 
				return false;
		}
		else 
			return false;
	}
	
	// función que escribe una direccion de email para intentar evitar el spam producido por distintos robots
	function escribirMail (usuario, dominio) {
		document.writeln ("<a href='mailto:" + usuario + "@" + dominio + "'>" + usuario + "@" + dominio + "</a>");
	}

	// función que cambia el color de fondo de la sección del menú sobre la que está el ratón
	function rollOverSeccion (campo) {
		campo.style.backgroundColor = "#FFCC66";	
	}
	
	// función que cambia el color de fondo de la sección del menú volviéndolo a su color inicial
	function rollOutSeccion (campo) {
		campo.style.backgroundColor = "#CCCCCC";
	}
	
	// función que abre una nueva ventana del navegador
	function abrirVentana (url, nombreVentana, caracteristicas) {
	  window.open(url, nombreVentana, caracteristicas);
	}

	// función que centra una ventana
	function centrarVentana (anchura, altura) {
		if (parseInt(navigator.appVersion) >= 4) 
			window.moveTo((screen.width / 2) - (anchura / 2 + 10), (screen.height / 2) - (altura / 2 + 20));
	}
	
	/**
	 *  Función que elimina la opción "Seleccione..." al cambiar por
	 * primera vez la opción del combo
	 * @param : identificador del select afectado
	 */	 
	function eliminarSeleccione (id) { 
		var select = document.getElementById(id);
		if (select.options[0].text == "Seleccione...") { // quitar esa opción
			select.options[0] = null;
		}
	}
	
	/**
	 *  función que cambia el color fondo del campo que tiene el foco activo 
	 * @param : elemento al que se hace referencia
	 */
	function rollOver (campo) {
		campo.style.backgroundColor='#CFCFCF';
	} 
	
	
	/**
	 *  función que cambia el color de fondo del campo que pierde el foco (se 
	 * pone en su color 'original') 
	 * @param : elemento al que se hace referencia
	 */
	function rollOut (campo) {
		campo.style.backgroundColor='transparent';
	}
