//-----------------------------------------------------------------------------------------------------------------------
//-----------------------------------------------------------------------------------------------------------------------
//-----------------------------------------------------------------------------------------------------------------------
//-----------------------------------------------------------------------------------------------------------------------

//Pone a la izquierda del numero X ceros dependiendo de la longitud pedida 
//P.ej: formatearNumeroCeros(23,4) ---> 0023
function formatearNumeroCeros(num,longitud)
{

	var texto = "";
	for (i=0;i<longitud;i++) texto += "0";	
	
	
	texto = texto.concat(num);
	
	texto_formateado = texto.substr (texto.length - longitud);
	
	return texto_formateado;

}

function esNumero(texto) {
   var numeros = "0123456789";
   var todoOK = true;
   var c;

   for (x = 0; x < texto.length && todoOK == true; x++) {
     c = texto.charAt(x);
     if (numeros.indexOf(c) == -1)
       todoOK = false;
   }
   return todoOK;
}


function esMail(strMail) 
{
  var patMail = /^(.+)@(.+)$/;   // Expresion regular (usuario@dominio)
  var patUser = /^[a-zA-Z\d_-]+(\.[a-zA-Z\d_-]+)*$/;  // ER para usuario
  var patDomainIP = /^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/;   // ER para direccciones IP
  var patDomain = /^[a-zA-Z\d_-]+(\.[a-zA-Z\d_-]+)+$/; // ER para nombres de dominio

  // Comprueba usuario@dominio
  var matchArray = strMail.match(patMail);
  if(matchArray == null)
    return false;
   
  var user = new String(matchArray[1]);
  var domain = new String(matchArray[2]);

  if(user.match(patUser) == null) 
    return false;

  // Comprueba que el dominio corresponde a una direccion IP
  var IPArray = domain.match(patDomainIP);
  if(IPArray != null) {
    for (var i=1;i<=4;i++) {
      if(IPArray[i]>255)
         return false;
    }
    return true;
  }

  // Comprueba el string de dominio.
  var domainArray = domain.match(patDomain);
  if(domainArray == null) 
    return false;
  if(domainArray[domainArray.length - 1].length < 3 || domainArray[domainArray.length - 1].length > 4) 
    return false;

  return true;
}


function esTexto(texto) {
   var caracteres = "abcdefghikjlmnñopqrstuvwxyzABCDEFGHIJKLMNÑOPQRSTUVWXYZáéíóúçÇ ";
   var todoOK = true;
   var c;

   for (i = 0; i < texto.length && todoOK == true; i++) {
     c = texto.charAt(i);
     if (caracteres.indexOf(c) == -1)
       todoOK = false;
   }
   return todoOK;
}

function convertirMayuscula(valor){			
  valor = valor.replace(/\á/g, "a");
	valor = valor.replace(/\é/g, "e");
	valor = valor.replace(/\í/g, "i");
	valor = valor.replace(/\ó/g, "o");
	valor = valor.replace(/\ú/g, "u");
	valor = valor.replace(/\ñ/g, "\361");			
	valor = valor.toUpperCase();
  return valor;
}


function comprobarIdentificacionFiscal(tipo_identificacion,num_identificacion)
{

	switch (tipo_identificacion)
	{
		
		case "1":
			exp_reg = /^[0-9]{8}[a-zA-Z]{1}$/;
			
			if ( exp_reg.test(num_identificacion) == false )
			{
				return (false);
			}
			else
			{
				var numeros = num_identificacion.substring(0,8);
				var letra = num_identificacion.substring(8);
				var letra2 = comprobar_letra_dni(numeros);
				if (letra != letra2) 
				{
					//alert(letra+' '+letra2);
					return (false);
				}
			}
		break;
	
	}
	
	return (true);
}

function comprobar_letra_dni(dni)
{
	var cadena="TRWAGMYFPDXBNJZSQVHLCKET";
	var posicion = dni % 23;
	var letra = cadena.substring(posicion,posicion+1);
	return (letra);
}	

//-----------------------------------------------------------------------------------------------------------------------
//-----------------------------------------------------------------------------------------------------------------------
//-----------------------------------------------------------------------------------------------------------------------
//-----------------------------------------------------------------------------------------------------------------------









//Funcion que cambia el texto de informacion para la seccion de contacto
function cambiarInfoSeccion(){
	switch(document.form_contactar.seccion.options[document.form_contactar.seccion.selectedIndex].value)
	{	
		//Los CASE, son los ID de la tabla "correos_mp" de la BBDD
		case "0": //ELIJA 
			document.getElementById("informacion").innerHTML = "...descripción del departamento.";
		break;
		case "1": //info
			document.getElementById("informacion").innerHTML = "Cualquier duda sobre la asociación, consultas generales...";
		break;
		case "2": //admin
			document.getElementById("informacion").innerHTML = "Cuotas, confirmación de pagos, matriculas, confirmación socios...";
		break;
		case "3": //monitores
			document.getElementById("informacion").innerHTML = "Comentarios sobre los monitores, quejas, curriculums nuevos candidatos...";
		break;
		case "4": //escuelas
			document.getElementById("informacion").innerHTML = "Cualquier duda sobre el funcionamientos de escuelas, altas, bajas, pagos...";
		break;
		case "5": //eventos
			document.getElementById("informacion").innerHTML = "Información sobre eventos de la asociación, dudas, quejas, nuevos...";
		break;
		case "6": //sas
			document.getElementById("informacion").innerHTML = "Para urgencias y temas muy importantes...";
		break;
		case "7": //prensa
			document.getElementById("informacion").innerHTML = "Contacto con medios de comunicación, notas de prensa, links, rrpp...";
		break;
		case "8": //web
			document.getElementById("informacion").innerHTML = "Sugerencias, dudas, problemas, errores, ayudas relacionadas con la web...";
		break;		
		case "9": //clases particulares
			document.getElementById("informacion").innerHTML = "Consultas sobre las clases particulares de Patinaje y de Freestyle Slalom...";
		break;		
		case "10": //hockey
			document.getElementById("informacion").innerHTML = "Todo sobre la liga interna de hockey madridpatina, altas, bajas, normas, etc.";
		break;				
		case "11": //fotosocio
			document.getElementById("informacion").innerHTML = "¿Problemas para subir tu foto a la web e imprimirte el carné?";
		break;		
		
	}
}

