function contaPlusone()
{_gaq.push(['_trackEvent','social','google','plusone',0]);}
var time=55000;function simulateDayTime(sunrise,sunset)
{var h=parseInt(time/60/60);var m=(time-(h*60*60))/60;$('#duomo').html('time:'+time+" -> "+h+":"+m);calcHB(time,sunrise,sunset);time+=20;var endDay=(23*60*60)+(59*60);if(time>endDay)
{window.clearInterval(x)}}
var x;function rgbToHex(R,G,B){return toHex(R)+toHex(G)+toHex(B)}
function toHex(n){n=parseInt(n,10);if(isNaN(n))return"00";n=Math.max(0,Math.min(n,255));return"0123456789ABCDEF".charAt((n-n%16)/16)+"0123456789ABCDEF".charAt(n%16);}
function calcHB(currtimeVal,sunrise,sunset)
{var d=new Date();var curr_hour=d.getHours();var curr_min=d.getMinutes();var curr_sec=d.getSeconds();var currtime=(curr_hour*60*60)+(curr_min*60)+curr_sec;if(currtimeVal)
{currtime=currtimeVal;}
var sunriseEnd=sunrise+(60*60);var sunsetStart=sunset-(60*60);var middleday=(12*60*60);var endDay=(23*60*60)+(59*60)+59;var daytime=new Array();daytime[0]=new Array(0,0,27,79,3);daytime[1]=new Array(sunrise,15,48,111,1.5);daytime[2]=new Array(sunriseEnd,249,219,136,0.2);daytime[3]=new Array(middleday,147,200,255,3);daytime[4]=new Array(sunsetStart,253,200,125,1.5);daytime[5]=new Array(sunset,15,48,111,0.2);daytime[6]=new Array(endDay,0,27,79,0);for(i=0;i<(daytime.length-1);i++)
{var dayPhase=daytime[i];var dayPhaseNext=daytime[i+1];if(currtime>dayPhase[0]&&currtime<=dayPhaseNext[0])
{var redD=dayPhaseNext[1]-dayPhase[1];var greenD=dayPhaseNext[2]-dayPhase[2];var blueD=dayPhaseNext[3]-dayPhase[3];if(dayPhase[4]>=1)
{var maxQuarters=(dayPhaseNext[0]-dayPhase[0])/60/5;var adjustOrder=1;}
else
{var maxQuarters=0;var adjustOrder=1;}
var currQuarters=(currtime-dayPhase[0])/60/5;var redCD=(Math.pow(dayPhase[4],currQuarters)*Math.abs(redD)/Math.pow(dayPhase[4],maxQuarters))*adjustOrder;var greenCD=(Math.pow(dayPhase[4],currQuarters)*Math.abs(greenD)/Math.pow(dayPhase[4],maxQuarters))*adjustOrder;var blueCD=(Math.pow(dayPhase[4],currQuarters)*Math.abs(blueD)/Math.pow(dayPhase[4],maxQuarters))*adjustOrder;if(redD>0)
{var redVal=dayPhase[4]>=1?parseInt(dayPhase[1]+redCD):parseInt(dayPhaseNext[1]-redCD);}
else
{var redVal=dayPhase[4]>=1?parseInt(dayPhase[1]-redCD):parseInt(dayPhaseNext[1]+redCD);}
if(greenD>0)
{var greenVal=dayPhase[4]>=1?parseInt(dayPhase[2]+greenCD):parseInt(dayPhaseNext[2]-greenCD);}
else
{var greenVal=dayPhase[4]>=1?parseInt(dayPhase[2]-greenCD):parseInt(dayPhaseNext[2]+greenCD);}
if(blueD>0)
{var blueVal=dayPhase[4]>=1?parseInt(dayPhase[3]+blueCD):parseInt(dayPhaseNext[3]-blueCD);}
else
{var blueVal=dayPhase[4]>=1?parseInt(dayPhase[3]-blueCD):parseInt(dayPhaseNext[3]+blueCD);}
if(currtimeVal)
{$("#headMeteo").css('background-color','#'+rgbToHex(redVal,greenVal,blueVal));}
else
{$('#headMeteo').animate({backgroundColor:"#"+rgbToHex(redVal,greenVal,blueVal)},500,'linear',function(){});}}}}
function loadMeteoCurrent()
{try
{$('#headMeteoCurrent').html('');}
catch(e){}
$.jsonp({url:"http://services.milano-italia.it/miServices/meteo?callback=?",data:{lat:45.464202,lon:9.189785,alt:110,t:'c'},cache:true,callback:"meteoCurrentCallback",success:function(data){calcHB(null,data.sunrise/1000,data.sunset/1000);var headMeteoCurrent=document.getElementById('headMeteoCurrent');var divCurrentDay=createDiv('currentDay');divCurrentDay.innerHTML=data.dow+' <span class="currentDayValue">'+data.dd+'</span> '+data.mmm;headMeteoCurrent.appendChild(divCurrentDay);var divCurrentCondition=createDiv('currentCondition');divCurrentCondition.innerHTML=data.cc.descriptionIta;headMeteoCurrent.appendChild(divCurrentCondition);var headMeteoCurrentShadow=document.getElementById('headMeteoCurrentShadow');var divCurrentDayShadow=createDiv('currentDayShadow');divCurrentDayShadow.innerHTML=data.dow+' '+data.dd+' '+data.mmm;headMeteoCurrentShadow.appendChild(divCurrentDayShadow);var divCurrentConditionShadow=createDiv('currentConditionShadow');divCurrentConditionShadow.innerHTML=data.cc.descriptionIta;headMeteoCurrentShadow.appendChild(divCurrentConditionShadow);initMetoAnimation(data);}});}
function loadMeteoForecast()
{try
{$('#headMeteoForecastData').html('');}
catch(e){}
$('#loadingMeteo').show('fast');$.jsonp({url:"http://services.milano-italia.it/miServices/meteo?callback=?",data:{lat:45.464202,lon:9.189785,alt:110,t:'f'},cache:true,callback:"meteoCallback",success:function(data){$('#loadingMeteo').hide();var headMeteoForecast=document.getElementById('headMeteoForecastData');var num=data.length>=5?5:data.length;for(i=0;i<num;i++)
{var dData=data[i];var divForecastDay=createDiv('forecastDay');headMeteoForecast.appendChild(divForecastDay);var divForecastDayImg=createDiv('forecastDayImg');divForecastDayImg.innerHTML='<img src="/images/meteo/'+(dData.wb.codeNum)+'_sm.png">';divForecastDay.appendChild(divForecastDayImg);var divForecastDayTxt=createDiv('forecastDayTxt');divForecastDayTxt.innerHTML=dData.dow.capitalize()+' <b>'+dData.dd+'</b>';divForecastDay.appendChild(divForecastDayTxt);}}});}
function loadMeteo()
{loadMeteoCurrent();}
function renderHeaderElement(callback)
{var puntoRiferimento=document.getElementById('headMeteoForecastToolbar');$('#duomo').css('left',(puntoRiferimento.offsetLeft));$('#duomo').animate({top:0,height:231},500,callback);}
function adjustHeader()
{var puntoRiferimento=document.getElementById('headMeteoForecastToolbar');$('#duomo').css('left',(puntoRiferimento.offsetLeft));var duomoLeft=document.getElementById('duomo').offsetLeft;$('#headMeteoCurrent').css('left',(duomoLeft+500));$('#headMeteoCurrentShadow').css('left',(duomoLeft+501));}
$(window).resize(function(){adjustHeader();});String.prototype.capitalize=function(){return this.replace(/(^|\s)([a-z])/g,function(m,p1,p2){return p1+p2.toUpperCase();});};function createDiv(classname,id)
{var obj=document.createElement("div");obj.setAttribute('className',classname);obj.setAttribute('class',classname);if(id!=null)
{obj.setAttribute('id',id);}
else
{obj.setAttribute('id',classname);}
return obj;}
function urlencode(str){return escape(str).replace('+','%2B').replace('%20','+').replace('*','%2A').replace('/','%2F').replace('@','%40');}
function urldecode(str){return unescape(str.replace('+',' '));}
function wsize(_width,_heigth)
{this.width=_width;this.height=_heigth;}
function getWindowSize(){var winW=630,winH=460;if(document.body&&document.body.offsetWidth){winW=document.body.offsetWidth;winH=document.body.offsetHeight;}
if(document.compatMode=='CSS1Compat'&&document.documentElement&&document.documentElement.offsetWidth){winW=document.documentElement.offsetWidth;winH=document.documentElement.offsetHeight;}
if(window.innerWidth&&window.innerHeight){winW=window.innerWidth;winH=window.innerHeight;}
return new wsize(winW,winH);}
