var lngFormat_Date='mm/dd/yy'; var lngWND_Confirm_Domanda_Inizio = 'Are you sure to delete this '; // lasciare lo spazio per l'ultima vocale var lngWND_Confirm_Domanda_Fine = ' and all related data?'; var lngValidate_Password = 'Password mistmatch!\nInsert again the two passwords!'; var lngValidate_Campi = '"'; var lngValidate_Date_Errore = '" non e\' valido, inserire una data nel formato gg/mm/aaaa'; var lngValidate_Int_Errore = '" non e\' valido, inserire un valore numerico'; var lngValidate_Int_Errore_Min = '" non e\' valido, inserire un valore superiore a '; var lngValidate_Int_Errore_Max = '" non e\' valido, inserire un valore inferiore a '; var lngValidate_Email_Errore = '" is a mandatory field! Please insert a valid email address!'; var lngValidate_Text_Errore_Min = '" is a mandatory field! Please insert almost '; var lngValidate_Text_Errore_Max = '" is a mandatory field! Please insert maximum '; var lngValidate_Text_Caratteri = ' characters!'; var lngValidate_Checkbox_Errore = 'Prima di continuare e\'necessario accettare '; var lngValidate_Checkbox_Limit = 'Selezionare almeno un elemento in '; var lngValidate_Checkbox_Libera = 'Inserire un valore nel campo ALTRO di '; var lngValidate_Query_Errore = 'Prima di continuare è necessario selezionare una '; var lngValidate_Ext_Errore = '" contiene un file con estensione non valida.\nSono permessi i formati: '; var lngValidate_Select_Errore = 'Selezionare un valore valido per il campo '; var lngValidate_Select_Linear = 'Selezionare per ogni colonna solo un valore da 1 a ' var lngValidate_Select_Linear_Libera = 'Inserire un valore nel campo ALTRO di ' var lngValidate_Radio_Errore = 'E\'necessario selezionare almeno un valore in '; var lngValidate_Radio_Errore_Libera = 'Inserire un valore nel campo ALTRO di ' var lngValidate_Radio_Errore_Valore_Inizio = 'Per continuare e\'necessario selezionare il valore '; var lngValidate_Radio_Errore_Valore_Medio = ' nel campo '; var lngValidate_Field_Title='Title'; var lngValidate_Field_Name='Name'; var lngValidate_Field_Attachment='Attachment'; var lngValidate_Field_Image='Image'; var lngValidate_Field_Date='Date'; var LNG = { GEN: { RESULT_NO: 'Nessun risultato corrisponde a questi parametri di ricerca', PAGINA: 'Page', DI: 'of', PREC: 'Prev.', SUCC: 'Succ.', AGGIORNAMENTO: 'Carrello in aggiornamento ...' }, ERR: { VUOTO: "Non e'possibile completare un ordine senza prodotti!", GENERICO: "E'necessario inserire un valore per il campo ", PRIVACY: "E'necessario accettare l'informativa sulla Privacy e le Condizioni di vendita", PESO: "Non è possibile spedire questo numero di prodotti. Si consiglia di dividere l\'acquisto in piu\'ordini o di utilizzare l\'area business per richiedere un preventivo!", } }; function validate(act,strData, objSender) // owner version { var i, bolModifica, arrData, arrInput; var ret = ""; // Inizializzo i parametri per evitare errori if (!(strData)) { strData = '' // In caso siano passati più parametri li splitto } else if (strData.indexOf('|') >= 0) { arrData = strData.split('|'); } // Determino la modalità di esecuzione if (act.indexOf('_modifica') >= 0) { bolModifica = true; } else { bolModifica = false; } switch (act) { // validate area amministrativa default: // per i bottoni faccio un controllo apposito if (act.indexOf('dati_button') >=0) { if ((document.getElementById('table_tipo')) && (!document.getElementById('table_tipo_attivo'))) { ret = ret + ('Prima di continuare e\'necessario selezionare una voce nel menu\'a lato!'); } } else if (act.indexOf('tipo_button') >=0) { } else { var arrInput = document.getElementsByTagName('input'); for (i = 0;i < arrInput.length; i++) { if ((arrInput[i].id.indexOf('_titolo') >= 0) && (arrInput[i].id.indexOf('_titolo_') < 0)) { ret = ret + validate_text(arrInput[i].id, 'TITOLO', 1, -1); } if (arrInput[i].id.indexOf('_nome') >= 0) ret = ret + validate_text(arrInput[i].id, 'NOME' , 1, -1); if (arrInput[i].id.indexOf('_cf') >= 0) ret = ret + validate_CF (arrInput[i].id, 'CODICE FISCALE', true); // if (arrInput[i].id.indexOf('_piva') >= 0) ret = ret + validate_PIVA(arrInput[i].id, 'PARTITA IVA' , true); if ((arrInput[i].id.indexOf('_data') >= 0) && (arrInput[i].id.indexOf('qs_data') == -1)) ret = ret + validate_date(arrInput[i].id, 'DATA' , false); if (arrInput[i].id.indexOf('_allegato_') >= 0) ret = ret + validate_ext (arrInput[i].id, 'ALLEGATO', true, arrData[1]); if (arrInput[i].id.indexOf('_immagine_') >= 0) ret = ret + validate_ext (arrInput[i].id, 'IMMAGINE', true, arrData[0]); } } if ((ret == "") && (objSender)) { objSender.parentNode.innerHTML = 'Salvataggio ...'; } break; case 'pwd_change' : ret = ret + validate_text('password_new' , 'NUOVA PASSWORD', 4, -1); var pwd1 = document.getElementById('password_new'); var pwd2 = document.getElementById('password_new2'); if (pwd1.value!=pwd2.value) { ret = ret + (lngValidate_Password); pwd1.value=''; pwd2.value=''; } break; case 'movimentidati_nuovo': ret = ret + validate_int('movimentidati_numero', 'Numero', 1, 1000); if ($("#movimentidati_utentidatiid1").val() == $("#movimentidati_utentidatiid2").val()) { ret = ret + 'Il negozio di provenienza e quello di destinazione non possono essere uguali!\n'; } if (!$.isNumeric($("#ordinitipo_libridati_temp_id").val())) { ret = ret + 'Selezionare il libro da movimentare prima di continuare!\n'; } break; case 'libridati_nuovo': case 'libridati_modifica': ret = ret + validate_text('libridati_titolo', 'Titolo', 5, -1); if (!$.isNumeric($("#libridati_codice").val()) || $("#libridati_codice").val().length < 1) { ret = ret + 'Inserire un CODICE valido per il titolo specificato!\n'; } break; case 'ordinitipo_nuovo': case 'ordinitipo_modifica': case 'ddttipo_nuovo': case 'ddttipo_modifica': break; } if (ret == "") { return true; } else { alert(ret); return false; } } function WND_confirm(mod, snd, cod, strTxt, strSex, strUrl) // v1.0 { // Faccio un parsing preliminare dei parametri per configurarli correttamente if (!strTxt) strTxt = snd.toUpperCase(); if (!strSex) strSex = 'o'; if (!strUrl) strUrl = 'DoCMD.asp?mod=' + mod + '&snd=' + snd + '&act=cancella&id=' + cod; // Faccio la richiesta ed eventualmente il redirect if (confirm(lngWND_Confirm_Domanda_Inizio + strSex + ' ' + strTxt + ' ' + lngWND_Confirm_Domanda_Fine)) { location.href = strUrl; } return false; } function WND_open_small(link,h,w,extra,ev,bolStandard) // v1.3 { if (!bolStandard) bolStandard = false; if (!bolStandard) { var ev = ev || window.event; // gets the event in ie or ns var kCode = ev.keyCode || ev.which; // gets the keycode in ie or ns if ((!ev.shiftKey) && (link.indexOf('print.php') < 0)) { fb.loadAnchor(link, 'width: ' + (w+20) + ' height: ' + h + ' showClose: false'); return false; } } var left,top,extra,name; if (!extra) extra = 'scrollbars=yes'; extra += ', '; w += 20; if (h>720) { h = 720; } left=(screen.width-w) /2; top =(screen.height-h)/3; name = link; name = name.replace('/','_'); name = name.replace('.','_'); name = name.replace('-','_'); name = name.substr(0,name.indexOf("_")); window.open(link, name, extra + 'left='+left+', top='+top+', height='+h+',width='+w); return name; } function WND_refresh(href, bolMain) // v1.2 { if (!bolMain) bolMain = false; if (!bolMain) { if ((window.parent) && (window.parent.fb)) { if ((href=='') || (href==null)) window.parent.location.href=window.parent.location.href; else window.parent.location.href=href; // fb.end(); } else { if (window.opener && !window.opener.closed) { if ((href=='') || (href==null)) window.opener.location.href=window.opener.location.href; else window.opener.location.href=href; } self.close(); } } else { if ((!href) || (href=='')) { window.history.back(); } else { window.location.href=href; } } } function WND_close() { if ((window.parent) && (window.parent.fb)) { window.parent.fb.end(); } else { try { fb.end(); } catch(err) { window.close(); } } } function validate_date(objName, name, bolEmpty) // v1.2 { var tmpRet = true; var obj = document.getElementById(objName); if (obj) { if (obj.value == '') { tmpRet = bolEmpty; } else { var tmp=obj.value.split('/'); if (tmp.length!=3) tmpRet = false else { if ((tmp[0]<=0) || (tmp[0]>31)) tmpRet = false; if ((tmp[1]<=0) || (tmp[1]>12)) tmpRet = false; if ((tmp[2]<=1900) || (tmp[2]>2100)) tmpRet = false; } } if (!tmpRet) { return(lngValidate_Campi + name.toUpperCase() + lngValidate_Date_Errore + "\n"); } else { return ""; } } } function validate_time(objName, name) { var obj = document.getElementById(objName); if (obj) { var arrTime = obj.value.split(':'); if (arrTime.length == 2) { if ((arrTime[0] >= 0 && arrTime[0]<24) && (arrTime[1] >= 0 && arrTime[1] < 60)) { return ""; } } return (lngValidate_Campi + name.toUpperCase() + lngValidate_Time_Errore + "\n"); } return ""; } function validate_int(objName, name, min_val, max_val, bolEmpty) // v1.2 { //if (!bolEmpty) bolEmpty = true; var obj = document.getElementById(objName); if (obj) { var re = new RegExp("^(\\d+[\\.,]?\\d*)$"); var m = re.exec(obj.value); if (m == null) { if ((obj.value == "") && (bolEmpty)) { } else { return (lngValidate_Campi + name.toUpperCase() + lngValidate_Int_Errore + "\n"); } } else { if ((obj.value < min_val) && (min_val != -1)) { return (lngValidate_Campi + name.toUpperCase() + lngValidate_Int_Errore_Min + min_val + '!' + "\n"); } if ((obj.value > max_val) && (max_val != -1)) { return (lngValidate_Campi + name.toUpperCase() + lngValidate_Int_Errore_Max + max_val + '!' + "\n"); } } } return ""; } function validate_email(objName, name, bolEmpty) // v1.2 { var re = /(^[a-z0-9]([a-z0-9_\.-]+)[a-z0-9])@[a-z0-9]([a-z0-9_\.-]+)[a-z0-9]\.([a-z]{2,4})$/i; var obj = document.getElementById(objName); if (obj) { if (re.exec(obj.value) != null) { return ""; } else { if (bolEmpty) { return ""; } else { return (lngValidate_Campi + name.toUpperCase() + lngValidate_Email_Errore + "\n"); } } } return ""; } function validate_text(objName, name, min_len, max_len) // v1.1 { var obj = document.getElementById(objName); if (obj) { if ((obj.value.length < min_len) && (min_len != -1)) { return (lngValidate_Campi + name.toUpperCase() + lngValidate_Text_Errore_Min + min_len + lngValidate_Text_Caratteri + "\n"); } if ((obj.value.length > max_len) && (max_len != -1)) { return (lngValidate_Campi + name.toUpperCase() + lngValidate_Text_Errore_Max + max_len + lngValidate_Text_Caratteri + "\n"); } } return ""; } function validate_password_confirm(objName, objPassword, name) { var pwd1 = document.getElementById(objName); var pwd2 = document.getElementById(objPassword); if (pwd1.value != pwd2.value) { return (lngValidate_Password + "\n"); } return ""; } function validate_checkbox(objName, name, bolFacoltativa, intLimitMin, intLimitMax) // v1.0 { if (!bolFacoltativa) bolFacoltativa = false; if ((!intLimitMin) && (!intLimitMax)) { var obj = document.getElementById(objName); if (obj) { if (obj.checked) { return ""; } else { return (lngValidate_Checkbox_Errore + name.toUpperCase() + "\n"); } } else { return ""; } } else { var i = 0, intCount = 0; var obj = document.getElementById(objName + '_' + i); while (obj) { if (obj.checked) { var objTmp = document.getElementById(obj.id + '_libera'); if ((objTmp) && (objTmp.value.length == 0)) { return (lngValidate_Checkbox_Libera + name.toUpperCase() + "\n"); } intCount++; } i++; var obj = document.getElementById(objName + '_' + i); } if (((intLimitMin > intCount) || (intLimitMax < intCount)) && (!bolFacoltativa)) { return (lngValidate_Checkbox_Limit + name.toUpperCase() + "\n"); } else { return ""; } } return ""; } function validate_query(name, match) // v1.0 { var querystring = window.location.search; if (querystring.indexOf(match + '=') == -1) { return (lngValidate_Query_Errore + name.toUpperCase() + "\n"); } else { return ""; } } function validate_ext(objName, name, bolEmpty, ext) // v1.0 { var obj = document.getElementById(objName); if (obj) { var i; var fileName = obj.value; var ext_list = ext.split(','); if (fileName == '') { if (!bolEmpty) return (lngValidate_Campi + name.toUpperCase() + lngValidate_Ext_Errore + ext + "\n"); } else { fileName = (fileName.substring(fileName.lastIndexOf('.') + 1,fileName.length)).toLowerCase(); for (i = 0 ; i < ext_list.length ; i++) { if (ext_list[i] == fileName) { return ""; break; } } return (lngValidate_Campi + name.toUpperCase() + lngValidate_Ext_Errore + ext + "\n"); } } return ""; } function validate_select(objName, name, strError, intLinear) { var obj, ret; if (!intLinear) { obj = document.getElementById(objName); if (obj) { if (obj.options[obj.selectedIndex].value == strError) { return (lngValidate_Select_Errore + name.toUpperCase() + "\n"); } else { return ""; } } } else { var i, j, objTmp, objOld = ''; var arrCheck = new Array(); // Azzero tutto il vettore di riferimento for (i = 0; i <= intLinear; i++) { arrCheck[i] = 0; } i = j = 0; for (i = 0; obj = document.getElementById(objName + '_' + i); i++) { if (i != j) i = j; if (obj.id != objOld) { objOld = obj.id; if (obj.selectedIndex > 0) { // verifico se c'蠩l campo libero per i sondaggi var tmpNome = objName.substr(0,objName.length - 2) + '_' + i + '_libera'; objTmp = document.getElementById(tmpNome); if ((objTmp) && (objTmp.value.length == 0)) { return (lngValidate_Select_Linear_Libera + name.toUpperCase() + "\n"); } // Controllo per evitare che ci siano due valori uguali if (arrCheck[obj.options[obj.selectedIndex].value] == 1) { arrCheck[obj.options[obj.selectedIndex].value] = 0; return (lngValidate_Select_Linear + intLinear + ' nella domanda ' + name.toUpperCase() + "\n"); } else { arrCheck[obj.options[obj.selectedIndex].value] = 1; } } j++; } } for (i = 1; i <= intLinear; i++) { if (arrCheck[i] == 1) { ret = ""; } } if (ret != "") { return (lngValidate_Select_Linear + intLinear + ' nella domanda ' + name.toUpperCase() + "\n"); } } return ""; } function validate_radio(objName, name, strConfirm, bolFacoltativa) { if (!bolFacoltativa) bolFacoltativa = false; var ret = "", i = 0; var obj = document.getElementById(objName + '_' + i); var objTmp = document.getElementById(objName + '_libera'); while (obj) { if (obj.checked) { ret = "OK"; break; } i++; obj = document.getElementById(objName + '_' + i); } if (ret == "") { // verifico se c'蠩l campo libero per i sondaggi if ((objTmp) && (objTmp.value.length == 0)) { ret = ""; } else { if (!bolFacoltativa) { ret = (lngValidate_Radio_Errore + name.toUpperCase() + "\r\n"); } else { ret = ""; } } } else { if (!objTmp) { var tmpNome = objName.substr(0,objName.length - 2) + '_' + i + '_libera'; objTmp = document.getElementById(tmpNome); } if ((objTmp) && (objTmp.value.length == 0)) { //ret = (lngValidate_Radio_Errore_Libera + name.toUpperCase()); } else { if ((strConfirm) && (obj.value != strConfirm)) { ret = (lngValidate_Radio_Errore_Valore_Inizio + strConfirm.toUpperCase() + lngValidate_Radio_Errore_Valore_Medio + name.toUpperCase() + "\r\n"); } } } if (ret == "OK") { return ""; } else { return ret; } } function validate_search(objName, name) { var ret = ""; var objTxt = document.getElementById(objName); var objId = document.getElementById(objName + '_tipocodice'); if ((objTxt) && (objId)) { if ((!isNaN(parseInt(objId.value))) && (parseInt(objId.value) > 0)) { return ""; } else { return (lngValidate_Campi + name.toUpperCase() + lngValidate_Search_Errore + "\n"); } } return ""; } function datediff(firstDate, seconDate) { var one_day=1000*60*60*24; var arrFirst = firstDate.split('/'); var arrSecon = seconDate.split('/'); if ((arrFirst.length == 3) && (arrSecon.length == 3)) { var firstReal = new Date(arrFirst[2], arrFirst[1], arrFirst[0]); var seconReal = new Date(arrSecon[2], arrSecon[1], arrSecon[0]); return ((firstReal.getTime() - seconReal.getTime()) / one_day) } else { return null; } } function timediff(firstTime, seconTime) { var arrFirst = firstTime.split(':'); var arrSecon = seconTime.split(':'); var tmpDiff = 0; // Calcolo differenza di ore tmpDiff += (parseInt(arrFirst[0]) - parseInt(arrSecon[0])) * 60; // Calcolo differenza di minuti tmpDiff += (parseInt(arrFirst[1]) - parseInt(arrSecon[1])); return tmpDiff; } // Aggiunge un elemento inizializzato precedentemente nel REPEATER function aggiungiElemento(objId, objTargetId, strPrefix) { var obj = document.getElementById(objId); var objTarget = document.getElementById(objTargetId); if (!strPrefix) strPrefix = ""; if ((obj) && (objTargetId)) { // Cerco l'ultimo elemento valido con un ID simile a quello attuale var tmpObj = obj, lastObj; var arrId = tmpObj.id.split('_'); do { lastObj = tmpObj; arrId[arrId.length - 1] = strPrefix + (parseInt(arrId[arrId.length - 1].replace(strPrefix, '')) + 1); tmpObj = document.getElementById(arrId.join('_')); } while (tmpObj != null); obj = lastObj; var newObj = $(obj).clone(true); $(newObj).attr('id', arrId.join('_')).show(); var intObj = arrId[arrId.length -1]; // Rimuovo tutte le immagini presenti var arrObj = newObj.get(0).getElementsByTagName('a'); for (var i = 0; arrObj[i]; i=0) { arrObj[i].parentNode.innerHTML = 'N/A'; } var arrObj = newObj.get(0).getElementsByTagName('img'); for (var i = 0; arrObj[i]; i=0) { arrObj[i].parentNode.innerHTML = 'N/A'; } var arrObj = newObj.get(0).getElementsByTagName('input'); for (var i = 0; i < arrObj.length; i++) { var arrId = arrObj[i].id.split('_'); if (arrId[0].substr(-4) == "file") { arrId[arrId.length - 1] = arrId[arrId.length - 1].charAt(0) + intObj; } else { arrId[arrId.length - 1] = intObj; } arrObj[i].id = arrId.join('_'); arrObj[i].name = arrObj[i].id; // Se il campo non e' hidden ne azzero il valore if ((arrObj[i].getAttribute("type") != 'hidden') && (arrObj[i].id.indexOf('file_type') == -1)) { arrObj[i].value = ''; } } var arrObj = newObj.get(0).getElementsByTagName('textarea'); for (var i = 0; i < arrObj.length; i++) { var arrId = arrObj[i].id.split('_'); arrId[arrId.length - 1] = intObj; arrObj[i].id = arrId.join('_'); arrObj[i].name = arrObj[i].id; arrObj[i].value = ''; } var arrObj = newObj.get(0).getElementsByTagName('select'); for (var i = 0; i < arrObj.length; i++) { var arrId = arrObj[i].id.split('_'); if (arrId[0].substr(-4) == "file") { arrId[arrId.length - 1] = arrId[arrId.length - 1].charAt(0) + intObj; } else { arrId[arrId.length - 1] = intObj; } arrObj[i].id = arrId.join('_'); arrObj[i].name = arrObj[i].id; arrObj[i].value = ''; } var arrObj = newObj.get(0).getElementsByTagName('div'); for (var i = 0; i < arrObj.length; i++) { arrObj[i].innerHTML = intObj; } obj.parentNode.insertBefore(newObj.get(0),objTarget); return $(obj.parentNode).children().not('script').length - 2; } } function validate_CF(objName, name, bolFacoltativa) { var obj = document.getElementById(objName); if (obj) { var cf, validi, i, s, set1, set2, setpari, setdisp; cf = obj.value; if ((cf == '') && (bolFacoltativa)) return ""; cf = cf.toUpperCase(); if (cf.length != 16) { return ("La lunghezza del codice fiscale nel campo '" + name + "' non e\' " +"corretta: il codice fiscale dovrebbe essere lungo " +"esattamente 16 caratteri" + "\n"); } validi = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; for (i = 0; i < 16; i++) { if (validi.indexOf(cf.charAt(i) ) == -1) { return ("Il codice fiscale nel campo '" + name + "' contiene un carattere non valido `" + cf.charAt(i) + "'. I caratteri validi sono le lettere e le cifre." + "\n"); } } set1 = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"; set2 = "ABCDEFGHIJABCDEFGHIJKLMNOPQRSTUVWXYZ"; setpari = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; setdisp = "BAKPLCQDREVOSFTGUHMINJWZYX"; s = 0; for (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) ))); if (s%26 != cf.charCodeAt(15)-'A'.charCodeAt(0)) { return ("Il codice fiscale nel campo '" + name + "' non e\' corretto: "+ "il codice di controllo non corrisponde." + "\n"); } } return ""; } function validate_PIVA(objName, name, bolFacoltativa) { var obj = document.getElementById(objName); if (obj) { var validi, i, s, c, pi; pi = obj.value; if ((pi == '') && (bolFacoltativa)) return ""; if (pi.length != 11) { return ("La lunghezza della partita IVA non e\'" + "corretta: la partita IVA dovrebbe essere lunga " + "esattamente 11 caratteri." + "\n"); } validi = "0123456789"; for (i = 0; i < 11; i++) { if (validi.indexOf(pi.charAt(i)) == -1) { return ("La partita IVA contiene un carattere non valido `" + pi.charAt(i) + "'.I caratteri validi sono le cifre." + "\n"); } } 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 ("La partita IVA non e\' valida: " + "il codice di controllo non corrisponde." + "\n"); } } return ""; } function showmenu(elmnt) { var obj = document.getElementById(elmnt); if (obj) obj.style.display="block"; } function hidemenu(elmnt) { var obj = document.getElementById(elmnt); if (obj) obj.style.display="none"; }