//Esta funcion, deja en blanco un campo de texto, si tiene el texto explicativo por defecto.
//Recibe el campo de texto (form.campo) y el texto a comprobar
function limpiar_campo_texto(campo_formulario,texto)
{
	 if ( eval('document.' + campo_formulario + '.value == "' + texto + '"') ) 
     {
	   eval('document.' + campo_formulario + '.value = ""');
	 }
}



function limpiar_campo_form_generico(campo_formulario,texto) {
	var info;
	switch(texto)
	{
			case 'comentarios':
				info = "Escribe aquí tus comentarios...";
				break;
			case 'comentarios_borrado_escuela':
				
				info = "Si te das de baja en alguna escuela, explica aquí tus motivos...";
				break;
				
			case 'contacto':
				info = "Contacto...";
				break;				
				
			case 'link_galeria_socios':
				info = "http://www.copia_y_pega_aqui_el_enlace_de_tu_galeria.com";
				break;

				
	}
	 if ( eval('document.' + campo_formulario + '.value == "' + info + '"') ) {
	   eval('document.' + campo_formulario + '.value = ""');
	 }
}

function limpiar_campo_texto_confirmacion(formulario) {

	 if ( eval('document.' + formulario + '.texto.value == "Escribe aquí tu opinión..."') ) {
	   eval('document.' + formulario + '.texto.value = ""');
	 }
}

function limpiar_campo_encuesta(formulario) {

	 if ( eval('document.' + formulario + '.texto.value == "Escribe aquí tu opinión..."') ) {
	   eval('document.' + formulario + '.texto.value = ""');
	 }
}


function limpiar_campo_link(formulario) {

	 if ( eval('document.' + formulario + '.link.value == "Envía tu enlace..."') ) {
	   eval('document.' + formulario + '.link.value = ""');
	 }
}

function limpiar_campo_comentario(formulario) {

	 if ( eval('document.' + formulario + '.comentario.value == "descripción_"') ) {
	   eval('document.' + formulario + '.comentario.value = ""');
	 }
}


//Funcion que busca caracteres no validos en un formulario
// parametros funcion:
// 	- dato: texto del dato a comprobar
//	- nulo: (true/false) Se comprueba si el dato puede o no ser nulo. 
//	- nombre_campo: texto del nombre del campo a comprobar (se usara para mostrar el correspondiente mensaje de error)
function validar_datos_form(dato,nulo,nombre_campo) 
{
  if ((nulo) && (dato == "")) 
  {
  	 alert("ERROR: Por favor, introduzca un valor correcto en el campo '" + nombre_campo + "'");
  	 return (false);
  }
  var ubicacion;
  var enter = "\n";
  var caracteres_prohibidos = "<>'=\"!&;"
  var caracteres = caracteres_prohibidos + String.fromCharCode(13) + enter;

  var contador = 0
  for (var i=0; i < dato.length; i++) {
    ubicacion = dato.substring(i, i + 1)
    if (caracteres.indexOf(ubicacion) != -1) 
    {
      alert('ERROR: No se acepta el caracter "' + ubicacion + '" en el campo "' + nombre_campo + 
      		'".\n\n(Caracteres prohibidos: ' + caracteres_prohibidos + ')');
      return (false);
    }
  }
  return(true);
}





//Valida el formulario para que un nosocio pueda apuntarse a un evento
function validar_form_confirmar_nosocio_evento()
{
  form = document.confirmacion;

  
  if (! validar_datos_form(form.nombre.value,true,"NOMBRE"))
  {
    form.nombre.focus();
    return (false);  	
  }  

  if (! validar_datos_form(form.apellidos.value,true,"APELLIDOS"))
  {
    form.apellidos.focus();
    return (false);  	
  } 

  
  if (! validar_datos_form(form.email.value,true,"EMAIL"))
  {
    form.email.focus();
    return (false);  	
  }    
  
  if (!esMail(form.email.value)){
    alert("Por favor, introduzca un EMAIL válido");
    form.email.focus();
    return (false);
  } 

  
  limpiar_campo_form_generico('confirmacion.texto',"comentarios");  
  
  form.submit(); 
}


function cambiarEscuela()
{
    //									0			1			2		3			4
	//escuelas_relacion[x] = array(id_relacion, id_escuela, id_dia, id_horario, id_nivel)
    var form = document.form_clase_escuela;
 	var id_escuela = form.escuela.options[form.escuela.selectedIndex].value;

	var dia_insertado = 0;
	var dia_opciones = 0;
	
	form.dia.options[0] = null;
	form.dia.options[1] = null;

	for (var i=0;i<escuelas_relacion.length;i++)
	{
		id_dia = escuelas_relacion[i][2];
		if ((escuelas_relacion[i][1] == id_escuela) && (dia_insertado != id_dia))
		{
			dia_insertado = id_dia;
			form.dia.options[dia_opciones] = new Option(escuelas_dias[id_dia],id_dia);
			dia_opciones++;
		}
		
	}	
	form.dia.selectedIndex = 0;
	
	cambiarDia();
}


function cambiarDia()
{
    //									0			1			2		3			4
	//escuelas_relacion[x] = array(id_relacion, id_escuela, id_dia, id_horario, id_nivel)
	
	var form = document.form_clase_escuela;
 	var id_escuela = form.escuela.options[form.escuela.selectedIndex].value;
	var id_dia = form.dia.options[form.dia.selectedIndex].value;
	
	var hora_opciones = 0;
	var hora_insertada = 0;
	
	form.horario.options[0] = null;
	form.horario.options[1] = null;	
	form.horario.options[2] = null;		
	
	for (var i=0;i<escuelas_relacion.length;i++)
	{
		id_hora = escuelas_relacion[i][3];
		if ((escuelas_relacion[i][1] == id_escuela) &&
			(escuelas_relacion[i][2] == id_dia) &&
			(hora_insertada != id_hora))
		{
			hora_insertada = id_hora;
			form.horario.options[hora_opciones] = new Option(escuelas_horarios[id_hora],id_hora);
			hora_opciones++;
		}
	}
	
	cambiarHora();
	
}

