calendar=function(e,b,c,d){var a=this;if(d==undefined)var b=new Date(b*1e3);a.id=e;a.highlight=c;a.date_obj=b;a.write=a.build_calendar;a.month=b.getMonth();a.yearmonth=b.getFullYear();a.yearmonth+=(a.month+1).toString().length==1?"0"+(a.month+1).toString():(a.month+1).toString();a.date=b.getDate();a.day=b.getDay();a.year=b.getFullYear();a.hours=b.getHours();a.minutes=b.getMinutes();a.seconds=b.getSeconds();a.selected_date=c==false?"":a.year+""+a.month+""+a.date;b.setDate(1);a.firstDay=b.getDay();b.setDate(a.date)};calendar.prototype={build_calendar:function(){var f='<li class="day-number blank"></li>',d="</li>",a=this,g=a.month+1,e=path+lang+"/eventi/"+a.year+"/";e+=g.toString().length<2?"0":"";e+=g+".html";var b="";b='<div id="cal'+a.id+'">';b+='<p id="calendar-nav"><a href="javascript:void(0)" onClick="'+a.id+'.change_month(-1)">&laquo;</a>';b+='<a href="javascript:void(0)" onClick="'+a.id+'.change_month(+1)">&raquo;</a></p>';b+='<h5 class="title"><a class="navMonth" href="'+e+'">'+months[a.month]+" "+a.year+"</a></h5>";b+='<ul id="calendar">';days.each(function(a){b+='<li class="days">'+a+d});selDate=last_date!=""?last_date:a.date;for(j=0;j<42;j++){var c=(a.firstDay+7)%7==0?j-a.firstDay-5:j-a.firstDay+2;if(c<=0)b+=f;else if(j<a.firstDay-1)b+='<li class="day-number blank">'+c+d;else if(c==selDate&&a.highlight==true)b+='<li class="day-number selected" id="today">'+c+d;else if(c>a.total_days())b+=f;else b+='<li class="day-number">'+c+d}b+="</ul>";b+='<div class="float-fixer"></div></div>';return b},add_events:function(){new Ajax.Request(path+lang+"/ajax/getEventsMap/"+this.yearmonth,{method:"post",onSuccess:function(b){var a=b.responseText.evalJSON(true);$$(".day-number").each(function(c){var d="div";index=parseInt(c.innerHTML.stripTags());if(a.eventsmap[index]){cellid="e"+index;var b=new Element(d,{"class":"tooltip",id:cellid}),g=new Element(d,{"class":"tooltip-top"}),f=new Element(d,{"class":"tooltip-bottom"}),e=new Element(d,{"class":"tooltip-corp"});a.eventsmap[index].each(function(a){var b=new Element("a",{href:path+a.url}).update(a.titolo.escapeHTML()),c=new Element("p").update(a.luogo);e.appendChild(b);e.appendChild(c)});b.appendChild(g);b.appendChild(e);b.appendChild(f);b.style.position="absolute";b.style.bottom=(c.getWidth()-1)/2+"px";b.style.left=-(c.getWidth()-1)*3+"px";b.zIndex=1e4;c.update('<a href="javascript:void(0)" rel="'+cellid+'" class="calendar-event">'+index+"</a>");b.hide();c.appendChild(b);c.observe("mouseover",jtip.showtip)}})}})},total_days:function(){var a=this;switch(a.month){case 1:return a.date_obj.getFullYear()%4==0&&a.date_obj.getFullYear()%100!=0||a.date_obj.getFullYear()%400==0?29:28;case 3:case 5:case 8:case 10:return 30;default:return 31}},change_month:function(d){cal=this;if(current_month!=""){cal.date_obj.setMonth(current_month);cal.date_obj.setYear(current_year);current_month="";current_year=""}var b=cal.date_obj.getMonth()+d,a=cal.date_obj.getDate();if(b==12){cal.date_obj.setYear(cal.date_obj.getFullYear()+1);b=0}else if(b==-1){cal.date_obj.setYear(cal.date_obj.getFullYear()-1);b=11}if(a>28){var c=cal.date_obj.getFullYear();switch(b){case 1:if(c%4==0&&c%100!=0||c%400==0){if(a>29)a=29}else if(a>28)a=28;case 3:case 5:case 8:case 10:if(a>30)a=30;default:if(a>31)a=31}}cal.date_obj.setDate(a);cal.date_obj.setMonth(b);new_mdy=cal.date_obj.getFullYear()+""+cal.date_obj.getMonth()+""+cal.date;highlight=cal.selected_date==new_mdy?true:false;cal=new calendar(cal.id,cal.date_obj,highlight,true);document.getElementById("cal"+cal.id).innerHTML=cal.write();cal.add_events()},date_str:function(g){var a=this,b=a.month+1;if(b<10)b="0"+b;var c=a.date<10?"0"+a.date:a.date,d=a.minutes<10?"0"+a.minutes:a.minutes;if(format=="us")var e=a.hours>12?a.hours-12:a.hours,f=a.hours>11?"PM":"AM";else var e=a.hours,f="";return g=="y"?a.year+"-"+b+"-"+c+"  "+e+":"+d+" "+f:a.year+"-"+b+"-"+c}};
