/* il file della lingua č /wms_js/i18n/vivaticket-xx.js e va caricato nell'header. * La variabile usata in questo file č frasi.anagrafica */ var cfDialog = ''; var associazioni = {'provincia':'citta', 'citta':'cap', 'wuf_provincia':'ft_citta', 'ft_citta':'ft_cap' }; var bl_nascita_testo = ''; function chkEditPwd () { if ($('#editPwd').length) return $('#editPwd').val() ==1; else return true; } function chkCountryIT($nazione) {return ($($nazione).val()=='' || $($nazione).val() == 'it');} function chkCountryNOTIT($nazione) {return !chkCountryIT($nazione);} function chkFullReg (){return $('#regType').val() == 'f';} function chkFullRegFatt (){return $('#regType').val() == 'f' && $('#int_altro').is(':checked');} $(document).ready(function(){ //Registrazione if ($('#modifica').val()==0){ $('.inModifica').hide(); $('.inRegistrazione').show(); } //Modifica else { $('.inModifica').show(); $('.inRegistrazione').hide(); } //Funzionamento //DATE var datepickerConfig= { changeMonth: true, changeYear: true, yearRange: "-120:+0", autoclose: true, buttonImage: hostServerImage+"wms_images/calendario.jpg", buttonImageOnly: true }; $('#data_nascita').datepicker(datepickerConfig); $('#bl_data_nascita').datepicker(datepickerConfig); // Cambia il layout da registrazione light->full $('#lightOrFull_F').click(function (){ $('#purchase_data').show(); if ($('#buyRequiredShow').length) { $('#buyRequiredShow').hide(); $('#buyRequiredFields').show(); } if ($('#fatturazioneShow').lenght) { $('#fatturazioneShow').hide(); $('#fatturazioneFields').show(); } $('#lightOrFull_L').prop('checked', false); $('input#regType').val('f'); }); // Cambia il layout da registrazione full->light $('#lightOrFull_L').click(function (){ $('#purchase_data').hide(); $('input#regType').val('l'); $('#lightOrFull_F').prop('checked', false); }); //PASSWORD $('#btnPwdEdit').click (function () { $('.pwdFields, #btnPwdUndoEdit').show(); $('#editPwd').val(1); $('#btnPwdEdit, .pwdShow').hide(); $('.editPwd').prop('disabled', false); }); $('#btnPwdUndoEdit').click (function () { $('.pwdFields, #btnPwdUndoEdit').hide(); $('#editPwd').val(0); $('#btnPwdEdit, .pwdShow').show(); $('.editPwd').prop('disabled', true); }); //INDIRIZZI $('.nazione').change (switchCountryLayoutTo); chargeCountry(); chargeRegion(); if ($('#citta').length) { fillComuni ('provincia', provincia_db, comuniHash); } if ($('#ft_citta').length) { fillComuni ('wuf_provincia', wuf_provincia_db, ft_comuniHash); } $('#provincia, #wuf_provincia').change (changeComuni); $('#citta, #ft_citta').change (changeComuniCAP); //CODICE FISCALE var ccbutton = eng == 0? 'Calcola e chiudi':'Calculate and close'; $('#cfDialog').dialog({ autoOpen: false, modal: true, width: 350, buttons: [{ text: ccbutton, click: function() { cfDialogCalcola(); } }] }); $("#calcolaCodFisc").click(function() {cfDialogOpen ('a');}); $("#ft_calcolaCodFisc").click(function() {cfDialogOpen ('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(''); } }); // Cambia il layout da registrazione italiano/straniero $('#no_cf').click( function () { $('#straniero').val($('#no_cf').is(':checked')?1:0); 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 () { $('#wuf_straniero').val($('#ft_no_cf').is(':checked')?1:0); fillFtFoLayoutIdArrays($(this).is(':checked')); $('#ft_labelFiscale').html(getLabelForDocumentField($(this).is(':checked'))); }); // Pulsanti di Modifica dei vari campi $('#mailFieldsMod').click (function () { $('.email_inRegistrazione').show(); $('.email_inModifica').hide(); }); $('#buyRequiredShowMod').click (function () { $('#buyRequiredFields').show(); $('#buyRequiredShow').hide(); }); $('#fatturazioneShowMod').click (function () { $('#fatturazioneFields').show(); $('#fatturazioneShow').hide(); }); //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); 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; } //VALIDATE //tolgo gli spazi bianchi //$('input').blur(function(){$(this).val($.trim($(this.val())));}); $('#citta, #citta_e, #ft_citta, #ft_citta_e').blur(function () { $(this).val($('
').html($(this).val()).text()); }); $("#signUp").validate({ //debug: true, rules: { email: { required: {depends: function() {return $('#modifica').val()==0;}}, email: true, remote: { param: { url: "/inc/retriever.php", type: "post", dataType: 'text', beforeSend: function () {$('#email').val($.trim($('#email').val().toLowerCase()));}, dataFilter: function (risposta) { controllo_email = $('#email').val().toLowerCase(); if (risposta == 'KO') return frasi.anagrafica['emailAlreadyUsed']; else if (risposta == 'KO ATTIVA') return frasi.anagrafica['emailAlreadyUsedNotActive'] + ' '+ frasi.anagrafica['accountActivation']+''; else if (risposta == 'KO RECUPERO') return frasi.anagrafica['emailAlreadyUsedActive'] + ' '+ frasi.anagrafica['accountRetrieve']+'.'; else return true; } }, depends: function () { return $('#email').val().toLowerCase() != controllo_email.toLowerCase();} } }, login: { required: {depends: function() {return $('#modifica').val()==0;}}, rangelength: [5, 25], remote: { param: { url: "/inc/retriever.php", type: "post", dataType: 'text', cache: false, beforeSend: function () {$('#username').val($.trim($('#username').val()));}, dataFilter: function (risposta) { controllo_login = $('#username').val().toLowerCase(); if (risposta == 'KO') return frasi.anagrafica['usernameAlreadyUsed']; else return true; } }, depends: function () { return $('#username').val().toLowerCase() != controllo_login.toLowerCase();} } }, privacy: {required: true, min:1 }, consenso_mktg:{required: function () { if ($('input[name=consenso_mktg]').attr('type') == 'radio') return true; else return false; } }, oldPassword: {required: {depends: chkEditPwd}}, password: {required: {depends: chkEditPwd}, minlength: 8, equalTo: '#password2'}, password2: {required: {depends: chkEditPwd}, minlength: 8, equalTo: '#password'}, // DATI PER L'ACQUISTO nome: {required: {depends: chkFullReg}, rangelength: [2, 25] }, cognome: {required: {depends: chkFullReg}, rangelength: [2, 25] }, //data_nascita: {required: {depends: chkFullReg}, dateITA: true }, telefono: {rangelength: [6, 21], phone: true }, //DOCUMENTO fiscale: {required: {depends: chkFullReg}, rangelength: {depends: function() {return chkFullReg() && $('#no_cf').is(':checked');}, param: [2, 20]}, NOTpattern: {depends: function() {return chkFullReg() && $('#no_cf').is(':checked');}, param: NOTpattern_strNum }, codiceFiscale: {depends: function() {return chkFullReg() && !$('#no_cf').is(':checked'); }}}, //INDIRIZZO nazione: {required: {depends: function() {return chkFullReg();}}}, provincia: {required: {depends: function() {return chkFullReg() && chkCountryIT('#nazione');}}, rangelength: {depends: function() {return chkFullReg() && chkCountryNOTIT('#nazione');}, param:[2, 25]}, NOTpattern: NOTpattern_str}, citta: {required: {depends: function() {return chkFullReg();}}, rangelength: {depends: function() {return chkFullReg() && chkCountryNOTIT('#nazione');}, param:[2, 35]}, NOTpattern: {depends: function() {return chkFullReg() && chkCountryNOTIT('#nazione');}, param: NOTpattern_str}}, cap: {required: {depends: function() {return chkFullReg();}}, rangelength: {depends: function() {return chkFullReg() && chkCountryNOTIT('#nazione');}, param:[3, 11]}, NOTpattern: NOTpattern_strNum}, //DATI FATTURA int_tip: {required: $('#int_altro').is(':checked')}, ft_ragsoc: {required: function() {return chkFullReg() && $('#int_tip_azienda').is(':checked');}, NOTpattern: NOTpattern_strNum}, ft_nome: {required: function() {return chkFullReg() && $('#int_tip_privato').is(':checked');}, rangelength: [2, 25], NOTpattern: NOTpattern_str}, ft_cognome: {required: function() {return chkFullReg() && $('#int_tip_privato').is(':checked');}, rangelength: [2, 25], NOTpattern: NOTpattern_str}, regolamento: {required: {depends: function() {return chkFullReg();}}}, //indirizzo wuf_nazione: {required: {depends: function() {return chkFullRegFatt();}}}, wuf_provincia: {required: {depends: function() {return chkFullRegFatt()&& chkCountryIT('#wuf_nazione');}}, rangelength: {depends: function() {return chkFullRegFatt() && chkCountryNOTIT('#wuf_nazione');}, param:[2, 25]}, NOTpattern: NOTpattern_str}, ft_citta: {required: {depends: function() {return chkFullRegFatt();}}, rangelength: {depends: function() {return chkFullRegFatt() && chkCountryNOTIT('#wuf_nazione');}, param:[2, 35]}, NOTpattern: {depends: function() {return chkFullRegFatt() && chkCountryNOTIT('#wuf_nazione');}, param: NOTpattern_str}}, ft_cap: {required: {depends: function() {return chkFullRegFatt();}}, rangelength: {depends: function() {return chkFullRegFatt() && chkCountryNOTIT('#wuf_nazione');}, param:[3, 11]}, NOTpattern: NOTpattern_strNum}, wuf_indirizzo: {required: {depends: function() {return chkFullRegFatt();}}, rangelength: [2, 70], NOTpattern: NOTpattern_strNum}, ft_fiscale: {required: {depends: function() {return chkFullRegFatt() && ($('#int_tip_privato').is(':checked') || chkCountryIT('#wuf_nazione'));}}, rangelength: {depends: function() {return chkFullRegFatt() && (($('#int_tip_privato').is(':checked') && $('#ft_no_cf').is(':checked')) || chkCountryNOTIT('#wuf_nazione'));}, param: [2, 20]}, NOTpattern: {depends: function() {return chkFullRegFatt() && (($('#int_tip_privato').is(':checked') && $('#ft_no_cf').is(':checked')) || chkCountryNOTIT('#wuf_nazione'));}, param: NOTpattern_strNum }, codiceFiscale: {depends: function () {return chkFullRegFatt() && $('#int_tip_privato').is(':checked') && !$('#ft_no_cf').is(':checked'); }}, partita_iva: {depends: function () {return chkFullRegFatt() && $('#int_tip_azienda').is(':checked') && chkCountryIT('#wuf_nazione'); }} } }, messages: { privacy: {required: frasi.anagrafica['privacy'], min: frasi.anagrafica['privacy']}, password: {equalTo: frasi.anagrafica['password_twice']}, password2: {equalTo: frasi.anagrafica['password_twice']} // DATI PER L'ACQUISTO } }); }); /* Mostra/nasconde baloon per calcolo codice fiscale * Parametro action: "o" = Open | "c" = Close | "cc" = Check and Close * Parametro which: "a" = Anagrafica | "f" = Fatturazione */ function cfDialogOpen (which){ cfDialog = which; if (which == 'a') { $('#bl_nome').val($('#nome').val()); $('#bl_cognome').val($('#cognome').val()); $('#bl_sesso').val($('#sesso').val()); $('#bl_data_nascita').val($('#data_nascita').val()); } else { $('#bl_nome').val($('#ft_nome').val()); $('#bl_cognome').val($('#ft_cognome').val()); $('#bl_sesso').val(''); $('#bl_data_nascita').val(''); } $('#bl_nascita').val(''); $('#bl_nascita_codice').val(''); $('#cfDialog').dialog( "open" ); } function cfDialogCalcola() { if (!controllaDatiCodiceFiscale ($('#bl_nome').val(), $('#bl_cognome').val(), $('#bl_sesso').val(), $('#bl_data_nascita').val(), $('#bl_nascita').val(), $('#bl_nascita_codice').val() )) return false; var cf = calcolaCodiceFiscale($('#bl_nome').val(), $('#bl_cognome').val(), $('#bl_sesso').val(), $('#bl_data_nascita').val(), $('#bl_nascita_codice').val()); if (cfDialog == 'a') { $('#fiscale').val(cf); $('#nome').val($('#bl_nome').val()); $('#cognome').val($('#bl_cognome').val()); $('#sesso').val($('#bl_sesso').val()); $('#data_nascita').val($('#bl_data_nascita').val()); $('#data_nascita').change(); } else { $('#ft_fiscale').val(cf); $('#ft_nome').val($('#bl_nome').val()); $('#ft_cognome').val($('#bl_cognome').val()); } $('#cfDialog').dialog("close"); return true; } /* ************************ Codice Fiscale ********************************* */ function controllaDatiCodiceFiscale (nome, cognome, sesso, data, 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 (!data) 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'+errMsg; if (ckdate && !chkDate (data)) errMsg += frasi.anagrafica['errorChkBDate']+'\n'; if (errMsg) { alert (errMsg); ok = false; } return ok; } //Controllo data di nascita function chkDate (date) { var matches = /^(\d{2})[-\/](\d{2})[-\/](\d{4})$/.exec(date); if (matches == null) return false; var d = matches[1]; var m = matches[2] - 1; var y = matches[3]; var composedDate = new Date(y, m, d, 12, 0, 0); return composedDate.getDate() == d && composedDate.getMonth() == m && composedDate.getFullYear() == y; } function calcolaCodiceFiscale (nome, cognome, sesso, data, 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 matches = /^(\d{2})[-\/](\d{2})[-\/](\d{4})$/.exec(data); var dd = matches[1]; var mm = matches[2] - 1; var yy = matches[3]; 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; } /* ************************************************************** */ /* cambio stato/provincia/cittā/cap */ /* ************************************************************** */ function setOption (text, value, toSelect) { return $('