function cambiarHora()
{
    //									0			1			2		3			4
	//escuelas_relacion[x] = array(id_relacion, id_escuela, id_dia, id_horario, id_nivel)
	var form = document.form_clase_escuela;
 	var id_escuela = form.escuela.options[form.escuela.selectedIndex].value;
	var id_dia = form.dia.options[form.dia.selectedIndex].value;
	var id_hora = form.horario.options[form.horario.selectedIndex].value;
	
	var nivel_opciones = 0;
	var nivel_insertado = 0;
	var id_nivel;
	
	form.nivel.length = 0;	
	
	for (var i=0;i<escuelas_relacion.length;i++)
	{
		id_nivel = escuelas_relacion[i][4];
		if ((escuelas_relacion[i][1] == id_escuela) &&
			(escuelas_relacion[i][2] == id_dia) &&
			(escuelas_relacion[i][3] == id_hora) &&
			(nivel_insertado != id_nivel))
		{
			nivel_insertado = id_nivel;
			form.nivel.options[nivel_opciones] = new Option(escuelas_niveles[id_nivel],id_nivel);
			nivel_opciones++;
		}
	}
	form.nivel.selectedIndex = 0;	
}


function validar_form_clase_escuela() {
	
  campo = document.form_clase_escuela;
 
  
  if (campo.aviso_legal.checked == false)
  {
  	alert('Para cumplimentar la solicitud de escuela, debes leer y aceptar el aviso legal.');
  	campo.aviso_legal.focus();
  	return (false);
  }  
	
  
  //Comentarios
  //Si no ha escrito comentarios, quitamos el mesnaje de ayuda
  if (campo.comentarios.value == "Escribe aquí tus comentarios..."){
    campo.comentarios.value = '';
  } 

  /*
  //Este campo solo se pone para periodos de renovaciones de escuela
  if ((campo.padre.checked) && (campo.comentarios.value == ''))
  {
    alert("Por favor, introduce en el campo COMENTARIOS, el nº de socio y nombre de tu hijo.");
    campo.comentarios.focus();
    return (false);  	
  }
  */
   
 
//AVERIGUAMOS LA RELACION_ESCUELA ELEGIDA
//									0			1			2		3			4
//escuelas_relacion[x] = array(id_relacion, id_escuela, id_dia, id_horario, id_nivel)
var form = document.form_clase_escuela;
var id_escuela = form.escuela.options[form.escuela.selectedIndex].value;
var id_dia = form.dia.options[form.dia.selectedIndex].value;
var id_hora = form.horario.options[form.horario.selectedIndex].value;
var id_nivel = form.nivel.options[form.nivel.selectedIndex].value;

  for (var i=0;i<escuelas_relacion.length;i++)
  { 
		if ((escuelas_relacion[i][1] == id_escuela) &&
			(escuelas_relacion[i][2] == id_dia) &&
			(escuelas_relacion[i][3] == id_hora) &&
			(escuelas_relacion[i][4] == id_nivel))
		{
			break;
		}
  
  }
  form.relacion_escuela.value = escuelas_relacion[i][0];
  campo.submit();
}





function habilitarCajaDonde()
{
	campo = document.form_clase_escuela;
	
	if (campo.plaza_escuela.checked) 
	{
		campo.donde_estaba.disabled = false;
	}
	else
	{
		campo.donde_estaba.disabled = true;
		campo.donde_estaba.value = "indícanos escuela, día, horario y nivel...";
	}

}



//Función que devuelve el digito de control de un numero dado (relativo a cuenta bancarias)
function obtenerDigitoControl(valor){
  valores = new Array(1, 2, 4, 8, 5, 10, 9, 7, 3, 6);
  control = 0;
  for (i=0; i<=9; i++)
    control += parseInt(valor.charAt(i)) * valores[i];
  control = 11 - (control % 11);
  if (control == 11) control = 0;
  else if (control == 10) control = 1;
  return control;
}





////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////
//Valida los datos de un socio, para la MODIFICACION Y ALTA

