/*
 * Función que restringe la insercción en los input a solo carácteres numéricos
 * Funcion que valida el formulario, primero los campos vacíos y en una segunda validación, los campos con restricciones que
 * pueden tener errores.
 * @see
 * @param delAviso div que contiene los mensajes de aviso para borrarlos.
 * @param tipoError string con el mensaje del tipo de error.
 * @param errores string con el texto de todos los errtores encontrados.
 * @param boxAviso div con el id "aviso" que es donde se insertan los mensajes de error.
 * @param createAviso etiqueta p que se crea para insertar el texto con el tipo de error.
 * @param createError etiqueta p que se crea para insertar el texto con los errores encontrado.
 * @return
 */
 
 
//Función para controlar la inserción úncamente de números
function numOnly(key){
	key.value = key.value.replace(/[^0-9]/g, "");
}
	
//Función principal
function form_CalculadoraHipoteca_Validator(form2)
{
	// Borramos los textos de error que pueda haber
	var delAviso = document.getElementById('aviso');
	delAviso.className='';
	delAviso.innerHTML ='';
	var formleng = form2.elements.length;
	//Quitamos los colores de fondo de todos los elementos del formulario menos el boton de enviar
	for(var i = 0; i < formleng - 1 ; i++){
	form2.elements[i].style.background='#ffffff';
	}
	var annual_1 = document.getElementById('mbAnnualEarnings01');
	var annual_2 = document.getElementById('mbAnnualEarnings02');
	if (annual_1 && annual_2){
	// Miramos si algun campo del formulario vacío
	if((annual_1.value == '') || (annual_2.value == ''))
	{
		//Creamos las variables tipoError y errores
		var tipoError = error_mandatory;
		var errores ='';
	}	
		//Validamos el campo con id="mbAnnualEarnings01" si está vacío, y si es así, añadimos mensaje de error a la variable errores y cambiamos su color de background a #c6f3ff
	if (annual_1.value == '')
	{
		annual_1.style.background='#c6f3ff';
	}
	if (annual_2.value == '')
	{
		annual_2.style.background='#c6f3ff';
	}
	 
	
	// Y si no está el campo vacío
	if ((annual_1.value !== '') && (annual_2.value !== ''))
	{
		
		// Si no hay ninguno con error
		if ((!(isNaN(annual_1.value)) && !(isNaN(form2.mbExtraEarnings01.value)) && !(isNaN(form2.mbMonthlyCommitment01.value))) && (!(isNaN(annual_2.value)) && !(isNaN(form2.mbExtraEarnings02.value)) && !(isNaN(form2.mbMonthlyCommitment02.value))))
		{
		// Mandamos el formulario
		return (true);
		}	
	}
	}
	else if (annual_1 && !annual_2)
	{
		// Miramos si algun campo del formulario vacío
	if(annual_1.value == ''){
		
		//Creamos las variables tipoError y errores
		var tipoError = error_mandatory;
		var errores ='';
		//Validamos el campo con id="mbAnnualEarnings01" si está vacío, y si es así, añadimos mensaje de error a la variable errores y cambiamos su color de background a #c6f3ff
		annual_1.style.background='#c6f3ff';
	} 
	
	// Y si no está el campo vacío
	else if (annual_1.value !== ''){
		
		// Si no hay ninguno con error
		if (!(isNaN(annual_1.value)) && !(isNaN(form2.mbExtraEarnings01.value)) && !(isNaN(form2.mbMonthlyCommitment01.value))){

		// Mandamos el formulario
		return (true);}	
	}	
	}
	// Al haber campos vacíos o campos con errores, buscamos el div con Id aviso y le asignamos el estilo .aviso
	var boxAviso = document.getElementById('aviso');
	boxAviso.className = 'aviso';
		
	//Creamos una etiqueta p dentro del div aviso para el texto en negrita, le asignamos el estilo .tipoError y le insertamos como html la variable tipoError
	var createAviso = boxAviso.appendChild(document.createElement('p'));
	createAviso.className = 'tipoError';
	createAviso.innerHTML = tipoError;
		
	//Creamos una etiqueta p dentro del div aviso y le insertamos como html la variable errores
	var createError = boxAviso.appendChild(document.createElement('p'));
	createError.innerHTML = errores;
		
	// Cancelamos el envío del formulario
	return (false);
}
