var edades = new Array (0,18,18,18,18,18,18,18,18,18,0,18,21,0,18,18,18,18,18,18,18,18,18,18,0,18,18,18,18,18,19,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,0,18,18,18,18,0,18,18,0,18,18,18,18,18,18,18,18,18,18,18,18,21,18,18,0,25,21,0,0,18,18,18,18,20,0,0,18,18,0,0,18,18,18,18,18,0,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,0,18,18,18,18,18,18,0,21,0,21,18,18,20,18,18,18,18,18,18,18,18,18,18,18,21,18,18,0,18,18,18,18,18,18,18,21,18,18,19,18,18,0,18,18,0,18,0,18,18,0,18,18,18,18,18,18,0,18,18,18,21,18,21,18,0,18,18,18,0,18,18);

//Comprueba que solamente se a�aden n�meros en cada pulsaci�n de tecla en el evento onKeyPress
function validarNumeros(evt){

	evt = (evt) ? evt : event

	var key = (evt.which) ? evt.which : evt.keyCode;
	if (key > 47 && key < 58 || key == 8 || key == 37 || key == 39 || key == 46 || key == 9) { 
		return true;
	}else{
		return false;
	}
}

function validarEdad(){
	
	if (validarFecha(new Number(document.getElementById('idia').value),new Number(document.getElementById('imes').value),new Number(document.getElementById('ianio').value))){
	
		edad = calcular_edad (new Number(document.getElementById('idia').value),new Number(document.getElementById('imes').value),new Number(document.getElementById('ianio').value));
			
		var pais = document.getElementById('spais').selectedIndex;	
	
		if (edad>=edades[pais] && edades[pais]){
			if (document.getElementById('ccoockie').checked)
				setcookie('tanqueray', edad+'_'+pais, exp);
			window.location.href='tanqueray.html';
		}else		
			alert ('Lo sentimos pero conforme a la legislación vigente en tu país de origen, no está permitido el acceso a este sitio web');
	}else{
		alert ('La fecha introducida no es válida');
	}
}


function validarFecha (dia, mes, anio){
	var bOk = true; 
			
	bOk = bOk && (valAno(anio)); 
	bOk = bOk && (valMes(mes)); 
	bOk = bOk && (valDia(dia, mes, anio)); 	
	
	if (bOk){
		return true;
	}else{		
		return false;
	}	
}


function valDia(dia, mes, anio){ 
    var bOk = false; 
    var nDia = parseInt(dia, 10); 
    bOk = bOk || ((nDia >= 1) && (nDia <= finMes(nDia, mes, anio))); 
    return bOk; 
} 

function valMes(mes){ 
    var bOk = false; 
    var nMes = parseInt(mes, 10); 
    bOk = bOk || ((nMes >= 1) && (nMes <= 12)); 
    return bOk; 
} 

function valAno(anio){ 
    var bOk = true; 
    var nAno = parseInt(anio, 10); 
    //bOk = bOk && ((nAno.length == 2) || (nAno.length == 4)); 
    if (bOk){ 
     for (var i = 0; i < nAno.length; i++){ 
      bOk = bOk && esDigito(nAno.charAt(i)); 
     } 
    } 
    return bOk; 
} 


function finMes(dia, mes, anio){ 
    var nMes = parseInt(mes, 10); 
    var nAno = parseInt(anio, 10); 
    var nRes = 0; 
    switch (nMes){ 
     case 1: nRes = 31; break; 
     case 2: nRes = 28; break; 
     case 3: nRes = 31; break; 
     case 4: nRes = 30; break; 
     case 5: nRes = 31; break; 
     case 6: nRes = 30; break; 
     case 7: nRes = 31; break; 
     case 8: nRes = 31; break; 
     case 9: nRes = 30; break; 
     case 10: nRes = 31; break; 
     case 11: nRes = 30; break; 
     case 12: nRes = 31; break; 
	} 
   return nRes + (((nMes == 2) && (nAno % 4) == 0)? 1: 0); 
}


function calcular_edad(dia, mes, ano){

    //calculo la fecha de hoy
    hoy=new Date();
    //alert(hoy)    

    //compruebo que los ano, mes, dia son correctos    
    if (isNaN(ano))
       return false
           
    if (isNaN(mes))
       return false
    
    if (isNaN(dia))
       return false
	


    //si el a�o de la fecha que recibo solo tiene 2 cifras hay que cambiarlo a 4
    if (ano>=20)
       ano += 1900;
    else ano += 2000;

    //resto los a�os de las dos fechas
    edad=hoy.getFullYear() - ano - 1; //-1 porque no se si ha cumplido a�os ya este a�o

    //si resto los meses y me da menor que 0 entonces no ha cumplido a�os. Si da mayor si ha cumplido
    if (hoy.getMonth() + 1 - mes < 0) //+ 1 porque los meses empiezan en 0
       return edad
    if (hoy.getMonth() + 1 - mes > 0)
       return edad+1

    //entonces es que eran iguales. miro los dias
    //si resto los dias y me da menor que 0 entonces no ha cumplido a�os. Si da mayor o igual si ha cumplido
    if (hoy.getUTCDate() - dia >= 0)
       return edad + 1
	

    return edad
} 


/* COOCKIES */

var expdays = 30;
var exp = new Date(); 
exp.setTime(exp.getTime() + (expdays*24*60*60*1000));

function getcookieval (offset) { 
	var endstr = document.cookie.indexOf (";", offset); 
	if (endstr == -1) 
	endstr = document.cookie.length; 
	return unescape(document.cookie.substring(offset, endstr));
}

function getcookie (name) { 
	var arg = name + "="; 
	var alen = arg.length; 
	var clen = document.cookie.length; 
	var i = 0; 
	
	while (i < clen) { 
		var j = i + alen; 
		if (document.cookie.substring(i, j) == arg) 
		return getcookieval (j); 
		i = document.cookie.indexOf(" ", i) + 1; 
		if (i == 0) break; 
	} 
	return null;
}

function setcookie (name, value) { 
	var argv = setcookie.arguments; 
	var argc = setcookie.arguments.length; 
	var expires = (argc > 2) ? argv[2] : null; 
	var path = (argc > 3) ? argv[3] : null; 
	var domain = (argc > 4) ? argv[4] : null; 
	var secure = (argc > 5) ? argv[5] : false; 

	document.cookie = name + "=" + escape (value) + 
	((expires == null) ? "" : ("; expires=" + expires.toGMTString())) + 
	((path == null) ? "" : ("; path=" + path)) + 
	((domain == null) ? "" : ("; domain=" + domain)) + 
	((secure == true) ? "; secure" : "");
}

function deletecookie (name) { 
	var exp = new date(); 
	exp.settime (exp.gettime() - 1); 
	var cval = getcookie (name); 
	document.cookie = name + "=" + cval + "; expires=" + exp.toGMTString();
}


/* RECOJO LA COOCKIE */
var coockie = getcookie('tanqueray');

if (coockie != null) {
	
	edad = coockie.split("_");
	
	if (edad[0]>=edades[edad[1]] && edades[edad[1]])	
		window.location.href='tanqueray.html';
	
	
}