/* il file della lingua č /wms_js/i18n/vivaticket-xx.js e va caricato nell'header.
* La variabile usata in questo file č frasi.anagrafica
*/
var associazioni = {'provincia':'citta', 'citta':'cap',
'ft_a_provincia':'ft_a_citta', 'ft_a_citta':'ft_a_cap',
'ft_p_provincia':'ft_p_citta', 'ft_p_citta':'ft_p_cap' };
var bl_nascita_testo = '';
var ft_bl_nascita_testo = '';
var today = new Date ();
var emailDescTdOriginalContent = '';
var emailErrorMSG = '';
var usernameDescTdOriginalContent = '';
var usernameErrorMSG = '';
/* ************************************************************** */
/* cambio stato/provincia/cittā/cap */
/* ************************************************************** */
function chargeCountry () {
$.each(countryHash, function(key, value) {
var sel1 = (nazione_db == key);
$('#nazione').append($('', { value : key, text: value, selected: sel1 }));
$('#nazione_e').append($(' ', { value : key, text: value, selected: sel1 }));
var sel2 = (ft_nazione_db == key);
$('#ft_a_nazione').append($(' ', { value : key, text: value, selected: sel2 }));
$('#ft_p_nazione').append($(' ', { value : key, text: value, selected: sel2 }));
});
}
function chargeRegion () {
$.each(regionHash, function(key, value) {
var sel1 = (provincia_db == key);
$('#provincia').append($(' ', { value : key, text: value, selected: sel1 }));
var sel2 = (ft_provincia_db == key);
$('#ft_a_provincia').append($(' ', { value : key, text: value, selected: sel2 }));
$('#ft_p_provincia').append($(' ', { value : key, text: value, selected: sel2 }));
});
}
function fillComuni (provincia, dato, comuniHash) {
var campo = associazioni[$('#'+provincia).attr('name')];
$('#'+campo).empty();
if (typeof(comuniHash) === 'string' && $.isEmptyObject(comuniHash)) {
changeCAP (campo);
return;
}
$.each(comuniHash, function(key, value) {
var sel = (eval(campo+'_db').toUpperCase() == value.nome_comune.toUpperCase());
$('#'+campo).append($(' ', { value : value.id_comune+";"+value.nome_comune, text: value.nome_comune, selected: sel }));
});
changeCAP (campo);
}
function changeComuni () {
var provincia = $(this);
var url = "/inc/retriever.php?nome_provincia="+$(this).val();
$.getJSON(url, function(comuniHash) { fillComuni (provincia.attr('id'), provincia.val(), comuniHash); });
}
function changeComuniCAP () {
changeCAP ($(this).attr('id'));
}
function changeCAP (comune) {
if ($('#'+comune+' option').length<= 1 ) {
fillCAP (comune, '');
return;
}
var e = $('#'+comune+' option:selected').val().split(';');
var url = "/inc/retriever.php?comune="+e[0];
$.getJSON(url, function(CAPHash) { fillCAP (comune, CAPHash); });
}
function fillCAP (comune, CAPHash) {
var campo = associazioni[$('#'+comune).attr('id')];
$('#'+campo).empty();
if (CAPHash.length>1 || CAPHash.length==0) {
if (eng == 0) $('#'+campo).append($(' ', { value : '', text: '-seleziona-' }));
else $('#'+campo).append($(' ', { value : '', text: '-select-' }));
}
if (CAPHash.length==0) return;
$.each(CAPHash, function(key, value) {
var sel = eval(campo+'_db') == value;
$('#'+campo).append($(' ', { value : value, text: value, selected: sel }));
});
}
/* ************************************************************** */
/* switch grafici */
/* ************************************************************** */
//Restituisce la label corretta da inserire nel campo documento
function getLabelForDocumentField(foreigner) {
if (foreigner) return frasi.anagrafica['documento'];
else return frasi.anagrafica['CFiscale'];
}
//Cambia il layout al cambiamento di nazionalitā
function switchCountryLayoutTo() {
//viene scelta come nazione l'italia
if ($(this).val() == 'it') {
if ($(this).attr('id') == 'nazione_e') {
$('#nazione, #provincia, #citta, #cap, #indirizzo').removeAttr("disabled");
$('#nazione_e, #provincia_e, #citta_e, #cap_e, #indirizzo_e').attr("disabled", true);
$('#nazione').val('it');
if (nazione_db != 'it') $('#provincia, #citta, #cap, #indirizzo').val('');
$('#me_stato_italia').show();
$('#me_stato_estero').hide();
}
else if ($(this).attr('id') == 'ft_p_nazione') {
$('#ft_p_provincia, #ft_p_citta, #ft_p_cap, #ft_p_indirizzo').removeAttr("disabled");
$('#ft_p_provincia_e, #ft_p_citta_e, #ft_p_cap_e, #ft_p_indirizzo_e').attr("disabled", true);
if (ft_nazione_db != 'it') $('#ft_p_provincia, #ft_p_citta, #ft_p_cap, #ft_p_indirizzo').val('');
$('#ft_p_italia').show();
$('#ft_p_estero').hide();
}
else if ($(this).attr('id') == 'ft_a_nazione') {
$('#ft_a_provincia, #ft_a_citta, #ft_a_cap, #ft_a_indirizzo').removeAttr("disabled");
$('#ft_a_provincia_e, #ft_a_citta_e, #ft_a_cap_e, #ft_a_indirizzo_e').attr("disabled", true);
if (ft_nazione_db != 'it') $('#ft_a_provincia, #ft_a_citta, #ft_a_cap, #ft_a_indirizzo').val('');
$('#ft_a_star').html ("*");
$('#ft_a_tr_piva').addClass('m');
$('#ft_a_italia').show();
$('#ft_a_estero').hide();
}
}
else {
if ($(this).attr('id') == 'nazione') {
$('#nazione, #provincia, #citta, #cap, #indirizzo').attr("disabled", true);
$('#nazione_e, #provincia_e, #citta_e, #cap_e, #indirizzo_e').removeAttr("disabled");
$('#nazione_e').val($('#nazione').val());
if (nazione_db == 'it') $('#provincia_e, #citta_e, #cap_e, #indirizzo_e').val('');
$('#me_stato_estero').show();
$('#me_stato_italia').hide();
}
else if ($(this).attr('id') == 'ft_p_nazione') {
$('#ft_p_provincia, #ft_p_citta, #ft_p_cap, #ft_p_indirizzo').attr("disabled", true);
$('#ft_p_provincia_e, #ft_p_citta_e, #ft_p_cap_e, #ft_p_indirizzo_e').removeAttr("disabled");
if (nazione_db == 'it') $('#ft_p_provincia_e, #ft_p_citta_e, #ft_p_cap_e, #ft_p_indirizzo_e').val('');
$('#ft_p_estero').show();
$('#ft_p_italia').hide();
}
else if ($(this).attr('id') == 'ft_a_nazione') {
$('#ft_a_provincia, #ft_a_citta, #ft_a_cap, #ft_a_indirizzo').attr("disabled", true);
$('#ft_a_provincia_e, #ft_a_citta_e, #ft_a_cap_e, #ft_a_indirizzo_e').removeAttr("disabled");
if (ft_nazione_db == 'it') $('#ft_a_provincia_e, #ft_a_citta_e, #ft_a_cap_e, #ft_a_indirizzo_e').val('');
$('#ft_a_star').html ("");
$('#ft_a_tr_piva').removeClass('m');
$('#ft_a_estero').show();
$('#ft_a_italia').hide();
}
}
if ($(this).attr('id') == 'nazione' || $(this).attr('id') == 'nazione_e') {
// Cambio il layout da registrazione italiano/straniero
if ($('#no_cf_y').length && $('#no_cf_n').length) {
// Inglese
switchForeignerFlag($(this).val() == 'it' ? $('#no_cf_y') : $('#no_cf_n'));
}
else {
// Italiano
$('#no_cf').attr('checked', $(this).val() != 'it');
fillFoLayoutIdArrays($('#no_cf').is(':checked'));
$('#labelFiscale').html(getLabelForDocumentField($('#no_cf').is(':checked')));
}
}
else if ($(this).attr('id') == 'ft_p_nazione') {
// Cambio il layout da fatturazione italiano/straniero
if ($('#ft_no_cf_y').length && $('#ft_no_cf_n').length) {
// Inglese
switchForeignerFlag($(this).val() == 'it' ? $('#ft_no_cf_y') : $('#ft_no_cf_n'));
}
else {
// Italiano
$('#ft_no_cf').attr('checked', $(this).val() != 'it');
fillFtFoLayoutIdArrays($('#ft_no_cf').is(':checked'));
$('#ft_labelFiscale').html(getLabelForDocumentField($('#ft_no_cf').is(':checked')));
}
}
}
function switchForeignerFlag(button) {
switch (button.attr('id')) {
case 'no_cf_y':
fillFoLayoutIdArrays(false);
$('#labelFiscale').html(getLabelForDocumentField(false));
$('#no_cf').attr('checked', false);
break;
case 'no_cf_n':
fillFoLayoutIdArrays(true);
$('#labelFiscale').html(getLabelForDocumentField(true));
$('#no_cf').attr('checked', true);
break;
case 'ft_no_cf_y':
fillFtFoLayoutIdArrays(false);
$('#ft_labelFiscale').html(getLabelForDocumentField(false));
$('#ft_no_cf').attr('checked', false);
break;
case 'ft_no_cf_n':
fillFtFoLayoutIdArrays(true);
$('#ft_labelFiscale').html(getLabelForDocumentField(true));
$('#ft_no_cf').attr('checked', true);
break;
default:
return;
}
button.attr('checked', true);
}
//Riempie gli array di ID per il layout straniero/italiano
function fillFoLayoutIdArrays(foreigner){
if (foreigner) {
$('#italian').hide();
$('#foreigner').show();
}
else {
$('#italian').show();
$('#foreigner').hide();
}
}
//Riempie gli array di ID per il layout straniero/italiano
function fillFtFoLayoutIdArrays(foreigner){
if (foreigner) {
$('#ft_italian').hide();
$('#ft_foreigner').show();
}
else {
$('#ft_italian').show();
$('#ft_foreigner').hide();
}
}
/*
Cambia il layout dei campi per la fattura, a seconda dei parametri seguenti:
- MA (M = Me, A = Altro)
- PA (P = Persona, A = Azienda)
*/
function switchInvoiceLayout() {
var MA = $("#signUp input:radio[name ='intestazione_fattura']:checked").val();
var PA = $("#signUp input:radio[name ='int_tip']:checked").val();
//var codFisc = (MA == 'm' || PA == 'p');
var datiPers = (MA == 'a' && PA == 'p');
var datiAz = (MA == 'a' && PA == 'a');
var invoiceType = (MA == 'a');
if (datiPers) $('#ft_p').show(); else $('#ft_p').hide();
if (datiAz) $('#ft_a').show(); else $('#ft_a').hide();
if (invoiceType) $('#ft_a_type').show(); else $('#ft_a_type').hide();
}
/* Mostra/nasconde baloon per calcolo codice fiscale
* Parametro action: "o" = Open | "c" = Close | "cc" = Check and Close
* Parametro which: "a" = Anagrafica | "f" = Fatturazione
*/
function cfBaloon(action, which) {
var BaloonStateID;
var BaloonID;
//var BaloonCureID;
if (which == 'a') {
BaloonStateID = '#baloonState';
BaloonID = '#cfBaloon';
//BaloonCureID = 'cfBaloonCure';
} else {
BaloonStateID = '#ft_baloonState';
BaloonID = '#ft_cfBaloon';
//BaloonCureID = 'ft_cfBaloonCure';
}
if (action == 'o') {
$(BaloonStateID).val('o');
if (which == 'a') {
$('#bl_nome').val($('#nome').val());
$('#bl_cognome').val($('#cognome').val());
$('#bl_sesso').val($('#sesso').val());
$('#bl_nasc_d').val($('#nasc_d').val());
$('#bl_nasc_m').val($('#nasc_m').val());
$('#bl_nasc_y').val($('#nasc_y').val());
} else {
$('#ft_bl_nome').val($('#ft_p_nome').val());
$('#ft_bl_cognome').val($('#ft_p_cognome').val());
}
// Mostra Baloon
$(BaloonID).fadeIn (0.2);
//Effect.Appear(BaloonID, { duration: 0.2 }); //Non funziona su MobileSafari
}
else if (action == 'cc') {
if (which == 'a') {
if (!controllaDatiCodiceFiscale ($('#bl_nome').val(), $('#bl_cognome').val(), $('#bl_sesso').val(),
$('#bl_nasc_d').val(), $('#bl_nasc_m').val(), $('#bl_nasc_y').val(),
$('#bl_nascita').val(), $('#bl_nascita_codice').val()
)) return false;
$('#fiscale').val(calcolaCodiceFiscale($('#bl_nome').val(), $('#bl_cognome').val(), $('#bl_sesso').val(),
$('#bl_nasc_d').val(), $('#bl_nasc_m').val(), $('#bl_nasc_y').val(),
$('#bl_nascita_codice').val()));
$('#nome').val($('#bl_nome').val());
$('#cognome').val($('#bl_cognome').val());
$('#sesso').val($('#bl_sesso').val());
$('#nasc_d').val($('#bl_nasc_d').val());
$('#nasc_m').val($('#bl_nasc_m').val());
$('#nasc_y').val($('#bl_nasc_y').val());
} else {
if (!controllaDatiCodiceFiscale ($('#ft_bl_nome').val(), $('#ft_bl_cognome').val(), $('#ft_bl_sesso').val(),
$('#ft_bl_nasc_d').val(), $('#ft_bl_nasc_m').val(), $('#ft_bl_nasc_y').val(),
$('#ft_bl_nascita').val(), $('#ft_bl_nascita_codice').val()
)) return false;
$('#ft_p_fiscale').val(calcolaCodiceFiscale($('#ft_bl_nome').val(), $('#ft_bl_cognome').val(), $('#ft_bl_sesso').val(),
$('#ft_bl_nasc_d').val(), $('#ft_bl_nasc_m').val(), $('#ft_bl_nasc_y').val(),
$('#ft_bl_nascita_codice').val()));
$('#ft_p_nome').val($('#ft_bl_nome').val());
$('#ft_p_cognome').val($('#ft_bl_cognome').val());
}
}
if (action == 'c' || action == 'cc') {
// Nasconde baloon
$(BaloonID).fadeOut (0.2);
//Effect.Fade(BaloonID, { duration: 0.2 }); //Non funziona su MobileSafari
$(BaloonStateID).val('c');
}
return true;
}
/* ************************ Codice Fiscale ********************************* */
function controllaDatiCodiceFiscale (nome, cognome, sesso, dd, mm, yy, luogo, luogo_code) {
var errMsg = '';
var ckdate = false;
var ok = true;
if (!nome) errMsg = frasi.anagrafica['nome']+'\n';
if (!cognome) errMsg += frasi.anagrafica['cognome']+'\n';
if (!sesso) errMsg += frasi.anagrafica['sesso']+'\n';
if (!yy || !mm || !dd) errMsg += frasi.anagrafica['data_nascita']+'\n';
else ckdate = true;
// non ho digitato nulla oppure ho digitato e non trovato nulla
if (!luogo) errMsg += frasi.anagrafica['luogo_nascita']+'\n';
else if (!luogo_code) {
luogo.focus();
ok = false;
}
if (errMsg) errMsg = frasi.anagrafica['emptyErrorChkCF']+'\n';
if (ckdate && !chkDate (eval(dd), eval(mm), eval(yy)))
errMsg += frasi.anagrafica['errorChkBDate']+'\n';
if (errMsg) {
alert (errMsg);
ok = false;
}
return ok;
}
//Controllo data di nascita
function chkDate (gg, mm, aa) {
var bday = new Date(aa, (mm-1), gg, 12, 0, 0);
if (aa == bday.getFullYear() && mm == (bday.getMonth()+1) && gg == bday.getDate()) return true;
else return false;
}
function calcolaCodiceFiscale (nome, cognome, sesso, dd, mm, yy, luogo_code) {
var vocali = /[AEIOU\s]/g ;
var notVocali = /[^AEIOU]/g ;
//cognome
var consCognome = cognome.toUpperCase().replace(vocali,'');
var vocCognome = cognome.toUpperCase().replace(notVocali,'');
var codCognome = (consCognome+vocCognome+"XXX").substring(0,3);
//nome
var consNome = nome.toUpperCase().replace(vocali,'');
if (consNome.length>=4) { //voglio 134
var re = /^(.)(.)(.)(.).*/g;
consNome = consNome.replace (re, "$1$3$4");
}
var vocNome = nome.toUpperCase().replace(notVocali,'');
var codNome = (consNome+vocNome+"XXX").substring(0,3);
//Data di nascita + luogo di nascita
var anno = yy.substring(2,4);
var mese = '_ABCDEHLMPRST'.charAt(eval(mm));
var gg = (sesso == 'F')? eval(dd)+40 : eval(dd);
gg = (gg<10)? '0'+gg : gg;
var cf = codCognome + codNome + anno + mese + gg + luogo_code;
var controllo = calcolaCodiceDiControlloCF (cf);
cf = cf + controllo;
return cf;
}
//calcolo del codice di controllo del codice fiscale
function calcolaCodiceDiControlloCF (cf) {
set1 = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
set2 = "ABCDEFGHIJABCDEFGHIJKLMNOPQRSTUVWXYZ";
setpari = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
setdisp = "BAKPLCQDREVOSFTGUHMINJWZYX";
var s = 0;
for( var i = 1; i <= 13; i += 2 )
s += setpari.indexOf( set2.charAt( set1.indexOf( cf.charAt(i) )));
for( i = 0; i <= 14; i += 2 )
s += setdisp.indexOf( set2.charAt( set1.indexOf( cf.charAt(i) )));
var c = String.fromCharCode (s%26+'A'.charCodeAt(0));
return c;
}
// ********************* EMAIL registrata *************
function verifica_email () {
$('#email').val($.trim($('#email').val().toLowerCase()));
var email = $('#email').val();
if (email != '' && chkEmail('#email', 3, 70) && email.toLowerCase() != controllo_email.toLowerCase()) {
controllo_email = email.toLowerCase();
$.ajax( {
url:"/inc/retriever.php",
data: { email: email },
success: function (data) { response_email(data); }
} );
}
else if (email.toLowerCase() == controllo_email.toLowerCase()) {
response_email_show ();
}
}
function response_email (risposta) {
if (risposta == 'KO') {
errString = frasi.anagrafica['emailAlreadyUsed'];
}
else {
if (risposta == 'KO ATTIVA') {
errString = frasi.anagrafica['emailAlreadyUsedNotActive']+
' '+
frasi.anagrafica['accountActivation']+' ';
}
else {
if (risposta == 'KO RECUPERO') {
errString = frasi.anagrafica['emailAlreadyUsedActive']+
' '+
frasi.anagrafica['accountRetrieve']+' .';
}
else {
response_email_hide();
emailErrorMSG = emailDescTdOriginalContent;
return;
}
}
}
emailErrorMSG = ''+errString+'
';
response_email_show ();
}
function response_email_init () {
if (emailDescTdOriginalContent=='') {
emailDescTdOriginalContent = $('#email_d').text();
emailErrorMSG = $('#email_d').text();
}
}
function response_email_hide () {
if ($('#email_d').text() != emailDescTdOriginalContent)
$('#email_d').html(emailDescTdOriginalContent);
}
function response_email_show () {
$('#email_d').html(emailErrorMSG);
}
function chkEmail(addr, min, max) {
//faccio il trim della stringa e la rendo minuscola
email = $(addr).val();
pattern = /^[\w]+([-_\.][\w]+)*@[\w]+(([-_][\w]+)*(\.[\w][\w]+)*)*\.[a-z]{2,4}$/;
if (!pattern.test (email) ||email.length <= min || email.length > max) return false;
return true;
}
/* *************************** username *****************************/
function verifica_username () {
$('#username').val($.trim($('#username').val()));
var username = $('#username').val();
if (username != '' && username.toLowerCase() != controllo_login.toLowerCase()) {
controllo_login = username.toLowerCase();
$.ajax( {
url:"/inc/retriever.php",
data: { login: username },
success: function (data) { response_username(data); }
} );
}
else if (username.toLowerCase() == controllo_login.toLowerCase()) {
response_username_show ();
}
}
function response_username (risposta) {
if (risposta == 'KO') {
errString = frasi.anagrafica['usernameAlreadyUsed']+"\n";
}
else {
response_username_hide();
usernameErrorMSG = usernameDescTdOriginalContent;
return;
}
usernameErrorMSG = ''+errString+'
';
response_username_show ();
}
function response_username_show () {
$('#username_d').html(usernameErrorMSG);
}
function response_username_init () {
if (usernameDescTdOriginalContent=='') {
usernameDescTdOriginalContent = $('#username_d').text();
usernameErrorMSG = $('#username_d').text();
}
}
function response_username_hide () {
if ($('#username_d').text() != usernameDescTdOriginalContent)
$('#username_d').html(usernameDescTdOriginalContent);
}
/* ********************** verifica form ******************************** */
function verifica_registrazione () {
var emptyErrorPersonal = new Array();
var errorPersonal = new Array();
var emptyErrorFattura = new Array();
var errorFattura = new Array();
var errorVari = new Array();
var errore = '';
//------------ controllo se ho il baloon aperto. Nel caso non volevo fare un vero submit ma era un chiudi baloon
if ($('#baloonState').val() == 'o') { cfBaloon('cc', 'a'); return false; }
if ($('#ft_baloonState').val() == 'o') { cfBaloon('cc','f'); return false; }
//pulisco tutti i campi input del form
$('#signUp input:text').each (function () {
$(this).val($.trim($(this).val()));
}
);
//------------ dati light
// email
if ($('#email').val() == '') emptyErrorPersonal.push('email');
else if (!chkEmail('#email', 3, 70)) errorPersonal.push('email');
// controllo di non aver segnalato errore sull'email
if (emailDescTdOriginalContent != emailErrorMSG )
errorVari.push('email_esistente');
// username
if ($('#modifica').length == 0) {
if ($('#username').val() == '') emptyErrorPersonal.push('username');
else if (!chkStrNum ('#username', 2, 25)) errorPersonal.push('username');
else {
//controllo di non aver segnalato un errore sullo username
if (usernameDescTdOriginalContent != usernameErrorMSG)
errorVari.push('username_esistente');
}
}
// password
if ($('#editPwd').length) { // esiste il campo editPwd quindi sono in modifica
if ($('#editPwd').val() == 1) { //devo controllare i dati
if ($('#oldPassword').val()=='') emptyErrorPersonal.push('oldPassword');
if ($('#password').val() == '') emptyErrorPersonal.push('password');
if ($('#password2').val() == '') emptyErrorPersonal.push('password2');
if ($('#password').val() != '' && $('#password2').val() != '') {
if ($('#password').val().length <8) errorVari.push('password_length');
else if ($('#password').val() != $('#password2').val()) errorVari.push('password_twice');
}
}
// if ($('#editPwd').val() == 0) ho i campi pwd nascosti
}
else {
if ($('#password').val()=='') emptyErrorPersonal.push('password');
if ($('#password2').val()=='') emptyErrorPersonal.push('password2');
if ($('#password').val()!='' && $('#password2').val()!='') {
if ($('#password').val().length <8) errorVari.push('password_length');
else if ($('#password').val() != $('#password2').val()) errorVari.push('password_twice');
}
}
// consenso
if (!$('#privacy').is(':checked')) errorVari.push('privacy');
// newsletter - non obbligatorio
// consenso esteso - non obbligatorio
//------------- dati full
if ($('#regType').val() == 'f') {
//----------------- dati personali
// nome
if ($('#nome').val()=='') emptyErrorPersonal.push('nome');
else if (!chkStr ('#nome', 2, 25)) errorPersonal.push('nome');
// cognome
if ($('#cognome').val()=='') emptyErrorPersonal.push('cognome');
else if (!chkStr ('#cognome', 2, 25)) errorPersonal.push('cognome');
// sesso - non obbligatorio
// data di nascita
if ($('#nasc_y').val()=='' || $('#nasc_m').val()=='' || $('#nasc_d').val()=='')
emptyErrorPersonal.push('data_nascita');
else if (!chkDate (eval($('#nasc_d').val()), eval($('#nasc_m').val()), eval($('#nasc_y').val())))
errorPersonal.push('data_nascita');
// telefono - non obbligatorio / ma se lo metto deve essere corretto
if (!$('#telefono').val()=='' && !chkPhone ('#telefono', 6, 21))
errorPersonal.push('telefono');
// indirizzo
if ($('#nazione').val()=='' || $('#nazione').val() == 'it') {
if ($('#nazione').val()=='') emptyErrorPersonal.push('nazione');
if ($('#provincia').val()=='') emptyErrorPersonal.push('provincia');
if ($('#citta').val()=='') emptyErrorPersonal.push('citta');
if ($('#cap').val()=='') emptyErrorPersonal.push('cap');;
if ($('#indirizzo').val()=='') emptyErrorPersonal.push('indirizzo');
else if (!chkStrNum ('#indirizzo', 2, 70)) errorPersonal.push('indirizzo');
}
else {
if ($('#nazione_e').val()=='') emptyErrorPersonal.push('nazione');
/*
if ($('#provincia_e').val()=='') emptyErrorPersonal.push('provincia');
else if (!chkStr ('#provincia_e', 2, 25)) errorPersonal.push('provincia');
*/
if (!$('#provincia_e').val()=='' &&
!chkStr ('#provincia_e', 2, 25)) errorPersonal.push('provincia');
if ($('#citta_e').val()=='') emptyErrorPersonal.push('citta');
else if (!chkStr ('#citta_e', 2, 35)) errorPersonal.push('citta');
if ($('#cap_e').val()=='') emptyErrorPersonal.push('cap');
else if (!chkStrNum ('#cap_e', 3, 11)) errorPersonal.push('cap');
if ($('#indirizzo_e').val()=='') emptyErrorPersonal.push('indirizzo');
else if (!chkStrNum ('#indirizzo_e', 2, 70)) errorPersonal.push('indirizzo');
}
// Codice Fiscale
if ($('#no_cf').is(':checked') ) { // straniero senza CF
if ($('#foreigner_doc_num').val()=='') emptyErrorPersonal.push('documento');
else if (!chkStrNum ('#foreigner_doc_num', 2, 20)) errorPersonal.push('documento');
}
else { // italiano con CF
if ($('#fiscale').val()=='') emptyErrorPersonal.push('codice_fiscale');
else if (!chkCF ('#fiscale')) errorPersonal.push('codice_fiscale');
}
// Regolamento
if (!$('#accetto').is(':checked')) errorVari.push('condizioni');
// Dati Fattura
var MA = $("#signUp input:radio[name ='intestazione_fattura']:checked").val(); //(M = Me, A = Altro)
var PA = $("#signUp input:radio[name ='int_tip']:checked").val(); //(P = Persona, A = Azienda)
if (MA == 'a' && PA == 'a') { // fattura ad azienda
//ragione sociale
if ($('#ft_a_ragsoc').val()=='') emptyErrorFattura.push('ragione_sociale');
else if (!chkStrNum ('#ft_a_ragsoc', 2, 50)) errorFattura.push('ragione_sociale');
//italiana
if ($('#ft_a_nazione').val()=='' || $('#ft_a_nazione').val() == 'it') {
//partita iva
if ($('#ft_a_piva').val()=='') emptyErrorFattura.push('partita_iva');
else if (!chkPIVA($('#ft_a_piva').val())) errorFattura.push('partita_iva');
//indirizzo
if ($('#ft_a_nazione').val()=='') emptyErrorFattura.push('nazione');
if ($('#ft_a_provincia').val()=='') emptyErrorFattura.push('provincia');
if ($('#ft_a_citta').val()=='') emptyErrorFattura.push('citta');
if ($('#ft_a_cap').val()=='') emptyErrorFattura.push('cap');
if ($('#ft_a_indirizzo').val()=='') emptyErrorFattura.push('indirizzo');
else if (!chkStrNum ('#ft_a_indirizzo', 2, 25)) errorFattura.push('indirizzo');
}
//estera
else {
// partita iva - non obbligatoria
if (!$('#ft_a_piva').val()=='' && !chkStrNum ('#ft_a_piva', 2, 21))
errorFattura.push('partita_iva');
// indirizzo
if ($('#ft_a_provincia_e').val()=='') emptyErrorFattura.push('provincia');
else if (!chkStr ('#ft_a_provincia_e', 2, 25)) errorFattura.push('provincia');
if ($('#ft_a_citta_e').val()=='') emptyErrorFattura.push('citta');
else if (!chkStr ('#ft_a_citta_e', 2, 35)) errorFattura.push('citta');
if ($('#ft_a_cap_e').val()=='') emptyErrorFattura.push('cap');
if ($('#ft_a_indirizzo_e').val()=='') emptyErrorFattura.push('indirizzo');
else if (!chkStrNum ('#ft_a_indirizzo_e', 2, 25)) errorFattura.push('indirizzo');
}
}
else if (MA == 'a' && PA == 'p') { // fattura ad un altro soggetto o indirizzo
//nome e cognome
if ($('#ft_p_nome').val()=='') emptyErrorFattura.push('nome');
else if (!chkStr ('#ft_p_nome', 2, 25)) errorFattura.push('nome');
if ($('#ft_p_cognome').val()=='') emptyErrorFattura.push('cognome');
else if (!chkStr ('#ft_p_cognome', 2, 25)) errorFattura.push('cognome');
//indirizzo
if ($('#ft_p_nazione').val()=='' || $('#ft_p_nazione').val() == 'it') {
if ($('#ft_p_provincia').val()=='') emptyErrorFattura.push('provincia');
if ($('#ft_p_citta').val()=='') emptyErrorFattura.push('citta');
if ($('#ft_p_cap').val()=='') emptyErrorFattura.push('cap');;
if ($('#ft_p_indirizzo').val()=='') emptyErrorFattura.push('indirizzo');
else if (!chkStrNum ('#ft_p_indirizzo', 2, 25)) errorFattura.push('indirizzo');
}
else {
if ($('#ft_p_provincia_e').val()=='') emptyErrorFattura.push('provincia');
else if (!chkStr ('#ft_p_provincia_e', 2, 25)) errorFattura.push('provincia');
if ($('#ft_p_citta_e').val()=='') emptyErrorFattura.push('citta');
else if (!chkStr ('#ft_p_citta_e', 2, 35)) errorFattura.push('citta');
if ($('#ft_p_cap_e').val()=='') emptyErrorFattura.push('cap');;
if ($('#ft_p_indirizzo_e').val()=='') emptyErrorFattura.push('indirizzo');
else if (!chkStrNum ('#ft_p_indirizzo_e', 2, 25)) errorFattura.push('indirizzo');
}
// Documento
if ($('#ft_no_cf').is(':checked')) { // straniero senza CF
if ($('#ft_foreigner_doc_num').val()=='') emptyErrorFattura.push('documento');
else if (!chkStrNum ('#ft_foreigner_doc_num', 2, 20))
errorFattura.push('documento');
}
else { // italiano con CF
if ($('#ft_p_fiscale').val()=='') emptyErrorFattura.push('codice_fiscale');
else if (!chkCF ('#ft_p_fiscale')) errorFattura.push('codice_fiscale');
}
}
}
$('#citta').val(htmlDecode($('#citta').val()));
$('#citta_e').val(htmlDecode($('#citta_e').val()));
$('#ft_a_citta').val(htmlDecode($('#ft_a_citta').val()));
$('#ft_a_citta_e').val(htmlDecode($('#ft_a_citta_e').val()));
if (emptyErrorPersonal.length>0) {
errore += frasi.anagrafica['emptyErrorPersonalSection']+"\n";
$.each(emptyErrorPersonal, function(key, value) {
errore += frasi.anagrafica[value]+" \n";
});
}
if (errorPersonal.length>0) {
errore += frasi.anagrafica['errorPersonalSection']+"\n";
$.each(errorPersonal, function(key, value) {
errore += frasi.anagrafica[value]+" \n";
});
}
if (emptyErrorFattura.length>0) {
errore += frasi.anagrafica['emptyErrorFatturaSection']+"\n";
$.each(emptyErrorFattura, function(key, value) {
errore += frasi.anagrafica[value]+" \n";
});
}
if (errorFattura.length>0) {
errore += frasi.anagrafica['errorFatturaSection']+"\n";
$.each(errorFattura, function(key, value) {
errore += frasi.anagrafica[value]+" \n";
});
}
if (errorVari.length>0) {
$.each(errorVari, function(key, value) {
errore += frasi.anagrafica[value]+" \n";
});
}
if (errore.length>0) {
alert (errore);
return false;
}
return true;
}
function htmlDecode(value) {
return (typeof value === 'undefined') ? '' : $('
').html(value).text();
}
function chkStrNum(campo, min, max) {
var value = $(campo).val();
pattern = /[\x00-\x1F\!\"\#\$\%\&\(\)\*\\\:<=>?\[\]^`{\|}~\r\n\f\@]/;
if ( pattern.test (value) || value.length max) return false;
else return true;
}
function chkStr(campo, min, max) {
value = $(campo).val();
pattern = /[\d\x00-\x1F\!\"\#\$\%\&\(\)\*\\\:<=>?\[\]^`{\|}~\r\n\f\@]/;
if ( pattern.test (value) || value.length max) return false;
else return true;
}
function chkPhone(campo, min, max) {
value = $(campo).val();
pattern = /^[\d \-\/\+\.]+$/i;
if ( !pattern.test (value) || value.length max) return false;
else return true;
}
function chkPIVA(pi) {
var pattern = /^[\d]{11}$/;
if (!pattern.test (pi)) return false;
s = 0;
for( i = 0; i <= 9; i += 2 )
s += pi.charCodeAt(i) - '0'.charCodeAt(0);
for( i = 1; i <= 9; i += 2 ){
c = 2*( pi.charCodeAt(i) - '0'.charCodeAt(0) );
if( c > 9 ) c = c - 9;
s += c;
}
if( ( 10 - s%10 )%10 != pi.charCodeAt(10) - '0'.charCodeAt(0) ) return false;
return true;
}
//Controllo del Codice Fiscale
function chkCF (cf) {
$(cf).val($(cf).val().toUpperCase());
var codice = $(cf).val();
if (codice.length != 16) return false;
if (calcolaCodiceDiControlloCF(codice) != codice.charAt(15)) return false;
// controllo della data di nascita
charMese = "ABCDEHLMPRST";
anno = eval(codice.substr (6,2));
if (anno> (today.getYear()-100)) anno +=1900;
else anno +=2000;
mese = charMese.indexOf(codice.substr (8,1))+1;
giorno = codice.substr (9,2);
if (giorno > 40 ) giorno -= 40;
if (!chkDate (giorno, mese, anno)) return false;
return true;
}
function confermaAnagrafica () {
if (!$('#accetto').is(':checked') && $('#modifica').val() != 1) {
alert (frasi.anagrafica['condizioni']+"\n");
return false;
}
return true;
}
function moveAnagrafica () {
if (!$('#privacy').is(':checked')) {
alert (frasi.anagrafica['privacy']+"\n");
return false;
}
return true;
}
$(document).ready(function(){
if (window.countryHash === undefined) {
$('section.paginaUtente #formConferma #edit').click(function () {
$('section.paginaUtente #formConferma #modifica').val(1);
$('section.paginaUtente #formConferma').submit ();
});
$('section.paginaUtente #formConferma #conferma').click(function () {
$('section.paginaUtente #formConferma #modifica').val(0);
$('section.paginaUtente #formConferma').submit ();
});
return;
}
// Cambia il layout da registrazione light/full
$('input#lightOrFull_F').click(function (){
$('#purchase_data').show();
if ($('#buyRequiredShow').length) {
$('#buyRequiredShow').hide();
$('#buyRequiredFields').show();
}
if ($('#fatturazioneShow').lenght) {
$('#fatturazioneShow').hide();
$('#fatturazioneFields').show();
}
$('input#regType').val('f');
});
// Cambia il layout da registrazione full->light
$('input#lightOrFull_L').click(function (){
$('#purchase_data').hide();
$('input#regType').val('l');
});
// Cambia il layout da registrazione italiano/straniero
$('#no_cf').click( function () {
if ($('#no_cf_y').length == 0) {
fillFoLayoutIdArrays($(this).is(':checked'));
$('#labelFiscale').html(getLabelForDocumentField($(this).is(':checked')));
}
});
// Cambia il layout da registrazione-fattura italiano/straniero
$('#ft_no_cf').click( function () {
fillFtFoLayoutIdArrays($(this).is(':checked'));
$('#ft_labelFiscale').html(getLabelForDocumentField($(this).is(':checked')));
});
// Pulsanti di Modifica dei vari campi
$('#mailFieldsMod').click (function () { $('#mailFields').show(); $('#mailShow').hide(); });
$('#usernameFieldsMod').click (function () { $('#usernameFields').show(); $('#usernameShow').hide(); });
$('#btnPwdEdit').click (function () { $('#pwdFields, #btnPwdUndoEdit').show(); $('#editPwd').val(1); $('#btnPwdEdit').hide(); });
$('#btnPwdUndoEdit').click (function () { $('#pwdFields, #btnPwdUndoEdit').hide(); $('#editPwd').val(0); $('#btnPwdEdit').show(); });
$('#buyRequiredShowMod').click (function () { $('#buyRequiredFields').show(); $('#buyRequiredShow').hide(); });
$('#fatturazioneShowMod').click (function () { $('#fatturazioneFields').show(); $('#fatturazioneShow').hide(); });
//per scegliere nazione provincia comune e cap
chargeCountry();
chargeRegion();
fillComuni ('provincia', provincia_db, comuniHash);
fillComuni ('ft_a_provincia', ft_provincia_db, ft_comuniHash);
fillComuni ('ft_p_provincia', ft_provincia_db, ft_comuniHash);
$('#nazione, #nazione_e, #ft_a_nazione, #ft_p_nazione').change (switchCountryLayoutTo);
$('#provincia, #ft_a_provincia, #ft_p_provincia').change (changeComuni);
$('#citta, #ft_a_citta, #ft_p_citta').change (changeComuniCAP);
//Da Fattura intestata ad azienda a fattura intestata a persona fisica
$("#signUp input:radio[name ='intestazione_fattura'], #signUp input:radio[name ='int_tip']").change (switchInvoiceLayout);
//Apertura baloon codice fiscale
$('#calcolaCodFisc').click(function () {cfBaloon('o', 'a'); return false;});
$('#calcolaCodFiscChiudi').click(function () {cfBaloon('c', 'a'); return false;});
$('#calcolaCodFiscCalcolaChiudi').click(function () {cfBaloon('cc', 'a');});
$('#ft_calcolaCodFisc').click(function () {cfBaloon('o', 'f'); return false;});
$('#ft_calcolaCodFiscChiudi').click(function () {cfBaloon('c', 'f'); return false;});
$('#ft_calcolaCodFiscCalcolaChiudi').click(function () {cfBaloon('cc', 'f');});
$("#bl_nascita").change (function() { if ($(this).val() != bl_nascita_testo ) $('#bl_nascita_codice').val(''); });
$("#bl_nascita").autocomplete ({
source: function (request, response) {
$.ajax( {
url:"/inc/retriever.php?callback=?",
dataType: 'json',
data: { limit: 20, comune_cf: request.term},
success: function (data) {
var suggestions = [];
$.each(data, function(i, val){ suggestions.push(val); });
response(suggestions);
}
} );
},
minLength: 2,
select: function( event, ui ) {
event.preventDefault();
bl_nascita_testo = ui.item.label;
$('#bl_nascita_codice').val(ui.item.value);
$('#bl_nascita').val(ui.item.label);
},
focus: function() {
if (this.value != bl_nascita_testo ) $('#bl_nascita_codice').val('');
}
});
$("#email").focus(function () {response_email_init(); response_email_hide(); });
$("#email").blur (verifica_email);
$("#username").focus(function () {response_username_init(); response_username_hide(); });
$("#username").blur (verifica_username);
$("#ft_bl_nascita").change (function() { if ($(this).val() != ft_bl_nascita_testo ) $('#bl_nascita_codice').val(''); });
$("#ft_bl_nascita").autocomplete ({
source: function (request, response) {
$.ajax( {
url:"/inc/retriever.php?callback=?",
dataType: 'json',
data: { limit: 20, comune_cf: request.term},
success: function (data) {
var suggestions = [];
$.each(data, function(i, val){ suggestions.push(val); });
response(suggestions);
}
} );
},
minLength: 2,
select: function( event, ui ) {
event.preventDefault();
ft_bl_nascita_testo = ui.item.label;
$('#ft_bl_nascita_codice').val(ui.item.value);
$('#ft_bl_nascita').val(ui.item.label);
},
focus: function() {
if (this.value != ft_bl_nascita_testo ) $('ft_bl_nascita_codice').val('');
}
});
$('#signUp').submit(verifica_registrazione);
$('#signUp #btnConferma').click(verifica_registrazione);
});