/* ******************************************************************************/
/* Validación form
/* ******************************************************************************/
/*
	Comprueba si el valor de el es un número de lon cifras
*/
function isANumber(el, lon)
{
var undefined;

	if((lon==undefined)&&(!isNaN(el.getValue())) ) return true;
	else if((el.getValue().length==lon)&&(!isNaN(el.getValue())) ) return true;
	else return false;
}

/*
	Comprueba si el valor de el es un mail válido
*/
function isAMail(el)
{
	var mail = el.getValue();
	
	if(mail.indexOf('@')<0) { return false; }
	if(mail.substring(mail.indexOf('@')+1,mail.length).indexOf('.')<0) { return false; }
	if(mail.charAt(mail.length-1)=='.') { return false; }
	return true;
}

/*
	Comprueba si w es un carácter entre A-Z o a-z
*/
function isAWord(w)
{
	if((65<=w)&&(w<=90)) return true;
	if((97<=w)&&(w<=122)) return true;
	return false;
}

/*
	Valida y envía datos
*/
function envia()
{
	var form = $('form');
	var inputs = form.getElements();
	
	var error = '';
	var error_obligatoris = false;
	inputs.each(function(el) {
		if(!el.disabled)
		{
			if(!el.hasClassName("required")&&(el.getValue()=='')) { el.removeClassName("error");  }
			else if(el.hasClassName("required")&&(el.getValue()=='')) { error_obligatoris = true; el.addClassName("error"); }
			else
			{
				if(el.name=='mail') {
					if(!isAMail(el)) {
						error += "<li><strong>Mail</strong> no es correcto</li>";
						el.addClassName("error");
					}
					else el.removeClassName("error"); 
				}
				else if(el.name=='telefono') {
					if(!isANumber(el, 9)) {
						error += "<li>El <strong>teléfono</strong> no tiene 9 dígitos</li>";
						el.addClassName("error");
					}
					else el.removeClassName("error"); 
				}
				
				else if(el.name=='motores') {
					if(!isANumber(el)) {
						error += "<li>Número de <strong>motores</strong> no válido</li>";
						el.addClassName("error");
					}
					else el.removeClassName("error"); 
				}
				else if(el.name=='potencia') {
					if(!isANumber(el)) {
						error += "<li>La <strong>potencia</strong> indicada no es válida</li>";
						el.addClassName("error");
					}
					else el.removeClassName("error"); 
				}
				else if(el.name=='eslora') {
					if(!isANumber(el)) {
						error += "<li>Cantidad de <strong>eslora</strong> no válida</li>";
						el.addClassName("error");
					}
					else el.removeClassName("error"); 
				}
				else if(el.name=='anyo') {
					if(!isANumber(el, 4)) {
						error += "<li><strong>Año</strong> no válido</li>";
						el.addClassName("error");
					}
					else el.removeClassName("error"); 
				}
				else if(el.name=='valor_embarcacion') {
					if(!isANumber(el)) {
						error += "<li>El <strong>valor de la embarcación</strong> no es válido</li>";
						el.addClassName("error");
					}
					else el.removeClassName("error"); 
				}
			}
		}
	});
	
	// si hay errores
	if((error!='')||(error_obligatoris))
	{
		new Effect.ScrollTo('botonEnviar', {offset: 20});
		error = error_obligatoris? "<p>Faltan <strong>campos obligatorios</strong></p>"+(error==''?'':'<p>Además, existen errores en siguiente los datos:</p><ul>'+error+'</ul>') : "<p>No se han podido enviar los datos porque:</p><ul>"+error+'</ul>';
		error = error;
		new Growl(error);
		return false;
	}
	else if($('privacidad').getValue()==null) 
	{
		new Effect.ScrollTo('botonEnviar', {offset: 20});
		new Growl("Para el envío de datos, debe aceptar la <strong>política de privacidad</strong>");
		return false;
	}
	else
	{
		return true;
	}
}