// JavaScript Document

//	Tramite select cambia la pagina e imposta un valore al campo specificato
function GestimSaltaPagina(id_form, pagina, id_campo) {
	//	Cambia il valore del campo
	var campo = document.getElementById(id_campo);
	campo.value = pagina;

	//	Submit del form
	var form = document.getElementById(id_form);
	form.submit();
}

//  Ordinamento di ricerca
function GestimOrdina(url, ordine, verso, id_form) {
	//  Cambia il target del form
	var form = document.getElementById(id_form);
	form.action = url+'?o='+ordine+'&v='+verso;
	
	//  Invia i dati
	form.submit();
}

//  Invia un form
function GestimSubmit(id_form) {
	var form = document.getElementById(id_form);
	form.submit();
}

//  Controlla i campi del mutuo
function GestimMutuo(idForm) {
	var form = document.getElementById(idForm);
	
	//	Campi del form
	var capitale = document.getElementById('capitale');
	var tasso = document.getElementById('tasso');
	var anni = document.getElementById('anni');
	
	//	Espressioni regolari
	var numIntero = /^(\d+)$/g;
	var numReale = /^(\d+)(\.\d+)?$/g;
	
	//	Controlla che il capitale sia un numero intero positivo
	if (!capitale.value.match(numIntero) || parseInt(capitale.value) <= 0) {
		alert('Inserire solo numeri interi maggiori di zero e senza punteggiatura per il capitale');
		capitale.focus();
		return false;
	}
	
	//	Controlla che il tasso sia un numero reale
	if (!tasso.value.match(numReale) || parseInt(tasso.value) <= 0) {
		alert('Inserire solo numeri decimali maggiori di zero (separati con il punto) per il tasso');
		tasso.focus();
		return false;
	}
	
	//	Controlla che gli anni siano un numero intero
	if (!anni.value.match(numIntero) || parseInt(anni.value) <= 0) {
		alert('Gli anni devono essere un numero intero maggiore di zero');
		anni.focus();
		return false;
	}
	
	//	Controlla che i valori siano credibili: capitale troppo basso
	if (capitale.value.match(numIntero) && parseInt(capitale.value) < 10000) {
		if (confirm('Il valore di € '+parseInt(capitale.value)+' è basso, vuoi continuare comunque?'))
			return true;
		else {
			capitale.focus();
			return false;
		}
	}
	
	//	Controlla che i valori siano credibili: interesse troppo alto
	if (tasso.value.match(numReale) && parseFloat(tasso.value) > 10) {
		if (confirm('Il tasso d\'interesse del '+parseFloat(tasso.value)+' % è alto, vuoi continuare comunque?'))
			return true;
		else {
			tasso.focus();
			return false;
		}
	}
	
	//	Controlla che i valori siano credibili: durata di anni troppo lunga
	if (anni.value.match(numIntero) && parseInt(anni.value) > 40) {
		if (confirm(parseInt(anni.value)+' anni è una durata molto lunga, vuoi continuare comunque?'))
			return true;
		else {
			anni.focus();
			return false;
		}
	}

	//	Tutto ok, invia il modulo
	else
		return true;
}