
	var mensaje = '';
	var repeticion = '';
	var idioma = "es";

	// Descomentar para forzar el WAI-AAA porque vacia los campos al entrar
	/*
	
	window.onload = iniForm;

	function iniForm()
	{
		vaciar_formulario_contacto();
		vaciar_formulario_clientes();
	}

	function vaciar_formulario_contacto()
	{
		form = document.forms("formContacto");

		if ( form != null )
		{
			form["nombre"].value = "";
			form["apellidos"].value = "";
			form["telefono"].value = "";
			form["direccion"].value = "";
			form["ciudad"].value = "";
			form["email"].value = "";
			form["comentarios"].value = "";
		}
	}

	function vaciar_formulario_clientes()
	{
		form = document.forms("formClientes");

		if ( form != null )
		{
			form["usuario"].value = "";
			form["clave"].value = "";
		}
	}

	*/

	function validar_formulario_contacto(form, idioma_)
	{
		idioma = idioma_;

		var elementos_formulario = new Array()

		if (idioma == "ca")	{
			elementos_formulario["nombre"] = new Array("Nom", "ob_txt");
			elementos_formulario["apellidos"] = new Array("Cognoms", "ob_txt");
			elementos_formulario["telefono"] = new Array("Telefon", "ob_txt");
			elementos_formulario["direccion"] = new Array("Direccio", "op_txt");
			elementos_formulario["ciudad"] = new Array("Ciutat", "ob_txt");
			elementos_formulario["email"] = new Array("E-mail", "ob_ema");
			elementos_formulario["motivo"] = new Array("Motiu del contacte", "ob_sel");
			elementos_formulario["conocido"] = new Array("Com ens ha conegut", "ob_sel");
			elementos_formulario["comentarios"] = new Array("Comentaris", "ob_txt");
		} else {
			elementos_formulario["nombre"] = new Array("Nombre", "ob_txt");
			elementos_formulario["apellidos"] = new Array("Apellidos", "ob_txt");
			elementos_formulario["telefono"] = new Array("Telefono", "ob_txt");
			elementos_formulario["direccion"] = new Array("Direccion", "op_txt");
			elementos_formulario["ciudad"] = new Array("Ciudad", "ob_txt");
			elementos_formulario["email"] = new Array("E-mail", "ob_ema");
			elementos_formulario["motivo"] = new Array("Motivo del contacto", "ob_sel");
			elementos_formulario["conocido"] = new Array("Como nos ha conocido", "ob_sel");
			elementos_formulario["comentarios"] = new Array("Comentarios", "ob_txt");
		}

		return recorrer_formulario(form, elementos_formulario);
	}

	function validar_formulario_clientes(form, idioma_)
	{
		idioma = idioma_;

		var elementos_formulario = new Array()

		if (idioma == "ca")
		{
			elementos_formulario["usuario"] = new Array("Usuari", "ob_txt");
			elementos_formulario["clave"] = new Array("Clau", "ob_txt");
		} else {
			elementos_formulario["usuario"] = new Array("Usuario", "ob_txt");
			elementos_formulario["clave"] = new Array("Clave", "ob_txt");
		}

		return recorrer_formulario(form, elementos_formulario);
	}

	// ----------------------------------------------------------------------------------------

	function recorrer_formulario(form, array_elementos)
	{
		/*
			Para utilizar este Script recuerda que los nombres de todos los elementos del formulario
			deben seguir un estandar que es el siguiente:
							
			sintaxis:  xx_yyy_nombre
							
			xx - representa el carcter del campo, es decir, si es de carcter OBligatorio u OPcional.
				
				ob ==> Obligatorio
				op ==> Opcional
							
			yyy - representa el tipo de campo que vamos a validar, es decir, el mtodo de validarlo segn sea su formato.
							
				txt ==> Texto normal
				ema ==> Formato e-mail
				fec ==> Formato fecha
				num ==> Formato nmero
		*/
					
		problem = false;

		for(i=0; ((i<form.length) && (!problem)); i++)
		{
			elemento = form[i];

			if ( typeof(elemento.name) != "undefined" )
			{
				if ( ( elemento.type != "button" ) && ( elemento.type != "submit" ) && ( elemento.type != "reset" ) )
				{
					nombre = elemento.name;
					titulo = "";
					validar = "";
					
					if ( typeof(array_elementos[nombre]) != "undefined" )
					{
						titulo = array_elementos[nombre][0];
						validar = array_elementos[nombre][1];
					}

					// Validaciones
					switch ( validar.substring(0,2) )
					{
						case "ob":
							if ( ob(elemento, titulo) ) { problem = true; }
							switch ( validar.substring(3,6) )
							{ // valida solo los campos especfcos
								case "txt": // campo de texto
									break;	
								case "ema": // campo de email
									if ( !esemail(elemento, titulo) ) { problem = true; } 
									break;
								case "fec": // campo de fecha
									 break;
								case "num": // campo de numero
									break;
								case "cif": // campo de cif
									break;
								case "sel": // campo de seleccion
									break;
							}
							break;	
						case "op":			
							switch ( validar.substring(3,6) )
							{
								case "txt":
								break;
								case "num":
								break;
								case "ema":
								break;
								case "fec":
								break;
								case "tar":
								break;
								case "cif": // campo de cif
									if ( CompruebaDatos(elemento, titulo) ) { problem = true; }
									break;
							}
							break;	
					}
				}
			}
		}

		return ( !problem );
	}

	//***********************************************************************
	// Funcion txt para introducir solo CARACTERES de texto
	//***********************************************************************
	/* CARACTERES VALIDOS
		32 = _especio en blanco
		39 = '		45 = -		46 = .		170 = 		186 = 
		>64 && < 91 = Letras mayusculas 	>96 && < 123 = Letras minusculas
		183 =  / 192 =  /	193 =  /199 =  / 200 =  / 201 =  / 204 =  / 205 =  / 207 =  / 209 =  / 210 =  / 211 = 
		217 =  / 218 =  / 220 =  / 224 =  / 225 =  / 231 =  / 232 =  / 233 =  / 236 =  / 237 =  / 238 =  / 241 = 
		242 =  / 243 =  / 249 =  / 250 =  / 252 = 
	*/

	function txt(key)
	{
		if ( event.keyCode == 13 ) 
		{
			event.returnValue = true;
		}
		else if ( !( (event.keyCode == 32) || (event.keyCode == 39) || (event.keyCode == 45) || (event.keyCode == 46) || (event.keyCode == 170) || (event.keyCode == 186) || (event.keyCode == 183) || (event.keyCode == 192) || (event.keyCode == 193) || (event.keyCode == 199) || (event.keyCode == 200) || (event.keyCode == 201) || (event.keyCode == 204) || (event.keyCode == 205) || (event.keyCode == 207) || (event.keyCode == 209) || (event.keyCode == 210) || (event.keyCode == 211) || (event.keyCode == 217) || (event.keyCode == 218) || (event.keyCode == 220) || (event.keyCode == 224) || (event.keyCode == 225) || (event.keyCode == 231) || (event.keyCode == 232) || (event.keyCode == 233) || (event.keyCode == 236) || (event.keyCode == 237) || (event.keyCode == 239) || (event.keyCode == 241) || (event.keyCode == 242) || (event.keyCode == 243) || (event.keyCode == 249) || (event.keyCode == 250) || (event.keyCode == 252) || (event.keyCode > 64 && event.keyCode < 91) || (event.keyCode > 96 && event.keyCode < 123) ) )
		{
			event.returnValue = false;
		}
	}

	//***********************************************************************
	// Funcion ob para que se tenga que rellenar obligatoriamente
	//***********************************************************************

	function ob(campo, nombre_campo)
	{
		cadena = new String(campo.value);
		if (cadena.length == 0)
		{
			if ( idioma == "ca" )
				alert("El camp " + nombre_campo + " es obligatori");
			else if ( idioma == "en" )
				alert("The field " + nombre_campo + " is required");
			else
				alert("El campo " + nombre_campo + " es obligatorio");

			campo.focus();
			return true;
		}
		return false;
	}

	//***********************************************************************
	// Funcion num para introducir solo caracteres numericos
	//***********************************************************************

	function num(key)
	{
		if ( event.keyCode == 13 ){event.returnValue = true;}
			else {if ( key < 48 || key > 57) {event.returnValue = false;}
		}
	}

	//***********************************************************************
	// Funcion fec para introducir solo caracteres numericos + / (barra)
	//***********************************************************************

	function fec(key)
	{
		if ( event.keyCode == 13 ){event.returnValue = true;}
		else	{if ( key < 47 || key > 57) {event.returnValue = false;}
		}
	}

	//***********************************************************************
	// Funcion fec para introducir solo caracteres numericos + : (dos puntos)
	//***********************************************************************

	function hor(key)
	{
		if ( event.keyCode == 13 ){event.returnValue = true;}
		else	{if ( key < 48 || key > 58 ) {event.returnValue = false;}
		}
	}

	//***********************************************************************
	// Funcion esemail para introducir solo caracteres de emails y validarlo.
	//***********************************************************************

	function esemail(campo, nombre_campo)
	{
		str = new String(campo.value);
		var supported = 0;
		if (window.RegExp) {
			var tempStr = "a";
			var tempReg = new RegExp(tempStr);
			if (tempReg.test(tempStr)) supported = 1;
		}
		if (!supported) return (str.indexOf(".") > 2) && (str.indexOf("@") > 0);
		var r1 = new RegExp("(@.*@)|(\\.\\.)|(@\\.)|(^\\.)");
		var r2 = new RegExp("^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,4}|[0-9]{2,4})(\\]?)$");
		if ((!r1.test(str) && r2.test(str)) || (str == ""))
		{
			return true;
		} else {
			if ( idioma == "ca" )
				alert("El format de mail del camp " + nombre_campo + " no es valid");
			else if ( idioma == "en" )
				alert("The format of mail of the field " + nombre_campo + " is not valid");
			else
				alert("El formato de mail del campo " + nombre_campo + " no es valido");
			campo.focus();
			return false;
		}
	}

	function DevolverParametros(thisString)
	{
		/*
		thisString = thisString.replace(/"&Aacute;"/g, "Á");
		thisString = thisString.replace(/"&Eacute;"/g, "É");
		thisString = thisString.replace(/"&Iacute;"/g, "Í");
		thisString = thisString.replace(/"&Oacute;"/g, "Ó");
		thisString = thisString.replace(/"&Uacute;"/g, "Ú");
		thisString = thisString.replace(/"&aacute;"/g, "á");
		thisString = thisString.replace(/"&eacute;"/g, "é");
		thisString = thisString.replace(/"&iacute;"/g, "í");
		thisString = thisString.replace(/"&oacute;"/g, "ó");
		thisString = thisString.replace(/"&uacute;"/g, "ú");

		thisString = thisString.replace(/"&Agrave;"/g, "À");
		thisString = thisString.replace(/"&Egrave;"/g, "È");
		thisString = thisString.replace(/"&Igrave;"/g, "Ì");
		thisString = thisString.replace(/"&Ograve;"/g, "Ò");
		thisString = thisString.replace(/"&Ugrave;"/g, "Ù");
		thisString = thisString.replace(/"&agrave;"/g, "à");
		thisString = thisString.replace(/"&egrave;"/g, "è");
		thisString = thisString.replace(/"&igrave;"/g, "ì");
		thisString = thisString.replace(/"&ograve;"/g, "ò");
		thisString = thisString.replace(/"&ugrave;"/g, "ù");

		thisString = thisString.replace(/"&Ntilde;"/g, "Ñ");
		thisString = thisString.replace(/"&ntilde;"/g, "n");
		thisString = thisString.replace(/"&ctilde;"/g, "ç");
		thisString = thisString.replace(/"&Ctildemay"/g, "Ç");
		*/

		return thisString;
	}

	function mxSinEspacios(pObject)
	{
		pValor = pObject.value;
		pLength = pObject.value.length;
		
		for(i=0;i<pLength;i++)
		{
			if(pValor.charAt(i) != ' ')
				return;
		}
		pObject.value = "";
	}

	function mxValidateLength(pObject, pMax)
	{
		if (pObject.value.length >= pMax)
		{
			alert("Longitud permitida: " + pMax + " caracteres.");	
			pObject.value = pObject.value.substring(0,pMax-1);
			pObject.focus();
			return false;
		}
		else
			return true;
	}

