window.CivicWeb=window.CivicWeb||{};window.CivicWeb.Plugins=window.CivicWeb.Plugins||{},function(n,t){var f="icMeetingCalendar",a="3.7.1",u=!1,v=!1,i=null,r={meetingCalendar:"Meeting Calendar",meetings:"Meetings",previousMonth:"Previous Month",nextMonth:"Next Month",back:"Back",monthNames:[{full:"January",short:"Jan"},{full:"February",short:"Feb"},{full:"March",short:"Mar"},{full:"April",short:"Apr"},{full:"May",short:"May"},{full:"June",short:"Jun"},{full:"July",short:"Jul"},{full:"August",short:"Aug"},{full:"September",short:"Sep"},{full:"October",short:"Oct"},{full:"November",short:"Nov"},{full:"December",short:"Dec"}]},o=[],w=function(n){var r=e(parseInt(t(n.target).closest("div."+f+"[data-id]").attr("data-id"))),o=r.selectedMonth,i=new Date(o.year,o.month-1,1),u=new Date;r.selectedMonth={month:i.getMonth(),year:i.getFullYear(),currentMonth:i.getMonth()===u.getMonth()&&i.getFullYear()===u.getFullYear(),currentDay:u.getDate()};c(r);n.preventDefault()},b=function(n){var r=e(parseInt(t(n.target).closest("div."+f+"[data-id]").attr("data-id"))),o=r.selectedMonth,i=new Date(o.year,o.month+1,1),u=new Date;r.selectedMonth={month:i.getMonth(),year:i.getFullYear(),currentMonth:i.getMonth()===u.getMonth()&&i.getFullYear()===u.getFullYear(),currentDay:u.getDate()};c(r);n.preventDefault()},k=function(n){var i=e(parseInt(t(n.target).closest("div."+f+"[data-id]").attr("data-id")));h(i);i.meetingListContainer.css({display:"none"});i.calendarTable.css({display:""});n.preventDefault()},d=function(n){var r=e(parseInt(t(n.target).closest("div."+f+"[data-id]").attr("data-id"))),s=r.selectedMonth,o=r.data.findMonthData(s),a,c,l,u;if(o)for(a=r.calendarTable.outerHeight(),c=r.meetingListContainer,c.css({display:""}).height(a).find("div:gt(0)").remove(),r.calendarTable.css({display:"none"}),l=parseInt(t(n.target).text()),h(r,new Date(s.year,s.month,l)),u=0;u<o.meetings.length;u++)l===o.meetings[u].meetingDate.getDate()&&(c.append(t("<div><\/div>").attr({id:"icompassPublicMeetingCalendarMeeting"+o.meetings[u].id.toString(),"class":"icMeetingDetail"}).append(o.meetings[u].name)),typeof o.meetings[u].documents=="undefined"?t.ajax({url:i+"/api/meeting/"+o.meetings[u].id.toString()+"/publicmeetingdocuments",contentType:"application/javascript",dataType:"jsonp"}).done(function(n){r.data.addDocuments(n);p(r,n)}):p(r,o.meetings[u].documents));n.preventDefault()},s=function(){g()&&t(document).ready(function(){nt();o.forEach(it)})},g=function(){if(!(u=typeof t=="function"&&t().jquery===a)){var n=document.createElement("script");n.type="text/javascript";n.src="https://ajax.googleapis.com/ajax/libs/jquery/"+a+"/jquery.min.js";n.onreadystatechange=function(){u||document.readyState!=="complete"&&document.readyState!=="interactive"||(t=window.jQuery.noConflict(!0),u=!0,s())};n.onload=function(){u||(t=window.jQuery.noConflict(!0),u=!0,s())};document.getElementsByTagName("body")[0].appendChild(n)}return u},nt=function(){t('script[src*="/PublicMeetingCalendar."]').add('script[src*="/meetingcalendar"]').each(function(n){var s=t(this),h=n+1,u,r,e;i||(u=s.attr("src"),r=u.toLowerCase().indexOf("/js/"),r<0&&(r=u.toLowerCase().indexOf("/plugins/")),i=r>=0?u.substr(0,r):"");e=t("<div><\/div>").attr({"data-id":h}).addClass(f);s.after(e);o.push({id:h,container:e,label:null,calendarTable:null,meetingListContainer:null,selectedMonth:{month:0,year:0,currentMonth:!1,currentDay:0},options:{width:null},data:{values:[],add:function(n){this.fixDates(n);n&&n.length>0&&!this.containsMonthData(n)&&this.values.push({month:n[0].meetingDate.getMonth(),year:n[0].meetingDate.getFullYear(),meetings:n})},addDocuments:function(n){if(n&&n.length>0){var t=this.findMeeting(n[0].meetingId);t&&typeof t.documents=="undefined"&&(t.documents=n)}},containsMonthData:function(n){return this.findMonthData(n)!=null},findMonthData:function(n){var r=null,t,i;if(n&&(t={month:0,year:0},typeof n.month!="undefined"?(t.month=n.month,t.year=n.year):n.length&&n.length>0&&(t.month=n[0].meetingDate.getMonth(),t.year=n[0].meetingDate.getFullYear()),t.year>0))for(i=0;i<this.values.length;i++)if(t.month===this.values[i].month&&t.year===this.values[i].year){r=this.values[i];break}return r},findMeeting:function(n){var r=null,t,i;if(n)for(t=0;t<this.values.length;t++)if(this.values[t].meetings&&this.values[t].meetings.length)for(i=0;i<this.values[t].meetings.length;i++)if(this.values[t].meetings[i].id===n){r=this.values[t].meetings[i];break}return r},fixDates:function(n){var t,r,i;if(n&&typeof n.length!="undefined")for(t=0;t<n.length;t++)typeof n[t].meetingDate=="string"&&(n[t].meetingDate.indexOf("-")>0?(r=n[t].meetingDate.split("T"),i=r!=null&&r.length>0?r[0].split("-"):null,n[t].meetingDate=i!=null&&i.length>2?new Date(i[0],i[1]-1,i[2]):new Date(n[t].meetingDate)):n[t].meetingDate=new Date(n[t].meetingDate))}}})});tt()},tt=function(){v||(t("body").append(t("<link />").attr({rel:"stylesheet",type:"text/css",href:i+"/css/plugins/meetingcalendar?t="+(new Date).getTime().toString()})),v=!0)},it=function(n){var u,e,o,f;if(n){u=n.container;e=t("<div><\/div>").attr({"class":"icLabel"});u.append(e);var l=t("<tr><\/tr>").append(t("<td><\/td>").attr({colspan:7}).append(t("<div><\/div>").attr({"class":"icMonthCell"}).append(t("<div><\/div>").attr({"class":"icPrevious"}).append(t("<img />").attr({src:i+"/Global/Images/button_left.png",alt:r.previousMonth}).on("click",w))).append(t("<div><\/div>").attr({"class":"icNext"}).append(t("<img />").attr({src:i+"/Global/Images/button_right.png",alt:r.nextMonth}).on("click",b))).append(t("<div><\/div>").attr({"class":"icPublicMeetingCalendarPluginMonth"})))),a=t("<tr><\/tr>").append(t("<th><\/th>").text("Su")).append(t("<th><\/th>").text("Mo")).append(t("<th><\/th>").text("Tu")).append(t("<th><\/th>").text("We")).append(t("<th><\/th>").text("Th")).append(t("<th><\/th>").text("Fr")).append(t("<th><\/th>").text("Sa")),s=t("<table><\/table>").append(l).append(a);u.append(s);o=t("<div><\/div>").attr({"class":"icMeetingListContainer"}).css({display:"none"}).append(t("<div><\/div>").attr({"class":"icBack"}).append(t("<a><\/a>").attr({href:""}).on("click",k).text(r.back)));u.append(o);n.label=e;n.calendarTable=s;n.meetingListContainer=o;f=new Date;n.selectedMonth={month:f.getMonth(),year:f.getFullYear(),currentMonth:!0,currentDay:f.getDate()};h(n);c(n)}},e=function(n){return o.filter(function(t){return t.id===n})[0]},h=function(n,t){n.label.text(t?t.getDate().toString()+" "+r.monthNames[t.getMonth()].short+" "+t.getFullYear()+" "+r.meetings:r.meetingCalendar)},c=function(n){var i=n.selectedMonth,s=n.calendarTable,e,o;s.find("tr:gt(1)").remove();n.container.find(".icPublicMeetingCalendarPluginMonth").text(r.monthNames[i.month].full+" "+i.year.toString());var f=new Date(i.year,i.month,1).getDay(),h=new Date(i.year,i.month+1,0).getDate(),u=null;for(e=1;e<=h;e++){if((!u||f===0)&&(u&&s.append(u),u=t("<tr><\/tr>"),e===1))for(o=0;o<f;o++)u.append(t("<td><\/td>").attr({"class":"icBlankCell"}));if(u.append(t("<td><\/td>").attr({"class":"icDateCell"+(f===0||f===6?" icWeekendCell":"")+(i.currentMonth&&e===i.currentDay?" icTodayCell":"")}).text(e.toString())),e===h){for(o=f+1;o<7;o++)u.append(t("<td><\/td>").attr({"class":"icBlankCell"}));s.append(u)}f=(f+1)%7}l(n);rt(n)},rt=function(n){var r=n.selectedMonth;n.data.containsMonthData(r)?(y(n),l(n)):t.ajax({url:i+"/api/meetings/publicmeetings?month="+(r.month+1).toString()+"&year="+r.year.toString(),contentType:"application/javascript",dataType:"jsonp"}).done(function(t){n.data.add(t);y(n);l(n)})},l=function(n){var t="number"==typeof n.options.width?n.options.width:n.calendarTable.outerWidth();t>10?(n.container.css({display:""}),n.container.width(t),n.container.height(n.label.outerHeight()+n.calendarTable.outerHeight())):n.container.css({display:"inline-block"})},y=function(n){var e=n.selectedMonth,r=n.data.findMonthData(e),f,i,u;if(r)for(f=n.calendarTable,i=0;i<r.meetings.length;i++)u=r.meetings[i].meetingDate.getDate()-1,f.find("td.icDateCell:eq("+u+")").empty().append(t("<a><\/a>").attr({href:""}).on("click",d).text((u+1).toString()))},p=function(n,r){var f,u;if(r&&r.length>0)for(f=n.container.find(document.getElementById("icompassPublicMeetingCalendarMeeting"+r[0].meetingId.toString())),f.find(":gt(0)").remove(),u=0;u<r.length;u++)f.append(t("<div><\/div>").attr({"class":"icMeetingDocument"}).append(t("<a><\/a>").attr({href:i+"/filepro/documents/"+r[u].id.toString(),target:"_blank"}).text(r[u].name)))};(function(){n.runOnce||(n.runOnce=!0,s())})()}(window.CivicWeb.Plugins.PublicMeetingCalendar=window.CivicWeb.Plugins.PublicMeetingCalendar||{},window.jQuery)