var fecha = new Date(); 
  var anio_actual = fecha.getYear();

  var agt=navigator.userAgent.toLowerCase();

  var is_nav  = ((agt.indexOf('mozilla')!=-1) && (agt.indexOf('spoofer')==-1) && (agt.indexOf('compatible') == -1) && (agt.indexOf('opera')==-1) && (agt.indexOf('webtv')==-1) && (agt.indexOf('hotjava')==-1));
  if(agt.indexOf('opera') != -1) {
	  is_opera = true;
  } else {
  	  is_opera = false;
  }

  if(is_nav || is_opera) {
	  anio_actual = anio_actual + 1900;
  }
//****** FUNCIÓN QUE VALIDA SI UN CAMPO ESTA VACIO
  function validarNulo(campo,texto) {
	if(campo.value == "") {
	   	alert("ERROR: El campo " + texto + ",  no puede dejarse en blanco en este formulario");
	   	campo.focus();
	   	return false;
	}
   	return true;
  }

function validarCP(campo_cp,campo_prov) {
	if (window.document.alta.residencia[1].checked) {
		if(window.document.alta.pais.options[document.alta.pais.selectedIndex].value == "ESP") {
			alert('ERROR: Debe elegir un país extranjero o bien seleccionar una provincia');
			return false;
		}
		else
			return true;
	}
	
	/*var cod_cp = campo_cp.value.substring(0,2);
	cod_cp ++;
	cod_cp --;
	var provincia = new Array("","VI","AB","A","AL","AV","BA","IB","B","BU","CC","CA","CS","CR","CO","C","CU","GI","GR","GU","SS","H","HU","J","LE","L","LO","LU","M","MA","MU","NA","OU","O","P","GC","PO","SA","TF","S","SG","SE","SO","T","TE","TO","V","VA","BI","ZA","Z","CE","ML");
	if ( (campo_cp.value.length != 5) || provincia[cod_cp]!=campo_prov) {*/
	if ( (campo_cp.value.length != 5)) {
	 	alert("ERROR: El código postal es incorrecto."); 
	 	campo_cp.focus();
	 	return false;
	}
	return true;
  }

 function validarDia() {
   	if (document.alta.DiaNacimiento.options[document.alta.DiaNacimiento.selectedIndex].value.length == 0) {
      		alert("ERROR: Has olvidado rellenar el campo Día de Nacimiento, que no puede dejarse en blanco en este alta");
      		document.alta.DiaNacimiento.focus();
      		return false;
   	}
        if ( document.alta.DiaNacimiento.options[document.alta.DiaNacimiento.selectedIndex].value<=0 || document.alta.DiaNacimiento.options[document.alta.DiaNacimiento.selectedIndex].value>31 ) {
                alert("ERROR: El Día de Nacimiento no es correcto");
                document.alta.DiaNacimiento.focus();
                return false;
        }
        for (var i=0;i<document.alta.DiaNacimiento.options[document.alta.DiaNacimiento.selectedIndex].value.length;i++) {
                chr=document.alta.DiaNacimiento.options[document.alta.DiaNacimiento.selectedIndex].value.substring(i,i+1);
                if ( (chr!="0") && (chr!="1") && (chr!="2") && (chr!="3") && (chr!="4") && (chr!="5") && (chr!="6") && (chr!="7") && (chr!="8") && (chr!="9") ) {
                        alert("ERROR: El Día de Nacimiento no es correcto");
                        document.alta.DiaNacimiento.focus();
                        return false;
                }
        }
  	return true;
  }

  function validarMes() {
   	if (document.alta.MesNacimiento.options[document.alta.MesNacimiento.selectedIndex].value.length == 0) {
      		alert("ERROR: Has olvidado rellenar el campo Mes de Nacimiento, que no puede dejarse en blanco en este alta");
      		document.alta.MesNacimiento.focus();
      		return false;
   	}
        if ( document.alta.MesNacimiento.options[document.alta.MesNacimiento.selectedIndex].value<=0 || document.alta.MesNacimiento.options[document.alta.MesNacimiento.selectedIndex].value>12 ) {
                alert("ERROR: El Mes de Nacimiento no es correcto");
                document.alta.MesNacimiento.focus();
                return false;
        }
        for (var i=0;i<document.alta.MesNacimiento.options[document.alta.MesNacimiento.selectedIndex].value.length;i++) {
                chr=document.alta.MesNacimiento.options[document.alta.MesNacimiento.selectedIndex].value.substring(i,i+1);
                if ( (chr!="0") && (chr!="1") && (chr!="2") && (chr!="3") && (chr!="4") && (chr!="5") && (chr!="6") && (chr!="7") && (chr!="8") && (chr!="9") ) {
                        alert("ERROR: El Mes de Nacimiento no es correcto");
                        document.alta.MesNacimiento.focus();
                        return false;
                }
        }
  	return true;
  }

  function validarAnyo() {
   	if (document.alta.AnyoNacimiento.value.length==0) {
   	   	alert("ERROR: Has olvidado rellenar el campo Año de Nacimiento, que no puede dejarse en blanco en este alta");
   	   	document.alta.AnyoNacimiento.focus();
   	   	return false;
   	}
   	if (document.alta.AnyoNacimiento.value.length<4) {
   	   	alert("ERROR: Introduce el año de nacimiento con cuatro digitos.");
   	   	document.alta.AnyoNacimiento.focus();
   	   	return false;
   	}
   	if ((anio_actual < document.alta.AnyoNacimiento.value) || (document.alta.AnyoNacimiento.value < 1900)) {
      		alert("ERROR: El Año de Nacimiento no es correcto.");
      		document.alta.AnyoNacimiento.focus();
      		return false;
   	}
   	for (var i=0;i<document.alta.AnyoNacimiento.value.length;i++) {
                chr=document.alta.AnyoNacimiento.value.substring(i,i+1);
                if ( (chr!="0") && (chr!="1") && (chr!="2") && (chr!="3") && (chr!="4") && (chr!="5") && (chr!="6") && (chr!="7") && (chr!="8") && (chr!="9") ) {
                        alert("ERROR: El Año de Nacimiento no es correcto");
                        document.alta.AnyoNacimiento.focus();
                        return false;
                }
        }
	return true;
  }