/*** SECURE **************************************************************************/

function mostrarNewsletter(form) {
	document.getElementById("tipo_de_envio_html").style.display = "none";
	document.getElementById("tipo_de_envio_texto").style.display = "none";
	document.getElementById("email_destino").style.display = "none";
	document.getElementById("nombre_archivo").style.display = "none";
	document.getElementById("grupo_de_envio").style.display = "none";
	if (form.news.options[form.news.selectedIndex].value == "texto") {
		document.getElementById("grupo_de_envio").style.display = "none";
		document.getElementById("tipo_de_envio_texto").style.display = "block";
		document.getElementById("email_destino").style.display = "block";
		document.getElementById("label_asunto_castellano").innerHTML = "Asunto";
		document.getElementById("label_contenido_castellano").innerHTML = "Contenido";
		document.getElementById("label_asunto_castellano").style.display = "block";
		document.getElementById("label_contenido_castellano").style.display = "block";
		document.getElementById("contenido_es").style.display = "block";
		document.getElementById("asunto_catalan").style.display = "none";
		document.getElementById("contenido_catalan").style.display = "none";
	} else {
		document.getElementById("grupo_de_envio").style.display = "block";
		document.getElementById("nombre_archivo").style.display = "block";
		document.getElementById("tipo_de_envio_html").style.display = "block";
		document.getElementById("email_destino").style.display = "none";
		document.getElementById("label_asunto_castellano").innerHTML = "Asunto en castellano";
		document.getElementById("asunto_catalan").style.display = "block";
		document.getElementById("contenido_catalan").style.display = "none";
		document.getElementById("contenido_es").style.display = "none";
	}
}

