function IsEmail(sMail)
{
    var iLastPos = sMail.length - 1;
    for (var iPos = 0; iPos <= iLastPos; iPos++)
      if (sMail.charAt(iPos) < "!" || sMail.charAt(iPos) > "~")
        return false;
      iPos = sMail.indexOf("@");
      if (iPos < 1 || iLastPos == iPos || sMail.charAt(iLastPos) == "." || sMail.indexOf("@", iPos + 1) >= 0 || sMail.indexOf(".", iPos + 1) < iPos + 2)
         return false;
      return true;
}

function verificaDia ( dia, mes, ano )
{
	var vectorBisiesto   = new Array(31,29,31,30,31,30,31,31,30,31,30,31);
	var vectorNoBisiesto = new Array(31,28,31,30,31,30,31,31,30,31,30,31);
	if ( (ano % 4 ) == 0 )
	{
		if ( dia > vectorBisiesto[mes-1] ) 
		{					
			return true;
		}		
	}
	else
	{	
		if ( dia > vectorNoBisiesto[mes-1] )
		{					
			return true;
		}				
	}
	return false;
}


//calcular la edad de una persona
//recibe la fecha como un string en formato espaņol
//devuelve un entero con la edad. Devuelve false en caso de que la fecha sea incorrecta o mayor que el dia actual
function calcular_edad(fecha){

    //calculo la fecha de hoy
    hoy=new Date()
    //alert(hoy)

    //calculo la fecha que recibo
    //La descompongo en un array
    var array_fecha = fecha.split("/")
    //si el array no tiene tres partes, la fecha es incorrecta
    if (array_fecha.length!=3)
       return false

    //compruebo que los ano, mes, dia son correctos
    var ano
    ano = parseInt(array_fecha[2]);
    if (isNaN(ano))
       return false

    var mes
    mes = parseInt(array_fecha[1]);
    if (isNaN(mes))
       return false

    var dia
    dia = parseInt(array_fecha[0]);
    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<=99)
       ano +=1900

    //resto los aņos de las dos fechas
    edad=hoy.getYear()- 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
} 


var nav4 = window.Event ? true : false;
function acceptNum(evt)
{
	var key = nav4 ? evt.which : evt.keyCode;
	return (key == 13 || (key >= 48 && key <= 57) );
}