jQuery.log=function(){};(function(a){a.event.special.mousewheel={setup:function(){var b=a.event.special.mousewheel.handler;if(a.browser.mozilla){a(this).bind("mousemove.mousewheel",function(d){a.data(this,"mwcursorposdata",{pageX:d.pageX,pageY:d.pageY,clientX:d.clientX,clientY:d.clientY})})}if(this.addEventListener){this.addEventListener((a.browser.mozilla?"DOMMouseScroll":"mousewheel"),b,false)}else{this.onmousewheel=b}},teardown:function(){var b=a.event.special.mousewheel.handler;a(this).unbind("mousemove.mousewheel");if(this.removeEventListener){this.removeEventListener((a.browser.mozilla?"DOMMouseScroll":"mousewheel"),b,false)}else{this.onmousewheel=function(){}}a.removeData(this,"mwcursorposdata")},handler:function(e){var b=Array.prototype.slice.call(arguments,1);e=a.event.fix(e||window.event);a.extend(e,a.data(this,"mwcursorposdata")||{});var f=0,d=true;if(e.wheelDelta){f=e.wheelDelta/120}if(e.detail){f=-e.detail/3}if(a.browser.opera){f=-e.wheelDelta}e.data=e.data||{};e.type="mousewheel";b.unshift(f);b.unshift(e);return a.event.handle.apply(this,b)}};a.fn.extend({mousewheel:function(b){return b?this.bind("mousewheel",b):this.trigger("mousewheel")},unmousewheel:function(b){return this.unbind("mousewheel",b)}})})(jQuery);if(jQuery){(function(){jQuery.extend(jQuery.fn,{rightClick:function(a){jQuery(this).each(function(){jQuery(this).mouseup(function(b){if(b.button===2){a(jQuery(this),b)}return true});jQuery(this)[0].oncontextmenu=function(){return false}});return jQuery(this)},rightDblClick:function(a){var b;jQuery(this).each(function(){jQuery(this).rightClick(function(f,d){if(b){clearTimeout(b);b=null;a(jQuery(this),d);return true}else{b=setTimeout(function(){clearTimeout(b);b=null},300);return false}})});return jQuery(this)},rightMouseDown:function(a){jQuery(this).each(function(){jQuery(this).mousedown(function(b){if(b.button==2){a(jQuery(this));return true}else{return true}});jQuery(this)[0].oncontextmenu=function(){return false}});return jQuery(this)},rightMouseUp:function(a){jQuery(this).each(function(){jQuery(this).mouseup(function(b){if(b.button==2){a(jQuery(this));return true}else{return true}});jQuery(this)[0].oncontextmenu=function(){return false}});return jQuery(this)},noContext:function(){jQuery(this).each(function(){jQuery(this)[0].oncontextmenu=function(){return false}});return jQuery(this)}})})(jQuery)}if(typeof SEAT==="undefined"){var SEAT={}}var PGEvent=function(){return{addListener:function(d,e,b,a){if(d&&d.eventRegister){d.eventRegisterPre(e,b,a);d.eventRegister(e,b,a);d.eventRegisterPost(e,b,a)}return{obj:d,id:e,fn:b,scope:a}},removeListener:function(a){a.obj.eventDeRegisterPre(a.id,a.fn,a.scope);a.obj.eventDeRegister(a.id,a.fn,a.scope);a.obj.eventDeRegisterPost(a.id,a.fn,a.scope)}}}();Array.prototype.max=function(){return Math.max.apply(Math,this)};Array.prototype.min=function(){return Math.min.apply(Math,this)};[].indexOf||(Array.prototype.indexOf=function(b,e){e=(e==null)?0:e;var a=this.length;for(var d=e;d<a;d++){if(this[d]==b){return d}}return -1});SEAT.PGUtil={getZone:function(g,e,f,d){var b=Math.floor((g+180)/360),h=(g+180)-b*360-180,a=32;if(h>14.1285&&h<24.143875&&e>49.003201&&e<54.8387&&f<d){a=33}return a},latLong2UTM:function(e,a,t){var p=6378137,n=0.00669438,l=0.9996,u=3.14159265,b=u*e/180,f=u*a/180,q=((t-1)*6-180+3)*u/180,h=(n)/(1-n),g=p/Math.sqrt(1-n*Math.sin(f)*Math.sin(f)),d=Math.tan(f)*Math.tan(f),m=h*Math.cos(f)*Math.cos(f),o=Math.cos(f)*(b-q),j=p*((1-n/4-3*n*n/64-5*n*n*n/256)*f-(3*n/8+3*n*n/32+45*n*n*n/1024)*Math.sin(2*f)+(15*n*n/256+45*n*n*n/1024)*Math.sin(4*f)-(35*n*n*n/3072)*Math.sin(6*f)),s=(l*g*(o+(1-d+m)*o*o*o/6+(5-18*d+d*d+72*m-58*h)*o*o*o*o*o/120)+500000),r=(l*(j+g*Math.tan(f)*(o*o/2+(5-d+9*m+4*m*m)*o*o*o*o/24+(61-58*d+d*d+600*m-330*h)*o*o*o*o*o*o/720)));return{x:s,y:r}},utm2LatLong:function(m,l,I){var A=0.9996,O=6378137,L=6356752.3142,K=3.14159265,q=((I-1)*6-180+3);m=m-500000;var r=l/A,j=0.081819,J=0.006694348761,F=r/(O*(1-(J)/4-3*J*J/64-5*J*J*J/256)),p=(1-Math.sqrt(1-J))/(1+Math.sqrt(1-J)),g=(1.5*p-27*Math.pow(p,3)/32),f=(21*p*p/16-55*Math.pow(p,4)/32),e=(151*Math.pow(p,3)/96),d=(1097*Math.pow(p,4)/512),o=F+g*Math.sin(2*F)+f*Math.sin(4*F)+e*Math.sin(6*F)+d*Math.sin(8*F),N=j*j/(1-j*j),G=N*Math.cos(o)*Math.cos(o),E=Math.tan(o)*Math.tan(o),H=O*(1-J)/Math.pow(1-J*Math.sin(o)*Math.sin(o),1.5),z=O/Math.sqrt(1-J*Math.sin(o)*Math.sin(o)),C=m/(z*A),B=z*Math.tan(o)/H,y=(C*C/2),x=(5+3*E+10*G-4*G*G-9*N)*Math.pow(C,4)/24,w=(61+90*E+298*G+45*E*E-3*G*G-252*N)*Math.pow(C,6)/720,u=C,t=(1+2*E+G)*Math.pow(C,3)/6,s=(5-2*G+28*E-3*G*G+8*N+24*E*E)*Math.pow(C,5)/120,n=(o-B*(y-x+w))*180/K,h=q+((u-t+s)/Math.cos(o))*180/K;return{x:h,y:n}},pixelLatLong:function(o,l,e,s,n,h,f,j){var g=this.latLong2UTM(e,s,j),r=(n*1609.3)*(h/430),q=f/h*r;o=parseInt(o-h/2,10);l=parseInt(f/2-l,10);var d=((o/h)*r)+g.x,a=((l/f)*q)+g.y,p=SEAT.PGUtil.utm2LatLong(d,a,j),b=parseFloat(SEAT.PGUtil.trunc(p.x+"",5)),m=parseFloat(SEAT.PGUtil.trunc(p.y+"",5));return{lon:b,lat:m}},pixelLatLongPoint:function(j,f,b,o,h,e){var d=this.latLong2UTM(b,o,e),n=(h*1609.3)*(j/430),m=(h*1609.3)*(f/430),l=SEAT.PGUtil.utm2LatLong(d.x+n,d.y+m,e),a=parseFloat(SEAT.PGUtil.trunc(l.x+0.000005+"",5)),g=parseFloat(SEAT.PGUtil.trunc(l.y+0.000005+"",5));return{lon:a,lat:g}},trunc:function(b,d){var a=b.lastIndexOf(".");if(a<0){return b}if(d>0){a+=1+d}if(a>b.length){return b}return b.substr(0,a)},isFilters:function(b){try{if(b.filters){return true}else{return false}}catch(a){return false}},addBckImg:function(f,a,g,e){var b;if(SEAT.PGUtil.isFilters(f)){f.style.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true "+(e||"")+' src="'+a+'")'}else{b='url("'+a+'") '+g;f.style.background=b}},isArray:function(a){return(a.constructor.toString().indexOf("Array")!==-1)},calcCoefficients:function(a,m,n,f,g,j){var d=SEAT.PGUtil.latLong2UTM(parseFloat(a),parseFloat(m),j),e=d.x+((n/2)-f),b=g+(n/2)-d.y,l=e/n,h=b/n;return{cox:l,coy:h}},augment:function(g,f){var e=g.prototype,h=f.prototype,b=arguments,d,j;if(b[2]){for(d=2;d<b.length;d=d+1){e[b[d]]=h[b[d]]}}else{for(j in h){if(!e[j]){e[j]=h[j]}}}},purge:function(g){var e=g.attributes,f,b,h;if(e){b=e.length;for(f=0;f<b;f+=1){h=e[f].name;if(typeof g[h]==="function"){g[h]=null}}}e=g.childNodes;if(e){b=e.length;for(f=0;f<b;f+=1){SEAT.PGUtil.purge(g.childNodes[f])}}},isPointInLine:function(d,n,b,m,j,h,l){var g=l/2;b-=d;m-=n;j-=d;h-=n;var f=j*b+h*m;var a;if(f<=0){a=0}else{j=b-j;h=m-h;f=j*b+h*m;if(f<=0){a=0}else{a=f*f/(b*b+m*m)}}var e=j*j+h*h-a;if(e<0){e=0}return Math.sqrt(e)<g},getClosestPointOnLine:function(h,g,e){var f=g.x-h.x,d=g.y-h.y,b,a;if((f==0)&&(d==0)){return h}b=((e.x-h.x)*f+(e.y-h.y)*d)/(f*f+d*d);if(b<0){a=h}else{if(b>1){a=g}else{a={x:h.x+b*f,y:h.y+b*d}}}return a}};SEAT.Date={days:["Domenica","Luned&igrave;","Marted&igrave;","Mercoled&igrave;","Gioved&igrave;","Venerd&igrave;","Sabato"],months:["Gennaio","Febbraio","Marzo","Aprile","Maggio","Giugno","Luglio","Agosto","Settembre","Ottobre","Novembre","Dicembre"],getDay:function(e,a){var b=this.days;if(a){b=a}if(e>=0&&e<b.length){return b[e]}else{return""}},getMonth:function(a,b){var d=this.months;if(b){d=b}if(a>=0&&a<d.length){return d[a]}else{return""}}};SEAT.EventMgr=function(){};SEAT.EventMgr.prototype={eventRegisterPre:function(d,b,a){},eventRegisterPost:function(d,b,a){},eventRegister:function(e,b,a){var d=true;if(!this.listenerList){this.listenerList=[]}jQuery.each(this.listenerList,function(g,f){if(f.id===e&&f.fn===b&&f.scope===a){d=false;return false}});if(d){this.listenerList.push({id:e,fn:b,scope:a||null})}},eventFire:function(b,a){if(this.listenerList){jQuery.each(this.listenerList,function(e,d){if(d.id===b){d.fn.call((d.scope||d.fn),a)}})}},eventDeRegisterPre:function(d,b,a){},eventDeRegisterPost:function(d,b,a){},eventDeRegister:function(e,d,b){var a=this;if(this.listenerList){jQuery.each(this.listenerList,function(g,f){if(f&&f.id===e&&(!d||(d&&f.fn===d))&&(!b||(b&&f.scope===b))){a.listenerList.splice(g,1)}})}},eventDeRegisterAll:function(){this.listenerList=[]}};SEAT.DragDropMgr=function(){};SEAT.DragDropMgr.prototype={addDragDrop:function(){},removeDragDrop:function(){},dragDropAdd:function(d,b){var a=this;this.dragDropId=d;this.ddOpts={dragBefore:function(){},dragging:function(){},dragAfter:function(){}};jQuery.extend(this.ddOpts,b);this.ddFnMouseDown=function(f){return a.dragDropMouseDown(f)};this.ddFnMouseMove=function(f){return a.dragDropMouseMove(f)};this.ddFnMouseUp=function(f){return a.dragDropMouseUp(f)};this.selDDEle=jQuery("#"+d).bind("mousedown",this.ddFnMouseDown);jQuery(document).bind("mousemove",this.ddFnMouseMove);jQuery(document).bind("mouseup",this.ddFnMouseUp)},dragDropRemove:function(){if(this.selDDEle){this.selDDEle.unbind("mousedown",this.ddFnMouseDown);jQuery(document).unbind("mousemove",this.ddFnMouseMove);jQuery(document).unbind("mouseup",this.ddFnMouseUp)}this.mouseStart=null;this.eleStart=null;this.selDDEle=null},dragDropMouseDown:function(a){this.dragDropping=true;this.actuallyMoved=false;this.mouseStart={x:a.pageX,y:a.pageY};this.eleStart={left:parseInt(this.selDDEle.css("left"),10),right:parseInt(this.selDDEle.css("right"),10),top:parseInt(this.selDDEle.css("top"),10),bottom:parseInt(this.selDDEle.css("bottom"),10)};this.startPos=this.selDDEle.position();this.curPos=this.startPos;this.manualChg={x:0,y:0};this.ddOpts.dragBefore.call(this.ddOpts.dragBefore,{e:a});return false},dragDropMouseMove:function(b){var a;if(this.dragDropping){this.actuallyMoved=true;a=this.dragDropGetChg(b);this.dragDropSetPos(a);this.ddOpts.dragging.call(this.ddOpts.dragging,{e:b,chg:a});return false}},dragDropMouseUp:function(b){var a;if(this.dragDropping){a=this.dragDropGetChg(b);if(a.x!==0||a.y!==0){this.dragDropSetPos(a)}this.dragDropping=false;if(this.actuallyMoved){this.ddOpts.dragAfter.call(this.ddOpts.dragAfter,{e:b,chg:a})}return false}},dragDropManualChg:function(b,a){this.manualChg.x+=b;this.manualChg.y+=a;this.curPos.left+=b;this.curPos.top+=a;this.selDDEle.css({left:this.curPos.left+b,top:this.curPos.top+a})},dragDropGetChg:function(b){var a={x:b.pageX,y:b.pageY};return{x:(a.x-this.mouseStart.x)+this.manualChg.x,y:(a.y-this.mouseStart.y)+this.manualChg.y}},dragDropSetPos:function(d){var f=this.eleStart,b=(f.left||f.left===0)?{left:f.left+d.x}:(f.right)?{right:f.right-d.x}:{},a=(f.top||f.top===0)?{top:f.top+d.y}:(f.bottom)?{bottom:f.bottom-d.y}:{};this.curPos={left:this.startPos.left+d.x,top:this.startPos.top+d.y};this.selDDEle.css(b).css(a)}};var PGDragDrop=function(){return{addDragDrop:function(a){if(a&&a.addDragDrop){a.addDragDrop()}},removeDragDrop:function(a){if(a&&a.removeDragDrop){a.removeDragDrop()}}}}();SEAT.ImgQ=function(a){this.p=a||{};this.p.concurReq=a.concurReq||4;this.p.imgTimeout=a.imgTimeout||50;this.p.onImgLoad=a.onImgLoad||function(){};this.numReq=0;this.Q=[]};SEAT.ImgQ.prototype={STS_QUEUED:"q",STS_REQUESTED:"r",STS_CALLING:"c",STS_DELETE:"d",queueImg:function(e,a){this.deQueueImg(e);var d,b=this.getAvaiable();if(b===null){d=this.Q.length;this.Q[d]={}}else{d=b}jQuery.extend(this.Q[d],{id:e,imgName:a,sts:this.STS_QUEUED});if(this.numReq<this.p.concurReq){this.requestImg(d)}},deQueueAll:function(){var a=this;jQuery.each(this.Q,function(d,b){a.deleteImg(d)})},deQueueImg:function(b){var a=this.isInQueue(b);if(a!==null){this.deleteImg(a)}},getAvaiable:function(){var a,b=null;for(a=0;a<this.Q.length;a+=1){if(this.Q[a].sts===this.STS_DELETE){b=a;break}}return b},isInQueue:function(b){var a;for(a=0;a<this.Q.length;a+=1){if(this.Q[a]&&this.Q[a].id===b){return a}}return null},requestImg:function(f){var b=this;this.numReq+=1;var e=function(){b.callImg(f)};var d=((this.numReq%this.p.concurReq)+1)*80;var a=window.setTimeout(e,d);jQuery.extend(this.Q[f],{sts:this.STS_REQUESTED,tm:a})},deleteImg:function(a){if(this.Q[a].sts===this.STS_REQUESTED||this.Q[a].sts===this.STS_CALLING){this.numReq-=1}this.Q[a].id="";this.Q[a].imgName="";if(this.Q[a].tm){window.clearTimeout(this.Q[a].tm);this.Q[a].tm=null}if(this.Q[a].img){this.Q[a].img=null}this.Q[a].sts=this.STS_DELETE;this.checkQueue()},callImg:function(d){var a=this;jQuery.extend(this.Q[d],{sts:this.STS_CALLING,tm:null,img:null});if(!this.Q[d].img){this.Q[d].img=new Image()}var b=function(){a.loadedImg(d)};this.Q[d].img.onload=b;this.Q[d].img.src=this.Q[d].imgName},loadedImg:function(a){this.p.onImgLoad(this.Q[a].id,this.Q[a].imgName,this.Q[a].img);this.deleteImg(a)},checkQueue:function(){var a;if(this.numReq<this.p.concurReq){for(a=0;a<this.Q.length;a+=1){if(this.Q[a].sts===this.STS_QUEUED&&this.numReq<this.p.concurReq){this.requestImg(a)}if(this.numReq>=this.p.concurReq){break}}}}};SEAT.GraphicsMgr=function(b){var a=this;this.id=b;jQuery(window).unload(function(){a.unloadMe()})};SEAT.GraphicsMgr.prototype={unloadMe:function(){this.cvs=null;this.ctx=null},prepareCanvas:function(b,a,d){if(b!==this.containerId||a!==this.width||d!==this.height){this.removeCanvas()}this.containerId=b;this.width=a;this.height=d;if(!this.canvasExists()){this.createCanvas();this.ieFix();this.setContext()}},canvasExists:function(){return(this.cvs)?true:false},createCanvas:function(){var b=this,a=jQuery("#"+this.containerId),e=a.css("z-index"),d=parseInt((e===undefined||e==="auto")?0:e,10)+1;this.cvsContId=this.containerId+"_cvsCont_"+this.id;jQuery("<div></div>").attr({id:b.cvsContId}).css({position:"absolute",width:this.width,height:this.width,"z-index":d+""}).appendTo(a);this.cvsId=this.cvsContId+"_cvs";this.cvs=document.createElement("canvas");this.cvs.setAttribute("id",this.cvsId);this.cvs.setAttribute("width",this.width);this.cvs.setAttribute("height",this.width);jQuery("#"+this.cvsContId)[0].appendChild(this.cvs);jQuery("#"+this.cvsId).css({position:"absolute",left:0,top:0})},ieFix:function(){if(window.G_vmlCanvasManager){window.G_vmlCanvasManager.initElement(this.cvs)}},setContext:function(){this.ctx=jQuery("#"+this.cvsId)[0].getContext("2d")},posCanvas:function(a,b){jQuery("#"+this.cvsContId).css({left:a,top:b})},clearCanvas:function(){if(this.ctx){this.ctx.clearRect(0,0,this.width,this.height)}},removeCanvas:function(){if(this.cvs){this.cvs=null;this.ctx=null;jQuery("#"+this.cvsContId).html("");jQuery("#"+this.cvsContId).remove()}},drawLine:function(g,e,a,d){var f,b,h;this.setStrokeColour(e);this.setLineWidth(a);this.setOpacity(d);b=g.length;if(b>=2){this.ctx.lineJoin="round";this.ctx.beginPath();this.ctx.moveTo(g[0].x,g[0].y);for(f=0;f<b;f+=1){h=g[f];this.ctx.lineTo(h.x,h.y)}this.ctx.stroke();this.ctx.closePath()}},drawPolygon:function(f,d,b){var e,a,g;this.setFillColour(d);this.setOpacity(b);a=f.length;if(a>=2){this.ctx.beginPath();this.ctx.moveTo(f[0].x,f[0].y);for(e=0;e<a;e+=1){g=f[e];this.ctx.lineTo(g.x,g.y)}this.ctx.closePath();this.ctx.fill()}},drawCircle:function(b,a,g,f,e,h){var d=e?a-e:a;this.setOpacity(f);if(h==true){this.setFillColour(g);this.ctx.beginPath();this.ctx.arc(b.x,b.y,d,0,Math.PI*2,false);this.ctx.fill()}else{this.setStrokeColour(g);this.ctx.lineWidth=e;this.ctx.beginPath();this.ctx.arc(b.x,b.y,a-Math.ceil(e/2),0,Math.PI*2,false);this.ctx.stroke()}},setStrokeColour:function(a){this.ctx.strokeStyle="rgb("+a.r+", "+a.g+", "+a.b+")"},setFillColour:function(a){this.ctx.fillStyle="rgb("+a.r+", "+a.g+", "+a.b+")"},setLineWidth:function(a){this.ctx.lineWidth=""+a},setOpacity:function(a){if(typeof(a)!="undefined"){if(a<0||a>1){a=null}this.ctx.globalAlpha=a}}};SEAT.AnimateMgr=function(e,a,b,d,f){this.dur=e;this.cbStep=a;this.scStep=b;this.cbEnd=d;this.scEnd=f};SEAT.AnimateMgr.prototype={startAnimate:function(){var a=this;this.start=(new Date()).getTime();this.vNow=0;this.chg();this.tm=setInterval(function(){a.aStep(0,1)},15)},aStep:function(f,e){var d,b;var a=(new Date()).getTime();if(a>this.dur+this.start){if(this.tm){clearInterval(this.tm)}this.tm=null;this.vNow=e;this.chg();this.cbEnd.call(this.scEnd,this.vNow)}else{d=a-this.start;b=d/this.dur;this.vNow=((-Math.cos(b*Math.PI)/2)+0.5)*(e-f)+f;this.chg()}},chg:function(){this.cbStep.call(this.scStep,this.vNow)},isActive:function(){return Boolean(this.tm)},stopAnimate:function(){if(this.tm){clearInterval(this.tm)}this.tm=null;this.chg();this.cbEnd.call(this.scEnd,this.vNow)}};var KEY_ESC=27;var KEY_LEFT_ARROW=37;var KEY_RIGHT_ARROW=39;var KEY_UP_ARROW=38;var KEY_DOWN_ARROW=40;var PGMAP_TYPE_MAP=1;var PGMAP_TYPE_ORTO=2;var PGMAP_TYPE_MIXED=3;var PGMAP_TYPE_ORTO_RECENTE=4;var PGMAP_ACTION_DRAG=1;var PGMAP_ACTION_ZOOM=2;var PGMAP_WWW="http://www.tuttocitta.it";var PGMAP_WWW_IMG_PFX="visualapi";var PGMAP_IMG_TYPE_LIGHT=2;var PGMAP_ZOOM_PAVEMENT=-3;var PGMAP_ZOOM_PAVEMENT_STREET=-2;var PGMAP_ZOOM_PAVEMENT_INTRA_STREET=-1;var PGMAP_ZOOM_STREET=0;var PGMAP_ZOOM_STREET_QUARTER=1;var PGMAP_ZOOM_QUARTER=2;var PGMAP_ZOOM_QUARTER_TOWN=3;var PGMAP_ZOOM_TOWN=4;var PGMAP_ZOOM_TOWN_PROVINCE=5;var PGMAP_ZOOM_PROVINCE=6;var PGMAP_ZOOM_PROVINCE_REGION=7;var PGMAP_ZOOM_REGION=8;var PGMAP_ZOOM_REGION_ITALY=9;var PGMAP_ZOOM_REGION_INTER_ITALY=9;var PGMAP_ZOOM_ITALY=10;var PGMAP_ZOOM_EUROPE=11;var PGMAP_TILE_OVER_MIXED=1;var PGMAP_TILE_OVER_STREET=2;var PGMAP_TILE_OVER_USER=999;SEAT.Map=function(f){var g={nameContainer:"mapcontainer",tileWidth:256,tileHeight:256,mapWidth:400,mapHeight:400,lng:1,mapType:PGMAP_TYPE_MAP,actionType:PGMAP_ACTION_DRAG,cursorDrag:"url(http://api.visual.paginegialle.it/tcolnew/mapsapi/grab.cur), default",cursorDragging:"url(http://api.visual.paginegialle.it/tcolnew/mapsapi/grabbing.cur), default",cursorZoom:"crosshair",lon:12.49353,lat:41.89504,minPixelsClick:3,quality:0,qualities:["85","75","55"],pgPoint:null,x:0,y:0,z:1,tmZoom:500,tmDispTileVal:1250,sito:"",tmDisp:1,tmLnk:1,dragEnabled:1,wheelZoomEnabled:1,radarParent:null,imgHost:null,imgType:null,classNoPrint:"noprint",zone:32,zoneLevelChg:9,extraZooms:false,tileOverLayers:0,minMapLevel:PGMAP_ZOOM_STREET,streetColour:"verde",extraTilesAround:0,mapBackground:(f.imgType&&f.imgType===PGMAP_IMG_TYPE_LIGHT)?"#F0F2E8":"#DAD38F",compassImgs:[],zoomImgs:[],showEurope:(f.showEurope)?f.showEurope:false};jQuery.extend(g,f||{});if(g.pgPoint){g.lon=g.pgPoint.lon;g.lat=g.pgPoint.lat}g.zone=SEAT.PGUtil.getZone(g.lon,g.lat,g.z,g.zoneLevelChg);var d=this,b,a,e;function h(){b=new SEAT.Map.Model(g);a=new SEAT.Map.View(d,b,g);e=new SEAT.Map.Controller(a,b);a.setController(e);b.eventRegister("modelMapUpdate",a.update,a)}this.getOpts=function(){return g};this.startUp=function(){b.notifyUpdate()};this.addLayer=function(j){j.setViewMap(a);j.setContMap(e);a.addLayer(j)};this.removeLayer=function(j){a.removeLayer(j)};this.addTileLayer=function(j){b.addTileLayer(j)};this.removeTileLayer=function(j){b.removeTileLayer(j)};this.setCenter=function(l,j){e.setLonLat(l,j)};this.getCenter=function(){return{lon:b.getLonLat().lon,lat:b.getLonLat().lat}};this.setCenterAndZoom=function(m,j,l){e.setLonLatAndZoom(m,j,l)};this.setDisabledZoom=function(j){b.setDisabledZoom(j)};this.getDisabledZoom=function(){return b.getDisabledZoom()};this.setZoomStart=function(j){e.setZoomStart(j)};this.setZoomStep=function(j){e.setZoomStep(j)};this.setZoomEnd=function(j){e.setZoomEnd(j)};this.setZoom=function(j){e.setZoom(j)};this.getZoom=function(){return b.getZoom()};this.getZoomDist=function(){return a.model.zoomArray[b.getZIdx()]};this.getNewZoom=function(){return a.model.newVals.z};this.zoomIn=function(){e.zoomIn()};this.zoomOut=function(){e.zoomOut()};this.setSize=function(j,l){a.setSize(j,l)};this.getSize=function(){return{width:a.opts.mapWidth,height:a.opts.mapHeight}};this.setLng=function(j){a.setLng(j)};this.getLng=function(){return a.opts.lng};this.setMapType=function(j){e.setMapType(j)};this.getMapType=function(){return e.getMapType()};this.setTileOverLayers=function(j){e.setTileOverLayers(j)};this.getTileOverLayers=function(){return e.getTileOverLayers()};this.setActionType=function(j){a.setActionType(j)};this.setQuality=function(l){var j=parseInt(l,10);a.opts.quality=(j>=0&&j<a.opts.qualities.length)?j:0};this.panMapBy=function(j,l){a.panMapBy(j,l)};this.panMapTo=function(l,j){a.panMapTo(l,j)};this.getUpdated=function(){return a.updated};this.setUpdated=function(j){a.updated=j};this.getLonLatFromPixel=function(l,m){var j=SEAT.PGUtil.pixelLatLong(l,m,b.getLonLat().lon,b.getLonLat().lat,b.getZoomValueFromIdx(b.getZIdx()),a.opts.mapWidth,a.opts.mapHeight,a.opts.zone);return{lon:j.lon,lat:j.lat}};this.getPixelFromLonLat=function(q,p){var n=b.getConsts();var s=SEAT.PGUtil.calcCoefficients(q,p,n.mapWidthMeters,n.mapCentreUTMEasting,n.mapCentreUTMNorthing,a.opts.zone);var o=a.tileLayerMgr.getCurrentLayer();var r=o.getLeftPos(b.getCoefficients().cox)-(a.opts.mapWidth/2);var j=o.getTopPos(b.getCoefficients().coy)-(a.opts.mapHeight/2);return{x:o.getLeftPos(s.cox)-r,y:o.getTopPos(s.coy)-j}};this.pixelsBetweenTwoLonLats=function(p,o){var n=this.getPixelFromLonLat(p.lon,p.lat),m=this.getPixelFromLonLat(o.lon,o.lat),l=n.x-m.x,j=n.y-m.y;return Math.sqrt((l*l)+(j*j))};this.getMapBounds=function(){return a.getMapBounds()};this.disableMap=function(){a.opts.dragEnabled=0};this.enableMap=function(){a.opts.dragEnabled=1};this.disableWheelZoom=function(){a.opts.wheelZoomEnabled=0};this.enableWheelZoom=function(){a.opts.wheelZoomEnabled=1};this.preventMapMouseDown=function(){a.setPreventMapMouseDown(true)};this.addRadar=function(j){a.addRadar(j)};this.getZoomIndex=function(j){return b.getZoomIndex(j)};this.getZoomValueFromIdx=function(j){return b.getZoomValueFromIdx(j)};this.moveToCoeff=function(l,j){a.moveToCoeff(l,j)};this.getZone=function(){return a.opts.zone};h()};SEAT.PGUtil.augment(SEAT.Map,SEAT.EventMgr);SEAT.Map.ID_LAYER_CONTAINER="mapLayerCont";SEAT.Map.PAN_DURATION=1000;SEAT.Map.View=function(e,a,d){this.myParent=e;this.mapModel=a;this.opts=d;this.model=null;this.initedUpdated=false;this.layerList=[];this.sel=jQuery("#"+d.nameContainer).css({position:"relative",overflow:"hidden",background:d.mapBackground});this.chgMapSize();this.updateCursor();this.initEventListeners();this.tileLayerMgr=new SEAT.Map.TileLayerMgr(d);this.initZoomBox();this.createLogoDiv();var b=this;this.eventClickMap=function(m){var l=b.getMapContainerPos();var h={x:m.pageX,y:m.pageY};var g=(h.x-l.x);var f=(h.y-l.y);var j=b.myParent.getLonLatFromPixel(g,f);b.myParent.eventFire("click",{event:m,x:g,y:f,lon:j.lon,lat:j.lat})};this.createEventClick();jQuery("#"+d.nameContainer).bind("mousedown",function(f){return b.cont.mouseDown(f)});jQuery(document).bind("mousemove",function(f){return b.cont.mouseMove(f)});jQuery(document).bind("mouseup",function(f){return b.cont.mouseUp(f)});if(!this.opts.radarParent){jQuery("#"+d.nameContainer).bind("dblclick",function(f){return b.cont.dblClick(f)}).bind("keydown",function(f){return b.cont.keyDown(f)}).bind("keyup",function(f){return b.cont.keyUp(f)});jQuery("#"+d.nameContainer).rightDblClick(function(g,f){b.cont.dblClick(f,true);return true});jQuery("#"+d.nameContainer).mousewheel(function(f,g){if(b.opts.wheelZoomEnabled===1){f.preventDefault();return b.cont.mouseWheel(f,g)}else{return true}})}jQuery(window).unload(function(){b.unloadMe()})};SEAT.Map.View.prototype={createEventClick:function(){if(!this.eventClickCreated){jQuery("#"+this.opts.nameContainer).bind("click",this.eventClickMap);this.eventClickCreated=true}},destroyEventClick:function(){if(this.eventClickCreated){jQuery("#"+this.opts.nameContainer).unbind("click",this.eventClickMap);this.eventClickCreated=false}},unloadMe:function(){this.sel=null;this.radar=null;this.radarBox=null},initEventListeners:function(){var a=this},setController:function(a){this.cont=a},addLayer:function(a){this.layerList.push(a);a.init()},removeLayer:function(a){a.remove();this.layerList=jQuery.grep(this.layerList,function(b,d){return b!==a})},update:function(j){var r,a,o,f,b,q,g,e,d,p,n,m=false;this.model=j;this.tileLayerMgr.update(this.model);if(j.transType&&j.transType==="zoom"){if(j.startTrans){this.oldZ=j.z;this.newLon=j.newLon;this.newLat=j.newLat;this.updated=true;if(this.radar){n={newLon:j.newLon,newLat:j.newLat,newCox:j.newCox,newCoy:j.newCoy};this.radar.setZoomStart(n)}}else{if(j.stepTrans){}else{if(j.endTrans){if(this.radar){p=j.z+3;p=this.checkZoomValue(p);d=p-this.radar.getZoom().z;this.radar.setZoomEnd(d)}this.model.lon=this.model.newLon;this.model.lat=this.model.newLat;this.model.cox=this.model.newCox;this.model.coy=this.model.newCoy;this.cont.setLonLat(this.model.lon,this.model.lat);this.mapModel.model.oldMapType=null;this.myParent.eventFire("zoomaftermap",{oldZ:this.oldZ,z:j.z})}}}}else{if(j.transType&&j.transType==="pan"){r={x:this.startPan.chgX*j.now,y:this.startPan.chgY*j.now};if(j.startTrans){this.panning=true}else{if(j.stepTrans){a=r.x+this.startPan.startX;o=r.y+this.startPan.startY;this.moveToSimple(a,o,true)}else{if(j.endTrans){this.clearTmDispTile();a=r.x+this.startPan.startX;o=r.y+this.startPan.startY;this.moveToSimple(a,o,true);this.panning=false;m=true}}}}else{if(this.initedUpdated){if(this.radar){if(!this.radar.getUpdated()){this.updated=true;this.radar.setCenter(j.lon,j.lat)}this.radar.setUpdated(false)}else{if(this.opts.radarParent){if(!this.opts.radarParent.getUpdated()){this.opts.radarParent.panMapTo(j.lon,j.lat,true);this.updated=true}this.opts.radarParent.setUpdated(false)}}}if(j.oldMapType){this.myParent.eventFire("typeaftermap",{oldMapType:j.oldMapType,mapType:j.mapType})}}}b=this.layerList.length;for(f=0;f<b;f+=1){this.layerList[f].updateMap(j)}if(m){this.cont.recalcLonLat({x:r.x+(this.recalcOffsetX||0),y:r.y+(this.recalcOffsetY||0)})}if(j.transType&&j.transType==="zoom"){if(j.endTrans){this.myParent.eventFire("zoomafter",{oldZ:this.oldZ,z:j.z})}}else{if(j.transType&&j.transType==="pan"){}else{if(j.oldMapType){this.myParent.eventFire("typeafter",{oldMapType:j.oldMapType,mapType:j.mapType})}}}this.initedUpdated=true},getMapPos:function(){var a=this.tileLayerMgr.getCurrentLayer();return{x:a.x,y:a.y}},getMapContainerPos:function(){var a=this.sel.offset();return{x:a.left,y:a.top,xTo:a.left+this.opts.mapWidth,yTo:a.top+this.opts.mapHeight}},moveTo:function(f,e,b){var d,a,g=this.tileLayerMgr.getCurrentLayer();this.moveToSimple(f,e,b);if(this.radar){d=((f*-1)+(this.opts.mapWidth/2))/g.width;a=((e*-1)+(this.opts.mapHeight/2))/g.height;this.radar.moveToCoeff(d,a)}},moveToSimple:function(f,e,a){var d,b=this;this.tileLayerMgr.showTileLayerHideOthers(this.tileLayerMgr.getCurrentLayerIdx());var g=this.tileLayerMgr.getCurrentLayer();g.moveTo(f,e);if(a&&!this.tmDispTile){d=function(){b.checkForTilesToDisplay();b.clearTmDispTile()};this.tmDispTile=window.setTimeout(d,this.opts.tmDispTileVal)}},checkForTilesToDisplay:function(){var d=this.tileLayerMgr.getCurrentLayer(),a=d.x*-1,b=d.y*-1;if(a<d.visiblePos.minX||(a+this.opts.mapWidth)>d.visiblePos.maxX||b<d.visiblePos.minY||(b+this.opts.mapHeight)>d.visiblePos.maxY){this.displayTiles()}},moveToCoeff:function(b,a){var d=this.tileLayerMgr.getCurrentLayer();this.moveToSimple(((b*d.width)-(this.opts.mapWidth/2))*-1,((a*d.height)-(this.opts.mapHeight/2))*-1,true)},clearTmDispTile:function(){if(this.tmDispTile){window.clearTimeout(this.tmDispTile);this.tmDispTile=null}},chgMapSize:function(){this.sel.css({width:this.opts.mapWidth,height:this.opts.mapHeight})},setSize:function(b,a){var d={oldWidth:this.opts.mapWidth,oldHeight:this.opts.mapHeight};this.opts.mapWidth=b;this.opts.mapHeight=a;this.chgMapSize();this.model.transType=null;this.model.oldMapType=null;this.model.oldZ=null;this.model.oldZIdx=null;this.update(this.model);jQuery.extend(d,{width:b,height:a});this.myParent.eventFire("sizeaftermap",d);if(this.radar){this.radar.setSize(this.radar.getSize().width,this.radar.getSize().height)}jQuery.each(this.layerList,function(f,e){e.updateMapSize()});this.myParent.eventFire("sizeafter",d)},setLng:function(a){var b={oldLng:this.opts.lng};this.opts.lng=a;this.model.transType=null;this.model.oldMapType=null;this.model.oldZ=null;this.model.oldZIdx=null;this.update(this.model);jQuery.extend(b,{lng:a});this.myParent.eventFire("languageaftermap",b);if(this.radar){this.radar.setLng(a)}jQuery.each(this.layerList,function(e,d){d.updateMapLanguage()});this.myParent.eventFire("languageafter",b)},setActionType:function(a){this.opts.actionType=(a===PGMAP_ACTION_DRAG||a===PGMAP_ACTION_ZOOM)?a:PGMAP_ACTION_DRAG;this.updateCursor()},panMapBy:function(d,b,a){var e=this.tileLayerMgr.getCurrentLayer();this.startPan={chgX:d,chgY:b,startX:e.x,startY:e.y};this.cont.panMapBy((a||a===0)?a:SEAT.Map.PAN_DURATION)},panMapTo:function(e,b){this.cont.stopTransition();var h=SEAT.PGUtil.calcCoefficients(e,b,this.model.mapWidthMeters,this.model.mapCentreUTMEasting,this.model.mapCentreUTMNorthing,this.model.zone),g=this.model.cox-h.cox,d=this.model.coy-h.coy,a=(g*this.tileLayerMgr.getCurrentLayer().width),f=(d*this.tileLayerMgr.getCurrentLayer().height);this.panMapBy(a,f)},updateCursor:function(a){var b;if(this.opts.actionType===PGMAP_ACTION_ZOOM){b=this.opts.cursorZoom}else{b=(a)?this.opts.cursorDragging:this.opts.cursorDrag}this.sel[0].style.cursor=b},initZoomBox:function(){this.idZoomBox=this.opts.nameContainer+"_zoomBox";var a='<div id="'+this.idZoomBox+'"></div>';jQuery("body").append(a);jQuery("#"+this.idZoomBox).css({position:"absolute",display:"none",overflow:"hidden",zIndex:"250",border:"3px solid #4144AE"})},zoomBoxActivate:function(j,f){var e=(j.x<f.x)?j.x:f.x;var b=(j.x>f.x)?j.x:f.x;var a=(j.y<f.y)?j.y:f.y;var h=(j.y>f.y)?j.y:f.y;if(e<this.getMapContainerPos().x){e=this.getMapContainerPos().x}var g=parseInt(jQuery("#"+this.idZoomBox).css("borderLeftWidth"),10)*2;if((b+g)>this.getMapContainerPos().xTo){b=this.getMapContainerPos().xTo-g}if(a<this.getMapContainerPos().y){a=this.getMapContainerPos().y}var d=parseInt(jQuery("#"+this.idZoomBox).css("borderTopWidth"),10)*2;if((h+d)>this.getMapContainerPos().yTo){h=(this.getMapContainerPos().yTo-d)}if((b-e>=this.opts.minPixelsClick)||(h-a>=this.opts.minPixelsClick)){this.zoomBoxShow()}jQuery("#"+this.idZoomBox).css({left:e+"px",top:a+"px",width:b-e+"px",height:h-a+"px"})},zoomBoxMouseUp:function(h,d){this.zoomBoxHide();var e=h.x-this.getMapContainerPos().x;var g=h.y-this.getMapContainerPos().y;var b=d.x-this.getMapContainerPos().x;var f=d.y-this.getMapContainerPos().y;if(b<0){b=0}if(b>this.opts.mapWidth){b=this.opts.mapWidth}if(f<0){f=0}if(f>this.opts.mapHeight){f=this.opts.mapHeight}var a=SEAT.PGUtil.pixelLatLong(parseInt((e+b)/2,10),parseInt((g+f)/2,10),this.model.lon,this.model.lat,this.myParent.getZoomValueFromIdx(this.model.zIdx),this.opts.mapWidth,this.opts.mapHeight,this.opts.zone);this.cont.setLonLatAndZoom(a.lon,a.lat,this.zoomBoxGetNewZoom())},zoomBoxGetNewZoom:function(){var e=this.model.zIdx;var b=jQuery("#"+this.idZoomBox).width();var d=jQuery("#"+this.idZoomBox).height();var a=(b<d)?b:d;if(e>0){e-=1;if((e>0)&&(parseInt(a,10)<this.opts.mapWidth/3)){e-=1}}return this.cont.calcZFromIdx(e)},zoomBoxShow:function(){jQuery("#"+this.idZoomBox).show()},zoomBoxHide:function(){jQuery("#"+this.idZoomBox).hide()},zoomBoxCancel:function(){this.zoomBoxHide()},createLogoDiv:function(){var d=this,f,e;if(this.opts.tmDisp===1){this.idWWW=this.opts.nameContainer+"_WWW";f='<div id="'+this.idWWW+'">www.tuttocitta.it</div>';e=jQuery(f).appendTo("#"+this.opts.nameContainer);e.css({position:"absolute",width:"150px",height:"27px",fontFamily:"verdana",fontSize:"11px",zIndex:"999",top:"5px",right:"20px"})}this.idLogo=this.opts.nameContainer+"_logo";var a="";var b="";if(this.opts.mapType===PGMAP_TYPE_MAP){a="&nbsp;&copy;2009 Navteq";b="#000"}else{if(this.opts.mapType===PGMAP_TYPE_ORTO||this.opts.mapType===PGMAP_TYPE_ORTO_RECENTE){a="&nbsp;&copy; e-GEOS";b="#fff"}else{if(this.opts.mapType===PGMAP_TYPE_MIXED){a="&nbsp;&copy;2009 Navteq<br>  &nbsp;&copy;e-GEOS";b="#fff"}}}var h='<div id="'+this.idLogo+'">'+((this.opts.tmDisp===1)?'<div style="float:left;"><img src="http://img.tuttocitta.it/tcolnew/img/PGvisual_watermark.gif" width="112" height="27" /></div>':"")+'<div id="logoName" style="float:left;padding-top:5px;color:'+b+'">'+a+"</div></div>";var g=jQuery(h).appendTo("#"+this.opts.nameContainer);g.css({position:"absolute",width:"200px",height:"27px",fontFamily:"verdana",fontSize:"11px",zIndex:"999",bottom:"5px",left:"10px"});if(this.opts.tmDisp===1&&this.opts.tmLnk===1){e.css({cursor:"pointer"}).click(function(){d.openVisual()});g.find("img").css({cursor:"pointer"}).click(function(){d.openVisual()})}},openVisual:function(){window.open(PGMAP_WWW)},addRadar:function(e){e=e||{};e.width=e.width||150;e.height=e.height||100;var f=this.opts.nameContainer+"_radar";var d=jQuery('<div id="'+f+'_wrap"><div id="'+f+'"></div></div>').css({position:"absolute",width:e.width,height:e.height,border:"4px solid #000","z-index":999,background:"#fff"}).appendTo(this.sel);var a={};if(e.top){jQuery.extend(a,{top:e.top})}else{if(e.bottom){jQuery.extend(a,{bottom:e.bottom})}else{jQuery.extend(a,{top:20})}}if(e.left){jQuery.extend(a,{left:e.left})}else{if(e.right){jQuery.extend(a,{right:e.right})}else{jQuery.extend(a,{right:10})}}d.css(a);var b=this.model.z<9?this.model.z+3:this.model.z;this.radar=new SEAT.PGMappy({nameContainer:f,radarParent:this.myParent,lon:this.model.lon,lat:this.model.lat,mapWidth:e.width,mapHeight:e.height,z:b,tmDisp:0,sito:this.opts.sito,imgHost:this.opts.imgHost,imgType:this.opts.imgType,zone:this.opts.zone,extraTilesAround:0,mapBackground:this.opts.mapBackground});this.radarBox=new SEAT.RadarBox();this.radar.addLayer(this.radarBox)},setPreventMapMouseDown:function(a){this.preventMapMove=a},getPreventMapMouseDown:function(){return this.preventMapMove},displayTiles:function(){this.tileLayerMgr.displayTiles()},calcZIdx:function(a){return this.cont.calcZIdx(a)},getZoomIndex:function(a){return this.cont.getZoomIndex(a)},checkZoomValue:function(a){return this.cont.checkZoomValue(a)},getMapBounds:function(){var b=this.myParent.getLonLatFromPixel(0,0),e=this.myParent.getLonLatFromPixel(this.opts.mapWidth,0),g=this.myParent.getLonLatFromPixel(0,this.opts.mapHeight),d=this.myParent.getLonLatFromPixel(this.opts.mapWidth,this.opts.mapHeight),a=this.myParent.getLonLatFromPixel(this.opts.mapWidth/2,0),f=this.myParent.getLonLatFromPixel(this.opts.mapWidth/2,this.opts.mapHeight);return{topLeft:{lon:b.lon,lat:b.lat},topRight:{lon:e.lon,lat:e.lat},botLeft:{lon:g.lon,lat:g.lat},botRight:{lon:d.lon,lat:d.lat},topMid:{lon:a.lon,lat:a.lat},botMid:{lon:f.lon,lat:f.lat}}}};SEAT.Map.Controller=function(b,a){this.view=b;this.mapModel=a};SEAT.Map.Controller.prototype={mouseDown:function(b){var a=true;if(!this.view.getPreventMapMouseDown()){this.view.myParent.eventFire("mousedownbefore",{event:b});this.view.clearTmDispTile();if(this.view.opts.actionType===PGMAP_ACTION_DRAG&&this.view.opts.dragEnabled!==1){}else{this.dragging=true;this.view.updateCursor(true)}this.okToDrag=true;if(this.view.panning){this.view.panning=false;this.mapModel.stopTransition()}this.mouseStart={x:b.pageX,y:b.pageY};this.mapLayerContStart=this.view.getMapPos();if(this.view.opts.actionType===PGMAP_ACTION_ZOOM){this.zoomBoxing=true;this.view.zoomBoxActivate(this.mouseStart,this.mouseStart)}this.view.myParent.eventFire("mousedownafter",{event:b});a=false}return a},mouseMove:function(g){var f=true;var d,b,a=this;if(!this.view.getPreventMapMouseDown()){if(this.dragging){if(this.okToDrag){this.view.destroyEventClick();this.view.myParent.eventFire("mousemovebefore",{event:g});if(this.view.opts.actionType===PGMAP_ACTION_ZOOM){if(this.zoomBoxing){this.view.zoomBoxActivate(this.mouseStart,{x:g.pageX,y:g.pageY})}}else{b=this.getChg(g);this.setPos(b,true)}this.okToDrag=false;setTimeout(function(){a.okToDrag=true},20);this.view.myParent.eventFire("mousemoveafter",{event:g})}f=false}}return f},mouseUp:function(f){var d,b,a=this;if(!this.view.getPreventMapMouseDown()){b=this.isMouseOverMap(f);if(b){this.view.myParent.eventFire("mouseupbefore",{event:f})}if(this.dragging){this.view.updateCursor(false);this.view.myParent.eventFire("mouseupmapbefore",{event:f});this.dragging=false;setTimeout(function(){a.view.createEventClick()},0);if(this.view.opts.actionType===PGMAP_ACTION_ZOOM){if(this.zoomBoxing){this.view.zoomBoxMouseUp(this.mouseStart,{x:f.pageX,y:f.pageY});this.zoomBoxing=false}}else{this.view.clearTmDispTile();d=this.getChg(f);if(d.x!==0||d.y!==0){this.setPos(d,false);this.recalcLonLat(d)}}this.view.myParent.eventFire("mouseupmapafter",{event:f})}if(b){this.view.myParent.eventFire("mouseupafter",{event:f})}}this.view.setPreventMapMouseDown(false);return true},dblClick:function(h,g){var d={x:h.pageX,y:h.pageY},b=d.x-(this.view.getMapContainerPos().x+this.view.opts.mapWidth/2),j=d.y-(this.view.getMapContainerPos().y+this.view.opts.mapHeight/2),a=SEAT.PGUtil.pixelLatLongPoint(b,-j,this.view.model.lon,this.view.model.lat,parseFloat(this.view.model.zoomArray[this.view.model.zIdx]),this.view.opts.zone),f=(g)?this.view.model.z+1:this.view.model.z-1;this.setLonLatAndZoom(a.lon,a.lat,f);return false},keyDown:function(b){var a=10;if(!this.keyDownStarted){this.mapLayerContStart=this.view.getMapPos();this.keyDownStarted=true;this.keyChg={x:0,y:0}}if(this.zoomBoxing&&b.keyCode===KEY_ESC){this.zoomBoxing=false;this.view.zoomBoxCancel();return false}else{if(b.keyCode===KEY_LEFT_ARROW){this.keyChg.x+=a;this.setPos({x:this.keyChg.x,y:this.keyChg.y},true)}else{if(b.keyCode===KEY_RIGHT_ARROW){this.keyChg.x-=a;this.setPos({x:this.keyChg.x,y:this.keyChg.y},true)}else{if(b.keyCode===KEY_UP_ARROW){this.keyChg.y+=a;this.setPos({x:this.keyChg.x,y:this.keyChg.y},true)}else{if(b.keyCode===KEY_DOWN_ARROW){this.keyChg.y-=a;this.setPos({x:this.keyChg.x,y:this.keyChg.y},true)}}}}}return true},keyUp:function(a){if(a.keyCode===KEY_LEFT_ARROW||a.keyCode===KEY_RIGHT_ARROW||a.keyCode===KEY_UP_ARROW||a.keyCode===KEY_DOWN_ARROW){this.recalcLonLat({x:this.keyChg.x,y:this.keyChg.y})}this.keyDownStarted=false},mouseWheel:function(b,d){var a=(d>0)?this.view.model.z-1:this.view.model.z+1;this.setZoom(a);return false},getChg:function(a){return{x:a.pageX-this.mouseStart.x,y:a.pageY-this.mouseStart.y}},setPos:function(e,b){var g=this.mapLayerContStart.x+e.x,f=this.mapLayerContStart.y+e.y,a=this.view.tileLayerMgr.getCurrentLayer(),d={x:g,y:f};this.view.moveTo(d.x,d.y,b)},recalcLonLat:function(d){var b=(parseInt(this.view.opts.mapWidth,10)/2)-d.x,e=(parseInt(this.view.opts.mapHeight,10)/2)-d.y,a=SEAT.PGUtil.pixelLatLong(b,e,this.mapModel.model.lon,this.mapModel.model.lat,parseFloat(this.mapModel.model.zoomArray[this.mapModel.model.zIdx]),this.view.opts.mapWidth,this.view.opts.mapHeight,this.view.opts.zone);this.mapModel.setLonLat(a.lon,a.lat)},stopTransition:function(){this.mapModel.stopTransition()},panMapBy:function(a){this.mapModel.transition(a,{transType:"pan"})},setLonLat:function(b,a){this.mapModel.setLonLat(b,a)},setLonLatAndZoom:function(d,a,b){this.mapModel.setLonLatAndZoom(d,a,b)},setZoomStart:function(a){this.mapModel.setZoomStart(a)},setZoomStep:function(a){this.mapModel.setZoomStep(a)},setZoomEnd:function(a){this.mapModel.setZoomEnd(a)},setZoom:function(a){this.mapModel.setZoom(a)},zoomIn:function(){this.mapModel.zoomIn()},zoomOut:function(){this.mapModel.zoomOut()},setMapType:function(a){this.mapModel.setMapType(a)},getMapType:function(){return this.mapModel.getMapType()},setTileOverLayers:function(a){this.mapModel.setTileOverLayers(a)},getTileOverLayers:function(){return this.mapModel.getTileOverLayers()},calcZIdx:function(a){return this.mapModel.calcZIdx(a)},calcZFromIdx:function(a){return this.mapModel.calcZFromIdx(a)},getZoomIndex:function(a){return this.mapModel.getZoomIndex(a)},checkZoomValue:function(a){return this.mapModel.checkZoomValue(a)},isMouseOverMap:function(d){var b={x:d.pageX,y:d.pageY},a=this.view.getMapContainerPos();return((b.x>=a.x)&&(b.x<=a.xTo)&&(b.y>=a.y)&&(b.y<=a.yTo))}};SEAT.Map.Model=function(a){this.model={mapWidthLevel1Pixel:33554432,mapWidthMeters:4709238.7,mapCentreUTMEasting:637855.35,mapCentreUTMNorthing:5671353.65,zoomArray:(a.extraZooms)?[0.0375,0.075,0.15,0.3,0.6,1.2,2.4,4.8,9.6,19.2,38.4,76.8,153.6,307.2,614.4,1228.8]:[0.0375,0.075,0.15,0.3,0.6,1.2,2.4,4.8,9.6,19.2,38.4,76.8,153.6,614.4,1228.8],zoomArrayCent:(a.extraZooms)?[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16]:[1,2,3,4,5,6,7,8,9,10,11,12,13,15,16],mapType:a.mapType,tileOverLayers:a.tileOverLayers,minMapLevel:a.minMapLevel,lon:a.lon,lat:a.lat,cox:0,coy:0,zIdx:0,z:a.z,tmZoom:a.tmZoom,zone:a.zone,zoneLevelChg:a.zoneLevelChg,extraZooms:a.extraZooms,disabledZoom:a.disabledZoom||[],tileLayers:[]};this.model.zIdx=this.calcZIdx(this.model.z);this.setZoneVals(this.model.zone);if(this.model.extraZooms){PGMAP_ZOOM_REGION_INTER_ITALY=10;PGMAP_ZOOM_ITALY=11;PGMAP_ZOOM_EUROPE=12}this.extra={};this.utid=1;this.calcCoefficients()};SEAT.Map.Model.prototype={transition:function(d,e,b){var a=this;this.stopTransition();this.newVals=b||{};this.transExtra=e;jQuery.extend(this.extra,this.transExtra,{startTrans:true},{newVals:this.newVals});this.notifyUpdate();this.anim=new SEAT.AnimateMgr(d,a.transitionStep,a,a.transitionEnd,a);this.anim.startAnimate()},transitionStep:function(a){jQuery.extend(this.extra,this.transExtra,{stepTrans:true,now:a},{newVals:this.newVals});this.notifyUpdate()},transitionEnd:function(a){jQuery.extend(this.model,this.newVals);jQuery.extend(this.extra,this.transExtra,{endTrans:true,now:a});this.transExtra=null;this.anim=null;this.notifyUpdate()},stopTransition:function(){if(this.anim){this.anim.stopAnimate();this.anim=null}this.transExtra=null},setDisabledZoom:function(a){this.model.disabledZoom=a},getDisabledZoom:function(){return this.model.disabledZoom},setZoomStart:function(a){this.chgZoomStart(a)},setZoomStep:function(b){var a=0;b=this.checkZoomValue(this.model.z+b)-this.model.z;this.chgZoomStep(b,a)},setZoomEnd:function(b){b=this.checkZoomValue(this.model.z+b)-this.model.z;var a=(b>=0)?Math.ceil(b):Math.floor(b);this.setZoomEndFinish(b,a,false)},setZoomEndFinish:function(f,a,e){var d=this,b;this.chgZ=f;this.finalChgZ=a;this.finalDiff=a-f;b=(!e||(this.finalDiff===0))?0:this.model.tmZoom;this.anim=new SEAT.AnimateMgr(b,d.zoomAnimateStep,d,d.zoomAnimateEnd,d);this.anim.startAnimate()},zoomAnimateStep:function(b){var a=this.chgZ+(this.finalDiff*b);this.chgZoomStep(a,b)},zoomAnimateEnd:function(a){this.anim=null;this.chgZoomEnd(this.finalChgZ,a)},chgZoomStart:function(a){this.stopTransition();this.newPos=a||{};if(!this.newPos.newLon||!this.newPos.newLat){this.newPos.newLon=this.model.lon;this.newPos.newLat=this.model.lat;this.newPos.newCox=this.model.cox;this.newPos.newCoy=this.model.coy}if(!this.newPos.newZone){this.newPos.newZone=this.model.zone}this.origZ=this.model.z;jQuery.extend(this.extra,{transType:"zoom",startTrans:true},this.newPos);this.notifyUpdate()},chgZoomStep:function(b,a){jQuery.extend(this.extra,{transType:"zoom",stepTrans:true,chgZ:b,now:a,oldZ:this.model.z,oldZIdx:this.model.zIdx,oldZone:this.model.zone});this.notifyUpdate()},chgZoomEnd:function(d,a){jQuery.extend(this.extra,{transType:"zoom",endTrans:true,newVals:{z:this.model.z,zIdx:this.model.zIdx},oldZ:this.model.z,oldZIdx:this.model.zIdx,oldZone:this.model.zone,chgZ:d,now:a},this.newPos);var b=this.origZ+this.finalChgZ;b=this.checkZoomValue(b);jQuery.extend(this.model,{oldZ:this.model.z,oldZIdx:this.model.zIdx,z:b,zIdx:this.calcZIdx(b)});this.setZoneVals(this.newPos.newZone);this.notifyUpdate()},setZoom:function(f,d){var b=false,e,a;jQuery.each(this.model.disabledZoom,function(h,g){if(parseInt(g,10)===parseInt(f,10)){b=true;return false}});if(!b){this.stopTransition();f=this.checkZoomValue(f);a=this.checkZone((d&&d.newLon)?d.newLon:this.model.lon,(d&&d.newLat)?d.newLat:this.model.lat,f);d=d||{};d.newZone=a.newZone;e=f-this.model.z;this.chgZoomStart(d);this.setZoomEndFinish(0,e,true)}},zoomIn:function(){var a=this.model.z-1;this.setZoom(a)},zoomOut:function(){var a=this.model.z+1;this.setZoom(a)},checkZoomValue:function(f){var d=this,a=this.model.zoomArray.length-1-SEAT.Map.Model.NUM_OF_NEGATIVE_ZOOM_LEVELS,e=[{a:12.225248,b:41.648857,c:12.857263,d:42.106668},{a:9.040675,b:45.399193,c:9.278047,d:45.535958},{a:7.575495,b:45.017648,c:7.770832,d:45.141136},{a:8.665256,b:44.382267,c:9.089091,d:44.519214},{a:12.152387,b:45.228948,c:12.581304,d:45.589057},{a:11.80394,b:45.348796,c:11.959782,d:45.458577},{a:11.22559,b:44.418602,c:11.421476,d:44.558825},{a:10.26749,b:43.582474,c:10.438307,d:43.751211},{a:11.147756,b:43.728345,c:11.339952,d:43.838108},{a:14.127744,b:40.790255,c:14.356175,d:40.921094},{a:13.239721,b:38.052818,c:13.460422,d:38.227123},{a:10.873612,b:45.35921,c:11.116805,d:45.54515},{a:9.226909,b:45.556359,c:9.313644,d:45.632358}],b=false;if(f<-SEAT.Map.Model.NUM_OF_NEGATIVE_ZOOM_LEVELS){f=-SEAT.Map.Model.NUM_OF_NEGATIVE_ZOOM_LEVELS}else{if(f>=a){f=a}}if((this.model.mapType===PGMAP_TYPE_MAP)&&(f<this.model.minMapLevel)){f=this.model.minMapLevel}if((this.model.mapType===PGMAP_TYPE_MAP)&&(f<PGMAP_ZOOM_STREET)){jQuery.each(e,function(h,g){if((parseFloat(d.model.lon)>=parseFloat(g.a))&&(parseFloat(d.model.lon)<=parseFloat(g.c))&&(parseFloat(d.model.lat)>=parseFloat(g.b))&&(parseFloat(d.model.lat)<=parseFloat(g.d))){b=true;return false}});f=(b)?f:PGMAP_ZOOM_STREET}return f},calcZIdx:function(a){return a+SEAT.Map.Model.NUM_OF_NEGATIVE_ZOOM_LEVELS},calcZFromIdx:function(a){return a-SEAT.Map.Model.NUM_OF_NEGATIVE_ZOOM_LEVELS},calcCoefficients:function(){var a=SEAT.PGUtil.calcCoefficients(this.model.lon,this.model.lat,this.model.mapWidthMeters,this.model.mapCentreUTMEasting,this.model.mapCentreUTMNorthing,this.model.zone);this.model.cox=a.cox;this.model.coy=a.coy},setLonLat:function(d,b){var a=this.checkZone(d,b,this.model.z);jQuery.extend(this.extra,{oldZone:a.oldZone,newZone:a.newZone});this.setZoneVals(a.newZone);this.model.lon=d;this.model.lat=b;this.calcCoefficients();this.notifyUpdate()},setLonLatAndZoom:function(e,b,d){var f=SEAT.PGUtil.calcCoefficients(e,b,this.model.mapWidthMeters,this.model.mapCentreUTMEasting,this.model.mapCentreUTMNorthing,this.model.zone);var a={newLon:e,newLat:b,newCox:f.cox,newCoy:f.coy};this.setZoom(d,a)},setMapType:function(e){var d,f;if((e===PGMAP_TYPE_MAP||e===PGMAP_TYPE_ORTO||e===PGMAP_TYPE_MIXED||e===PGMAP_TYPE_ORTO_RECENTE)&&e!==this.model.mapType){f=this.model.mapType;jQuery.extend(this.extra,{oldMapType:f});this.model.mapType=e;var a="";var b="";if(e===PGMAP_TYPE_MAP){a="&nbsp;&copy;2009 Navteq";b="#000"}else{if(e===PGMAP_TYPE_ORTO||e===PGMAP_TYPE_ORTO_RECENTE){a="&nbsp;&copy; e-GEOS";b="#fff"}else{if(e===PGMAP_TYPE_MIXED){a="&nbsp;&copy;2009 Navteq<br>  &nbsp;&copy;e-GEOS";b="#fff"}}}jQuery("#logoName").html(a).css({color:b});d=this.checkZoomValue(this.model.z);if(d!==this.model.z){this.model.oldMapType=f;this.setZoom(d)}else{this.notifyUpdate()}}},getMapType:function(){return this.model.mapType},setTileOverLayers:function(a){this.model.tileOverLayers=a},getTileOverLayers:function(){return this.model.tileOverLayers},notifyUpdate:function(){var a=jQuery.extend({},this.model,this.extra);this.extra={};this.eventFire("modelMapUpdate",a)},getLonLat:function(){return{lon:this.model.lon,lat:this.model.lat}},getZoom:function(){return this.model.z},getZIdx:function(){return this.model.zIdx},getCoefficients:function(){return{cox:this.model.cox,coy:this.model.coy}},getConsts:function(){return{mapWidthLevel1Pixel:this.model.mapWidthLevel1Pixel,mapWidthMeters:this.model.mapWidthMeters,mapCentreUTMEasting:this.model.mapCentreUTMEasting,mapCentreUTMNorthing:this.model.mapCentreUTMNorthing}},getZoomIndex:function(d){var b;var a=this.model.zoomArray.length-1;for(b=3;b<this.model.zoomArray.length;b+=1){if(d<=parseFloat(this.model.zoomArray[b])){a=b;break}}return this.calcZFromIdx(a)},getZoomValueFromIdx:function(a){return parseFloat(this.model.zoomArray[a])},checkZone:function(e,b,d){var a=this.model.zone,f=SEAT.PGUtil.getZone(e,b,d,this.model.zoneLevelChg);return{oldZone:a,newZone:f}},setZoneVals:function(a){this.model.zone=a;if(a===33){this.model.mapCentreUTMNorthing=5677219.33619-117761.5;this.model.mapCentreUTMEasting=718496.723786+133922.35}else{if(a===35){this.model.mapCentreUTMNorthing=4533619.12;this.model.mapCentreUTMEasting=637855.35}else{this.model.mapCentreUTMNorthing=5671353.65;this.model.mapCentreUTMEasting=637855.35}}},addTileLayer:function(a){if(this.getIndexTileLayer(a)===-1){a.id=this.utid++;this.model.tileLayers.push(a);this.notifyUpdate()}},removeTileLayer:function(b){var d=this.getIndexTileLayer(b),a=[];if(d>=0){jQuery.each(this.model.tileLayers,function(f,e){a.push(e)});jQuery.extend(this.extra,{oldTileLayers:a});this.model.tileLayers.splice(d,1);this.notifyUpdate()}},getIndexTileLayer:function(b){var a=-1;jQuery.each(this.model.tileLayers,function(e,d){if(b.id===d.id){a=e;return false}});return a}};SEAT.Map.Model.NUM_OF_NEGATIVE_ZOOM_LEVELS=3;SEAT.PGUtil.augment(SEAT.Map.Model,SEAT.EventMgr);SEAT.Map.TileLayer=function(h,g,f,a,e){var b=this,d='<div id="'+h+'"></div>';this.id=h;this.opts=g;this.parent=e;this.sel=jQuery(d).appendTo("#"+g.nameContainer).css({position:"absolute"});this.sel.css({width:"100%",height:"100%"});this.setSize(f,a);this.origWidth=f;this.origHeight=a;this.width=f;this.height=a;this.x=0;this.y=0;this.visiblePos={minX:0,maxX:0,minY:0,maxY:0};this.ij=[];this.tiles=[];this.eta=0;this.imgQ=new SEAT.ImgQ({onImgLoad:function(l,j){b.imgLoad(l,j)}});this.hideZ();this.imgTrans=new Image();this.imgTrans.src="http://img.tuttocitta.it/nuovotcol/img/trans_point.gif";jQuery(window).unload(function(){b.unloadMe()})};SEAT.Map.TileLayer.prototype={IMG_ID_PART_MAP:"tile",IMG_ID_PART_MIXED:"otile1",IMG_ID_PART_USER:"otileu_",unloadMe:function(){this.sel=null;this.ij=null;this.imgQ=null;this.imgTrans=null;this.tiles=null},resetSize:function(){this.setSize(this.origWidth,this.origHeight)},setSize:function(a,b){this.width=a;this.height=b},getLeftPos:function(a){var b=this.width*(this.leftAdjustCox||0);return Math.round((this.width*a)+b)},getTopPos:function(a){var b=this.height*(this.topAdjustCoy||0);return Math.round((this.height*a)+b)},addTileToList:function(e,b,d,a,f){this.tiles.push({sel:e,part:b,i:d,j:a,id:f})},getTilesByPart:function(a){return jQuery.grep(this.tiles,function(b,d){return(b.part===a)})},getATile:function(a,d,e){var b=null;jQuery.each(this.tiles,function(g,f){if((f.part===a)&&(f.i===d)&&(f.j===e)){b=f;return false}});return b},removeTilesByPart:function(a){this.tiles=jQuery.grep(this.tiles,function(b,d){return(b.part!==a)})},removeAllTilesFromQ:function(){var a=this;jQuery.each(this.imgQ.Q,function(d,b){if((b.id!=="")&&(b.id.indexOf(a.id+"_")>-1)){a.imgQ.deQueueImg(b.id)}})},displayTiles:function(b,h,g,e,f,d){var a=this;this.eta=d;this.iFrom=h;this.iTo=g;this.jFrom=e;this.jTo=f;this.displayTilesType(b,h,g,e,f,this.IMG_ID_PART_MAP,null);if(b.mapType===PGMAP_TYPE_MIXED&&b.z>=0){this.displayTilesType(b,h,g,e,f,this.IMG_ID_PART_MIXED,PGMAP_TILE_OVER_MIXED)}jQuery.each(b.tileLayers,function(l,j){a.displayTilesType(b,h,g,e,f,a.IMG_ID_PART_USER+j.id,PGMAP_TILE_OVER_USER,j)})},displayTilesType:function(b,s,g,h,y,m,a,l){var o=this,z=this.getTilesByPart(m),p=Math.floor(s+((g-s)/2)),u=Math.ceil(h+((y-h)/2)),A=1,f=0,q=0,d=0,n,e,x=true,t,r,w=[];jQuery.each(this.imgQ.Q,function(B,j){var E,C,D;if(j.id!==""){E=j.id.split("_");C=parseInt(E[E.length-2],10);D=parseInt(E[E.length-1],10);if(j.id.indexOf(o.id+"_"+m+"_")>-1&&(C<s||C>g||D>h||D>y)){o.imgQ.deQueueImg(j.id)}}});this.visiblePos={minX:s*this.opts.tileWidth,maxX:(g+1)*this.opts.tileWidth,minY:h*this.opts.tileHeight,maxY:(y+1)*this.opts.tileHeight};jQuery.each(z,function(B,j){if((j.i<s)||(j.i>g)||(j.j<h)||(j.j>y)){j.sel.hide()}else{if(j.sel.attr("src")!==o.imgTrans.src){j.sel.show()}else{j.sel.hide()}}});for(t=s;t<=g;t+=1){for(r=h;r<=y;r+=1){w.push({i:t,j:r,displayed:false})}}while(x){if(p>=s&&p<=g&&u>=h&&u<=y){n=this.getATile(m,p,u);if(n===null){e=null;z=this.getTilesByPart(m);jQuery.each(z,function(B,j){if((j.i<s)||(j.i>g)||(j.j<h)||(j.j>y)){e=j;return false}});if(e!==null){this.modifyATile(b,e,p,u,m,a,l)}else{this.createATile(b,p,u,a,l)}}else{if(!n.sel.is(":visible")){this.modifyATile(b,n,p,u,m,a,l)}}jQuery.each(w,function(B,j){if(j.i===p&&j.j==u){j.displayed=true;return false}})}if(q===0){p+=1}else{if(q===1){u-=1}else{if(q===2){p-=1}else{if(q===3){u+=1}}}}f+=1;if(f>=A){f=0;q=(q<3)?q+=1:0;if((d%2)===1){A+=1}d+=1}x=false;jQuery.each(w,function(B,j){if(!j.displayed){x=true;return false}})}},getTileId:function(a,d,b){return(this.id+"_"+a+"_"+d+"_"+b)},removeAllTiles:function(a){var b=this;this.removeAllTilesPart(this.IMG_ID_PART_MAP);if(!(a&PGMAP_TILE_OVER_MIXED)){this.removeAllTilesPart(this.IMG_ID_PART_MIXED)}if(this.parent.model&&this.parent.model.tileLayers){jQuery.each(this.parent.model.tileLayers,function(e,d){b.removeAllTilesPart(b.IMG_ID_PART_USER+d.id)})}},removeAllTilesPart:function(a){jQuery.each(this.getTilesByPart(a),function(d,b){b.sel.remove();b.sel=null});this.removeTilesByPart(a)},showZ:function(){this.sel.css({"z-index":SEAT.Map.TileLayer.ZINDEX_SHOW})},showMe:function(){this.sel.show()},showBelow:function(){this.sel.css({"z-index":SEAT.Map.TileLayer.ZINDEX_SHOW_BELOW})},hideZ:function(){this.sel.css({"z-index":SEAT.Map.TileLayer.ZINDEX_HIDE})},hide2:function(){this.sel.hide()},moveTo:function(a,b){if(!this.leftAdjustCox){this.leftAdjustCox=a/this.width;this.topAdjustCoy=b/this.height}this.x=a;this.y=b;this.cssX=a-(this.leftAdjustCox*this.width);this.cssY=b-(this.topAdjustCoy*this.height);this.sel.css({left:this.cssX,top:this.cssY})},createATile:function(g,f,d,o,b){var n,a,m,l,h,e;if(o===null){this.createATileType(f,d,this.IMG_ID_PART_MAP,"100",this.imageSrc(g,f,d),false)}else{if(o===PGMAP_TILE_OVER_MIXED){this.createATileType(f,d,this.IMG_ID_PART_MIXED,"110",this.imageSrc(g,f,d,PGMAP_TILE_OVER_MIXED),false)}else{if(o===PGMAP_TILE_OVER_USER){n=b.getTileUrl;l=g.zoomArrayCent[g.zIdx];e={i:f,j:d,z:l};a=n.call(n,e);n=b.getZIndex;m=n.call(n,e);n=b.getIsPng;h=n.call(n,e);this.createATileType(f,d,this.IMG_ID_PART_USER+b.id,m,a,h)}}}},createATileType:function(e,d,a,l,m,g){var b=this.getTileId(a,e,d),n=(g)?' class="typepng"':"",f='<img id="'+b+'" name="'+b+'" src="'+this.imgTrans.src+'" galleryimg="no"'+n+"/>",h=jQuery(f).appendTo(this.sel).css({left:this.getLeftPos((e*this.opts.tileWidth)/this.origWidth),top:this.getTopPos((d*this.opts.tileHeight)/this.origHeight),width:this.opts.tileWidth,height:this.opts.tileHeight,overflow:"hidden",position:"absolute",border:"0px",padding:"0 0 0 0",margin:"0 0 0 0",zIndex:l}).hide();this.addTileToList(h,a,e,d,b);this.imgQ.queueImg(b,m)},modifyATile:function(g,h,f,e,p,o,d){var a=(o===null)?this.IMG_ID_PART_MAP:p,l=this.getTileId(a,f,e),n,b,m;h.sel.hide().attr({src:this.imgTrans.src,id:l,name:l}).css({left:this.getLeftPos((f*this.opts.tileWidth)/this.origWidth),top:this.getTopPos((e*this.opts.tileHeight)/this.origHeight)});h.i=f;h.j=e;h.id=l;if(o===PGMAP_TILE_OVER_USER){n=d.getTileUrl;m=g.zoomArrayCent[g.zIdx];b=n.call(n,{i:f,j:e,z:m});this.imgQ.queueImg(l,b)}else{this.imgQ.queueImg(l,this.imageSrc(g,f,e,o))}},imgLoad:function(d,a){var m=this,b,h,g,j,e,f,l;jQuery.each(this.tiles,function(o,n){if(n.id===d){n.sel.attr({src:a});j=d.indexOf(m.IMG_ID_PART_USER);if(j>-1){if(m.parent.model&&m.parent.model.tileLayers){e=d.substr(j).split("_");b=parseInt(e[1],10);f=e[2];l=e[3];jQuery.each(m.parent.model.tileLayers,function(p,q){var s,r;if(q.id===b){s=m.parent.model.zoomArrayCent[m.parent.model.zIdx];r={id:d,ulid:b,i:f,j:l,z:s};h=q.getOpacity;g=h.call(h,r);n.sel.css({opacity:g});h=q.onLoadImg;h.call(h,r);return false}})}}m.imgShow(n.sel)}})},imgShow:function(a){a.show()},imageSrc:function(h,g,f,d){var a,l,b,n,e,m;if(g>=0&&f>=0){l=h.zoomArrayCent[h.zIdx];b=Math.pow(2,l-1);n=this.opts.imgHost||"http://visualimages"+((g%2)+1)+".paginegialle.it";if(d===PGMAP_TILE_OVER_MIXED){a=n+"/xmlpng_miste.php/europa-pngmix.imgi?cmd=tile&x="+g+"&y="+f+"&z="+b+"&extra=2&ts="+this.opts.tileWidth+"&utm="+this.opts.zone+"&sito="+this.opts.sito+"&v=4"}else{if((h.mapType===PGMAP_TYPE_MAP)&&this.opts.imgType&&(this.opts.imgType===PGMAP_IMG_TYPE_LIGHT)){m="/xmlpng.php/europa-png.imgi?cmd=tile";if(this.opts.showEurope&&((b===32768)||(b===16384)||(b===8192)||(b===4096))){m="/xmlpng.php/europa-png-eu.imgi?cmd=tile"}a=n+m+"&x="+g+"&y="+f+"&z="+b+"&extra=2&ts="+this.opts.tileWidth+"&utm="+this.opts.zone+"&sito="+this.opts.sito+"&v=13"}else{e="europa.imgi";if(h.mapType===PGMAP_TYPE_ORTO){e="europa-orto.imgi"}else{if(h.mapType===PGMAP_TYPE_MIXED){e="europa-orto.imgi"}else{if(h.mapType===PGMAP_TYPE_ORTO_RECENTE){e="europa-orto-recente.imgi"}}}n=this.opts.imgHost||"http://"+PGMAP_WWW_IMG_PFX+((g%4)+1)+".paginegialle.it";a=n+"/xml.php/"+e+"?cmd=tile&format=jpeg&x="+g+"&y="+f+"&z="+b+"&q="+this.opts.qualities[this.opts.quality]+"&extra=2&ts="+this.opts.tileWidth+"&sito="+this.opts.sito+"&v=1"}}}return a},update:function(d){var b,a=this;this.model=d;if(d.transType&&d.transType==="zoom"){if(d.startTrans){this.startZIdx=this.model.zIdx;this.chgBy(d,0);b=this.tiles;this.ij=[];jQuery.each(b,function(h,g){var f=(g.i*a.opts.tileWidth)/a.origWidth,e=(g.j*a.opts.tileHeight)/a.origHeight;if((g.i>=(a.iFrom+a.eta))&&(g.i<=(a.iTo-a.eta))&&(g.j>=(a.jFrom+a.eta))&&(g.j<=(a.jTo-a.eta))){a.ij.push({tile:g.sel,i:g.i,j:g.j,cox:f,coy:e});g.sel.show()}else{g.sel.hide()}})}else{if(d.stepTrans){this.chgBy(d,d.chgZ)}else{if(d.endTrans){this.chgBy(d,d.chgZ)}}}}},chgBy:function(b,e){var a=this,d=this.getNewSizeForChange(b,this.opts.tileWidth,this.opts.tileHeight,e);jQuery.each(this.ij,function(g,f){f.tile.css({left:a.getLeftPos(f.cox),top:a.getTopPos(f.coy),width:d.width,height:d.height})})},getNewSizeForChange:function(d,j,m,h){var t,a,u,e,s,b,p,g,o,l,n,r=d.zoomArrayCent[this.startZIdx],q,f;if(h<0){n=h*-1;t=Math.floor(n);a=Math.ceil(n);q=r-d.zoomArrayCent[this.startZIdx-t];f=r-d.zoomArrayCent[this.startZIdx-a];u=Math.pow(2,q)*j;e=Math.pow(2,q)*m;s=Math.pow(2,f)*j;b=Math.pow(2,f)*m;p=(s-u)*(n-t);g=(b-e)*(n-t);o=u+p;l=e+g}else{t=Math.floor(h);a=Math.ceil(h);q=d.zoomArrayCent[this.startZIdx+t]-r;f=d.zoomArrayCent[this.startZIdx+a]-r;u=Math.pow(2,(q*-1))*j;e=Math.pow(2,(q*-1))*m;s=Math.pow(2,(f*-1))*j;b=Math.pow(2,(f*-1))*m;p=(u-s)*(h-t);g=(e-b)*(h-t);o=u-p;l=e-g}return{width:o,height:l}}};SEAT.Map.TileLayer.ZINDEX_SHOW=100;SEAT.Map.TileLayer.ZINDEX_SHOW_BELOW=99;SEAT.Map.TileLayer.ZINDEX_HIDE=98;var PGTileLayer=function(){};PGTileLayer.prototype={getTileUrl:function(){return null},getZIndex:function(){return"130"},getIsPng:function(){return false},getOpacity:function(){return 1},onLoadImg:function(){}};SEAT.Map.TileLayerMgr=function(a){this.opts=a;this.tileLayerList=[];this.inited=false};SEAT.Map.TileLayerMgr.prototype={initTileLayers:function(a){var d,b,e=a.zoomArrayCent.length;for(d=0;d<e;d+=1){b=this.getSizeForZoom(a,d);this.addTileLayer(new SEAT.Map.TileLayer(this.opts.nameContainer+"_z_"+d,this.opts,b.width,b.height,this))}this.inited=true},addTileLayer:function(a){this.tileLayerList.push(a)},update:function(b){var g,f,a,l,j,e,d,h;this.model=b;if(!this.inited){this.initTileLayers(b)}if(b.transType&&b.transType==="zoom"){if(b.startTrans){this.showTileLayerHideOthers(b.zIdx);this.startLayer=this.getCurrentLayer();this.startZIdx=this.model.zIdx;this.startCoeff={cox:b.cox,coy:b.coy};this.chgCoeff={cox:b.newCox-b.cox,coy:b.newCoy-b.coy};this.chgBy(0,0)}else{if(b.stepTrans){this.chgBy(b.chgZ,b.now)}else{if(b.endTrans){this.checkChgZone(b.oldZone,b.zone);h=this.getLayer(b.zIdx);h.resetSize();h.chgBy(b,0);this.showTileLayerHideOthers(b.zIdx,b.oldZIdx)}}}this.startLayer.update(b)}else{if(b.transType&&b.transType==="pan"){if(b.endTrans){this.checkChgZone(b.oldZone,b.zone)}}else{this.checkChgZone(b.oldZone,b.zone);this.setPosAndShow(b)}}},checkChgZone:function(b,a){if(b&&(b!==a)){jQuery.each(this.tileLayerList,function(e,d){d.removeAllTiles();d.opts.zone=a})}},chgBy:function(h,d){var b=this.getNewSizeForChange(this.startZIdx,h);this.startLayer.setSize(b.width,b.height);var g=this.startCoeff.cox+(this.chgCoeff.cox*d);var f=this.startCoeff.coy+(this.chgCoeff.coy*d);var e=((g*b.width)*-1)+(this.opts.mapWidth/2);var a=((f*b.height)*-1)+(this.opts.mapHeight/2);this.startLayer.moveTo(e,a)},getNewSizeForChange:function(p,b){var l,m,f,h,d,g,j,o,e,n,a;if(b<0){a=(b*-1);l=Math.floor(a);m=Math.ceil(a);f=this.getSizeForZoom(this.model,p-l).width;h=this.getSizeForZoom(this.model,p-l).height;d=this.getSizeForZoom(this.model,p-m).width;g=this.getSizeForZoom(this.model,p-m).height;j=(d-f)*(a-l);o=(g-h)*(a-l);e=f+j;n=h+o}else{l=Math.floor(b);m=Math.ceil(b);f=this.getSizeForZoom(this.model,p+l).width;h=this.getSizeForZoom(this.model,p+l).height;d=this.getSizeForZoom(this.model,p+m).width;g=this.getSizeForZoom(this.model,p+m).height;j=(f-d)*(b-l);o=(h-g)*(b-l);e=f-j;n=h-o}return{width:e,height:n}},setPosLayer:function(d,b){var a,e;a=((d.width*b.cox)*-1)+(this.opts.mapWidth/2);e=((d.height*b.coy)*-1)+(this.opts.mapHeight/2);d.moveTo(a,e)},setPosAndShow:function(b){var a=this;this.setPosLayer(this.getCurrentLayer(),b);if(b.oldMapType&&b.oldMapType!==b.mapType){jQuery.each(this.tileLayerList,function(e,d){d.removeAllTiles()})}if(b.oldTileLayers){jQuery.each(b.oldTileLayers,function(e,d){var f=false;jQuery.each(b.tileLayers,function(h,g){if(g.id===d.id){f=true;return false}});if(!f){jQuery.each(a.tileLayerList,function(h,g){g.removeAllTilesPart(g.IMG_ID_PART_USER+d.id)})}})}this.showTileLayer()},showTileLayer:function(){var d,b,a=this.tileLayerList.length;for(d=0;d<a;d+=1){b=this.tileLayerList[d];if(d===this.model.zIdx){b.showZ();this.displayTiles()}else{b.hideZ();if(d!==this.model.oldZIdx){b.removeAllTiles()}}}},showTileLayerHideOthers:function(f,e){var d,b,a=this.tileLayerList.length;for(d=0;d<a;d+=1){b=this.tileLayerList[d];if(d===f){b.showZ();b.showMe()}else{if(d===e){b.showBelow();b.showMe()}else{b.hideZ();b.hide2()}}}},displayTiles:function(){var a=this.getVisibleTiles();this.getCurrentLayer().displayTiles(this.model,a.minI,a.maxI,a.minJ,a.maxJ,a.eta)},getSizeForZoom:function(a,d){var b=parseFloat(a.mapWidthLevel1Pixel/(Math.pow(2,a.zoomArrayCent[d]-1)));return{width:b,height:b}},getCurrentLayerIdx:function(){return this.model.zIdx},getCurrentLayer:function(){return this.tileLayerList[this.model.zIdx]},getNewLayer:function(){return this.tileLayerList[this.model.newVals.zIdx]},getLayer:function(a){return this.tileLayerList[a]},getVisibleTiles:function(){var f,b,n,e,m,d,l,g,j,a=this.opts.extraTilesAround;f=this.opts.tileWidth;b=this.opts.tileHeight;j=this.getCurrentLayer();n=Math.floor((-j.x/f))-a;e=Math.floor(((-j.x+this.opts.mapWidth)/f))+a;m=Math.floor((-j.y/b))-a;d=Math.floor(((-j.y+this.opts.mapHeight)/b))+a;n=(n<0)?0:n;m=(m<0)?0:m;l=(j.width/f)-1;g=(j.height/b)-1;e=(e>l)?l:e;d=(d>g)?g:d;return{minI:n,maxI:e,minJ:m,maxJ:d,eta:a}}};SEAT.LayerBase=function(){};SEAT.LayerBase.prototype={init:function(){},setViewMap:function(a){this.viewMap=a},setContMap:function(a){this.contMap=a},setPGMappy:function(a){this.pgMappy=a},updateMap:function(){},updateMapSize:function(){},updateMapLanguage:function(){},remove:function(){}};SEAT.Compass=function(){};SEAT.Compass.prototype={init:function(){this.viewMap.opts.compassImgs.push(SEAT.Compass.POINTS_IMGS_DEFAULT);this.initCompassPoints();this.addCompass()},initCompassPoints:function(){var b,a=this,d=jQuery.grep(this.viewMap.opts.compassImgs,function(f,e){return(f.lng===a.viewMap.opts.lng)});if(d.length>0){b=d[0].imgs;jQuery.each(b,function(f,e){SEAT.Compass.POINTS[f][1]=e[0];SEAT.Compass.POINTS[f][2]=e[1];SEAT.Compass.POINTS[f][3]=d[0].urlPfx+e[2]})}},exists:function(){return(jQuery("."+this.getIdPfx()+"cls","#"+this.viewMap.opts.nameContainer).length>0)},addCompass:function(){var a=this;this.lingua=this.viewMap.opts.lng||0;if(!this.exists()){jQuery.each(SEAT.Compass.POINTS,function(d,b){a.addCompassPoint(b[0],b[1],b[2],b[3])});this.posCompass();this.addObservers()}},addCompassPoint:function(l,a,e,b){var g=this.getIdPfx()+l,j='<div id="'+g+'"><span style="position:relative"><p style="position:relative;margin:0px;padding:0px;width:'+a+"px;height:"+e+'px;"></p></span></div>';jQuery("#"+this.viewMap.opts.nameContainer).append(j);jQuery("#"+g).css({width:a,height:e,position:"absolute",zIndex:"999",cursor:"pointer"}).addClass(this.viewMap.opts.classNoPrint).addClass(this.getIdPfx()+"cls");var f=jQuery("#"+g).find("p").get(0);SEAT.PGUtil.addBckImg(f,b,"no-repeat")},getIdPfx:function(){return this.viewMap.opts.nameContainer+"_comp_"},posCompass:function(){var l,b,f,g,e,a,j,d=this;jQuery.each(SEAT.Compass.POINTS,function(m,h){l=h[0];b=h[1];f=h[2];g=jQuery("#"+d.getIdPfx()+l,"#"+d.viewMap.opts.nameContainer);e=(d.viewMap.opts.mapWidth/2)-(b/2);a=(d.viewMap.opts.mapHeight/2)-(f/2);j={};if(l==="n"){j.top=0;j.left=e}else{if(l==="s"){j.bottom=0;j.left=e}else{if(l==="e"){j.right=0;j.top=a}else{if(l==="w"){j.left=0;j.top=a}else{if(l==="ne"){j.top=0;j.right=0}else{if(l==="nw"){j.top=0;j.left=0}else{if(l==="se"){j.bottom=0;j.right=0}else{if(l==="sw"){j.bottom=0;j.left=0}}}}}}}}g.css(j)})},addObservers:function(){var j,d,g,f,h,b,e,a=this;jQuery.each(SEAT.Compass.POINTS,function(m,l){j=l[0];d=jQuery("#"+a.getIdPfx()+j,"#"+a.viewMap.opts.nameContainer);d.bind("mousedown",function(n){return false});d.bind("click",function(n){h=this.id.split("_");b=h[h.length-1];e=jQuery.grep(SEAT.Compass.POINTS,function(o){return o[0]===b})[0];a.viewMap.panMapBy((a.viewMap.opts.mapWidth/2)*e[4],(a.viewMap.opts.mapHeight/2)*e[5]);return false})})},removeObservers:function(){var a=this;jQuery.each(SEAT.Compass.POINTS[a.lingua],function(d,b){jQuery("#"+a.getIdPfx()+b[0],"#"+a.viewMap.opts.nameContainer).unbind()})},remove:function(){this.removeObservers();jQuery("."+this.getIdPfx()+"cls","#"+this.viewMap.opts.nameContainer).remove()},updateMapLanguage:function(){this.remove();this.initCompassPoints();this.addCompass()},updateMapSize:function(){this.posCompass()}};SEAT.PGUtil.augment(SEAT.Compass,SEAT.LayerBase);SEAT.Compass.POINTS=[["n",0,0,"",0,1],["e",0,0,"",-1,0],["s",0,0,"",0,-1],["w",0,0,"",1,0],["ne",0,0,"",-1,1],["se",0,0,"",-1,-1],["sw",0,0,"",1,-1],["nw",0,0,"",1,1]];SEAT.Compass.POINTS_IMGS_DEFAULT={lng:1,urlPfx:"http://img.tuttocitta.it/nuovotcol/img/cardinali/",imgs:[[70,17,"nord.png"],[17,69,"est.png"],[70,17,"sud.png"],[17,69,"ovest.png"],[23,23,"nordest.png"],[23,23,"sudest.png"],[23,23,"sudovest.png"],[23,23,"nordovest.png"]]};SEAT.PGMouseMove=function(){PGMouseMove=this};SEAT.PGMouseMove.prototype={init:function(){var a=this;this.mouseStopped=false;jQuery(document.body).bind("mousemove",function(b){if(a.mouseStopped){a.eventFire("mouserestart",{});a.mouseStopped=false}if(a.timeout){clearTimeout(a.timeout)}a.timeout=setTimeout(function(){var d=a.calcP(b);a.eventFire("mousestopped",d);a.mouseStopped=true},500)})},calcP:function(d){var g=this.viewMap.getMapContainerPos();var b={};var a=d.pageX||(d.clientX+(document.documentElement.scrollLeft||document.body.scrollLeft));var f=d.pageY||(d.clientY+(document.documentElement.scrollTop||document.body.scrollTop));if(jQuery.browser.msie){b={x:a-g.x-2,y:f-g.y-2}}else{b={x:a-g.x,y:f-g.y}}return b},remove:function(){jQuery(document.body).unbind("mousemove")}};SEAT.PGUtil.augment(SEAT.PGMouseMove,SEAT.LayerBase);SEAT.PGUtil.augment(SEAT.PGMouseMove,SEAT.EventMgr);SEAT.PGMappy=function(b){var a=this;jQuery(window).unload(function(){a.unloadMe()});this.map=new SEAT.Map(b);this.pointList=new PGPointList();this.pgLineList=new PGLineList();this.pgPolygonList=new SEAT.PGPolygonList();this.pgCircleList=new SEAT.PGCircleList();this.viewRoute=new SEAT.ViewRoute(a);this.viewRouteFormat=new SEAT.ViewRouteFormat(a);this.addLayer(this.pointList);this.addLayer(this.viewRoute);this.addLayer(this.viewRouteFormat);this.addLayer(this.pgLineList);this.addLayer(this.pgPolygonList);this.addLayer(this.pgCircleList);if(!b.radarParent){this.addLayer(new SEAT.PGMouseMove())}this.startUp();this.addPGTileLayers()};SEAT.PGMappy.prototype={getVersion:function(){return"2.3.8"},unloadMe:function(){this.map=null;this.pointList=null;this.pgLineList=null;this.pgPolygonList=null;this.pgCircleList=null;this.viewRoute=null;this.viewRouteFormat=null;this.mouseMoveHandler=null},startUp:function(){this.map.startUp()},addLayer:function(a){a.setPGMappy(this);this.map.addLayer(a)},removeLayer:function(a){if(a){this.map.removeLayer(a)}},addTileLayer:function(a){this.map.addTileLayer(a)},removeTileLayer:function(a){this.map.removeTileLayer(a)},addCompass:function(){var a=new SEAT.Compass();this.map.addLayer(a);a.addCompass()},setQuality:function(a){this.map.setQuality(a)},pointAdder:function(a){this.pointList.pointAdder(a)},removePoint:function(a){this.pointList.removePoint(a)},removeAllPoints:function(){this.pointList.removeAllPoints()},setDisabledZoom:function(a){this.map.setDisabledZoom(a)},getDisabledZoom:function(){return this.map.getDisabledZoom()},getZoom:function(){return{z:this.map.getZoom(),zDist:this.map.getZoomDist()}},setZoomStart:function(a){this.map.setZoomStart(a)},setZoomStep:function(a){this.map.setZoomStep(a)},setZoomEnd:function(a){this.map.setZoomEnd(a)},setZoom:function(a){this.map.setZoom(a)},zoomIn:function(){this.map.zoomIn()},zoomOut:function(){this.map.zoomOut()},setSize:function(a,b){this.map.setSize(a,b)},getSize:function(){return this.map.getSize()},setLng:function(a){this.map.setLng(a)},getLng:function(){return this.map.getLng()},setMapType:function(a){this.map.setMapType(a)},getMapType:function(){return this.map.getMapType()},addStreetViewLayer:function(){this.addTileLayer(this.tileLayerStreet)},removeStreetViewLayer:function(){this.removeTileLayer(this.tileLayerStreet)},setTileOverLayers:function(a){if(a&PGMAP_TILE_OVER_STREET){this.addStreetViewLayer()}else{this.removeStreetViewLayer()}this.map.setTileOverLayers(a)},getTileOverLayers:function(){return this.map.getTileOverLayers()},setActionType:function(a){this.map.setActionType(a)},panMapBy:function(a,b){this.map.panMapBy(a,b)},panMapTo:function(b,a){this.map.panMapTo(b,a)},getUpdated:function(){return this.map.getUpdated()},setUpdated:function(a){this.map.setUpdated(a)},setCenter:function(b,a){this.map.setCenter(b,a)},getCenter:function(){return this.map.getCenter()},setCenterPoint:function(a){this.setCenter(a.lon,a.lat)},setCenterAndZoom:function(d,a,b){var e;if(arguments.length===0){if((this.pointList).pointList.length>0){e=this.getRouteCenter((this.pointList).pointList);this.setCenterAndZoom(e.lon,e.lat,e.z)}}else{this.map.setCenterAndZoom(d,a,b)}},adaptToPoints:function(d){var a=new PGPointList(),e;if(d.length>0){for(var b=0;b<d.length;b++){a.pointList.push(d[b])}e=this.getRouteCenter(a.pointList);this.setCenterAndZoom(e.lon,e.lat,e.z)}},getRouteCenter:function(b){var o=[];var m=[];jQuery.each(b,function(r,p){o.push(p.lon);m.push(p.lat)});var n=SEAT.PGUtil.latLong2UTM(o.min(),m.min(),this.map.getZone());var d=SEAT.PGUtil.latLong2UTM(o.max(),m.max(),this.map.getZone());var h=o.min()+((+o.max()-o.min())/2);var e=m.min()+((+m.max()-m.min())/2);var g=d.x-n.x;var f=d.y-n.y;var j=parseFloat(g*430/(1609.3*(this.map.getSize().width-40)));var q=parseFloat(f*430/(1609.3*(this.map.getSize().height-40)));var a=(j>q)?j:q;var l=this.map.getZoomIndex(a);return{lon:h,lat:e,z:l}},getLonLatFromPixel:function(a,b){return this.map.getLonLatFromPixel(a,b)},getPixelFromLonLat:function(b,a){return this.map.getPixelFromLonLat(b,a)},pixelsBetweenTwoLonLats:function(b,a){return this.map.pixelsBetweenTwoLonLats(b,a)},getMapBounds:function(){return this.map.getMapBounds()},disableMap:function(){this.map.disableMap()},enableMap:function(){this.map.enableMap()},disableWheelZoom:function(){this.map.disableWheelZoom()},enableWheelZoom:function(){this.map.enableWheelZoom()},pgLineAdder:function(a){this.pgLineList.pgLineAdder(a)},removeLine:function(a){this.pgLineList.removeLine(a)},removeAllPGLines:function(){this.pgLineList.removeAllPGLines()},pgPolygonAdder:function(a){this.pgPolygonList.pgPolygonAdder(a)},pgCircleAdder:function(a){this.pgCircleList.pgCircleAdder(a)},pgPointAndCircleAdder:function(a,b){this.pointList.pointAdder(a);b.center=a;this.pgCircleList.pgCircleAdder(b)},removeAllPGPolygons:function(){this.pgPolygonList.removeAllPGPolygons()},preventMapMouseDown:function(){this.map.preventMapMouseDown()},getRoute:function(a,b){this.viewRoute.getRoute(a,b)},getRouteFormat:function(a,b){this.viewRouteFormat.getRoute(a,b)},addRoute:function(a){this.viewRoute.addRoute(a)},addRouteWithParams:function(a){this.viewRoute.addRouteWithParams(a)},addRouteFormat:function(a){this.viewRouteFormat.addRoute(a)},removeRoute:function(a){this.viewRoute.removeRoute(a)},removeRouteFormat:function(a){this.viewRouteFormat.removeRoute(a)},removeAllRoutes:function(){this.viewRoute.removeAllRoutes()},removeAllRouteFormats:function(){this.viewRouteFormat.removeAllRoutes()},setRouteUpToStep:function(b,a){this.viewRoute.setUpToStep(b,a)},addRadar:function(a){this.map.addRadar(a)},moveToCoeff:function(b,a){this.map.moveToCoeff(b,a)},eventRegisterPre:function(d,b,a){this.map.eventRegisterPre(d,b,a)},eventRegisterPost:function(d,b,a){this.map.eventRegisterPost(d,b,a)},eventRegister:function(d,b,a){this.map.eventRegister(d,b,a)},eventDeRegisterPre:function(b,a){this.map.eventDeRegisterPre(b,a)},eventDeRegisterPost:function(b,a){this.map.eventDeRegisterPost(b,a)},eventDeRegister:function(b,a){this.map.eventDeRegister(b,a)},addPGTileLayers:function(){var a=this;this.tileLayerStreet=new PGTileLayer();this.tileLayerStreet.getTileUrl=function(d){var b=a.map.getOpts().imgHost||"http://visualimages"+((d.i%2)+1)+".paginegialle.it";return(b+"/streetview_get.php?x="+d.i+"&y="+d.j+"&z="+d.z+"&c="+a.map.getOpts().streetColour)};this.tileLayerStreet.getOpacity=function(d){var b=1;if(a.map.getZoom()<PGMAP_ZOOM_REGION_INTER_ITALY){if(jQuery.browser.msie&&parseFloat(jQuery.browser.version)<7){}else{b=0.5}}return b};this.tileLayerStreet.getIsPng=function(){return true};this.tileLayerStreet.getZIndex=function(){return 120}}};PGMappy=SEAT.PGMappy;PGPOINT_TYPE_CLIENT=1;PGPOINT_TYPE_NONCLIENT=2;PGPoint=function(b){var a=this;this.j=b;if(this.j.pgAddress){this.lon=this.j.pgAddress.comuneList[0].lon;this.lat=this.j.pgAddress.comuneList[0].lat}else{this.lon=this.j.lon;this.lat=this.j.lat}this.pxX=0;this.pxY=0;this.offsetX=this.j.offsetX||0;this.offsetY=this.j.offsetY||0;if(this.j.opened){this.j.opened.offsetX=this.j.opened.offsetX||0;this.j.opened.offsetY=this.j.opened.offsetY||0}jQuery(window).unload(function(){a.unloadMe()});return this};PGPoint.prototype={unloadMe:function(){this.dragDropRemove();this.eventDeRegisterAll();this.dPointBig=null;this.dPoint=null;this.parent=null;this.viewMap=null},setModel:function(a){this.model=a},initPoint:function(){var a=SEAT.PGUtil.calcCoefficients(this.lon,this.lat,this.model.mapWidthMeters,this.model.mapCentreUTMEasting,this.model.mapCentreUTMNorthing,this.model.zone);this.cox=a.cox;this.coy=a.coy},initVals:function(d,a,b){this.parent=d;this.viewMap=a;this.i=b},drawPoint:function(){var g,n,f,b,d,e,l,a,j;var o=this.viewMap.opts.nameContainer+"_point_"+this.i;this.id=o;if(jQuery("#"+o).length===0){var m=this.j.zIndex||"250";g='<div id="'+o+'"></div>';this.dPoint=jQuery(g).attr({title:this.j.title||""}).css({position:"absolute",overflow:this.j.overflow||"hidden",zIndex:m}).appendTo("#"+this.viewMap.tileLayerMgr.getCurrentLayer().id);if(this.j.html&&this.j.html!==""){this.dPoint.html(this.j.html);n=this.j.width||null;f=this.j.height||null;if(n===null||f===null){b=jQuery(this.dPoint.children().get(0));n=n||parseInt(b.width(),10);f=f||parseInt(b.height(),10)}this.pointWidth=parseInt(n,10);this.pointHeight=parseInt(f,10);this.dPoint.css({width:this.pointWidth,height:this.pointHeight})}else{n=40;f=32;d="#FFF";e="http://img.tuttocitta.it/nuovotcol/img/png/icoCliente.png";if(this.j.typ&&this.j.typ===PGPOINT_TYPE_NONCLIENT){n=36;f=30;d="#323B96";e="http://img.tuttocitta.it/nuovotcol/img/png/icoNoCliente.png"}this.dPoint.css({textAlign:"center",width:n,height:f});l="<div></div>";a=jQuery(l).css({textAlign:"center",width:n,height:f}).appendTo(this.dPoint);SEAT.PGUtil.addBckImg(a.get(0),e,"no-repeat top left");j="<span></span>";jQuery(j).css({padding:"8px 0px 0px 0px",textAlign:"center",color:d,fontWeight:"bold",fontSize:"11px",textDecoration:"none",fontFamily:"arial, verdana",display:"block",width:n,height:f,position:"relative",zIndex:"251"}).attr({title:this.j.title||""}).html(this.j.txt||"").appendTo(a);this.pointWidth=n;this.pointHeight=f}this.createObserverPoint()}},addDragDrop:function(){var a=this;this.destroyObserverPoint();this.dragDropAdd(this.id,{dragBefore:function(b){a.dragBefore(b)},dragging:function(b){a.dragging(b)},dragAfter:function(b){a.dragAfter(b)}})},removeDragDrop:function(){this.dragDropRemove();this.eventDeRegister("dragbefore");this.eventDeRegister("dragging");this.eventDeRegister("dragafter");this.createObserverPoint()},dragBefore:function(a){this.eventFire("dragbefore",{e:a.e,id:this.j.id,lon:this.lon,lat:this.lat})},dragging:function(a){this.eventFire("dragging",{e:a.e,id:this.j.id,chgX:a.chg.x,chgY:a.chg.y})},dragAfter:function(a){if(a.chg.x!==0||a.chg.y!==0){this.movePointChg(a.chg.x,a.chg.y);this.eventFire("dragafter",{e:a.e,id:this.j.id,chgX:a.chg.x,chgY:a.chg.y,lon:this.lon,lat:this.lat})}},movePointChg:function(d,b){var a=this.getLonLat(d,-b);this.lon=a.lon;this.lat=a.lat;this.setModel(this.model);this.initPoint()},getLonLat:function(d,b){var a=SEAT.PGUtil.pixelLatLongPoint(d,b,this.lon,this.lat,parseFloat(this.model.zoomArray[this.model.zIdx]),this.model.zone);return{lon:a.lon,lat:a.lat}},setLonLat:function(b,a){this.lon=b;this.lat=a;this.initPoint();this.posPoint()},posPoint:function(){var a=this.getPos(this.viewMap);this.pxX=(a.x-(this.pointWidth/2))+this.offsetX;this.pxY=(a.y-(this.pointHeight))+this.offsetY;this.dPoint.css({left:this.pxX+"px",top:this.pxY+"px"});if(this.bigVisible){this.dispBig()}},getPos:function(b){var d=b.tileLayerMgr.getCurrentLayer(),a=d.getLeftPos(this.cox),e=d.getTopPos(this.coy);return{x:a,y:e}},removePoint:function(){if(this.dPointBig){this.closeBig();this.removeBig()}if(this.dPoint){this.destroyObserverPoint();this.dPoint.unbind();this.dPoint.remove()}this.dPointBig=null;this.dPoint=null},addOpener:function(b){var d,e,a,g;this.customBigHTML=(b)?true:false;var f=this.viewMap.opts.nameContainer+"_pointBig_"+this.i;if(jQuery("#"+f,"#"+this.viewMap.opts.nameContainer).length===0){d="<div></div>";this.dPointBig=jQuery(d).attr({id:f}).css({position:"absolute",overflow:this.j.opened.overflow||"hidden",zIndex:"300"}).appendTo("#"+this.viewMap.tileLayerMgr.getCurrentLayer().id);this.hideBig();if(this.customBigHTML){this.dPointBig.html(b)}else{e='<div id="'+f+'_d1"><div id="'+f+'_d2"></div><div id="'+f+'_d3"><div id="'+f+'_d4"><table><tbody><tr><td><div id="'+f+'_d5"></div><div id="'+f+'_d6"><div id="'+f+'_d7"><div id="'+f+'_a1"><img id="'+f+'_i1"></img></div></div></div></td></tr></tbody></table></div></div><div id="'+f+'_d8"></div></div>';this.dPointBig.append(e);jQuery("#"+f+"_d1").css({position:"absolute",zIndex:"300",fontFamily:"arial, verdana, georgia, helvetica, sans-serif",fontSize:"11px"});jQuery("#"+f+"_d2").css({width:"307px",height:"31px",padding:"0px 3px 0px 3px"});SEAT.PGUtil.addBckImg(jQuery("#"+f+"_d2").get(0),"http://img.tuttocitta.it/nuovotcol/img/fumetti/bgHeaderAltri.png","no-repeat top left","");jQuery("#"+f+"_d3").css({width:"307px"});SEAT.PGUtil.addBckImg(jQuery("#"+f+"_d3").get(0),"http://img.tuttocitta.it/nuovotcol/img/fumetti/bgContentAltri.png","","sizingMethod=scale");jQuery("#"+f+"_d4").css({width:"301px",marginLeft:"2px",background:"url(http://img.tuttocitta.it/nuovotcol/img/fumetti/fondinoAltri.gif)"});jQuery("#"+f+"_d5").css({margin:"0px",padding:"0px",fontSize:"11px"});jQuery("#"+f+"_d6").css({margin:"10px 0px 0px 0px",padding:"0px"});this.idClose=f+"_d7";jQuery("#"+this.idClose).css({position:"absolute",top:"7px",right:"10px"});jQuery("#"+f+"_a1").attr({cursor:"pointer",title:"Close"});jQuery("#"+f+"_i1").attr({height:"14px",width:"14px",alt:"Close",border:"0",src:"http://img.tuttocitta.it/nuovotcol/img/fumetti/icoChiudiFumetto.gif"});jQuery("#"+f+"_d8").css({width:"307px",height:"7px",position:"relative",fontSize:"0"});SEAT.PGUtil.addBckImg(jQuery("#"+f+"_d8").get(0),"http://img.tuttocitta.it/nuovotcol/img/fumetti/bgfooteraltribasso.png","no-repeat top left","");if(this.j.opened.name&&this.j.opened.name!==""){jQuery("<span></span>").css({fontWeight:"bold",fontSize:"12px",color:"#323B96",margin:"0px",padding:"0px 0px 3px 0px"}).html(this.j.opened.name).appendTo("#"+f+"_d5")}if(this.j.opened.info){a=(SEAT.PGUtil.isArray(this.j.opened.info))?this.j.opened.info:[this.j.opened.info];jQuery.each(a,function(j,h){jQuery("<p></p>").css({fontWeight:"normal",margin:"0 0 2px 0",padding:"0",color:"#333"}).html(h).appendTo("#"+f+"_d5")})}}if(!this.j.opened.autoSize){g=jQuery(this.dPointBig.children(0));this.dPointBig.css({width:g.width(),height:g.height()})}}},createObserverPoint:function(){var a=this;if(this.j.opened){this.evPointMouseDown=function(b){a.parent.viewMap.myParent.preventMapMouseDown()};this.evPointClick=function(b){a.eventFire("click",{event:b,id:a.j.id});a.onClickPoint(b);return false};this.dPoint.bind("mousedown",this.evPointMouseDown).bind("click",this.evPointClick).css({cursor:"pointer"})}else{this.evPointClick=function(b){a.eventFire("click",{event:b,id:a.j.id})};this.dPoint.bind("click",this.evPointClick)}this.dPoint.hover(function(b){a.eventFire("mouseover",{event:b,id:a.j.id})},function(b){a.eventFire("mouseout",{event:b,id:a.j.id})}).dblclick(function(b){a.eventFire("dblclick",{event:b,id:a.j.id});return false})},destroyObserverPoint:function(){var a=this;this.dPoint.unbind("mousedown",this.evPointMouseDown).unbind("click",this.evPointClick).unbind("dblclick").unbind("mouseover").unbind("mouseout").css({cursor:""});this.dPoint.unbind()},createObserverBig:function(){var d=this,b=this.dPointBig,e,a="#"+this.viewMap.tileLayerMgr.getCurrentLayer().id;if(this.j.opened.closeID&&jQuery("#"+this.j.opened.closeID,a).length>0){e=jQuery("#"+this.j.opened.closeID,a)}else{if(this.customBigHTML){e=b}else{e=jQuery("#"+this.idClose,a)}}b.css({cursor:"auto"});e.css({cursor:"pointer"});this.evBigMouseDown=function(f){return false};this.evBigClick=function(f){d.onCloseBig(f);return false};b.bind("mousedown",this.evBigMouseDown);e.bind("click",this.evBigClick)},destroyObserverBig:function(){if(this.dPointBig){this.dPointBig.unbind("mousedown",this.evBigMouseDown).unbind("click",this.evBigClick).css({cursor:""});if(this.customBigHTML){this.dPointBig.children().unbind()}}},onClickPoint:function(a){this.openBig()},openBig:function(){var a;this.eventFire("openbefore",{id:this.j.id});this.parent.closeOpenPoints();if(this.j.opened){if(this.j.opened.html){this.addOpener(this.j.opened.html)}else{if(this.j.opened.onOpen){a=this.j.opened.onOpen.call(this.j.opened.onOpen,this.j.opened.onOpenParams);this.addOpener(a)}else{this.addOpener()}}}this.bigVisible=true;this.destroyObserverPoint();this.dispBig();this.createObserverBig();this.makeBigVisible();this.eventFire("openafter",{id:this.j.id})},makeBigVisible:function(){var h=0;var g=0;var e=this.viewMap.tileLayerMgr.getCurrentLayer();var j={x:e.cssX,y:e.cssY};var b=parseFloat(this.dPointBig.css("left"));var a=b+parseFloat(this.dPointBig.width());var d=parseFloat(this.dPointBig.css("top"));var f=d+parseFloat(this.dPointBig.height());if(b<(j.x*-1)){h=(j.x*-1)-b+10}else{if(a>((j.x*-1)+this.viewMap.opts.mapWidth)){h=((j.x*-1)+this.viewMap.opts.mapWidth)-a-10}}if(d<(j.y*-1)){g=(j.y*-1)-d+10}else{if(f>((j.y*-1)+this.viewMap.opts.mapHeight)){g=((j.y*-1)+this.viewMap.opts.mapHeight)-f+10}}if(h!==0||g!==0){this.viewMap.panMapBy(h,g)}},onCloseBig:function(a){this.closeBig()},closeBig:function(){this.destroyObserverBig();if(this.bigVisible){this.eventFire("closebefore",{id:this.j.id});this.bigVisible=false;if(this.j.opened.onOpen){this.removeBig()}else{this.hideBig()}this.createObserverPoint();this.eventFire("closeafter",{id:this.j.id})}},removeBig:function(){if(this.dPointBig){this.dPointBig.unbind();this.dPointBig.remove();this.dPointBig=null}},dispBig:function(){var a,f,e=this.getPos(this.viewMap),b=parseInt(this.dPointBig.width(),10),d=parseInt(this.dPointBig.height(),10);if(this.j.opened.relX){if(this.j.opened.relX==="m"){a=e.x-(b/2)}else{if(this.j.opened.relX==="r"){a=e.x-b}else{a=e.x}}}else{a=(this.j.opened.left)?e.x:e.x-(b/2)}if(this.j.opened.relY){if(this.j.opened.relY==="m"){f=e.y-(d/2)}else{if(this.j.opened.relY==="b"){f=e.y-d}else{f=e.y}}}else{if(this.j.opened.top){f=e.y}else{if(this.customBigHTML){f=e.y-(d/2)}else{f=e.y-d-5}}}a+=this.j.opened.offsetX;f+=this.j.opened.offsetY;this.dPointBig.css({left:a,top:f})},hideBig:function(){this.dPointBig.css({left:-9999})},movePoint:function(a){this.dPoint.appendTo("#"+a);if(this.dPointBig){this.dPointBig.appendTo("#"+a)}}};SEAT.PGUtil.augment(PGPoint,SEAT.EventMgr);SEAT.PGUtil.augment(PGPoint,SEAT.DragDropMgr);PGPointList=function(){var a=this;this.pointList=[];this.i=0;jQuery(window).unload(function(){a.unloadMe()})};PGPointList.prototype={unloadMe:function(){this.pointList=null;this.viewMap=null;this.contMap=null;this.pgMappy=null},pointAdder:function(a){a.initVals(this,this.viewMap,this.i+=1);this.pointList.push(a);a.setModel(this.model);a.initPoint();a.drawPoint(this.viewMap);a.posPoint(this.viewMap)},removePoint:function(a){a.removePoint();this.pointList=jQuery.grep(this.pointList,function(b,d){return b!==a})},removeAllPoints:function(){jQuery.each(this.pointList,function(b,a){a.removePoint()});this.pointList=[]},setModelPoints:function(){var a=this;jQuery.each(this.pointList,function(d,b){b.setModel(a.model)})},drawPoints:function(){var a=this;jQuery.each(this.pointList,function(d,b){b.drawPoint(a.viewMap)})},posPoints:function(){var a=this;jQuery.each(this.pointList,function(d,b){b.posPoint(a.viewMap)})},closeOpenPoints:function(){jQuery.each(this.pointList,function(b,a){a.closeBig()})},updateMap:function(a){this.model=a;if(a.transType&&a.transType==="zoom"){if(a.startTrans){this.closeOpenPoints()}else{if(a.stepTrans){this.posPoints()}else{if(a.endTrans){this.setModelPoints();this.checkChgZone(a.oldZone,a.zone);jQuery.each(this.pointList,function(d,b){b.movePoint(this.viewMap.tileLayerMgr.getCurrentLayer().id);b.posPoint(this.viewMap)})}}}}else{if(a.transType&&a.transType==="pan"){}else{this.setModelPoints();if(this.checkChgZone(a.oldZone,a.zone)){this.posPoints()}if(!this.initDone){this.drawPoints();this.posPoints()}}}this.initDone=true},checkChgZone:function(d,a){var b=false;if(d&&(d!==a)){jQuery.each(this.pointList,function(f,e){e.initPoint()});b=true}return b}};SEAT.PGUtil.augment(PGPointList,SEAT.LayerBase);SEAT.PGShapeBase=function(){};SEAT.PGShapeBase.prototype={unloadMe:function(){this.graphicsMgr=null;this.viewMap=null;this.parent=null},initShape:function(b){var a=this;if(b&&b.points&&(b.points[0].x||b.points[0].x===0)){this.pixelArray=b.points}else{this.points=b.points}this.id=b.id;this.rgb=b.rgb||{r:120,g:120,b:255};this.opacity=b.opacity||null;jQuery(window).unload(function(){a.unloadMe()})},initVals:function(d,f,a,h){var g,e,b;this.graphicsMgr=d;this.viewMap=a;this.parent=h;if(this.points){for(g=0;g<this.points.length;g+=1){this.points[g].setModel(f);this.points[g].initPoint()}}else{if(this.pixelArray&&this.pixelArray.length>0){e=a.getMapPos();b=a.tileLayerMgr.getCurrentLayer();for(g=0;g<this.pixelArray.length;g+=1){this.pixelArray[g].cox=(-e.x+this.pixelArray[g].x)/b.width;this.pixelArray[g].coy=(-e.y+this.pixelArray[g].y)/b.height}}}},drawShape:function(d,l){var b,h,g,f,m;var j=[];if(this.pixelArray){var a=this.observed;var e=this.viewMap.getMapPos();m=this.viewMap.tileLayerMgr.getCurrentLayer();jQuery.each(this.pixelArray,function(o,n){j.push({x:m.getLeftPos(n.cox)-l.x,y:m.getTopPos(n.coy)-l.y,i:n.i});if(a){n.x=m.getLeftPos(n.cox)+e.x;n.y=m.getTopPos(n.coy)+e.y}});this.drawShapePortions(j)}else{if(this.points){for(b=0;b<this.points.length;b+=1){h=this.points[b].getPos(this.viewMap).x;g=this.points[b].getPos(this.viewMap).y;f={x:h-l.x,y:g-l.y};if(b===0){jQuery.extend(f,{i:1})}j.push(f)}this.drawShapePortions(j)}}},drawShapePortions:function(a){}};var PGLine=function(a){this.initShape(a);this.lineWidth=a.lineWidth||10};PGLine.prototype={eventRegisterPost:function(d,b,a){this.observed=true;if(this.listenerList.length===1){PGMouseMove.eventRegister("mousestopped",this.mouseOverLine,this)}},eventDeRegisterPost:function(d,b,a){if(this.listenerList.length===0){this.observed=false;PGMouseMove.eventDeRegister("mousestopped",this.mouseOverLine,this)}},drawShapePortions:function(b){var d,a,f,e=[];a=b.length;for(d=0;d<a;d+=1){f=b[d];if(d===0||f.i===1){e=[]}e.push(f);if((d+1>=b.length)||(b[d+1].i===1)){this.graphicsMgr.drawLine(e,this.rgb,this.lineWidth,this.opacity)}}},mouseOverLine:function(f){var a=false;if(this.pixelArray){for(var d=0;d<this.pixelArray.length-1;d++){a=SEAT.PGUtil.isPointInLine(this.pixelArray[d].x,this.pixelArray[d].y,this.pixelArray[d+1].x,this.pixelArray[d+1].y,f.x,f.y,this.lineWidth);if(a){this.eventFire("mouseoverline",{id:this.id,p:f});break}}}else{if(this.points){var b=this.viewMap.getMapPos();for(var d=0;d<this.points.length-1;d++){var g=this.points[d].getPos(this.viewMap);var e=this.points[d+1].getPos(this.viewMap);a=SEAT.PGUtil.isPointInLine((g.x+b.x),(g.y+b.y),(e.x+b.x),(e.y+b.y),f.x,f.y,this.lineWidth);if(a){this.eventFire("mouseoverline",{id:this.id,p:f});break}}}}return a},remove:function(){if(this.listenerList){PGMouseMove.eventDeRegister("mousestopped",this.mouseOverLine,this);this.listenerList=null}}};SEAT.PGUtil.augment(PGLine,SEAT.PGShapeBase);SEAT.PGUtil.augment(PGLine,SEAT.EventMgr);var PGLineList=function(){this.pgLineList=[]};PGLineList.prototype={pgLineAdder:function(a){if(a){if(!this.graphicsMgr){this.graphicsMgr=new SEAT.GraphicsMgr("pgline")}this.addLine(a);this.prepareForDrawing();a.drawShape(this.posOffset,this.delta)}},prepareForDrawing:function(){var a=this.viewMap.tileLayerMgr.getCurrentLayer();this.posOffset={beforeX:this.viewMap.opts.mapWidth,afterX:this.viewMap.opts.mapWidth,beforeY:this.viewMap.opts.mapHeight,afterY:this.viewMap.opts.mapHeight};this.canvasWidth=this.posOffset.beforeX+this.viewMap.opts.mapWidth+this.posOffset.afterX;this.canvasHeight=this.posOffset.beforeY+this.viewMap.opts.mapHeight+this.posOffset.afterY;this.graphicsMgr.prepareCanvas(a.id,this.canvasWidth,this.canvasHeight);this.delta={x:(-a.cssX-this.posOffset.beforeX),y:(-a.cssY-this.posOffset.beforeY)};this.graphicsMgr.posCanvas(this.delta.x,this.delta.y)},addLine:function(a){if(a){a.initVals(this.graphicsMgr,this.model,this.viewMap);this.pgLineList.push(a)}},removeLine:function(a){this.pgLineList=jQuery.grep(this.pgLineList,function(b){if((b.id&&b.id===a)){b.remove()}return(!b.id||(b.id&&b.id!==a))});if(this.graphicsMgr&&(this.pgLineList===null||this.pgLineList.length===0)){this.graphicsMgr.removeCanvas()}else{this.drawLines()}},removeAllPGLines:function(){for(var a=0;a<this.pgLineList.length;a++){this.pgLineList[a].remove()}this.pgLineList=[];if(this.graphicsMgr){this.graphicsMgr.removeCanvas()}},drawLines:function(){var a=this;if(this.pgLineList.length>0){this.graphicsMgr.clearCanvas();this.prepareForDrawing();jQuery.each(this.pgLineList,function(d,b){b.drawShape(a.posOffset,a.delta)})}},updateMap:function(a){this.model=a;if(a.transType&&a.transType==="zoom"){if(a.startTrans){if(this.graphicsMgr){this.graphicsMgr.removeCanvas()}}else{if(a.stepTrans){}else{if(a.endTrans){if(this.checkChgZone(a.oldZone,a.zone)){this.drawLines()}}}}}else{if(a.transType&&a.transType==="pan"){if(a.startTrans){}else{if(a.stepTrans){}else{if(a.endTrans){}}}}else{this.setModelPoints();this.checkChgZone(a.oldZone,a.zone);this.drawLines()}}},checkChgZone:function(d,a){var b=false;if(d&&(d!==a)){jQuery.each(this.pgLineList,function(f,e){jQuery.each(e.points,function(g,h){h.initPoint()})});b=true}return b},setModelPoints:function(){var a=this;jQuery.each(this.pgLineList,function(d,b){jQuery.each(b.points,function(e,f){f.setModel(a.model)})})}};SEAT.PGUtil.augment(PGLineList,SEAT.LayerBase);var PGPolygon=function(a){this.initShape(a);this.borderRgb=a.borderRgb||null;this.borderWidth=a.borderWidth||10;this.borderOpacity=a.borderOpacity||null};PGPolygon.prototype={drawShapePortions:function(a){if(this.borderRgb&&(this.borderRgb.r!==this.rgb.r||this.borderRgb.g!==this.rgb.g||this.borderRgb.b!==this.rgb.b)){a.push(a[0]);this.graphicsMgr.drawLine(a,this.borderRgb,this.borderWidth,this.borderOpacity)}this.graphicsMgr.drawPolygon(a,this.rgb,this.opacity)},remove:function(){if(this.id){this.parent.removePolygon(this.id)}}};SEAT.PGUtil.augment(PGPolygon,SEAT.PGShapeBase);SEAT.PGPolygonList=function(){var a=this;this.pgPolygonList=[];jQuery(window).unload(function(){a.unloadMe()})};SEAT.PGPolygonList.prototype={unloadMe:function(){this.pgPolygonList=null;this.graphicsMgr=null},pgPolygonAdder:function(a){if(a){if(!this.graphicsMgr){this.graphicsMgr=new SEAT.GraphicsMgr("pgpolygon")}this.addPolygon(a);this.prepareForDrawing();a.drawShape(this.posOffset,this.delta)}},prepareForDrawing:function(){var a=this.viewMap.tileLayerMgr.getCurrentLayer();this.posOffset={beforeX:this.viewMap.opts.mapWidth,afterX:this.viewMap.opts.mapWidth,beforeY:this.viewMap.opts.mapHeight,afterY:this.viewMap.opts.mapHeight};this.canvasWidth=this.posOffset.beforeX+this.viewMap.opts.mapWidth+this.posOffset.afterX;this.canvasHeight=this.posOffset.beforeY+this.viewMap.opts.mapHeight+this.posOffset.afterY;this.graphicsMgr.prepareCanvas(a.id,this.canvasWidth,this.canvasHeight);this.delta={x:(-a.cssX-this.posOffset.beforeX),y:(-a.cssY-this.posOffset.beforeY)};this.graphicsMgr.posCanvas(this.delta.x,this.delta.y)},addPolygon:function(a){if(a){a.initVals(this.graphicsMgr,this.model,this.viewMap,this);this.pgPolygonList.push(a)}},removePolygon:function(a){this.pgPolygonList=jQuery.grep(this.pgPolygonList,function(b){return(!b.id||(b.id&&b.id!==a))});if(this.graphicsMgr&&(this.pgPolygonList===null||this.pgPolygonList.length===0)){this.graphicsMgr.removeCanvas()}else{this.drawPolygons()}},removeAllPGPolygons:function(){this.pgPolygonList=[];if(this.graphicsMgr){this.graphicsMgr.removeCanvas()}},drawPolygons:function(){var a=this;if(this.pgPolygonList.length>0){this.graphicsMgr.clearCanvas();this.prepareForDrawing();jQuery.each(this.pgPolygonList,function(d,b){b.drawShape(a.posOffset,a.delta)})}},updateMap:function(a){this.model=a;if(a.transType&&a.transType==="zoom"){if(a.startTrans){if(this.graphicsMgr){this.graphicsMgr.removeCanvas()}}else{if(a.stepTrans){}else{if(a.endTrans){if(this.checkChgZone(a.oldZone,a.zone)){this.drawPolygons()}}}}}else{if(a.transType&&a.transType==="pan"){}else{this.setModelPoints();this.checkChgZone(a.oldZone,a.zone);this.drawPolygons()}}},checkChgZone:function(d,a){var b=false;if(d&&(d!==a)){jQuery.each(this.pgPolygonList,function(f,e){jQuery.each(e.points,function(g,h){h.initPoint()})});b=true}return b},setModelPoints:function(){var a=this;jQuery.each(this.pgPolygonList,function(d,b){jQuery.each(b.points,function(e,f){f.setModel(a.model)})})}};SEAT.PGUtil.augment(SEAT.PGPolygonList,SEAT.LayerBase);var PGROUTE_URL="http://mdr-routing.paginegialle.it/route_px";var PGROUTE_IMG_PREFIX="http://routepgol.tuttocitta.it/Route_ReadDll/MapRender.aspx";var PGROUTE_TYPE_CAR="C";var PGROUTE_TYPE_PED="P";var PGROUTE_TYPE_CAR_BEST_DIST="CBD";var PGROUTE_TYPE_CAR_NO_TOLL="CNT";var PGROUTE_TYPE_CAR_NO_ECOPASS="nep";var PGROUTE_TYPE_PUBLIC_TRANSPORT="pt";var PGROUTE_TRANS_PED=0;var PGROUTE_TRANS_CAR=1;var PGROUTE_TRANS_TRAM=2;var PGROUTE_TRANS_METRO=3;var PGROUTE_TRANS_RAIL=4;var PGROUTE_TRANS_BUS=5;var PGROUTE_TRANS_FERRY=6;var PGROUTE_TRANS_CABLE_CAR=7;var PGROUTE_TRANS_SUSP_CABLE_CAR=8;var PGROUTE_TRANS_FUNICULAR=9;var PGRoute=function(a){this.callPer(a)};PGRoute.prototype={callPer:function(a){var f=PGRouteUtil.getItnVal(a.itn),e="";if(a.extra){for(k in a.extra){v=a.extra[k];e+="&"+k+"="+encodeURIComponent(v)}}var d="x="+a.lon+"&y="+a.lat+"&z="+a.z+"&lx="+a.startLon+"&ly="+a.startLat+"&ex="+a.endLon+"&ey="+a.endLat+"&itn="+f+"&rt="+a.rt+"&xpix="+a.xpix+"&ypix="+a.ypix+"&dz="+(parseInt(a.xpix,10)/430)+"&serv="+(a.serv||"")+"&sito="+(a.sito||"")+"&chk="+(a.chk||"")+"&mode=tc&idx="+(a.idx||"")+"&zone="+(a.zone||"")+((a.minimap)?"&minimap="+a.minimap:"")+((a.coordsonly)?"&coordsonly="+a.coordsonly:"")+e+"&format=javascript,"+escape(a.onComplete)+((a.id&&a.id!="")?","+a.id:"");var b=(a.host||PGROUTE_URL)+"?"+d;jQuery.getScript(b)}};var PGRouteUtil=function(){return{getMainImg:function(f,d,e){var a={xpix:500,ypix:500};e=jQuery.extend(a,(e||{}));var b=PGROUTE_IMG_PREFIX+"?x="+f.initLon+"&y="+f.initLat+"&z="+SEAT.PGUtil.zoomArray[PGUtil.getZIdx(f.initZ)]+"&lx="+f.pStart.lon+"&ly="+f.pStart.lat+"&ex="+f.pEnd.lon+"&ey="+f.pEnd.lat+"&itn="+PGRouteUtil.getItnVal(PGRouteUtil.getItnArray(f.pItn))+"&rt="+f.rt+"&serv="+d.serv+"&xpix="+e.xpix+"&ypix="+e.ypix+"&dz="+(e.xpix/430)+"&om=1&fi=jpeg";return b},getStepImg:function(f,d,h,g,e){var a={xpix:300,ypix:300,z:0.6};e=jQuery.extend(a,(e||{}));var b=PGROUTE_IMG_PREFIX+"?x="+d.rplan[h].rleg[g].x+"&y="+d.rplan[h].rleg[g].y+"&z="+e.z+"&lx="+f.pStart.lon+"&ly="+f.pStart.lat+"&ex="+f.pEnd.lon+"&ey="+f.pEnd.lat+"&itn="+PGRouteUtil.getItnVal(PGRouteUtil.getItnArray(f.pItn))+"&rt="+f.rt+"&serv="+d.serv+"&xpix="+e.xpix+"&ypix="+e.ypix+"&dz="+(e.xpix/430)+"&om=1&fi=jpeg";return b},getItnArray:function(d){var b=[];if(d&&SEAT.PGUtil.isArray(d)){jQuery.each(d,function(e,a){b[b.length]={lon:a.lon,lat:a.lat}})}return b},getItnVal:function(b){var a="";if(b&&SEAT.PGUtil.isArray(b)){jQuery.each(b,function(e,d){a+=d.lon+";"+d.lat+";"})}return a}}}();var PGROUTEFORMAT_URL="http://mdr-routing.paginegialle.it/route_px";var PGRouteFormat=function(a){this.callPer(a)};PGRouteFormat.prototype={callPer:function(a){var d="id="+a.id+"&x="+(a.lon||"")+"&y="+(a.lat||"")+"&z="+(a.z||"")+"&url="+a.url+"&xpix="+a.xpix+"&ypix="+a.ypix+"&viewport="+a.viewport+"&dz="+(parseInt(a.xpix,10)/430)+"&serv="+(a.serv||"")+"&test=api&format=javascript,"+escape(a.onComplete)+((a.id&&a.id!="")?","+a.id:"");var b=(a.host||PGROUTEFORMAT_URL)+"?"+d;jQuery.getScript(b)}};SEAT.PGRouteCallback=function(){return{register:function(b,a){this.fn=b;this.scope=a},callback:function(a,b){this.fn.call(this.scope,a,b)}}}();SEAT.ViewRoute=function(a){this.parent=a;this.idNum=0;this.routeParamsA=[]};SEAT.ViewRoute.prototype={COORDSONLY:"yes",init:function(){var a=this;PGEvent.addListener(this.pgMappy,"mousedownbefore",function(b){a.mousedown=true});PGEvent.addListener(this.pgMappy,"mouseupmapafter",function(b){a.mousedown=false})},getRoute:function(d,f){var e=PGRouteUtil.getItnArray(d.pItn);var b=this.viewMap.opts;this.pOff={b4X:b.mapWidth,afX:b.mapWidth,b4Y:b.mapHeight,afY:b.mapHeight};this.canvasWidth=this.pOff.b4X+b.mapWidth+this.pOff.afX;this.canvasHeight=this.pOff.b4Y+b.mapHeight+this.pOff.afY;d.idx=(d.idx)?d.idx+=1:1;var a={id:d.id,idx:d.idx,lon:(d.initLon&&!d.initDone)?d.initLon:this.model.lon,lat:(d.initLat&&!d.initDone)?d.initLat:this.model.lat,z:((d.initZ||d.initZ===0)&&!d.initDone)?this.model.zoomArray[this.viewMap.calcZIdx(d.initZ)]:this.model.zoomArray[this.model.zIdx],startLon:d.pStart.lon,startLat:d.pStart.lat,endLon:d.pEnd.lon,endLat:d.pEnd.lat,itn:e,rt:d.rt,xpix:this.canvasWidth,ypix:this.canvasHeight,serv:(d.serv||d.serv===0)?d.serv:"",sito:b.sito,host:d.host,mode:(d.mode||""),zone:this.model.zone,minimap:d.minimap,coordsonly:d.coordsonly,extra:d.extra,onComplete:f};new PGRoute(a)},addRoute:function(g){var d,b,e,a=false,h,f;if(g.length>0){if(!this.graphicsMgr){this.graphicsMgr=new SEAT.GraphicsMgr("pgroute")}e=g[0].routeParams;if((e.initLon&&e.initLat)||(e.initZ||e.initZ===0)){a=true}for(d=0;d<g.length;d+=1){b=g[d];f=b.routeParams.lineWidth;h=b.routeParams.opacity;jQuery.extend(b.routeParams,{id:g[d].routeParams.id||"pgroute_"+(this.idNum+=1),serv:b.route.serv,initDone:1,updateDone:1,drawFirstTime:false,rgb:b.routeParams.rgb||{r:255,g:0,b:0},lineWidth:(f||f===0)?f:15,opacity:(h||h===0)?h:0.6,mezzi:b.routeParams.mezzi||[],upToStep:b.routeParams.upToStep||null,onRouteCall:b.routeParams.onRouteCall||function(){},onRouteRemove:b.routeParams.onRouteRemove||function(){},inizioTrattoCallback:b.routeParams.inizioTrattoCallback||function(){},route:b.route});this.routeParamsA.push(b.routeParams);if(!a){this.drawRoute(b.route,b.routeParams.id)}}if(a){this.firstTime=true;if(e.initLon&&e.initLat&&(e.initZ||e.initZ===0)){this.parent.setCenterAndZoom(parseFloat(e.initLon),parseFloat(e.initLat),parseInt(e.initZ,10))}else{if(e.initZ||e.initZ===0){this.parent.setZoom(parseInt(e.initZ,10))}else{this.parent.setCenter(parseFloat(e.initLon),parseFloat(e.initLat))}}}else{this.firstTime=false}}},addRouteWithParams:function(b){var a=this;this.saveRouteParams=b;SEAT.PGRouteCallback.register(a.afterRouteWithParams,a);this.getRoute(b,"SEAT.PGRouteCallback.callback")},afterRouteWithParams:function(a){var b=[{routeParams:this.saveRouteParams,route:a}];this.addRoute(b)},drawRoute:function(b,j){var g,h,f=[],d,a=this,e;g=jQuery.grep(a.routeParamsA,function(l){return l.id===j})[0];if(g){if(parseInt(b.req.idx,10)===parseInt(g.idx,10)){g.updateDone=1;g.route=b;e=g.onRouteCall;e.call(e,g.id,b,g.changed,g)}else{return false}}if(!this.zooming&&this.getARoute()){this.drawAllRoutes()}},drawAllRoutes:function(){var d=this,a,e,g,f,b;if(this.routeParamsA.length>0){if(this.graphicsMgr){this.graphicsMgr.clearCanvas();a=this.viewMap.tileLayerMgr.getCurrentLayer();this.graphicsMgr.prepareCanvas(a.id,this.canvasWidth,this.canvasHeight);this.graphicsMgr.posCanvas(-a.cssX-this.pOff.b4X,-a.cssY-this.pOff.b4Y)}jQuery.each(this.routeParamsA,function(j,h){var l;if(h.route.rplan.length>0&&!d.mousedown){d.drawPortions(h,h.route.rplan,h.rgb,h.lineWidth,h.opacity,h.mezzi,h.upToStep);if(h.doppioPercorso&&h.doppioPercorso==true){l=(h.limiteZoom||h.limiteZoom===0)?h.limiteZoom:-4;if(d.pgMappy.getZoom().z>l){e=h.rgb2||{r:255,g:255,b:255};g=h.lineWidth2>0?h.lineWidth2:11;f=(h.opacity2||h.opacity2===0)?h.opacity2:0.6;b=h.mezzi2||h.mezzi;d.drawPortions(h,h.route.rplan,e,g,f,b,h.upToStep)}}h.drawFirstTime=true}})}},drawPortions:function(E,t,b,a,l,e,s){var D,C,d,G,H,B,A,q,y,n,o,h=[],m=0,r=0,x,F,g,f,w,u=3,p,z;if(E.adaptWidth){p=this.pgMappy.getZoom().z;if(p>=-1){z=Math.round(a*(13-p)/13);a=(z>=u)?z:u;if(s){s.lineWidth=a}}}for(D=0;D<t.length;D+=1){G=t[D];jQuery.merge(h,G.steps_ends);r=0;x=0;for(C=0;C<G.steps_coords.length;C+=1){A={rgb:b,lineWidth:a,opacity:l};H=parseInt(G.steps_coords[C],10);if(H>0){r+=H;B=parseInt(G.steps_type[C],10);jQuery.each(e,function(I,j){if(j.type===B){A=j;return false}});F=0;g=H;if(s){if(s.id>h.length){F=H;g=0}else{if((s.id>1)&&(s.id>(m+1))){w=h[s.id-2]+1;if(r<=w){F=H;g=0}else{if(x<w){g=r-w;F=H-g}}}}}if(!E.drawFirstTime){y=G.steps_desc[C];n=G.steps_ll[C].x;o=G.steps_ll[C].y;q=E.inizioTrattoCallback;q.call(q,y,n,o,G,H,B)}f=null;if(F>0){f=G.coords[F-1];d=G.coords.splice(0,F);this.graphicsMgr.drawLine(d,s.rgb,s.lineWidth,s.opacity)}if(g>0){d=G.coords.splice(0,g);if(f!==null){d.splice(0,0,f)}this.graphicsMgr.drawLine(d,A.rgb,A.lineWidth,A.opacity)}x+=H}}m+=G.steps_ends.length}},updateMap:function(b){var a=this;this.model=b;if(this.routeParamsA.length>0){if(b.transType&&b.transType==="zoom"){if(b.startTrans){this.zooming=true;if(this.graphicsMgr){this.graphicsMgr.removeCanvas()}}else{if(b.stepTrans){}else{if(b.endTrans){this.zooming=false;if(this.checkChgZone(b.oldZone,b.zone)){for(i=0;i<this.routeParamsA.length;i+=1){this.routeParamsA[i].zone=b.zone}redrawAllRoutes(true,this.COORDSONLY)}}}}}else{if(b.transType&&b.transType==="pan"){}else{if(!b.oldMapType){if(this.firstTime){this.drawAllRoutes()}else{this.redrawAllRoutes(true,this.COORDSONLY)}this.firstTime=false}}}}},checkChgZone:function(d,a){var b=false;if(d&&(d!==a)){b=true}return b},redrawAllRoutes:function(b,a){jQuery.each(this.routeParamsA,function(e,d){d.updateDone=0;d.coordsonly=a;if(b){d.changed=false}});this.getARoute()},getARoute:function(){var d,b=true,a=this;SEAT.PGRouteCallback.register(a.drawRoute,a);for(d=0;d<this.routeParamsA.length;d+=1){if(this.routeParamsA[d].updateDone===0){this.getRoute(this.routeParamsA[d],"SEAT.PGRouteCallback.callback");b=false;break}}return b},removeRoute:function(b){var a=function(){};jQuery.each(this.routeParamsA,function(e,d){if(d.id===b){a=d.onRouteRemove;return false}});a.call(a,b);this.routeParamsA=jQuery.grep(this.routeParamsA,function(d){return(!d.id||(d.id&&d.id!==b))});if(this.graphicsMgr&&(this.routeParamsA===null||this.routeParamsA.length===0)){this.graphicsMgr.removeCanvas()}else{this.drawAllRoutes()}},removeAllRoutes:function(){jQuery.each(this.routeParamsA,function(b,a){var d=a.onRouteRemove;d.call(d,a.id)});this.routeParamsA=[];if(this.graphicsMgr){this.graphicsMgr.removeCanvas()}},setUpToStep:function(e,b,a){var d=this;jQuery.each(this.routeParamsA,function(g,f){if(f.id===e){f.upToStep=b;d.redrawAllRoutes(true,a);return false}})}};SEAT.PGUtil.augment(SEAT.ViewRoute,SEAT.LayerBase);SEAT.PGRouteFormatCallback=function(){return{register:function(b,a){this.fn=b;this.scope=a},callback:function(a,b){this.fn.call(this.scope,a,b)}}}();SEAT.ViewRouteFormat=function(a){this.parent=a;this.routeParamsA=[]};SEAT.ViewRouteFormat.prototype={init:function(){var a=this;PGEvent.addListener(this.pgMappy,"mousedownbefore",function(b){a.mousedown=true});PGEvent.addListener(this.pgMappy,"mouseupmapafter",function(b){a.mousedown=false})},getRoute:function(d,e){var b=this.viewMap.opts;this.pOff={b4X:b.mapWidth,afX:b.mapWidth,b4Y:b.mapHeight,afY:b.mapHeight};this.canvasWidth=this.pOff.b4X+b.mapWidth+this.pOff.afX;this.canvasHeight=this.pOff.b4Y+b.mapHeight+this.pOff.afY;var a={id:d.id,lon:(d.initDone)?this.model.lon:"",lat:(d.initDone)?this.model.lat:"",z:(d.initDone)?this.model.zoomArray[this.model.zIdx]:"",url:d.url,xpix:this.canvasWidth,ypix:this.canvasHeight,viewport:this.pOff.b4X+","+this.pOff.b4Y+","+(this.pOff.b4X+b.mapWidth)+","+(this.pOff.b4Y+b.mapHeight),serv:d.serv||"",onComplete:e};new PGRouteFormat(a)},addRoute:function(f){var d,b,e,g,a=false;if(f.length>0){if(!this.graphicsMgr){this.graphicsMgr=new SEAT.GraphicsMgr("pgrouteformat")}for(d=0;d<f.length;d+=1){b=f[d];jQuery.extend(b.routeParams,{serv:b.route.serv,initDone:1,updateDone:1,rgb:b.routeParams.rgb||{r:255,g:0,b:0},lineWidth:b.routeParams.lineWidth||15,opacity:b.routeParams.opacity||0.6,route:b.route});this.routeParamsA.push(b.routeParams)}e=f[0].route.metadata;g=this.viewMap.getZoomIndex(parseFloat(e.zlevel));this.firstTime=true;this.parent.setCenterAndZoom(parseFloat(e.cx),parseFloat(e.cy),g)}},drawRoute:function(b,h){var f,g,e=[],d,a=this;f=jQuery.grep(a.routeParamsA,function(j){return j.id===h})[0];f.updateDone=1;f.route=b;if(this.getARoute()){this.drawAllRoutes()}},drawAllRoutes:function(){var a,b=this;if(this.graphicsMgr){this.graphicsMgr.clearCanvas();a=this.viewMap.tileLayerMgr.getCurrentLayer();this.graphicsMgr.prepareCanvas(a.id,this.canvasWidth,this.canvasHeight);this.graphicsMgr.posCanvas(-a.cssX-this.pOff.b4X,-a.cssY-this.pOff.b4Y)}jQuery.each(this.routeParamsA,function(e,d){if(d.route.rplan.length>0&&!b.mousedown){b.drawPortions(d.route.rplan,d.rgb,d.lineWidth,d.opacity)}})},drawPortions:function(l,e,a,d){var f,b,g,h;for(f=0;f<l.length;f+=1){g=[];h=l[f];e=h.color||e;a=(h.width||h.width===0)?h.width:a;d=(h.opacity||h.opacity===0)?h.opacity:d;for(b=0;b<h.coords.length;b+=1){g.push(h.coords[b])}this.graphicsMgr.drawLine(g,e,a,d)}},updateMap:function(b){var a=this;this.model=b;if(this.routeParamsA.length>0){if(b.transType&&b.transType==="zoom"){if(b.startTrans){if(this.graphicsMgr){this.graphicsMgr.removeCanvas()}}else{if(b.stepTrans){}else{if(b.endTrans){}}}}else{if(b.transType&&b.transType==="pan"){}else{if(!b.oldMapType){if(this.firstTime){this.drawAllRoutes()}else{this.redrawAllRoutes()}this.firstTime=false}}}}},redrawAllRoutes:function(){jQuery.each(this.routeParamsA,function(b,a){a.updateDone=0});this.getARoute()},getARoute:function(){var d,b=true,a,e;a=this;e=null;e=function(f,g){a.drawRoute.call(a,f,g)};SEAT.PGRouteFormatCallback.register(a.drawRoute,a);for(d=0;d<this.routeParamsA.length;d+=1){if(this.routeParamsA[d].updateDone===0){this.getRoute(this.routeParamsA[d],"SEAT.PGRouteFormatCallback.callback");b=false;break}}return b},removeRoute:function(a){this.routeParamsA=jQuery.grep(this.routeParamsA,function(b){return(!b.id||(b.id&&b.id!==a))});if(this.graphicsMgr&&(this.routeParamsA===null||this.routeParamsA.length===0)){this.graphicsMgr.removeCanvas()}else{this.drawAllRoutes()}},removeAllRoutes:function(){this.routeParamsA=[];if(this.graphicsMgr){this.graphicsMgr.removeCanvas()}}};SEAT.PGUtil.augment(SEAT.ViewRouteFormat,SEAT.LayerBase);var PGGEO_URL="http://geo.paginegialle.it/lbs",PGGEO_OK=1,PGGEO_NOK=2,PGGEO_MULTI=3,PGGEO_NAT_ITALIA=0,PGGEO_NAT_FRANCIA=1,PGGEO_NAT_GERMANIA=2,PGGEO_NAT_TURCHIA=3,PGGEO_CD_STATO=0,PGGEO_CD_REGIONE=1,PGGEO_CD_PROVINCIA=2,PGGEO_CD_RAGGRUPPAMENTO=3,PGGEO_CD_COMUNE=4,PGGEO_CD_FRAZIONE=5,PGGEO_CD_STRADA=6,PGGEO_CD_CIVICO=7,PGGEO_CD_POI=8;var PGGeoCod=function(b,a){this.callGeo(b,a)};PGGeoCod.prototype={callGeo:function(b,a){var e,d;e="nat="+encodeURIComponent(b.nazione||"")+((b.dove&&b.dove!=="")?"&dv="+encodeURIComponent(b.dove):"&open="+encodeURIComponent(b.comune||"")+((b.provincia&&b.provincia!=="")?" ("+encodeURIComponent(b.provincia)+")":"")+"&topo="+encodeURIComponent(b.indirizzo||"")+"&civ="+encodeURIComponent(b.civico||""))+this.getExtra(a)+"&format=javascript,"+encodeURIComponent(b.onComplete);d=(b.host||PGGEO_URL)+"?"+e;jQuery.getScript(d)},getExtra:function(a){var b="";if(a){for(k in a){v=a[k];if(v!==""){b+="&"+k+"="+encodeURIComponent(v)}}}return b}};var PGGEOREV_URL="http://geo.paginegialle.it/reverse";var PGGeoRevCod=function(b,a){this.callGeoRev(b,a)};PGGeoRevCod.prototype={callGeoRev:function(h,a){var g,e,f="",d,b;if(a){for(d in a){b=a[d];f+="&"+d+"="+encodeURIComponent(b)}}g="&x="+escape(h.lon)+"&y="+escape(h.lat)+f+"&format=javascript,"+escape(h.onComplete);e=(h.host||PGGEOREV_URL)+"?"+g;jQuery.getScript(e)}};SEAT.RadarBox=function(){var a=this;jQuery(window).unload(function(){a.unloadMe()})};SEAT.RadarBox.prototype={unloadMe:function(){this.selBox=null},init:function(){var a=this;this.id=this.viewMap.opts.nameContainer+"_radarBox";jQuery('<div id="'+this.id+'"></div>').appendTo("#"+this.viewMap.opts.nameContainer);this.selBox=jQuery("#"+this.id).css({background:"#555",opacity:0.5,border:"2px solid #000",position:"absolute",zIndex:999});this.sizeMe();this.setPos(this.getPos().left,this.getPos().top);this.dragDropAdd(this.id,{dragBefore:function(b){a.dragBefore(b)},dragging:function(b){a.dragging(b)},dragAfter:function(b){a.dragAfter(b)}})},remove:function(){},sizeMe:function(){var a=this.getDimensions(this.viewMap.model.z,this.viewMap.opts.radarParent.getZoom());this.setDimensions(a.width,a.height)},getDimensions:function(b,f){var e=Math.pow(2,b-f+1),d=this.viewMap.opts.radarParent.getSize().width/e,a=this.viewMap.opts.radarParent.getSize().height/e;return{width:d,height:a}},setDimensions:function(b,a){this.width=b;this.height=a;this.selBox.css({width:this.width,height:this.height})},getPos:function(){return{left:(this.viewMap.opts.mapWidth-this.width)/2,top:(this.viewMap.opts.mapHeight-this.height)/2}},setPos:function(b,a){this.left=b;this.top=a;this.selBox.css({left:this.left,top:this.top})},dragBefore:function(a){this.mapLayerContStart=this.viewMap.getMapPos();this.chgLeft=0;this.chgTop=0},dragging:function(j){var g=this;var f=parseInt(this.selBox.css("left"),10);var h=parseInt(this.selBox.css("top"),10);var d=15;var e=2;this.cL=0;this.cT=0;if(this.width<(this.viewMap.opts.mapWidth-(d*2))){if(f<d){this.cL=e}else{if((f+this.width)>(this.viewMap.opts.mapWidth-d)){this.cL=-e}}}if(this.height<(this.viewMap.opts.mapHeight-(d*2))){if(h<d){this.cT=e}else{if((h+this.height)>(this.viewMap.opts.mapHeight-d)){this.cT=-e}}}if(this.cL!==0||this.cT!==0){if(!this.intMoveCont){this.intMoveCont=setInterval(function(){g.moveCont()},15)}}else{if(this.intMoveCont){clearInterval(this.intMoveCont);this.intMoveCont=null}}},dragAfter:function(a){if(this.intMoveCont){clearInterval(this.intMoveCont);this.intMoveCont=null}this.left+=a.chg.x;this.top+=a.chg.y;this.viewMap.recalcOffsetX=this.chgLeft;this.viewMap.recalcOffsetY=this.chgTop;this.viewMap.panMapBy(-a.chg.x,-a.chg.y)},moveCont:function(){var b,a;this.chgLeft+=this.cL;this.chgTop+=this.cT;b=this.mapLayerContStart.x+this.chgLeft;a=this.mapLayerContStart.y+this.chgTop;this.viewMap.moveToSimple(b,a)},updateMap:function(b){var h,g,e,a,j,f;this.model=b;if(b.transType&&b.transType==="zoom"){if(b.startTrans){}else{if(b.stepTrans){}else{if(b.endTrans){j=this.getDimensions(b.z,this.viewMap.opts.radarParent.getZoom());this.setDimensions(j.width,j.height);this.setPos(this.getPos().left,this.getPos().top)}}}}else{if(b.transType&&b.transType==="pan"){if(b.startTrans){if(this.left!==this.getPos().left||this.top!==this.getPos().top){this.startPos={left:this.left,top:this.top};this.chg={x:this.getPos().left-this.left,y:this.getPos().top-this.top}}}else{if(b.stepTrans){if(this.chg){h=this.startPos.left+(this.chg.x*b.now);g=this.startPos.top+(this.chg.y*b.now);this.setPos(h,g)}}else{if(b.endTrans){if(this.chg){this.setPos(this.getPos().left,this.getPos().top)}this.chg=null}}}}else{}}},updateMapSize:function(){this.sizeMe();this.setPos(this.getPos().left,this.getPos().top)}};SEAT.PGUtil.augment(SEAT.RadarBox,SEAT.LayerBase);SEAT.PGUtil.augment(SEAT.RadarBox,SEAT.DragDropMgr);var PGWayPoint=function(){return{addWayPoints:function(f,b,d){var e=[],a=this;d=d||{};if(b&&b.way_points&&b.way_points.length>0){jQuery.each(b.way_points,function(j,g){var h,l;if(g.sym){if(g.sym.href&&g.sym.href!=""){h=g.sym.href}else{if(isNaN(g.sym.id)){}else{if(parseInt(g.sym.id,10)>=0){h="http://img.tuttocitta.it/api/icons/"+g.sym.id+".png"}}}}if(h){l=new SEAT.ImgQ({onImgLoad:function(o,n,m){a.addAWayPoint(o,b.way_points[o],m,d,b.way_points.length,e,f)}});l.queueImg(j,h)}else{a.addAWayPoint(j,g,null,d,b.way_points.length,e,f)}})}},addAWayPoint:function(e,q,l,r,f,g,a){var m="",d,n,j=null,o;if(l){o=(jQuery.browser.msie)?"filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true src='"+l.src+"');":"background: url("+l.src+") no-repeat;";j='<div style="'+o+"width:"+l.width+"px;height:"+l.height+'px;"></div>'}if(r.onOpen){n="closeMe"+q.id;jQuery.extend(q,{closeID:n});d=new PGPoint({html:j,lon:q.x,lat:q.y,opened:{onOpen:r.onOpen,onOpenParams:q,closeID:n}})}else{m+='<div style="width:300px;background:#fff;">';m+='<div style="padding:15px 5px 5px 5px;border:2px solid #000;">';m+='<div id="closeMe'+q.id+'" style="position:absolute;top:5px;right:5px;width:14px;height:14px;"><img src="http://img.tuttocitta.it/nuovotcol/img/fumetti/icoChiudiFumetto.gif" width="14" height="14"/></div>';if(l){m+='<img src="'+l.src+'" style="margin:0 5px 5px 0;vertical-align:text-top;width:'+l.width+"px;height:"+l.height+'px;"/>'}m+=(q.name&&q.name!=="")?"<b>"+q.name+"</b>":"";m+=(q.dsc&&q.dsc!=="")?"<br/>"+q.dsc:"";m+=(q.cmt&&q.cmt!=="")?"<br/>"+q.cmt:"";m+='<div style="clear:both;height:10px;width:1px;"></div>';m+="</div>";m+="</div>";d=new PGPoint({html:j,lon:q.x,lat:q.y,opened:{html:m,closeID:"closeMe"+q.id}})}g.push(d);a.pointAdder(d);if(r.onComplete&&g.length===f){r.onComplete.call(r.onComplete,{map:a,points:g})}},removeWayPoints:function(a){if(a&&a.points&&a.points.length>0){jQuery.each(a.points,function(d,b){a.map.removePoint(b)})}}}}();var PGCircle=function(a){this.id=a.id||null;this.center=a.center||null;this.radius=a.radius||50;this.rgb=a.rgb||{r:0,g:0,b:0};this.opacity=(a.opacity>=0&&a.opacity<=1)?a.opacity:1;this.borderRgb=a.borderRgb||{r:0,g:0,b:0};this.borderWidth=a.borderWidth||null;this.borderOpacity=(a.borderOpacity>=0&&a.borderOpacity<=1)?a.borderOpacity:1;this.inMeters=(typeof(a.inMeters)=="boolean")?a.inMeters:true};PGCircle.prototype={initCircleVals:function(b,d,a,e){this.graphicsMgr=b;this.viewMap=a;this.parent=e;this.center.setModel(d);this.center.initPoint()},remove:function(){if(this.id){this.parent.removeCircle(this.id)}},drawFullCircle:function(b){var a=this.viewMap.model.zIdx;metersPerPixel=this.viewMap.model.mapWidthMeters/(this.viewMap.model.mapWidthLevel1Pixel/Math.pow(2,a)),newRadius=this.radius,c=this.center.getPos(this.viewMap);c.x-=b.x;c.y-=b.y;if(this.inMeters==true){newRadius=Math.round(this.radius/metersPerPixel)}this.graphicsMgr.drawCircle(c,newRadius,this.rgb,this.opacity,this.borderWidth,true);if(this.borderWidth){this.graphicsMgr.drawCircle(c,newRadius,this.borderRgb,this.borderOpacity,this.borderWidth,false)}}};SEAT.PGCircleList=function(){var a=this;this.pgCircleList=[];jQuery(window).unload(function(){a.unloadMe()})};SEAT.PGCircleList.prototype={unloadMe:function(){this.pgCircleList=null;this.graphicsMgr=null;this.delta={x:0,y:0}},pgCircleAdder:function(a){if(a){if(!this.graphicsMgr){this.graphicsMgr=new SEAT.GraphicsMgr("pgcircle")}this.addCircle(a);this.prepareForDrawing();a.drawFullCircle(this.delta)}},prepareForDrawing:function(){var a=this.viewMap.tileLayerMgr.getCurrentLayer();this.posOffset={beforeX:this.viewMap.opts.mapWidth,afterX:this.viewMap.opts.mapWidth,beforeY:this.viewMap.opts.mapHeight,afterY:this.viewMap.opts.mapHeight};this.canvasWidth=this.posOffset.beforeX+this.viewMap.opts.mapWidth+this.posOffset.afterX;this.canvasHeight=this.posOffset.beforeY+this.viewMap.opts.mapHeight+this.posOffset.afterY;this.graphicsMgr.prepareCanvas(a.id,this.canvasWidth,this.canvasHeight);this.delta={x:(-a.cssX-this.posOffset.beforeX),y:(-a.cssY-this.posOffset.beforeY)};this.graphicsMgr.posCanvas(this.delta.x,this.delta.y)},addCircle:function(a){if(a){a.initCircleVals(this.graphicsMgr,this.model,this.viewMap,this);this.pgCircleList.push(a)}},removeCircle:function(a){this.pgCircleList=jQuery.grep(this.pgCircleList,function(b){return(!b.id||(b.id&&b.id!==a))});if(this.graphicsMgr&&(this.pgCircleList===null||this.pgCircleList.length===0)){this.graphicsMgr.removeCanvas()}else{this.drawCircles()}},removeAllPGCircles:function(){this.pgCircleList=[];if(this.graphicsMgr){this.graphicsMgr.removeCanvas()}},drawCircles:function(){var a=this;if(a.pgCircleList.length>0){a.graphicsMgr.clearCanvas();a.prepareForDrawing();jQuery.each(a.pgCircleList,function(d,b){b.drawFullCircle(a.delta)})}},updateMap:function(a){this.model=a;if(a.transType&&a.transType==="zoom"){if(a.startTrans){if(this.graphicsMgr){this.graphicsMgr.removeCanvas()}}else{if(a.stepTrans){}else{if(a.endTrans){if(this.checkChgZone(a.oldZone,a.zone)){this.drawCircles()}}}}}else{if(a.transType&&a.transType==="pan"){}else{this.setModelPoints();this.checkChgZone(a.oldZone,a.zone);this.drawCircles()}}},checkChgZone:function(d,a){var b=false;if(d&&(d!==a)){jQuery.each(this.pgCircleList,function(f,e){e.center.initPoint()});b=true}return b},setModelPoints:function(){var a=this;jQuery.each(this.pgCircleList,function(d,b){b.center.setModel(a.model)})}};SEAT.PGUtil.augment(SEAT.PGCircleList,SEAT.LayerBase);SEAT.ZoomControl=function(a){this.opts=a||{};this.opts=jQuery.extend({type:"mini"},this.opts)};SEAT.ZoomControl.prototype={init:function(){if(this.opts.type==="mini"){this.viewMap.opts.zoomImgs.push(SEAT.ZoomControl.MINI_POINTS_IMGS_DEFAULT)}this.addZoomControlMini()},addZoomControlMini:function(){var d,b=this,f,g,e,a,j,h=jQuery.grep(this.viewMap.opts.zoomImgs,function(m,l){return(m.lng===b.viewMap.opts.lng)});if(h.length>0){d=h[0];e=d.tooltips;a=d.ctrls;f='<a id="mmz_out_2" href="javascript:void(0)" title="'+e[1]+'" class="minizoomOut" >'+e[1]+"</a>";g='<a id="mmz_in_2" href="javascript:void(0)" title="'+e[0]+'" class="minizoomIn" >'+e[0]+"</a>";jQuery("#"+this.viewMap.opts.nameContainer).append(f).append(g);j=this.addCtrl(a,d.urlPfx,0,"mmz_out_2");j.click(function(){b.contMap.zoomIn()});j=this.addCtrl(a,d.urlPfx,1,"mmz_in_2");j.click(function(){b.contMap.zoomOut()})}},addCtrl:function(g,l,h,b){var m,e,d,n,j,f,a;m=g[h][1];e=g[h][0];d=g[h][2];n=g[h][3];j=g[h][4];f=g[h][5];a=l+g[h][6];return jQuery("#"+b).css({top:m,display:"block",height:n,left:e,position:"absolute","text-indent":"-5000px",width:d,"z-index":"1000",background:'url("'+a+'") no-repeat '+j+" "+f+" scroll transparent"})},remove:function(){jQuery("#mmz_out_2, #mmz_in_2").remove()}};SEAT.PGUtil.augment(SEAT.ZoomControl,SEAT.LayerBase);SEAT.ZoomControl.MINI_POINTS_IMGS_DEFAULT={lng:1,urlPfx:"http://img.tuttocitta.it/tcolnew/img/",ctrls:[[0,20,"25px","28px","-5px","0px","controller_piu.png"],[0,45,"25px","28px","-5px","0px","controller_meno.png"]],tooltips:[["Aumenta lo zoom"],["Diminuisci lo zoom"]]};
