//MESSAGGI VALIDAZIONE
var vsValidMessage = "Ok";
var vsFailurePresenceMessage = "Campo obbligatorio!";
var vsFailureUsername = "Username non disponibile!";
var vsFailureEmailAjax = "Email già presente nei nostri archivi";
var vsFailureEmail = "Deve essere un'email!";
var vsFailureConf = "Non corrisponde!";
var vsFailureNumberMessage = "Il campo deve contenere solo numeri";
var vsFailureLength5 = "Deve essere lungo 5 cifre";
var vsFailureLengthData = "Inserire la data in formato gg/mm/aaaa";
var vsFailureLength11 = "Deve essere lungo 11 cifre";
var vsFailureCodFiscaleMessage = "Deve essere un codice fiscale valido";
var vsFailureAcceptMessage = vsFailurePresenceMessage;
var vsFailureDataFormatMessage = "Inserire la data in formato gg/mm/aaaa ";
var vsFailureDataMessage = "Inserire la data in formato gg/mm/aaaa ";
var vsFailureCaptcha = "Il codice inserito non è corretto.";
var vsFailureSerial = "Nessun prodotto rilevato con il numero di matricola indicato.";
var vsFailureRandom = "Inserire anche il numero di matricola.";
var vsFailureCouple = "Nessun prodotto rilevato con i numeri di matricola e ID indicati.";
var vsFailureLengthPass = "La password deve essere di almeno 6 caratteri!";
var vsFailureLengthTel = "Numero di telefono non valido!";

//URL AJAX
var vsUrlUser = "act_engine.php?action=ajax&type=username";
var vsUrlEmail = "act_engine.php?action=ajax&type=email";
var vsUrlCaptcha = "act_engine.php?action=ajax&type=captcha";
var vsUrlSerial = "act_engine.php?action=ajax&type=serial";
var vsUrlRandom = "act_engine.php?action=ajax&type=random";
var vsUrlSerialRandom = "act_engine.php?action=ajax&type=serialrandom";

//CONFIGURAZIONE CAMPI
var f1 = new LiveValidation('reg_name',{validMessage: vsValidMessage, onlyOnBlur: true});
f1.add(Validate.Presence,{failureMessage: vsFailurePresenceMessage});
f1.add(Validate.AjaxCall,{failureMessage: vsFailureUsername, url: vsUrlUser});

var f2 = new LiveValidation('reg_ins_password',{validMessage: vsValidMessage});
f2.add(Validate.Presence,{failureMessage: vsFailurePresenceMessage});
f2.add(Validate.Length,{minimum: 6, tooShortMessage: vsFailureLengthPass, tooLongMessage: vsFailureLengthPass});

var f3 = new LiveValidation('reg_ins_password_confirm',{validMessage: vsValidMessage});
f3.add(Validate.Presence,{failureMessage: vsFailurePresenceMessage});
f3.add(Validate.Confirmation,{ match: 'reg_ins_password',failureMessage: vsFailureConf });

var f4 = new LiveValidation('reg_email',{validMessage: vsValidMessage, onlyOnBlur: true});
f4.add(Validate.Presence,{failureMessage: vsFailurePresenceMessage});
f4.add(Validate.Email,{failureMessage: vsFailureEmail, trimValue: true});
f4.add(Validate.AjaxCall,{failureMessage: vsFailureEmailAjax, url: vsUrlEmail});

var f5 = new LiveValidation('reg_email_confirm',{validMessage: vsValidMessage});
f5.add(Validate.Presence,{failureMessage: vsFailurePresenceMessage});
f5.add(Validate.Confirmation,{ match: 'reg_email',failureMessage: vsFailureConf, trimValue: true });
	
var f6 = new LiveValidation('reg_field_4',{validMessage: vsValidMessage});
f6.add(Validate.Presence,{failureMessage: vsFailurePresenceMessage});

var f7 = new LiveValidation('reg_field_5',{validMessage: vsValidMessage});
f7.add(Validate.Presence,{failureMessage: vsFailurePresenceMessage});

var f8 = new LiveValidation('reg_field_3',{validMessage: vsValidMessage});
f8.add(Validate.Presence,{failureMessage: vsFailurePresenceMessage});

var f9 = new LiveValidation('reg_field_6',{validMessage: vsValidMessage});
f9.add(Validate.Presence,{failureMessage: vsFailurePresenceMessage});
f9.add(Validate.Numericality,{failureMessage: vsFailureNumberMessage, onlyInteger: true});
f9.add(Validate.Length,{is: 5, wrongLengthMessage: vsFailureLength5});