function elegir_pais() {
	// Si es Español
	if(window.document.alta.residencia[0].checked) {
		window.document.alta.pais.selectedIndex = 64;
		window.document.alta.pais.disabled = 1;
		window.document.alta.provincia.disabled = 0;
	}
	//Si es Extranjero
	if(window.document.alta.residencia[1].checked) {
		window.document.alta.provincia.selectedIndex = 0;
		window.document.alta.provincia.disabled = 1;
		window.document.alta.pais.disabled = 0;
	}
  }
  
  //*** FUNCION QUE VALIDA EL usuario
  function valid(alta) {
	var field = window.document.alta.usuario;		// campo a testear
   	var str = window.document.alta.usuario.value;	// contenido del campo
   	var reg2 = /[^A-Z-a-z-0-9]/;			// Expresion Regular a buscar
   	if (reg2.test(str)) { 				// La sintaxis no es buena
     		alert("ERROR: Has escrito caracteres no válidos en el nombre de usuario. Debes escribirlo sin acentos, ni espacios  blancos.");
     		field.focus();
     		return false;
	}
	if (document.alta.usuario.value.length<4 || document.alta.usuario.value.length>49) {
                alert("ERROR: El Nombre de Usuario debe tener entre  4 y 49 caracteres.");
                field.focus();
                return false;
        }
   	return true;
  }

  //*** FUNCION QUE VALIDA EL PASSWORD
  function validarpassword() {
  	var chr;
        if (document.alta.pass.value.length<6|| document.alta.pass.value.length>10) {
                alert("ERROR: La contraseña que has elegido no es correcta. Debe tener entre 6 y 10 caracteres.");           
                document.alta.pass.focus();
                return false;
        }
        if (document.alta.pass.value!=document.alta.pass2.value) {
                alert("ERROR: El campo Contraseña y Confirmación de Contraseña deben ser iguales.");
                document.alta.pass.focus();
                return false;
        }
	return true;

  }



