SEAT.PGMeteoCallback={register:function(b,a){this.fn=b;this.scope=a},callback:function(a){this.fn.call(this.scope,a)}};SEAT.PGMeteo=function(b){var a=this;this.opts=b||{};this.opts=$.extend({displayBox:true,boxRight:10,boxTop:160,nDays:5,draggable:true,displayClose:true,idFields:{dvMt:"dvMt",imgMt:"imgMt",tempMt:"tempMt",minMt:"minMt",maxMt:"maxMt",windMt:"windMt",dayMt:"dayMt",timesMt:"timesMt",daysMt:"daysMt"},dayParams:{selDayCls:"select",dayDescCls:"dayDescCls",dayImgCls:"dayImgCls"},timeParams:{selTimeCls:"select",timeDescCls:"timeDescCls",timeImgCls:"timeImgCls"},msgLabel:{LBL_mt_sel_icona:"Seleziona l&#39;icona della mappa per le condizioni meteo locali.",LBL_mt_no_info:"Informazioni non disponibili",LBLARR_mt_times:["notte","mattino","pom","sera"],LBL_mt_um:"Umidit&agrave;",LBL_mt_min:"Min:",LBL_mt_max:"Max:",LBL_mt_vento:"Vento:",LBLARR_mt_weekdays:["Domenica","Luned&igrave;","Marted&igrave;","Mercolid&igrave;","Gioved&igrave;","Venerd&igrave;","Sabato"]},imgPath:"http://immagini.paginegialle.it/pg/visual/meteo",imgMapWidth:44,imgMapHeight:33,imgBoxWidth:44,imgBoxHeight:33},b);this.URL="http://wbs.paginegialle.it/WS-Meteo/forecast";this.sLst=[];this.imgLst=[];this.removeMe=false;$(window).unload(function(){a.unloadMe()})};SEAT.PGMeteo.prototype={timInited:false,unloadMe:function(){this.sel=null},init:function(){var d,b,a=this;this.model=this.viewMap.model;this.updDay=0;this.updTim=1;d=(this.opts.displayBox)?"cursor:pointer;":"";b='<div id="pgMeteoTmp" style="position:absolute;top:-9999px;left:-9999px;"><div style="width:'+this.opts.imgBoxWidth+"px;height:"+this.opts.imgBoxHeight+"px;"+d+'"></div></div>';$(b).appendTo("body");if(this.opts.displayBox){this.initBox()}this.updateMeteo();SEAT.PGMeteoCallback.register(a.callbackMeteo,a)},initBox:function(){var e,c,a=this,d=this.viewMap.opts.nameContainer;this.idBox=d+"_mbox";this.idTimBox=d+"_mboxt";this.idDet=this.idBox+"_det";this.idDays=this.idBox+"_days";this.idClose=this.idBox+"_close";var b={position:"absolute",display:"none",zIndex:"998",cursor:"auto"};c='<div id="'+this.idBox+'">';if(!this.opts.initLayout){if(this.opts.displayClose===true){c+='<div id="'+this.idClose+'">x</div>'}c+='<div id="'+this.idDays+'"></div>';c+='<div id="'+this.idDet+'" style="clear:both;"></div>';b=$.extend({width:200,height:215,color:"#fff",font:"10px verdana",background:"#000"},b)}else{c+=this.opts.initLayout}c+="</div>";this.sel=$(c).css(b).appendTo("#"+d).bind("mousedown",function(){return false}).bind("dblclick",function(){return false});if(this.opts.initClass){this.sel.addClass(this.opts.initClass)}e=(this.opts.boxLeft)?{left:this.opts.boxLeft}:{right:this.opts.boxRight};$.extend(e,(this.opts.boxBottom)?{bottom:this.opts.boxBottom}:{top:this.opts.boxTop});this.sel.css(e).show();if(this.opts.displayClose===true){$("#"+this.idClose,this.sel).css({"float":"right","font-size":"14px","font-weight":"bold",cursor:"pointer",margin:"-2px 2px 0 0"}).bind("click",function(f){a.closeMeteo()})}if(this.opts.draggable){this.dragDropAdd(this.idBox)}},updateMap:function(a){this.model=a;if(this.model.transType){}else{if(!(a.oldMapType)){this.updateMeteo()}}},updateMeteo:function(){this.eventFire("updatebefore",{});var c=this.viewMap.getMapBounds(),h=c.botLeft,f=c.topRight,a=c.topMid,g=c.botMid,e="x1="+h.lon+"&y1="+g.lat+"&x2="+f.lon+"&y2="+a.lat+"&z="+(this.model.zoomArrayCent[this.model.zIdx])+"&type=json&callback="+escape("SEAT.PGMeteoCallback.callback"),d=this.URL+"?"+e;$.getScript(d)},callbackMeteo:function(c){var e,f,d=this;if(this.removeMe){return false}this.mj=c;this.nLst=[];function b(j){var g,h=false;for(g=0;g<d.sLst.length;g+=1){if(d.sLst[g].loc.id===j.id){d.nLst.push(d.sLst[g]);d.sLst.splice(g,1);h=true;break}}if(!h){d.nLst.push({loc:j})}}function a(h){var g=true,j,i;for(j=0;j<4;j+=1){for(i=0;i<4;i+=1){if(h[j].part[i]===undefined){g=false}}}return g}f=parseInt(c.pgmeteo.results,10);if(f===1){if(a(c.pgmeteo.location.forecast.day)){b(c.pgmeteo.location)}}else{if(f>1){for(e=0;e<f;e+=1){if(a(c.pgmeteo.location[e].forecast.day)){b(c.pgmeteo.location[e])}}}}$.each(this.sLst,function(h,g){d.deletePoint(this)});this.sLst=this.nLst;if(this.opts.displayBox){this.addDays()}this.displayMeteo();this.eventFire("updateafter",{})},displayMeteo:function(){var d,a,e,g,c,j=false;this.cc=0;$.each(this.sLst,function(k,h){if(h.tm){clearTimeout(h.tm);h.tm=null}});if(this.timInited===false){this.updTim=1;if(this.updDay===0){this.updTim=parseInt(this.mj.pgmeteo.day_part,10)}this.timInited=true}if(!this.userClicked||this.opts.initLayout){g=this.getDatePlus(this.updDay);if(!this.opts.initLayout){e='<div style="width:100%;font-size:16px;font-weight:bold;text-align:center;padding:10px 0 0 0;">'+SEAT.Date.getDay(g.getDay(),this.opts.msgLabel.LBLARR_mt_weekdays)+" "+g.getDate()+" </div>";e+='<div style="width:100%;font-size:16px;font-weight:bold;text-align:center;">'+SEAT.Date.getMonth(g.getMonth())+" "+g.getFullYear()+"</div>";e+='<div id="metMsg" style="text-align:center;margin:30px 20px 0 20px;">';e+="</div>";$("#"+this.idDet).html(e)}else{$("#"+this.opts.idFields.dayMt).html(SEAT.Date.getDay(g.getDay(),this.opts.msgLabel.LBLARR_mt_weekdays)+" "+g.getDate()+"/"+(g.getMonth()+1)+"/"+g.getFullYear()).show()}}var f=false;for(d=0;d<this.sLst.length;d+=1){a=this.sLst[d];c=-1;if(a.loc.forecast&&a.loc.forecast.day&&a.loc.forecast.day[this.updDay]&&a.loc.forecast.day[this.updDay].part[this.updTim]){c=a.loc.forecast.day[this.updDay].part[this.updTim].value}if(a.p){if(a.tipo!==c){this.deletePoint(a);if(c!==-1){this.createPoint(a);j=true}}else{if(c!==-1){j=true}}}else{if(c!==-1){this.createPoint(a);j=true}}if(this.opts.initLocId&&(this.opts.initLocId==a.loc.id)){f=true}else{if(!f&&this.opts.provincia&&this.opts.comune&&this.opts.provincia.toLowerCase()==a.loc.details.province.toLowerCase()&&this.opts.comune.toLowerCase()==a.loc.details.name.toLowerCase()){this.opts.initLocId=a.loc.id;f=true}}}if(!this.userClicked){e=(j)?this.opts.msgLabel.LBL_mt_sel_icona:this.opts.msgLabel.LBL_mt_no_info;var b=(f===true);if(b===true){this.symbolClick(this.opts.initLocId)}else{if(!this.opts.initLayout){$("#metMsg").html(e)}else{$("#"+this.opts.idFields.dvMt).html(e)}}}},getDatePlus:function(f){var e,a,c,b;e=this.mj.pgmeteo.current_date;a=e.split("-");c=new Date();c.setFullYear(parseInt(a[0],10),parseInt(a[1],10)-1,parseInt(a[2],10));b=new Date();b.setDate(c.getDate()+f);return b},deletePoint:function(a){if(a.tm){clearTimeout(a.tm);a.tm=null}if(a.p){this.pgMappy.removePoint(a.p)}a.p=null;a.tipo=null},createPoint:function(b){var e,f,c,a,g,d=this;function i(l,k,j,p,m,o,n,r){var q=function(){var t,s=false,v=(d.opts.displayBox)?"cursor:pointer;":"";if(d.imgLst[r]){t=d.imgLst[r];t.replace("__id__",k)}else{s=true;t='<div id="'+k+'" style="width:'+d.opts.imgMapWidth+"px;height:"+d.opts.imgMapHeight+"px;"+v+'"></div>'}var u=new PGPoint({id:k,lon:j,lat:p,html:t,offsetX:o,offsetY:n});d.pgMappy.pointAdder(u);if(s){d.saveImg(k,r)}if(d.opts.displayBox){PGEvent.addListener(u,"click",function(h){d.symbolClick(h.id)})}l.p=u};d.cc+=30;l.tm=setTimeout(q,0+d.cc)}if(b.loc.forecast.day&&b.loc.forecast.day[this.updDay]&&b.loc.forecast.day[this.updDay].part[this.updTim]){e=b.loc.forecast.day[this.updDay].part[this.updTim].value;g=this.idBox+"_"+b.loc.id;c=0;a=this.opts.imgMapHeight/2;i(b,b.loc.id,b.loc.lon,b.loc.lat,f,c,a,e);b.tipo=e}},saveImg:function(e,a){var c=$("#"+e,"#"+this.viewMap.opts.nameContainer);if(!this.opts.initLayout){SEAT.PGUtil.addBckImg(c.get(0),this.opts.imgPath+"/png/"+a+".png","no-repeat")}else{SEAT.PGUtil.addBckImg(c.get(0),this.opts.imgPath+"/s"+a+"_m.png","no-repeat")}c=$("#"+e,"#"+this.viewMap.opts.nameContainer);var b=c.parent().html();b.replace(e,"__id__");if(this.imgLst.length<(a+1)){this.imgLst.length=(a+1)}this.imgLst[a]=b},symbolClick:function(d){var c,a,b=null;this.eventFire("symbolclickbefore",{});if(!this.userClicked&&this.opts.initClass){this.sel.removeClass(this.opts.initClass)}this.userClicked=true;c=parseInt(this.mj.pgmeteo.results,10);if(c===1){b=this.mj.pgmeteo.location}else{if(c>1){for(a=0;a<c;a+=1){if(this.mj.pgmeteo.location[a].id===d){b=this.mj.pgmeteo.location[a];break}}}}this.updLoc=b;this.updateBox();this.eventFire("symbolclickafter",{loc:b})},updateBox:function(j,n){var b,e,g,o,f="",l=false,m=this;if(j!==undefined&&j!==this.updDay){this.updDay=parseInt(j,10);l=true}if(n!==undefined&&n!==this.updTim){this.updTim=parseInt(n,10);l=true}if(l){this.displayMeteo()}function a(v){var w,p,u,r="",h=m.opts.msgLabel.LBLARR_mt_times,q=function(){var d=this.id.split("_"),i=d[d.length-1];m.updateBox(this.updDay,i)};if(m.opts.initLayout){$("#"+m.opts.idFields.timesMt).html("").show()}for(p=0;p<h.length;p+=1){if(!m.opts.initLayout){w=(p===0)?"clear:both;margin:5px 0 0 2px;":"margin:5px 0 0 -5px;";r+='<div style="'+w+'float:left;"><div style="text-align:center;">'+h[p]+'</div><div id="'+m.idBox+"_imgDet_"+p+'" style="clear:both;margin:3px 0 0 3px;width:'+m.opts.imgBoxWidth+"px;height:"+m.opts.imgBoxHeight+'px;"></div></div>'}else{u=$(m.opts.timeLayout);if(p===m.updTim){u.addClass("select")}u.attr("id",m.idTimBox+"_"+p).addClass("mboxTime").css("cursor","pointer");$(".timeImgCls",u).html('<img src="" id="'+m.idBox+"_imgDet_"+p+'" height="'+m.opts.imgBoxHeight+'" width="'+m.opts.imgBoxWidth+'"/>');$(".timeDescCls",u).html(h[p]);$("#"+m.opts.idFields.timesMt).append(u);if(!this.userClicked){$(".timeImgCls",u).show();$(".timeDescCls",u).show()}u.bind("click",q)}}return r}function k(i){var h;for(b=0;b<4;b+=1){if(!m.opts.initLayout){h=$("#"+m.idBox+"_imgDet_"+b,m.sel);SEAT.PGUtil.addBckImg(h.get(0),m.opts.imgPath+"/png/"+i.part[b].value+".png","no-repeat");h.parent().css((b!==m.updTim)?{opacity:0.8}:{fontWeight:"bold"})}else{h=$("#"+m.idBox+"_imgDet_"+b,m.sel);h.attr("src",m.opts.imgPath+"/s"+i.part[b].value+".png")}}}this.addDays();if(this.updLoc){g=this.updLoc.forecast.day[this.updDay];if(g){o=g.part[this.updTim];if(o){if(!this.opts.initLayout){if(this.updLoc.realtime&&this.updLoc.realtime.station&&this.updLoc.realtime.station.rhum){f=this.opts.msgLabel.LBL_mt_um+" "+this.updLoc.realtime.station.rhum+"%<br/>"}e='<div style="clear:both;margin:0 0 0 3px;padding:8px 0 0 0;font-size:15px;font-weight:bold;overflow:hidden;height:25px;">'+this.updLoc.details.name.toUpperCase()+'</div><div id="'+this.idBox+'_imgDet" style="clear:both;float:left;margin:3px 0 0 3px;width:'+this.opts.imgBoxWidth+"px;height:"+this.opts.imgBoxHeight+'px;"></div><div style="float:left;font-size:20px;margin:2px 0 0 8px;">'+o.temp+'&deg;</div><div style="float:left;margin:2px 0 0 3px;"><div style="float:left;">'+this.opts.msgLabel.LBL_mt_min+" "+g.tmin+"&deg;<br/>"+this.opts.msgLabel.LBL_mt_max+" "+g.tmax+"&deg;<br/>"+f+this.opts.msgLabel.LBL_mt_vento+" "+o.wvel+"("+o.wdir+")"+((f==="")?"<br/><div>&nbsp;</div>":"")+'</div></div><div style="clear:both;height:10px;border-bottom:1px solid #A0A0A0;width:180px;margin:0 0 0 10px;"></div>'+a(g);$("#"+this.idDet).html(e);SEAT.PGUtil.addBckImg($("#"+this.idBox+"_imgDet",this.sel).get(0),this.opts.imgPath+"/png/"+o.value+".png","no-repeat");k(g)}else{$("#"+this.opts.idFields.dvMt).html(this.updLoc.details.name.toUpperCase());$("#"+this.opts.idFields.tempMt).html(o.temp+"&deg;");$("#"+this.opts.idFields.minMt).html(this.opts.msgLabel.LBL_mt_min+" "+g.tmin+"&deg;");$("#"+this.opts.idFields.maxMt).html(this.opts.msgLabel.LBL_mt_max+" "+g.tmax+"&deg;");$("#"+this.opts.idFields.windMt).html(this.opts.msgLabel.LBL_mt_vento+" "+o.wvel+" ("+o.wdir+")");var c=$("#"+this.opts.idFields.umMt);if(c&&this.updLoc.realtime&&this.updLoc.realtime.station&&this.updLoc.realtime.station.rhum){f=this.opts.msgLabel.LBL_mt_um+" "+this.updLoc.realtime.station.rhum+"%<br/>"}$("#"+this.opts.idFields.imgMt).html('<img src="'+this.opts.imgPath+"/s"+o.value+'.png" height="'+m.opts.imgBoxHeight+'" width="'+m.opts.imgBoxWidth+'"/>');$("#"+this.opts.idFields.imgMt).show();$("#"+this.opts.idFields.tempMt).show();$("#"+this.opts.idFields.minMt).show();$("#"+this.opts.idFields.maxMt).show();$("#"+this.opts.idFields.windMt).show();$("#"+this.opts.idFields.umMt).show();a(g);k(g)}}}}},addDays:function(){var k="",g,c,m,l,n,e,f,a,o=this;function j(h){var b=h.split("-");return b[2]+"/"+b[1]}if(this.opts.initLayout){$("#"+this.opts.idFields.daysMt).html("").show()}for(g=0;g<this.opts.nDays;g+=1){l=null;n=null;e=this.getDatePlus(g);if(this.updLoc){l=this.updLoc.forecast.day[g];n=(l)?j(l.date):null;c=55}else{n=e.getDate()+"/"+(e.getMonth()+1);c=40}if(n){f=SEAT.Date.getDay(((new Date()).getDay()+g)%7,this.opts.msgLabel.LBLARR_mt_weekdays).substr(0,3).toLowerCase();if(!this.opts.initLayout){m=(g===this.updDay)?"border: 1px solid #fff;":"";k+='<div id="'+this.idBox+"_"+g+'" class="mboxDay" style="float:left;width:30px;height:'+c+"px;margin:10 0 0 5px;font-family:verdana;font-size:11px;text-align:center;cursor:pointer;"+m+'">'+f+"<br/>";if(l){k+='<img src="'+this.opts.imgPath+"/jpeg/"+l.part[this.updTim].value+'.jpg" style="border:0px;width:30px;height:30px;"/><br/>'}else{k+='<div style="height:10px;"></div>'}k+='  <div style="font-family:arial;font-size:9px;">'+n+"</div></div>"}else{a=$(this.opts.dayLayout);if(g===this.updDay){a.addClass("select")}a.css("cursor","pointer").attr("id",this.idBox+"_"+g).addClass("mboxDay");$(".dayDescCls",a).html(f+" "+e.getDate()).show();if(l){$(".dayImgCls",a).html('<img class="dayImgCls" src="'+this.opts.imgPath+"/s"+l.part[this.updTim].value+'.png" height="'+o.opts.imgBoxHeight+'" width="'+o.opts.imgBoxWidth+'"/>').show()}$("#"+this.opts.idFields.daysMt).append(a)}}}if(!this.opts.initLayout){$("#"+this.idDays).html(k)}$(".mboxDay",this.sel).bind("click",function(){var b=this.id.split("_"),d=b[b.length-1];o.eventFire("dayclickbefore",{day:d});o.updateBox(d,o.updTim);o.eventFire("dayclickafter",{day:d})})},closeMeteo:function(){this.eventFire("close",{});this.pgMappy.removeLayer(this)},removeAllSymbols:function(){var a=this;$.each(this.sLst,function(c,b){a.deletePoint(this)});this.sLst=[]},remove:function(){this.removeMe=true;if(this.sel){this.sel.remove();this.sel=null}this.removeAllSymbols()}};SEAT.PGUtil.augment(SEAT.PGMeteo,SEAT.LayerBase);SEAT.PGUtil.augment(SEAT.PGMeteo,SEAT.DragDropMgr);SEAT.PGUtil.augment(SEAT.PGMeteo,SEAT.EventMgr);
