/* * Array multidimensionale contenente sia il nome che il CAP generico dei comuni/località zonate */ localitazonate = new Array ( new Array("ANCONA","60100", "an"), new Array("BARI","70100", "ba"), new Array("BERGAMO","24100", "bg"), new Array("BOLOGNA","40100", "bo"), new Array("BRESCIA","25100", "bs"), new Array("CAGLIARI","09100", "ca"), new Array("CATANIA","95100", "ct"), new Array("FIRENZE","50100", "fi"), new Array("GENOVA","16100", "ge"), new Array("LA SPEZIA","19100", "sp"), new Array("LIVORNO","57100", "li"), new Array("MESSINA","98100", "me"), new Array("MILANO","20100", "mi"), new Array("NAPOLI","80100", "na"), new Array("PADOVA","35100", "pd"), new Array("PALERMO","90100", "pa"), new Array("PERUGIA","06100", "pg"), new Array("PESCARA","65100", "pe"), new Array("PISA","56100", "pi"), new Array("REGGIO CALABRIA","89100", "rc"), new Array("ROMA","00100", "rm"), new Array("SALERNO","84100", "sa"), new Array("TORINO","10100", "to"), new Array("TRIESTE","34100", "ts"), new Array("VENEZIA","30100", "ve"), new Array("VERBANIA","28900", "vb"), new Array("VERONA","37100", "vr")); /* * clearString per permettere il match con i valori dell'array localitazonate */ function clearString(loc) { str = loc.toUpperCase(); // La g sta per global, altrimenti la funzione replace di JS esegue il replace solo della prima occorenza re = /[^A-Z0-9]/g; str = str.replace(re, " "); // La g sta per global, altrimenti la funzione replace di JS esegue il replace solo della prima occorenza re = /\s+/g; str = str.replace(re, " "); /* * Esegue il trim della stringa */ if(str.substr(0,1) == " ") str = str.substr(1, str.length - 1); if(str.substr((str.length - 1),1) == " ") str = str.substr(0, str.length - 1); return str; } /* * changeCap, quando il campo CAP viene modificato gli altri campi vengono azzerati */ function changeCap() { cap = document.forms['formcap'].cap.value; if(cap != "") { document.forms['formcap'].loc.value = ""; document.forms['formcap'].indirizzo.value = ""; document.forms['formcap'].provincia.selectedIndex = 0; } } /* * changeLoc, in caso che la località venga valorizzata il campo CAP è azzerato */ function changeLoc() { loc = document.forms['formcap'].loc.value; if(loc != "") document.forms['formcap'].cap.value = ""; } /* * changeProvincia, in caso che la provincia venga valorizzata il campo CAP è azzerato */ function changeProvincia() { index = document.forms['formcap'].provincia.selectedIndex; if(index != 0) document.forms['formcap'].cap.value = ""; } /* * changeIndirizzo, in caso che l'indirizzo venga valorizzato il campo CAP è azzerato */ function changeIndirizzo() { ind = document.forms['formcap'].indirizzo.value; if(ind != "") document.forms['formcap'].cap.value = ""; } /* * Controlla la validità del CAP */ function checkCap(cap) { if(!isNaN(cap) && cap.length == 5) return true; return false; } /* * isCapZonato controlla se il CAP è generico */ function isCapGenerico(cap) { for(i = 0; i < localitazonate.length; i++) if(localitazonate[i][1] == cap) return i; return -1; } /* * isLocZonato controlla se la località specificata è una località zonata, temporaneamente disabilitata */ function isLocZonato(loc) { for(i = 0; i < localitazonate.length; i++) if(localitazonate[i][0] == str) return true; return false; } /* * searchLocZonato cerca in modalità like la località zonata più simile, nel caso che ne venga trovata * solo una viene restituita altrimenti sia nel caso che ne vengano matchate 0 o multiple viene restituita * stringa vuota */ function searchLocZonato(loc) { j = 0; regxps = new RegExp(loc, "i"); lastMatch = ""; for(i = 0; i < localitazonate.length; i++) { if(localitazonate[i][0].match(regxps)) { j++; lastMatch = localitazonate[i][0]; } } if(j == 1) return lastMatch; else return ""; } /* * Controllo dell'input per la maschera localita/indirizzo/provincia */ function checkLocalitaInput() { loc = document.forms['formcap'].loc.value; ind = document.forms['formcap'].indirizzo.value; prov = document.forms['formcap'].provincia.value; cap = document.forms['formcap'].cap.value; /* * Controllo sul CAP */ if(cap != "") { if(!checkCap(cap)) { alert("Il CAP inserito non è valido"); return false; } if((index = isCapGenerico(cap)) != -1) { alert("Il CAP inserito è il CAP generico del comune di " + localitazonate[index][0] + " \n Effettuare la ricerca su un CAP non generico"); return false; } return true; } /* * Controllo sui campi restanti */ loc = clearString(loc); if(loc == "") { ind = clearString(ind); if(ind != "") alert("E' necessario specificare una città suddivisa in zone postali"); else alert("E' necessario specificare una località oppure un CAP"); document.forms['formcap'].loc.focus(); return false; } zoned_flag = isLocZonato(loc); if(zoned_flag) { if(ind != "") document.forms['formcap'].provincia.selectedIndex = 0; else { answer = confirm("Attenzione, se stai cercando \"" + loc + "\" devi specificare l'indirizzo, altrimenti continua la ricerca.\n" + "Vuoi continuare?"); if(!answer) { document.forms['formcap'].indirizzo.focus(); return false; } } } else { if(ind != "") { /* Se viene specificato un indirizzo ma una località non zonata viene cercata una città zonata he che possa matchare in base alla stringa immessa */ likeLoc = searchLocZonato(loc); if(likeLoc == "") { answer = confirm("Attenzione, non hai specificato una città suddivisa in zone postali. Se continui la ricerca l'indirizzo verrà ignorato.\n" + "Vuoi continuare?"); if(!answer) return false; document.forms['formcap'].indirizzo.value = ""; } else { document.forms['formcap'].loc.value = likeLoc; } } } return true; } /* * Controllo dell'input per la maschera Uffici recapito */ function checkUrInput() { if(document.forms['formur'].ur.selectedIndex == 0) { alert("Specificare una città per l'Ufficio di Recapito"); return false; } return true; } // JavaScript Document var delayb4scroll=1000 //Specify initial delay before marquee starts to scroll on page (2000=2 seconds) var marqueespeed=1 //Specify marquee scroll speed (larger is faster 1-10) var pauseit=1 //Pause marquee onMousever (0=no. 1=yes)? ////NO NEED TO EDIT BELOW THIS LINE//////////// var copyspeed=marqueespeed var pausespeed=(pauseit==0)? copyspeed: 0 var actualheight='' function scrollmarquee(){ if (parseInt(cross_marquee.style.top)>(actualheight*(-1)+8)) cross_marquee.style.top=parseInt(cross_marquee.style.top)-copyspeed+"px" else cross_marquee.style.top=parseInt(marqueeheight)+8+"px" } function initializemarquee(){ cross_marquee=document.getElementById("approfondimenti") if (cross_marquee==null) return; cross_marquee.style.top=0 marqueeheight=document.getElementById("marqueecontainer").offsetHeight actualheight=cross_marquee.offsetHeight if (window.opera || navigator.userAgent.indexOf("Netscape/7")!=-1){ //if Opera or Netscape 7x, add scrollbars to scroll and exit cross_marquee.style.height=marqueeheight+"px" cross_marquee.style.overflow="scroll" return } setTimeout('lefttime=setInterval("scrollmarquee()",30)', delayb4scroll) } if (window.addEventListener) window.addEventListener("load", initializemarquee, false) else if (window.attachEvent) window.attachEvent("onload", initializemarquee) else if (document.getElementById) window.onload=initializemarquee