(function(C){C.widget("ui.weekCalendar",{_init:function(){var D=this;D._computeOptions();D._setupEventDelegation();D._renderCalendar();D._loadCalEvents();D._resizeCalendar();D._scrollToHour(D.options.date.getHours());C(window).unbind("resize.weekcalendar");C(window).bind("resize.weekcalendar",function(){D._resizeCalendar()})},refresh:function(){this._clearCalendar();this._loadCalEvents(this.element.data("startDate"))},clear:function(){this._clearCalendar()},today:function(){this._clearCalendar();this._loadCalEvents(new Date())},prevWeek:function(){var D=new Date(this.element.data("startDate").getTime()-(B/6));this._clearCalendar();this._loadCalEvents(D)},nextWeek:function(){var D=new Date(this.element.data("startDate").getTime()+B+(B/7));this._clearCalendar();this._loadCalEvents(D)},gotoWeek:function(D){this._clearCalendar();this._loadCalEvents(D)},removeEvent:function(D){this.element.find(".cal-event").each(function(){if(C(this).data("calEvent").id===D){C(this).fadeOut(function(){C(this).remove()});return false}})},removeUnsavedEvents:function(){this.element.find(".new-cal-event").fadeOut(function(){C(this).remove()})},updateEvent:function(D){this._updateEventInCalendar(D)},getTimeslotTimes:function(G){var F=this.options;var E=F.businessHours.limitDisplay?F.businessHours.start:0;var D=new Date(G.getFullYear(),G.getMonth(),G.getDate(),E);var K=[];var I=D.getTime();for(var H=0;H<F.timeslotsPerDay;H++){var J=I+F.millisPerTimeslot;K[H]={start:new Date(I),startFormatted:this._formatDate(new Date(I),F.timeFormat),end:new Date(J),endFormatted:this._formatDate(new Date(J),F.timeFormat)};I=J}return K},formatDate:function(D,E){if(E){return this._formatDate(D,E)}else{return this._formatDate(D,this.options.dateFormat)}},formatTime:function(D,E){if(E){return this._formatDate(D,E)}else{return this._formatDate(D,this.options.timeFormat)}},getData:function(D){return this._getData(D)},_computeOptions:function(){var D=this.options;if(D.businessHours.limitDisplay){D.timeslotsPerDay=D.timeslotsPerHour*(D.businessHours.end-D.businessHours.start);D.millisToDisplay=(D.businessHours.end-D.businessHours.start)*60*60*1000;D.millisPerTimeslot=D.millisToDisplay/D.timeslotsPerDay}else{D.timeslotsPerDay=D.timeslotsPerHour*24;D.millisToDisplay=A;D.millisPerTimeslot=A/D.timeslotsPerDay}},_resizeCalendar:function(){var E=this.options;if(E&&C.isFunction(E.height)){var G=E.height(this.element);var D=this.element.find(".week-calendar-header").outerHeight();var F=this.element.find(".calendar-nav").outerHeight();this.element.find(".calendar-scrollable-grid").height(G-F-D)}},_setupEventDelegation:function(){var D=this;var E=this.options;this.element.click(function(G){var F=C(G.target);if(F.data("preventClick")){return }if(F.hasClass("cal-event")){E.eventClick(F.data("calEvent"),F,G)}else{if(F.parent().hasClass("cal-event")){E.eventClick(F.parent().data("calEvent"),F.parent(),G)}}}).mouseover(function(G){var F=C(G.target);if(D._isDraggingOrResizing(F)){return }if(F.hasClass("cal-event")){E.eventMouseover(F.data("calEvent"),F,G)}}).mouseout(function(G){var F=C(G.target);if(D._isDraggingOrResizing(F)){return }if(F.hasClass("cal-event")){if(F.data("sizing")){return }E.eventMouseout(F.data("calEvent"),F,G)}})},_isDraggingOrResizing:function(D){return D.hasClass("ui-draggable-dragging")||D.hasClass("ui-resizable-resizing")},_renderCalendar:function(){var J,O,M,I,K;var L=this;var N=this.options;J=C('<div class="week-calendar">').appendTo(L.element);

if(N.buttons) {
    var todayDate = new Date();
    var todayDay = todayDate.getDate();
    var todayMonth = todayDate.getMonth() + 1;
    var todayYear = todayDate.getFullYear();
    var strSplitter = "-";
    var strTodayDate = todayYear + strSplitter + todayMonth + strSplitter + todayDay;
    
    O = '<div class="calendar-nav">'
        + '<button class="today">' + N.buttonText.today + '</button>' 
        + '<button class="prev">' + N.buttonText.lastWeek + '</button>' 
        + '<button class="next">' + N.buttonText.nextWeek + '</button>' 
        + '<input type="text" name="gotoDate" id="gotoDate" value="' + strTodayDate + '" style="margin-left:100px">'
        + '<button class="goto">' + N.buttonText.gotoWeek + '</button>' 
        + '</div>';

    C(O).appendTo(J);

    J.find(".calendar-nav .today").click(function(){
        L.element.weekCalendar("today");
        return false;
    });

    J.find(".calendar-nav .prev").click(function(){
        L.element.weekCalendar("prevWeek");
        return false;
    });

    J.find(".calendar-nav .next").click(function(){
        L.element.weekCalendar("nextWeek");
        return false;
    });

    J.find(".calendar-nav .goto").click(function(){
        var strDate = document.getElementById('gotoDate').value;
        var splitter = "-";
        var firstIndexOfSplitter = strDate.indexOf(splitter);
        var lastIndexOfSplitter = strDate.lastIndexOf(splitter);
        var strYear = strDate.substring(0, firstIndexOfSplitter);
        var strMonth = strDate.substring(firstIndexOfSplitter + 1, lastIndexOfSplitter);
        var strDay = strDate.substring(lastIndexOfSplitter + 1);
        var year = parseInt(strYear);
        var month = parseInt(strMonth) - 1;
        var day = parseInt(strDay);
        L.element.weekCalendar("gotoWeek", new Date(year, month, day));
        return false;
    });
}

M='<table class="week-calendar-header"><tbody><tr><td class="time-column-header"></td>';for(var H=1;H<=7;H++){M+='<td class="day-column-header day-'+H+'"></td>'}M+='<td class="scrollbar-shim"></td></tr></tbody></table>';I='<div class="calendar-scrollable-grid">                <table class="week-calendar-time-slots">                <tbody>                <tr>                <td class="grid-timeslot-header"></td>                <td colspan="7">                <div class="time-slot-wrapper">                <div class="time-slots">';var E=N.businessHours.limitDisplay?N.businessHours.start:0;var F=N.businessHours.limitDisplay?N.businessHours.end:24;for(var H=E;H<F;H++){for(var G=0;G<N.timeslotsPerHour-1;G++){I+='<div class="time-slot"></div>'}I+='<div class="time-slot hour-end"></div>'}I+='</div></div></td></tr><tr><td class="grid-timeslot-header">';for(var H=E;H<F;H++){var D=(N.businessHours.start<=H&&N.businessHours.end>H)?"business-hours":"";I+='<div class="hour-header '+D+'">';if(N.use24Hour){I+='<div class="time-header-cell">'+L._24HourForIndex(H)+"</div>"}else{I+='<div class="time-header-cell">'+L._hourForIndex(H)+'<span class="am-pm">'+L._amOrPm(H)+"</span></div>"}I+="</div>"}I+="</td>";for(var H=1;H<=7;H++){I+='<td class="day-column day-'+H+'"><div class="day-column-inner"></div></td>'}I+="</tr></tbody></table></div>";C(M+I).appendTo(J);K=J.find(".day-column-inner");K.each(function(P,Q){C(this).height(N.timeslotHeight*N.timeslotsPerDay);if(!N.readonly){L._addDroppableToWeekDay(C(this));L._setupEventCreationForWeekDay(C(this))}});J.find(".time-slot").height(N.timeslotHeight-1);J.find(".time-header-cell").css({height:(N.timeslotHeight*N.timeslotsPerHour)-11,padding:5})},_setupEventCreationForWeekDay:function(D){var E=this;var F=this.options;

D.mousedown( function(L) {
    /*var G = C(L.target);
    if(G.hasClass("day-column-inner")) {
        var J = C('<div class="cal-event new-cal-event new-cal-event-creating"></div>');
        J.css({
            lineHeight : (F.timeslotHeight-2)+"px",
            fontSize : (F.timeslotHeight/2)+"px"
        });
        G.append(J);
        var K = G.offset().top;
        var M = L.pageY - K;
        var H = (M-(M%F.timeslotHeight))/F.timeslotHeight;
        var I = H*F.timeslotHeight;
        J.css({top:I});

        G.bind("mousemove.newevent",
            function(P) {
                J.show();
                J.addClass("ui-resizable-resizing");
                var N = Math.round(P.pageY-K-I);
                var Q = N%F.timeslotHeight;
                if(Q<(N/2)) {
                    var O=N-Q;
                    J.css("height",O<F.timeslotHeight?F.timeslotHeight:O)
                } else {
                    J.css("height",N+(F.timeslotHeight-Q))
                }
            }
        ).mouseup(
            function() {
                G.unbind("mousemove.newevent");
                J.addClass("ui-corner-all")
            }
        ) 
    
    }*/
}).mouseup( function(M) {
    /*var H = C(M.target);
    var G = H.closest(".day-column-inner");
    var L=G.find(".new-cal-event-creating");
    if(L.length) {
        if(!L.hasClass("ui-resizable-resizing")) {
            L.css({height:F.timeslotHeight*F.defaultEventLength}).show()
        }
        var N = parseInt(L.css("top"));
        var J = E._getEventDurationFromPositionedEventElement(G,L,N);
        L.remove();
        var K = {start:J.start,end:J.end,title:F.newEventText};
        var I = E._renderEvent(K,G);
        if(!F.allowCalEventOverlap) {
            E._adjustForEventCollisions(G,I,K,K);
            E._positionEvent(G,I)
        } else {
            E._adjustOverlappingEvents(G)
        }
        F.eventNew(J,I)
    }*/
})

},_loadCalEvents:function(I){var H,D,J,E;var F=this;var G=this.options;H=I||G.date;D=F._dateFirstDayOfWeek(H);weekEndDate=F._dateLastMilliOfWeek(H);G.calendarBeforeLoad(F.element);F.element.data("startDate",D);F.element.data("endDate",weekEndDate);E=F.element.find(".day-column-inner");F._updateDayColumnHeader(E);if(typeof G.data=="string"){if(G.loading){G.loading(true)}var K={};K[G.startParam||"start"]=Math.round(D.getTime()/1000);K[G.endParam||"end"]=Math.round(weekEndDate.getTime()/1000);C.getJSON(G.data,K,function(L){F._renderEvents(L,E);if(G.loading){G.loading(false)}})}else{if(C.isFunction(G.data)){G.data(D,weekEndDate,function(L){F._renderEvents(L,E)})}else{if(G.data){F._renderEvents(G.data,E)}}}F._disableTextSelect(E)},_updateDayColumnHeader:function(D){var E=this;var F=this.options;var G=E._cloneDate(E.element.data("startDate"));E.element.find(".week-calendar-header td.day-column-header").each(function(I,J){var H=F.useShortDayNames?F.shortDays[G.getDay()]:F.longDays[G.getDay()];C(this).html(H+"<br/>"+E._formatDate(G,F.dateFormat));if(E._isToday(G)){C(this).addClass("today")}else{C(this).removeClass("today")}G=E._addDays(G,1)});G=E._dateFirstDayOfWeek(E._cloneDate(E.element.data("startDate")));D.each(function(H,I){C(this).data("startDate",E._cloneDate(G));C(this).data("endDate",new Date(G.getTime()+(A-1)));if(E._isToday(G)){C(this).parent().addClass("today")}else{C(this).parent().removeClass("today")}G=E._addDays(G,1)})},_renderEvents:function(H,D){var E=this;var G=this.options;var F;if(C.isArray(H)){F=E._cleanEvents(H)}else{if(H.events){F=E._cleanEvents(H.events)}}if(H.options){var I=false;C.each(H.options,function(J,K){if(K!==G[J]){G[J]=K;I=true}});E._computeOptions();if(I){E.element.empty();E._renderCalendar();D=E.element.find(".week-calendar-time-slots .day-column-inner");E._updateDayColumnHeader(D);E._resizeCalendar()}}C.each(F,function(K,L){var J=E._findWeekDayForEvent(L,D);if(J){E._renderEvent(L,J)}});D.each(function(){E._adjustOverlappingEvents(C(this))});G.calendarAfterLoad(E.element);if(!F.length){G.noEvents()}},_renderEvent:function(K,D){var E=this;var G=this.options;if(K.start.getTime()>K.end.getTime()){return }var I,F,H,J;I=K.id?"cal-event":"cal-event new-cal-event";F='<div class="'+I+' ui-corner-all">                <div class="time ui-corner-all"></div>                <div class="title"></div></div>';H=C(F);J=G.eventRender(K,H);H=J?J.appendTo(D):H.appendTo(D);H.css({lineHeight:(G.timeslotHeight-2)+"px",fontSize:(G.timeslotHeight/2)+"px"});E._refreshEventDetails(K,H);E._positionEvent(D,H);H.show();if(!G.readonly&&false/*G.resizable(K,H)*/){E._addResizableToCalEvent(K,H,D)}if(!G.readonly&&false/*G.draggable(K,H)*/){E._addDraggableToCalEvent(K,H)}G.eventAfterRender(K,H);return H},_adjustOverlappingEvents:function(E){var F=this;if(F.options.allowCalEventOverlap){var D=F._groupOverlappingEventElements(E);C.each(D,function(){var I=this.length;var J=this;if(F.options.overlapEventsSeparate){var G=100/I;var H=G}else{var G=(100-(I*10));var H=(100-G)/(I-1)}C.each(this,function(K){var L=(K*H);if(!F.options.overlapEventsSeparate){C(this).bind("mouseover.z-index",function(){var M=C(this);C.each(J,function(){C(this).css({"z-index":"1"})});M.css({"z-index":"3"})})}C(this).css({width:G+"%",left:L+"%",right:0})})})}},_groupOverlappingEventElements:function(E){var L=this;var I=E.find(".cal-event");var D=I.sort(function(P,O){return C(P).data("calEvent").start.getTime()-C(O).data("calEvent").start.getTime()});var J;var F=[];var K=[];var N;var G=0;var M=0;var H=0;C.each(D,function(){N=C(this);G=N.data("calEvent").start.getTime();M=N.data("calEvent").end.getTime();N.css({width:"100%",left:"0%",right:"","z-index":"1"});N.unbind("mouseover.z-index");if(N.data("calEvent").start.getTime()<H){return }C.each(D,function(){if(N.data("calEvent").id==C(this).data("calEvent").id||G>C(this).data("calEvent").start.getTime()+1||M<C(this).data("calEvent").start.getTime()+1){return }if(C(this).data("calEvent").end.getTime()>M){M=C(this).data("calEvent").end.getTime()}if(C.inArray(C(this),K)==-1){K.push(C(this))}if(C.inArray(N,K)==-1){K.push(N)}});if(K.length){K.sort(function(P,O){if(C(P).data("calEvent").start.getTime()>C(O).data("calEvent").start.getTime()){return 1}else{if(C(P).data("calEvent").start.getTime()<C(O).data("calEvent").start.getTime()){return -1}else{return(C(P).data("calEvent").end.getTime()-C(P).data("calEvent").start.getTime())-(C(O).data("calEvent").end.getTime()-C(O).data("calEvent").start.getTime())}}});F.push(K);K=[];H=M}});return F},_compareGroups:function(E,D){if(E.length!=D.length){return false}for(var F=0;F<E.length;F++){if(E[F].data("calEvent").id!=D[F].data("calEvent").id){return false}}return true},_findWeekDayForEvent:function(F,E){var D;E.each(

function() {
    if( C(this).data("startDate").getTime() <= F.start.getTime() && C(this).data("endDate").getTime() >= F.end.getTime() ) {
        D = C(this);
        return false
    }
}

);return D},_updateEventInCalendar:function(G){var E=this;var F=this.options;E._cleanEvent(G);if(G.id){E.element.find(".cal-event").each(function(){if(C(this).data("calEvent").id===G.id||C(this).hasClass("new-cal-event")){C(this).remove();return false}})}var D=E._findWeekDayForEvent(G,E.element.find(".week-calendar-time-slots .day-column-inner"));if(D){E._renderEvent(G,D);E._adjustOverlappingEvents(D)}},_positionEvent:function(F,I){var M=this.options;var L=I.data("calEvent");var J=F.height()/M.millisToDisplay;var G=M.businessHours.limitDisplay?M.businessHours.start:0;var H=L.start.getTime()-new Date(L.start.getFullYear(),L.start.getMonth(),L.start.getDate(),G).getTime();var E=L.end.getTime()-L.start.getTime();var K=J*H;var D=J*E;I.css({top:K,height:D})},_getEventDurationFromPositionedEventElement:function(E,I,H){var G=this.options;var D=G.businessHours.limitDisplay?G.businessHours.start*60*60*1000:0;var J=new Date(E.data("startDate").getTime()+D+Math.round(H/G.timeslotHeight)*G.millisPerTimeslot);var F=new Date(J.getTime()+(I.height()/G.timeslotHeight)*G.millisPerTimeslot);return{start:J,end:F}},_adjustForEventCollisions:function(E,H,I,G,F){var L=this.options;if(L.allowCalEventOverlap){return }var K,D;var J=this;E.find(".cal-event").not(H).each(function(){var M=C(this).data("calEvent");if(I.start.getTime()<M.end.getTime()&&I.end.getTime()>=M.end.getTime()){K=M.end}if(I.end.getTime()>M.start.getTime()&&I.start.getTime()<=M.start.getTime()){D=M.start}if(I.end.getTime()<=M.end.getTime()&&I.start.getTime()>=M.start.getTime()){K=G.start;D=G.end;return false}});I.start=K||I.start;if(K&&F){I.end=new Date(K.getTime()+(G.end.getTime()-G.start.getTime()));J._adjustForEventCollisions(E,H,I,G)}else{I.end=D||I.end}if(I.start.getTime()>=I.end.getTime()){I.start=G.start;I.end=G.end}H.data("calEvent",I)},_addDraggableToCalEvent:function(H,G){var E=this;var F=this.options;var D=E._findWeekDayForEvent(H,E.element.find(".week-calendar-time-slots .day-column-inner"));

/*G.draggable( {
    handle:".time",
    containment:".calendar-scrollable-grid",
    revert:"valid",
    opacity:0.5,
    grid:[G.outerWidth()+1,F.timeslotHeight],
    start:function(I,J){var K=J.draggable;F.eventDrag(H,K)} 
})*/

},_addDroppableToWeekDay:function(D){var E=this;var F=this.options;



/*D.droppable( {
    accept:".cal-event",
    drop:function(H,M) {
        var J=M.draggable;
        var L=Math.round(parseInt(M.position.top));
        var I=E._getEventDurationFromPositionedEventElement(D,J,L);
        var K=J.data("calEvent");
        var N=C.extend(true,{start:I.start,end:I.end},K);
        E._adjustForEventCollisions(D,J,N,K,true);
        var O=E.element.find(".day-column-inner");
        var G=E._renderEvent(N,E._findWeekDayForEvent(N,O));
        J.hide();
        F.eventDrop(N,K,G);
        J.data("preventClick",true);
        setTimeout( function() {
            var P=E._findWeekDayForEvent(J.data("calEvent"),E.element.find(".week-calendar-time-slots .day-column-inner"));
            J.remove();
            if(P.data("startDate")!=D.data("startDate")) {
                E._adjustOverlappingEvents(P)
            }
            E._adjustOverlappingEvents(D)
        }, 500)
    }
})*/

},_addResizableToCalEvent:function(H,G,D){var E=this;var F=this.options;

/*G.resizable ( {
    grid:F.timeslotHeight,
    containment:D,
    handles:"s",
    minHeight:F.timeslotHeight,
    stop:function(K,L) {
        var M=L.element;
        var J=new Date(M.data("calEvent").start.getTime()+(M.height()/F.timeslotHeight)*F.millisPerTimeslot);
        var I=C.extend(true,{start:H.start,end:J},H);
        E._adjustForEventCollisions(D,M,I,H);
        E._refreshEventDetails(I,M);
        E._positionEvent(D,M);
        F.eventResize(I,H,M);
        M.data("preventClick",true);
        setTimeout(function(){M.removeData("preventClick")},500)
    }
})*/

},_refreshEventDetails:function(G,F){var D=this;var E=this.options;F.find(".time").text(D._formatDate(G.start,E.timeFormat)+E.timeSeparator+D._formatDate(G.end,E.timeFormat));F.find(".title").text(G.title);F.data("calEvent",G)},_clearCalendar:function(){this.element.find(".day-column-inner div").remove()},_scrollToHour:function(E){var F=this;var G=this.options;var H=this.element.find(".calendar-scrollable-grid");var I=E;if(F.options.businessHours.limitDisplay){if(E<F.options.businessHours.start){I=0}else{if(E>F.options.businessHours.end){I=F.options.businessHours.end-F.options.businessHours.start-1}}}var D=this.element.find(".grid-timeslot-header .hour-header:eq("+I+")");H.animate({scrollTop:0},0,function(){var K=D.offset().top;var J=K-H.offset().top-D.outerHeight();H.animate({scrollTop:J},G.scrollToHourMillis)})},_hourForIndex:function(D){if(D===0){return 12}else{if(D<13){return D}else{return D-12}}},_24HourForIndex:function(D){if(D===0){return"00:00"}else{if(D<10){return"0"+D+":00"}else{return D+":00"}}},_amOrPm:function(D){return D<12?"AM":"PM"},_isToday:function(E){var F=this._cloneDate(E);this._clearTime(F);var D=new Date();this._clearTime(D);return D.getTime()===F.getTime()},_cleanEvents:function(E){var D=this;C.each(E,function(F,G){D._cleanEvent(G)});return E},_cleanEvent:function(D){if(D.date){D.start=D.date}D.start=this._cleanDate(D.start);D.end=this._cleanDate(D.end);if(!D.end){D.end=this._addDays(this._cloneDate(D.start),1)}},_disableTextSelect:function(D){D.each(function(){if(C.browser.mozilla){C(this).css("MozUserSelect","none")}else{if(C.browser.msie){C(this).bind("selectstart",function(){return false})}else{C(this).mousedown(function(){return false})}}})},_dateFirstDayOfWeek:function(E){var D=this;var F=new Date(E.getFullYear(),E.getMonth(),E.getDate());var G=D._getAdjustedDayIndex(F)*86400000;return new Date(F.getTime()-G)},_dateLastDayOfWeek:function(E){var D=this;var F=new Date(E.getFullYear(),E.getMonth(),E.getDate());var G=(6-D._getAdjustedDayIndex(F))*A;return new Date(F.getTime()+G)},_getAdjustedDayIndex:function(E){var F=new Date(E.getFullYear(),E.getMonth(),E.getDate());var D=F.getDay();var G=[0,1,2,3,4,5,6];this._rotate(G,this.options.firstDayOfWeek);return G[D]},_dateLastMilliOfWeek:function(D){var E=this._dateLastDayOfWeek(D);return new Date(E.getTime()+(A-1))},_clearTime:function(D){D.setHours(0);D.setMinutes(0);D.setSeconds(0);D.setMilliseconds(0);return D},_addDays:function(E,F,D){E.setDate(E.getDate()+F);if(D){return E}return this._clearTime(E)},_rotate:function(F,H){for(var E=F.length,H=(Math.abs(H)>=E&&(H%=E),H<0&&(H+=E),H),G,D;H;H=(Math.ceil(E/H)-1)*H-E+(E=H)){for(G=E;G>H;D=F[--G],F[G]=F[G-H],F[G-H]=D){}}return F},_cloneDate:function(D){return new Date(+D)},_cleanDate:function(D){if(typeof D=="string"){return C.weekCalendar.parseISO8601(D,true)||Date.parse(D)||new Date(parseInt(D))}if(typeof D=="number"){return new Date(D)}return D},_formatDate:function(F,I){var E=this.options;var H="";for(var G=0;G<I.length;G++){var D=I.charAt(G);if(C.isFunction(this._replaceChars[D])){H+=this._replaceChars[D](F,E)}else{H+=D}}return H},_replaceChars:{d:function(D){return(D.getDate()<10?"0":"")+D.getDate()},D:function(E,D){return D.shortDays[E.getDay()]},j:function(D){return D.getDate()},l:function(E,D){return D.longDays[E.getDay()]},N:function(D){return D.getDay()+1},S:function(D){return(D.getDate()%10==1&&D.getDate()!=11?"st":(D.getDate()%10==2&&D.getDate()!=12?"nd":(D.getDate()%10==3&&D.getDate()!=13?"rd":"th")))},w:function(D){return D.getDay()},z:function(D){return"Not Yet Supported"},W:function(D){return"Not Yet Supported"},F:function(E,D){return D.longMonths[E.getMonth()]},m:function(D){return(D.getMonth()<9?"0":"")+(D.getMonth()+1)},M:function(E,D){return D.shortMonths[E.getMonth()]},n:function(D){return D.getMonth()+1},t:function(D){return"Not Yet Supported"},L:function(D){return"Not Yet Supported"},o:function(D){return"Not Supported"},Y:function(D){return D.getFullYear()},y:function(D){return(""+D.getFullYear()).substr(2)},a:function(D){return D.getHours()<12?"am":"pm"},A:function(D){return D.getHours()<12?"AM":"PM"},B:function(D){return"Not Yet Supported"},g:function(D){return D.getHours()%12||12},G:function(D){return D.getHours()},h:function(D){return((D.getHours()%12||12)<10?"0":"")+(D.getHours()%12||12)},H:function(D){return(D.getHours()<10?"0":"")+D.getHours()},i:function(D){return(D.getMinutes()<10?"0":"")+D.getMinutes()},s:function(D){return(D.getSeconds()<10?"0":"")+D.getSeconds()},e:function(D){return"Not Yet Supported"},I:function(D){return"Not Supported"},O:function(D){return(D.getTimezoneOffset()<0?"-":"+")+(D.getTimezoneOffset()/60<10?"0":"")+(D.getTimezoneOffset()/60)+"00"},T:function(D){return"Not Yet Supported"},Z:function(D){return D.getTimezoneOffset()*60},c:function(D){return"Not Yet Supported"},r:function(D){return D.toString()},U:function(D){return D.getTime()/1000}}});C.extend(C.ui.weekCalendar,{version:"1.2.1",getter:["getTimeslotTimes","getData","formatDate","formatTime"],defaults:{date:new Date(),timeFormat:"h:i a",dateFormat:"M d, Y",use24Hour:false,firstDayOfWeek:0,useShortDayNames:false,timeSeparator:" to ",startParam:"start",endParam:"end",businessHours:{start:8,end:18,limitDisplay:false},newEventText:"New Event",timeslotHeight:20,defaultEventLength:2,timeslotsPerHour:4,buttons:true,

buttonText : {
    today : "today",
    lastWeek : "&nbsp;&lt;&nbsp;",
    nextWeek : "&nbsp;&gt;&nbsp;",
    gotoWeek : "&nbsp; Go To Week &nbsp;"
},

scrollToHourMillis:500,allowCalEventOverlap:false,overlapEventsSeparate:false,readonly:false,draggable:function(E,D){return true},resizable:function(E,D){return true},eventClick:function(){},eventRender:function(E,D){return D},eventAfterRender:function(E,D){return D},eventDrag:function(E,D){},eventDrop:function(E,D){},eventResize:function(E,D){},eventNew:function(E,D){},eventMouseover:function(E,D){},eventMouseout:function(E,D){},calendarBeforeLoad:function(D){},calendarAfterLoad:function(D){},noEvents:function(){},shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],longMonths:["January","February","March","April","May","June","July","August","September","October","November","December"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],longDays:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]}});var A=86400000;var B=A*7;C.weekCalendar=function(){return{parseISO8601:function(F,D){var G="([0-9]{4})(-([0-9]{2})(-([0-9]{2})(T([0-9]{2}):([0-9]{2})(:([0-9]{2})(.([0-9]+))?)?(Z|(([-+])([0-9]{2}):([0-9]{2})))?)?)?)?";var I=F.match(new RegExp(G));if(!I){return null}var H=0;var E=new Date(I[1],0,1);if(I[3]){E.setMonth(I[3]-1)}if(I[5]){E.setDate(I[5])}if(I[7]){E.setHours(I[7])}if(I[8]){E.setMinutes(I[8])}if(I[10]){E.setSeconds(I[10])}if(I[12]){E.setMilliseconds(Number("0."+I[12])*1000)}if(!D){if(I[14]){H=(Number(I[16])*60)+Number(I[17]);H*=((I[15]=="-")?1:-1)}H-=E.getTimezoneOffset()}return new Date(Number(E)+(H*60*1000))}}}()})(jQuery);
