String.prototype.trim = function(){ return this.replace(/^\s+|\s+$/g,'') }

function FitxaFormularis(idioma)
{
	this.bolFormularioEnviado = false;
	
    this.sinIntro = function(evt) {
  	   var evt = (evt) ? evt : ((event) ? event : null);
  	   var node = (evt.target) ? evt.target : ((evt.srcElement) ? evt.srcElement : null);
  	   if ((evt.keyCode == 13) && (node.type=="text"))  { return false;}
    }
    
	document.onkeypress = this.sinIntro; 
	
    if ( idioma == "ca" ) 
    {
		this.bodyMsg = "Has d'emplenar el camp ";
		this.msgJSnom = this.bodyMsg + "Nom";
		this.msgJScognom = this.bodyMsg + "Cognom";
		this.msgJSnif = "El camp nif no té un format correcta";
		this.msgJSsexe = this.bodyMsg + "Sexe";
		this.msgJSdata = "El camp data no té un format correcta (p. ex. 22/12/1977)";
		this.msgJSnacion = this.bodyMsg + "Nacionalitat";
		this.msgJSmail = "L'adreça de correu electrònic no té un format correcta";
		this.msgJSemailDif = "L'adreça de correu electrònic és diferent";
		this.msgJSnoCoincideix = "Les adreces de correu electrònic no coincideixen"
		this.msgJStelefono = this.bodyMsg + "Telèfon";
		this.msgJSdireccion = this.bodyMsg + "Adreça";
		this.msgJScp = this.bodyMsg + "Codi postal";
		this.msgJSpoblacio = this.bodyMsg + "Població/ciutat";
		this.msgJSprovincia = this.bodyMsg + "Província";
		this.msgJSpais = this.bodyMsg + "País";
		this.msgJScaptacion = this.bodyMsg + "Com ens has conegut ?";
		this.msgJStitulacion = this.bodyMsg + "Titulació";
		this.msgJSespecialidad = this.bodyMsg + "Especialitat"
		this.msgJSfactrurarA = this.bodyMsg +"Factureu a";
		this.msgJSnomEmpresa = this.bodyMsg + "Nom de l'empresa";
		this.msgJScifEmpresa = this.bodyMsg + "CIF";
		this.msgJStelefonoFijoEmpresa=this.bodyMsg + "Telèfon de l'empresa";
		this.msgJSdireccionEmpresa = this.bodyMsg + "Adreça de l'apartat 'Adreça de facturació'";
		this.msgJSpoblacionEmpresa = this.bodyMsg + "Població/ciutat de l'apartat 'Adreça de facturació'";
		this.msgJScpEmpresa = this.bodyMsg + "Codi Postal de l'apartat 'Adreça de facturació'";
		this.msgJSprovinciaEmpresa = this.bodyMsg + "Província de l'apartat 'Adreça de facturació'";
		this.msgJSpaisEmpresa = this.bodyMsg + "País de l'apartat 'Adreça de facturació'";
		this.msgJSdireccionEmpresaEnv = this.bodyMsg + "Adreça de l'apartat 'Adreça enviament de la factura'";
		this.msgJSpoblacionEmpresaEnv = this.bodyMsg + "Població/ciutat de l'apartat 'Adreça enviament de la factura'";
		this.msgJScpEmpresaEnv = this.bodyMsg + "Codi Postal de l'apartat 'Adreça enviament de la factura'";
		this.msgJSprovinciaEmpresaEnv = this.bodyMsg + "Província de l'apartat 'Adreça enviament de la factura'";
		this.msgJSpaisEmpresaEnv = this.bodyMsg + "País de l'apartat 'Adreça enviament de la factura'";
		this.msgJScontactoEmpresa = this.bodyMsg + "Persona de contacte de l'apartat 'Persona de contacte en l'empresa'";
		this.msgJSemailEmpresa = "L'adreça de correu electrònic de l'apartat 'Persona de contacte en l'empresa' no té un format correcta ";
		this.msgJShorario = this.bodyMsg +"Horari de contacte";
		this.msgJScaptacion = this.bodyMsg +"Com ens has conegut?";
		this.msgJScomentarios = this.bodyMsg + "Consulta";
		this.msgJSFormatNif = "El NIF no te el format correcte. Exemple: 11111111H";
		this.msgJSAcepto = "És necessari llegir i acceptar l'avís legal sobre la Política de protecció de dades";		
    }
    else
    {
    	this.bodyMsg = "Debes rellenar el campo ";
    	this.msgJSnom = this.bodyMsg + "Nombre";
    	this.msgJScognom = this.bodyMsg + "Apellido";
    	this.msgJSnif = "El campo nif tiene un formato incorrecto";
    	this.msgJSsexe = this.bodyMsg + "Sexo";
    	this.msgJSdata = "El campo fecha no tiene un formato correcto (p. ej. 22/12/1977)";
    	this.msgJSnacion = this.bodyMsg + "Nacionalidad";
    	this.msgJSmail = "La dirección de correo electrónico no tiene un formato correcto";
    	this.msgJSemailDif = "Las direcciones de correo electrónico no coinciden";
    	this.msgJSnoCoincideix = "Las direcciones de correo electrónico no coinciden"
    	this.msgJStelefono = this.bodyMsg + "Teléfono";
    	this.msgJSdireccion = this.bodyMsg + "Dirección";
    	this.msgJScp = this.bodyMsg + "Código postal";
    	this.msgJSpoblacio = this.bodyMsg + "Población/ciudad";
    	this.msgJSprovincia = this.bodyMsg + "Provincia";
    	this.msgJSpais = this.bodyMsg + "País";
    	this.msgJScaptacion = this.bodyMsg + "¿Cómo nos has conocido ?";
    	this.msgJStitulacion = this.bodyMsg + "Titulación";
    	this.msgJSespecialidad = this.bodyMsg + "Especialidad"
    	this.msgJSfactrurarA = this.bodyMsg +"Facturar a:";
    	this.msgJSnomEmpresa = this.bodyMsg + "Nombre de la empresa";
    	this.msgJScifEmpresa = this.bodyMsg + "CIF";
    	this.msgJStelefonoFijoEmpresa=this.bodyMsg + "Teléfono de la empresa";
    	this.msgJSdireccionEmpresa = this.bodyMsg + "Dirección en el apartado 'Dirección de facturación'";
    	this.msgJSpoblacionEmpresa = this.bodyMsg + "Población/ciudad en el apartado 'Dirección de facturación'";
    	this.msgJScpEmpresa = this.bodyMsg + "Código Postal en el apartado 'Dirección de facturación'";
    	this.msgJSprovinciaEmpresa = this.bodyMsg + "Provincia en el apartado 'Dirección de facturación'";
    	this.msgJSpaisEmpresa = this.bodyMsg + "País en el apartado datos 'Dirección de facturación'";
    	this.msgJSdireccionEmpresaEnv = this.bodyMsg + "Dirección en el apartado 'Dirección envío de la factura'";
    	this.msgJSpoblacionEmpresaEnv = this.bodyMsg + "Población/ciudad en el apartado 'Dirección envío de la factura'";
    	this.msgJScpEmpresaEnv = this.bodyMsg + "Código Postal en el apartado 'Dirección envío de la factura'";
    	this.msgJSprovinciaEmpresaEnv = this.bodyMsg + "Provincia en el apartado 'Dirección envío de la factura'";
    	this.msgJSpaisEmpresaEnv = this.bodyMsg + "País en el apartado 'Dirección envío de la factura'";
    	this.msgJScontactoEmpresa = this.bodyMsg + "Persona de contacto en el apartado 'Persona de contacto en la empresa'";
    	this.msgJSemailEmpresa = "La dirección de correo electrónico en el apartado 'Persona de contacto en la empresa' no tiene un formato correcto ";
    	this.msgJShorario = this.bodyMsg +"Horario de contacto";
    	this.msgJScaptacion = this.bodyMsg +"¿Cómo nos has conocido?";
    	this.msgJScomentarios = this.bodyMsg + "Consulta";
    	this.msgJSFormatNif = "El NIF no tiene el formato correcto. Ejemplo: 11111111H";
    	this.msgJSAcepto = "Es necesario leer y aceptar el aviso legal sobre la Política de protección de datos";
    } 
    
    this.enviarFormulario = function(formulario) {
    	    	
    	if ( this.bolFormularioEnviado == false )
    	{
    		this.bolFormularioEnviado = true;
    		formulario.submit();
    	}
    }
	
	this.enviarPreMatricula = function() {
		var frm = document.forms.frm_Preinscripcion;
	    
		if(this.sinEspacios(frm.nombre.value) || frm.nombre.value == ""){
			alert(this.msgJSnom);
			frm.nombre.focus();
		} else if(this.sinEspacios(frm.apellido1.value) || frm.apellido1.value == ""){
			alert(this.msgJScognom);
			frm.apellido1.focus();
		} else if(this.sinEspacios(frm.nif.value) || frm.nif.value == ""){
			alert(this.msgJSnif);
			frm.nif.focus();
		} else if(frm.nacionalidad.value == 'es' && !(this.esNifValid(frm.nif.value)) ){
			alert(this.msgJSFormatNif);
			frm.nif.focus();
		} else if(!frm.sexo[0].checked && !frm.sexo[1].checked){
			alert(this.msgJSsexe);
			frm.sexo[0].focus();
		} else if(frm.fechaNacimientoDia.value == "" || frm.fechaNacimientoMes.value == "" || frm.fechaNacimientoAnyo.value == "" || !this.compruebaFecha(frm.fechaNacimientoDia, frm.fechaNacimientoMes, frm.fechaNacimientoAnyo)){
			alert(this.msgJSdata);
			frm.fechaNacimientoDia.focus();
		} else if(this.sinEspacios(frm.nacionalidad.value) || frm.nacionalidad.value == ""){
			alert(this.msgJSnacion);
			frm.nacionalidad.focus();
		} else if(frm.email.value == "" || this.validaMail(frm.email.value)){
			alert(this.msgJSmail);
			frm.email.focus();
		}else if(frm.email.value != frm.emailRep.value){
			alert(this.msgJSnoCoincideix);
			frm.emailRep.focus();
		} else if(this.sinEspacios(frm.telefono.value) || frm.telefono.value == ""){
			alert(this.msgJStelefono);
			frm.telefono.focus();
		} else if(this.sinEspacios(frm.direccion.value) || frm.direccion.value == ""){
			alert(this.msgJSdireccion);
			frm.direccion.focus();
		} else if(this.sinEspacios(frm.cp.value) || frm.cp.value == ""){
			alert(this.msgJScp);
			frm.cp.focus();
		} else if(frm.pais.value == ""){
			alert(this.msgJSpais);
			frm.pais.focus();		
		} else if((this.sinEspacios(frm.provinciaEstranger.value) || frm.provinciaEstranger.value == "") && (this.sinEspacios(frm.provinciaEspanyol.value) || frm.provinciaEspanyol.value == "")) {
			alert(this.msgJSprovincia);
			if (frm.pais.value=="es") frm.provinciaEspanyol.focus();
			else frm.provinciaEstranger.focus();
		} else if(this.sinEspacios(frm.poblacion.value) || frm.poblacion.value == ""){
			alert(this.msgJSpoblacio);
			frm.poblacion.focus();			
		} else if(frm.captacion.value == ""){
			alert(this.msgJScaptacion);
			frm.captacion.focus();
		} else if(frm.titulacion.value == ""){
			alert(this.msgJStitulacion);
			frm.titulacion.focus();
		} else if(frm.titulacion.value != 'st' && (frm.especialidad.value == "" || this.sinEspacios(frm.especialidad.value))){
			alert(this.msgJSespecialidad);
			frm.especialidad.focus();
		} else if(!frm.facturarA[0].checked && !frm.facturarA[1].checked){
			alert(this.msgJSfactrurarA);
			frm.facturarA[0].focus();
		} else if(frm.facturarA[1].checked){
			// facturar a empresa
			if (this.sinEspacios(frm.nombreEmpresa.value) || frm.nombreEmpresa.value == ""){
				alert(this.msgJSnomEmpresa);
				frm.nombreEmpresa.focus();
			} else if(this.sinEspacios(frm.cifEmpresa.value) || frm.cifEmpresa.value == ""){
				alert(this.msgJScifEmpresa);
				frm.cifEmpresa.focus();
			} else if(this.sinEspacios(frm.telefonoFijoEmpresa.value) || frm.telefonoFijoEmpresa.value == ""){
				alert(this.msgJStelefonoFijoEmpresa);
				frm.telefonoFijoEmpresa.focus();				
			} else if(this.sinEspacios(frm.direccionEmpresa.value) || frm.direccionEmpresa.value == ""){
				alert(this.msgJSdireccionEmpresa);
				frm.direccionEmpresa.focus();
			} else if(this.sinEspacios(frm.cpEmpresa.value) || frm.cpEmpresa.value == ""){
				alert(this.msgJScpEmpresa);
				frm.cpEmpresa.focus();
			} else if(frm.paisEmpresa.value == ""){
				alert(this.msgJSpaisEmpresa);
				frm.paisEmpresa.focus();
			} else if((this.sinEspacios(frm.provinciaEmpresaEstranger.value) || frm.provinciaEmpresaEstranger.value == "") && (this.sinEspacios(frm.provinciaEmpresaEspanyol.value) || frm.provinciaEmpresaEspanyol.value == "")) {
				alert(this.msgJSprovinciaEmpresa);
				if (frm.paisEmpresa.value=="es") frm.provinciaEmpresaEspanyol.focus();
				else frm.provinciaEmpresaEstranger.focus();
			} else if(this.sinEspacios(frm.poblacionEmpresa.value) || frm.poblacionEmpresa.value == ""){
				alert(this.msgJSpoblacionEmpresa);
				frm.poblacionEmpresa.focus();
			} else if(frm.direccionEnvio[1].checked) {
				// direccion envio
				if(this.sinEspacios(frm.direccionEmpresaEnv.value) || frm.direccionEmpresaEnv.value == ""){
					alert(this.msgJSdireccionEmpresaEnv);
					frm.direccionEmpresaEnv.focus();
				} else if(this.sinEspacios(frm.cpEmpresaEnv.value) || frm.cpEmpresaEnv.value == ""){
					alert(this.msgJScpEmpresaEnv);
					frm.cpEmpresaEnv.focus();
				} else if(frm.paisEmpresaEnv.value == ""){
					alert(this.msgJSpaisEmpresaEnv);
					frm.paisEmpresaEnv.focus();
				} else if((this.sinEspacios(frm.provinciaEmpresaEstrangerEnv.value) || frm.provinciaEmpresaEstrangerEnv.value == "") && (this.sinEspacios(frm.provinciaEmpresaEspanyolEnv.value) || frm.provinciaEmpresaEspanyolEnv.value == "")) {
					alert(this.msgJSprovinciaEmpresaEnv);
					if (frm.paisEmpresaEnv.value=="es") frm.provinciaEmpresaEspanyolEnv.focus();
					else frm.provinciaEmpresaEstrangerEnv.focus();
				} else if(this.sinEspacios(frm.poblacionEmpresaEnv.value) || frm.poblacionEmpresaEnv.value == ""){
					alert(this.msgJSpoblacionEmpresaEnv);
					frm.poblacionEmpresaEnv.focus();
				} else if(this.sinEspacios(frm.contactoEmpresa.value) || frm.contactoEmpresa.value == ""){
					alert(this.msgJScontactoEmpresa);
					frm.contactoEmpresa.focus();
				} else if(frm.emailEmpresa.value == "" || this.validaMail(frm.emailEmpresa.value)){
					alert(this.msgJSemailEmpresa);
					frm.emailEmpresa.focus();
				} else{
					if( frm.acepto.checked == false )
					{				    
						alert(this.msgJSAcepto);
					}
					else
					{
						this.enviarFormulario(frm);
					}
				}
				
			} else if(this.sinEspacios(frm.contactoEmpresa.value) || frm.contactoEmpresa.value == ""){
				alert(this.msgJScontactoEmpresa);
				frm.contactoEmpresa.focus();
			} else if(frm.emailEmpresa.value == "" || this.validaMail(frm.emailEmpresa.value)){
				alert(this.msgJSemailEmpresa);
				frm.emailEmpresa.focus();
			} else{
				if( frm.acepto.checked == false )
				{				    
					alert(this.msgJSAcepto);
				}
				else
				{
					this.enviarFormulario(frm);
				}
			}
		}
		else
		{		
	   	    if( frm.acepto.checked == false )
			{
				alert(this.msgJSAcepto);				
			}
	   	    else
	   	    {
	   	    	this.enviarFormulario(frm);
	   	    }		   	    			
		}
	}
	

	/********************************************************************************
	* Funcio pel tractament provincia (si el PAIS --> ES o NO)
	********************************************************************************/
	this.canviPais = function() {	 
		if (document.forms[0].pais!=null && document.forms[0].pais.value=='es') {	
			if (document.getElementById('lblProvinciaEspanyol').style.display=="none") {
				if (document.forms[0].provinciaEstranger!=null) document.forms[0].provinciaEstranger.value="";
				if (document.forms[0].provinciaEspanyol!=null) document.forms[0].provinciaEspanyol.value="";		
			}	
			document.getElementById('lblProvinciaEstranger').style.display="none"; 		
			document.getElementById('txtProvinciaEstranger').style.display="none"; 				
			document.getElementById('lblProvinciaEspanyol').style.display="inline"; 	
			document.getElementById('txtProvinciaEspanyol').style.display="inline"; 				
		} else {
			if (document.getElementById('lblProvinciaEstranger').style.display=="none") {
				if (document.forms[0].provinciaEstranger!=null) document.forms[0].provinciaEstranger.value="";
				if (document.forms[0].provinciaEspanyol!=null) document.forms[0].provinciaEspanyol.value="";		
			}
			document.getElementById('lblProvinciaEstranger').style.display="inline"; 		
			document.getElementById('txtProvinciaEstranger').style.display="inline"; 				
			document.getElementById('lblProvinciaEspanyol').style.display="none"; 	
			document.getElementById('txtProvinciaEspanyol').style.display="none"; 		
		}	
	}
	this.canviPaisEmpresa = function() {	 
		if (document.forms[0].paisEmpresa!=null && document.forms[0].paisEmpresa.value=='es') {	
			if (document.getElementById('lblProvinciaEmpresaEspanyol').style.display=="none") {
				if (document.forms[0].provinciaEmpresaEstranger!=null) document.forms[0].provinciaEmpresaEstranger.value="";
				if (document.forms[0].provinciaEmpresaEspanyol!=null) document.forms[0].provinciaEmpresaEspanyol.value="";		
			}	
			document.getElementById('lblProvinciaEmpresaEstranger').style.display="none"; 		
			document.getElementById('txtProvinciaEmpresaEstranger').style.display="none"; 				
			document.getElementById('lblProvinciaEmpresaEspanyol').style.display="inline"; 	
			document.getElementById('txtProvinciaEmpresaEspanyol').style.display="inline"; 				
		} else {
			if (document.getElementById('lblProvinciaEmpresaEstranger').style.display=="none") {
				if (document.forms[0].provinciaEmpresaEstranger!=null) document.forms[0].provinciaEmpresaEstranger.value="";
				if (document.forms[0].provinciaEmpresaEspanyol!=null) document.forms[0].provinciaEmpresaEspanyol.value="";		
			}
			document.getElementById('lblProvinciaEmpresaEstranger').style.display="inline"; 		
			document.getElementById('txtProvinciaEmpresaEstranger').style.display="inline"; 				
			document.getElementById('lblProvinciaEmpresaEspanyol').style.display="none"; 	
			document.getElementById('txtProvinciaEmpresaEspanyol').style.display="none"; 		
		}	
	}
	this.canviPaisEmpresaEnv = function() {	 
		if (document.forms[0].paisEmpresaEnv!=null && document.forms[0].paisEmpresaEnv.value=='es') {	
			if (document.getElementById('lblProvinciaEmpresaEspanyolEnv').style.display=="none") {
				if (document.forms[0].provinciaEmpresaEstrangerEnv!=null) document.forms[0].provinciaEmpresaEstrangerEnv.value="";
				if (document.forms[0].provinciaEmpresaEspanyolEnv!=null) document.forms[0].provinciaEmpresaEspanyolEnv.value="";		
			}	
			document.getElementById('lblProvinciaEmpresaEstrangerEnv').style.display="none"; 		
			document.getElementById('txtProvinciaEmpresaEstrangerEnv').style.display="none"; 				
			document.getElementById('lblProvinciaEmpresaEspanyolEnv').style.display="inline"; 	
			document.getElementById('txtProvinciaEmpresaEspanyolEnv').style.display="inline"; 				
		} else {
			if (document.getElementById('lblProvinciaEmpresaEstrangerEnv').style.display=="none") {
				if (document.forms[0].provinciaEmpresaEstrangerEnv!=null) document.forms[0].provinciaEmpresaEstrangerEnv.value="";
				if (document.forms[0].provinciaEmpresaEspanyolEnv!=null) document.forms[0].provinciaEmpresaEspanyolEnv.value="";		
			}
			document.getElementById('lblProvinciaEmpresaEstrangerEnv').style.display="inline"; 		
			document.getElementById('txtProvinciaEmpresaEstrangerEnv').style.display="inline"; 				
			document.getElementById('lblProvinciaEmpresaEspanyolEnv').style.display="none"; 	
			document.getElementById('txtProvinciaEmpresaEspanyolEnv').style.display="none"; 		
		}	
	}
	
	/********************************************************************************
	* Funcio per validar el formulari de solicitud d'informació
	********************************************************************************/
	
	this.enviarMesInfo = function() {
		var frm = document.forms.frm_Contacto;
		
		if (this.sinEspacios(frm.nombre.value) || frm.nombre.value == ""){
			alert(this.msgJSnom);
			frm.nombre.focus();
		} else if(this.sinEspacios(frm.apellido1.value) || frm.apellido1.value == ""){
			alert(this.msgJScognom);
			frm.apellido1.focus();	
	    } else if((frm.fechaNacimientoDia.value != "" || frm.fechaNacimientoMes.value != "" || frm.fechaNacimientoAnyo.value != "") && !this.compruebaFecha(frm.fechaNacimientoDia, frm.fechaNacimientoMes, frm.fechaNacimientoAnyo)){
			alert(this.msgJSdata);
			frm.fechaNacimientoDia.focus();
		/*} else if(frm.fechaNacimientoDia.value == "" || frm.fechaNacimientoMes.value == "" || frm.fechaNacimientoAnyo.value == "" || !compruebaFecha(frm.fechaNacimientoDia, frm.fechaNacimientoMes, frm.fechaNacimientoAnyo)){
			alert(msgJSdata)
			frm.fechaNacimientoDia.focus();*/
		/*} else if(!frm.sexo[0].checked && !frm.sexo[1].checked){
			alert(msgJSsexe);
			frm.sexo[0].focus();*/
		} else if(frm.email.value == "" || this.validaMail(frm.email.value)){
			alert(this.msgJSmail);
			frm.email.focus();
		} else if(this.sinEspacios(frm.telefonoFijo.value) || frm.telefonoFijo.value == ""){
			alert(this.msgJStelefono);
			frm.telefonoFijo.focus();
		/*} else if(sinEspacios(frm.direccion.value) || frm.direccion.value == ""){
			alert(msgJSdireccion);
			frm.direccion.focus();
		} else if(sinEspacios(frm.cp.value) || frm.cp.value == ""){
			alert(msgJScp);
			frm.cp.focus();*/
		} else if(frm.pais.value == ""){
			alert(this.msgJSpais);
			frm.pais.focus();		
		} else if((this.sinEspacios(frm.provinciaEstranger.value) || frm.provinciaEstranger.value == "") && (this.sinEspacios(frm.provinciaEspanyol.value) || frm.provinciaEspanyol.value == "")) {
			alert(this.msgJSprovincia);
			if (frm.pais.value=="es") frm.provinciaEspanyol.focus();
			else frm.provinciaEstranger.focus();
		/*} else if(sinEspacios(frm.poblacion.value) || frm.poblacion.value == ""){
			alert(msgJSpoblacio);
			frm.poblacion.focus();					*/
		} else if (this.sinEspacios(frm.horaContacte.value) || frm.horaContacte.value == ""){
			alert(this.msgJShorario);
			frm.horaContacte.focus();
		} else if (this.sinEspacios(frm.captacion.value) || frm.captacion.value == ""){
			alert(this.msgJScaptacion);
			frm.captacion.focus();
		}
		/*Es treu la validació del camp comentaris a petició del Diego Albarracin 24/03/2006 previa confirmació del Ignasi 28/03/2006*/
		/*else if(sinEspacios(frm.comentarios.value) || frm.comentarios.value == ""){
			alert(msgJScomentarios);
			frm.comentarios.focus();
		}*/ else {
			frm.submit();
			return true;
		}
	}
	/*******************************************************************************
	* Funcio que valida si els mails estan repetits en el formulari de prematricula
	********************************************************************************/
	this.validaMailRep = function() {
		var mail1 = document.forms[0].email;
		var mail2 = document.forms[0].emailRep;
		
		if(mail1.value != mail2.value){
			alert(this.msgJSemailDif);
			//mail2.focus();
			return false;
		}
		else
			return true;
	}
	
	/********************************************************************************
	Funcio que valida el format correcte d'un mail
	********************************************************************************/
	this.validaMail = function(mail) {
		var regExpr = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,5})+$/;
		//return (mail.match(regExpr) == null);
		if (mail.search(regExpr) == -1)
			return true;
		else
			return false;
	}
	
	/********************************************************************************
	Funcio que valida que un camp nomes tingui espais en blanc
	********************************************************************************/
	this.sinEspacios = function(campo) {
		var tmp, i;
		i = 0;
		tmp = "";
		while (campo.length > i){
			if(campo.substr(i, 1) != '\ ')
				tmp = tmp + campo.substr(i, 1)
			i++;
		}
		return (tmp.length == 0);
	}
	
	/********************************************************************************
	Funcion que valida que el formato de una fecha sea el correcto
	**********************************************************************************/
	this.compruebaFecha = function(campoDia, campoMes, campoAnyo) {
		
		re = /^[\s*0*]+|\s+$/gi;
		dia = campoDia.value.replace(re, '');	// quita 0's iniciales y espacios iniciales y finales
		mes = campoMes.value.replace(re, '');
		anyo = campoAnyo.value.replace(re, '');
	
		re = /\D/;	// busca caracteres no-numericos
		if (dia.search(re) >= 0 || mes.search(re) >= 0 || anyo.search(re) >= 0)
		return false;
	
		diaInt = parseInt(dia);
		mesInt = parseInt(mes)-1;
		anyoInt = parseInt(anyo);
	
		if (anyoInt < 100)
		anyoInt += 1900
	
		fecha = new Date(anyoInt.toString(), mesInt.toString(), diaInt.toString());
	
		diaAux = fecha.getDate();
		mesAux = fecha.getMonth();
		anyoAux = fecha.getYear();
	
		if (anyoAux < 1000) /* Es Netscape. Los anyos entre 1900 y 1999 se codifican con 2 digitos, el resto con 3 1XX */
		anyoAux += 1900;
	
		if ( diaInt != diaAux || mesInt != mesAux || anyoInt != anyoAux )
		return false;
	
		if (anyoInt < 1902 || anyoInt > 2037) 	// Limitaciones de Python
			return false;
			
		campoDia.value = diaInt;
		campoMes.value = mesInt+1;
		campoAnyo.value = anyoInt;
	
		return true;
	}
	
	/*
	Funcio que valida el nif en base a la nacionalitat 06/08/07
	*/
	
	this.validaNif = function(idSelect, idNif){
		var sel = document.getElementById(idSelect);
		var nif = document.getElementById(idNif);
		
		if(sel.value == 'es')
			if (!(this.esNifValid(nif.value)))
				alert(this.msgJSFormatNif);
	}
	
	
	this.esNifValid = function(nif){
	
		cadena="TRWAGMYFPDXBNJZSQVHLCKET";
		
		dni = nif.substring(0, nif.length-1);
		letra = nif.substring(nif.length-1, nif.length);
		
	  	posicion = dni % 23;
	  	
	  	return (cadena.substring(posicion,posicion+1) == letra)
	}
	
	/********************************************************************************
	* Funcio per validar el formulari enviar a un amic
	********************************************************************************/
	this.enviarAmic = function(){
		var frm = document.forms.frm_EnviarAmigo;
	
		if (this.sinEspacios(frm.nom.value) || frm.nom.value == ""){
			alert(this.msgJSnom);
			frm.nom.focus();
		} else if(this.sinEspacios(frm.nomAmic.value) || frm.nomAmic.value == ""){
			alert(this.msgJSnom);
			frm.nomAmic.focus();
		} else if(frm.emailAmic.value == "" || this.validaMail(frm.emailAmic.value)){
			alert(this.msgJSmail);
			frm.emailAmic.focus();
		} else {
			frm.submit();
		}
	}
	
	/********************************************************************************
	* Funcio alhora de premer el radiobutton de facturar a particular o empresa
	********************************************************************************/
	this.canviFacturarA = function(opcio, importe){
		var frm = document.forms.frm_Preinscripcion;
		
		if(opcio=='p') {			
			document.getElementById("dadesEmpresa").className="escondido";  		    
		} else {			
			document.getElementById("dadesEmpresa").className="mostrado";
		}
		if (frm.nombreEmpresa!=null) frm.nombreEmpresa.value="";
      	if (frm.cifEmpresa!=null) frm.cifEmpresa.value=""; 
		if (frm.telefonoFijoEmpresa!=null) frm.telefonoFijoEmpresa.value="";
		if (importe!=null && importe!='') {
			if (frm.importeEmpresa!=null) frm.importeEmpresa.value=this.mascaraDecimals(importe);
		} else {
			if (frm.importeEmpresa!=null) frm.importeEmpresa.value="";
		}
		if (frm.direccionEmpresa!=null) frm.direccionEmpresa.value="";
      	if (frm.cpEmpresa!=null) frm.cpEmpresa.value=""; 
		if (frm.paisEmpresa!=null) frm.paisEmpresa.value="";
		if (frm.provinciaEmpresaEstranger!=null) frm.provinciaEmpresaEstranger.value="";
		if (frm.provinciaEmpresaEspanyol!=null) frm.provinciaEmpresaEspanyol.value="";    	                
		if (frm.poblacionEmpresa!=null) frm.poblacionEmpresa.value="";
		if (frm.contactoEmpresa!=null) frm.contactoEmpresa.value="";
		if (frm.departamentoEmpresa!=null) frm.departamentoEmpresa.value="";
		if (frm.cargoEmpresa!=null) frm.cargoEmpresa.value="";
		if (frm.emailEmpresa!=null) frm.emailEmpresa.value="";
		if (frm.direccionEnvio[0]!=null) frm.direccionEnvio[0].checked = true;
		this.canviDireccionEnvio('m');
	}
	
	/********************************************************************************
	* Funcio alhora de premer el radiobutton de direccio enviament factura
	********************************************************************************/
	this.canviDireccionEnvio = function(opcio){
		var frm = document.forms.frm_Preinscripcion;
		
		if(opcio=='m') {			
			document.getElementById("dadesDireccionEnvio").className="escondido";  		    
		} else if (opcio='o'){			
			document.getElementById("dadesDireccionEnvio").className="mostrado";
		}		
		if (frm.direccionEmpresaEnv!=null) frm.direccionEmpresaEnv.value="";
      	if (frm.cpEmpresaEnv!=null) frm.cpEmpresaEnv.value=""; 
		if (frm.paisEmpresaEnv!=null) frm.paisEmpresaEnv.value="";
		if (frm.provinciaEmpresaEstrangerEnv!=null) frm.provinciaEmpresaEstrangerEnv.value="";
		if (frm.provinciaEmpresaEspanyolEnv!=null) frm.provinciaEmpresaEspanyolEnv.value="";    	                
		if (frm.poblacionEmpresaEnv!=null) frm.poblacionEmpresaEnv.value="";							
	}
	
	/********************************************************************************
	* Funcio alhora de entrar el valor númeric i/o decimals
	********************************************************************************/
	this.mascaraNumeros = function(e) {		
		var re = new RegExp("[\\d,]", "g"); 
    	var key = (window.Event) ? e.which : e.keyCode; 
        key2 = String.fromCharCode(key);
        if (! re.test(key2) && key != 0 && key != 13 && key != 8) {
			if (navigator.appName.indexOf("Explorer") != -1) {
				window.event.returnValue = false;
			} else {
		        e.preventDefault();
		    }
            return false;
        }
        return true;		
	}
	this.mascaraDecimals = function (str) {  
    	// Limpieza de todo excepto n?meros y comas	
    	var re = new RegExp("[^\\d,]", "g"); 
    	var s1 = str.replace(re, ""); 
   		// Capamos a 2 decimales -> Nos cargamos los que sobran
   		var i = s1.lastIndexOf(",");
   		var dec = i;
   		s1 = (i == -1) ? s1 : s1.substring(0, i+3);  
   		// Ponemos los puntitos hasta de la coma
   		i = (i == -1) ? s1.length : i;
      	var j = i % 3;
        var sFinal = s1.substr(0, j); 
        for (var k = j; k < i; k += 3) {	
      	    sFinal += "." + s1.substr(k, 3);	
        }  
        sFinal = sFinal.replace(/^\./g, "") + s1.substring(i);
        if (sFinal!='' && dec == -1) {
        	sFinal = sFinal + ",00"; 
        }
        return sFinal;
	}  
}