var strTickboxSuccessiva = ''; var strTickboxPrecedente = ''; var strTickboxChiudi = ''; var strTickboxImmagine = ''; var strTickboxDi = ''; var strIsDateOne = ''; var strIsDateTwo = ''; var strIsDateThree = ''; var strIsDateFour = ''; var strIsDateFive = ''; var strIsEmailValid = ''; var strRicercaText1 = ''; var strRicercaText2 = ''; var strRicercaText3 = ''; var strConfrontaMax = ''; var strConfrontaMin = ''; // ********************** TRIM ************************************** String.prototype.ltrim = function () { return this.replace(/^\s*/, "");} String.prototype.rtrim = function () { return this.replace(/\s*$/, "");} String.prototype.trim = function () { return this.ltrim().rtrim(); } // ****************************************************************** // *********** CONTROLLO DI VALIDITA DI UN CAMPO DATA *************** function isDate(dateStr) { var result = checkDate(dateStr); if (result == 1) {alert(strIsDateOne);return false;} if (result == 2) {alert(strIsDateTwo);return false;} if (result == 3) {alert(strIsDateThree);return false;} if (result == 4) {alert(strIsDateFour);return false;} if (result == 5) {alert(strIsDateFive);return false;} return true; } function checkDate(dateStr) { /* Valori ritornati: 0 -> OK 1 -> La data inserita non nel formato corretto. 2 -> Il mese deve essere compreso tra 1 e 12. 3 -> Il giorno deve essere compreso tra 1 e 31. 4 -> Il mese non ha 31 giorni! 5 -> Febbraio non ha cos tanti giorni! */ //var datePat = /^(\d{1,2})(\/|-)(\d{1,2})(\/|-)(\d{4})$/; var datePat = /^(\d{1,2})(\/)(\d{1,2})(\/)(\d{4})$/; var matchArray = dateStr.match(datePat); // is the format ok? if (matchArray == null) { return 1; } day = matchArray[1]; // p@rse date into variables month = matchArray[3]; year = matchArray[5]; if (month < 1 || month > 12) { // check month range return 2; } if (day < 1 || day > 31) { return 3; } if ((month==4 || month==6 || month==9 || month==11) && day==31) { return 4; } if (month == 2) { // check for february 29th var isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0)); if (day > 29 || (day==29 && !isleap)) { return 5; } } return 0; // date is valid } // ****************************************************************** // *********** CONTROLLO DI VALIDITA DI UN CAMPO MAIL *************** function isEmailValid(checkThisEmail) { var result = checkEmailValid(checkThisEmail); testExp = new RegExp('Android|webOS|iPhone|iPad|BlackBerry|Windows Phone|Opera Mini|IEMobile|Mobile' , 'i'); if (result == 1 && !testExp.test(navigator.userAgent)) {alert(strIsEmailValid);return false;} return true; } function checkPatternChars(vlu, pattern, required) { if (required === undefined) { required = false; } if (!required && vlu == "") { return true; } if (!pattern.test(vlu)) { return (false); } else { return true; } } function checkEmailValid(checkThisEmail) { /* Valori ritornati: 0 -> OK 1 -> KO */ var pattern; //pattern = /^[a-zA-Z0-9._%-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,9}$/; pattern = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,9})+$/; if (!checkPatternChars(checkThisEmail, pattern, true)) { return 1; } return 0; } // ****************************************************************** // ************** RIPRISTINA BACKGROUNDCOLOR DI UN CAMPO ************ function cln(e,c) { document.getElementById(e).style.backgroundColor = c; } // ****************************************************************** // ****************************************************************** function roundDownNumber(numberField,rlength) { var newnumber = Math.round(numberField*Math.pow(10,rlength)-0.1)/Math.pow(10,rlength); return newnumber; } function roundUpNumber(numberField,rlength) { var newnumber = Math.round(numberField*Math.pow(10,rlength)+0.1)/Math.pow(10,rlength); return newnumber; } function roundNumber(numberField,rlength) { var newnumber = Math.round(numberField*Math.pow(10,rlength))/Math.pow(10,rlength); return newnumber; } function formatCurrency(num) { num = num.toString().replace(/\|\,/g,''); if(isNaN(num)) num = "0"; sign = (num == (num = Math.abs(num))); num = Math.floor(num*100+0.50000000001); cents = num%100; num = Math.floor(num/100).toString(); if(cents<10) cents = "0" + cents; for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++) num = num.substring(0,num.length-(4*i+3))+'.'+num.substring(num.length-(4*i+3)); return (((sign)?'':'-') + '' + num + ',' + cents); } function isNumber(val) { var Segno = ''; if (val.trim() == '') {return(false);} // tolgo un eventuale segno meno if (val.indexOf('-') == 0) {Segno = '-'; val = val.substr(1);} // se contiene qualche lettera alora non valido if (!checkValidChars(val)) {return(false);} var arParti = val.split(','); // se c' pi di una virgola allora non valido if (arParti.length > 2) {return(false);} var Intero = arParti[0]; var Decimale = arParti[1]; if (Decimale) { // la parte decimale deve contenere solo numeri if (!checkDigit(Decimale)) {return(false);} } else { // se ho messo la virgola ma non ho messo decimali allora non valido if (val.indexOf(',') >= 0) {return(false);} } if (Intero) { // se la parte intera contiene almeno un punto allora devo fare ulteriori verifiche // altrimenti va bene cos if (Intero.indexOf('.') >= 0) { var arPezziDiIntero = Intero.split('.'); for (i = 0; i < arPezziDiIntero.length; i++) { var Pezzo = arPezziDiIntero[i]; if (i == 0) { if (Pezzo.length > 3 || Pezzo.length == 0) {return(false);} } else { if (Pezzo.length != 3) {return(false);} } } } } else { return(false); } return(true); } function checkValidChars(val) { var nums = "0123456789,.-"; if (val.length==0)return(false); for (var n=0; n < val.length; n++){ if(nums.indexOf(val.charAt(n))==-1) {return(false);} } return(true); } function checkDigit(val) { var nums = "0123456789"; if (val.length==0)return(false); for (var n=0; n < val.length; n++){ if(nums.indexOf(val.charAt(n))==-1) {return(false);} } return(true); } // ****************************************************************** // ******** FUNZIONE CHE FA APPARIRE E SCOMPARIRE LIVELLI *********** function dettagli(txt,txt2,n,numeroTag) { for (i=1; i<=9; i++) { if (document.getElementById(txt+i) != undefined) { document.getElementById(txt+i).style.display='none'; } } for (i=1; i<9; i++) { if (document.getElementById(txt2+i) != undefined) { document.getElementById(txt2+i).className='inattivo'; } } document.getElementById(txt+n).style.display='block'; document.getElementById(txt2+n).className='attivo'; } // ****************************************************************** function loadBundleDaScheda(codiceProdotto) { $.ajax({ type: "POST", data : { Codice:codiceProdotto, isFromScheda:1 }, url: "/EndUser/promo/bundle_dettaglio.asp", success: function(msg) { $("#schedeDett6").html(msg); }, error: function() { $("#schedeDett6").html('ERRORE.'); } }); } function loadOpinioniDaScheda(codiceProdotto,idLingua) { $.ajax({ type: "POST", data : { CodArt:codiceProdotto, idLingua:idLingua }, url: "/International/OpinioniProdotto/PagOpinioniInc.asp", success: function(msg) { $("#schedeDett7").html(msg); }, error: function() { $("#schedeDett7").html('ERRORE.'); } }); } function loadRicercaSW(codiceProdotto,idLingua) { $.ajax({ type: "POST", data : { CodArt:codiceProdotto, idLingua:idLingua }, url: "/EndUser/ricerche/risultatiRicercaSw.asp", success: function(msg) { $("#schedeDett8").html(msg); }, error: function() { $("#schedeDett8").html('ERRORE.'); } }); } function callSegugioInScheda(codiceProdotto) { $.ajax({ type: "POST", data : { codice:codiceProdotto, parametroRandom : Math.random() }, url: "/EndUser/Segugio/segugioMini.asp", success: function(msg) { $("#divSegugio").html(msg); $("#divSegugioContenitore").css('display','block'); }, error: function() { $("#divSegugio").html('ERRORE.'); $("#divSegugioContenitore").css('display','block'); } }); } function leggiDettagli(imgApre, divDettagli) { var objdivDettagli; var objimgApre; objdivDettagli=document.getElementById(divDettagli); objimgApre=document.getElementById(imgApre); if (objimgApre) { if (objimgApre.style.backgroundImage == "url(/Img/ico_chiudiDett.gif)") { objimgApre.style.backgroundImage = "url(/Img/ico_apriDett.gif)"; } else { objimgApre.style.backgroundImage = "url(/Img/ico_chiudiDett.gif)"; } } if (objdivDettagli) { if (objdivDettagli.style.display == "none") { objdivDettagli.style.display = "block"; } else { objdivDettagli.style.display = "none"; } } return; } function leggiDettagli2(imgApre, divDettagli) { var objdivDettagli2; var objimgApre2; objdivDettagli2=document.getElementById(divDettagli); objimgApre2=document.getElementById(imgApre); if (objimgApre2) { if (objimgApre2.style.backgroundImage == "url(/Img/ico_chiudiDettgrigio.gif)") { objimgApre2.style.backgroundImage = "url(/Img/ico_apriDettgrigio.gif)"; } else { objimgApre2.style.backgroundImage = "url(/Img/ico_chiudiDettgrigio.gif)"; } } if (objdivDettagli2) { if (objdivDettagli2.style.display == "none") { objdivDettagli2.style.display = "block"; } else { objdivDettagli2.style.display = "none"; } } return; } function codiceSafe (codice) { var ret = codice; return ret.replace(/\-/gi, '').replace(/\//gi, '').replace(/\./gi, ''); } // **************************** AJAX ******************************** // funzione per prendere un elemento con id univoco function prendiElementoDaId(id_elemento) { var elemento; if(document.getElementById) elemento = document.getElementById(id_elemento); else elemento = document.all[id_elemento]; return elemento; }; // funzione per assegnare un oggetto XMLHttpRequest function assegnaXMLHttpRequest() { var XHR = null, browserUtente = navigator.userAgent.toUpperCase(); if(typeof(XMLHttpRequest) === "function" || typeof(XMLHttpRequest) === "object") XHR = new XMLHttpRequest(); else if(window.ActiveXObject && browserUtente.indexOf("MSIE 4") < 0) { if(browserUtente.indexOf("MSIE 5") < 0) XHR = new ActiveXObject("Msxml2.XMLHTTP"); else XHR = new ActiveXObject("Microsoft.XMLHTTP"); } return XHR; }; // oggetto di verifica stato var readyState = { INATTIVO: 0, INIZIALIZZATO: 1, RICHIESTA: 2, RISPOSTA: 3, COMPLETATO: 4 }; // array descrittivo dei codici restituiti dal server // [la scelta dell' array per evitare problemi con vecchi browsers] var statusText = new Array(); statusText[100] = "Continue"; statusText[101] = "Switching Protocols"; statusText[200] = "OK"; statusText[201] = "Created"; statusText[202] = "Accepted"; statusText[203] = "Non-Authoritative Information"; statusText[204] = "No Content"; statusText[205] = "Reset Content"; statusText[206] = "Partial Content"; statusText[300] = "Multiple Choices"; statusText[301] = "Moved Permanently"; statusText[302] = "Found"; statusText[303] = "See Other"; statusText[304] = "Not Modified"; statusText[305] = "Use Proxy"; statusText[306] = "(unused, but reserved)"; statusText[307] = "Temporary Redirect"; statusText[400] = "Bad Request"; statusText[401] = "Unauthorized"; statusText[402] = "Payment Required"; statusText[403] = "Forbidden"; statusText[404] = "Not Found"; statusText[405] = "Method Not Allowed"; statusText[406] = "Not Acceptable"; statusText[407] = "Proxy Authentication Required"; statusText[408] = "Request Timeout"; statusText[409] = "Conflict"; statusText[410] = "Gone"; statusText[411] = "Length Required"; statusText[412] = "Precondition Failed"; statusText[413] = "Request Entity Too Large"; statusText[414] = "Request-URI Too Long"; statusText[415] = "Unsupported Media Type"; statusText[416] = "Requested Range Not Satisfiable"; statusText[417] = "Expectation Failed"; statusText[500] = "Internal Server Error"; statusText[501] = "Not Implemented"; statusText[502] = "Bad Gateway"; statusText[503] = "Service Unavailable"; statusText[504] = "Gateway Timeout"; statusText[505] = "HTTP Version Not Supported"; statusText[509] = "Bandwidth Limit Exceeded"; var massimaAttesa = 5; // in secondi var ajax = assegnaXMLHttpRequest(); var ajaxMessage = ''; function callAjax(link, messageElement, messageContent, errorMessage, successMessage) { var usaLink = true; var dataChiamata = new Date(); var inizioChiamata = dataChiamata.getTime(); document.body.style.cursor = 'wait'; if (ajax) { if (ajax.readyState !== readyState.INATTIVO) { ajax.onreadystatechange = function() {return;} ajax.abort(); } ajax.open("get",link,true); ajax.setRequestHeader("connection","close"); ajax.onreadystatechange = function() { if (ajax.readyState === readyState.COMPLETATO) { verificaTempoTrascorso = function(){}; if (statusText[ajax.status] === "OK") { document.body.style.cursor = 'default'; if (prendiElementoDaId('boxCarrelloQta')) prendiElementoDaId('boxCarrelloQta').innerHTML = parseInt(prendiElementoDaId('boxCarrelloQta').innerHTML) + 1 messageElement.style.display = 'block'; messageContent.innerHTML = ajax.responseText; } else { document.body.style.cursor = 'default'; messageElement.style.display = 'block'; messageContent.innerHTML = errorMessage; } } else if (massimaAttesa < 1000) { massimaAttesa = massimaAttesa * 1000; verificaTempoTrascorso = function() { dataChiamata = new Date(); if ((dataChiamata.getTime() - inizioChiamata) > massimaAttesa) { document.body.style.cursor = 'default'; messageElement.style.display = 'block'; messageContent.innerHTML = errorMessage; ajax.onreadystatechange = function() {return;} ajax.abort(); } else setTimeout(verificaTempoTrascorso, 100); } verificaTempoTrascorso(); } } ajax.send(null); } } function previsioniArrivi(codiceProdotto) { massimaAttesa = 5; // in secondi var elemento = prendiElementoDaId("contArrivi"); var contenuto = prendiElementoDaId("contArriviContenuto"); if (ajax) { var link = '/EndUser/schede/arrivi.asp?ajax=1&codice=' + codiceProdotto + '&random=' + Math.random().toString(); callAjax(link, elemento, contenuto, "", ""); } } function mailDispoZero(codiceProdotto) { var numRand = Math.random(); ajcall = { url : '/EndUser/schede/mailDispoZero.asp?f='+numRand+'&ajax=1&Codice=' + codiceProdotto, type : 'GET', dataType : 'html', async : false, success: function(msg){ mostraMessaggio(msg) } }; $.ajax(ajcall); } function mostraMessaggio(msg) { if ($('div#mailMessage').length == 0) { $('body').append('

