//>>built
require({cache:{"url:dojox/widget/MultiSelectCalendar/MultiSelectCalendar.html":'\x3ctable cellspacing\x3d"0" cellpadding\x3d"0" class\x3d"dijitCalendarContainer" role\x3d"grid" dojoAttachEvent\x3d"onkeydown: _onKeyDown" aria-labelledby\x3d"${id}_year"\x3e\n\t\x3cthead\x3e\n\t\t\x3ctr class\x3d"dijitReset dijitCalendarMonthContainer" valign\x3d"top"\x3e\n\t\t\t\x3cth class\x3d\'dijitReset dijitCalendarArrow\' dojoAttachPoint\x3d"decrementMonth"\x3e\n\t\t\t\t\x3cimg src\x3d"${_blankGif}" alt\x3d"" class\x3d"dijitCalendarIncrementControl dijitCalendarDecrease" role\x3d"presentation"/\x3e\n\t\t\t\t\x3cspan dojoAttachPoint\x3d"decreaseArrowNode" class\x3d"dijitA11ySideArrow"\x3e-\x3c/span\x3e\n\t\t\t\x3c/th\x3e\n\t\t\t\x3cth class\x3d\'dijitReset\' colspan\x3d"5"\x3e\n\t\t\t\t\x3cdiv dojoType\x3d"dijit.form.DropDownButton" dojoAttachPoint\x3d"monthDropDownButton"\n\t\t\t\t\tid\x3d"${id}_mddb" tabIndex\x3d"-1"\x3e\n\t\t\t\t\x3c/div\x3e\n\t\t\t\x3c/th\x3e\n\t\t\t\x3cth class\x3d\'dijitReset dijitCalendarArrow\' dojoAttachPoint\x3d"incrementMonth"\x3e\n\t\t\t\t\x3cimg src\x3d"${_blankGif}" alt\x3d"" class\x3d"dijitCalendarIncrementControl dijitCalendarIncrease" role\x3d"presentation"/\x3e\n\t\t\t\t\x3cspan dojoAttachPoint\x3d"increaseArrowNode" class\x3d"dijitA11ySideArrow"\x3e+\x3c/span\x3e\n\t\t\t\x3c/th\x3e\n\t\t\x3c/tr\x3e\n\t\t\x3ctr\x3e\n\t\t\t\x3cth class\x3d"dijitReset dijitCalendarDayLabelTemplate" role\x3d"columnheader"\x3e\x3cspan class\x3d"dijitCalendarDayLabel"\x3e\x3c/span\x3e\x3c/th\x3e\n\t\t\x3c/tr\x3e\n\t\x3c/thead\x3e\n\t\x3ctbody dojoAttachEvent\x3d"onclick: _onDayClick, onmouseover: _onDayMouseOver, onmouseout: _onDayMouseOut, onmousedown: _onDayMouseDown, onmouseup: _onDayMouseUp" class\x3d"dijitReset dijitCalendarBodyContainer"\x3e\n\t\t\x3ctr class\x3d"dijitReset dijitCalendarWeekTemplate" role\x3d"row"\x3e\n\t\t\t\x3ctd class\x3d"dijitReset dijitCalendarDateTemplate" role\x3d"gridcell"\x3e\x3cspan class\x3d"dijitCalendarDateLabel"\x3e\x3c/span\x3e\x3c/td\x3e\n\t\t\x3c/tr\x3e\n\t\x3c/tbody\x3e\n\t\x3ctfoot class\x3d"dijitReset dijitCalendarYearContainer"\x3e\n\t\t\x3ctr\x3e\n\t\t\t\x3ctd class\x3d\'dijitReset\' valign\x3d"top" colspan\x3d"7"\x3e\n\t\t\t\t\x3ch3 class\x3d"dijitCalendarYearLabel"\x3e\n\t\t\t\t\t\x3cspan dojoAttachPoint\x3d"previousYearLabelNode" class\x3d"dijitInline dijitCalendarPreviousYear"\x3e\x3c/span\x3e\n\t\t\t\t\t\x3cspan dojoAttachPoint\x3d"currentYearLabelNode" class\x3d"dijitInline dijitCalendarSelectedYear" id\x3d"${id}_year"\x3e\x3c/span\x3e\n\t\t\t\t\t\x3cspan dojoAttachPoint\x3d"nextYearLabelNode" class\x3d"dijitInline dijitCalendarNextYear"\x3e\x3c/span\x3e\n\t\t\t\t\x3c/h3\x3e\n\t\t\t\x3c/td\x3e\n\t\t\x3c/tr\x3e\n\t\x3c/tfoot\x3e\n\x3c/table\x3e'}});
define("dojox/widget/MultiSelectCalendar","dojo/main dijit dojo/text!./MultiSelectCalendar/MultiSelectCalendar.html dojo/cldr/supplemental dojo/date dojo/date/stamp dojo/date/locale dijit/_Widget dijit/_TemplatedMixin dijit/_WidgetsInTemplateMixin dijit/_CssStateMixin dijit/form/DropDownButton dijit/typematic".split(" "),function(d,A,u,D,n,h,E,w,x,y,B,F,G){d.experimental("dojox.widget.MultiSelectCalendar");u=d.declare("dojox.widget.MultiSelectCalendar",[w,x,y,B],{templateString:u,widgetsInTemplate:!0,
value:{},datePackage:"dojo.date",dayWidth:"narrow",tabIndex:"0",returnIsoRanges:!1,currentFocus:new Date,baseClass:"dijitCalendar",cssStateNodes:{decrementMonth:"dijitCalendarArrow",incrementMonth:"dijitCalendarArrow",previousYearLabelNode:"dijitCalendarPreviousYear",nextYearLabelNode:"dijitCalendarNextYear"},_areValidDates:function(a){for(var b in this.value)if(valid=b&&!isNaN(b)&&"object"==typeof a&&b.toString()!=this.constructor.prototype.value.toString(),!valid)return!1;return!0},_getValueAttr:function(){return this.returnIsoRanges?
datesWithRanges=this._returnDatesWithIsoRanges(this._sort()):this._sort()},_setValueAttr:function(a,b){this.value={};if(d.isArray(a))d.forEach(a,function(e,c){if(-1==e.indexOf("/"))this.value[e]=1;else{var f=h.fromISOString(e.substr(0,10)),g=h.fromISOString(e.substr(11,10));this.toggleDate(f,[],[]);0<f-g?this._addToRangeRTL(f,g,[],[]):this._addToRangeLTR(f,g,[],[])}},this),0<a.length&&this.focusOnLastDate(a[a.length-1]);else if(a&&(a=new this.dateClassObj(a)),this._isValidDate(a)&&(a.setHours(1,0,
0,0),!this.isDisabledDate(a,this.lang)&&(dateIndex=h.toISOString(a).substring(0,10),this.value[dateIndex]=1,this.set("currentFocus",a),b||"undefined"==typeof b)))this.onChange(this.get("value")),this.onValueSelected(this.get("value"));this._populateGrid()},focusOnLastDate:function(a){if(-1==a.indexOf("/"))lastDate=h.fromISOString(a);else{var b=h.fromISOString(a.substr(0,10));a=h.fromISOString(a.substr(11,10));lastDate=0<b-a?b:a}this.set("currentFocus",lastDate)},_isValidDate:function(a){return a&&
!isNaN(a)&&"object"==typeof a&&a.toString()!=this.constructor.prototype.value.toString()},_setText:function(a,b){for(;a.firstChild;)a.removeChild(a.firstChild);a.appendChild(d.doc.createTextNode(b))},_populateGrid:function(){var a=new this.dateClassObj(this.currentFocus);a.setDate(1);var b=a.getDay(),e=this.dateFuncObj.getDaysInMonth(a),c=this.dateFuncObj.getDaysInMonth(this.dateFuncObj.add(a,"month",-1)),f=new this.dateClassObj,g=d.cldr.supplemental.getFirstDayOfWeek(this.lang);g>b&&(g-=7);this.listOfNodes=
d.query(".dijitCalendarDateTemplate",this.domNode);this.listOfNodes.forEach(function(p,q){q+=g;var k=new this.dateClassObj(a),l="dijitCalendar",v=0;if(q<b){var t=c-b+q+1;v=-1;l+="Previous"}else q>=b+e?(t=q-b-e+1,v=1,l+="Next"):(t=q-b+1,l+="Current");v&&(k=this.dateFuncObj.add(k,"month",v));k.setDate(t);this.dateFuncObj.compare(k,f,"date")||(l="dijitCalendarCurrentDate "+l);dateIndex=h.toISOString(k).substring(0,10);this.isDisabledDate(k,this.lang)||this._isSelectedDate(k,this.lang)&&(l=this.value[dateIndex]?
"dijitCalendarSelectedDate "+l:l.replace("dijitCalendarSelectedDate ",""));this._isSelectedDate(k,this.lang)&&(l="dijitCalendarBrowsingDate "+l);this.isDisabledDate(k,this.lang)&&(l="dijitCalendarDisabledDate "+l);(t=this.getClassForDate(k,this.lang))&&(l=t+" "+l);p.className=l+"Month dijitCalendarDateTemplate";p.dijitDateValue=k.valueOf();d.attr(p,"dijitDateValue",k.valueOf());l=d.query(".dijitCalendarDateLabel",p)[0];k=k.getDateLocalized?k.getDateLocalized(this.lang):k.getDate();this._setText(l,
k)},this);var m=this.dateLocaleModule.getNames("months","wide","standAlone",this.lang,a);this.monthDropDownButton.dropDown.set("months",m);this.monthDropDownButton.containerNode.innerHTML=(6==d.isIE?"":"\x3cdiv class\x3d'dijitSpacer'\x3e"+this.monthDropDownButton.dropDown.domNode.innerHTML+"\x3c/div\x3e")+"\x3cdiv class\x3d'dijitCalendarMonthLabel dijitCalendarCurrentMonthLabel'\x3e"+m[a.getMonth()]+"\x3c/div\x3e";var r=a.getFullYear()-1,z=new this.dateClassObj;d.forEach(["previous","current","next"],
function(p){z.setFullYear(r++);this._setText(this[p+"YearLabelNode"],this.dateLocaleModule.format(z,{selector:"year",locale:this.lang}))},this)},goToToday:function(){this.set("currentFocus",new this.dateClassObj,!1)},constructor:function(a){this.dateClassObj=d.getObject(a.datePackage&&"dojo.date"!=a.datePackage?a.datePackage+".Date":"Date",!1);this.datePackage=a.datePackage||this.datePackage;this.dateFuncObj=d.getObject(this.datePackage,!1);this.dateLocaleModule=d.getObject(this.datePackage+".locale",
!1)},buildRendering:function(){this.inherited(arguments);d.setSelectable(this.domNode,!1);var a=d.hitch(this,function(f,g){for(var m=d.query(f,this.domNode)[0],r=0;r<g;r++)m.parentNode.appendChild(m.cloneNode(!0))});a(".dijitCalendarDayLabelTemplate",6);a(".dijitCalendarDateTemplate",6);a(".dijitCalendarWeekTemplate",5);var b=this.dateLocaleModule.getNames("days",this.dayWidth,"standAlone",this.lang),e=d.cldr.supplemental.getFirstDayOfWeek(this.lang);d.query(".dijitCalendarDayLabel",this.domNode).forEach(function(f,
g){this._setText(f,b[(g+e)%7])},this);a=new this.dateClassObj(this.currentFocus);this.monthDropDownButton.dropDown=new C({id:this.id+"_mdd",onChange:d.hitch(this,"_onMonthSelect")});this.set("currentFocus",a,!1);var c=this;a=function(f,g,m){c._connects.push(A.typematic.addMouseListener(c[f],c,function(r){0<=r&&c._adjustDisplay(g,m)},.8,500))};a("incrementMonth","month",1);a("decrementMonth","month",-1);a("nextYearLabelNode","year",1);a("previousYearLabelNode","year",-1)},_adjustDisplay:function(a,
b){this._setCurrentFocusAttr(this.dateFuncObj.add(this.currentFocus,a,b))},_setCurrentFocusAttr:function(a,b){var e=this.currentFocus;e=e?d.query("[dijitDateValue\x3d"+e.valueOf()+"]",this.domNode)[0]:null;a=new this.dateClassObj(a);a.setHours(1,0,0,0);this._set("currentFocus",a);var c=h.toISOString(a).substring(0,7);c!=this.previousMonth&&(this._populateGrid(),this.previousMonth=c);c=d.query("[dijitDateValue\x3d'"+a.valueOf()+"']",this.domNode)[0];c.setAttribute("tabIndex",this.tabIndex);(this._focused||
b)&&c.focus();e&&e!=c&&(d.isWebKit?e.setAttribute("tabIndex","-1"):e.removeAttribute("tabIndex"))},focus:function(){this._setCurrentFocusAttr(this.currentFocus,!0)},_onMonthSelect:function(a){this.currentFocus=this.dateFuncObj.add(this.currentFocus,"month",a-this.currentFocus.getMonth());this._populateGrid()},toggleDate:function(a,b,e){var c=h.toISOString(a).substring(0,10);this.value[c]?this.unselectDate(a,e):this.selectDate(a,b)},selectDate:function(a,b){var e=this._getNodeByDate(a),c=e.className,
f=h.toISOString(a).substring(0,10);this.value[f]=1;b.push(f);e.className="dijitCalendarSelectedDate "+c},unselectDate:function(a,b){var e=this._getNodeByDate(a),c=e.className,f=h.toISOString(a).substring(0,10);delete this.value[f];b.push(f);c=c.replace("dijitCalendarSelectedDate ","");e.className=c},_getNodeByDate:function(a){var b=new this.dateClassObj(this.listOfNodes[0].dijitDateValue);a=Math.abs(d.date.difference(b,a,"day"));return this.listOfNodes[a]},_onDayClick:function(a){d.stopEvent(a);for(a=
a.target;a&&!a.dijitDateValue;a=a.parentNode);a&&!d.hasClass(a,"dijitCalendarDisabledDate")&&(value=new this.dateClassObj(a.dijitDateValue),this.rangeJustSelected?(this.rangeJustSelected=!1,this.set("currentFocus",value)):(this.toggleDate(value,[],[]),this.previouslySelectedDay=value,this.set("currentFocus",value),this.onValueSelected([h.toISOString(value).substring(0,10)])))},_onDayMouseOver:function(a){(a=d.hasClass(a.target,"dijitCalendarDateLabel")?a.target.parentNode:a.target)&&(a.dijitDateValue||
a==this.previousYearLabelNode||a==this.nextYearLabelNode)&&(d.addClass(a,"dijitCalendarHoveredDate"),this._currentNode=a)},_setEndRangeAttr:function(a){a=new this.dateClassObj(a);a.setHours(1);this.endRange=a},_getEndRangeAttr:function(){var a=new this.dateClassObj(this.endRange);a.setHours(0,0,0,0);a.getDate()<this.endRange.getDate()&&(a=this.dateFuncObj.add(a,"hour",1));return a},_onDayMouseOut:function(a){!this._currentNode||a.relatedTarget&&a.relatedTarget.parentNode==this._currentNode||(a="dijitCalendarHoveredDate",
d.hasClass(this._currentNode,"dijitCalendarActiveDate")&&(a+=" dijitCalendarActiveDate"),d.removeClass(this._currentNode,a),this._currentNode=null)},_onDayMouseDown:function(a){var b=a.target.parentNode;b&&b.dijitDateValue&&(d.addClass(b,"dijitCalendarActiveDate"),this._currentNode=b);a.shiftKey&&this.previouslySelectedDay?(this.selectingRange=!0,this.set("endRange",b.dijitDateValue),this._selectRange()):(this.selectingRange=!1,this.previousRangeEnd=this.previousRangeStart=null)},_onDayMouseUp:function(a){(a=
a.target.parentNode)&&a.dijitDateValue&&d.removeClass(a,"dijitCalendarActiveDate")},handleKey:function(a){var b=d.keys,e=-1,c=this.currentFocus;switch(a.keyCode){case b.RIGHT_ARROW:e=1;case b.LEFT_ARROW:var f="day";this.isLeftToRight()||(e*=-1);break;case b.DOWN_ARROW:e=1;case b.UP_ARROW:f="week";break;case b.PAGE_DOWN:e=1;case b.PAGE_UP:f=a.ctrlKey||a.altKey?"year":"month";break;case b.END:c=this.dateFuncObj.add(c,"month",1),f="day";case b.HOME:c=new this.dateClassObj(c);c.setDate(1);break;case b.ENTER:case b.SPACE:a.shiftKey&&
this.previouslySelectedDay?(this.selectingRange=!0,this.set("endRange",c),this._selectRange()):(this.selectingRange=!1,this.toggleDate(c,[],[]),this.previouslySelectedDay=c,this.previousRangeEnd=this.previousRangeStart=null,this.onValueSelected([h.toISOString(c).substring(0,10)]));break;default:return!0}f&&(c=this.dateFuncObj.add(c,f,e));this.set("currentFocus",c);return!1},_onKeyDown:function(a){this.handleKey(a)||d.stopEvent(a)},_removeFromRangeLTR:function(a,b,e,c){difference=Math.abs(d.date.difference(a,
b,"day"));for(var f=0;f<=difference;f++){var g=n.add(a,"day",f);this.toggleDate(g,e,c)}null===this.previousRangeEnd?this.previousRangeEnd=b:0<d.date.compare(b,this.previousRangeEnd,"date")&&(this.previousRangeEnd=b);null===this.previousRangeStart?this.previousRangeStart=b:0<d.date.compare(b,this.previousRangeStart,"date")&&(this.previousRangeStart=b);this.previouslySelectedDay=n.add(g,"day",1)},_removeFromRangeRTL:function(a,b,e,c){difference=Math.abs(d.date.difference(a,b,"day"));for(var f=0;f<=
difference;f++){var g=d.date.add(a,"day",-f);this.toggleDate(g,e,c)}null===this.previousRangeEnd?this.previousRangeEnd=b:0>d.date.compare(b,this.previousRangeEnd,"date")&&(this.previousRangeEnd=b);null===this.previousRangeStart?this.previousRangeStart=b:0>d.date.compare(b,this.previousRangeStart,"date")&&(this.previousRangeStart=b);this.previouslySelectedDay=n.add(g,"day",-1)},_addToRangeRTL:function(a,b,e,c){difference=Math.abs(n.difference(a,b,"day"));for(var f=1;f<=difference;f++){var g=n.add(a,
"day",-f);this.toggleDate(g,e,c)}null===this.previousRangeStart?this.previousRangeStart=b:0>d.date.compare(b,this.previousRangeStart,"date")&&(this.previousRangeStart=b);null===this.previousRangeEnd?this.previousRangeEnd=a:0<d.date.compare(a,this.previousRangeEnd,"date")&&(this.previousRangeEnd=a);this.previouslySelectedDay=g},_addToRangeLTR:function(a,b,e,c){difference=Math.abs(d.date.difference(a,b,"day"));for(var f=1;f<=difference;f++){var g=d.date.add(a,"day",f);this.toggleDate(g,e,c)}null===
this.previousRangeStart?this.previousRangeStart=a:0>d.date.compare(a,this.previousRangeStart,"date")&&(this.previousRangeStart=a);null===this.previousRangeEnd?this.previousRangeEnd=b:0<d.date.compare(b,this.previousRangeEnd,"date")&&(this.previousRangeEnd=b);this.previouslySelectedDay=g},_selectRange:function(){var a=[],b=[],e=this.previouslySelectedDay,c=this.get("endRange");removingFromRange=this.previousRangeStart||this.previousRangeEnd?0>d.date.compare(c,this.previousRangeStart,"date")||0<d.date.compare(c,
this.previousRangeEnd,"date")?!1:!0:!1;!0===removingFromRange?0>d.date.compare(c,e,"date")?this._removeFromRangeRTL(e,c,a,b):this._removeFromRangeLTR(e,c,a,b):0>d.date.compare(c,e,"date")?this._addToRangeRTL(e,c,a,b):this._addToRangeLTR(e,c,a,b);if(0<a.length)this.onValueSelected(a);if(0<b.length)this.onValueUnselected(b);this.rangeJustSelected=!0},onValueSelected:function(a){},onValueUnselected:function(a){},onChange:function(a){},_isSelectedDate:function(a,b){dateIndex=h.toISOString(a).substring(0,
10);return this.value[dateIndex]},isDisabledDate:function(a,b){},getClassForDate:function(a,b){},_sort:function(){if(this.value=={})return[];var a=[],b;for(b in this.value)a.push(b);a.sort(function(e,c){return new Date(e)-new Date(c)});return a},_returnDatesWithIsoRanges:function(a){var b=[];if(1<a.length){for(var e=!1,c=null,f=null,g=h.fromISOString(a[0]),m=1;m<a.length+1;m++)currentDate=h.fromISOString(a[m]),e?(difference=Math.abs(n.difference(g,currentDate,"day")),1==difference?f=currentDate:(range=
h.toISOString(c).substring(0,10)+"/"+h.toISOString(f).substring(0,10),b.push(range),e=!1)):(difference=Math.abs(n.difference(g,currentDate,"day")),1==difference?(e=!0,c=g,f=currentDate):b.push(h.toISOString(g).substring(0,10))),g=currentDate;return b}return a}});var C=u._MonthDropDown=d.declare("dojox.widget._MonthDropDown",[w,x,y],{months:[],templateString:"\x3cdiv class\x3d'dijitCalendarMonthMenu dijitMenu' dojoAttachEvent\x3d'onclick:_onClick,onmouseover:_onMenuHover,onmouseout:_onMenuHover'\x3e\x3c/div\x3e",
_setMonthsAttr:function(a){this.domNode.innerHTML=d.map(a,function(b,e){return b?"\x3cdiv class\x3d'dijitCalendarMonthLabel' month\x3d'"+e+"'\x3e"+b+"\x3c/div\x3e":""}).join("")},_onClick:function(a){this.onChange(d.attr(a.target,"month"))},onChange:function(a){},_onMenuHover:function(a){d.toggleClass(a.target,"dijitCalendarMonthLabelHover","mouseover"==a.type)}});return u});