var f10 = new LiveValidation('reg_field_7',{validMessage: vsValidMessage});
f10.add(Validate.Presence,{failureMessage: vsFailurePresenceMessage});

var f11 = new LiveValidation('reg_field_8',{validMessage: vsValidMessage});
f11.add(Validate.Presence,{failureMessage: vsFailurePresenceMessage});

var f12 = new LiveValidation('reg_field_9',{validMessage: vsValidMessage});
f12.add(Validate.Numericality,{notANumberMessage: vsFailureNumberMessage});
f12.add(Validate.Length,{minimum: 6, tooShortMessage: vsFailureLengthTel, tooLongMessage: vsFailureLengthTel});

var f13 = new LiveValidation('reg_field_10',{validMessage: vsValidMessage});
f13.add(Validate.Numericality,{notANumberMessage: vsFailureNumberMessage});

var f14 = new LiveValidation('reg_field_11',{validMessage: vsValidMessage});
f14.add(Validate.Numericality,{notANumberMessage: vsFailureNumberMessage});

var f15 = new LiveValidation('reg_codfiscale',{validMessage: vsValidMessage});
f15.add(Validate.Presence,{failureMessage: vsFailurePresenceMessage});
f15.add(Validate.CodFiscale,{failureMessage: vsFailureCodFiscaleMessage});

var f16 = new LiveValidation('reg_piva',{validMessage: vsValidMessage});
f16.add(Validate.Numericality,{notANumberMessage: vsFailureNumberMessage});
f16.add(Validate.Length,{is: 11, wrongLengthMessage: vsFailureLength11});

var f17 = new LiveValidation('reg_privacy',{validMessage: vsValidMessage});
f17.add(Validate.Presence,{failureMessage: vsFailurePresenceMessage});
f17.add(Validate.Acceptance,{failureMessage: vsFailureAcceptMessage});

var f18 = new LiveValidation('reg_datanas',{validMessage: vsValidMessage});
f18.add(Validate.Presence,{failureMessage: vsFailurePresenceMessage});
f18.add(Validate.Length,{is: 10, wrongLengthMessage: vsFailureLengthData});
//f18.add(Validate.Format,{failureMessage: vsFailureDataFormatMessage, pattern: "^(0[1-9]|[12][0-9]|3[01])[- /.](0[1-9]|1[012])[- /.](19|20)\d\d^i"});
f18.add(Validate.Date,{failureMessage: vsFailureDataMessage});

var f19 = new LiveValidation('reg_field_1',{validMessage: vsValidMessage});
f19.add(Validate.Presence,{failureMessage: vsFailurePresenceMessage});

//SUBMIT NUOVO UTENTE
function doRegSubmit()
{
	showWaiting();	
	if (LiveValidation.massValidate([f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f11,f12,f13,f14,f15,f16,f17,f18,f19]))
		document.getElementById("reg_form").submit();
	else	
		hideWaiting();	
}


//DATI PRODOTTO
var p1 = new LiveValidation('pro_serialnumber',{validMessage: vsValidMessage, onlyOnBlur: true});
p1.add(Validate.Presence,{failureMessage: vsFailurePresenceMessage});
p1.add(Validate.AjaxCall,{failureMessage: vsFailureSerial, url: vsUrlSerial});
p1.add(Validate.CustomAjaxCall,{failureMessage: vsFailureCouple, url: vsUrlSerialRandom, fieldAgg: 'pro_randomnumber'});

var p2 = new LiveValidation('pro_randomnumber',{validMessage: vsValidMessage, onlyOnBlur: true});
p2.add(Validate.Presence,{failureMessage: vsFailurePresenceMessage});
//p2.add(Validate.AjaxCall,{failureMessage: vsFailureRandom, url: vsUrlRandom});
p2.add(Validate.CustomAjaxCall,{failureMessage: vsFailureCouple, url: vsUrlSerialRandom, fieldAgg: 'pro_serialnumber'});

var p3 = new LiveValidation('pro_Ditta',{validMessage: vsValidMessage});
p3.add(Validate.Presence,{failureMessage: vsFailurePresenceMessage});

var p4 = new LiveValidation('pro_IndirizzoDitta',{validMessage: vsValidMessage});
p4.add(Validate.Presence,{failureMessage: vsFailurePresenceMessage});

