// JavaScript Document
//C-MIK CODE
//Formularios
function esVacio(cadena){
	cadena = cadena.replace(/\s/,"");
	cadena = (cadena =="")? true:false;
	return cadena;
}
function esEmail(cadena){
	if(esVacio(cadena))return false;
	var cadenas = cadena.split("@");
	if(cadenas.length!=2)return false;
	if(esVacio(cadenas[0]) || esVacio(cadenas[1]))return false;
	var cadenas1 = cadenas[1].split(".")
	if(cadenas1.length<2)return false;
	for(c=0;c<cadenas1.length;c++)
		if(esVacio(cadenas1[c]))return false;
	if(cadenas1[cadenas1.length-1].length>3 ||cadenas1[cadenas1.length-1].length<2)return false;
	return true;
}
function esNaN(campo){
	var s =campo.value;
	var filter=/[^0-9]/;
	return filter.test(s);
}
function esFechaValida(campo){
	var s =campo.value;
	var p = s.split("/");
	var filter=/[0-9]{2}\/[0-9]{2}\/[0-9]{4}/;
	if(filter.test(s)){
		var meses = new Array(31,28,31,30,31,30,31,31,30,31,30,31);
		d = p[0];
		m = p[1];
		a = parseInt(p[2],10);
		var dat = new Date();
		var daty = parseInt(dat.getFullYear(),10);
		if(a<(daty-100) || a>(daty-15))return false;
		ab = a%4;
		if(m>0 && m<13){
			if(ab==0)meses[1]=29;
			if(d>0 && d<=meses[m-1]) return true;
		}				
	}
	return false;
}

// esEntero devuelve true si la cadena es un número entero y no vacía
function esEntero (s) {
	var i;
	if (esVacio(s)) return false;
	else {
		for(i=0;i<s.length; i++) {
			var c=s.charAt(i);
			if ((c>='0') && (c<='9'))
				continue;
			else return false;
		}
		return true;
		}
}
function valida(qq){
	var formu = document.forms[1];
	var c = formu.email;
	if(!esEmail(c.value)){
		alert("Hay que introducir una dirección mail correcta");
		c.focus();
		return false;
	}
	if(qq=='s'){
		c=formu.movil;
		if(esVacio(c.value) || esNaN(c) || c.value.length!=9){
			alert("Hay que introducir un número de teléfono correcto,\r sin letras ni puntos");
			c.focus();
			return false;
		}else{
			x = c.value.substring(0,1);
			if(x!=6 && x!=9){
			alert("Hay que introducir un número de teléfono fijo o movil correcto");
			c.focus();
			return false;
			}
		}
		c=formu.cp;
		if(esVacio(c.value) || esNaN(c) || c.value.length!=5){
			alert("El código postal es obligatorio y numérico");
			c.focus();
			return false;
		}
		c=formu.caja;
		if (c.selectedIndex==0){
		alert("Debe escoger una Caja");
		c.focus();
		return false;
		}
		c = formu.fechanac;
		if(esVacio(c.value)||!esFechaValida(c)){
		alert("La fecha de nacimiento no es válida");
		c.focus();
		return false;
		}
		c=formu.politica;
		if(formu.politica && !formu.politica.checked){
			alert("Debe aceptar los términos");
			c.focus();
			return false;
		}
	}else if(qq=='c'){
		c=formu.consulta;
		if(esVacio(c.value)){
			alert("No ha efectuado ninguna consulta");
			c.focus();
			return false;
		}
	}
	return true;
}
function enviar(qq){
	if(valida(qq)){
		document.forms[1].submit();
	}else return;
}
