/*----------------------------------------------------------------------*/ var D; var id_label; var id_attivita; var id_punto; var id_operatore; var id_culture; var id_calendly; var versione; var ScadenzaT; var ID_consulente; var ID_ChargeBee; // id cliente chargebee var ID_ChargeBee_WeGest; // id sottoscrizione chargebee wegest var ID_ChargeBee_App; // id sottoscrizione chargebee app var ID_ChargeBee_WeGestPlus; // id sottoscrizione chargebee plus var Scadenza; var Scadenza_app; var Scadenza_plus; var id_agente; var Agente; var ID_esterno; var Codice_WG; var Nome_Punto; var Indirizzo; var Civico; var Comune_Punto; var Provincia_Punto; var Regione_Punto; var Cap_Punto; var Email_Punto; var Pec; var Amministratore_Nome; var Amministratore_Cognome; var Computer_Punto; var Telefono_Punto; var Cellulare_Punto; var Codice_Destinatario; var Piva; var Stampante_Fiche_Punto; var Stampante_Ricevute_Punto; var Stampante_Scontrini; var Emissione_Scontrino_Digitale; var Prodotto_consulenza; var Virtual_configurato; var Settore1, Settore2, Settore3 ; var Accetta_Contratto; var Contratto_Accettato; var Etichette; var Versione_software; var TW; var WAI; var Scarica_anagrafica; var Nexi_attivo; var ID_POS; var ID_Business; var Icone_categorie; var Stile_grafico; var Login_as; /*----------------------------------------------------------------------*/ var id_cliente; /*----------------------------------------------------------------------*/ var piattaforma; /*----------------------------------------------------------------------*/ var env; /*----------------------------------------------------------------------*/ var dominio; /*----------------------------------------------------------------------*/ var pollici_schermo; /*----------------------------------------------------------------------*/ var a1; var a2; var a3; var a4; var b12; /*----------------------------------------------------------------------*/ var SG; var SGN; var PaMa; var PaSt; /*----------------------------------------------------------------------*/ var ftp1; var ftp2; /*----------------------------------------------------------------------*/ var Punto_attivo; var Consulenza; var Landing; var Whatsapp; var Whatsapp_P; var Whatsapp_S; var isMPWA; var App_clienti; var Invia_notifiche; var Prenotado; var Privilegi; var Controlla_progressivo_fatture; var Scarica_privacy_clienti; /*----------------------------------------------------------------------*/ var Culture; /*----------------------------------------------------------------------*/ var Pet; /*----------------------------------------------------------------------*/ var Dashboard; var ID_dashboard; /*----------------------------------------------------------------------*/ var ajax_timeout; var ajax_timeout_msg_errore; /*----------------------------------------------------------------------*/ var giorni_settimana; var giorni_settimana_DB; /*----------------------------------------------------------------------*/ var ultima_chiusura_cassa; /*----------------------------------------------------------------------*/ var prima_interazione_giorno; /*----------------------------------------------------------------------*/ /*----------------------------------------------------------------------*/ function Chiudi_programma() { jsobject.callNET_Chiudi_programma(); } /*----------------------------------------------------------------------*/ function Minimizza_finestra() { jsobject.callNET_Minimizza_finestra(); } /*----------------------------------------------------------------------*/ function Massimizza_finestra() { jsobject.callNET_Massimizza_finestra(); } /*----------------------------------------------------------------------*/ function Normale_finestra() { jsobject.callNET_Normale_finestra(); } /*----------------------------------------------------------------------*/ function Handshake_print_server(hps_id_punto) { jsobject.callNET_Handshake_print_server(hps_id_punto); } /*----------------------------------------------------------------------*/ /*----------------------------------------------------------------------*/ /************************* VARIE *************************/ /*----------------------------------------------------------------------*/ function is_function(func) { return typeof window[func] !== 'undefined' && $.isFunction(window[func]); } /*----------------------------------------------------------------------*/ function ByRef(br_val) { this.value = br_val; } /*----------------------------------------------------------------------*/ function get_pollici_schermo() { var dpi_x = document.getElementById('dpi').offsetWidth; var dpi_y = document.getElementById('dpi').offsetHeight; var width = screen.width / dpi_x; var height = screen.height / dpi_y; return Math.sqrt( Math.pow(width,2) + Math.pow(height,2) ).toFixed(1); } /*----------------------------------------------------------------------*/ function isTablet() { const userAgent = navigator.userAgent || ""; const platform = navigator.platform || ""; const screenWidth = window.screen.width; const isIPad = /iPad/i.test(userAgent) || (platform === 'MacIntel' && typeof navigator.maxTouchPoints !== 'undefined' && navigator.maxTouchPoints > 1); const isAndroidTablet = /Android/i.test(userAgent) && !/Mobile/i.test(userAgent); return isIPad || isAndroidTablet || screenWidth <= 1180; } /*----------------------------------------------------------------------*/ function logPrimaInterazione() { if (typeof prima_interazione_giorno === 'undefined' || StessoGiorno(prima_interazione_giorno, new Date()) === false) { $.ajax({ url: dominio + "plugin/log/" + "model_prima_interazione_giorno.asp?" + stringa_url(), success: function(data) { prima_interazione_giorno = new Date(); }, error: function (xhr, ajaxOptions, thrownError) { mostra_Modale_Alert("errore " + xhr.responseText); } }); /* if (typeof prima_interazione_giorno === 'undefined'){ window.addEventListener('touchstart', function() { var userAgent = navigator.userAgent.toLowerCase(); if (userAgent.includes("mobile")) { tipo_dispositivo = "mobile"; } else if (userAgent.includes("tablet")) { tipo_dispositivo = "tablet"; } else { tipo_dispositivo = "desktop"; } var settings = { "url": "https://www.wegest.it/zoho/nuovo_progetto/set_touch.php?ID_punto=" + id_punto + "&tipo_dispositivo=" + tipo_dispositivo, "method": "GET", "timeout": 0, }; $.ajax(settings).done(function (response) { console.log(response); }); }); } */ } } /*----------------------------------------------------------------------*/ function logClickBottoneStatistiche() { var settings = { "url": "https://www.wegest.it/zoho/nuovo_progetto/set_zoho_statistics.php?ID_punto=" + id_punto, "method": "GET", "timeout": 0, }; $.ajax(settings).done(function (response) { console.log(response); }); } /*----------------------------------------------------------------------*/ function getDensityDirectoryName() { if(!window.devicePixelRatio) { return 'mdpi'; } if(window.devicePixelRatio > 1.5) { return 'xhdpi'; } else if(window.devicePixelRatio > 1.0) { return 'hdpi'; } return 'mdpi'; } /*----------------------------------------------------------------------*/ function pixel() { return "\"\""; } /*----------------------------------------------------------------------*/ String.prototype.hexDecode = function(){ var r=''; for(var i=0;i= 35 && event.keyCode <= 39)) { // let it happen, don't do anything return; } else { // Ensure that it is a number and stop the keypress if (event.shiftKey || (event.keyCode < 48 || event.keyCode > 57) && (event.keyCode < 96 || event.keyCode > 105 )) { event.preventDefault(); } } }); } /*----------------------------------------------------------------------*/ function isNumber(n) { 'use strict'; n = n.replace(/\./g, '').replace(',', '.'); return !isNaN(parseFloat(n)) && isFinite(n); } /*----------------------------------------------------------------------*/ function input_solo_numeri_virgola_mobile(obj_input) { obj_input.keydown(function(event) { if ( //backspace, delete, tab, escape event.keyCode == 46 || event.keyCode == 8 || event.keyCode == 9 || event.keyCode == 27 || //enter event.keyCode == 13 || //Ctrl+A (event.keyCode == 65 && event.ctrlKey === true) || //home, end, left, right (event.keyCode >= 35 && event.keyCode <= 39) ) { // let it happen, don't do anything return; } else { // Ensure that it is a number and stop the keypress if (event.shiftKey || event.keyCode == 44 || (event.keyCode < 48 || event.keyCode > 57) && (event.keyCode < 96 || event.keyCode > 105 )) { event.preventDefault(); } } }); } /*----------------------------------------------------------------------*/ function input_validate(obj_input) { var valore_input_precedente = obj_input.val(); obj_input.on('change keyup', function(event) { if ( !event.target.validity.valid ) { obj_input.val( valore_input_precedente ); } else { valore_input_precedente = obj_input.val(); } }); } /*----------------------------------------------------------------------*/ function em(input) { var emSize = parseFloat($("body").css("font-size")); return (emSize * input); } /*----------------------------------------------------------------------*/ function form_provincia(path, name_provincia, name_comune, id_database_comune, prefisso_comune) { var select_provincia = $(path + " select[name='" + name_provincia + "']"); var provincia_selezionata = select_provincia.val(); var comune; var comune_messaggio = $(path + " ." + prefisso_comune + "_messaggio"); var comune_box = $(path + " ." + prefisso_comune + "_box"); select_provincia.chosen({width: "200px", allow_single_deselect: true}); select_provincia.trigger("chosen:updated"); select_provincia.chosen().change(function(e) { comune_box.html("Selezionare prima una provincia"); }); if (provincia_selezionata == '0') { comune_messaggio.html("Selezionare prima una provincia").show(); comune_box.hide(); } if (id_database_comune != '' && provincia_selezionata != '0') { $.ajax({ type: "POST", url: (typeof dominio === 'undefined' || !dominio ? "" : dominio) + "ajax_comuni.asp", contentType: "application/x-www-form-urlencoded;charset=ISO-8859-15", data: {'provincia' : provincia_selezionata, 'id_comune' : id_database_comune, 'nome_select_comune' : prefisso_comune}, success: function(msg){ if(msg == "errore") { } else { comune_box.html(msg); comune_box.show(); comune_messaggio.hide(); comune = $(path + " select[name='" + name_comune + "']"); comune.chosen({allow_single_deselect: true}); comune.trigger("chosen:updated"); } }, error: function(xhr, status, error) { } }); } if (select_provincia.attr("change") != "ok") { select_provincia.change(function() { provincia_selezionata = select_provincia.val(); if (provincia_selezionata == '0') { comune_messaggio.html("Selezionare prima una provincia").show(); comune_box.hide(); } else { $.ajax({ type: "POST", url: (typeof dominio === 'undefined' || !dominio ? "" : dominio) + "ajax_comuni.asp", contentType: "application/x-www-form-urlencoded;charset=ISO-8859-15", data: {'provincia' : provincia_selezionata, 'id_comune' : id_database_comune, 'nome_select_comune' : prefisso_comune}, success: function(msg){ if(msg == "errore") { } else { comune_box.html(msg).show(); comune_messaggio.hide(); comune = $(path + " select[name='" + name_comune + "']"); comune.chosen({allow_single_deselect: true}); comune.trigger("chosen:updated"); } }, error: function(xhr, status, error) { } }); } }); } select_provincia.attr("change", "ok"); } /*----------------------------------------------------------------------*/ function GetURLParameter(sParam) { var sPageURL = window.location.search.substring(1); var sURLVariables = sPageURL.split('&'); for (var i = 0; i < sURLVariables.length; i++) { var sParameterName = sURLVariables[i].split('='); if (sParameterName[0] == sParam) { return sParameterName[1]; } } } /*----------------------------------------------------------------------*/ function VarSet(varString, newValue) { eval(varString + " = " + newValue); } /*----------------------------------------------------------------------*/ function Select_HTML_da_JSON(shj_json, shj_valore_selezionato, shj_option, shj_value, shj_name_select) { var shj_output; shj_output = ""; return shj_output; } /*----------------------------------------------------------------------*/ /************************* VARIE *************************/ /*----------------------------------------------------------------------*/ // function login_esegui() { // $.ajax({ // url: dominio + "login_punto_ajax.asp?piattaforma=" + piattaforma, // contentType: "application/x-www-form-urlencoded;charset=ISO-8859-1", // type: "POST", // data: $("#pannello_login .pannello_login_form").serialize(), // dataType: "text", // success: function(data) { // var login = $.parseJSON(data); // if ( login.Risposta == "Errore") { // //dati errati // $( "#pannello_login .pannello_login_scorrevole_status" ).html( login.Testo_errore ).css('background-color','#C00'); // if ( login.Codice_errore == "8") { // $( "#pannello_login .pannello_login_scorrevole_status" ).append("Rinnova online"); // } // return false // } // else { // //dati corretti // id_label = login.ID_label; // id_attivita = login.ID_attivita; // id_punto = login.ID_punto; // id_operatore = login.ID_operatore; // id_culture = login.Culture.ID_culture; // id_agente = login.ID_agente; // Agente = login.Agente; // Nome_Punto = login.Nome_punto; // Provincia_Punto = login.Provincia_Punto; // Email_Punto = login.Email_punto; // Computer_Punto = login.Computer_Punto; // Telefono_Punto = login.Telefono_Punto; // Cellulare_Punto = login.Cellulare_Punto; // Stampante_Fiche_Punto = login.Stampante_Fiche_Punto; // Stampante_Ricevute_Punto = login.Stampante_Ricevute_Punto; // Scadenza = login.Scadenza; // a1 = login.a1; // a2 = login.a2; // a3 = login.a3; // a4 = login.a4; // Consulenza = login.Consulenza; // App_clienti = login.App_clienti; // Prenotado = login.Prenotado; // Culture = login.Culture; // $("#pannello_login input[type='button']").hide(); // $( "#pannello_login .pannello_login_scorrevole_status" ).html( "Accesso in corso" ).css('background-color','#090'); // carica_pannelli( login.File, 0); // $(".pannello_login_immagini").backstretch("destroy", true); // if (piattaforma == "desktop") { // //comunica le impostazioni di rete al server remoto // Handshake_print_server( id_punto ); // } // } // }, // error: function (xhr, ajaxOptions, thrownError) { // $("#pannello_login input[type='button']").show(); // //alert(xhr.status); // //alert("login errore " + xhr.responseText); // //alert(thrownError); // } // }); // } /*----------------------------------------------------------------------*/ function login2_esegui(le_form, le_button, le_status, le_spinner) { //aggiorna l'interfaccia le_button.hide(); le_spinner.show(); let form = {username: le_form.find('[name="username"]').val(), password: le_form.find('[name="password"]').val()}; let qs = ""; if (getDeviceInfo() === "chrome" || getDeviceInfo() === "safari") { qs = "&useragent=" + getDeviceInfo(); } if (form.username.length === 0 || form.password.length === 0) { le_button.show(); le_spinner.hide(); le_status.html( "Non hai inserito le credenziali" ).css({"background-color":"#C00", "color":"#FFF"}).show(); return; } if (!login_in_corso) { login_in_corso = true; $.ajax({ url: dominio + "login_punto_ajax.asp?piattaforma=" + piattaforma + "&e=" + env, contentType: "application/x-www-form-urlencoded;charset=ISO-8859-1", type: "POST", data: le_form.serialize() + qs, timeout: 2500, dataType: "text", success: function(data) { var login = $.parseJSON(data); if ( login.Risposta == "Errore") { //dati errati le_status.html( login.Testo_errore ).css({"background-color":"#C00", "color":"#FFF"}).show(); if ( login.Codice_errore == "8") { le_status.append("
Per informazioni chiamare il numero: 091.5640490.
"); } le_button.show(); le_spinner.hide(); login_in_corso = false; return false } else { //dati corretti le_form.find(".password_container i").remove(); const mpwa_providers = "|MPWA1|MPWA2|MPWA3|MPWA4|MPWA5|"; D = login.D; id_label = login.ID_label; id_attivita = login.ID_attivita; id_punto = login.ID_punto; id_operatore = login.ID_operatore; id_culture = login.Culture.ID_culture; id_agente = login.ID_agente; id_calendly = login.ID_calendly; ID_esterno = login.ID_E; Codice_WG = login.ID_C; Agente = login.Agente; Nome_Punto = login.Nome_punto; Indirizzo = login.Indirizzo; Civico = login.Civico; Comune_Punto = login.Comune_Punto; Provincia_Punto = login.Provincia_Punto; Regione_Punto = login.Regione_Punto; Cap_Punto = login.Cap_Punto; Email_Punto = login.Email_punto; Pec = login.Pec; Amministratore_Nome = login.Amministratore_Nome; Amministratore_Cognome = login.Amministratore_Cognome; Computer_Punto = login.Computer_Punto; Telefono_Punto = login.Telefono_Punto; Cellulare_Punto = login.Cellulare_Punto; Codice_Destinatario = login.Codice_Destinatario; Piva = login.Piva; Stampante_Fiche_Punto = login.Stampante_Fiche_Punto; Stampante_Ricevute_Punto = login.Stampante_Ricevute_Punto; Stampante_Scontrini = login.Stampante_Scontrini; Emissione_Scontrino_Digitale = login.Emissione_Scontrino_Digitale; Prodotto_consulenza = login.Prodotto_consulenza; Virtual_configurato = login.Virtual_configurato; Scadenza = login.Scadenza; Scadenza_app = login.Scadenza_app; Scadenza_plus = login.Scadenza_plus; ScadenzaT = login.ScadenzaT; a1 = login.a1; b12 = login.b12; a2 = login.a2; a3 = login.a3; a4 = login.a4; ftp1 = login.FTP1; ftp2 = login.FTP2; Punto_attivo = login.Punto_attivo; Consulenza = login.Consulenza; Landing = login.Landing; Whatsapp = login.WA; Whatsapp_P = login.WAP; Whatsapp_S = login.WAS; isMPWA = mpwa_providers.includes("|" + login.WAS + "|"); App_clienti = login.App_clienti; Prenotado = login.Prenotado; Invia_notifiche = login.Invia_notifiche; TW = login.TW; WAI = login.WAI; Culture = login.Culture; Versione_software = login.Versione_software; Scarica_anagrafica = login.SC; Accetta_Contratto = login.AC; Contratto_Accettato = login.CA; ID_consulente = login.ID_consulente; ID_ChargeBee = login.ID_ChargeBee; ID_ChargeBee_WeGest = login.ID_ChargeBee_WeGest; ID_ChargeBee_App = login.ID_ChargeBee_App; ID_ChargeBee_WeGestPlus = login.ID_ChargeBee_WeGestPlus; Settore1 = login.Settore1; Settore2 = login.Settore2; Settore3 = login.Settore3; Icone_categorie = login.Icone_categorie; Stile_grafico = login.St; Pet = login.Pe; SG = login.SG; SGN = login.SGN; PaMa = login.PaMa ? login.PaMa : "no"; PaSt = login.PaSt ? login.PaSt : "no"; Etichette = login.Etichette; Nexi_attivo = login.POS_attivo; ID_POS = login.ID_POS; ID_Business = login.ID_Business; Controlla_progressivo_fatture = login.Controlla_progressivo_fatture; Scarica_privacy_clienti = login.Scarica_privacy_clienti; Privilegi = []; Login_as = new URLSearchParams(window.location.search).get('login'); moment.locale(Culture.Locale); document.title = "WeGest - " + Nome_Punto; le_status.html( "Accesso in corso" ).css({"background-color":"#090", "color":"#FFF"}); carica_pannelli3( login.File, 0); if (piattaforma == "electron") { localStorage.clear(); } if (piattaforma == "desktop") { //comunica le impostazioni di rete al server remoto Handshake_print_server( id_punto ); } } }, error: function (xhr, ajaxOptions, thrownError) { le_button.show(); le_spinner.hide(); login_in_corso = false; if (ajaxOptions == "timeout") { le_status.html( "Stiamo riscontrando dei problemi in fase di accesso. La invitiamo a riavviare il modem, verificare la sua connessione di rete riprovare tra qualche minuto." ).css({"background-color":"#C00", "color":"#FFF"}).show(); } } }); } } /*----------------------------------------------------------------------*/ function stringa_url() { var d_ts = new Date(); var n_ts = d_ts.getTime(); return "id_attivita=" + id_attivita + "&id_punto=" + id_punto + "&id_operatore=" + id_operatore + "&id_culture=" + id_culture + "&a1=" + a1 + "&a2=" + a2 + "&a3=" + a3 + "&a4=" + a4 + "&piattaforma=" + piattaforma + "&env=" + env + "×tamp=" + n_ts; } /*----------------------------------------------------------------------*/ function dateAdd(date, interval, units) { var ret = new Date(date); switch(interval) { case 'year' : ret.setFullYear(ret.getFullYear() + units); break; case 'quarter': ret.setMonth(ret.getMonth() + 3*units); break; case 'month' : ret.setMonth(ret.getMonth() + units); break; case 'week' : ret.setDate(ret.getDate() + 7*units); break; case 'day' : ret.setDate(ret.getDate() + units); break; case 'hour' : ret.setTime(ret.getTime() + units*3600000); break; case 'minute' : ret.setTime(ret.getTime() + units*60000); break; case 'second' : ret.setTime(ret.getTime() + units*1000); break; default : ret = undefined; break; } return ret; } /*----------------------------------------------------------------------*/ function getDatePlusNMonths(date, months){ var splitted = date.split("/"); var date_dd = parseInt(splitted[0]) < 10 ? ("0" + parseInt(splitted[0])) : parseInt(splitted[0]); var date_mm = parseInt(splitted[1]) < 10 ? ("0" + parseInt(splitted[1])) : parseInt(splitted[1]); var date_yyyy = parseInt(splitted[2]); date = new Date(date_mm + "/" + date_dd + "/" + date_yyyy); var newDate = new Date(date.setMonth(date.getMonth() + months)); var dd = (newDate.getDate()); var mm = (newDate.getMonth() +1); var aaaa = (newDate.getFullYear()); if (dd < 10) { dd = "0" + dd; } if (mm < 10) { mm = "0" + mm; } return dd + "/" + mm + "/" + aaaa; } /*----------------------------------------------------------------------*/ function getCurrentTime() { const now = new Date(); const hours = now.getHours().toString().padStart(2, '0'); const minutes = now.getMinutes().toString().padStart(2, '0'); const seconds = now.getSeconds().toString().padStart(2, '0'); const milliseconds = now.getMilliseconds().toString().padStart(3, '0'); return `${hours}:${minutes}:${seconds} ${milliseconds}`; } /*----------------------------------------------------------------------*/ function parseDateFromXml(date){ var amd = date.split('-'); return amd[2] + "/" + amd[1] + "/" + amd[0]; } /*----------------------------------------------------------------------*/ function convertHex(hex, opacity){ hex = hex.replace('#',''); r = parseInt(hex.substring(0,2), 16); g = parseInt(hex.substring(2,4), 16); b = parseInt(hex.substring(4,6), 16); result = 'rgba('+r+','+g+','+b+','+opacity/100+')'; return result; } /*----------------------------------------------------------------------*/ function convertHex2RGB(hex){ hex = hex.replace('#',''); r = parseInt(hex.substring(0,2), 16); g = parseInt(hex.substring(2,4), 16); b = parseInt(hex.substring(4,6), 16); result = 'rgb(' + r + ',' + g + ',' + b + ')'; return result; } /*----------------------------------------------------------------------*/ function ahex2rgba(hex){ hex = hex.replace('#',''); a = parseInt(hex.substring(0,2), 16); r = parseInt(hex.substring(0,2), 16); g = parseInt(hex.substring(2,4), 16); b = parseInt(hex.substring(4,6), 16); //create rgba string var rgba = "rgba(" + r + "," + g + "," + b + "," + (a/100) + ")"; //return rgba colour return rgba; } /*----------------------------------------------------------------------*/ function shadeRGBColor(color, percent) { var f = color.split(","); var t = percent < 0 ? 0 :255; var p = percent < 0 ? percent*-1 : percent; var R = parseInt(f[0].slice(4)); var G = parseInt(f[1]); var B = parseInt(f[2]); return "rgb(" + (Math.round((t-R)*p)+R) + "," + (Math.round((t-G)*p) + G) + "," + (Math.round((t-B)*p)+B) + ")"; } /*----------------------------------------------------------------------*/ function shadeHexColor(colore, quantita) { var r = parseInt(colore.substring(0,2), 16); var g = parseInt(colore.substring(2,4), 16); var b = parseInt(colore.substring(4,6), 16); r = Math.round(Math.min(Math.max(0, r - quantita), 255)); g = Math.round(Math.min(Math.max(0, g - quantita), 255)); b = Math.round(Math.min(Math.max(0, b - quantita), 255)); return "rgb("+r+","+g+","+b+")"; } /*----------------------------------------------------------------------*/ function Button_Accordion_Inizializza( bai_prefix ) { //inizializza i pulsanti statistiche bai_prefix.find(".button_accordion").each(function( index ) { $(this) .find(".nome_button").html( " " + $(this).attr("nome") ) .end() .find(".riga_dati:even").addClass("alternata"); }); //espande o contrae i dati bai_prefix.find(".button_accordion").not("input").click(function(e) { if ( $(this).find(".totale_riepilogo").is(":visible") ) { $(this) .find(".totale_riepilogo").fadeOut() .end() .find(".nome_button").html( " " + $(this).attr("nome") ); $(this).find(".button_dati").slideToggle( "slow" ); } else { if (e.target.type != "text" && $(e.target).hasClass('no_accordion_click') == false) { $(this) .find(".totale_riepilogo").fadeIn() .end() .find(".nome_button").html( " " + $(this).attr("nome") ); $(this).find(".button_dati").slideToggle( "slow" ); } } }); //Apre il primo bai_prefix.find(".button_accordion:first").click(); } /*----------------------------------------------------------------------*/ function ValidateEmail(value) { var mailformat = /(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\])/; if (value.match(mailformat) === null) { return false; } else { return true; } } /*----------------------------------------------------------------------*/ function ValidateUrl(value) { var urlformat = /http(s?):\/\/(www\.)?[A-Za-z0-9\.-]{3,}\.[A-Za-z]{2,}/g; if (value.match(urlformat) === null) { return false; } else { return true; } } /*----------------------------------------------------------------------*/ function ValidateNumber(value, decimal_separator) { var numberformat; if (decimal_separator === ".") { numberformat = /^(\d+|\d{1,3}(\,\d{3})*)(.\d+)?$/; } else { numberformat = /^(\d+|\d{1,3}(\.\d{3})*)(,\d+)?$/; } if (value.match(numberformat) === null) { return false; } else { return true; } } /*----------------------------------------------------------------------*/ function LogHandler(args){ var url = "https://www.t0p.it/logs/"; var userAgent = navigator ? navigator.userAgent : "-"; var origine = window.location.href ? window.location.href : "/?"; var parametri = args.Parametri; var risposta = args.Risposta; if (typeof args.Parametri != "string"){ parametri = JSON.stringify(args.Parametri); } if (args.Risposta){ if (typeof args.Risposta != "string"){ risposta = JSON.stringify(args.Risposta); } } else{ risposta = ""; } $.ajax({ type: "POST", url: url, data: { ID_punto: id_punto, ID_cliente: args.ID_cliente, Piattaforma: "wegest", Url: args.Url, Metodo: args.Metodo, Parametri: parametri, Risposta: risposta, Risposta_codice: args.Risposta_codice, Etichetta: args.Etichetta, Note: args.Note, UserAgent: userAgent, Origine: origine }, success: function (r) {} }); } /*----------------------------------------------------------------------*/ function LogAppuntamenti(args){ $.ajax({ type: "POST", url: "https://www.t0p.it/logs/agenda/", data: { ID_appuntamento: args.ID_appuntamento, ID_punto: id_punto, ID_cliente: args.ID_cliente, Data: args.Data, Inizio: args.Inizio, Azione: args.Azione, Servizi: args.Servizi, Piattaforma: "wegest", Note: args.Note }, success: function (r) {} }); } /*----------------------------------------------------------------------*/ function LogsAppuntamenti(azione, dettagli_servizi){ var ID_Cliente, ID_appuntamento; switch (azione) { case "creazione": case "eliminazione": case "modifica": var dettagli = []; var inizio_servizio = "", fine_servizio, time; for (let i = 0; i < dettagli_servizi.servizio.length; i++) { const s = dettagli_servizi.servizio[i]; ID_Cliente = dettagli_servizi.ID_Cliente; ID_appuntamento = dettagli_servizi.ID_appuntamento; if( inizio_servizio == "") inizio_servizio = dettagli_servizi.inizio[0]; if( inizio_servizio.split(":")[1] == "0" ) inizio_servizio = inizio_servizio.split(":")[0] + ":00"; time = moment(inizio_servizio, "HH:mm"); time.add(dettagli_servizi["durata_operatore_" + s][0], 'minutes'); fine_servizio = time.format("HH:mm"); if(dettagli_servizi["eliminato_" + s] == "no"){ dettagli.push({ ID_servizio: dettagli_servizi["id_servizio_" + s][0], ID_operatore: dettagli_servizi["operatore_" + s][0], ID_cliente: dettagli_servizi.ID_Cliente, ID_appuntamento: dettagli_servizi.ID_appuntamento, Note: dettagli_servizi.Note, Data_appuntamento: dettagli_servizi.data[0], Inizio_servizio: inizio_servizio, Fine_servizio: fine_servizio }); } inizio_servizio = fine_servizio } break; case "spostamento": var appuntamenti = {}; var data = dettagli_servizi.data[0]; for (var key in dettagli_servizi) { if (key.startsWith('id_appuntamento_servizio_')) { var appuntamentoId = dettagli_servizi[key][0]; if (!appuntamenti[appuntamentoId]) { appuntamenti[appuntamentoId] = { Appuntamento: appuntamentoId, Servizi: [] }; } var servizioId = key.split('_')[3]; var servizioObj = {}; for (var k in dettagli_servizi) { if (k.endsWith('_' + servizioId)) { var newKey = k.split('_servizio_' + servizioId)[0]; // Rinomino le chiavi per rispettare la coerenza con gli altri case if (newKey === 'id_r') newKey = 'ID_servizio'; else if (newKey === 'id_appuntamento') newKey = 'ID_appuntamento'; else if (newKey === 'inizio') newKey = 'Inizio_servizio'; else if (newKey === 'durata') newKey = 'durata_servizio'; else if (newKey === 'operatore') newKey = 'ID_operatore'; else if (newKey === 'id_cliente') newKey = 'ID_cliente'; else true; // i valori di ogni chiave sono sempre array con un elemento // quindi seleziono il primo servizioObj[newKey] = dettagli_servizi[k][0]; } } // Calcola la Fine_servizio var inizio = moment(servizioObj['Inizio_servizio'], 'HH:mm'); var fine = inizio.clone().add(parseInt(servizioObj['durata_servizio']), 'minutes'); servizioObj['Fine_servizio'] = fine.format('HH:mm'); servizioObj["Data_appuntamento"] = data; appuntamenti[appuntamentoId].Servizi.push(servizioObj); } } var dettagli = Object.values(appuntamenti); break; default: break; } $.ajax({ type: "POST", url: "https://www.t0p.it/logs/agenda/index3.php", data: {data: JSON.stringify({ ID_punto: id_punto, Azione: azione, Piattaforma: "wegest", ID_cliente: ID_Cliente, ID_appuntamento: ID_appuntamento, Dettagli: dettagli })}, success: function (r) {} }); } /*----------------------------------------------------------------------*/ function LogAnagrafica(args){ $.ajax({ type: "POST", url: "https://www.t0p.it/logs/anagrafica/", data: { ID_punto: id_punto, ID_cliente: args.ID_cliente, Azione: args.Azione, Nome_precedente: args.Nome_precedente, Nome: args.Nome, Dettagli: args.Dettagli, Piattaforma: "wegest", Note: args.Note }, success: function (r) {} }); } /*----------------------------------------------------------------------*/ function LogNoteTecniche(args){ $.ajax({ type: "POST", url: "https://www.t0p.it/logs/note_tecniche/index.php", data: { ID_punto: id_punto, ID_cliente: args.ID_cliente, ID_nota_tecnica: args.ID_nota_tecnica, Dettagli: args.Dettagli, Azione: args.Azione, Piattaforma: "wegest", }, success: function (r) {} }); } /*----------------------------------------------------------------------*/ // trasforma una querystring in oggetto javascript // gestisce anche chiavi duplicate, creando sempre array function convertURLParamsToObj(urlEncodedString){ const urlParams = new URLSearchParams(urlEncodedString); const obj = {}; for (const [key, value] of urlParams) { if (obj[key]) { obj[key].push(value); } else { obj[key] = [value]; } } return obj; } /*----------------------------------------------------------------------*/ // trasforma un oggetto javascript in querystring function objectToUri(obj) { const keyValuePairs = []; for (const key in obj) { if (Object.hasOwnProperty.call(obj, key)) { const value = encodeURIComponent(obj[key]); keyValuePairs.push(`${key}=${value}`); } } return `?${keyValuePairs.join('&')}`; } /*----------------------------------------------------------------------*/ function smsContaCaratteri(cc_oggetto, cc_textarea) { var cc_testo; var cc_lunghezza_testo; var cc_num_caratteri_speciali; var cc_lunghezza_testo_con_speciali; var cc_numero_messaggi; var cc_output = ""; cc_testo = cc_textarea.val(); cc_lunghezza_testo = cc_testo.length; cc_lunghezza_testo_con_speciali = 0; cc_num_caratteri_speciali = 0; cc_num_caratteri_speciali += (cc_testo.length - cc_testo.replace(/€/g, "").length); cc_num_caratteri_speciali += (cc_testo.length - cc_testo.replace(/^/g, "").length); cc_num_caratteri_speciali += (cc_testo.length - cc_testo.replace(/{/g, "").length); cc_num_caratteri_speciali += (cc_testo.length - cc_testo.replace(/}/g, "").length); cc_num_caratteri_speciali += (cc_testo.length - cc_testo.replace(/\\/g, "").length); cc_num_caratteri_speciali += (cc_testo.length - cc_testo.replace(/\[/g, "").length); cc_num_caratteri_speciali += (cc_testo.length - cc_testo.replace(/~/g, "").length); cc_num_caratteri_speciali += (cc_testo.length - cc_testo.replace(/]/g, "").length); cc_num_caratteri_speciali += (cc_testo.length - cc_testo.replace(/|/g, "").length); cc_lunghezza_testo_con_speciali = parseInt(cc_lunghezza_testo + cc_num_caratteri_speciali); cc_numero_messaggi = parseInt(cc_lunghezza_testo_con_speciali / 160); if (cc_lunghezza_testo_con_speciali % 160 > 0) { cc_numero_messaggi += 1 } // Composizione del testo if (cc_numero_messaggi > 1) { cc_output = " " + cc_numero_messaggi + " " + LinguaT({sezione:"SAT", tag:"Messaggi"}) + ""; } else { cc_output = cc_numero_messaggi + " " + (cc_numero_messaggi == 1 ? LinguaT({sezione:"SAT", tag:"Messaggio"}) : LinguaT({sezione:"SAT", tag:"Messaggi"})); } cc_output += " / " + cc_lunghezza_testo_con_speciali + " " + (cc_lunghezza_testo_con_speciali == 1 ? LinguaT({sezione:"SAT", tag:"Carattere"}) : LinguaT({sezione:"SAT", tag:"Caratteri"})); cc_oggetto.find("." + cc_textarea.attr("area_messaggio")).html( cc_output ); } function getDeviceInfo() { let userAgent = navigator.userAgent.toLowerCase(); if (userAgent.includes("chrome") && !userAgent.includes("edg") && !userAgent.includes("opr")) { return "chrome"; } else if (userAgent.includes("safari") && !userAgent.includes("chrome")) { return "safari"; } else if (userAgent.includes("firefox")) { return "firefox"; } else if (userAgent.includes("edg")) { return "edge"; } else if (userAgent.includes("opr") || userAgent.includes("opera")) { return "opera"; } return ""; } /*----------------------------------------------------------------------*/ /*----------------------------------------------------------------------*/ var obj_window; var obj_window_altezza; var obj_window_larghezza; var box_wrapper; var box_wrapper_altezza; var box_wrapper_larghezza; var box_pannelli; var box_menu; /*----------------------------------------------------------------------*/ function ReLayout() { //window obj_window = $(window); obj_window_altezza = obj_window.height(); obj_window_larghezza = obj_window.width(); //wrapper box_wrapper = $("#wrapper"); box_wrapper.outerHeight( obj_window_altezza ); box_wrapper.outerWidth( obj_window_larghezza ); box_wrapper_altezza = obj_window_altezza; box_wrapper_larghezza = obj_window_larghezza; //pannelli box_pannelli = $(".pannello"); box_pannelli.outerHeight( box_wrapper_altezza ); box_pannelli.each(function(index, element) { if ($(this).attr("relayout") != "no") { $(this).outerWidth( box_wrapper_larghezza ); } }); $(".pannello_interno").css('max-height', (box_wrapper_altezza - parseInt($(".pannello_interno").css('margin-top'))) + "px"); //menu box_menu = $("#menu"); box_menu.outerHeight( box_wrapper_altezza ); } /*----------------------------------------------------------------------*/ $(function() { //pulsante impostazioni $("#pulsante_impostazioni").click(function(e) { $("#menu .pulsante_menu").removeClass("selezionato"); box_pannelli.hide(); $( "#pannello_impostazioni" ).show(); eval( "pannello_impostazioni_inizializza()" ); }); $(window).resize(function() { ReLayout(); }); }); /*----------------------------------------------------------------------*/ function carica_pannelli(cp_array_pannelli, cp_indice) { var numero_pannelli = cp_array_pannelli.length; if (cp_indice < numero_pannelli) { $.each(cp_array_pannelli[cp_indice], function(key, value) { if (value.indexOf(".js") > 0) { $.getScript(dominio + value, function (pannello) { $("#bip").html(key); carica_pannelli(cp_array_pannelli, cp_indice + 1); }); } else { $.get(dominio + value, function (pannello) { box_wrapper.append(pannello); $("#bip").html(key); carica_pannelli(cp_array_pannelli, cp_indice + 1); }); } }); } else { ReLayout(); $( "#pannello_dashboard" ).css({"display":"flex"}); $( "#pannello_menu" ).show(); pannello_dashboard_inizializza(); //fa sparire il pannello di login $("#pannello_login").animate({'top': (obj_window_altezza +30)*-1}, { duration:900, complete: function() { $(this).hide(); $("#pulsante_impostazioni").show(); } } ); $("input").keypress(function (e) { if (e.which == 13) { e.preventDefault(); } }); $("button").click(function(e) { e.preventDefault(); }); } } /*----------------------------------------------------------------------*/ function carica_pannelli2(cp_array_pannelli, cp_indice) { var numero_pannelli = cp_array_pannelli.length; if (cp_indice < numero_pannelli) { $.each(cp_array_pannelli[cp_indice], function(key, value) { if (value.indexOf(".js") > 0) { $.getScript(dominio + value, function (pannello) { //box_wrapper.append(pannello); $("#pannello_login .avanzamento").html(key); carica_pannelli2(cp_array_pannelli, cp_indice + 1); }); } else { $.get(dominio + value, function (pannello) { if (key == "Menu") { box_wrapper.find(".wrapper_menu").append(pannello); } else { box_wrapper.find(".wrapper_contents").append(pannello); } // box_wrapper.append(pannello); $("#pannello_login .avanzamento").html(key); carica_pannelli2(cp_array_pannelli, cp_indice + 1); }); } }); } else { $("#wrapper .wrapper_contents").show(); $("#wrapper .wrapper_menu").show(); ReLayout(); box_pannelli.hide(); $( "#pannello_menu" ).show(); setTimeout(function() { switch (a1) { case "0": case "1": $( "#pannello_dashboard" ).show(); pannello_dashboard_inizializza(); break; case "2": $( "#pannello_statistiche" ).show(); pannello_statistiche_inizializza(); break; case "3": $( "#pannello_magazzino" ).show(); pannello_magazzino_inizializza(); break; default: break; } }, 100); //fa sparire il pannello di login $("#pannello_login").animate({'top': (obj_window_altezza +30)*-1}, { duration:900, complete: function() { $(this).hide(); // nuona impostazione per nascondere il pulsante impostazione if (a1 == '1' && b12 == 'no') { $("#pulsante_impostazioni").hide(); } else { $("#pulsante_impostazioni").show(); } } } ); $("input").keypress(function (e) { if (e.which == 13) { e.preventDefault(); } }); $("button").click(function(e) { e.preventDefault(); }); } } /*----------------------------------------------------------------------*/ var carica_pannelli3_bool = false; function carica_pannelli3(cp_array_pannelli, cp_indice) { var numero_pannelli = cp_array_pannelli.length; var pannello; if (carica_pannelli3_bool == false) { $.getScript(dominio + "js/layout_load.js?d=" + (new Date().getTime()), function () { carica_pannelli3_bool = true; carica_pannelli3(cp_array_pannelli, cp_indice); }); } else { if (cp_indice < numero_pannelli) { // Ci sono ancora pannelli da caricare if (typeof cp_array_pannelli[cp_indice].S != "undefined") { // nuovo formato json pannello = cp_array_pannelli[cp_indice]; pannello.loaded = false; pannello.lastOpened = null; // Carica solo se l'azione è l (l -> load, dl -> don't load) if (pannello.A == "l") { // Cicla tra tutti i file for (var i = 0; i < pannello.F.length; i++) { layout_load({ slug: pannello.S, element: pannello.F[i], type: (pannello.F[i].indexOf(".js") > 0 ? "js" : "html"), callback: function() { $("#pannello_login .avanzamento").html(pannello.S); } }); } // Caricato pannello.loaded = true; } // Aggiunge all'array globale layout_sezioni_caricate.push(pannello); // Carica il pannello successivo carica_pannelli3(cp_array_pannelli, cp_indice + 1); } else { // formato json classico $.each(cp_array_pannelli[cp_indice], function(key, value) { layout_load({ slug: key, element: value, type: (value.indexOf(".js") > 0 ? "js" : "html"), callback: function() { $("#pannello_login .avanzamento").html(key); carica_pannelli3(cp_array_pannelli, cp_indice + 1); } }); }); } } else { // Ha completato l'array $("#wrapper .wrapper_contents").show(); $("#wrapper .wrapper_menu").show(); ReLayout(); box_pannelli.hide(); $( "#pannello_menu" ).show(); setTimeout(function() { switch (a1) { case "0": case "1": $( "#pannello_dashboard" ).show(); pannello_dashboard_inizializza(); break; case "2": $( "#pannello_statistiche" ).show(); pannello_statistiche_inizializza(); break; default: break; } }, 100); //fa sparire il pannello di login $("#pannello_login").animate({'top': (obj_window_altezza +30)*-1}, { duration:900, complete: function() { $(this).hide(); // nuona impostazione per nascondere il pulsante impostazione if (a1 == '1' && b12 == 'no') { $("#pulsante_impostazioni").hide(); } else { if (Privilegi.length < 5 && !(Privilegi.includes("Impostazioni"))) { $("#pulsante_impostazioni").hide(); } else { $("#pulsante_impostazioni").show(); } } } } ); $("input").keypress(function (e) { if (e.which == 13) { e.preventDefault(); } }); $("button").click(function(e) { e.preventDefault(); }); } } } /*----------------------------------------------------------------------*/ function layout_attach(panel) { if (panel.Cache != "") { box_wrapper.find(" > .wrapper_contents").append(panel.Cache); box_pannelli = box_wrapper.find("> .wrapper_contents > .pannello"); box_pannelli.filter( "#" + panel.Panel_Name ).show(); panel.Cache = ""; } } /*----------------------------------------------------------------------*/ function layout_detach(panel) { if (panel.Cache == "") { if (panel.DOM.Pannello.is(":hidden")) { panel.Cache = box_pannelli.filter( "#" + panel.Panel_Name ).detach(); } } } /*----------------------------------------------------------------------*/ /*----------------------------------------------------------------------*/ piattaforma = GetURLParameter("piattaforma"); env = typeof GetURLParameter("e") == "undefined" ? "" : GetURLParameter("e"); versione = parseInt(GetURLParameter("v")); /*----------------------------------------------------------------------*/ dominio = "http://www.i-salon.eu/"; dominio = window.location.protocol + "//" + window.location.host + "/"; /*----------------------------------------------------------------------*/ ajax_timeout = 6000; ajax_timeout_msg_errore = "Tempo assegnato all'operazione scaduto: verificare la connessione e riprovare."; /*----------------------------------------------------------------------*/ //modifica per formattazione euro Number.prototype.formatEuro = function(c, d, t){ var n = this, c = isNaN(c = Math.abs(c)) ? 2 : c, d = d == undefined ? "," : d, t = t == undefined ? "." : t, s = n < 0 ? "-" : "", i = parseInt(n = Math.abs(+n || 0).toFixed(c)) + "", j = (j = i.length) > 3 ? j % 3 : 0; return s + (j ? i.substr(0, j) + t : "") + i.substr(j).replace(/(\d{3})(?=\d)/g, "$1" + t) + (c ? d + Math.abs(n - i).toFixed(c).slice(2) : ""); }; /*----------------------------------------------------------------------*/ //serve per rendere case insensitive la ricerca jQuery.expr[':'].Contains = function(a,i,m){ return (a.textContent || a.innerText || "").toUpperCase().indexOf(m[3].toUpperCase())>=0; }; /*----------------------------------------------------------------------*/ // $.datepicker.setDefaults( $.datepicker.regional[ "it" ] ); /*----------------------------------------------------------------------*/ //imposta la lingua italiana sulla libreria moment moment.lang('it', { relativeTime : { future: "%s", past: "%s", s: "alcuni secondi", m: "un minuto", mm: "%d minuti", h: "un'ora", hh: "%d ore", d: "un giorno", dd: "%d giorni", M: "un mese", MM: "%d mesi", y: "un anno", yy: "%d anni" } }); /*----------------------------------------------------------------------*/ // deprecato giorni_settimana_DB = ["Lunedi","Martedi","Mercoledi","Giovedi","Venerdi","Sabato","Domenica"]; /*----------------------------------------------------------------------*/ ion.sound({ sounds: [ { name: "computer_error" }, { name: "glass", } ], volume: 1, path: dominio + "media/suoni/", preload: true }); /*----------------------------------------------------------------------*/ $(function() { $.datepicker.setDefaults( $.datepicker.regional[ "it" ] ); ReLayout(); $("#pannello_login").show(); pollici_schermo = parseInt(get_pollici_schermo()); //alert(pollici_schermo); if (box_wrapper_larghezza > 1600 && box_wrapper_larghezza < 2000) { $("body").css("font-size","18px"); } else if (box_wrapper_larghezza >= 2000) { $("body").css("font-size","22px"); } $.support.cors = true; }); /*----------------------------------------------------------------------*/ //alert(document.documentMode); //alert(navigator.userAgent); //// if (navigator.userAgent.indexOf("MSIE", 0) != -1 || navigator.userAgent.indexOf("Trident", 0) != -1) { if (navigator.userAgent.indexOf("MSIE", 0) != -1 || navigator.userAgent.indexOf("Trident", 0) != -1 || navigator.userAgent.indexOf("Edge/", 0) != -1) { window.location = dominio + "browser_non_compatibile.asp"; } else { if (piattaforma != "electron") { window.onbeforeunload = function() { return 'Sei sicuro di voler lasciare la pagina?'; }; } } /*----------------------------------------------------------------------*/