function nuevo(){
	
	 if (document.alta.acepto.checked){
	
		if (!valid(window.document.alta)) return false;
		if (!validarpassword()) return false;
		if (!validarDia()) return false;
		if (!validarMes()) return false;
		if (!validarAnyo()) return false;
		if (!validarCP(window.document.alta.cp,window.document.alta.provincia.options[document.alta.provincia.selectedIndex].value)) return false;
		if (!validarNulo(document.alta.mail,"mail")) return false;
		if ((document.alta.mail.value.indexOf("@") == -1) || (document.alta.mail.value.indexOf(".") == -1) || (document.alta.mail.value.indexOf("@.") != -1)) {
   			alert("El formato de tu E-mail no es correcto");
        	    	document.alta.mail.focus();
        	    	return false
		}
		if (!validarNulo(document.alta.usuario,"usuario")) return false;
		if (!validarNulo(document.alta.pass,"password")) return false;
		if (!validarNulo(document.alta.nombre,"nombre")) return false;
		if (!validarNulo(document.alta.apellido,"apellido")) return false;
		if (!validarNulo(document.alta.apellido2,"apellido2")) return false;
		if (!validarNulo(document.alta.ciudad,"ciudad")) return false;
		if (!validarNulo(document.alta.ciudad,"direccion")) return false;
		if (!validarNulo(document.alta.dni,"DNI")) return false;
		
		if (!(document.alta.pass.value==document.alta.pass2.value)){
			alert("No ha introducido la misma clave en el campo de confirmación");
			document.alta.pass2.select();
		}
		
		if(window.document.alta.pais.value=="ESP")
				window.document.alta.pais.disabled = 0;
		document.alta.action="registro.php";
		document.alta.submit();
	}else{                                                                                             
		alert("Debes aceptar la política de privacidad antes de darte de alta en el registro de usuarios");
	}  
}
function registrarse_registro(){
	document.formulario.action="/registro/registro.php";
	document.formulario.submit();
}


function registrarse2_registro(){
	document.formulario2.action="/registro/registro.php";
	document.formulario2.submit();
}

function validar2_registro(){
	document.formulario2.accion.value="comprobar";
	document.formulario2.action="/registro/registro.php";
	document.formulario2.submit();
}

function Abrir(url,titulo) {
  	window.open(url,titulo,'scrollbars=yes,height=480,width=468');
}

function validarFecha(fecha) {
	// Compruebo que la fecha es de la forma DD/MM/YYYY
	var error = 0;
	var partesFecha = fecha.split("/");
	if(partesFecha.length != 3) {
		return false;
	}
	for(i = 0; i < 3; i ++) {
		if(isNaN(parseInt(partesFecha[i]))) {
			error = 1;
		}
	}
	if(partesFecha[0].length != 2 || partesFecha[1].length != 2 || partesFecha[2].length != 4) {
		error = 1;
	}
	if(partesFecha[0] < 1 || partesFecha[0] > 31) {
		error = 1;
	}
	if(partesFecha[1] < 1 || partesFecha[1] > 12) {
		error = 1;
	}
	if(error == 1) {
		return false;
	} else {
		return true;
	}
}

function validarHora(hora) {
	// Compruebo que la hora es HH:MM
	var error = 0;
	var partesHora = hora.split(":");
	if(partesHora.length != 2) {
		return false;
	}
	for(i = 0; i < 2; i ++) {
		if(isNaN(parseInt(partesHora[i])) || partesHora[i].length != 2) {
			error = 1;
		}
	}
	if(error == 1) {
		return false;
	} else {
		return true;
	}
}

function validarEmail(email) {
	// Compruebo que el email es de la forma a@b.c
	var partesEmail = email.split("@");
	if(partesEmail.length != 2) {
		return false;
	}
	if(partesEmail[0].length < 1) {
		return false;
	}
	var partesDominio = partesEmail[1].split(".");
	if(partesDominio.length < 2) {
		return false;
	}
	return true;
}

function comparaFechas(fecha1, fecha2) {
	// Las fechas vienen en formato DD/MM/YYYY
	var partesFecha1 = fecha1.split("/");
	var fechaComp1 = partesFecha1[2] + partesFecha1[1] + partesFecha1[0];
	var partesFecha2 = fecha2.split("/");
	var fechaComp2 = partesFecha2[2] + partesFecha2[1] + partesFecha2[0];

	// Devuelvo 1 si fecha1 > fecha2, 2 si fecha1 < fecha2 y 0 si son iguales
	if(fecha1 == fecha2) {
		return 0;
	} else if(fecha1 > fecha2) {
		return 1;
	} else {
		return 2;
	}
}

function login(formulario) {
	formulario.accion.value = "comprobar";
	formulario.submit();
}