function validar_datos_socio() 
{
  form = document.form_socio;

  //-----------------------------------------
  //-----------------------------------------
  //FORM SOLO PARA COPROBAR EN UNA ALTA
  if (form.modificacion.value == "false") //solo entramos en un alta
  {  

	  if (! validar_datos_form(form.nombre.value,true,"nombre"))
	  {
	    form.nombre.focus();
	    return (false);  	
	  }
	
	  if (! validar_datos_form(form.apellidos.value,true,"apellidos"))
	  {
	    form.apellidos.focus();
	    return (false);  	
	  }   
	  
	  if ((document.form_socio.dia_nac.value == "") || (document.form_socio.mes_nac.value == "") || (document.form_socio.annio_nac.value == "")) {
	    alert("Por favor, introduzca su fecha de nacimiento");
	    document.form_socio.dia_nac.focus();
	    return (false);
	  }
  	  
	   
  }

  if (! validar_datos_form(form.lugar_nac.value,true,"lugar de nacimiento"))
  {
    form.lugar_nac.focus();
    return (false);  	
  }  
  



  

  
  
  //TELEFONO MOVIL---------------

  if ((document.form_socio.telefono.value == "") || (document.form_socio.telefono.value == "9 digitos")) {
    alert("Por favor, introduzca un número de teléfono movil de 9 dígitos consecutivos. P.ej: 623345676");
    document.form_socio.telefono.focus();
    return (false);
  }  

  var reg = /^[0-9]{9}$/;
  if (document.form_socio.telefono.value.search(reg)) {
    alert("Por favor, introduzca un número de teléfono movil de 9 dígitos consecutivos. P.ej: 623456789");
    document.form_socio.telefono.focus();
    return (false);
  }
  
  
  
  
  // TELEFONO FIJO ----------------- No es necesario este campo
  
  if ((document.form_socio.telefono_fijo.value != "9 digitos") && (document.form_socio.telefono_fijo.value != "")) 
  {
	  var reg = /^[0-9]{9}$/;
	  if (document.form_socio.telefono_fijo.value.search(reg)) 
	  {
	    alert("Por favor, introduzca un número de teléfono fijo de 9 dígitos consecutivos. P.ej: 916656598");
	    document.form_socio.telefono_fijo.focus();
	    return (false);
	  } 
	  
  }
  else document.form_socio.telefono_fijo.value = '';
  
 
  
  
  
  // MAIL ----------------------------
  if (document.form_socio.mail.value == "") {
    alert("Por favor, introduzca su correo electrónico");
    document.form_socio.mail.focus();
    return (false);
  }

  if (!esMail(document.form_socio.mail.value)) {
    alert("Por favor, introduzca un correo electrónico válido");
    document.form_socio.mail.focus();
    return (false);
  }



  if ((document.form_socio.codigo_postal.value == "") || (document.form_socio.codigo_postal.value == "5 digitos")) {
    alert("Por favor, introduzca su codigo postal, un número de 5 dígitos consecutivos. P.ej: 28700");
    document.form_socio.codigo_postal.focus();
    return (false);
  }

  var reg = /^[0-9]{5}$/;
  if (document.form_socio.codigo_postal.value.search(reg)) {
    alert("Por favor, introduzca su codigo postal, un número de 5 dígitos consecutivos. P.ej: 28700");
    document.form_socio.codigo_postal.focus();
    return (false);
  }

  
  if (! validar_datos_form(form.direccion.value,true,"dirección"))
  {
    form.direccion.focus();
    return (false);  	
  }     
    
  

  if (! validar_datos_form(form.poblacion.value,true,"poblacion"))
  {
    form.poblacion.focus();
    return (false);  	
  }    
  
  if (! validar_datos_form(form.provincia.value,true,"provincia"))
  {
    form.provincia.focus();
    return (false);  	
  }  

  

  
  if (document.getElementById('celda_sexo_mujer').className == 'socioSexoMujerOn')
  {
     var sexo = 1;
  }
  if (document.getElementById('celda_sexo_hombre').className == 'socioSexoHombreOn')
  {
     var sexo = 0;
  }

  
  
  
  
  
  
  //-----------------------------------------
  //-----------------------------------------
  //FORM SOLO PARA COPROBAR EN UNA ALTA
  if (form.modificacion.value == "false") //solo entramos en un alta
  {
  	 
	  //DATOS BANCARIOS -------------------------------------------------
	  //CC - ENTIDAD
	  var reg = /^[0-9]{4}$/;
	  if (form.cc_entidad.value.search(reg)) {
	    alert("Por favor, introduzca un número correcto de 4 dígitos en el campo CC-ENTIDAD.");
	    form.cc_entidad.focus();
	    return (false);
	  }  
	  
	  //CC - OFICINA
	  var reg = /^[0-9]{4}$/;
	  if (form.cc_oficina.value.search(reg)) {
	    alert("Por favor, introduzca un número correcto de 4 dígitos en el campo CC-OFICINA.");
	    form.cc_oficina.focus();
	    return (false);
	  }  
	
	  //CC - DIGITO DE CONTROL
	  var reg = /^[0-9]{2}$/;
	  if (form.cc_dc.value.search(reg)) {
	    alert("Por favor, introduzca un número correcto de 2 dígitos en el campo CC-DIGITO DE CONTROL.");
	    form.cc_dc.focus();
	    return (false);
	  }  
	
	  //CC - ENTIDAD
	  var reg = /^[0-9]{10}$/;
	  if (form.cc_numcuenta.value.search(reg)) {
	    alert("Por favor, introduzca un número correcto de 10 dígitos en el campo CC-NUMERO DE CUENTA.");
	    form.cc_numcuenta.focus();
	    return (false);
	  }  	
	  
	  
	  //Comprobacion del codigo de cuenta bancaria a traves de los digitos de control
	  if (!(obtenerDigitoControl("00" + form.cc_entidad.value + form.cc_oficina.value) == parseInt(form.cc_dc.value.charAt(0))) || 
	      !(obtenerDigitoControl(form.cc_numcuenta.value) == parseInt(form.cc_dc.value.charAt(1))))
	  {
	    alert("Por favor, introduzca un CODIGO DE CUENTA BANCARIA correcta. Los digitos de control no se corresponden a los demas numeros de cuenta. Sí hay algun error, pongase en contacto con web@madridpatina.com.");
	    form.cc_numcuenta.focus();
	    return (false);
	  }  	  
	  
	  //Comprobacion del caso particular erroneo de nº cuenta: 0000-0000-00-0000000000
	  if ((form.cc_entidad.value == '0000') && 
	  	 (form.cc_oficina.value == '0000') && 
	  	 (form.cc_dc.value == '00') && 
	  	 (form.cc_numcuenta.value == '0000000000'))
	  {
	    alert("Por favor, introduzca un CODIGO DE CUENTA BANCARIA correcta.");
	    form.cc_numcuenta.focus();
	    return (false);
	  }  

	    
	  
	  // Identficacion CC
	  form.num_identificacion.value = form.num_identificacion.value.toUpperCase();
	  switch(form.id_tipo_identificacion.value)
	  {
	  	 case "1": //dni, nif
	  	 	texto_error_identificacion = "Por favor, introduzcua un DNI-NIF correcto: P.ej: 12345678X";
	  	 			
	  	 	break;
	
	  	 case "2": //cif
	  	 	texto_error_identificacion = "Por favor, introduzcua un CIF correcto: P.ej: A1234567X";  	 			
	  	 	break;  	 	
	
	  	 case "3": // nie
	  	 	texto_error_identificacion = "Por favor, introduzcua un NIE correcto: P.ej: X12345678B";  	 			
	  	 	break;  	 	
	  }
	  if (!comprobarIdentificacionFiscal(form.id_tipo_identificacion.value,form.num_identificacion.value))  
	  {
	    alert(texto_error_identificacion);
	    form.num_identificacion.focus();
	    return (false);  	
	  }	  
	  
	  
	  //TITULAR DE LA CUENTA BANCARIA
	  
	  //Si se ha seleccionado la casilla de "otro titular", se comprueban los datos. Sino, se copia de los del nuevo socio
	  if (form.titular_cuenta.checked)  	
	  {
			  		  
			  
			  if (! validar_datos_form(form.cc_nombre.value,true,"CC - NOMBRE TITULAR"))
			  {
			    form.cc_nombre.focus();
			    return (false);  	
			  }
			
			  if (! validar_datos_form(form.cc_apellidos.value,true,"CC - APELLIDOS TITULAR"))
			  {
			    form.cc_apellidos.focus();
			    return (false);  	
			  }    
			
			  if (! validar_datos_form(form.cc_direccion.value,true,"CC - DIRECCION TITULAR"))
			  {
			    form.cc_direccion.focus();
			    return (false);  	
			  }    
			  
			  if (! validar_datos_form(form.cc_poblacion.value,true,"CC - POBLACION TITULAR"))
			  {
			    form.cc_poblacion.focus();
			    return (false);  	
			  }   
			
			  if (! validar_datos_form(form.cc_provincia.value,true,"CC - PROVINCIA TITULAR"))
			  {
			    form.cc_provincia.focus();
			    return (false);  	
			  }  
			
			  //Codigo postal CC
			  var reg = /^[0-9]{5}$/;
			  if (form.cc_codigo_postal.value.search(reg)) {
			    alert("Por favor, introduzca un número correcto de 5 dígitos en el campo CC - CODIGO POSTAL TITULAR.");
			    form.cc_codigo_postal.focus();
			    return (false);
			  }   
	  	
	  	
	  	
	  	
	  	
	  }
  	
	  if (form.aviso_legal.checked == false)
	  {
	  	alert('Para cumplimentar el alta, debe leer y aceptar el aviso legal.');
	  	form.aviso_legal.focus();
	  	return (false);
	  }
  }//END if (form.modificacion.value == "false")
  //-----------------------------------------
  //-----------------------------------------
   
  

  if (form.como_conociste_mp) 
  {
  		if (form.como_conociste_mp.value == 0)
  		{
  			alert("Por favor, indícanos como conociste a madridpatina. Tu información nos será muy útil. Gracias.")
  			form.como_conociste_mp.focus();
  			return(false);
  		}
  }    

    
  
  
  document.form_socio.sexo.value = sexo;

  document.form_socio.submit();

}

