// gestione input utente del form in mutuo-preventivo.html (che richiama mutuo-preventivo-1.inc)
/*
Riferimenti:
form#id-form-preventivo-1
select#finalita
select#tipotasso
input#importorichiesto
select#duratadesiderata
input#btn_1
*/
/* -------------------------------------------------------------------------- */
/* FUNZIONE VALIDAZIONE FORM ------------------------------------------------ */
/* -------------------------------------------------------------------------- */

$.fn.CheckForm = function(){
	// variabile utilizzata per gestire l'invio: se qualche elemento non è valido allora cambio il valore in false
	var invia;
	// recupero il valore del pulsante
	var btnTxtIniziale=$("input#btn_1").val();
	// funzione per comporre i dati nei campi input numerici -------------------
	var componi=function(numero){
		// imposto la variabile di base in base al valore numerico puro del campo
		// prendo >solo< i numeri senza lo zero iniziale
		var num;
		num=numero.replace(/[^0-9]/g, '');
		num=num.replace(/^[0]+/g, '')
				if(isNaN(parseInt(num))){num="";};
		//
		var tmpNum = num;
		var iSign = 1;
		// Create a string object to do our formatting on
		var tmpNumStr = new String(tmpNum);
		// See if we need to put in the commas
		if (num >= 1000){
			var iStart = tmpNumStr.indexOf(",");
			if (iStart < 0){iStart = tmpNumStr.length;};
			iStart -= 3;
			while (iStart >= 1) {
				tmpNumStr = tmpNumStr.substring(0,iStart) + "." + tmpNumStr.substring(iStart,tmpNumStr.length)
				iStart -= 3;
			}		
		}
		return tmpNumStr;
	};
	// funzione per il check di tutti i dati -----------------------------------
	function checkDati(){
		if(
			$("select#finalita").val()!="" &&
			$("select#tipotasso").val()!="" &&
			$("select#duratadesiderata").val()!="" &&
			$("input#importorichiesto").val().replace(/[^0-9]/g,'') >= 30000 // valore minimo
		){
			// riattivo il pulsante
			$("input#btn_1").val(btnTxtIniziale).removeClass("disabled").addClass("red");
			invia=true;
		}else{
			// disattivo il pulsante e riscrivo il testo del pulsante stesso
			$("input#btn_1").val("INSERISCI I DATI").removeClass("red").addClass("disabled");
			invia=false;
		};
	};
	// intercetto gli eventi ---------------------------------------------------
	// finalita' del mutuo
	$("select#finalita").change(
		function(){
			if($("select#finalita").val()==""){
				$("#row_finalita").addClass("alert");
			}else{
				$("#row_finalita").removeClass("alert");
			}
			checkDati();
		}
	);
	// tipo tasso
	$("select#tipotasso").change(
		function(){
			if($("select#tipotasso").val()==""){
				$("#row_tipotasso").addClass("alert");
			}else{
				$("#row_tipotasso").removeClass("alert");
			}
			checkDati();
		}
	);
	// importo richiesto
	$("input#importorichiesto").keyup(
		function(){
			this.value=componi(this.value);
			if($("input#importorichiesto").val().replace(/[^0-9]/g,'')<30000){
				$("#row_importorichiesto").addClass("alert");
			}else{
				$("#row_importorichiesto").removeClass("alert");
			}
			checkDati();
		}
	).focus(
		function(){
			// presento i numeri e il punto . senza formattazione eliminando tutto il resto
			this.value=this.value.replace(/[^0-9\.]/g, '');
		}
	);
	// durata desiderata
	$("select#duratadesiderata").change(
		function(){
			if($("select#duratadesiderata").val()==""){
				$("#row_duratadesiderata").addClass("alert");
			}else{
				$("#row_duratadesiderata").removeClass("alert");
			}
			checkDati();
		}
	);
	// -------------------------------------------------------------------------
	checkDati();
	// -------------------------------------------------------------------------
	this.submit(
		function(){
			if(invia){
				$("input#btn_1").hide();
				$("div#row_btn").append('<div style="display: none;font-size: 14px; font-weight: bold;" id="loader"><img src="/img/ajax-loader.gif" alt="ATTENDI" /><br/>Calcolo della rata in corso...</div>');
				$("div#loader").fadeIn('slow').delay(1000);
				return true;
			}else{
				// se l'utente non modifica nulla devo comunque fare un controllo
				if($("select#finalita").val()==""){$("#row_finalita").addClass("alert")};
				if($("select#tipotasso").val()==""){$("#row_tipotasso").addClass("alert")};
				if($("input#importorichiesto").val().replace(/[^0-9]/g,'')<30000){$("#row_importorichiesto").addClass("alert")};
				if($("select#duratadesiderata").val()==""){$("#row_duratadesiderata").addClass("alert")};
				//
				$("div#row_btn").append('<div class="msg_alert" id="msg_alert"><div class="msg_alert_inner">ATTENZIONE<br />Mancano dei dati</div></div>');
				$("div#msg_alert").fadeIn('slow').delay(1000).fadeOut('fast');
				//
				return false;
			};
		}
	);
};

/* -------------------------------------------------------------------------- */
/* FINE FUNZIONE VALIDAZIONE FORM ------------------------------------------- */
/* -------------------------------------------------------------------------- */
// ATTIVO IL CHECK A DOCUMENTO CARICATO
$(document).ready(function(){
	$("form#id-form-preventivo-1").CheckForm(); // Attivo il check del form
	$('.calcolo-rata').click(
		function(){
			$("#row_finalita").addClass("alert");
			$("select#finalita").focus();
			$('.calcolo-rata').css('cursor','default').unbind();
		}
	);
});
//

