1"use strict";var fix=new Date();!function(b){"function"==typeof define&&define.amd?define(["jquery"],b):b("object"==typeof exports?require("jquery"):jQuery)}(function(g){var f="calendar",j="plugin_"+f,i={modifier:"datetimepicker",day_name:["Su","Mo","Tu","We","Th","Fr","Sa"],day_first:0,month_name:["January","February","March","April","May","June","July","August","September","October","November","December"],paging:['<i class="prev"></i>','<i class="next"></i>'],unavailable:[],adapter:null,month:null,year:null,num_next_month:0,num_prev_month:0,num_of_week:6,onSelectDate:function(){}},h=function(a){var d=new Date(fix.getFullYear(),fix.getMonth());return this.options=a,this.$element=g(a.element),this.options.year=this.$element.data("year")||this.options.year||d.getFullYear(),this.options.month=this.$element.data("month")||this.options.month||d.getMonth()+1,this.options.month--,this.unavailable=[],this.init.call(this),this};h.prototype={init:function(){this.day_index=[],this.options.day_name=this.options.day_name.slice(this.options.day_first).concat(this.options.day_name.slice(0,this.options.day_first));for(var b=0;b<this.options.day_name.length;b++){this.day_index.push((this.options.day_first+b+7)%7)}this.update()},update:function(){var a=this,d=this.getMonths();"string"==typeof this.options.adapter?g.getJSON(this.options.adapter,{keys:g(d).map(function(){return this.year+"-"+(this.month<=8?"0":"")+(this.month+1)}).toArray()},function(b){a.unavailable=a.options.unavailable.concat(b),a.draw(d)}):(this.unavailable=this.options.unavailable,this.draw(d))},draw:function(d){this.$element.empty();for(var c in d){this.$element.append(this.getCalendar(d[c].month,d[c].year))}},getMonths:function(){for(var e=new Date(fix.getFullYear(),fix.getMonth()),d=[],k=this.options.month-this.options.num_prev_month;k<=this.options.month+this.options.num_next_month;k++){e.setFullYear(this.options.year),e.setMonth(k),d.push({month:e.getMonth(),year:e.getFullYear()})}return d},prevMonth:function(){this.options.month--,this.update()},nextMonth:function(){this.options.month++,this.update()},getCalendar:function(a,q){var p=this,o=new Date(fix.getFullYear(),fix.getMonth());o.setFullYear(q),o.setMonth(a),o.setDate(1);var n=o.getDay();o.setMonth(o.getMonth()+1),o.setDate(0);var m,l=o.getDate(),k=this.day_index.indexOf(n);return m=isNaN(this.options.num_of_week)?Math.ceil((k+l)/7):6,g("<div>").addClass(this.options.modifier).append([g("<div>").addClass("paging").append(function(){return[g("<span>").addClass("prev").append(p.options.paging[0]).click(function(){p.prevMonth()}),g("<div>").addClass("month-name").append([p.options.month_name[o.getMonth()],", ",o.getFullYear()]),g("<span>").addClass("next").append(p.options.paging[1]).click(function(){p.nextMonth()})]}),g("<table>").append(function(){return[g("<thead>").append(function(){return g(p.options.day_name).map(function(d,e){return g("<td>").append(e)}).toArray()}),g("<tbody>").append(function(){for(var c=[],b=0;m>b;b++){c.push(g("<tr>").append(function(){for(var r=[],e=0;7>e;e++){var d=new Date(fix.getFullYear(),fix.getMonth());d.setFullYear(q),d.setMonth(a),d.setDate(-k+(e+1)+7*b),r.push(g("<td>").addClass(function(){var s=[];return s.push(p.isAvailable(d.getDate(),d.getMonth()+1,d.getFullYear())?"available":"unavailable"),s.push(d.getMonth()==o.getMonth()?"cur-month":"near-month"),s.join(" ")}).data({date:d.getDate(),month:d.getMonth()+1,year:d.getFullYear()}).append(d.getDate()).click(function(){var s=g(this).data("date"),u=g(this).data("month"),t=g(this).data("year");p.options.onSelectDate.call(p,s,u,t)}))}return r}))}return c})]})])},isAvailable:function(l,k,o){for(var n in this.unavailable){var m=this.unavailable[n].split("-");if(3!==m.length){return !1}if(!("*"!=m[0]&&m[0]-o!==0||"*"!=m[1]&&m[1]-k!==0||"*"!=m[2]&&m[2]-l!==0)){return !1}}return !0}},g.fn[f]=function(a){return this.each(function(){var b=g(this).data(j);b||g(this).data(j,new h(g.extend({element:this},i,a))),"string"==typeof a&&g(this).data(j)[a].call(this)})}});
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.