//Funcion que activiva o desactiva los campos del titular de la cuenta bancaria
function activarAltaCC()
{
	form = document.form_socio;
	
	if (form.titular_cuenta.checked)
	{
		//Se pulsa la casilla de "titular de la cuenta diferente al del alta
		//Se activan los campos del titular de la cuenta para su modificacion
		form.cc_nombre.disabled = form.cc_apellidos.disabled = form.cc_direccion.disabled = 
			form.cc_poblacion.disabled = form.cc_provincia.disabled = form.cc_codigo_postal.disabled = false;		
		
	}
	else
	{
		form.cc_nombre.disabled = form.cc_apellidos.disabled = form.cc_direccion.disabled = 
			form.cc_poblacion.disabled = form.cc_provincia.disabled = form.cc_codigo_postal.disabled = true;		
		
		
	}
}





//VALIDACION DE LOS DATOS BANCARIOS EN MISDATOS: 
function validar_form_datosbancarios()
{
  form = document.form_datos_bancarios;

  //------------------------------------ CUENTA BANCARIA

  //Si no tiene configurada una cuenta bancaria (de bbdd), se comprueban los campos.
  //si la tiene congigurada, no se mirarn.
  //alert(form.tiene_configurada_cc.value);
  if ((form.tiene_configurada_cc.value == 'false') || 
      ((form.tiene_configurada_cc.value == 'true') &&
	  	((form.cc_entidad.value != '') || 
	  	 (form.cc_oficina.value != '') || 
	  	 (form.cc_dc.value != '') || 
	  	 (form.cc_numcuenta.value != ''))))
  {  
	  //CC - ENTIDAD
	  var reg = /^[0-9]{4}$/;
	  if (form.cc_entidad.value.search(reg)) {
	    alert("Por favor, introduzca un número correcto de 4 dígitos en el campo CC-ENTIDAD.");
	    form.cc_entidad.focus();
	    return (false);
	  }  
	  
	  //CC - OFICINA
	  var reg = /^[0-9]{4}$/;
	  if (form.cc_oficina.value.search(reg)) {
	    alert("Por favor, introduzca un número correcto de 4 dígitos en el campo CC-OFICINA.");
	    form.cc_oficina.focus();
	    return (false);
	  }  
	
	  //CC - DIGITO DE CONTROL
	  var reg = /^[0-9]{2}$/;
	  if (form.cc_dc.value.search(reg)) {
	    alert("Por favor, introduzca un número correcto de 2 dígitos en el campo CC-DIGITO DE CONTROL.");
	    form.cc_dc.focus();
	    return (false);
	  }  
	
	  //CC - ENTIDAD
	  var reg = /^[0-9]{10}$/;
	  if (form.cc_numcuenta.value.search(reg)) {
	    alert("Por favor, introduzca un número correcto de 10 dígitos en el campo CC-NUMERO DE CUENTA.");
	    form.cc_numcuenta.focus();
	    return (false);
	  }  
	  
	  //Comprobacion del codigo de cuenta bancaria a traves de los digitos de control
	  if (!(obtenerDigitoControl("00" + form.cc_entidad.value + form.cc_oficina.value) == parseInt(form.cc_dc.value.charAt(0))) || 
	      !(obtenerDigitoControl(form.cc_numcuenta.value) == parseInt(form.cc_dc.value.charAt(1))))
	  {
	    alert("Por favor, introduzca un CODIGO DE CUENTA BANCARIA correcta. Los digitos de control no se corresponden a los demas numeros de cuenta. Sí hay algun error, pongase en contacto con web@madridpatina.com.");
	    form.cc_numcuenta.focus();
	    return (false);
	  }  	  
	  
	  //Comprobacion del caso particular erroneo de nº cuenta: 0000-0000-00-0000000000
	  if ((form.cc_entidad.value == '0000') && 
	  	 (form.cc_oficina.value == '0000') && 
	  	 (form.cc_dc.value == '00') && 
	  	 (form.cc_numcuenta.value == '0000000000'))
	  {
	    alert("Por favor, introduzca un CODIGO DE CUENTA BANCARIA correcta.");
	    form.cc_numcuenta.focus();
	    return (false);
	  }  	  
	  	  	 
	  	

  }
  //--------------------------------------------------------------------------------------------
  
  if (! validar_datos_form(form.cc_nombre.value,true,"CC - NOMBRE TITULAR"))
  {
    form.cc_nombre.focus();
    return (false);  	
  }

  if (! validar_datos_form(form.cc_apellidos.value,true,"CC - APELLIDOS TITULAR"))
  {
    form.cc_apellidos.focus();
    return (false);  	
  }    

  if (! validar_datos_form(form.cc_direccion.value,true,"CC - DIRECCION TITULAR"))
  {
    form.cc_direccion.focus();
    return (false);  	
  }    
  
  if (! validar_datos_form(form.cc_poblacion.value,true,"CC - POBLACION TITULAR"))
  {
    form.cc_poblacion.focus();
    return (false);  	
  }   

  if (! validar_datos_form(form.cc_provincia.value,true,"CC - PROVINCIA TITULAR"))
  {
    form.cc_provincia.focus();
    return (false);  	
  }  

  //Codigo postal CC
  var reg = /^[0-9]{5}$/;
  if (form.cc_codigo_postal.value.search(reg)) {
    alert("Por favor, introduzca un número correcto de 5 dígitos en el campo CC - CODIGO POSTAL TITULAR.");
    form.cc_codigo_postal.focus();
    return (false);
  }   
  
  
  // Identficacion CC
  form.num_identificacion.value = form.num_identificacion.value.toUpperCase();
  switch(form.id_tipo_identificacion.value)
  {
  	 case "1": //dni, nif
  	 	texto_error_identificacion = "Por favor, introduzcua un DNI-NIF correcto: P.ej: 12345678X";
  	 			
  	 	break;

  	 case "2": //cif
  	 	texto_error_identificacion = "Por favor, introduzcua un CIF correcto: P.ej: A1234567X";  	 			
  	 	break;  	 	

  	 case "3": // nie
  	 	texto_error_identificacion = "Por favor, introduzcua un NIE correcto: P.ej: X12345678B";  	 			
  	 	break;  	 	
  }
  if (!comprobarIdentificacionFiscal(form.id_tipo_identificacion.value,form.num_identificacion.value))  
  {
    alert(texto_error_identificacion);
    form.num_identificacion.focus();
    return (false);  	
  }
  
  
  
  
  
  form.submit();
	
}