function mostrarEnvio(form) {
	document.getElementById("grupo_de_envio").style.display = "none";
	document.getElementById("email_destino").style.display = "none";
	if (form.tipo.options[form.tipo.selectedIndex].value.indexOf("individual") > -1) {
		document.getElementById("email_destino").style.display = "block";
		document.getElementById("label_asunto_castellano").innerHTML = "Asunto";
		document.getElementById("label_contenido_castellano").innerHTML = "Contenido";
		document.getElementById("asunto_catalan").style.display = "none";
		document.getElementById("contenido_catalan").style.display = "none";
	} else {
		document.getElementById("grupo_de_envio").style.display = "block";
		document.getElementById("label_asunto_castellano").innerHTML = "Asunto en castellano";
		document.getElementById("label_contenido_castellano").innerHTML = "Contenido en castellano";
		document.getElementById("asunto_catalan").style.display = "block";
		document.getElementById("contenido_catalan").style.display = "block";
	}
}

function validar_formulario_newsletter(form) {
	var elementos_formulario = new Array()
	
	if (form.news.value == "html") {
		elementos_formulario["archivo"] = new Array("Nombre del archivo", "ob_txt");
		elementos_formulario["subjectEs"] = new Array("Asunto en castellano", "ob_txt");
		elementos_formulario["subjectCa"] = new Array("Asunto en catal\u00e1n", "ob_txt");
	} else {
		if (form.tipo.value == "individual_es") {
			elementos_formulario["destino"] = new Array("E-mail de destino", "ob_ema");
			elementos_formulario["subjectEs"] = new Array("Asunto", "ob_txt");
			elementos_formulario["contenidoEs"] = new Array("Contenido", "ob_txt");
		} else if (form.tipo.value == "individual_ca") {
			elementos_formulario["destino"] = new Array("E-mail de destino", "ob_ema");
			elementos_formulario["subjectEs"] = new Array("Asunto", "ob_txt");
			elementos_formulario["contenidoEs"] = new Array("Contenido", "ob_txt");
		} else {
			elementos_formulario["apellidos"] = new Array("Apellidos", "ob_txt");
			elementos_formulario["subjectEs"] = new Array("Asunto en castellano", "ob_txt");
			elementos_formulario["contenidoEs"] = new Array("Contenido en castellano", "ob_txt");
			elementos_formulario["subjectCa"] = new Array("Asunto en catal\u00e1n", "ob_txt");
			elementos_formulario["contenidoCa"] = new Array("Contenido en catal\u00e1n", "ob_txt");
		}
	}

	if (recorrer_formulario(form, elementos_formulario)) return confirm("Est\u00e1s seguro de querer enviar esta newsletter?");
	else return false;
}