/*FUNCIONES JAVASCRIPT PARA AREA DE OBRAS Y SERVICIOS*/
/*Captcha*/
 var a = Math.ceil(Math.random() * 10);
 var b = Math.ceil(Math.random() * 10);       
 var c = a + b
 
 function DrawBotBoot()
 {
	
        document.write("<br/>Una &uacute;ltima pregunta: <b>¿Cuantas son "+ a + " + " + b +"? </b>&nbsp;&nbsp;");
        document.write("<input id='BotBootInput' type='text' maxlength='2' size='2'/><input type='submit' value='enviar' />");
 }    
 
 function ValidBotBoot()
 {
        var d = document.getElementById('BotBootInput').value;
        if (d == c) 
		{
			return true;
		}
		else
		{
	        return false;
		}
  }


/*Campos formulario*/

function nifValido(dni) {
  
  numero = dni.substr(0,dni.length-1);
  let = dni.substr(dni.length-1,1);
  numero = numero % 23;
  letra='TRWAGMYFPDXBNJZSQVHLCKET';
  letra=letra.substring(numero,numero+1);
  /*alert("letra: "+letra+"; let: "+let+";");*/
  
  if (letra!=let) 
  {
	
	return false;
  }
   
   return true;
}

function esAlfaNumerico(str)
{
	var Template = /^[/.,;áéíóúñÑÁÉÍÓÚºªa-zA-Z0-9\s]+$/i //Formato de alfanumerico (letra/numeros y espacios, INCLUYENDO ACENTOS y eñes)
	return (Template.test(str)) ? 1 : 0 //Compara "str" con el formato "Template" y si coincidevuelve verdadero si no devuelve falso
}

function esDNI(str)
{
	/*var Template = /^\s*[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][A-Za-z]\s*$/i //Formato de dni (12345678A)
	return (Template.test(str)) ? 1 : 0 //Compara "str" con el formato "Template" y si coincidevuelve verdadero si no devuelve falso*/
	
	return (nifValido(str));
}

function esCP(str)
{
	var Template = /^\s*[0-9][0-9][0-9][0-9][0-9]\s*$/i //Formato de codigo postal (12345)
	return (Template.test(str)) ? 1 : 0 //Compara "str" con el formato "Template" y si coincidevuelve verdadero si no devuelve falso

}

function esNumerico(str)
{
	var Template = /^[0-9\s]+$/i //Formato de numerico (96 646 646 464 646 464 - 6666669666)
	return (Template.test(str)) ? 1 : 0 //Compara "str" con el formato "Template" y si coincidevuelve verdadero si no devuelve falso

}

function esEmail(str)
{
	var Template = /^[a-z][a-z-_0-9.]+@[a-z-_=>0-9.]+.[a-z]{2,3}$/i //Formato de email
	return (Template.test(str)) ? 1 : 0 //Compara "str" con el formato "Template" y si coincidevuelve verdadero si no devuelve falso

}


/****************************************************/
/*Funcion validaFormulario
Filtra los campos del formulario para comprobar que estan rellenos los "obligatorios*/
function validaFormularioIncidencias(formulario)
{

	var valido;
	var msgError;
	
	//valido = true;
	msgError = "Por favor, corrija los siguientes errores:\n\n";
	
		
	//Descripcion de la incidencia
	if ((formulario.descripcion.value.length == 0) || !esAlfaNumerico(formulario.descripcion.value))
	{
		document.getElementById('ErrorDescripcion').innerHTML='Descripción no válida';
		formulario.descripcion.focus();
		valido = false;
		
	}
	else
	{
		document.getElementById('ErrorDescripcion').innerHTML='';
	}
	
	//Direccion de la incidencia
	if ((formulario.direccion.value.length == 0) || !esAlfaNumerico(formulario.direccion.value))
	{
		document.getElementById('ErrorDireccion').innerHTML='Dirección no válida';
		formulario.direccion.focus();
		valido = false;
	}
	else
	{
		document.getElementById('ErrorDireccion').innerHTML='';
	}
	
	

	//Email (opcional)
	if (formulario.email.value.length > 0)
	{
		if (!esEmail(formulario.email.value))
		{
			document.getElementById('ErrorEmail').innerHTML='Dirección de email no válida';
			formulario.email.focus();
			valido = false;
			
		}
		else
		{
			document.getElementById('ErrorEmail').innerHTML='';
		}
	}	
	
	//Telefono movil (opcion a que sea vacio)
	if (formulario.movil.value.length > 0)
	{
		if (!esNumerico(formulario.movil.value) || (formulario.movil.value.length != 9))
		{
			document.getElementById('ErrorTlfMovil').innerHTML='Número de móvil no válido';
			formulario.movil.focus();
			valido = false;
			
		}
		else
		{
			document.getElementById('ErrorTlfMovil').innerHTML='';
		}	
	}		
	
	//Telefono fijo
	if (formulario.fijo.value.length > 0)
	{
		if (!esNumerico(formulario.fijo.value) || formulario.fijo.value.length != 9)
		{
			document.getElementById('ErrorTlfFijo').innerHTML='Número de teléfono no válido';
			formulario.fijo.focus();
			valido = false;
			
		}
		else
		{
			document.getElementById('ErrorTlfFijo').innerHTML='';
		}	
	}
	
	//NIF
	if (formulario.nif.value.length != 9 || !nifValido(formulario.nif.value))
	{
		
		msgError += "NIF no valido (Formato: 00000000A)\n";
		document.getElementById('ErrorNif').innerHTML='NIF no valido (Formato: 12345678A)';
		formulario.nif.focus();
		valido = false;
		
	}
	else
	{
		document.getElementById('ErrorNif').innerHTML='';
	}
	
	
	//Apellidos
	if (!esAlfaNumerico(formulario.apellidos.value))
	{
		msgError += "- Apellidos no válidos\n";
		document.getElementById('ErrorApellidos').innerHTML='Apellidos no válidos';
		formulario.apellidos.focus();
		valido = false;
		
	}
	else
	{
		document.getElementById('ErrorApellidos').innerHTML='';
	}
	
	//Nombre
	if (!esAlfaNumerico(formulario.nombre.value))
	{
		msgError += "- Nombre no válido\n";
		document.getElementById('ErrorNombre').innerHTML='Nombre no válido';
		formulario.nombre.focus();
		valido = false;
		
	}
	else
	{
		document.getElementById('ErrorNombre').innerHTML='';
	}
	
	
    return valido;
	
	
}