function validar_form_foro(formulario) {

  if ( eval ('document.' + formulario + '.asunto.value == ""' ) ) {
    alert("Por favor, introduzca algún texto en el asunto del mensaje");
    eval ( 'document.' + formulario + '.asunto.focus()');
    return (false);
  }

   if ( eval ('document.' + formulario + '.texto.value == ""') || eval ('document.' + formulario + '.texto.value == "Escribe aquí tu opinión..."') ) {
    alert("Por favor, introduzca el texto del mensaje");
    eval ('document.' + formulario + '.texto.focus()');
    return (false);
  }

  eval ('document.' + formulario + '.submit()');
}


function validar_form_encuesta() {

  document.form_encuesta.submit();
}

function validar_form_descargas() {

  if (document.form_descargas.campo.value == "") {
    alert("Debes seleccionar un campo de búsqueda...");
    document.form_descargas.campo.focus();
    return (false);
  }
  
  if (document.form_descargas.palabra.value == "") {
    alert("Debes escribir algún texto para buscar...");
    document.form_descargas.palabra.focus();
    return (false);
  }

  document.form_descargas.submit();
}


function validar_form_comentario(formulario) {

   if ( eval ('document.' + formulario + '.comentario.value == ""') || eval ('document.' + formulario + '.comentario.value == "descripción_"') ) {
    alert("El texto del comentario no puede estar vacío");
    eval ('document.' + formulario + '.comentario.focus()');
    return (false);
  }

  eval ('document.' + formulario + '.submit()');
}


function validar_form_comentario_donde(formulario) {

   if ( eval ('document.' + formulario + '.texto.value == ""') || eval ('document.' + formulario + '.texto.value == "Escribe aquí tu opinión..."') ) {
    alert("El comentario no puede estar vacío");
    eval ('document.' + formulario + '.texto.focus()');
    return (false);
  }

  eval ('document.' + formulario + '.submit()');
}

function validar_form_link(formulario) {

   if ( eval ('document.' + formulario + '.link.value == ""') || eval ('document.' + formulario + '.link.value == "Envía tu enlace..."') ) {
    alert("Escribe algún enlace antes de enviarlo");
    eval ('document.' + formulario + '.link.focus()');
    return (false);
  }

  eval ('document.' + formulario + '.submit()');
}






