
/**
*  Válida la sintaxis del email
*
*  Comprobaciones :
*    - Mínimo de 5 caracteres
*    - Caracteres no permitidos : "+*|,\":<>[]{}`';()&$#% "
*    - Que la @ tenga algún caracter delante y alguno detrás
*    - Que exista '.' a partir del cuarto carácter (x@x.x)
*    - Que no acabe en '.'
*    - Que el punto esté detrás de la @
*/
function validamail(email){

	// Mínimo de 5 caracteres
	if (email.length < 5)
		return false
		
	// Cadena de caracteres no permitidos
	var iChars = "+*|,\":<>[]{}`';()&$#% ";	
	
	// Primero comprobamos que en el email no haya algún 
	// caracter no permitido
	var eLength = email.length;	
	for (var i=0; i < eLength; i++)	{		
		if (iChars.indexOf(email.charAt(i)) != -1)
			return false
	}	
	
	// Comprobamos que la @ tenga algún caracter delante y alguno detrás
	var atIndex = email.lastIndexOf("@");	
	if(atIndex < 1 || (atIndex == eLength - 1))
		return false

	// Comprobamos que exista '.' a partir del cuarto carácter, pero
	// que no acabé en '.'
	var pIndex = email.lastIndexOf(".");	
	if(pIndex < 3 || (pIndex == eLength - 1))	
		return false;	

	// Por último, comprobamos que el punto esté detrás de la @
	if(atIndex > pIndex)	
		return false	

	return true
}

// Chequea si la fecha es válida segun el formato dd/mm/aaaa
function fechaCorrecta(indate) {
	
	if ( indate.length != 10 ) return false
	
    var sdate = indate.split("/")
  
    var chkDate = new Date(Math.abs(sdate[2]),(Math.abs(sdate[1])-1),Math.abs(sdate[0]))

    var cmpDate = (chkDate.getDate())+"/"+(chkDate.getMonth()+1)+"/"+(chkDate.getFullYear())
    var indate2 = (Math.abs(sdate[0]))+"/"+(Math.abs(sdate[1]))+"/"+(Math.abs(sdate[2]))
    
    if (indate2 != cmpDate || cmpDate == "NaN/NaN/NaN") return false
    else return true;
}
