/**
 * jCalendar 0.5
 *
 * Some code based on jQuery Date Picker (http://kelvinluck.com/assets/jquery/datePicker/)
 *
 * Copyright (c) 2007 Theodore Serbinski (http://tedserbinski.com)
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 * Modified by vjt@openssl.it to implement Visita CSA calendar features.
 */
jQuery.jcalendar=function(){var b=["Gennaio","Febbraio","Marzo","Aprile","Maggio","Giugno","Luglio","Agosto","Settembre","Ottobre","Novembre","Dicembre"];var i=["DOM","LUN","MAR","MER","GIO","VEN","SAB"];var c={p:'<img src="/images/calendar_prev.png" border="0" />',n:'<img src="/images/calendar_next.png" border="0" />',t:"Today"};var a=1;var g;var e;var f;var h=function(A,L,E,K,v){var x=function(){var P=arguments[0],Q=arguments[1],N=arguments[2];var O="/appuntamenti";if(P&&Q){O+="/"+P.val()+"/"+Q.val();if(N){O+="/"+N.val()}}window.location.href=O;return false};var I=new Date();var J;if(A==undefined){J=new Date(I.getFullYear(),I.getMonth(),1);v.val(I.getFullYear());K.val(I.getMonth()+1);E.val(I.getDate())}else{J=A;J.setDate(1)}if((J.getMonth()<g.getMonth()&&J.getFullYear()==g.getFullYear())||J.getFullYear()<g.getFullYear()){J=new Date(g.getFullYear(),g.getMonth(),1)}else{if((J.getMonth()>e.getMonth()&&J.getFullYear()==e.getFullYear())||J.getFullYear()>e.getFullYear()){J=new Date(e.getFullYear(),e.getMonth(),1)}}var z=true;var M=g.getDate();if(!(J.getMonth()==g.getMonth()&&J.getFullYear()==g.getFullYear())){z=false;var s=J.getMonth()==0?new Date(J.getFullYear()-1,11,1):new Date(J.getFullYear(),J.getMonth()-1,1);var p=jQuery('<a href="" class="link-prev">'+c.p+"</a>").click(function(){jQuery.jcalendar.changeMonth(s,this,E,K,v);return false})}var F=true;var w=e.getDate();if(!(J.getMonth()==e.getMonth()&&J.getFullYear()==e.getFullYear())){F=false;var j=new Date(J.getFullYear(),J.getMonth()+1,1);var G=jQuery('<a href="" class="link-next">'+c.n+"</a>").click(function(){jQuery.jcalendar.changeMonth(j,this,E,K,v);return false})}var r=jQuery('<a href="" class="link-today">'+b[J.getMonth()]+"</a>").click(function(){return x(v,K)});v.val(J.getFullYear());K.val(J.getMonth()+1);var u=jQuery("<div></div>");for(var D=a;D<a+7;D++){var m=D%7;var t=i[m];u.append('<span scope="col" abbr="'+t+'" title="'+t+'" class="'+(m==7||m==6?"weekend":"weekday")+'">'+t+"</span>")}u=jQuery("<div></div>").append(u);var o=jQuery("<tbody></tbody>");var l=(new Date(J.getFullYear(),J.getMonth()+1,0)).getDate();var q=a-J.getDay();if(q>0){q-=7}var H=I.getDate();var n=J.getMonth()==I.getMonth()&&J.getFullYear()==I.getFullYear();var k,B;do{var C=jQuery("<tr></tr>");for(var D=0;D<7;D++){var m=(a+D)%7;var y={"class":(m==0?"weekend ":"weekday "),id:"jday_"+(q+1)};if(q<0||q>=l){k=" ";y["class"]+="boo"}else{if(z&&q<M-1){k=q+1;y["class"]+="inactive"}else{if(F&&q>w-1){k=q+1;y["class"]+="inactive"}else{J.setDate(q+1);k=jQuery('<a href="" rel="'+J+'">'+(q+1)+"</a>").click(function(N){if(f){f.removeClass("selected")}f=jQuery(this);f.addClass("selected");E.val(new Date(f.attr("rel")).getDate());return x(v,K,E)});if(E.val()==J.getDate()){f=k;f.addClass("selected")}}}}B=jQuery("<div class='counter'></div>").click(function(N){if(f){f.removeClass("selected")}f=jQuery(this).siblings("a");f.addClass("selected");E.val(new Date(f.attr("rel")).getDate());return x(v,K,E)});if(n&&q+1==H){y["class"]+="today"}C.append(jQuery("<td></td>").attr(y).append(k).append(B));q++}o.append(C)}while(q<l);jQuery.getJSON("/appuntamenti/c?year="+J.getFullYear()+"&month="+(J.getMonth()+1),function(N){$(N).each(function(O,Q){var P=Q[0];var Q=Q[1];jQuery("div.jcalendar td#jday_"+P+" > div.counter").text(Q).fadeIn();jQuery("div.jcalendar td#jday_"+P+" > a").removeClass().addClass("badge")})});jQuery("div.jcalendar").html('<div class="jcalendar-links"></div><div class="jcalendar-headrow"></div><table cellspacing="1" cellpadding="0"></table>');jQuery("div.jcalendar > div.jcalendar-headrow").append(u);jQuery("div.jcalendar table").append(o);jQuery("div.jcalendar > div.jcalendar-links").append(p,r,G)};return{show:function(j,k,n,m){g=j._startDate;e=j._endDate;a=j._firstDayOfWeek;var l;if(m.val()>0&&n.val()>0&&k.val()>0){l=new Date(m.val(),n.val()-1,k.val())}else{l=null}h(l,j,k,n,m)},changeMonth:function(n,m,j,l,k){h(n,m,j,l,k)},setLanguageStrings:function(k,l,j){i=k;b=l;c=j},setDateWindow:function(k,j,l){if(j==undefined){j={}}if(j.startDate==undefined){k._startDate=new Date($(l).find("option:eq(1)").val(),0,1)}else{dateParts=j.startDate.split("-");k._startDate=new Date(dateParts[2],Number(dateParts[1])-1,Number(dateParts[0]))}if(j.endDate==undefined){k._endDate=new Date($(l).find("option:last").val(),11,1)}else{dateParts=j.endDate.split("-");k._endDate=new Date(dateParts[2],Number(dateParts[1])-1,Number(dateParts[0]))}k._firstDayOfWeek=j.firstDayOfWeek==undefined?1:j.firstDayOfWeek}}}();jQuery.fn.jcalendar=function(b){this.each(function(){var a=$(this).find("select.jcalendar-select-day");var e=$(this).find("select.jcalendar-select-month");var c=$(this).find("select.jcalendar-select-year");$("div.jcalendar-selects").after('<div class="jcalendar"></div>');jQuery.jcalendar.setDateWindow(this,b,c);jQuery.jcalendar.show(this,a,e,c);a.change(function(){if(this.value>0){d=new Date(c.val(),e.val()-1,this.value);jQuery.jcalendar.changeMonth(d,b,a,e,c)}});e.change(function(){if(this.value>0){d=new Date(c.val(),this.value-1,1);jQuery.jcalendar.changeMonth(d,b,a,e,c)}});c.change(function(){if(this.value>0){d=new Date(this.value,e.val()-1,1);jQuery.jcalendar.changeMonth(d,b,a,e,c)}})});return this};