//////////////////////////////////////////
/////// VALIDAR FORMULARIO CONTACTAR /////
//////////////////////////////////////////
function validar_form_contactar() {
	
  formulario = document.form_contactar;	
  
  form = document.form_contactar;
  
  if (! validar_datos_form(form.nombre.value,true,"nombre"))
  {
    form.nombre.focus();
    return (false);  	
  }  
  

  if (document.form_contactar.email.value == "") {
    alert("Por favor, introduzca su correo electrónico");
    document.form_contactar.email.focus();
    return (false);
  }

  if (!esMail(document.form_contactar.email.value)) {
    alert("Por favor, introduzca un correo electrónico válido");
    document.form_contactar.email.focus();
    return (false);
  }

if (formulario.seccion.options[formulario.seccion.selectedIndex].value == "0") {
    alert("Por favor, elija el departamento al que quiere dirigir su consulta.");
    document.form_contactar.seccion.focus();
    return (false);
  }

  if (! validar_datos_form(form.asunto.value,true,"asunto"))
  {
    form.asunto.focus();
    return (false);  	
  }   
  
  
   if (document.form_contactar.texto.value == "" || document.form_contactar.texto.value == "Escribe aquí tus comentarios...") {
    alert("Por favor, introduzca el texto del mensaje");
    document.form_contactar.texto.focus();
    return (false);
  }


  document.form_contactar.submit();
}


/////////////////////////////////////////////////////
/////// VALIDAR FORMULARIO DE PETICION DE CLASE /////
/////////////////////////////////////////////////////
function validar_form_clase() {
	 
  	

  if (document.form_clase.nombre.value == "") {
    alert("Por favor, introduzca su nombre");
    document.form_clase.nombre.focus();
    return (false);
  }

  if (document.form_clase.alumnos.value == "") {
    alert("Por favor, introduzca el número de alumnos");
    document.form_clase.alumnos.focus();
    return (false);
  }

  if (document.form_clase.email.value == "") {
    alert("Por favor, introduzca su correo electrónico");
    document.form_clase.email.focus();
    return (false);
  }

  if (!esMail(document.form_clase.email.value)) {
    alert("Por favor, introduzca un correo electrónico válido");
    document.form_clase.email.focus();
    return (false);
  }

  if (document.form_clase.nivel.value == "") {
    alert("Por favor, introduzca el nivel de los alumnos");
    document.form_clase.nivel.focus();
    return (false);
  } 

  if (document.form_clase.edad.value == "") {
    alert("Por favor, introduzca la edad de los alumnos");
    document.form_clase.edad.focus();
    return (false);
  }
  
  if (document.form_clase.zona.value == "") {
    alert("Por favor, introduzca la zona por la que le gustaría patinar");
    document.form_clase.zona.focus();
    return (false);
  }  
  
  if (document.form_clase.dias.value == "") {
    alert("Por favor, introduzca la preferencia de los días de la semana");
    document.form_clase.dias.focus();
    return (false);
  }

  if (document.form_clase.horarios.value == "") {
    alert("Por favor, introduzca la preferencia de los horarios");
    document.form_clase.horarios.focus();
    return (false);
  }
  
   if (document.form_clase.texto.value == "" || document.form_clase.texto.value == "Escribe aquí tu opinión...") {
    alert("Por favor, introduzca los comentarios");
    document.form_clase.texto.focus();
    return (false);
  }
  
  if ( (document.form_clase.tipo[0].checked == false) && (document.form_clase.tipo[1].checked == false) && (document.form_clase.tipo[2].checked == false) && (document.form_clase.tipo[3].checked == false)) {
    alert("Debe seleccionar el tipo de patín con el que desea dar la clase");
    document.form_clase.tipo[0].focus();
    return (false);
  }  

  // Pasamos a mayusculas
  document.form_clase.nombre.value = convertirMayuscula(document.form_clase.nombre.value);
  document.form_clase.email.value = convertirMayuscula(document.form_clase.email.value);
  document.form_clase.edad.value = convertirMayuscula(document.form_clase.edad.value);
  document.form_clase.dias.value = convertirMayuscula(document.form_clase.dias.value);
  document.form_clase.alumnos.value = convertirMayuscula(document.form_clase.alumnos.value);
  document.form_clase.nivel.value = convertirMayuscula(document.form_clase.nivel.value);
  document.form_clase.zona.value = convertirMayuscula(document.form_clase.zona.value);
  document.form_clase.horarios.value = convertirMayuscula(document.form_clase.horarios.value);
  document.form_clase.texto.value = convertirMayuscula(document.form_clase.texto.value);  
  document.form_clase.submit();
}

function validar_form_clase_particular() {
	
  campo = document.form_clase_particular;

  //Nombre
  if ((campo.nombre1.value == "") || (campo.nombre1.value == "Contacto...")){
    alert("Por favor, introduzca el nombre de contacto.");
    campo.nombre1.focus();
    return (false);
  }
  
  //Nº de socio
  if (campo.socio1.value == ""){
    alert("Por favor, introduzca el nº. de socio de la persona de contacto.");
    campo.socio1.focus();
    return (false);
  } 
  
	if (! esNumero(campo.socio1.value)) 
	{
		alert("El nº. de socio de la persona de contacto debe ser un dato numérico.");
		campo.socio1.focus();
		return (false);								
	}  
  
  //Comprobacion del resto de nombres y nºs de socio
  for(i=2;i<5;i++)
  {
		
		comp_campo_nom = eval('document.form_clase_particular.nombre' + i + '.value');
		comp_campo_soc = eval('document.form_clase_particular.socio' + i + '.value');
		
		
		if (comp_campo_nom != '')
		{
			error = false;			
			if (comp_campo_soc == '')
			{
				msj_error = "Por favor, introduzca el nº. de socio del alumno " + i + ".";
				error = true;
			}
			else
			{
				if (! esNumero(comp_campo_soc)) 
				{
					msj_error = "El nº. de socio del alumno " + i + " debe ser un dato numérico.";
					error = true;					
				}
			}
			
			if (error)
			{
				alert(msj_error);
				eval('document.form_clase_particular.socio' + i + '.focus()');
				return (false);							
			}
		}
		
		if (comp_campo_soc != '')
		{
			if (comp_campo_nom == '')
			{
				alert("Por favor, introduzca el nombre del alumno " + i + ".");
				eval('document.form_clase_particular.nombre' + i + '.focus()');
				return (false);							
			}
		}		
		
  }
  
  //Email
  if (!esMail(campo.email.value)) {
    alert("Por favor, introduzca un correo electrónico de contacto válido.");
    campo.email.focus();
    return (false);
  }  
  
  //Telefono
  if ( !esNumero(campo.telefono.value) || (campo.telefono.value == "")) {
    alert("Por favor, introduzca un teléfono de contacto válido.");
    campo.telefono.focus();
    return (false);
  } 
  
  //Dias
  if (campo.dias.value == "") {
    alert("Por favor, introduzca la preferencia de los días de la semana.");
    campo.dias.focus();
    return (false);
  }

  //Horarios
  if (campo.horarios.value == "") {
    alert("Por favor, introduzca la preferencia de horarios.");
    campo.horarios.focus();
    return (false);
  } 

  //Edades
  if (campo.edades.value == "") {
    alert("Por favor, introduzca el rango de edades de los alumnos.");
    campo.edades.focus();
    return (false);
  }
  
  campo.zona.disabled = false;
  campo.submit();
}





 