'+msg+'
'); } else { $('div#mailMessage').html('

'+msg); } $.blockUI({ message: $('div#mailMessage'), centerY: true, centerX: true, timeout: 10000, fadein: 400, fadeout: 400, css: { top: ($(window).height() - 150) /2 + 'px', left: ($(window).width() - 200) /2 + 'px', width: '250px' , height: '250px' , border: '1px solid #ccc' } , overlayCSS: { backgroundColor: '#fff' } }); } function chiudiPreload() { $.unblockUI(); return false; } function impostaMessaggio (msg) { $('div#attesaCaricamentoMessaggio').html(msg); } function inserisciNelCarrello(codiceProdotto) { massimaAttesa = 5; // in secondi var elemento = prendiElementoDaId("elemento-dinamico"); var contenuto = prendiElementoDaId("contenuto-dinamico"); if (ajax) { var link = '/EndUser/carrello/insert.asp?ajax=1&codice=' + codiceProdotto + '&random=' + Math.random().toString(); callAjax(link, elemento, contenuto, "", ""); } else { document.location.href = '/EndUser/carrello/insert.asp?ajax=0&codice=' + codiceProdotto + '&random=' + Math.random().toString(); } } function inserisciBundleNelCarrello(IDBundle) { massimaAttesa = 5; // in secondi var elemento = prendiElementoDaId("elemento-dinamico"); var contenuto = prendiElementoDaId("contenuto-dinamico"); if (ajax) { var link = '/EndUser/carrello/insertBundle.asp?ajax=1&IDBundle=' + IDBundle + '&random=' + Math.random().toString(); callAjax(link, elemento, contenuto, "", ""); } else { document.location.href = '/EndUser/carrello/insertBundle.asp?ajax=0&IDBundle=' + IDBundle + '&random=' + Math.random().toString(); } } function inserisciCralNelCarrello(IdRigaCral) { massimaAttesa = 5; // in secondi var elemento = prendiElementoDaId("elemento-dinamico"); var contenuto = prendiElementoDaId("contenuto-dinamico"); if (ajax) { var link = '/EndUser/carrello/insertCral.asp?ajax=1&IdRigaCral=' + IdRigaCral + '&random=' + Math.random().toString(); callAjax(link, elemento, contenuto, "", ""); } else { document.location.href = '/EndUser/carrello/insertCral.asp?ajax=0&IdRigaCral=' + IdRigaCral + '&random=' + Math.random().toString(); } } function chiudiAjaxPopUp() { var elemento = prendiElementoDaId("elemento-dinamico"); elemento.style.display = 'none'; } function addRemCodice(codice,check) { var lista = document.formModelloUp.codiciDaConfrontare.value; //alert(lista); if (check) { if (lista.length == 0) { lista = codice; } else { lista = lista + ',' + codice; } } else { lista = lista.replace(',' + codice , ''); lista = lista.replace(codice + ',' , ''); lista = lista.replace(codice , ''); } //alert(lista); document.formModelloUp.codiciDaConfrontare.value = lista; /*var lista = document.formModelloDown.codiciDaConfrontare.value; if (check) { if (lista.length == 0) { lista = codice; } else { lista = lista + ',' + codice; } } else { lista = lista.replace(',' + codice , ''); lista = lista.replace(codice + ',' , ''); lista = lista.replace(codice , ''); }*/ document.formModelloDown.codiciDaConfrontare.value = lista; } function confronta() { var lista = document.formModelloUp.codiciDaConfrontare.value; arLista = lista.split(','); if (arLista.length > 3) { alert(strConfrontaMax); } else if (arLista.length < 2) { alert(strConfrontaMin); } else { document.formModelloUp.action = '/EndUser/Ricerche/stepConfronta.asp'; document.formModelloUp.submit(); } } // ****************************************************************** function check_testo(oForm) { if (oForm.testo.value.trim().length < 3 ) { oForm.testo.focus(); alert(strRicercaText1) ; return (false); } if (oForm.testo.value.trim().length > 100 ) { oForm.testo.focus(); alert(strRicercaText2) ; return (false); } var errorStr = true ; splitString = oForm.testo.value.trim().split(" "); for (i=0 ; i 2) { errorStr = false break; } } if(errorStr == false) { return (true); } else { alert(strRicercaText3) ; return (false); } } function formattaCitta (resultrow, rowposition, totitems, searchterm) { var ret; // 0 | 1 | 2 | 3 | 4 | 5 // idcitta | nomecitta | nazione | cap | prov | nomeprov ret = "" + resultrow[1] + "  "; + resultrow[3] + "  " + " (" + resultrow[4] + ")"; if (resultrow[3] != '') ret += resultrow[3]; if (resultrow[4] != '') { ret += " (" + resultrow[4] + ")"; } else { ret += " (" + resultrow[2] + ")"; } ret += "" return ret; } function formattaRisultato (resultrow, rowposition, totitems) { // 0 | 1 | 2 | 3 | 4 | 5 | // idcitta | nomecitta | nazione | cap | prov | nomeprov return resultrow[1]; } function cittaSel (e, d) { // 0 | 1 | 2 | 3 | 4 | 5 | // idcitta | nomecitta | nazione | cap | prov | nomeprov $('#Cap').val(d[3]); $('#CapNumero').html(d[3]); $('#Provincia').val(d[4]); $('#ProvinciaName').html(d[5]); $('#DescProvincia').val(d[5]); $('#registrazioneConferma').show(); $('#btModifica').show(); $('#btModificaES').show(); $('#btRegistra').show(); $('#btRegistraES').show(); $('#btSalva').show(); $('#btSalvaSm').show(); $('#btSalvaES').show(); $('#registrazioneBlocca').hide(); $('#IDRubricaCheck').val('-1'); $('#bottoneProsegui').hide(); $('#btProsegui').html('loading...'); // if ($('#CassaForm').get(0)) // { // $('#CassaForm').get(0).submit(); // } } function TriplettaClear() { $('#Cap').val(''); $('#CapNumero').html(''); $('#Provincia').val(''); $('#ProvinciaName').html(''); $('#DescProvincia').val(''); $('#Localita').val(''); $('#Dest_Localita').val(''); } //Funzione per far apparire il dettaglio famiglie software function viewDettFamigliaSW(idprod, idfamiglia, divid) { //se il div gi caricato lo nascondo, altrimenti lo visualizzo divDettaglio = "#dett_" + divid; if ($(divDettaglio).css("display") == "block") { $(divDettaglio).hide("medium"); } else { $.ajax({ type: "POST", data : { idprodsw: idprod, idfamigliasw: idfamiglia, azione: "DETTSW" }, url: "/EndUser/ricerche/stepFamiglie_dettaglio.asp", success: function(msg) { $(divDettaglio).html(msg); $(divDettaglio).show("medium"); }, error: function() { $(divDettaglio).html('ERRORE.'); } }); } } // Funzioni per le due visualizzazioni del Modello Griglia e Righe