var p5 = new LiveValidation('pro_CAPDitta',{validMessage: vsValidMessage});
p5.add(Validate.Presence,{failureMessage: vsFailurePresenceMessage});
p5.add(Validate.Numericality,{notANumberMessage: vsFailureNumberMessage, onlyInteger: true});
p5.add(Validate.Length,{is: 5, wrongLengthMessage: vsFailureLength5});

var p6 = new LiveValidation('pro_CittaDitta',{validMessage: vsValidMessage});
p6.add(Validate.Presence,{failureMessage: vsFailurePresenceMessage});

var p7 = new LiveValidation('pro_IDProvinciaDitta',{validMessage: vsValidMessage});
p7.add(Validate.Presence,{failureMessage: vsFailurePresenceMessage});

var p8 = new LiveValidation('pro_DataScontrino',{validMessage: vsValidMessage});
p8.add(Validate.Presence,{failureMessage: vsFailurePresenceMessage});
p8.add(Validate.Length,{is: 10, wrongLengthMessage: vsFailureLengthData});
p8.add(Validate.Date,{failureMessage: vsFailureDataMessage});

var p9 = new LiveValidation('pro_ImportoScontrino',{validMessage: ''});
p9.add(Validate.Presence,{failureMessage: vsFailurePresenceMessage});
p9.add(Validate.CustomNumericality,{notANumberMessage: vsFailureNumberMessage, onlyInteger: true});

var p9 = new LiveValidation('pro_ImportoScontrinoDec',{validMessage: vsValidMessage});
p9.add(Validate.Presence,{failureMessage: vsFailurePresenceMessage});
p9.add(Validate.Numericality,{notANumberMessage: vsFailureNumberMessage, onlyInteger: true});

var p10 = new LiveValidation('pro_NumeroScontrino',{validMessage: vsValidMessage});
p10.add(Validate.Presence,{failureMessage: vsFailurePresenceMessage});
/* p10.add(Validate.Numericality,{notANumberMessage: vsFailureNumberMessage, onlyInteger: true}); */

var c1 = new LiveValidation('conf_codice',{validMessage: vsValidMessage, onlyOnBlur: true});
c1.add(Validate.Presence,{failureMessage: vsFailurePresenceMessage});
c1.add(Validate.AjaxCall,{failureMessage: vsFailureCaptcha, url: vsUrlCaptcha});

var cf1 = new LiveValidation('aux_prov_nas',{validMessage: vsValidMessage, onlyOnBlur: true});
cf1.add(Validate.Presence,{failureMessage: vsFailurePresenceMessage});

var cf2 = new LiveValidation('reg_field_20',{validMessage: vsValidMessage, onlyOnBlur: true});
cf2.add(Validate.Presence,{failureMessage: vsFailurePresenceMessage});

var p11 = new LiveValidation('pro_privacy',{validMessage: vsValidMessage});
p11.add(Validate.Presence,{failureMessage: vsFailurePresenceMessage});
p11.add(Validate.Acceptance,{failureMessage: vsFailureAcceptMessage});

//SUBMIT NUOVO PRODOTTO
function doProSubmit()
{
		voTr = document.getElementById("trProdotto");
		if(voTr && voTr.style.visibility=='visible' && document.getElementById("pro_idprodotto").value=='')
			alert('Attenzione! Devi selezionare il prodotto dalla lista per continuare!')
		else
		{
			showWaiting();
			if (LiveValidation.massValidate([p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11]))
				document.getElementById("pro_form").submit();
			else	
				hideWaiting();
		}
}

//SUBMIT CONFERMA REGISTRAZIONE
function doConfSubmit()
{
	showWaiting();
	if (LiveValidation.massValidate([c1]))
		document.getElementById("conf_form").submit();
	else	
		hideWaiting();	
}

//TEST CODICE FISCALE
function testCodFiscale()
{
	if (LiveValidation.massValidate([f6,f7,f19,f18,cf1,cf2]))
		CalcolaCodiceFiscale();
}

function doRegNiki01Submit()
{
	
}

function doRegNiki01Submit()
{
	//reg_niki_01
	showWaiting();	
	if (LiveValidation.massValidate([f1,f2,f3,f4,f5,f17]))
		document.getElementById("reg_niki_01").submit();
	else	
		hideWaiting();	
}

function doRegNiki02Submit()
{
	//reg_niki_01
	showWaiting();	
	if (LiveValidation.massValidate([f6,f7,f8,f9,f10,f11,f12,f13,f14,f15,f16,f18,f19]))
		document.getElementById("reg_niki_02").submit();
	else	
		hideWaiting();	
}