function validar_clave_socio() {
	
	if ( (document.form_clave.clave_nueva1.value == "") || (document.form_clave.clave_nueva2.value == "") ) {
	  alert ("Las claves no pueden estar vacías");
	  return 0;
  }
	else
		if ( (document.form_clave.clave_nueva1.value == "clave nueva...") || (document.form_clave.clave_nueva2.value == "confirmar clave...") ) {
	    alert ("Debes cambiar las claves.");
	    return 0;
	  }
	  else
		  if (document.form_clave.clave_nueva1.value != document.form_clave.clave_nueva2.value) {
	      alert ("Las caves deben ser iguales");
	      return 0;
	    }	
  document.form_clave.submit();
}


function borrar_inscripcion_escuela(id_relacion,id_socio,datos_escuela)
{
	campo = document.form_listado_escuela;
	comentarios = campo.comentarios.value;
	if ((comentarios == 'Si te das de baja en alguna escuela, explica aquí tus motivos...') || (comentarios == ''))
	{	
		alert('Por favor, introduce el motivo por el que quieres darte de baja de este grupo escuela.')
		return false;
	}
	else
	{
		if (confirm("¿Estas seguro que deseas DAR DE BAJA tu inscripción a ésta escuela?\n\n"+datos_escuela))
		{
			//Le mandamos a la pagina de borrado
			campo.relacion_escuela.value = id_relacion;
			campo.id_socio.value = id_socio;
			campo.datos_escuela.value = datos_escuela;	
			
			campo.submit();
			
		}
		else
		{
			
			return false;
		}		
	}
	
}



//funcion, que comprueba la clase del boton de sexo pulsado, para cambiarlo al estado ON
function cambiarCeldaSexo(botonpulsado)
{
    switch(botonpulsado)
    {
       case 'hombre':
            clasehombre = "socioSexoHombreOn";
            clasemujer = "socioSexoMujerOff";
            break;
       case 'mujer':
            clasehombre = "socioSexoHombreOff";
            clasemujer = "socioSexoMujerOn";

            break;
    }

    document.getElementById('celda_sexo_mujer').className = clasemujer;
    document.getElementById('celda_sexo_hombre').className = clasehombre;
}

//funcion, que comprueba la clase del boton emailvisible pulsado, para cambiarlo al estado ON
function cambiarCeldaEmailVisible(botonpulsado)
{
    switch(botonpulsado)
    {
       case 'si':
            clasesi = "radioEmailOn";
            claseno = "radioEmailOff";
            break;
       case 'no':
            clasesi = "radioEmailOff";
            claseno = "radioEmailOn";

            break;
    }

    document.getElementById('celda_email_si').className = clasesi;
    document.getElementById('celda_email_no').className = claseno;
}

function validar_datos_foro_socio()
{
  if (document.getElementById('celda_email_si').className == 'radioEmailOn')
  {
     var visible = 1;
  }
  else
  {
     var visible = 0;
  }

  form = document.form_datos_foro;
  
  if (! validar_datos_form(form.smsforo.value,false,"smsforo"))
  {
    form.smsforo.focus();
    return (false);  	
  }   
  
  if (! validar_datos_form(form.intereses.value,false,"intereses"))
  {
    form.intereses.focus();
    return (false);  	
  }  
  
  if (! validar_datos_form(form.ocupacion.value,false,"ocupacion"))
  {
    form.ocupacion.focus();
    return (false);  	
  }   
   
    
  
  form.emailvisible.value = visible;

  form.submit();
}

function precargarImagenesWop()
{
	var dir='images/foros/';
	var fotos = new Array('wop_esquina_i_d.gif','wop_esquina_i_i.gif','wop_esquina_s_d.gif','wop_esquina_s_i.gif','wop_linea_v_d.gif','wop_linea_v_i.gif','wop_pico1.gif');
	for (var i=0;i<fotos.length;i++)
	{
		MM_preloadImages(dir+fotos[i]);
	}
}

function comprobarSeleccionSlalom()
{
	form = document.form_clase_particular;
	nivel = form.nivel.value;
	
	if (nivel == "FreeStyle Slalom")
	{
		form.zona.selectedIndex = 1;
		form.zona.disabled = "disabled";
		form.otrazona.value = "";
		form.otrazona.disabled = true;
	}
	else
	{
		form.zona.disabled = false;
		form.otrazona.disabled = false;
	}
	
}


function imprimirCarnet()
{
	window.open("datos_socio_carnet.php","carnet","scrollbars=no,width=600,height=600");
}

function comprobarBoletin(acceso)
{
	//form = document.form_boletin;
	eval ('var form = document.form_boletin_' + acceso);
	eval ('var email = form.email_' + acceso + '.value');
	if (! esMail (email))
	{
		alert("ERROR: Introduzca un dirección de correo electrónica correcta para completar el proceso de '"+ acceso +"'.");
	    eval ('form.email_' + acceso + '.focus()');
	    return (false); 		
		
	}
	form.acceso.value = acceso;
	form.submit();
}