{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./Bundles/jquery-ui.js","webpack:///./Scripts/jquery-ui sync \\.js$","webpack:///./Scripts/jquery-ui/jquery-ui-1.11.4.js","webpack:///./Scripts/jquery-ui/jquery-ui-1.11.4.min.js","webpack:///external \"jQuery\""],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","require","keys","forEach","map","webpackContext","req","id","webpackContextResolve","e","Error","code","resolve","define","$","focusable","element","isTabIndexNotNaN","mapName","img","nodeName","toLowerCase","parentNode","href","visible","test","disabled","expr","filters","parents","addBack","filter","css","this","length","uuid","removeData","eventType","orig","ui","extend","version","keyCode","BACKSPACE","COMMA","DELETE","DOWN","END","ENTER","ESCAPE","HOME","LEFT","PAGE_DOWN","PAGE_UP","PERIOD","RIGHT","SPACE","TAB","UP","fn","scrollParent","includeHidden","position","excludeStaticParent","overflowRegex","parent","eq","ownerDocument","document","uniqueId","each","removeUniqueId","removeAttr","data","createPseudo","dataName","elem","match","isNaN","attr","tabbable","tabIndex","isTabIndexNaN","outerWidth","jquery","side","type","innerWidth","innerHeight","outerHeight","reduce","size","border","margin","parseFloat","undefined","selector","add","prevObject","arguments","camelCase","ie","exec","navigator","userAgent","focus","delay","setTimeout","apply","disableSelection","createElement","event","preventDefault","enableSelection","unbind","zIndex","parseInt","plugin","option","set","proto","plugins","push","instance","args","allowDisconnected","nodeType","options","widget_uuid","widget_slice","Array","slice","cleanData","elems","events","_data","remove","triggerHandler","widget","base","fullName","existingConstructor","constructor","basePrototype","proxiedPrototype","namespace","split","Widget","_createWidget","_proto","_childConstructors","prop","_super","_superApply","isFunction","returnValue","__super","__superApply","widgetEventPrefix","widgetName","widgetFullName","child","childPrototype","bridge","target","input","inputIndex","inputLength","isPlainObject","isMethodCall","methodValue","charAt","pushStack","error","concat","_init","defaultElement","eventNamespace","bindings","hoverable","_on","destroy","style","window","defaultView","parentWindow","_getCreateOptions","_create","_trigger","_getCreateEventData","noop","_destroy","removeClass","parts","curOption","shift","pop","_setOptions","_setOption","toggleClass","enable","disable","suppressDisabledCheck","handlers","delegateElement","handler","handlerProxy","hasClass","guid","eventName","delegate","_off","join","undelegate","not","_delay","_hoverable","mouseenter","currentTarget","addClass","mouseleave","_focusable","focusin","focusout","callback","Event","originalEvent","trigger","isDefaultPrevented","show","hide","method","defaultEffect","effect","hasOptions","effectName","duration","isEmptyObject","complete","effects","easing","queue","next","mouseHandled","mouseup","cancel","distance","_mouseInit","that","_mouseDown","stopImmediatePropagation","started","_mouseDestroy","_mouseMoveDelegate","_mouseUpDelegate","_mouseMoved","_mouseStarted","_mouseUp","_mouseDownEvent","btnIsLeft","which","elIsCancel","closest","_mouseCapture","mouseDelayMet","_mouseDelayTimer","_mouseDistanceMet","_mouseDelayMet","_mouseStart","_mouseMove","documentMode","button","_mouseDrag","_mouseStop","Math","max","abs","pageX","pageY","cachedScrollbarWidth","supportsOffsetFractions","round","rhorizontal","rvertical","roffset","rposition","rpercent","_position","getOffsets","offsets","width","height","parseCss","getDimensions","raw","offset","top","left","isWindow","scrollTop","scrollLeft","scrollbarWidth","w1","w2","div","innerDiv","children","append","offsetWidth","clientWidth","getScrollInfo","within","overflowX","isDocument","overflowY","hasOverflowX","scrollWidth","scrollHeight","getWithinInfo","withinElement","of","atOffset","targetWidth","targetHeight","targetOffset","basePosition","dimensions","scrollInfo","collision","at","horizontalOffset","verticalOffset","pos","collisionPosition","using","elemWidth","elemHeight","marginLeft","marginTop","collisionWidth","collisionHeight","myOffset","my","dir","props","right","bottom","feedback","horizontal","vertical","important","fit","newOverRight","withinOffset","collisionPosLeft","overLeft","overRight","newOverBottom","collisionPosTop","overTop","overBottom","flip","newOverLeft","offsetLeft","newOverTop","offsetTop","flipfit","testElement","testElementParent","testElementStyle","body","getElementsByTagName","visibility","background","appendChild","documentElement","insertBefore","firstChild","cssText","innerHTML","removeChild","active","animate","collapsible","header","heightStyle","icons","activeHeader","activate","beforeActivate","hideProps","borderTopWidth","borderBottomWidth","paddingTop","paddingBottom","showProps","prevShow","prevHide","_processPanels","headers","_refresh","panel","_createIcons","prependTo","_destroyIcons","contents","_setupEvents","_activate","_keydown","altKey","ctrlKey","currentIndex","index","toFocus","_eventHandler","_panelKeyDown","prev","refresh","contains","find","prevHeaders","prevPanels","panels","maxHeight","_findActive","headerId","panelId","siblings","keydown","clicked","clickedIsActive","collapsing","toShow","toHide","eventData","oldHeader","oldPanel","newHeader","newPanel","_toggle","stop","_animate","_toggleComplete","total","adjust","boxSizing","down","step","now","fx","className","submenu","items","menus","role","blur","select","activeMenu","isPropagationStopped","has","expand","is","activeElement","clearTimeout","timer","previousFilter","keepActiveItem","item","collapseAll","click","_closeOnDocumentClick","character","skip","previousPage","nextPage","_move","previous","collapse","String","fromCharCode","filterTimer","_filterMenuItems","nextAll","icon","submenus","menu","submenuCarat","prepend","_isDivider","_itemRole","listbox","nested","focused","_scrollIntoView","first","_close","_startOpening","borderTop","scroll","elementHeight","itemHeight","_hasScroll","fromFocus","_open","all","currentMenu","startMenu","end","text","newItem","isFirstItem","prevAll","isLastItem","direction","escapedCharacter","replace","regex","RegExp","trim","appendTo","autoFocus","minLength","source","change","close","open","response","search","requestIndex","pending","suppressKeyPress","suppressKeyPressRepeat","suppressInput","isTextarea","isInput","isMultiLine","valueMethod","isNewMenu","_keyEvent","_value","term","_searchTimeout","keypress","selectedItem","cancelBlur","searching","_change","_initSource","_appendTo","mousedown","menuElement","one","menufocus","label","liveRegion","menuselect","beforeunload","xhr","abort","array","url","isArray","request","autocomplete","ajax","dataType","success","equalValues","menuVisible","modifierKey","metaKey","shiftKey","_search","cancelSearch","_response","proxy","content","__response","_normalize","_suggest","ul","empty","_renderMenu","_resizeMenu","_renderItemData","_renderItem","keyEvent","escapeRegex","matcher","grep","messages","noResults","results","amount","message","lastActive","datepicker_instActive","baseClasses","typeClasses","formResetHandler","form","radioGroup","radio","radios","Datepicker","_curInst","_disabledInputs","_datepickerShowing","_inDialog","_mainDivId","_inlineClass","_appendClass","_triggerClass","_dialogClass","_disableClass","_unselectableClass","_currentClass","_dayOverClass","regional","closeText","prevText","nextText","currentText","monthNames","monthNamesShort","dayNames","dayNamesShort","dayNamesMin","weekHeader","dateFormat","firstDay","isRTL","showMonthAfterYear","yearSuffix","_defaults","showOn","showAnim","showOptions","defaultDate","appendText","buttonText","buttonImage","buttonImageOnly","hideIfNoPrevNext","navigationAsDateFormat","gotoCurrent","changeMonth","changeYear","yearRange","showOtherMonths","selectOtherMonths","showWeek","calculateWeek","iso8601Week","shortYearCutoff","minDate","maxDate","beforeShowDay","beforeShow","onSelect","onChangeMonthYear","onClose","numberOfMonths","showCurrentAtPos","stepMonths","stepBigMonths","altField","altFormat","constrainInput","showButtonPanel","autoSize","en","dpDiv","datepicker_bindHover","indexOf","datepicker_handleMouseover","datepicker","_isDisabledDatepicker","inline","datepicker_extendRemove","primary","secondary","_determineButtonType","hasTitle","buttonElement","toggleButton","activeClass","val","html","keyup","_resetButton","ancestor","labelSelector","checked","last","isDisabled","multipleIcons","buttonClasses","buttons","rtl","allButtons","existingButtons","markerClassName","maxRows","_widgetDatepicker","setDefaults","settings","_attachDatepicker","inst","_newInst","_connectDatepicker","_inlineDatepicker","selectedDay","selectedMonth","selectedYear","drawMonth","drawYear","_attachments","_doKeyDown","_doKeyPress","_doKeyUp","_autoSize","_disableDatepicker","_get","_showDatepicker","src","alt","title","_lastInput","_hideDatepicker","findMax","maxI","date","Date","names","setMonth","setDate","getDay","_formatDate","divSpan","_setDate","_getDefaultDate","_updateDatepicker","_updateAlternate","_dialogDatepicker","browserWidth","browserHeight","scrollX","scrollY","_dialogInst","_dialogInput","_pos","clientHeight","blockUI","_destroyDatepicker","$target","_enableDatepicker","opacity","cursor","_getInst","err","_optionDatepicker","_getDateDatepicker","_getMinMaxDate","_changeDatepicker","_refreshDatepicker","_setDateDatepicker","noDefault","_setDateFromField","_getDate","dateStr","sel","handled","_selectDay","_adjustDate","_clearDate","_gotoToday","stopPropagation","chars","chr","_possibleChars","charCode","lastVal","parseDate","_getFormatConfig","beforeShowSettings","isFixed","_findPos","offsetHeight","display","_checkOffset","datepicker_getZindex","_shouldFocusInput","_generateHTML","_attachHandlers","origyearshtml","numMonths","_getNumberOfMonths","cols","activeCell","yearshtml","replaceWith","dpWidth","dpHeight","inputWidth","inputHeight","viewWidth","viewHeight","min","obj","hidden","postProcess","_tidyDialog","unblockUI","_checkExternalClick","period","_adjustInstDate","currentDay","currentMonth","currentYear","getDate","getMonth","getFullYear","_notifyChange","_selectMonthYear","selectedIndex","month","year","td","_selectDate","_typeof","formatDate","noWeekends","day","time","checkDate","getTime","floor","format","toString","iFormat","dim","extra","iValue","shortYearCutoffTemp","doy","literal","lookAhead","matches","getNumber","isDoubled","digits","num","substring","getName","shortNames","longNames","v","k","sort","a","b","pair","substr","checkLiteral","_ticksTo1970","_getDaysInMonth","_daylightSavingAdjust","ATOM","COOKIE","ISO_8601","RFC_822","RFC_850","RFC_1036","RFC_1123","RFC_2822","RSS","TICKS","TIMESTAMP","W3C","formatNumber","len","formatName","output","getYear","dates","_restrictMinMax","_determineDate","newDate","pattern","offsetString","offsetNumeric","setHours","setMinutes","setSeconds","setMilliseconds","getHours","noChange","clear","origMonth","origYear","today","selectDay","getAttribute","selectMonth","selectYear","maxDraw","gotoDate","controls","buttonPanel","dow","row","group","col","selectedDate","cornerClass","calender","thead","daysInMonth","leadDays","curRows","numRows","printDate","dRow","tbody","daySettings","otherMonth","unselectable","tempDate","isMultiMonth","currentDate","_canAdjustMonth","_isInRange","_generateMonthYearHeader","_getFirstDayOfMonth","ceil","inMinYear","inMaxYear","years","thisYear","determineYear","endYear","monthHtml","onChange","minMax","curYear","curMonth","yearSplit","minYear","maxYear","initialized","otherArgs","mouse","addClasses","axis","connectToSortable","containment","cursorAt","grid","handle","helper","iframeFix","refreshPositions","revert","revertDuration","scope","scrollSensitivity","scrollSpeed","snap","snapMode","snapTolerance","stack","drag","start","_setPositionRelative","_setHandleClassName","_removeHandleClassName","destroyOnClear","_blurActiveElement","_getHandle","_blockFrames","iframeBlocks","iframe","_unblockFrames","handleElement","_createHelper","_cacheHelperProportions","ddmanager","current","_cacheMargins","cssPosition","offsetParent","hasFixedAncestor","positionAbs","_refreshOffsets","originalPosition","_generatePosition","originalPageX","originalPageY","_adjustOffsetFromHelper","_setContainment","_clear","dropBehaviour","prepareOffsets","_normalizeRightBottom","dragStart","margins","_getParentOffset","relative","_getRelativeOffset","noPropagation","_convertPositionTo","_uiHash","dropped","drop","dragStop","helperIsFunction","clone","helperProportions","_isRootNode","tagName","po","scrollIsRootNode","isUserScrollable","ce","relativeContainer","mod","constrainPosition","co","cancelHelperRemoval","draggable","uiSortable","sortables","sortable","isOver","_storedCSS","placeholder","_helper","innermostIntersecting","_intersectsWith","containerCache","_parent","currentItem","fromOutside","_revert","_cursor","_opacity","scrollParentNotHidden","overflowOffset","scrolled","snapElements","$t","$o","ts","bs","ls","rs","x1","x2","y1","y2","snapping","release","snapItem","makeArray","_zIndex","alsoResize","animateDuration","animateEasing","aspectRatio","autoHide","ghost","handles","maxWidth","minHeight","minWidth","resize","_num","_isNumber","el","_aspectRatio","originalElement","_proportionallyResizeElements","wrap","resizable","elementIsWrapper","marginRight","marginBottom","originalResizeStyle","zoom","_proportionallyResize","w","se","sw","ne","nw","_handles","_renderAxis","padPos","padWrapper","mouseover","resizing","wrapper","exp","insertAfter","capture","curleft","curtop","_renderProxy","originalSize","sizeDiff","originalMousePosition","_propagate","smp","dx","dy","_updatePrevProperties","_updateVirtualBoundaries","_updateRatio","_respectSize","_updateCache","_applyChanges","pr","ista","soffseth","soffsetw","prevPosition","prevSize","forceAspectRatio","pMinWidth","pMaxWidth","pMinHeight","pMaxHeight","Infinity","_vBoundaries","cpos","csize","ismaxw","ismaxh","isminw","isminh","dw","dh","cw","ch","_getPaddingPlusBorderDimensions","widths","borders","paddings","prel","outerDimensions","elementOffset","cs","oc","containerElement","containerOffset","containerPosition","parentData","containerSize","woset","hoset","isParent","isOffsetRelative","cp","pRatio","cop","continueResize","ho","h","os","op","delta","sum","gridX","gridY","ox","oy","newWidth","newHeight","isMaxWidth","isMaxHeight","isMinWidth","isMinHeight","autoOpen","closeOnEscape","dialogClass","modal","topOffset","beforeClose","resizeStart","resizeStop","sizeRelatedOptions","resizableRelatedOptions","originalCss","originalTitle","_createWrapper","uiDialog","_createTitlebar","_createButtonPane","_makeDraggable","_makeResizable","_isOpen","_trackFocus","_untrackInstance","_destroyOverlay","detach","before","_focusedElement","opener","_hide","isOpen","moveToTop","_moveToTop","silent","moved","zIndices","zIndexMax","_focusTabbable","_size","_createOverlay","overlay","_show","_makeFocusTarget","hasFocus","uiDialogButtonPane","uiDialogTitlebarClose","_keepFocus","checkFocus","tabbables","uiDialogTitle","uiDialogTitlebar","_title","uiButtonSet","_createButtons","buttonOptions","showText","filteredUi","resizeHandles","_minHeight","_trackingInstances","unshift","instances","exists","inArray","splice","isVisible","resizableOptions","isDraggable","isResizable","nonContentHeight","minContentHeight","maxContentHeight","_allowInteraction","isOpening","overlays","accept","greedy","hoverClass","tolerance","deactivate","out","over","proportions","isover","isout","_addToManager","droppables","_splice","_deactivate","_over","_out","_drop","custom","childrenIntersection","droppable","intersect","isOverAxis","x","reference","toleranceMode","absolute","j","list","droppablesLoop","parentsUntil","greedyChild","parentInstance","intersects","baseEasings","rhash","jQuery","spinner_modifier","colors","rplusequals","stringParsers","re","parse","execResult","space","color","Color","green","blue","alpha","spaces","rgba","red","idx","hsla","hue","saturation","lightness","propTypes","support","supportElem","clamp","allowEmpty","def","stringParse","string","_rgba","parser","parsed","values","spaceName","cache","transparent","hue2rgb","q","backgroundColor","_default","to","from","compare","same","_","localCache","isCache","_space","used","transition","other","startColor","result","startValue","endValue","blend","opaque","rgb","toRgbaString","prefix","toHslaString","toHexString","includeAlpha","g","diff","ret","arr","local","vtype","_hsla","cur","hook","hooks","cssHooks","curElem","colorInit","borderColor","expanded","part","aqua","black","fuchsia","gray","lime","maroon","navy","olive","purple","silver","teal","white","yellow","classAnimationActions","shorthandStyles","borderBottom","borderLeft","borderRight","borderWidth","padding","getElementStyles","getComputedStyle","currentStyle","styles","setAttr","animateClass","speed","applyClassChange","animated","baseClass","allAnimations","action","oldStyle","newStyle","styleDifference","styleInfo","dfd","Deferred","opts","promise","when","done","classNames","force","toggle","switchClass","_normalizeArguments","speeds","off","standardAnimationOption","save","restore","setMode","getBaseline","origin","original","y","createWrapper","fontSize","removeWrapper","setTransition","factor","unit","cssUnit","effectMethod","run","pow","Sine","cos","PI","Circ","sqrt","Elastic","sin","Back","Bounce","pow2","bounce","easeIn","blind","ref","ref2","motion","animation","overflow","upAnim","downAnim","times","anims","queuelen","dequeue","clip","vert","explode","mx","rows","pieces","cells","childComplete","fade","fold","percent","horizFirst","widthFirst","animation1","animation2","highlight","backgroundImage","baseline","props0","props2","cProps","vProps","hProps","scale","zero","c_original","str","toRef","puff","pulsate","showhide","animateTo","shake","positiveMotion","slide","transfer","targetFixed","fixTop","fixLeft","endPosition","startPosition","oldValue","_constrainedValue","valueDiv","_refreshValue","newValue","indeterminate","_percentage","percentage","toFixed","overlayDiv","autoRefresh","selected","selecting","unselected","unselecting","selectees","dragged","$this","$element","startselected","opos","selectee","doSelect","tmp","hit","selectmenuId","ids","_drawButton","_drawMenu","tabindex","_setText","_resizeButton","_buttonEvents","menuItems","_refreshMenu","menuWrap","menuInstance","_setSelection","_select","focusIndex","_getSelectedItem","_parseOptions","_setAria","_toggleAttr","_documentClick","range","menuWidget","currentOptgroup","optgroup","li","selection","getSelection","removeAllRanges","addRange","rangeCount","getRangeAt","createRange","_selectFocusedItem","oldIndex","orientation","numPages","_keySliding","_mouseSliding","_animateOff","_handleIndex","_detectOrientation","_calculateNewMax","_createRange","_createHandles","handleCount","existingHandles","classes","_valueMin","_handleEvents","normValue","closestHandle","mouseOverHandle","elementSize","_normValueFromMouse","_valueMax","thisDistance","_lastChangedValue","_start","_clickOffset","_slide","_stop","pixelTotal","pixelMouse","percentMouse","valueTotal","valueMouse","_trimAlignValue","uiHash","newVal","otherVal","newValues","allowed","vals","_values","valsLength","valModStep","alignValue","_precision","precision","_precisionOf","decimal","lastValPercent","valPercent","valueMin","valueMax","oRange","_set","curVal","ready","connectWith","dropOnEmpty","forcePlaceholderSize","forceHelperSize","beforeStop","receive","update","_isOverAxis","_isFloating","overrideHandle","validHandle","reverting","_refreshItems","_removeCurrentsFromItems","noActivation","currentContainer","domPosition","_createPlaceholder","storedCursor","storedStylesheet","_storedOpacity","_storedZIndex","_preserveHelperProportions","containers","dragging","itemElement","intersection","lastPositionAbs","_intersectsWithPointer","_intersectsWithSides","_rearrange","_contactContainers","_noFinalSort","after","serialize","_getItemsAsjQuery","connected","res","attribute","expression","toArray","dyClick","dxClick","isOverElementHeight","isOverElementWidth","isOverElement","forcePointerForContainers","floating","verticalDirection","_getDragVerticalDirection","horizontalDirection","_getDragHorizontalDirection","isOverBottomHalf","isOverRightHalf","_connectWith","queries","addItems","targetData","_queries","queriesLength","fast","toleranceElement","refreshContainers","_createTrPlaceholder","container","sourceTr","targetTr","dist","itemWithLeastDistance","posProperty","sizeProperty","nearBottom","innermostContainer","innermostIndex","hardRefresh","nextSibling","counter","delayedTriggers","delayEvent","_inst","sender","culture","up","incremental","numberFormat","page","spin","_draw","_events","mousewheel","spinning","_spin","mousewheelTimer","_repeat","uiSpinner","_uiSpinnerHtml","_buttonHtml","steps","_adjustValue","_increment","aboveMin","prevValue","_parse","_format","Globalize","isValid","allowAny","stepUp","_stepUp","stepDown","_stepDown","pageUp","pages","pageDown","beforeLoad","load","_isLocal","anchor","anchorUrl","locationUrl","cloneNode","location","decodeURIComponent","hash","running","_processTabs","_initialActive","unique","tabs","anchors","locationHash","tab","_getPanelForTab","_tabKeydown","focusedTab","goingForward","_handlePageNav","activating","_focusNextTab","_panelKeydown","_findNextTab","lastTabIndex","_setupHeightStyle","_setupDisabled","_sanitizeSelector","lis","tablist","prevTabs","prevAnchors","_getList","anchorId","originalAriaControls","_createPanel","oldTab","newTab","_getIndex","merge","jqXHR","status","_ajaxSettings","statusText","fail","beforeSend","ajaxSettings","tooltipClass","track","_addDescribedBy","describedby","_removeDescribedBy","tooltips","_disable","tooltipData","_updateContent","_enable","blurEvent","_registerCloseHandlers","contentOption","tooltip","delayedShow","a11yContent","positionOption","_find","_tooltip","mousemove","setInterval","clearInterval","interval","fakeEvent","_removeTooltip","closing","hiding","u","f","T","D","S","M","C","N","A","P","I","H","z","F","E","O","W","L","R","Y","B","J","K","V","U","Q","G","X","Z","et","degrees"],"mappings":"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","file":"jquery-ui.bundle.20250313.1.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 316);\n","function requireAll(r) { r.keys().forEach(r); }\r\nrequireAll(require.context('../Scripts/jquery-ui/', true, /\\.js$/));","var map = {\n\t\"./jquery-ui-1.11.4.js\": 318,\n\t\"./jquery-ui-1.11.4.min.js\": 319\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 317;","/*! jQuery UI - v1.11.4 - 2015-03-11\r\n* http://jqueryui.com\r\n* Includes: core.js, widget.js, mouse.js, position.js, accordion.js, autocomplete.js, button.js, datepicker.js, dialog.js, draggable.js, droppable.js, effect.js, effect-blind.js, effect-bounce.js, effect-clip.js, effect-drop.js, effect-explode.js, effect-fade.js, effect-fold.js, effect-highlight.js, effect-puff.js, effect-pulsate.js, effect-scale.js, effect-shake.js, effect-size.js, effect-slide.js, effect-transfer.js, menu.js, progressbar.js, resizable.js, selectable.js, selectmenu.js, slider.js, sortable.js, spinner.js, tabs.js, tooltip.js\r\n* Copyright 2015 jQuery Foundation and other contributors; Licensed MIT */\r\n\r\n(function( factory ) {\r\n\tif ( typeof define === \"function\" && define.amd ) {\r\n\r\n\t\t// AMD. Register as an anonymous module.\r\n\t\tdefine([ \"jquery\" ], factory );\r\n\t} else {\r\n\r\n\t\t// Browser globals\r\n\t\tfactory( jQuery );\r\n\t}\r\n}(function( $ ) {\r\n/*!\r\n * jQuery UI Core 1.11.4\r\n * http://jqueryui.com\r\n *\r\n * Copyright jQuery Foundation and other contributors\r\n * Released under the MIT license.\r\n * http://jquery.org/license\r\n *\r\n * http://api.jqueryui.com/category/ui-core/\r\n */\r\n\r\n\r\n// $.ui might exist from components with no dependencies, e.g., $.ui.position\r\n$.ui = $.ui || {};\r\n\r\n$.extend( $.ui, {\r\n\tversion: \"1.11.4\",\r\n\r\n\tkeyCode: {\r\n\t\tBACKSPACE: 8,\r\n\t\tCOMMA: 188,\r\n\t\tDELETE: 46,\r\n\t\tDOWN: 40,\r\n\t\tEND: 35,\r\n\t\tENTER: 13,\r\n\t\tESCAPE: 27,\r\n\t\tHOME: 36,\r\n\t\tLEFT: 37,\r\n\t\tPAGE_DOWN: 34,\r\n\t\tPAGE_UP: 33,\r\n\t\tPERIOD: 190,\r\n\t\tRIGHT: 39,\r\n\t\tSPACE: 32,\r\n\t\tTAB: 9,\r\n\t\tUP: 38\r\n\t}\r\n});\r\n\r\n// plugins\r\n$.fn.extend({\r\n\tscrollParent: function( includeHidden ) {\r\n\t\tvar position = this.css( \"position\" ),\r\n\t\t\texcludeStaticParent = position === \"absolute\",\r\n\t\t\toverflowRegex = includeHidden ? /(auto|scroll|hidden)/ : /(auto|scroll)/,\r\n\t\t\tscrollParent = this.parents().filter( function() {\r\n\t\t\t\tvar parent = $( this );\r\n\t\t\t\tif ( excludeStaticParent && parent.css( \"position\" ) === \"static\" ) {\r\n\t\t\t\t\treturn false;\r\n\t\t\t\t}\r\n\t\t\t\treturn overflowRegex.test( parent.css( \"overflow\" ) + parent.css( \"overflow-y\" ) + parent.css( \"overflow-x\" ) );\r\n\t\t\t}).eq( 0 );\r\n\r\n\t\treturn position === \"fixed\" || !scrollParent.length ? $( this[ 0 ].ownerDocument || document ) : scrollParent;\r\n\t},\r\n\r\n\tuniqueId: (function() {\r\n\t\tvar uuid = 0;\r\n\r\n\t\treturn function() {\r\n\t\t\treturn this.each(function() {\r\n\t\t\t\tif ( !this.id ) {\r\n\t\t\t\t\tthis.id = \"ui-id-\" + ( ++uuid );\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t};\r\n\t})(),\r\n\r\n\tremoveUniqueId: function() {\r\n\t\treturn this.each(function() {\r\n\t\t\tif ( /^ui-id-\\d+$/.test( this.id ) ) {\r\n\t\t\t\t$( this ).removeAttr( \"id\" );\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n});\r\n\r\n// selectors\r\nfunction focusable( element, isTabIndexNotNaN ) {\r\n\tvar map, mapName, img,\r\n\t\tnodeName = element.nodeName.toLowerCase();\r\n\tif ( \"area\" === nodeName ) {\r\n\t\tmap = element.parentNode;\r\n\t\tmapName = map.name;\r\n\t\tif ( !element.href || !mapName || map.nodeName.toLowerCase() !== \"map\" ) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\t\timg = $( \"img[usemap='#\" + mapName + \"']\" )[ 0 ];\r\n\t\treturn !!img && visible( img );\r\n\t}\r\n\treturn ( /^(input|select|textarea|button|object)$/.test( nodeName ) ?\r\n\t\t!element.disabled :\r\n\t\t\"a\" === nodeName ?\r\n\t\t\telement.href || isTabIndexNotNaN :\r\n\t\t\tisTabIndexNotNaN) &&\r\n\t\t// the element and all of its ancestors must be visible\r\n\t\tvisible( element );\r\n}\r\n\r\nfunction visible( element ) {\r\n\treturn $.expr.filters.visible( element ) &&\r\n\t\t!$( element ).parents().addBack().filter(function() {\r\n\t\t\treturn $.css( this, \"visibility\" ) === \"hidden\";\r\n\t\t}).length;\r\n}\r\n\r\n$.extend( $.expr[ \":\" ], {\r\n\tdata: $.expr.createPseudo ?\r\n\t\t$.expr.createPseudo(function( dataName ) {\r\n\t\t\treturn function( elem ) {\r\n\t\t\t\treturn !!$.data( elem, dataName );\r\n\t\t\t};\r\n\t\t}) :\r\n\t\t// support: jQuery <1.8\r\n\t\tfunction( elem, i, match ) {\r\n\t\t\treturn !!$.data( elem, match[ 3 ] );\r\n\t\t},\r\n\r\n\tfocusable: function( element ) {\r\n\t\treturn focusable( element, !isNaN( $.attr( element, \"tabindex\" ) ) );\r\n\t},\r\n\r\n\ttabbable: function( element ) {\r\n\t\tvar tabIndex = $.attr( element, \"tabindex\" ),\r\n\t\t\tisTabIndexNaN = isNaN( tabIndex );\r\n\t\treturn ( isTabIndexNaN || tabIndex >= 0 ) && focusable( element, !isTabIndexNaN );\r\n\t}\r\n});\r\n\r\n// support: jQuery <1.8\r\nif ( !$( \"<a>\" ).outerWidth( 1 ).jquery ) {\r\n\t$.each( [ \"Width\", \"Height\" ], function( i, name ) {\r\n\t\tvar side = name === \"Width\" ? [ \"Left\", \"Right\" ] : [ \"Top\", \"Bottom\" ],\r\n\t\t\ttype = name.toLowerCase(),\r\n\t\t\torig = {\r\n\t\t\t\tinnerWidth: $.fn.innerWidth,\r\n\t\t\t\tinnerHeight: $.fn.innerHeight,\r\n\t\t\t\touterWidth: $.fn.outerWidth,\r\n\t\t\t\touterHeight: $.fn.outerHeight\r\n\t\t\t};\r\n\r\n\t\tfunction reduce( elem, size, border, margin ) {\r\n\t\t\t$.each( side, function() {\r\n\t\t\t\tsize -= parseFloat( $.css( elem, \"padding\" + this ) ) || 0;\r\n\t\t\t\tif ( border ) {\r\n\t\t\t\t\tsize -= parseFloat( $.css( elem, \"border\" + this + \"Width\" ) ) || 0;\r\n\t\t\t\t}\r\n\t\t\t\tif ( margin ) {\r\n\t\t\t\t\tsize -= parseFloat( $.css( elem, \"margin\" + this ) ) || 0;\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t\treturn size;\r\n\t\t}\r\n\r\n\t\t$.fn[ \"inner\" + name ] = function( size ) {\r\n\t\t\tif ( size === undefined ) {\r\n\t\t\t\treturn orig[ \"inner\" + name ].call( this );\r\n\t\t\t}\r\n\r\n\t\t\treturn this.each(function() {\r\n\t\t\t\t$( this ).css( type, reduce( this, size ) + \"px\" );\r\n\t\t\t});\r\n\t\t};\r\n\r\n\t\t$.fn[ \"outer\" + name] = function( size, margin ) {\r\n\t\t\tif ( typeof size !== \"number\" ) {\r\n\t\t\t\treturn orig[ \"outer\" + name ].call( this, size );\r\n\t\t\t}\r\n\r\n\t\t\treturn this.each(function() {\r\n\t\t\t\t$( this).css( type, reduce( this, size, true, margin ) + \"px\" );\r\n\t\t\t});\r\n\t\t};\r\n\t});\r\n}\r\n\r\n// support: jQuery <1.8\r\nif ( !$.fn.addBack ) {\r\n\t$.fn.addBack = function( selector ) {\r\n\t\treturn this.add( selector == null ?\r\n\t\t\tthis.prevObject : this.prevObject.filter( selector )\r\n\t\t);\r\n\t};\r\n}\r\n\r\n// support: jQuery 1.6.1, 1.6.2 (http://bugs.jquery.com/ticket/9413)\r\nif ( $( \"<a>\" ).data( \"a-b\", \"a\" ).removeData( \"a-b\" ).data( \"a-b\" ) ) {\r\n\t$.fn.removeData = (function( removeData ) {\r\n\t\treturn function( key ) {\r\n\t\t\tif ( arguments.length ) {\r\n\t\t\t\treturn removeData.call( this, $.camelCase( key ) );\r\n\t\t\t} else {\r\n\t\t\t\treturn removeData.call( this );\r\n\t\t\t}\r\n\t\t};\r\n\t})( $.fn.removeData );\r\n}\r\n\r\n// deprecated\r\n$.ui.ie = !!/msie [\\w.]+/.exec( navigator.userAgent.toLowerCase() );\r\n\r\n$.fn.extend({\r\n\tfocus: (function( orig ) {\r\n\t\treturn function( delay, fn ) {\r\n\t\t\treturn typeof delay === \"number\" ?\r\n\t\t\t\tthis.each(function() {\r\n\t\t\t\t\tvar elem = this;\r\n\t\t\t\t\tsetTimeout(function() {\r\n\t\t\t\t\t\t$( elem ).focus();\r\n\t\t\t\t\t\tif ( fn ) {\r\n\t\t\t\t\t\t\tfn.call( elem );\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}, delay );\r\n\t\t\t\t}) :\r\n\t\t\t\torig.apply( this, arguments );\r\n\t\t};\r\n\t})( $.fn.focus ),\r\n\r\n\tdisableSelection: (function() {\r\n\t\tvar eventType = \"onselectstart\" in document.createElement( \"div\" ) ?\r\n\t\t\t\"selectstart\" :\r\n\t\t\t\"mousedown\";\r\n\r\n\t\treturn function() {\r\n\t\t\treturn this.bind( eventType + \".ui-disableSelection\", function( event ) {\r\n\t\t\t\tevent.preventDefault();\r\n\t\t\t});\r\n\t\t};\r\n\t})(),\r\n\r\n\tenableSelection: function() {\r\n\t\treturn this.unbind( \".ui-disableSelection\" );\r\n\t},\r\n\r\n\tzIndex: function( zIndex ) {\r\n\t\tif ( zIndex !== undefined ) {\r\n\t\t\treturn this.css( \"zIndex\", zIndex );\r\n\t\t}\r\n\r\n\t\tif ( this.length ) {\r\n\t\t\tvar elem = $( this[ 0 ] ), position, value;\r\n\t\t\twhile ( elem.length && elem[ 0 ] !== document ) {\r\n\t\t\t\t// Ignore z-index if position is set to a value where z-index is ignored by the browser\r\n\t\t\t\t// This makes behavior of this function consistent across browsers\r\n\t\t\t\t// WebKit always returns auto if the element is positioned\r\n\t\t\t\tposition = elem.css( \"position\" );\r\n\t\t\t\tif ( position === \"absolute\" || position === \"relative\" || position === \"fixed\" ) {\r\n\t\t\t\t\t// IE returns 0 when zIndex is not specified\r\n\t\t\t\t\t// other browsers return a string\r\n\t\t\t\t\t// we ignore the case of nested elements with an explicit value of 0\r\n\t\t\t\t\t// <div style=\"z-index: -10;\"><div style=\"z-index: 0;\"></div></div>\r\n\t\t\t\t\tvalue = parseInt( elem.css( \"zIndex\" ), 10 );\r\n\t\t\t\t\tif ( !isNaN( value ) && value !== 0 ) {\r\n\t\t\t\t\t\treturn value;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\telem = elem.parent();\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn 0;\r\n\t}\r\n});\r\n\r\n// $.ui.plugin is deprecated. Use $.widget() extensions instead.\r\n$.ui.plugin = {\r\n\tadd: function( module, option, set ) {\r\n\t\tvar i,\r\n\t\t\tproto = $.ui[ module ].prototype;\r\n\t\tfor ( i in set ) {\r\n\t\t\tproto.plugins[ i ] = proto.plugins[ i ] || [];\r\n\t\t\tproto.plugins[ i ].push( [ option, set[ i ] ] );\r\n\t\t}\r\n\t},\r\n\tcall: function( instance, name, args, allowDisconnected ) {\r\n\t\tvar i,\r\n\t\t\tset = instance.plugins[ name ];\r\n\r\n\t\tif ( !set ) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tif ( !allowDisconnected && ( !instance.element[ 0 ].parentNode || instance.element[ 0 ].parentNode.nodeType === 11 ) ) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tfor ( i = 0; i < set.length; i++ ) {\r\n\t\t\tif ( instance.options[ set[ i ][ 0 ] ] ) {\r\n\t\t\t\tset[ i ][ 1 ].apply( instance.element, args );\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n};\r\n\r\n\r\n/*!\r\n * jQuery UI Widget 1.11.4\r\n * http://jqueryui.com\r\n *\r\n * Copyright jQuery Foundation and other contributors\r\n * Released under the MIT license.\r\n * http://jquery.org/license\r\n *\r\n * http://api.jqueryui.com/jQuery.widget/\r\n */\r\n\r\n\r\nvar widget_uuid = 0,\r\n\twidget_slice = Array.prototype.slice;\r\n\r\n$.cleanData = (function( orig ) {\r\n\treturn function( elems ) {\r\n\t\tvar events, elem, i;\r\n\t\tfor ( i = 0; (elem = elems[i]) != null; i++ ) {\r\n\t\t\ttry {\r\n\r\n\t\t\t\t// Only trigger remove when necessary to save time\r\n\t\t\t\tevents = $._data( elem, \"events\" );\r\n\t\t\t\tif ( events && events.remove ) {\r\n\t\t\t\t\t$( elem ).triggerHandler( \"remove\" );\r\n\t\t\t\t}\r\n\r\n\t\t\t// http://bugs.jquery.com/ticket/8235\r\n\t\t\t} catch ( e ) {}\r\n\t\t}\r\n\t\torig( elems );\r\n\t};\r\n})( $.cleanData );\r\n\r\n$.widget = function( name, base, prototype ) {\r\n\tvar fullName, existingConstructor, constructor, basePrototype,\r\n\t\t// proxiedPrototype allows the provided prototype to remain unmodified\r\n\t\t// so that it can be used as a mixin for multiple widgets (#8876)\r\n\t\tproxiedPrototype = {},\r\n\t\tnamespace = name.split( \".\" )[ 0 ];\r\n\r\n\tname = name.split( \".\" )[ 1 ];\r\n\tfullName = namespace + \"-\" + name;\r\n\r\n\tif ( !prototype ) {\r\n\t\tprototype = base;\r\n\t\tbase = $.Widget;\r\n\t}\r\n\r\n\t// create selector for plugin\r\n\t$.expr[ \":\" ][ fullName.toLowerCase() ] = function( elem ) {\r\n\t\treturn !!$.data( elem, fullName );\r\n\t};\r\n\r\n\t$[ namespace ] = $[ namespace ] || {};\r\n\texistingConstructor = $[ namespace ][ name ];\r\n\tconstructor = $[ namespace ][ name ] = function( options, element ) {\r\n\t\t// allow instantiation without \"new\" keyword\r\n\t\tif ( !this._createWidget ) {\r\n\t\t\treturn new constructor( options, element );\r\n\t\t}\r\n\r\n\t\t// allow instantiation without initializing for simple inheritance\r\n\t\t// must use \"new\" keyword (the code above always passes args)\r\n\t\tif ( arguments.length ) {\r\n\t\t\tthis._createWidget( options, element );\r\n\t\t}\r\n\t};\r\n\t// extend with the existing constructor to carry over any static properties\r\n\t$.extend( constructor, existingConstructor, {\r\n\t\tversion: prototype.version,\r\n\t\t// copy the object used to create the prototype in case we need to\r\n\t\t// redefine the widget later\r\n\t\t_proto: $.extend( {}, prototype ),\r\n\t\t// track widgets that inherit from this widget in case this widget is\r\n\t\t// redefined after a widget inherits from it\r\n\t\t_childConstructors: []\r\n\t});\r\n\r\n\tbasePrototype = new base();\r\n\t// we need to make the options hash a property directly on the new instance\r\n\t// otherwise we'll modify the options hash on the prototype that we're\r\n\t// inheriting from\r\n\tbasePrototype.options = $.widget.extend( {}, basePrototype.options );\r\n\t$.each( prototype, function( prop, value ) {\r\n\t\tif ( !$.isFunction( value ) ) {\r\n\t\t\tproxiedPrototype[ prop ] = value;\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tproxiedPrototype[ prop ] = (function() {\r\n\t\t\tvar _super = function() {\r\n\t\t\t\t\treturn base.prototype[ prop ].apply( this, arguments );\r\n\t\t\t\t},\r\n\t\t\t\t_superApply = function( args ) {\r\n\t\t\t\t\treturn base.prototype[ prop ].apply( this, args );\r\n\t\t\t\t};\r\n\t\t\treturn function() {\r\n\t\t\t\tvar __super = this._super,\r\n\t\t\t\t\t__superApply = this._superApply,\r\n\t\t\t\t\treturnValue;\r\n\r\n\t\t\t\tthis._super = _super;\r\n\t\t\t\tthis._superApply = _superApply;\r\n\r\n\t\t\t\treturnValue = value.apply( this, arguments );\r\n\r\n\t\t\t\tthis._super = __super;\r\n\t\t\t\tthis._superApply = __superApply;\r\n\r\n\t\t\t\treturn returnValue;\r\n\t\t\t};\r\n\t\t})();\r\n\t});\r\n\tconstructor.prototype = $.widget.extend( basePrototype, {\r\n\t\t// TODO: remove support for widgetEventPrefix\r\n\t\t// always use the name + a colon as the prefix, e.g., draggable:start\r\n\t\t// don't prefix for widgets that aren't DOM-based\r\n\t\twidgetEventPrefix: existingConstructor ? (basePrototype.widgetEventPrefix || name) : name\r\n\t}, proxiedPrototype, {\r\n\t\tconstructor: constructor,\r\n\t\tnamespace: namespace,\r\n\t\twidgetName: name,\r\n\t\twidgetFullName: fullName\r\n\t});\r\n\r\n\t// If this widget is being redefined then we need to find all widgets that\r\n\t// are inheriting from it and redefine all of them so that they inherit from\r\n\t// the new version of this widget. We're essentially trying to replace one\r\n\t// level in the prototype chain.\r\n\tif ( existingConstructor ) {\r\n\t\t$.each( existingConstructor._childConstructors, function( i, child ) {\r\n\t\t\tvar childPrototype = child.prototype;\r\n\r\n\t\t\t// redefine the child widget using the same prototype that was\r\n\t\t\t// originally used, but inherit from the new version of the base\r\n\t\t\t$.widget( childPrototype.namespace + \".\" + childPrototype.widgetName, constructor, child._proto );\r\n\t\t});\r\n\t\t// remove the list of existing child constructors from the old constructor\r\n\t\t// so the old child constructors can be garbage collected\r\n\t\tdelete existingConstructor._childConstructors;\r\n\t} else {\r\n\t\tbase._childConstructors.push( constructor );\r\n\t}\r\n\r\n\t$.widget.bridge( name, constructor );\r\n\r\n\treturn constructor;\r\n};\r\n\r\n$.widget.extend = function( target ) {\r\n\tvar input = widget_slice.call( arguments, 1 ),\r\n\t\tinputIndex = 0,\r\n\t\tinputLength = input.length,\r\n\t\tkey,\r\n\t\tvalue;\r\n\tfor ( ; inputIndex < inputLength; inputIndex++ ) {\r\n\t\tfor ( key in input[ inputIndex ] ) {\r\n\t\t\tvalue = input[ inputIndex ][ key ];\r\n\t\t\tif ( input[ inputIndex ].hasOwnProperty( key ) && value !== undefined ) {\r\n\t\t\t\t// Clone objects\r\n\t\t\t\tif ( $.isPlainObject( value ) ) {\r\n\t\t\t\t\ttarget[ key ] = $.isPlainObject( target[ key ] ) ?\r\n\t\t\t\t\t\t$.widget.extend( {}, target[ key ], value ) :\r\n\t\t\t\t\t\t// Don't extend strings, arrays, etc. with objects\r\n\t\t\t\t\t\t$.widget.extend( {}, value );\r\n\t\t\t\t// Copy everything else by reference\r\n\t\t\t\t} else {\r\n\t\t\t\t\ttarget[ key ] = value;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\treturn target;\r\n};\r\n\r\n$.widget.bridge = function( name, object ) {\r\n\tvar fullName = object.prototype.widgetFullName || name;\r\n\t$.fn[ name ] = function( options ) {\r\n\t\tvar isMethodCall = typeof options === \"string\",\r\n\t\t\targs = widget_slice.call( arguments, 1 ),\r\n\t\t\treturnValue = this;\r\n\r\n\t\tif ( isMethodCall ) {\r\n\t\t\tthis.each(function() {\r\n\t\t\t\tvar methodValue,\r\n\t\t\t\t\tinstance = $.data( this, fullName );\r\n\t\t\t\tif ( options === \"instance\" ) {\r\n\t\t\t\t\treturnValue = instance;\r\n\t\t\t\t\treturn false;\r\n\t\t\t\t}\r\n\t\t\t\tif ( !instance ) {\r\n\t\t\t\t\treturn $.error( \"cannot call methods on \" + name + \" prior to initialization; \" +\r\n\t\t\t\t\t\t\"attempted to call method '\" + options + \"'\" );\r\n\t\t\t\t}\r\n\t\t\t\tif ( !$.isFunction( instance[options] ) || options.charAt( 0 ) === \"_\" ) {\r\n\t\t\t\t\treturn $.error( \"no such method '\" + options + \"' for \" + name + \" widget instance\" );\r\n\t\t\t\t}\r\n\t\t\t\tmethodValue = instance[ options ].apply( instance, args );\r\n\t\t\t\tif ( methodValue !== instance && methodValue !== undefined ) {\r\n\t\t\t\t\treturnValue = methodValue && methodValue.jquery ?\r\n\t\t\t\t\t\treturnValue.pushStack( methodValue.get() ) :\r\n\t\t\t\t\t\tmethodValue;\r\n\t\t\t\t\treturn false;\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t} else {\r\n\r\n\t\t\t// Allow multiple hashes to be passed on init\r\n\t\t\tif ( args.length ) {\r\n\t\t\t\toptions = $.widget.extend.apply( null, [ options ].concat(args) );\r\n\t\t\t}\r\n\r\n\t\t\tthis.each(function() {\r\n\t\t\t\tvar instance = $.data( this, fullName );\r\n\t\t\t\tif ( instance ) {\r\n\t\t\t\t\tinstance.option( options || {} );\r\n\t\t\t\t\tif ( instance._init ) {\r\n\t\t\t\t\t\tinstance._init();\r\n\t\t\t\t\t}\r\n\t\t\t\t} else {\r\n\t\t\t\t\t$.data( this, fullName, new object( options, this ) );\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\treturn returnValue;\r\n\t};\r\n};\r\n\r\n$.Widget = function( /* options, element */ ) {};\r\n$.Widget._childConstructors = [];\r\n\r\n$.Widget.prototype = {\r\n\twidgetName: \"widget\",\r\n\twidgetEventPrefix: \"\",\r\n\tdefaultElement: \"<div>\",\r\n\toptions: {\r\n\t\tdisabled: false,\r\n\r\n\t\t// callbacks\r\n\t\tcreate: null\r\n\t},\r\n\t_createWidget: function( options, element ) {\r\n\t\telement = $( element || this.defaultElement || this )[ 0 ];\r\n\t\tthis.element = $( element );\r\n\t\tthis.uuid = widget_uuid++;\r\n\t\tthis.eventNamespace = \".\" + this.widgetName + this.uuid;\r\n\r\n\t\tthis.bindings = $();\r\n\t\tthis.hoverable = $();\r\n\t\tthis.focusable = $();\r\n\r\n\t\tif ( element !== this ) {\r\n\t\t\t$.data( element, this.widgetFullName, this );\r\n\t\t\tthis._on( true, this.element, {\r\n\t\t\t\tremove: function( event ) {\r\n\t\t\t\t\tif ( event.target === element ) {\r\n\t\t\t\t\t\tthis.destroy();\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t\tthis.document = $( element.style ?\r\n\t\t\t\t// element within the document\r\n\t\t\t\telement.ownerDocument :\r\n\t\t\t\t// element is window or document\r\n\t\t\t\telement.document || element );\r\n\t\t\tthis.window = $( this.document[0].defaultView || this.document[0].parentWindow );\r\n\t\t}\r\n\r\n\t\tthis.options = $.widget.extend( {},\r\n\t\t\tthis.options,\r\n\t\t\tthis._getCreateOptions(),\r\n\t\t\toptions );\r\n\r\n\t\tthis._create();\r\n\t\tthis._trigger( \"create\", null, this._getCreateEventData() );\r\n\t\tthis._init();\r\n\t},\r\n\t_getCreateOptions: $.noop,\r\n\t_getCreateEventData: $.noop,\r\n\t_create: $.noop,\r\n\t_init: $.noop,\r\n\r\n\tdestroy: function() {\r\n\t\tthis._destroy();\r\n\t\t// we can probably remove the unbind calls in 2.0\r\n\t\t// all event bindings should go through this._on()\r\n\t\tthis.element\r\n\t\t\t.unbind( this.eventNamespace )\r\n\t\t\t.removeData( this.widgetFullName )\r\n\t\t\t// support: jquery <1.6.3\r\n\t\t\t// http://bugs.jquery.com/ticket/9413\r\n\t\t\t.removeData( $.camelCase( this.widgetFullName ) );\r\n\t\tthis.widget()\r\n\t\t\t.unbind( this.eventNamespace )\r\n\t\t\t.removeAttr( \"aria-disabled\" )\r\n\t\t\t.removeClass(\r\n\t\t\t\tthis.widgetFullName + \"-disabled \" +\r\n\t\t\t\t\"ui-state-disabled\" );\r\n\r\n\t\t// clean up events and states\r\n\t\tthis.bindings.unbind( this.eventNamespace );\r\n\t\tthis.hoverable.removeClass( \"ui-state-hover\" );\r\n\t\tthis.focusable.removeClass( \"ui-state-focus\" );\r\n\t},\r\n\t_destroy: $.noop,\r\n\r\n\twidget: function() {\r\n\t\treturn this.element;\r\n\t},\r\n\r\n\toption: function( key, value ) {\r\n\t\tvar options = key,\r\n\t\t\tparts,\r\n\t\t\tcurOption,\r\n\t\t\ti;\r\n\r\n\t\tif ( arguments.length === 0 ) {\r\n\t\t\t// don't return a reference to the internal hash\r\n\t\t\treturn $.widget.extend( {}, this.options );\r\n\t\t}\r\n\r\n\t\tif ( typeof key === \"string\" ) {\r\n\t\t\t// handle nested keys, e.g., \"foo.bar\" => { foo: { bar: ___ } }\r\n\t\t\toptions = {};\r\n\t\t\tparts = key.split( \".\" );\r\n\t\t\tkey = parts.shift();\r\n\t\t\tif ( parts.length ) {\r\n\t\t\t\tcurOption = options[ key ] = $.widget.extend( {}, this.options[ key ] );\r\n\t\t\t\tfor ( i = 0; i < parts.length - 1; i++ ) {\r\n\t\t\t\t\tcurOption[ parts[ i ] ] = curOption[ parts[ i ] ] || {};\r\n\t\t\t\t\tcurOption = curOption[ parts[ i ] ];\r\n\t\t\t\t}\r\n\t\t\t\tkey = parts.pop();\r\n\t\t\t\tif ( arguments.length === 1 ) {\r\n\t\t\t\t\treturn curOption[ key ] === undefined ? null : curOption[ key ];\r\n\t\t\t\t}\r\n\t\t\t\tcurOption[ key ] = value;\r\n\t\t\t} else {\r\n\t\t\t\tif ( arguments.length === 1 ) {\r\n\t\t\t\t\treturn this.options[ key ] === undefined ? null : this.options[ key ];\r\n\t\t\t\t}\r\n\t\t\t\toptions[ key ] = value;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tthis._setOptions( options );\r\n\r\n\t\treturn this;\r\n\t},\r\n\t_setOptions: function( options ) {\r\n\t\tvar key;\r\n\r\n\t\tfor ( key in options ) {\r\n\t\t\tthis._setOption( key, options[ key ] );\r\n\t\t}\r\n\r\n\t\treturn this;\r\n\t},\r\n\t_setOption: function( key, value ) {\r\n\t\tthis.options[ key ] = value;\r\n\r\n\t\tif ( key === \"disabled\" ) {\r\n\t\t\tthis.widget()\r\n\t\t\t\t.toggleClass( this.widgetFullName + \"-disabled\", !!value );\r\n\r\n\t\t\t// If the widget is becoming disabled, then nothing is interactive\r\n\t\t\tif ( value ) {\r\n\t\t\t\tthis.hoverable.removeClass( \"ui-state-hover\" );\r\n\t\t\t\tthis.focusable.removeClass( \"ui-state-focus\" );\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn this;\r\n\t},\r\n\r\n\tenable: function() {\r\n\t\treturn this._setOptions({ disabled: false });\r\n\t},\r\n\tdisable: function() {\r\n\t\treturn this._setOptions({ disabled: true });\r\n\t},\r\n\r\n\t_on: function( suppressDisabledCheck, element, handlers ) {\r\n\t\tvar delegateElement,\r\n\t\t\tinstance = this;\r\n\r\n\t\t// no suppressDisabledCheck flag, shuffle arguments\r\n\t\tif ( typeof suppressDisabledCheck !== \"boolean\" ) {\r\n\t\t\thandlers = element;\r\n\t\t\telement = suppressDisabledCheck;\r\n\t\t\tsuppressDisabledCheck = false;\r\n\t\t}\r\n\r\n\t\t// no element argument, shuffle and use this.element\r\n\t\tif ( !handlers ) {\r\n\t\t\thandlers = element;\r\n\t\t\telement = this.element;\r\n\t\t\tdelegateElement = this.widget();\r\n\t\t} else {\r\n\t\t\telement = delegateElement = $( element );\r\n\t\t\tthis.bindings = this.bindings.add( element );\r\n\t\t}\r\n\r\n\t\t$.each( handlers, function( event, handler ) {\r\n\t\t\tfunction handlerProxy() {\r\n\t\t\t\t// allow widgets to customize the disabled handling\r\n\t\t\t\t// - disabled as an array instead of boolean\r\n\t\t\t\t// - disabled class as method for disabling individual parts\r\n\t\t\t\tif ( !suppressDisabledCheck &&\r\n\t\t\t\t\t\t( instance.options.disabled === true ||\r\n\t\t\t\t\t\t\t$( this ).hasClass( \"ui-state-disabled\" ) ) ) {\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t\treturn ( typeof handler === \"string\" ? instance[ handler ] : handler )\r\n\t\t\t\t\t.apply( instance, arguments );\r\n\t\t\t}\r\n\r\n\t\t\t// copy the guid so direct unbinding works\r\n\t\t\tif ( typeof handler !== \"string\" ) {\r\n\t\t\t\thandlerProxy.guid = handler.guid =\r\n\t\t\t\t\thandler.guid || handlerProxy.guid || $.guid++;\r\n\t\t\t}\r\n\r\n\t\t\tvar match = event.match( /^([\\w:-]*)\\s*(.*)$/ ),\r\n\t\t\t\teventName = match[1] + instance.eventNamespace,\r\n\t\t\t\tselector = match[2];\r\n\t\t\tif ( selector ) {\r\n\t\t\t\tdelegateElement.delegate( selector, eventName, handlerProxy );\r\n\t\t\t} else {\r\n\t\t\t\telement.bind( eventName, handlerProxy );\r\n\t\t\t}\r\n\t\t});\r\n\t},\r\n\r\n\t_off: function( element, eventName ) {\r\n\t\teventName = (eventName || \"\").split( \" \" ).join( this.eventNamespace + \" \" ) +\r\n\t\t\tthis.eventNamespace;\r\n\t\telement.unbind( eventName ).undelegate( eventName );\r\n\r\n\t\t// Clear the stack to avoid memory leaks (#10056)\r\n\t\tthis.bindings = $( this.bindings.not( element ).get() );\r\n\t\tthis.focusable = $( this.focusable.not( element ).get() );\r\n\t\tthis.hoverable = $( this.hoverable.not( element ).get() );\r\n\t},\r\n\r\n\t_delay: function( handler, delay ) {\r\n\t\tfunction handlerProxy() {\r\n\t\t\treturn ( typeof handler === \"string\" ? instance[ handler ] : handler )\r\n\t\t\t\t.apply( instance, arguments );\r\n\t\t}\r\n\t\tvar instance = this;\r\n\t\treturn setTimeout( handlerProxy, delay || 0 );\r\n\t},\r\n\r\n\t_hoverable: function( element ) {\r\n\t\tthis.hoverable = this.hoverable.add( element );\r\n\t\tthis._on( element, {\r\n\t\t\tmouseenter: function( event ) {\r\n\t\t\t\t$( event.currentTarget ).addClass( \"ui-state-hover\" );\r\n\t\t\t},\r\n\t\t\tmouseleave: function( event ) {\r\n\t\t\t\t$( event.currentTarget ).removeClass( \"ui-state-hover\" );\r\n\t\t\t}\r\n\t\t});\r\n\t},\r\n\r\n\t_focusable: function( element ) {\r\n\t\tthis.focusable = this.focusable.add( element );\r\n\t\tthis._on( element, {\r\n\t\t\tfocusin: function( event ) {\r\n\t\t\t\t$( event.currentTarget ).addClass( \"ui-state-focus\" );\r\n\t\t\t},\r\n\t\t\tfocusout: function( event ) {\r\n\t\t\t\t$( event.currentTarget ).removeClass( \"ui-state-focus\" );\r\n\t\t\t}\r\n\t\t});\r\n\t},\r\n\r\n\t_trigger: function( type, event, data ) {\r\n\t\tvar prop, orig,\r\n\t\t\tcallback = this.options[ type ];\r\n\r\n\t\tdata = data || {};\r\n\t\tevent = $.Event( event );\r\n\t\tevent.type = ( type === this.widgetEventPrefix ?\r\n\t\t\ttype :\r\n\t\t\tthis.widgetEventPrefix + type ).toLowerCase();\r\n\t\t// the original event may come from any element\r\n\t\t// so we need to reset the target on the new event\r\n\t\tevent.target = this.element[ 0 ];\r\n\r\n\t\t// copy original event properties over to the new event\r\n\t\torig = event.originalEvent;\r\n\t\tif ( orig ) {\r\n\t\t\tfor ( prop in orig ) {\r\n\t\t\t\tif ( !( prop in event ) ) {\r\n\t\t\t\t\tevent[ prop ] = orig[ prop ];\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tthis.element.trigger( event, data );\r\n\t\treturn !( $.isFunction( callback ) &&\r\n\t\t\tcallback.apply( this.element[0], [ event ].concat( data ) ) === false ||\r\n\t\t\tevent.isDefaultPrevented() );\r\n\t}\r\n};\r\n\r\n$.each( { show: \"fadeIn\", hide: \"fadeOut\" }, function( method, defaultEffect ) {\r\n\t$.Widget.prototype[ \"_\" + method ] = function( element, options, callback ) {\r\n\t\tif ( typeof options === \"string\" ) {\r\n\t\t\toptions = { effect: options };\r\n\t\t}\r\n\t\tvar hasOptions,\r\n\t\t\teffectName = !options ?\r\n\t\t\t\tmethod :\r\n\t\t\t\toptions === true || typeof options === \"number\" ?\r\n\t\t\t\t\tdefaultEffect :\r\n\t\t\t\t\toptions.effect || defaultEffect;\r\n\t\toptions = options || {};\r\n\t\tif ( typeof options === \"number\" ) {\r\n\t\t\toptions = { duration: options };\r\n\t\t}\r\n\t\thasOptions = !$.isEmptyObject( options );\r\n\t\toptions.complete = callback;\r\n\t\tif ( options.delay ) {\r\n\t\t\telement.delay( options.delay );\r\n\t\t}\r\n\t\tif ( hasOptions && $.effects && $.effects.effect[ effectName ] ) {\r\n\t\t\telement[ method ]( options );\r\n\t\t} else if ( effectName !== method && element[ effectName ] ) {\r\n\t\t\telement[ effectName ]( options.duration, options.easing, callback );\r\n\t\t} else {\r\n\t\t\telement.queue(function( next ) {\r\n\t\t\t\t$( this )[ method ]();\r\n\t\t\t\tif ( callback ) {\r\n\t\t\t\t\tcallback.call( element[ 0 ] );\r\n\t\t\t\t}\r\n\t\t\t\tnext();\r\n\t\t\t});\r\n\t\t}\r\n\t};\r\n});\r\n\r\nvar widget = $.widget;\r\n\r\n\r\n/*!\r\n * jQuery UI Mouse 1.11.4\r\n * http://jqueryui.com\r\n *\r\n * Copyright jQuery Foundation and other contributors\r\n * Released under the MIT license.\r\n * http://jquery.org/license\r\n *\r\n * http://api.jqueryui.com/mouse/\r\n */\r\n\r\n\r\nvar mouseHandled = false;\r\n$( document ).mouseup( function() {\r\n\tmouseHandled = false;\r\n});\r\n\r\nvar mouse = $.widget(\"ui.mouse\", {\r\n\tversion: \"1.11.4\",\r\n\toptions: {\r\n\t\tcancel: \"input,textarea,button,select,option\",\r\n\t\tdistance: 1,\r\n\t\tdelay: 0\r\n\t},\r\n\t_mouseInit: function() {\r\n\t\tvar that = this;\r\n\r\n\t\tthis.element\r\n\t\t\t.bind(\"mousedown.\" + this.widgetName, function(event) {\r\n\t\t\t\treturn that._mouseDown(event);\r\n\t\t\t})\r\n\t\t\t.bind(\"click.\" + this.widgetName, function(event) {\r\n\t\t\t\tif (true === $.data(event.target, that.widgetName + \".preventClickEvent\")) {\r\n\t\t\t\t\t$.removeData(event.target, that.widgetName + \".preventClickEvent\");\r\n\t\t\t\t\tevent.stopImmediatePropagation();\r\n\t\t\t\t\treturn false;\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\tthis.started = false;\r\n\t},\r\n\r\n\t// TODO: make sure destroying one instance of mouse doesn't mess with\r\n\t// other instances of mouse\r\n\t_mouseDestroy: function() {\r\n\t\tthis.element.unbind(\".\" + this.widgetName);\r\n\t\tif ( this._mouseMoveDelegate ) {\r\n\t\t\tthis.document\r\n\t\t\t\t.unbind(\"mousemove.\" + this.widgetName, this._mouseMoveDelegate)\r\n\t\t\t\t.unbind(\"mouseup.\" + this.widgetName, this._mouseUpDelegate);\r\n\t\t}\r\n\t},\r\n\r\n\t_mouseDown: function(event) {\r\n\t\t// don't let more than one widget handle mouseStart\r\n\t\tif ( mouseHandled ) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tthis._mouseMoved = false;\r\n\r\n\t\t// we may have missed mouseup (out of window)\r\n\t\t(this._mouseStarted && this._mouseUp(event));\r\n\r\n\t\tthis._mouseDownEvent = event;\r\n\r\n\t\tvar that = this,\r\n\t\t\tbtnIsLeft = (event.which === 1),\r\n\t\t\t// event.target.nodeName works around a bug in IE 8 with\r\n\t\t\t// disabled inputs (#7620)\r\n\t\t\telIsCancel = (typeof this.options.cancel === \"string\" && event.target.nodeName ? $(event.target).closest(this.options.cancel).length : false);\r\n\t\tif (!btnIsLeft || elIsCancel || !this._mouseCapture(event)) {\r\n\t\t\treturn true;\r\n\t\t}\r\n\r\n\t\tthis.mouseDelayMet = !this.options.delay;\r\n\t\tif (!this.mouseDelayMet) {\r\n\t\t\tthis._mouseDelayTimer = setTimeout(function() {\r\n\t\t\t\tthat.mouseDelayMet = true;\r\n\t\t\t}, this.options.delay);\r\n\t\t}\r\n\r\n\t\tif (this._mouseDistanceMet(event) && this._mouseDelayMet(event)) {\r\n\t\t\tthis._mouseStarted = (this._mouseStart(event) !== false);\r\n\t\t\tif (!this._mouseStarted) {\r\n\t\t\t\tevent.preventDefault();\r\n\t\t\t\treturn true;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t// Click event may never have fired (Gecko & Opera)\r\n\t\tif (true === $.data(event.target, this.widgetName + \".preventClickEvent\")) {\r\n\t\t\t$.removeData(event.target, this.widgetName + \".preventClickEvent\");\r\n\t\t}\r\n\r\n\t\t// these delegates are required to keep context\r\n\t\tthis._mouseMoveDelegate = function(event) {\r\n\t\t\treturn that._mouseMove(event);\r\n\t\t};\r\n\t\tthis._mouseUpDelegate = function(event) {\r\n\t\t\treturn that._mouseUp(event);\r\n\t\t};\r\n\r\n\t\tthis.document\r\n\t\t\t.bind( \"mousemove.\" + this.widgetName, this._mouseMoveDelegate )\r\n\t\t\t.bind( \"mouseup.\" + this.widgetName, this._mouseUpDelegate );\r\n\r\n\t\tevent.preventDefault();\r\n\r\n\t\tmouseHandled = true;\r\n\t\treturn true;\r\n\t},\r\n\r\n\t_mouseMove: function(event) {\r\n\t\t// Only check for mouseups outside the document if you've moved inside the document\r\n\t\t// at least once. This prevents the firing of mouseup in the case of IE<9, which will\r\n\t\t// fire a mousemove event if content is placed under the cursor. See #7778\r\n\t\t// Support: IE <9\r\n\t\tif ( this._mouseMoved ) {\r\n\t\t\t// IE mouseup check - mouseup happened when mouse was out of window\r\n\t\t\tif ($.ui.ie && ( !document.documentMode || document.documentMode < 9 ) && !event.button) {\r\n\t\t\t\treturn this._mouseUp(event);\r\n\r\n\t\t\t// Iframe mouseup check - mouseup occurred in another document\r\n\t\t\t} else if ( !event.which ) {\r\n\t\t\t\treturn this._mouseUp( event );\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif ( event.which || event.button ) {\r\n\t\t\tthis._mouseMoved = true;\r\n\t\t}\r\n\r\n\t\tif (this._mouseStarted) {\r\n\t\t\tthis._mouseDrag(event);\r\n\t\t\treturn event.preventDefault();\r\n\t\t}\r\n\r\n\t\tif (this._mouseDistanceMet(event) && this._mouseDelayMet(event)) {\r\n\t\t\tthis._mouseStarted =\r\n\t\t\t\t(this._mouseStart(this._mouseDownEvent, event) !== false);\r\n\t\t\t(this._mouseStarted ? this._mouseDrag(event) : this._mouseUp(event));\r\n\t\t}\r\n\r\n\t\treturn !this._mouseStarted;\r\n\t},\r\n\r\n\t_mouseUp: function(event) {\r\n\t\tthis.document\r\n\t\t\t.unbind( \"mousemove.\" + this.widgetName, this._mouseMoveDelegate )\r\n\t\t\t.unbind( \"mouseup.\" + this.widgetName, this._mouseUpDelegate );\r\n\r\n\t\tif (this._mouseStarted) {\r\n\t\t\tthis._mouseStarted = false;\r\n\r\n\t\t\tif (event.target === this._mouseDownEvent.target) {\r\n\t\t\t\t$.data(event.target, this.widgetName + \".preventClickEvent\", true);\r\n\t\t\t}\r\n\r\n\t\t\tthis._mouseStop(event);\r\n\t\t}\r\n\r\n\t\tmouseHandled = false;\r\n\t\treturn false;\r\n\t},\r\n\r\n\t_mouseDistanceMet: function(event) {\r\n\t\treturn (Math.max(\r\n\t\t\t\tMath.abs(this._mouseDownEvent.pageX - event.pageX),\r\n\t\t\t\tMath.abs(this._mouseDownEvent.pageY - event.pageY)\r\n\t\t\t) >= this.options.distance\r\n\t\t);\r\n\t},\r\n\r\n\t_mouseDelayMet: function(/* event */) {\r\n\t\treturn this.mouseDelayMet;\r\n\t},\r\n\r\n\t// These are placeholder methods, to be overriden by extending plugin\r\n\t_mouseStart: function(/* event */) {},\r\n\t_mouseDrag: function(/* event */) {},\r\n\t_mouseStop: function(/* event */) {},\r\n\t_mouseCapture: function(/* event */) { return true; }\r\n});\r\n\r\n\r\n/*!\r\n * jQuery UI Position 1.11.4\r\n * http://jqueryui.com\r\n *\r\n * Copyright jQuery Foundation and other contributors\r\n * Released under the MIT license.\r\n * http://jquery.org/license\r\n *\r\n * http://api.jqueryui.com/position/\r\n */\r\n\r\n(function() {\r\n\r\n$.ui = $.ui || {};\r\n\r\nvar cachedScrollbarWidth, supportsOffsetFractions,\r\n\tmax = Math.max,\r\n\tabs = Math.abs,\r\n\tround = Math.round,\r\n\trhorizontal = /left|center|right/,\r\n\trvertical = /top|center|bottom/,\r\n\troffset = /[\\+\\-]\\d+(\\.[\\d]+)?%?/,\r\n\trposition = /^\\w+/,\r\n\trpercent = /%$/,\r\n\t_position = $.fn.position;\r\n\r\nfunction getOffsets( offsets, width, height ) {\r\n\treturn [\r\n\t\tparseFloat( offsets[ 0 ] ) * ( rpercent.test( offsets[ 0 ] ) ? width / 100 : 1 ),\r\n\t\tparseFloat( offsets[ 1 ] ) * ( rpercent.test( offsets[ 1 ] ) ? height / 100 : 1 )\r\n\t];\r\n}\r\n\r\nfunction parseCss( element, property ) {\r\n\treturn parseInt( $.css( element, property ), 10 ) || 0;\r\n}\r\n\r\nfunction getDimensions( elem ) {\r\n\tvar raw = elem[0];\r\n\tif ( raw.nodeType === 9 ) {\r\n\t\treturn {\r\n\t\t\twidth: elem.width(),\r\n\t\t\theight: elem.height(),\r\n\t\t\toffset: { top: 0, left: 0 }\r\n\t\t};\r\n\t}\r\n\tif ( $.isWindow( raw ) ) {\r\n\t\treturn {\r\n\t\t\twidth: elem.width(),\r\n\t\t\theight: elem.height(),\r\n\t\t\toffset: { top: elem.scrollTop(), left: elem.scrollLeft() }\r\n\t\t};\r\n\t}\r\n\tif ( raw.preventDefault ) {\r\n\t\treturn {\r\n\t\t\twidth: 0,\r\n\t\t\theight: 0,\r\n\t\t\toffset: { top: raw.pageY, left: raw.pageX }\r\n\t\t};\r\n\t}\r\n\treturn {\r\n\t\twidth: elem.outerWidth(),\r\n\t\theight: elem.outerHeight(),\r\n\t\toffset: elem.offset()\r\n\t};\r\n}\r\n\r\n$.position = {\r\n\tscrollbarWidth: function() {\r\n\t\tif ( cachedScrollbarWidth !== undefined ) {\r\n\t\t\treturn cachedScrollbarWidth;\r\n\t\t}\r\n\t\tvar w1, w2,\r\n\t\t\tdiv = $( \"<div style='display:block;position:absolute;width:50px;height:50px;overflow:hidden;'><div style='height:100px;width:auto;'></div></div>\" ),\r\n\t\t\tinnerDiv = div.children()[0];\r\n\r\n\t\t$( \"body\" ).append( div );\r\n\t\tw1 = innerDiv.offsetWidth;\r\n\t\tdiv.css( \"overflow\", \"scroll\" );\r\n\r\n\t\tw2 = innerDiv.offsetWidth;\r\n\r\n\t\tif ( w1 === w2 ) {\r\n\t\t\tw2 = div[0].clientWidth;\r\n\t\t}\r\n\r\n\t\tdiv.remove();\r\n\r\n\t\treturn (cachedScrollbarWidth = w1 - w2);\r\n\t},\r\n\tgetScrollInfo: function( within ) {\r\n\t\tvar overflowX = within.isWindow || within.isDocument ? \"\" :\r\n\t\t\t\twithin.element.css( \"overflow-x\" ),\r\n\t\t\toverflowY = within.isWindow || within.isDocument ? \"\" :\r\n\t\t\t\twithin.element.css( \"overflow-y\" ),\r\n\t\t\thasOverflowX = overflowX === \"scroll\" ||\r\n\t\t\t\t( overflowX === \"auto\" && within.width < within.element[0].scrollWidth ),\r\n\t\t\thasOverflowY = overflowY === \"scroll\" ||\r\n\t\t\t\t( overflowY === \"auto\" && within.height < within.element[0].scrollHeight );\r\n\t\treturn {\r\n\t\t\twidth: hasOverflowY ? $.position.scrollbarWidth() : 0,\r\n\t\t\theight: hasOverflowX ? $.position.scrollbarWidth() : 0\r\n\t\t};\r\n\t},\r\n\tgetWithinInfo: function( element ) {\r\n\t\tvar withinElement = $( element || window ),\r\n\t\t\tisWindow = $.isWindow( withinElement[0] ),\r\n\t\t\tisDocument = !!withinElement[ 0 ] && withinElement[ 0 ].nodeType === 9;\r\n\t\treturn {\r\n\t\t\telement: withinElement,\r\n\t\t\tisWindow: isWindow,\r\n\t\t\tisDocument: isDocument,\r\n\t\t\toffset: withinElement.offset() || { left: 0, top: 0 },\r\n\t\t\tscrollLeft: withinElement.scrollLeft(),\r\n\t\t\tscrollTop: withinElement.scrollTop(),\r\n\r\n\t\t\t// support: jQuery 1.6.x\r\n\t\t\t// jQuery 1.6 doesn't support .outerWidth/Height() on documents or windows\r\n\t\t\twidth: isWindow || isDocument ? withinElement.width() : withinElement.outerWidth(),\r\n\t\t\theight: isWindow || isDocument ? withinElement.height() : withinElement.outerHeight()\r\n\t\t};\r\n\t}\r\n};\r\n\r\n$.fn.position = function( options ) {\r\n\tif ( !options || !options.of ) {\r\n\t\treturn _position.apply( this, arguments );\r\n\t}\r\n\r\n\t// make a copy, we don't want to modify arguments\r\n\toptions = $.extend( {}, options );\r\n\r\n\tvar atOffset, targetWidth, targetHeight, targetOffset, basePosition, dimensions,\r\n\t\ttarget = $( options.of ),\r\n\t\twithin = $.position.getWithinInfo( options.within ),\r\n\t\tscrollInfo = $.position.getScrollInfo( within ),\r\n\t\tcollision = ( options.collision || \"flip\" ).split( \" \" ),\r\n\t\toffsets = {};\r\n\r\n\tdimensions = getDimensions( target );\r\n\tif ( target[0].preventDefault ) {\r\n\t\t// force left top to allow flipping\r\n\t\toptions.at = \"left top\";\r\n\t}\r\n\ttargetWidth = dimensions.width;\r\n\ttargetHeight = dimensions.height;\r\n\ttargetOffset = dimensions.offset;\r\n\t// clone to reuse original targetOffset later\r\n\tbasePosition = $.extend( {}, targetOffset );\r\n\r\n\t// force my and at to have valid horizontal and vertical positions\r\n\t// if a value is missing or invalid, it will be converted to center\r\n\t$.each( [ \"my\", \"at\" ], function() {\r\n\t\tvar pos = ( options[ this ] || \"\" ).split( \" \" ),\r\n\t\t\thorizontalOffset,\r\n\t\t\tverticalOffset;\r\n\r\n\t\tif ( pos.length === 1) {\r\n\t\t\tpos = rhorizontal.test( pos[ 0 ] ) ?\r\n\t\t\t\tpos.concat( [ \"center\" ] ) :\r\n\t\t\t\trvertical.test( pos[ 0 ] ) ?\r\n\t\t\t\t\t[ \"center\" ].concat( pos ) :\r\n\t\t\t\t\t[ \"center\", \"center\" ];\r\n\t\t}\r\n\t\tpos[ 0 ] = rhorizontal.test( pos[ 0 ] ) ? pos[ 0 ] : \"center\";\r\n\t\tpos[ 1 ] = rvertical.test( pos[ 1 ] ) ? pos[ 1 ] : \"center\";\r\n\r\n\t\t// calculate offsets\r\n\t\thorizontalOffset = roffset.exec( pos[ 0 ] );\r\n\t\tverticalOffset = roffset.exec( pos[ 1 ] );\r\n\t\toffsets[ this ] = [\r\n\t\t\thorizontalOffset ? horizontalOffset[ 0 ] : 0,\r\n\t\t\tverticalOffset ? verticalOffset[ 0 ] : 0\r\n\t\t];\r\n\r\n\t\t// reduce to just the positions without the offsets\r\n\t\toptions[ this ] = [\r\n\t\t\trposition.exec( pos[ 0 ] )[ 0 ],\r\n\t\t\trposition.exec( pos[ 1 ] )[ 0 ]\r\n\t\t];\r\n\t});\r\n\r\n\t// normalize collision option\r\n\tif ( collision.length === 1 ) {\r\n\t\tcollision[ 1 ] = collision[ 0 ];\r\n\t}\r\n\r\n\tif ( options.at[ 0 ] === \"right\" ) {\r\n\t\tbasePosition.left += targetWidth;\r\n\t} else if ( options.at[ 0 ] === \"center\" ) {\r\n\t\tbasePosition.left += targetWidth / 2;\r\n\t}\r\n\r\n\tif ( options.at[ 1 ] === \"bottom\" ) {\r\n\t\tbasePosition.top += targetHeight;\r\n\t} else if ( options.at[ 1 ] === \"center\" ) {\r\n\t\tbasePosition.top += targetHeight / 2;\r\n\t}\r\n\r\n\tatOffset = getOffsets( offsets.at, targetWidth, targetHeight );\r\n\tbasePosition.left += atOffset[ 0 ];\r\n\tbasePosition.top += atOffset[ 1 ];\r\n\r\n\treturn this.each(function() {\r\n\t\tvar collisionPosition, using,\r\n\t\t\telem = $( this ),\r\n\t\t\telemWidth = elem.outerWidth(),\r\n\t\t\telemHeight = elem.outerHeight(),\r\n\t\t\tmarginLeft = parseCss( this, \"marginLeft\" ),\r\n\t\t\tmarginTop = parseCss( this, \"marginTop\" ),\r\n\t\t\tcollisionWidth = elemWidth + marginLeft + parseCss( this, \"marginRight\" ) + scrollInfo.width,\r\n\t\t\tcollisionHeight = elemHeight + marginTop + parseCss( this, \"marginBottom\" ) + scrollInfo.height,\r\n\t\t\tposition = $.extend( {}, basePosition ),\r\n\t\t\tmyOffset = getOffsets( offsets.my, elem.outerWidth(), elem.outerHeight() );\r\n\r\n\t\tif ( options.my[ 0 ] === \"right\" ) {\r\n\t\t\tposition.left -= elemWidth;\r\n\t\t} else if ( options.my[ 0 ] === \"center\" ) {\r\n\t\t\tposition.left -= elemWidth / 2;\r\n\t\t}\r\n\r\n\t\tif ( options.my[ 1 ] === \"bottom\" ) {\r\n\t\t\tposition.top -= elemHeight;\r\n\t\t} else if ( options.my[ 1 ] === \"center\" ) {\r\n\t\t\tposition.top -= elemHeight / 2;\r\n\t\t}\r\n\r\n\t\tposition.left += myOffset[ 0 ];\r\n\t\tposition.top += myOffset[ 1 ];\r\n\r\n\t\t// if the browser doesn't support fractions, then round for consistent results\r\n\t\tif ( !supportsOffsetFractions ) {\r\n\t\t\tposition.left = round( position.left );\r\n\t\t\tposition.top = round( position.top );\r\n\t\t}\r\n\r\n\t\tcollisionPosition = {\r\n\t\t\tmarginLeft: marginLeft,\r\n\t\t\tmarginTop: marginTop\r\n\t\t};\r\n\r\n\t\t$.each( [ \"left\", \"top\" ], function( i, dir ) {\r\n\t\t\tif ( $.ui.position[ collision[ i ] ] ) {\r\n\t\t\t\t$.ui.position[ collision[ i ] ][ dir ]( position, {\r\n\t\t\t\t\ttargetWidth: targetWidth,\r\n\t\t\t\t\ttargetHeight: targetHeight,\r\n\t\t\t\t\telemWidth: elemWidth,\r\n\t\t\t\t\telemHeight: elemHeight,\r\n\t\t\t\t\tcollisionPosition: collisionPosition,\r\n\t\t\t\t\tcollisionWidth: collisionWidth,\r\n\t\t\t\t\tcollisionHeight: collisionHeight,\r\n\t\t\t\t\toffset: [ atOffset[ 0 ] + myOffset[ 0 ], atOffset [ 1 ] + myOffset[ 1 ] ],\r\n\t\t\t\t\tmy: options.my,\r\n\t\t\t\t\tat: options.at,\r\n\t\t\t\t\twithin: within,\r\n\t\t\t\t\telem: elem\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\tif ( options.using ) {\r\n\t\t\t// adds feedback as second argument to using callback, if present\r\n\t\t\tusing = function( props ) {\r\n\t\t\t\tvar left = targetOffset.left - position.left,\r\n\t\t\t\t\tright = left + targetWidth - elemWidth,\r\n\t\t\t\t\ttop = targetOffset.top - position.top,\r\n\t\t\t\t\tbottom = top + targetHeight - elemHeight,\r\n\t\t\t\t\tfeedback = {\r\n\t\t\t\t\t\ttarget: {\r\n\t\t\t\t\t\t\telement: target,\r\n\t\t\t\t\t\t\tleft: targetOffset.left,\r\n\t\t\t\t\t\t\ttop: targetOffset.top,\r\n\t\t\t\t\t\t\twidth: targetWidth,\r\n\t\t\t\t\t\t\theight: targetHeight\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\telement: {\r\n\t\t\t\t\t\t\telement: elem,\r\n\t\t\t\t\t\t\tleft: position.left,\r\n\t\t\t\t\t\t\ttop: position.top,\r\n\t\t\t\t\t\t\twidth: elemWidth,\r\n\t\t\t\t\t\t\theight: elemHeight\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\thorizontal: right < 0 ? \"left\" : left > 0 ? \"right\" : \"center\",\r\n\t\t\t\t\t\tvertical: bottom < 0 ? \"top\" : top > 0 ? \"bottom\" : \"middle\"\r\n\t\t\t\t\t};\r\n\t\t\t\tif ( targetWidth < elemWidth && abs( left + right ) < targetWidth ) {\r\n\t\t\t\t\tfeedback.horizontal = \"center\";\r\n\t\t\t\t}\r\n\t\t\t\tif ( targetHeight < elemHeight && abs( top + bottom ) < targetHeight ) {\r\n\t\t\t\t\tfeedback.vertical = \"middle\";\r\n\t\t\t\t}\r\n\t\t\t\tif ( max( abs( left ), abs( right ) ) > max( abs( top ), abs( bottom ) ) ) {\r\n\t\t\t\t\tfeedback.important = \"horizontal\";\r\n\t\t\t\t} else {\r\n\t\t\t\t\tfeedback.important = \"vertical\";\r\n\t\t\t\t}\r\n\t\t\t\toptions.using.call( this, props, feedback );\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\telem.offset( $.extend( position, { using: using } ) );\r\n\t});\r\n};\r\n\r\n$.ui.position = {\r\n\tfit: {\r\n\t\tleft: function( position, data ) {\r\n\t\t\tvar within = data.within,\r\n\t\t\t\twithinOffset = within.isWindow ? within.scrollLeft : within.offset.left,\r\n\t\t\t\touterWidth = within.width,\r\n\t\t\t\tcollisionPosLeft = position.left - data.collisionPosition.marginLeft,\r\n\t\t\t\toverLeft = withinOffset - collisionPosLeft,\r\n\t\t\t\toverRight = collisionPosLeft + data.collisionWidth - outerWidth - withinOffset,\r\n\t\t\t\tnewOverRight;\r\n\r\n\t\t\t// element is wider than within\r\n\t\t\tif ( data.collisionWidth > outerWidth ) {\r\n\t\t\t\t// element is initially over the left side of within\r\n\t\t\t\tif ( overLeft > 0 && overRight <= 0 ) {\r\n\t\t\t\t\tnewOverRight = position.left + overLeft + data.collisionWidth - outerWidth - withinOffset;\r\n\t\t\t\t\tposition.left += overLeft - newOverRight;\r\n\t\t\t\t// element is initially over right side of within\r\n\t\t\t\t} else if ( overRight > 0 && overLeft <= 0 ) {\r\n\t\t\t\t\tposition.left = withinOffset;\r\n\t\t\t\t// element is initially over both left and right sides of within\r\n\t\t\t\t} else {\r\n\t\t\t\t\tif ( overLeft > overRight ) {\r\n\t\t\t\t\t\tposition.left = withinOffset + outerWidth - data.collisionWidth;\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tposition.left = withinOffset;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t// too far left -> align with left edge\r\n\t\t\t} else if ( overLeft > 0 ) {\r\n\t\t\t\tposition.left += overLeft;\r\n\t\t\t// too far right -> align with right edge\r\n\t\t\t} else if ( overRight > 0 ) {\r\n\t\t\t\tposition.left -= overRight;\r\n\t\t\t// adjust based on position and margin\r\n\t\t\t} else {\r\n\t\t\t\tposition.left = max( position.left - collisionPosLeft, position.left );\r\n\t\t\t}\r\n\t\t},\r\n\t\ttop: function( position, data ) {\r\n\t\t\tvar within = data.within,\r\n\t\t\t\twithinOffset = within.isWindow ? within.scrollTop : within.offset.top,\r\n\t\t\t\touterHeight = data.within.height,\r\n\t\t\t\tcollisionPosTop = position.top - data.collisionPosition.marginTop,\r\n\t\t\t\toverTop = withinOffset - collisionPosTop,\r\n\t\t\t\toverBottom = collisionPosTop + data.collisionHeight - outerHeight - withinOffset,\r\n\t\t\t\tnewOverBottom;\r\n\r\n\t\t\t// element is taller than within\r\n\t\t\tif ( data.collisionHeight > outerHeight ) {\r\n\t\t\t\t// element is initially over the top of within\r\n\t\t\t\tif ( overTop > 0 && overBottom <= 0 ) {\r\n\t\t\t\t\tnewOverBottom = position.top + overTop + data.collisionHeight - outerHeight - withinOffset;\r\n\t\t\t\t\tposition.top += overTop - newOverBottom;\r\n\t\t\t\t// element is initially over bottom of within\r\n\t\t\t\t} else if ( overBottom > 0 && overTop <= 0 ) {\r\n\t\t\t\t\tposition.top = withinOffset;\r\n\t\t\t\t// element is initially over both top and bottom of within\r\n\t\t\t\t} else {\r\n\t\t\t\t\tif ( overTop > overBottom ) {\r\n\t\t\t\t\t\tposition.top = withinOffset + outerHeight - data.collisionHeight;\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tposition.top = withinOffset;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t// too far up -> align with top\r\n\t\t\t} else if ( overTop > 0 ) {\r\n\t\t\t\tposition.top += overTop;\r\n\t\t\t// too far down -> align with bottom edge\r\n\t\t\t} else if ( overBottom > 0 ) {\r\n\t\t\t\tposition.top -= overBottom;\r\n\t\t\t// adjust based on position and margin\r\n\t\t\t} else {\r\n\t\t\t\tposition.top = max( position.top - collisionPosTop, position.top );\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n\tflip: {\r\n\t\tleft: function( position, data ) {\r\n\t\t\tvar within = data.within,\r\n\t\t\t\twithinOffset = within.offset.left + within.scrollLeft,\r\n\t\t\t\touterWidth = within.width,\r\n\t\t\t\toffsetLeft = within.isWindow ? within.scrollLeft : within.offset.left,\r\n\t\t\t\tcollisionPosLeft = position.left - data.collisionPosition.marginLeft,\r\n\t\t\t\toverLeft = collisionPosLeft - offsetLeft,\r\n\t\t\t\toverRight = collisionPosLeft + data.collisionWidth - outerWidth - offsetLeft,\r\n\t\t\t\tmyOffset = data.my[ 0 ] === \"left\" ?\r\n\t\t\t\t\t-data.elemWidth :\r\n\t\t\t\t\tdata.my[ 0 ] === \"right\" ?\r\n\t\t\t\t\t\tdata.elemWidth :\r\n\t\t\t\t\t\t0,\r\n\t\t\t\tatOffset = data.at[ 0 ] === \"left\" ?\r\n\t\t\t\t\tdata.targetWidth :\r\n\t\t\t\t\tdata.at[ 0 ] === \"right\" ?\r\n\t\t\t\t\t\t-data.targetWidth :\r\n\t\t\t\t\t\t0,\r\n\t\t\t\toffset = -2 * data.offset[ 0 ],\r\n\t\t\t\tnewOverRight,\r\n\t\t\t\tnewOverLeft;\r\n\r\n\t\t\tif ( overLeft < 0 ) {\r\n\t\t\t\tnewOverRight = position.left + myOffset + atOffset + offset + data.collisionWidth - outerWidth - withinOffset;\r\n\t\t\t\tif ( newOverRight < 0 || newOverRight < abs( overLeft ) ) {\r\n\t\t\t\t\tposition.left += myOffset + atOffset + offset;\r\n\t\t\t\t}\r\n\t\t\t} else if ( overRight > 0 ) {\r\n\t\t\t\tnewOverLeft = position.left - data.collisionPosition.marginLeft + myOffset + atOffset + offset - offsetLeft;\r\n\t\t\t\tif ( newOverLeft > 0 || abs( newOverLeft ) < overRight ) {\r\n\t\t\t\t\tposition.left += myOffset + atOffset + offset;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t},\r\n\t\ttop: function( position, data ) {\r\n\t\t\tvar within = data.within,\r\n\t\t\t\twithinOffset = within.offset.top + within.scrollTop,\r\n\t\t\t\touterHeight = within.height,\r\n\t\t\t\toffsetTop = within.isWindow ? within.scrollTop : within.offset.top,\r\n\t\t\t\tcollisionPosTop = position.top - data.collisionPosition.marginTop,\r\n\t\t\t\toverTop = collisionPosTop - offsetTop,\r\n\t\t\t\toverBottom = collisionPosTop + data.collisionHeight - outerHeight - offsetTop,\r\n\t\t\t\ttop = data.my[ 1 ] === \"top\",\r\n\t\t\t\tmyOffset = top ?\r\n\t\t\t\t\t-data.elemHeight :\r\n\t\t\t\t\tdata.my[ 1 ] === \"bottom\" ?\r\n\t\t\t\t\t\tdata.elemHeight :\r\n\t\t\t\t\t\t0,\r\n\t\t\t\tatOffset = data.at[ 1 ] === \"top\" ?\r\n\t\t\t\t\tdata.targetHeight :\r\n\t\t\t\t\tdata.at[ 1 ] === \"bottom\" ?\r\n\t\t\t\t\t\t-data.targetHeight :\r\n\t\t\t\t\t\t0,\r\n\t\t\t\toffset = -2 * data.offset[ 1 ],\r\n\t\t\t\tnewOverTop,\r\n\t\t\t\tnewOverBottom;\r\n\t\t\tif ( overTop < 0 ) {\r\n\t\t\t\tnewOverBottom = position.top + myOffset + atOffset + offset + data.collisionHeight - outerHeight - withinOffset;\r\n\t\t\t\tif ( newOverBottom < 0 || newOverBottom < abs( overTop ) ) {\r\n\t\t\t\t\tposition.top += myOffset + atOffset + offset;\r\n\t\t\t\t}\r\n\t\t\t} else if ( overBottom > 0 ) {\r\n\t\t\t\tnewOverTop = position.top - data.collisionPosition.marginTop + myOffset + atOffset + offset - offsetTop;\r\n\t\t\t\tif ( newOverTop > 0 || abs( newOverTop ) < overBottom ) {\r\n\t\t\t\t\tposition.top += myOffset + atOffset + offset;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n\tflipfit: {\r\n\t\tleft: function() {\r\n\t\t\t$.ui.position.flip.left.apply( this, arguments );\r\n\t\t\t$.ui.position.fit.left.apply( this, arguments );\r\n\t\t},\r\n\t\ttop: function() {\r\n\t\t\t$.ui.position.flip.top.apply( this, arguments );\r\n\t\t\t$.ui.position.fit.top.apply( this, arguments );\r\n\t\t}\r\n\t}\r\n};\r\n\r\n// fraction support test\r\n(function() {\r\n\tvar testElement, testElementParent, testElementStyle, offsetLeft, i,\r\n\t\tbody = document.getElementsByTagName( \"body\" )[ 0 ],\r\n\t\tdiv = document.createElement( \"div\" );\r\n\r\n\t//Create a \"fake body\" for testing based on method used in jQuery.support\r\n\ttestElement = document.createElement( body ? \"div\" : \"body\" );\r\n\ttestElementStyle = {\r\n\t\tvisibility: \"hidden\",\r\n\t\twidth: 0,\r\n\t\theight: 0,\r\n\t\tborder: 0,\r\n\t\tmargin: 0,\r\n\t\tbackground: \"none\"\r\n\t};\r\n\tif ( body ) {\r\n\t\t$.extend( testElementStyle, {\r\n\t\t\tposition: \"absolute\",\r\n\t\t\tleft: \"-1000px\",\r\n\t\t\ttop: \"-1000px\"\r\n\t\t});\r\n\t}\r\n\tfor ( i in testElementStyle ) {\r\n\t\ttestElement.style[ i ] = testElementStyle[ i ];\r\n\t}\r\n\ttestElement.appendChild( div );\r\n\ttestElementParent = body || document.documentElement;\r\n\ttestElementParent.insertBefore( testElement, testElementParent.firstChild );\r\n\r\n\tdiv.style.cssText = \"position: absolute; left: 10.7432222px;\";\r\n\r\n\toffsetLeft = $( div ).offset().left;\r\n\tsupportsOffsetFractions = offsetLeft > 10 && offsetLeft < 11;\r\n\r\n\ttestElement.innerHTML = \"\";\r\n\ttestElementParent.removeChild( testElement );\r\n})();\r\n\r\n})();\r\n\r\nvar position = $.ui.position;\r\n\r\n\r\n/*!\r\n * jQuery UI Accordion 1.11.4\r\n * http://jqueryui.com\r\n *\r\n * Copyright jQuery Foundation and other contributors\r\n * Released under the MIT license.\r\n * http://jquery.org/license\r\n *\r\n * http://api.jqueryui.com/accordion/\r\n */\r\n\r\n\r\nvar accordion = $.widget( \"ui.accordion\", {\r\n\tversion: \"1.11.4\",\r\n\toptions: {\r\n\t\tactive: 0,\r\n\t\tanimate: {},\r\n\t\tcollapsible: false,\r\n\t\tevent: \"click\",\r\n\t\theader: \"> li > :first-child,> :not(li):even\",\r\n\t\theightStyle: \"auto\",\r\n\t\ticons: {\r\n\t\t\tactiveHeader: \"ui-icon-triangle-1-s\",\r\n\t\t\theader: \"ui-icon-triangle-1-e\"\r\n\t\t},\r\n\r\n\t\t// callbacks\r\n\t\tactivate: null,\r\n\t\tbeforeActivate: null\r\n\t},\r\n\r\n\thideProps: {\r\n\t\tborderTopWidth: \"hide\",\r\n\t\tborderBottomWidth: \"hide\",\r\n\t\tpaddingTop: \"hide\",\r\n\t\tpaddingBottom: \"hide\",\r\n\t\theight: \"hide\"\r\n\t},\r\n\r\n\tshowProps: {\r\n\t\tborderTopWidth: \"show\",\r\n\t\tborderBottomWidth: \"show\",\r\n\t\tpaddingTop: \"show\",\r\n\t\tpaddingBottom: \"show\",\r\n\t\theight: \"show\"\r\n\t},\r\n\r\n\t_create: function() {\r\n\t\tvar options = this.options;\r\n\t\tthis.prevShow = this.prevHide = $();\r\n\t\tthis.element.addClass( \"ui-accordion ui-widget ui-helper-reset\" )\r\n\t\t\t// ARIA\r\n\t\t\t.attr( \"role\", \"tablist\" );\r\n\r\n\t\t// don't allow collapsible: false and active: false / null\r\n\t\tif ( !options.collapsible && (options.active === false || options.active == null) ) {\r\n\t\t\toptions.active = 0;\r\n\t\t}\r\n\r\n\t\tthis._processPanels();\r\n\t\t// handle negative values\r\n\t\tif ( options.active < 0 ) {\r\n\t\t\toptions.active += this.headers.length;\r\n\t\t}\r\n\t\tthis._refresh();\r\n\t},\r\n\r\n\t_getCreateEventData: function() {\r\n\t\treturn {\r\n\t\t\theader: this.active,\r\n\t\t\tpanel: !this.active.length ? $() : this.active.next()\r\n\t\t};\r\n\t},\r\n\r\n\t_createIcons: function() {\r\n\t\tvar icons = this.options.icons;\r\n\t\tif ( icons ) {\r\n\t\t\t$( \"<span>\" )\r\n\t\t\t\t.addClass( \"ui-accordion-header-icon ui-icon \" + icons.header )\r\n\t\t\t\t.prependTo( this.headers );\r\n\t\t\tthis.active.children( \".ui-accordion-header-icon\" )\r\n\t\t\t\t.removeClass( icons.header )\r\n\t\t\t\t.addClass( icons.activeHeader );\r\n\t\t\tthis.headers.addClass( \"ui-accordion-icons\" );\r\n\t\t}\r\n\t},\r\n\r\n\t_destroyIcons: function() {\r\n\t\tthis.headers\r\n\t\t\t.removeClass( \"ui-accordion-icons\" )\r\n\t\t\t.children( \".ui-accordion-header-icon\" )\r\n\t\t\t\t.remove();\r\n\t},\r\n\r\n\t_destroy: function() {\r\n\t\tvar contents;\r\n\r\n\t\t// clean up main element\r\n\t\tthis.element\r\n\t\t\t.removeClass( \"ui-accordion ui-widget ui-helper-reset\" )\r\n\t\t\t.removeAttr( \"role\" );\r\n\r\n\t\t// clean up headers\r\n\t\tthis.headers\r\n\t\t\t.removeClass( \"ui-accordion-header ui-accordion-header-active ui-state-default \" +\r\n\t\t\t\t\"ui-corner-all ui-state-active ui-state-disabled ui-corner-top\" )\r\n\t\t\t.removeAttr( \"role\" )\r\n\t\t\t.removeAttr( \"aria-expanded\" )\r\n\t\t\t.removeAttr( \"aria-selected\" )\r\n\t\t\t.removeAttr( \"aria-controls\" )\r\n\t\t\t.removeAttr( \"tabIndex\" )\r\n\t\t\t.removeUniqueId();\r\n\r\n\t\tthis._destroyIcons();\r\n\r\n\t\t// clean up content panels\r\n\t\tcontents = this.headers.next()\r\n\t\t\t.removeClass( \"ui-helper-reset ui-widget-content ui-corner-bottom \" +\r\n\t\t\t\t\"ui-accordion-content ui-accordion-content-active ui-state-disabled\" )\r\n\t\t\t.css( \"display\", \"\" )\r\n\t\t\t.removeAttr( \"role\" )\r\n\t\t\t.removeAttr( \"aria-hidden\" )\r\n\t\t\t.removeAttr( \"aria-labelledby\" )\r\n\t\t\t.removeUniqueId();\r\n\r\n\t\tif ( this.options.heightStyle !== \"content\" ) {\r\n\t\t\tcontents.css( \"height\", \"\" );\r\n\t\t}\r\n\t},\r\n\r\n\t_setOption: function( key, value ) {\r\n\t\tif ( key === \"active\" ) {\r\n\t\t\t// _activate() will handle invalid values and update this.options\r\n\t\t\tthis._activate( value );\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tif ( key === \"event\" ) {\r\n\t\t\tif ( this.options.event ) {\r\n\t\t\t\tthis._off( this.headers, this.options.event );\r\n\t\t\t}\r\n\t\t\tthis._setupEvents( value );\r\n\t\t}\r\n\r\n\t\tthis._super( key, value );\r\n\r\n\t\t// setting collapsible: false while collapsed; open first panel\r\n\t\tif ( key === \"collapsible\" && !value && this.options.active === false ) {\r\n\t\t\tthis._activate( 0 );\r\n\t\t}\r\n\r\n\t\tif ( key === \"icons\" ) {\r\n\t\t\tthis._destroyIcons();\r\n\t\t\tif ( value ) {\r\n\t\t\t\tthis._createIcons();\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t// #5332 - opacity doesn't cascade to positioned elements in IE\r\n\t\t// so we need to add the disabled class to the headers and panels\r\n\t\tif ( key === \"disabled\" ) {\r\n\t\t\tthis.element\r\n\t\t\t\t.toggleClass( \"ui-state-disabled\", !!value )\r\n\t\t\t\t.attr( \"aria-disabled\", value );\r\n\t\t\tthis.headers.add( this.headers.next() )\r\n\t\t\t\t.toggleClass( \"ui-state-disabled\", !!value );\r\n\t\t}\r\n\t},\r\n\r\n\t_keydown: function( event ) {\r\n\t\tif ( event.altKey || event.ctrlKey ) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tvar keyCode = $.ui.keyCode,\r\n\t\t\tlength = this.headers.length,\r\n\t\t\tcurrentIndex = this.headers.index( event.target ),\r\n\t\t\ttoFocus = false;\r\n\r\n\t\tswitch ( event.keyCode ) {\r\n\t\t\tcase keyCode.RIGHT:\r\n\t\t\tcase keyCode.DOWN:\r\n\t\t\t\ttoFocus = this.headers[ ( currentIndex + 1 ) % length ];\r\n\t\t\t\tbreak;\r\n\t\t\tcase keyCode.LEFT:\r\n\t\t\tcase keyCode.UP:\r\n\t\t\t\ttoFocus = this.headers[ ( currentIndex - 1 + length ) % length ];\r\n\t\t\t\tbreak;\r\n\t\t\tcase keyCode.SPACE:\r\n\t\t\tcase keyCode.ENTER:\r\n\t\t\t\tthis._eventHandler( event );\r\n\t\t\t\tbreak;\r\n\t\t\tcase keyCode.HOME:\r\n\t\t\t\ttoFocus = this.headers[ 0 ];\r\n\t\t\t\tbreak;\r\n\t\t\tcase keyCode.END:\r\n\t\t\t\ttoFocus = this.headers[ length - 1 ];\r\n\t\t\t\tbreak;\r\n\t\t}\r\n\r\n\t\tif ( toFocus ) {\r\n\t\t\t$( event.target ).attr( \"tabIndex\", -1 );\r\n\t\t\t$( toFocus ).attr( \"tabIndex\", 0 );\r\n\t\t\ttoFocus.focus();\r\n\t\t\tevent.preventDefault();\r\n\t\t}\r\n\t},\r\n\r\n\t_panelKeyDown: function( event ) {\r\n\t\tif ( event.keyCode === $.ui.keyCode.UP && event.ctrlKey ) {\r\n\t\t\t$( event.currentTarget ).prev().focus();\r\n\t\t}\r\n\t},\r\n\r\n\trefresh: function() {\r\n\t\tvar options = this.options;\r\n\t\tthis._processPanels();\r\n\r\n\t\t// was collapsed or no panel\r\n\t\tif ( ( options.active === false && options.collapsible === true ) || !this.headers.length ) {\r\n\t\t\toptions.active = false;\r\n\t\t\tthis.active = $();\r\n\t\t// active false only when collapsible is true\r\n\t\t} else if ( options.active === false ) {\r\n\t\t\tthis._activate( 0 );\r\n\t\t// was active, but active panel is gone\r\n\t\t} else if ( this.active.length && !$.contains( this.element[ 0 ], this.active[ 0 ] ) ) {\r\n\t\t\t// all remaining panel are disabled\r\n\t\t\tif ( this.headers.length === this.headers.find(\".ui-state-disabled\").length ) {\r\n\t\t\t\toptions.active = false;\r\n\t\t\t\tthis.active = $();\r\n\t\t\t// activate previous panel\r\n\t\t\t} else {\r\n\t\t\t\tthis._activate( Math.max( 0, options.active - 1 ) );\r\n\t\t\t}\r\n\t\t// was active, active panel still exists\r\n\t\t} else {\r\n\t\t\t// make sure active index is correct\r\n\t\t\toptions.active = this.headers.index( this.active );\r\n\t\t}\r\n\r\n\t\tthis._destroyIcons();\r\n\r\n\t\tthis._refresh();\r\n\t},\r\n\r\n\t_processPanels: function() {\r\n\t\tvar prevHeaders = this.headers,\r\n\t\t\tprevPanels = this.panels;\r\n\r\n\t\tthis.headers = this.element.find( this.options.header )\r\n\t\t\t.addClass( \"ui-accordion-header ui-state-default ui-corner-all\" );\r\n\r\n\t\tthis.panels = this.headers.next()\r\n\t\t\t.addClass( \"ui-accordion-content ui-helper-reset ui-widget-content ui-corner-bottom\" )\r\n\t\t\t.filter( \":not(.ui-accordion-content-active)\" )\r\n\t\t\t.hide();\r\n\r\n\t\t// Avoid memory leaks (#10056)\r\n\t\tif ( prevPanels ) {\r\n\t\t\tthis._off( prevHeaders.not( this.headers ) );\r\n\t\t\tthis._off( prevPanels.not( this.panels ) );\r\n\t\t}\r\n\t},\r\n\r\n\t_refresh: function() {\r\n\t\tvar maxHeight,\r\n\t\t\toptions = this.options,\r\n\t\t\theightStyle = options.heightStyle,\r\n\t\t\tparent = this.element.parent();\r\n\r\n\t\tthis.active = this._findActive( options.active )\r\n\t\t\t.addClass( \"ui-accordion-header-active ui-state-active ui-corner-top\" )\r\n\t\t\t.removeClass( \"ui-corner-all\" );\r\n\t\tthis.active.next()\r\n\t\t\t.addClass( \"ui-accordion-content-active\" )\r\n\t\t\t.show();\r\n\r\n\t\tthis.headers\r\n\t\t\t.attr( \"role\", \"tab\" )\r\n\t\t\t.each(function() {\r\n\t\t\t\tvar header = $( this ),\r\n\t\t\t\t\theaderId = header.uniqueId().attr( \"id\" ),\r\n\t\t\t\t\tpanel = header.next(),\r\n\t\t\t\t\tpanelId = panel.uniqueId().attr( \"id\" );\r\n\t\t\t\theader.attr( \"aria-controls\", panelId );\r\n\t\t\t\tpanel.attr( \"aria-labelledby\", headerId );\r\n\t\t\t})\r\n\t\t\t.next()\r\n\t\t\t\t.attr( \"role\", \"tabpanel\" );\r\n\r\n\t\tthis.headers\r\n\t\t\t.not( this.active )\r\n\t\t\t.attr({\r\n\t\t\t\t\"aria-selected\": \"false\",\r\n\t\t\t\t\"aria-expanded\": \"false\",\r\n\t\t\t\ttabIndex: -1\r\n\t\t\t})\r\n\t\t\t.next()\r\n\t\t\t\t.attr({\r\n\t\t\t\t\t\"aria-hidden\": \"true\"\r\n\t\t\t\t})\r\n\t\t\t\t.hide();\r\n\r\n\t\t// make sure at least one header is in the tab order\r\n\t\tif ( !this.active.length ) {\r\n\t\t\tthis.headers.eq( 0 ).attr( \"tabIndex\", 0 );\r\n\t\t} else {\r\n\t\t\tthis.active.attr({\r\n\t\t\t\t\"aria-selected\": \"true\",\r\n\t\t\t\t\"aria-expanded\": \"true\",\r\n\t\t\t\ttabIndex: 0\r\n\t\t\t})\r\n\t\t\t.next()\r\n\t\t\t\t.attr({\r\n\t\t\t\t\t\"aria-hidden\": \"false\"\r\n\t\t\t\t});\r\n\t\t}\r\n\r\n\t\tthis._createIcons();\r\n\r\n\t\tthis._setupEvents( options.event );\r\n\r\n\t\tif ( heightStyle === \"fill\" ) {\r\n\t\t\tmaxHeight = parent.height();\r\n\t\t\tthis.element.siblings( \":visible\" ).each(function() {\r\n\t\t\t\tvar elem = $( this ),\r\n\t\t\t\t\tposition = elem.css( \"position\" );\r\n\r\n\t\t\t\tif ( position === \"absolute\" || position === \"fixed\" ) {\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t\tmaxHeight -= elem.outerHeight( true );\r\n\t\t\t});\r\n\r\n\t\t\tthis.headers.each(function() {\r\n\t\t\t\tmaxHeight -= $( this ).outerHeight( true );\r\n\t\t\t});\r\n\r\n\t\t\tthis.headers.next()\r\n\t\t\t\t.each(function() {\r\n\t\t\t\t\t$( this ).height( Math.max( 0, maxHeight -\r\n\t\t\t\t\t\t$( this ).innerHeight() + $( this ).height() ) );\r\n\t\t\t\t})\r\n\t\t\t\t.css( \"overflow\", \"auto\" );\r\n\t\t} else if ( heightStyle === \"auto\" ) {\r\n\t\t\tmaxHeight = 0;\r\n\t\t\tthis.headers.next()\r\n\t\t\t\t.each(function() {\r\n\t\t\t\t\tmaxHeight = Math.max( maxHeight, $( this ).css( \"height\", \"\" ).height() );\r\n\t\t\t\t})\r\n\t\t\t\t.height( maxHeight );\r\n\t\t}\r\n\t},\r\n\r\n\t_activate: function( index ) {\r\n\t\tvar active = this._findActive( index )[ 0 ];\r\n\r\n\t\t// trying to activate the already active panel\r\n\t\tif ( active === this.active[ 0 ] ) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\t// trying to collapse, simulate a click on the currently active header\r\n\t\tactive = active || this.active[ 0 ];\r\n\r\n\t\tthis._eventHandler({\r\n\t\t\ttarget: active,\r\n\t\t\tcurrentTarget: active,\r\n\t\t\tpreventDefault: $.noop\r\n\t\t});\r\n\t},\r\n\r\n\t_findActive: function( selector ) {\r\n\t\treturn typeof selector === \"number\" ? this.headers.eq( selector ) : $();\r\n\t},\r\n\r\n\t_setupEvents: function( event ) {\r\n\t\tvar events = {\r\n\t\t\tkeydown: \"_keydown\"\r\n\t\t};\r\n\t\tif ( event ) {\r\n\t\t\t$.each( event.split( \" \" ), function( index, eventName ) {\r\n\t\t\t\tevents[ eventName ] = \"_eventHandler\";\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tthis._off( this.headers.add( this.headers.next() ) );\r\n\t\tthis._on( this.headers, events );\r\n\t\tthis._on( this.headers.next(), { keydown: \"_panelKeyDown\" });\r\n\t\tthis._hoverable( this.headers );\r\n\t\tthis._focusable( this.headers );\r\n\t},\r\n\r\n\t_eventHandler: function( event ) {\r\n\t\tvar options = this.options,\r\n\t\t\tactive = this.active,\r\n\t\t\tclicked = $( event.currentTarget ),\r\n\t\t\tclickedIsActive = clicked[ 0 ] === active[ 0 ],\r\n\t\t\tcollapsing = clickedIsActive && options.collapsible,\r\n\t\t\ttoShow = collapsing ? $() : clicked.next(),\r\n\t\t\ttoHide = active.next(),\r\n\t\t\teventData = {\r\n\t\t\t\toldHeader: active,\r\n\t\t\t\toldPanel: toHide,\r\n\t\t\t\tnewHeader: collapsing ? $() : clicked,\r\n\t\t\t\tnewPanel: toShow\r\n\t\t\t};\r\n\r\n\t\tevent.preventDefault();\r\n\r\n\t\tif (\r\n\t\t\t\t// click on active header, but not collapsible\r\n\t\t\t\t( clickedIsActive && !options.collapsible ) ||\r\n\t\t\t\t// allow canceling activation\r\n\t\t\t\t( this._trigger( \"beforeActivate\", event, eventData ) === false ) ) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\toptions.active = collapsing ? false : this.headers.index( clicked );\r\n\r\n\t\t// when the call to ._toggle() comes after the class changes\r\n\t\t// it causes a very odd bug in IE 8 (see #6720)\r\n\t\tthis.active = clickedIsActive ? $() : clicked;\r\n\t\tthis._toggle( eventData );\r\n\r\n\t\t// switch classes\r\n\t\t// corner classes on the previously active header stay after the animation\r\n\t\tactive.removeClass( \"ui-accordion-header-active ui-state-active\" );\r\n\t\tif ( options.icons ) {\r\n\t\t\tactive.children( \".ui-accordion-header-icon\" )\r\n\t\t\t\t.removeClass( options.icons.activeHeader )\r\n\t\t\t\t.addClass( options.icons.header );\r\n\t\t}\r\n\r\n\t\tif ( !clickedIsActive ) {\r\n\t\t\tclicked\r\n\t\t\t\t.removeClass( \"ui-corner-all\" )\r\n\t\t\t\t.addClass( \"ui-accordion-header-active ui-state-active ui-corner-top\" );\r\n\t\t\tif ( options.icons ) {\r\n\t\t\t\tclicked.children( \".ui-accordion-header-icon\" )\r\n\t\t\t\t\t.removeClass( options.icons.header )\r\n\t\t\t\t\t.addClass( options.icons.activeHeader );\r\n\t\t\t}\r\n\r\n\t\t\tclicked\r\n\t\t\t\t.next()\r\n\t\t\t\t.addClass( \"ui-accordion-content-active\" );\r\n\t\t}\r\n\t},\r\n\r\n\t_toggle: function( data ) {\r\n\t\tvar toShow = data.newPanel,\r\n\t\t\ttoHide = this.prevShow.length ? this.prevShow : data.oldPanel;\r\n\r\n\t\t// handle activating a panel during the animation for another activation\r\n\t\tthis.prevShow.add( this.prevHide ).stop( true, true );\r\n\t\tthis.prevShow = toShow;\r\n\t\tthis.prevHide = toHide;\r\n\r\n\t\tif ( this.options.animate ) {\r\n\t\t\tthis._animate( toShow, toHide, data );\r\n\t\t} else {\r\n\t\t\ttoHide.hide();\r\n\t\t\ttoShow.show();\r\n\t\t\tthis._toggleComplete( data );\r\n\t\t}\r\n\r\n\t\ttoHide.attr({\r\n\t\t\t\"aria-hidden\": \"true\"\r\n\t\t});\r\n\t\ttoHide.prev().attr({\r\n\t\t\t\"aria-selected\": \"false\",\r\n\t\t\t\"aria-expanded\": \"false\"\r\n\t\t});\r\n\t\t// if we're switching panels, remove the old header from the tab order\r\n\t\t// if we're opening from collapsed state, remove the previous header from the tab order\r\n\t\t// if we're collapsing, then keep the collapsing header in the tab order\r\n\t\tif ( toShow.length && toHide.length ) {\r\n\t\t\ttoHide.prev().attr({\r\n\t\t\t\t\"tabIndex\": -1,\r\n\t\t\t\t\"aria-expanded\": \"false\"\r\n\t\t\t});\r\n\t\t} else if ( toShow.length ) {\r\n\t\t\tthis.headers.filter(function() {\r\n\t\t\t\treturn parseInt( $( this ).attr( \"tabIndex\" ), 10 ) === 0;\r\n\t\t\t})\r\n\t\t\t.attr( \"tabIndex\", -1 );\r\n\t\t}\r\n\r\n\t\ttoShow\r\n\t\t\t.attr( \"aria-hidden\", \"false\" )\r\n\t\t\t.prev()\r\n\t\t\t\t.attr({\r\n\t\t\t\t\t\"aria-selected\": \"true\",\r\n\t\t\t\t\t\"aria-expanded\": \"true\",\r\n\t\t\t\t\ttabIndex: 0\r\n\t\t\t\t});\r\n\t},\r\n\r\n\t_animate: function( toShow, toHide, data ) {\r\n\t\tvar total, easing, duration,\r\n\t\t\tthat = this,\r\n\t\t\tadjust = 0,\r\n\t\t\tboxSizing = toShow.css( \"box-sizing\" ),\r\n\t\t\tdown = toShow.length &&\r\n\t\t\t\t( !toHide.length || ( toShow.index() < toHide.index() ) ),\r\n\t\t\tanimate = this.options.animate || {},\r\n\t\t\toptions = down && animate.down || animate,\r\n\t\t\tcomplete = function() {\r\n\t\t\t\tthat._toggleComplete( data );\r\n\t\t\t};\r\n\r\n\t\tif ( typeof options === \"number\" ) {\r\n\t\t\tduration = options;\r\n\t\t}\r\n\t\tif ( typeof options === \"string\" ) {\r\n\t\t\teasing = options;\r\n\t\t}\r\n\t\t// fall back from options to animation in case of partial down settings\r\n\t\teasing = easing || options.easing || animate.easing;\r\n\t\tduration = duration || options.duration || animate.duration;\r\n\r\n\t\tif ( !toHide.length ) {\r\n\t\t\treturn toShow.animate( this.showProps, duration, easing, complete );\r\n\t\t}\r\n\t\tif ( !toShow.length ) {\r\n\t\t\treturn toHide.animate( this.hideProps, duration, easing, complete );\r\n\t\t}\r\n\r\n\t\ttotal = toShow.show().outerHeight();\r\n\t\ttoHide.animate( this.hideProps, {\r\n\t\t\tduration: duration,\r\n\t\t\teasing: easing,\r\n\t\t\tstep: function( now, fx ) {\r\n\t\t\t\tfx.now = Math.round( now );\r\n\t\t\t}\r\n\t\t});\r\n\t\ttoShow\r\n\t\t\t.hide()\r\n\t\t\t.animate( this.showProps, {\r\n\t\t\t\tduration: duration,\r\n\t\t\t\teasing: easing,\r\n\t\t\t\tcomplete: complete,\r\n\t\t\t\tstep: function( now, fx ) {\r\n\t\t\t\t\tfx.now = Math.round( now );\r\n\t\t\t\t\tif ( fx.prop !== \"height\" ) {\r\n\t\t\t\t\t\tif ( boxSizing === \"content-box\" ) {\r\n\t\t\t\t\t\t\tadjust += fx.now;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t} else if ( that.options.heightStyle !== \"content\" ) {\r\n\t\t\t\t\t\tfx.now = Math.round( total - toHide.outerHeight() - adjust );\r\n\t\t\t\t\t\tadjust = 0;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t},\r\n\r\n\t_toggleComplete: function( data ) {\r\n\t\tvar toHide = data.oldPanel;\r\n\r\n\t\ttoHide\r\n\t\t\t.removeClass( \"ui-accordion-content-active\" )\r\n\t\t\t.prev()\r\n\t\t\t\t.removeClass( \"ui-corner-top\" )\r\n\t\t\t\t.addClass( \"ui-corner-all\" );\r\n\r\n\t\t// Work around for rendering bug in IE (#5421)\r\n\t\tif ( toHide.length ) {\r\n\t\t\ttoHide.parent()[ 0 ].className = toHide.parent()[ 0 ].className;\r\n\t\t}\r\n\t\tthis._trigger( \"activate\", null, data );\r\n\t}\r\n});\r\n\r\n\r\n/*!\r\n * jQuery UI Menu 1.11.4\r\n * http://jqueryui.com\r\n *\r\n * Copyright jQuery Foundation and other contributors\r\n * Released under the MIT license.\r\n * http://jquery.org/license\r\n *\r\n * http://api.jqueryui.com/menu/\r\n */\r\n\r\n\r\nvar menu = $.widget( \"ui.menu\", {\r\n\tversion: \"1.11.4\",\r\n\tdefaultElement: \"<ul>\",\r\n\tdelay: 300,\r\n\toptions: {\r\n\t\ticons: {\r\n\t\t\tsubmenu: \"ui-icon-carat-1-e\"\r\n\t\t},\r\n\t\titems: \"> *\",\r\n\t\tmenus: \"ul\",\r\n\t\tposition: {\r\n\t\t\tmy: \"left-1 top\",\r\n\t\t\tat: \"right top\"\r\n\t\t},\r\n\t\trole: \"menu\",\r\n\r\n\t\t// callbacks\r\n\t\tblur: null,\r\n\t\tfocus: null,\r\n\t\tselect: null\r\n\t},\r\n\r\n\t_create: function() {\r\n\t\tthis.activeMenu = this.element;\r\n\r\n\t\t// Flag used to prevent firing of the click handler\r\n\t\t// as the event bubbles up through nested menus\r\n\t\tthis.mouseHandled = false;\r\n\t\tthis.element\r\n\t\t\t.uniqueId()\r\n\t\t\t.addClass( \"ui-menu ui-widget ui-widget-content\" )\r\n\t\t\t.toggleClass( \"ui-menu-icons\", !!this.element.find( \".ui-icon\" ).length )\r\n\t\t\t.attr({\r\n\t\t\t\trole: this.options.role,\r\n\t\t\t\ttabIndex: 0\r\n\t\t\t});\r\n\r\n\t\tif ( this.options.disabled ) {\r\n\t\t\tthis.element\r\n\t\t\t\t.addClass( \"ui-state-disabled\" )\r\n\t\t\t\t.attr( \"aria-disabled\", \"true\" );\r\n\t\t}\r\n\r\n\t\tthis._on({\r\n\t\t\t// Prevent focus from sticking to links inside menu after clicking\r\n\t\t\t// them (focus should always stay on UL during navigation).\r\n\t\t\t\"mousedown .ui-menu-item\": function( event ) {\r\n\t\t\t\tevent.preventDefault();\r\n\t\t\t},\r\n\t\t\t\"click .ui-menu-item\": function( event ) {\r\n\t\t\t\tvar target = $( event.target );\r\n\t\t\t\tif ( !this.mouseHandled && target.not( \".ui-state-disabled\" ).length ) {\r\n\t\t\t\t\tthis.select( event );\r\n\r\n\t\t\t\t\t// Only set the mouseHandled flag if the event will bubble, see #9469.\r\n\t\t\t\t\tif ( !event.isPropagationStopped() ) {\r\n\t\t\t\t\t\tthis.mouseHandled = true;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\t// Open submenu on click\r\n\t\t\t\t\tif ( target.has( \".ui-menu\" ).length ) {\r\n\t\t\t\t\t\tthis.expand( event );\r\n\t\t\t\t\t} else if ( !this.element.is( \":focus\" ) && $( this.document[ 0 ].activeElement ).closest( \".ui-menu\" ).length ) {\r\n\r\n\t\t\t\t\t\t// Redirect focus to the menu\r\n\t\t\t\t\t\tthis.element.trigger( \"focus\", [ true ] );\r\n\r\n\t\t\t\t\t\t// If the active item is on the top level, let it stay active.\r\n\t\t\t\t\t\t// Otherwise, blur the active item since it is no longer visible.\r\n\t\t\t\t\t\tif ( this.active && this.active.parents( \".ui-menu\" ).length === 1 ) {\r\n\t\t\t\t\t\t\tclearTimeout( this.timer );\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t\"mouseenter .ui-menu-item\": function( event ) {\r\n\t\t\t\t// Ignore mouse events while typeahead is active, see #10458.\r\n\t\t\t\t// Prevents focusing the wrong item when typeahead causes a scroll while the mouse\r\n\t\t\t\t// is over an item in the menu\r\n\t\t\t\tif ( this.previousFilter ) {\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t\tvar target = $( event.currentTarget );\r\n\t\t\t\t// Remove ui-state-active class from siblings of the newly focused menu item\r\n\t\t\t\t// to avoid a jump caused by adjacent elements both having a class with a border\r\n\t\t\t\ttarget.siblings( \".ui-state-active\" ).removeClass( \"ui-state-active\" );\r\n\t\t\t\tthis.focus( event, target );\r\n\t\t\t},\r\n\t\t\tmouseleave: \"collapseAll\",\r\n\t\t\t\"mouseleave .ui-menu\": \"collapseAll\",\r\n\t\t\tfocus: function( event, keepActiveItem ) {\r\n\t\t\t\t// If there's already an active item, keep it active\r\n\t\t\t\t// If not, activate the first item\r\n\t\t\t\tvar item = this.active || this.element.find( this.options.items ).eq( 0 );\r\n\r\n\t\t\t\tif ( !keepActiveItem ) {\r\n\t\t\t\t\tthis.focus( event, item );\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\tblur: function( event ) {\r\n\t\t\t\tthis._delay(function() {\r\n\t\t\t\t\tif ( !$.contains( this.element[0], this.document[0].activeElement ) ) {\r\n\t\t\t\t\t\tthis.collapseAll( event );\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t},\r\n\t\t\tkeydown: \"_keydown\"\r\n\t\t});\r\n\r\n\t\tthis.refresh();\r\n\r\n\t\t// Clicks outside of a menu collapse any open menus\r\n\t\tthis._on( this.document, {\r\n\t\t\tclick: function( event ) {\r\n\t\t\t\tif ( this._closeOnDocumentClick( event ) ) {\r\n\t\t\t\t\tthis.collapseAll( event );\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// Reset the mouseHandled flag\r\n\t\t\t\tthis.mouseHandled = false;\r\n\t\t\t}\r\n\t\t});\r\n\t},\r\n\r\n\t_destroy: function() {\r\n\t\t// Destroy (sub)menus\r\n\t\tthis.element\r\n\t\t\t.removeAttr( \"aria-activedescendant\" )\r\n\t\t\t.find( \".ui-menu\" ).addBack()\r\n\t\t\t\t.removeClass( \"ui-menu ui-widget ui-widget-content ui-menu-icons ui-front\" )\r\n\t\t\t\t.removeAttr( \"role\" )\r\n\t\t\t\t.removeAttr( \"tabIndex\" )\r\n\t\t\t\t.removeAttr( \"aria-labelledby\" )\r\n\t\t\t\t.removeAttr( \"aria-expanded\" )\r\n\t\t\t\t.removeAttr( \"aria-hidden\" )\r\n\t\t\t\t.removeAttr( \"aria-disabled\" )\r\n\t\t\t\t.removeUniqueId()\r\n\t\t\t\t.show();\r\n\r\n\t\t// Destroy menu items\r\n\t\tthis.element.find( \".ui-menu-item\" )\r\n\t\t\t.removeClass( \"ui-menu-item\" )\r\n\t\t\t.removeAttr( \"role\" )\r\n\t\t\t.removeAttr( \"aria-disabled\" )\r\n\t\t\t.removeUniqueId()\r\n\t\t\t.removeClass( \"ui-state-hover\" )\r\n\t\t\t.removeAttr( \"tabIndex\" )\r\n\t\t\t.removeAttr( \"role\" )\r\n\t\t\t.removeAttr( \"aria-haspopup\" )\r\n\t\t\t.children().each( function() {\r\n\t\t\t\tvar elem = $( this );\r\n\t\t\t\tif ( elem.data( \"ui-menu-submenu-carat\" ) ) {\r\n\t\t\t\t\telem.remove();\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\t// Destroy menu dividers\r\n\t\tthis.element.find( \".ui-menu-divider\" ).removeClass( \"ui-menu-divider ui-widget-content\" );\r\n\t},\r\n\r\n\t_keydown: function( event ) {\r\n\t\tvar match, prev, character, skip,\r\n\t\t\tpreventDefault = true;\r\n\r\n\t\tswitch ( event.keyCode ) {\r\n\t\tcase $.ui.keyCode.PAGE_UP:\r\n\t\t\tthis.previousPage( event );\r\n\t\t\tbreak;\r\n\t\tcase $.ui.keyCode.PAGE_DOWN:\r\n\t\t\tthis.nextPage( event );\r\n\t\t\tbreak;\r\n\t\tcase $.ui.keyCode.HOME:\r\n\t\t\tthis._move( \"first\", \"first\", event );\r\n\t\t\tbreak;\r\n\t\tcase $.ui.keyCode.END:\r\n\t\t\tthis._move( \"last\", \"last\", event );\r\n\t\t\tbreak;\r\n\t\tcase $.ui.keyCode.UP:\r\n\t\t\tthis.previous( event );\r\n\t\t\tbreak;\r\n\t\tcase $.ui.keyCode.DOWN:\r\n\t\t\tthis.next( event );\r\n\t\t\tbreak;\r\n\t\tcase $.ui.keyCode.LEFT:\r\n\t\t\tthis.collapse( event );\r\n\t\t\tbreak;\r\n\t\tcase $.ui.keyCode.RIGHT:\r\n\t\t\tif ( this.active && !this.active.is( \".ui-state-disabled\" ) ) {\r\n\t\t\t\tthis.expand( event );\r\n\t\t\t}\r\n\t\t\tbreak;\r\n\t\tcase $.ui.keyCode.ENTER:\r\n\t\tcase $.ui.keyCode.SPACE:\r\n\t\t\tthis._activate( event );\r\n\t\t\tbreak;\r\n\t\tcase $.ui.keyCode.ESCAPE:\r\n\t\t\tthis.collapse( event );\r\n\t\t\tbreak;\r\n\t\tdefault:\r\n\t\t\tpreventDefault = false;\r\n\t\t\tprev = this.previousFilter || \"\";\r\n\t\t\tcharacter = String.fromCharCode( event.keyCode );\r\n\t\t\tskip = false;\r\n\r\n\t\t\tclearTimeout( this.filterTimer );\r\n\r\n\t\t\tif ( character === prev ) {\r\n\t\t\t\tskip = true;\r\n\t\t\t} else {\r\n\t\t\t\tcharacter = prev + character;\r\n\t\t\t}\r\n\r\n\t\t\tmatch = this._filterMenuItems( character );\r\n\t\t\tmatch = skip && match.index( this.active.next() ) !== -1 ?\r\n\t\t\t\tthis.active.nextAll( \".ui-menu-item\" ) :\r\n\t\t\t\tmatch;\r\n\r\n\t\t\t// If no matches on the current filter, reset to the last character pressed\r\n\t\t\t// to move down the menu to the first item that starts with that character\r\n\t\t\tif ( !match.length ) {\r\n\t\t\t\tcharacter = String.fromCharCode( event.keyCode );\r\n\t\t\t\tmatch = this._filterMenuItems( character );\r\n\t\t\t}\r\n\r\n\t\t\tif ( match.length ) {\r\n\t\t\t\tthis.focus( event, match );\r\n\t\t\t\tthis.previousFilter = character;\r\n\t\t\t\tthis.filterTimer = this._delay(function() {\r\n\t\t\t\t\tdelete this.previousFilter;\r\n\t\t\t\t}, 1000 );\r\n\t\t\t} else {\r\n\t\t\t\tdelete this.previousFilter;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif ( preventDefault ) {\r\n\t\t\tevent.preventDefault();\r\n\t\t}\r\n\t},\r\n\r\n\t_activate: function( event ) {\r\n\t\tif ( !this.active.is( \".ui-state-disabled\" ) ) {\r\n\t\t\tif ( this.active.is( \"[aria-haspopup='true']\" ) ) {\r\n\t\t\t\tthis.expand( event );\r\n\t\t\t} else {\r\n\t\t\t\tthis.select( event );\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n\r\n\trefresh: function() {\r\n\t\tvar menus, items,\r\n\t\t\tthat = this,\r\n\t\t\ticon = this.options.icons.submenu,\r\n\t\t\tsubmenus = this.element.find( this.options.menus );\r\n\r\n\t\tthis.element.toggleClass( \"ui-menu-icons\", !!this.element.find( \".ui-icon\" ).length );\r\n\r\n\t\t// Initialize nested menus\r\n\t\tsubmenus.filter( \":not(.ui-menu)\" )\r\n\t\t\t.addClass( \"ui-menu ui-widget ui-widget-content ui-front\" )\r\n\t\t\t.hide()\r\n\t\t\t.attr({\r\n\t\t\t\trole: this.options.role,\r\n\t\t\t\t\"aria-hidden\": \"true\",\r\n\t\t\t\t\"aria-expanded\": \"false\"\r\n\t\t\t})\r\n\t\t\t.each(function() {\r\n\t\t\t\tvar menu = $( this ),\r\n\t\t\t\t\titem = menu.parent(),\r\n\t\t\t\t\tsubmenuCarat = $( \"<span>\" )\r\n\t\t\t\t\t\t.addClass( \"ui-menu-icon ui-icon \" + icon )\r\n\t\t\t\t\t\t.data( \"ui-menu-submenu-carat\", true );\r\n\r\n\t\t\t\titem\r\n\t\t\t\t\t.attr( \"aria-haspopup\", \"true\" )\r\n\t\t\t\t\t.prepend( submenuCarat );\r\n\t\t\t\tmenu.attr( \"aria-labelledby\", item.attr( \"id\" ) );\r\n\t\t\t});\r\n\r\n\t\tmenus = submenus.add( this.element );\r\n\t\titems = menus.find( this.options.items );\r\n\r\n\t\t// Initialize menu-items containing spaces and/or dashes only as dividers\r\n\t\titems.not( \".ui-menu-item\" ).each(function() {\r\n\t\t\tvar item = $( this );\r\n\t\t\tif ( that._isDivider( item ) ) {\r\n\t\t\t\titem.addClass( \"ui-widget-content ui-menu-divider\" );\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\t// Don't refresh list items that are already adapted\r\n\t\titems.not( \".ui-menu-item, .ui-menu-divider\" )\r\n\t\t\t.addClass( \"ui-menu-item\" )\r\n\t\t\t.uniqueId()\r\n\t\t\t.attr({\r\n\t\t\t\ttabIndex: -1,\r\n\t\t\t\trole: this._itemRole()\r\n\t\t\t});\r\n\r\n\t\t// Add aria-disabled attribute to any disabled menu item\r\n\t\titems.filter( \".ui-state-disabled\" ).attr( \"aria-disabled\", \"true\" );\r\n\r\n\t\t// If the active item has been removed, blur the menu\r\n\t\tif ( this.active && !$.contains( this.element[ 0 ], this.active[ 0 ] ) ) {\r\n\t\t\tthis.blur();\r\n\t\t}\r\n\t},\r\n\r\n\t_itemRole: function() {\r\n\t\treturn {\r\n\t\t\tmenu: \"menuitem\",\r\n\t\t\tlistbox: \"option\"\r\n\t\t}[ this.options.role ];\r\n\t},\r\n\r\n\t_setOption: function( key, value ) {\r\n\t\tif ( key === \"icons\" ) {\r\n\t\t\tthis.element.find( \".ui-menu-icon\" )\r\n\t\t\t\t.removeClass( this.options.icons.submenu )\r\n\t\t\t\t.addClass( value.submenu );\r\n\t\t}\r\n\t\tif ( key === \"disabled\" ) {\r\n\t\t\tthis.element\r\n\t\t\t\t.toggleClass( \"ui-state-disabled\", !!value )\r\n\t\t\t\t.attr( \"aria-disabled\", value );\r\n\t\t}\r\n\t\tthis._super( key, value );\r\n\t},\r\n\r\n\tfocus: function( event, item ) {\r\n\t\tvar nested, focused;\r\n\t\tthis.blur( event, event && event.type === \"focus\" );\r\n\r\n\t\tthis._scrollIntoView( item );\r\n\r\n\t\tthis.active = item.first();\r\n\t\tfocused = this.active.addClass( \"ui-state-focus\" ).removeClass( \"ui-state-active\" );\r\n\t\t// Only update aria-activedescendant if there's a role\r\n\t\t// otherwise we assume focus is managed elsewhere\r\n\t\tif ( this.options.role ) {\r\n\t\t\tthis.element.attr( \"aria-activedescendant\", focused.attr( \"id\" ) );\r\n\t\t}\r\n\r\n\t\t// Highlight active parent menu item, if any\r\n\t\tthis.active\r\n\t\t\t.parent()\r\n\t\t\t.closest( \".ui-menu-item\" )\r\n\t\t\t.addClass( \"ui-state-active\" );\r\n\r\n\t\tif ( event && event.type === \"keydown\" ) {\r\n\t\t\tthis._close();\r\n\t\t} else {\r\n\t\t\tthis.timer = this._delay(function() {\r\n\t\t\t\tthis._close();\r\n\t\t\t}, this.delay );\r\n\t\t}\r\n\r\n\t\tnested = item.children( \".ui-menu\" );\r\n\t\tif ( nested.length && event && ( /^mouse/.test( event.type ) ) ) {\r\n\t\t\tthis._startOpening(nested);\r\n\t\t}\r\n\t\tthis.activeMenu = item.parent();\r\n\r\n\t\tthis._trigger( \"focus\", event, { item: item } );\r\n\t},\r\n\r\n\t_scrollIntoView: function( item ) {\r\n\t\tvar borderTop, paddingTop, offset, scroll, elementHeight, itemHeight;\r\n\t\tif ( this._hasScroll() ) {\r\n\t\t\tborderTop = parseFloat( $.css( this.activeMenu[0], \"borderTopWidth\" ) ) || 0;\r\n\t\t\tpaddingTop = parseFloat( $.css( this.activeMenu[0], \"paddingTop\" ) ) || 0;\r\n\t\t\toffset = item.offset().top - this.activeMenu.offset().top - borderTop - paddingTop;\r\n\t\t\tscroll = this.activeMenu.scrollTop();\r\n\t\t\telementHeight = this.activeMenu.height();\r\n\t\t\titemHeight = item.outerHeight();\r\n\r\n\t\t\tif ( offset < 0 ) {\r\n\t\t\t\tthis.activeMenu.scrollTop( scroll + offset );\r\n\t\t\t} else if ( offset + itemHeight > elementHeight ) {\r\n\t\t\t\tthis.activeMenu.scrollTop( scroll + offset - elementHeight + itemHeight );\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n\r\n\tblur: function( event, fromFocus ) {\r\n\t\tif ( !fromFocus ) {\r\n\t\t\tclearTimeout( this.timer );\r\n\t\t}\r\n\r\n\t\tif ( !this.active ) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tthis.active.removeClass( \"ui-state-focus\" );\r\n\t\tthis.active = null;\r\n\r\n\t\tthis._trigger( \"blur\", event, { item: this.active } );\r\n\t},\r\n\r\n\t_startOpening: function( submenu ) {\r\n\t\tclearTimeout( this.timer );\r\n\r\n\t\t// Don't open if already open fixes a Firefox bug that caused a .5 pixel\r\n\t\t// shift in the submenu position when mousing over the carat icon\r\n\t\tif ( submenu.attr( \"aria-hidden\" ) !== \"true\" ) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tthis.timer = this._delay(function() {\r\n\t\t\tthis._close();\r\n\t\t\tthis._open( submenu );\r\n\t\t}, this.delay );\r\n\t},\r\n\r\n\t_open: function( submenu ) {\r\n\t\tvar position = $.extend({\r\n\t\t\tof: this.active\r\n\t\t}, this.options.position );\r\n\r\n\t\tclearTimeout( this.timer );\r\n\t\tthis.element.find( \".ui-menu\" ).not( submenu.parents( \".ui-menu\" ) )\r\n\t\t\t.hide()\r\n\t\t\t.attr( \"aria-hidden\", \"true\" );\r\n\r\n\t\tsubmenu\r\n\t\t\t.show()\r\n\t\t\t.removeAttr( \"aria-hidden\" )\r\n\t\t\t.attr( \"aria-expanded\", \"true\" )\r\n\t\t\t.position( position );\r\n\t},\r\n\r\n\tcollapseAll: function( event, all ) {\r\n\t\tclearTimeout( this.timer );\r\n\t\tthis.timer = this._delay(function() {\r\n\t\t\t// If we were passed an event, look for the submenu that contains the event\r\n\t\t\tvar currentMenu = all ? this.element :\r\n\t\t\t\t$( event && event.target ).closest( this.element.find( \".ui-menu\" ) );\r\n\r\n\t\t\t// If we found no valid submenu ancestor, use the main menu to close all sub menus anyway\r\n\t\t\tif ( !currentMenu.length ) {\r\n\t\t\t\tcurrentMenu = this.element;\r\n\t\t\t}\r\n\r\n\t\t\tthis._close( currentMenu );\r\n\r\n\t\t\tthis.blur( event );\r\n\t\t\tthis.activeMenu = currentMenu;\r\n\t\t}, this.delay );\r\n\t},\r\n\r\n\t// With no arguments, closes the currently active menu - if nothing is active\r\n\t// it closes all menus.  If passed an argument, it will search for menus BELOW\r\n\t_close: function( startMenu ) {\r\n\t\tif ( !startMenu ) {\r\n\t\t\tstartMenu = this.active ? this.active.parent() : this.element;\r\n\t\t}\r\n\r\n\t\tstartMenu\r\n\t\t\t.find( \".ui-menu\" )\r\n\t\t\t\t.hide()\r\n\t\t\t\t.attr( \"aria-hidden\", \"true\" )\r\n\t\t\t\t.attr( \"aria-expanded\", \"false\" )\r\n\t\t\t.end()\r\n\t\t\t.find( \".ui-state-active\" ).not( \".ui-state-focus\" )\r\n\t\t\t\t.removeClass( \"ui-state-active\" );\r\n\t},\r\n\r\n\t_closeOnDocumentClick: function( event ) {\r\n\t\treturn !$( event.target ).closest( \".ui-menu\" ).length;\r\n\t},\r\n\r\n\t_isDivider: function( item ) {\r\n\r\n\t\t// Match hyphen, em dash, en dash\r\n\t\treturn !/[^\\-\\u2014\\u2013\\s]/.test( item.text() );\r\n\t},\r\n\r\n\tcollapse: function( event ) {\r\n\t\tvar newItem = this.active &&\r\n\t\t\tthis.active.parent().closest( \".ui-menu-item\", this.element );\r\n\t\tif ( newItem && newItem.length ) {\r\n\t\t\tthis._close();\r\n\t\t\tthis.focus( event, newItem );\r\n\t\t}\r\n\t},\r\n\r\n\texpand: function( event ) {\r\n\t\tvar newItem = this.active &&\r\n\t\t\tthis.active\r\n\t\t\t\t.children( \".ui-menu \" )\r\n\t\t\t\t.find( this.options.items )\r\n\t\t\t\t.first();\r\n\r\n\t\tif ( newItem && newItem.length ) {\r\n\t\t\tthis._open( newItem.parent() );\r\n\r\n\t\t\t// Delay so Firefox will not hide activedescendant change in expanding submenu from AT\r\n\t\t\tthis._delay(function() {\r\n\t\t\t\tthis.focus( event, newItem );\r\n\t\t\t});\r\n\t\t}\r\n\t},\r\n\r\n\tnext: function( event ) {\r\n\t\tthis._move( \"next\", \"first\", event );\r\n\t},\r\n\r\n\tprevious: function( event ) {\r\n\t\tthis._move( \"prev\", \"last\", event );\r\n\t},\r\n\r\n\tisFirstItem: function() {\r\n\t\treturn this.active && !this.active.prevAll( \".ui-menu-item\" ).length;\r\n\t},\r\n\r\n\tisLastItem: function() {\r\n\t\treturn this.active && !this.active.nextAll( \".ui-menu-item\" ).length;\r\n\t},\r\n\r\n\t_move: function( direction, filter, event ) {\r\n\t\tvar next;\r\n\t\tif ( this.active ) {\r\n\t\t\tif ( direction === \"first\" || direction === \"last\" ) {\r\n\t\t\t\tnext = this.active\r\n\t\t\t\t\t[ direction === \"first\" ? \"prevAll\" : \"nextAll\" ]( \".ui-menu-item\" )\r\n\t\t\t\t\t.eq( -1 );\r\n\t\t\t} else {\r\n\t\t\t\tnext = this.active\r\n\t\t\t\t\t[ direction + \"All\" ]( \".ui-menu-item\" )\r\n\t\t\t\t\t.eq( 0 );\r\n\t\t\t}\r\n\t\t}\r\n\t\tif ( !next || !next.length || !this.active ) {\r\n\t\t\tnext = this.activeMenu.find( this.options.items )[ filter ]();\r\n\t\t}\r\n\r\n\t\tthis.focus( event, next );\r\n\t},\r\n\r\n\tnextPage: function( event ) {\r\n\t\tvar item, base, height;\r\n\r\n\t\tif ( !this.active ) {\r\n\t\t\tthis.next( event );\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tif ( this.isLastItem() ) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tif ( this._hasScroll() ) {\r\n\t\t\tbase = this.active.offset().top;\r\n\t\t\theight = this.element.height();\r\n\t\t\tthis.active.nextAll( \".ui-menu-item\" ).each(function() {\r\n\t\t\t\titem = $( this );\r\n\t\t\t\treturn item.offset().top - base - height < 0;\r\n\t\t\t});\r\n\r\n\t\t\tthis.focus( event, item );\r\n\t\t} else {\r\n\t\t\tthis.focus( event, this.activeMenu.find( this.options.items )\r\n\t\t\t\t[ !this.active ? \"first\" : \"last\" ]() );\r\n\t\t}\r\n\t},\r\n\r\n\tpreviousPage: function( event ) {\r\n\t\tvar item, base, height;\r\n\t\tif ( !this.active ) {\r\n\t\t\tthis.next( event );\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tif ( this.isFirstItem() ) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tif ( this._hasScroll() ) {\r\n\t\t\tbase = this.active.offset().top;\r\n\t\t\theight = this.element.height();\r\n\t\t\tthis.active.prevAll( \".ui-menu-item\" ).each(function() {\r\n\t\t\t\titem = $( this );\r\n\t\t\t\treturn item.offset().top - base + height > 0;\r\n\t\t\t});\r\n\r\n\t\t\tthis.focus( event, item );\r\n\t\t} else {\r\n\t\t\tthis.focus( event, this.activeMenu.find( this.options.items ).first() );\r\n\t\t}\r\n\t},\r\n\r\n\t_hasScroll: function() {\r\n\t\treturn this.element.outerHeight() < this.element.prop( \"scrollHeight\" );\r\n\t},\r\n\r\n\tselect: function( event ) {\r\n\t\t// TODO: It should never be possible to not have an active item at this\r\n\t\t// point, but the tests don't trigger mouseenter before click.\r\n\t\tthis.active = this.active || $( event.target ).closest( \".ui-menu-item\" );\r\n\t\tvar ui = { item: this.active };\r\n\t\tif ( !this.active.has( \".ui-menu\" ).length ) {\r\n\t\t\tthis.collapseAll( event, true );\r\n\t\t}\r\n\t\tthis._trigger( \"select\", event, ui );\r\n\t},\r\n\r\n\t_filterMenuItems: function(character) {\r\n\t\tvar escapedCharacter = character.replace( /[\\-\\[\\]{}()*+?.,\\\\\\^$|#\\s]/g, \"\\\\$&\" ),\r\n\t\t\tregex = new RegExp( \"^\" + escapedCharacter, \"i\" );\r\n\r\n\t\treturn this.activeMenu\r\n\t\t\t.find( this.options.items )\r\n\r\n\t\t\t// Only match on items, not dividers or other content (#10571)\r\n\t\t\t.filter( \".ui-menu-item\" )\r\n\t\t\t.filter(function() {\r\n\t\t\t\treturn regex.test( $.trim( $( this ).text() ) );\r\n\t\t\t});\r\n\t}\r\n});\r\n\r\n\r\n/*!\r\n * jQuery UI Autocomplete 1.11.4\r\n * http://jqueryui.com\r\n *\r\n * Copyright jQuery Foundation and other contributors\r\n * Released under the MIT license.\r\n * http://jquery.org/license\r\n *\r\n * http://api.jqueryui.com/autocomplete/\r\n */\r\n\r\n\r\n$.widget( \"ui.autocomplete\", {\r\n\tversion: \"1.11.4\",\r\n\tdefaultElement: \"<input>\",\r\n\toptions: {\r\n\t\tappendTo: null,\r\n\t\tautoFocus: false,\r\n\t\tdelay: 300,\r\n\t\tminLength: 1,\r\n\t\tposition: {\r\n\t\t\tmy: \"left top\",\r\n\t\t\tat: \"left bottom\",\r\n\t\t\tcollision: \"none\"\r\n\t\t},\r\n\t\tsource: null,\r\n\r\n\t\t// callbacks\r\n\t\tchange: null,\r\n\t\tclose: null,\r\n\t\tfocus: null,\r\n\t\topen: null,\r\n\t\tresponse: null,\r\n\t\tsearch: null,\r\n\t\tselect: null\r\n\t},\r\n\r\n\trequestIndex: 0,\r\n\tpending: 0,\r\n\r\n\t_create: function() {\r\n\t\t// Some browsers only repeat keydown events, not keypress events,\r\n\t\t// so we use the suppressKeyPress flag to determine if we've already\r\n\t\t// handled the keydown event. #7269\r\n\t\t// Unfortunately the code for & in keypress is the same as the up arrow,\r\n\t\t// so we use the suppressKeyPressRepeat flag to avoid handling keypress\r\n\t\t// events when we know the keydown event was used to modify the\r\n\t\t// search term. #7799\r\n\t\tvar suppressKeyPress, suppressKeyPressRepeat, suppressInput,\r\n\t\t\tnodeName = this.element[ 0 ].nodeName.toLowerCase(),\r\n\t\t\tisTextarea = nodeName === \"textarea\",\r\n\t\t\tisInput = nodeName === \"input\";\r\n\r\n\t\tthis.isMultiLine =\r\n\t\t\t// Textareas are always multi-line\r\n\t\t\tisTextarea ? true :\r\n\t\t\t// Inputs are always single-line, even if inside a contentEditable element\r\n\t\t\t// IE also treats inputs as contentEditable\r\n\t\t\tisInput ? false :\r\n\t\t\t// All other element types are determined by whether or not they're contentEditable\r\n\t\t\tthis.element.prop( \"isContentEditable\" );\r\n\r\n\t\tthis.valueMethod = this.element[ isTextarea || isInput ? \"val\" : \"text\" ];\r\n\t\tthis.isNewMenu = true;\r\n\r\n\t\tthis.element\r\n\t\t\t.addClass( \"ui-autocomplete-input\" )\r\n\t\t\t.attr( \"autocomplete\", \"off\" );\r\n\r\n\t\tthis._on( this.element, {\r\n\t\t\tkeydown: function( event ) {\r\n\t\t\t\tif ( this.element.prop( \"readOnly\" ) ) {\r\n\t\t\t\t\tsuppressKeyPress = true;\r\n\t\t\t\t\tsuppressInput = true;\r\n\t\t\t\t\tsuppressKeyPressRepeat = true;\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tsuppressKeyPress = false;\r\n\t\t\t\tsuppressInput = false;\r\n\t\t\t\tsuppressKeyPressRepeat = false;\r\n\t\t\t\tvar keyCode = $.ui.keyCode;\r\n\t\t\t\tswitch ( event.keyCode ) {\r\n\t\t\t\tcase keyCode.PAGE_UP:\r\n\t\t\t\t\tsuppressKeyPress = true;\r\n\t\t\t\t\tthis._move( \"previousPage\", event );\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase keyCode.PAGE_DOWN:\r\n\t\t\t\t\tsuppressKeyPress = true;\r\n\t\t\t\t\tthis._move( \"nextPage\", event );\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase keyCode.UP:\r\n\t\t\t\t\tsuppressKeyPress = true;\r\n\t\t\t\t\tthis._keyEvent( \"previous\", event );\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase keyCode.DOWN:\r\n\t\t\t\t\tsuppressKeyPress = true;\r\n\t\t\t\t\tthis._keyEvent( \"next\", event );\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase keyCode.ENTER:\r\n\t\t\t\t\t// when menu is open and has focus\r\n\t\t\t\t\tif ( this.menu.active ) {\r\n\t\t\t\t\t\t// #6055 - Opera still allows the keypress to occur\r\n\t\t\t\t\t\t// which causes forms to submit\r\n\t\t\t\t\t\tsuppressKeyPress = true;\r\n\t\t\t\t\t\tevent.preventDefault();\r\n\t\t\t\t\t\tthis.menu.select( event );\r\n\t\t\t\t\t}\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase keyCode.TAB:\r\n\t\t\t\t\tif ( this.menu.active ) {\r\n\t\t\t\t\t\tthis.menu.select( event );\r\n\t\t\t\t\t}\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase keyCode.ESCAPE:\r\n\t\t\t\t\tif ( this.menu.element.is( \":visible\" ) ) {\r\n\t\t\t\t\t\tif ( !this.isMultiLine ) {\r\n\t\t\t\t\t\t\tthis._value( this.term );\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tthis.close( event );\r\n\t\t\t\t\t\t// Different browsers have different default behavior for escape\r\n\t\t\t\t\t\t// Single press can mean undo or clear\r\n\t\t\t\t\t\t// Double press in IE means clear the whole form\r\n\t\t\t\t\t\tevent.preventDefault();\r\n\t\t\t\t\t}\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tdefault:\r\n\t\t\t\t\tsuppressKeyPressRepeat = true;\r\n\t\t\t\t\t// search timeout should be triggered before the input value is changed\r\n\t\t\t\t\tthis._searchTimeout( event );\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\tkeypress: function( event ) {\r\n\t\t\t\tif ( suppressKeyPress ) {\r\n\t\t\t\t\tsuppressKeyPress = false;\r\n\t\t\t\t\tif ( !this.isMultiLine || this.menu.element.is( \":visible\" ) ) {\r\n\t\t\t\t\t\tevent.preventDefault();\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t\tif ( suppressKeyPressRepeat ) {\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// replicate some key handlers to allow them to repeat in Firefox and Opera\r\n\t\t\t\tvar keyCode = $.ui.keyCode;\r\n\t\t\t\tswitch ( event.keyCode ) {\r\n\t\t\t\tcase keyCode.PAGE_UP:\r\n\t\t\t\t\tthis._move( \"previousPage\", event );\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase keyCode.PAGE_DOWN:\r\n\t\t\t\t\tthis._move( \"nextPage\", event );\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase keyCode.UP:\r\n\t\t\t\t\tthis._keyEvent( \"previous\", event );\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase keyCode.DOWN:\r\n\t\t\t\t\tthis._keyEvent( \"next\", event );\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\tinput: function( event ) {\r\n\t\t\t\tif ( suppressInput ) {\r\n\t\t\t\t\tsuppressInput = false;\r\n\t\t\t\t\tevent.preventDefault();\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t\tthis._searchTimeout( event );\r\n\t\t\t},\r\n\t\t\tfocus: function() {\r\n\t\t\t\tthis.selectedItem = null;\r\n\t\t\t\tthis.previous = this._value();\r\n\t\t\t},\r\n\t\t\tblur: function( event ) {\r\n\t\t\t\tif ( this.cancelBlur ) {\r\n\t\t\t\t\tdelete this.cancelBlur;\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tclearTimeout( this.searching );\r\n\t\t\t\tthis.close( event );\r\n\t\t\t\tthis._change( event );\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\tthis._initSource();\r\n\t\tthis.menu = $( \"<ul>\" )\r\n\t\t\t.addClass( \"ui-autocomplete ui-front\" )\r\n\t\t\t.appendTo( this._appendTo() )\r\n\t\t\t.menu({\r\n\t\t\t\t// disable ARIA support, the live region takes care of that\r\n\t\t\t\trole: null\r\n\t\t\t})\r\n\t\t\t.hide()\r\n\t\t\t.menu( \"instance\" );\r\n\r\n\t\tthis._on( this.menu.element, {\r\n\t\t\tmousedown: function( event ) {\r\n\t\t\t\t// prevent moving focus out of the text field\r\n\t\t\t\tevent.preventDefault();\r\n\r\n\t\t\t\t// IE doesn't prevent moving focus even with event.preventDefault()\r\n\t\t\t\t// so we set a flag to know when we should ignore the blur event\r\n\t\t\t\tthis.cancelBlur = true;\r\n\t\t\t\tthis._delay(function() {\r\n\t\t\t\t\tdelete this.cancelBlur;\r\n\t\t\t\t});\r\n\r\n\t\t\t\t// clicking on the scrollbar causes focus to shift to the body\r\n\t\t\t\t// but we can't detect a mouseup or a click immediately afterward\r\n\t\t\t\t// so we have to track the next mousedown and close the menu if\r\n\t\t\t\t// the user clicks somewhere outside of the autocomplete\r\n\t\t\t\tvar menuElement = this.menu.element[ 0 ];\r\n\t\t\t\tif ( !$( event.target ).closest( \".ui-menu-item\" ).length ) {\r\n\t\t\t\t\tthis._delay(function() {\r\n\t\t\t\t\t\tvar that = this;\r\n\t\t\t\t\t\tthis.document.one( \"mousedown\", function( event ) {\r\n\t\t\t\t\t\t\tif ( event.target !== that.element[ 0 ] &&\r\n\t\t\t\t\t\t\t\t\tevent.target !== menuElement &&\r\n\t\t\t\t\t\t\t\t\t!$.contains( menuElement, event.target ) ) {\r\n\t\t\t\t\t\t\t\tthat.close();\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\tmenufocus: function( event, ui ) {\r\n\t\t\t\tvar label, item;\r\n\t\t\t\t// support: Firefox\r\n\t\t\t\t// Prevent accidental activation of menu items in Firefox (#7024 #9118)\r\n\t\t\t\tif ( this.isNewMenu ) {\r\n\t\t\t\t\tthis.isNewMenu = false;\r\n\t\t\t\t\tif ( event.originalEvent && /^mouse/.test( event.originalEvent.type ) ) {\r\n\t\t\t\t\t\tthis.menu.blur();\r\n\r\n\t\t\t\t\t\tthis.document.one( \"mousemove\", function() {\r\n\t\t\t\t\t\t\t$( event.target ).trigger( event.originalEvent );\r\n\t\t\t\t\t\t});\r\n\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\titem = ui.item.data( \"ui-autocomplete-item\" );\r\n\t\t\t\tif ( false !== this._trigger( \"focus\", event, { item: item } ) ) {\r\n\t\t\t\t\t// use value to match what will end up in the input, if it was a key event\r\n\t\t\t\t\tif ( event.originalEvent && /^key/.test( event.originalEvent.type ) ) {\r\n\t\t\t\t\t\tthis._value( item.value );\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// Announce the value in the liveRegion\r\n\t\t\t\tlabel = ui.item.attr( \"aria-label\" ) || item.value;\r\n\t\t\t\tif ( label && $.trim( label ).length ) {\r\n\t\t\t\t\tthis.liveRegion.children().hide();\r\n\t\t\t\t\t$( \"<div>\" ).text( label ).appendTo( this.liveRegion );\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\tmenuselect: function( event, ui ) {\r\n\t\t\t\tvar item = ui.item.data( \"ui-autocomplete-item\" ),\r\n\t\t\t\t\tprevious = this.previous;\r\n\r\n\t\t\t\t// only trigger when focus was lost (click on menu)\r\n\t\t\t\tif ( this.element[ 0 ] !== this.document[ 0 ].activeElement ) {\r\n\t\t\t\t\tthis.element.focus();\r\n\t\t\t\t\tthis.previous = previous;\r\n\t\t\t\t\t// #6109 - IE triggers two focus events and the second\r\n\t\t\t\t\t// is asynchronous, so we need to reset the previous\r\n\t\t\t\t\t// term synchronously and asynchronously :-(\r\n\t\t\t\t\tthis._delay(function() {\r\n\t\t\t\t\t\tthis.previous = previous;\r\n\t\t\t\t\t\tthis.selectedItem = item;\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif ( false !== this._trigger( \"select\", event, { item: item } ) ) {\r\n\t\t\t\t\tthis._value( item.value );\r\n\t\t\t\t}\r\n\t\t\t\t// reset the term after the select event\r\n\t\t\t\t// this allows custom select handling to work properly\r\n\t\t\t\tthis.term = this._value();\r\n\r\n\t\t\t\tthis.close( event );\r\n\t\t\t\tthis.selectedItem = item;\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\tthis.liveRegion = $( \"<span>\", {\r\n\t\t\t\trole: \"status\",\r\n\t\t\t\t\"aria-live\": \"assertive\",\r\n\t\t\t\t\"aria-relevant\": \"additions\"\r\n\t\t\t})\r\n\t\t\t.addClass( \"ui-helper-hidden-accessible\" )\r\n\t\t\t.appendTo( this.document[ 0 ].body );\r\n\r\n\t\t// turning off autocomplete prevents the browser from remembering the\r\n\t\t// value when navigating through history, so we re-enable autocomplete\r\n\t\t// if the page is unloaded before the widget is destroyed. #7790\r\n\t\tthis._on( this.window, {\r\n\t\t\tbeforeunload: function() {\r\n\t\t\t\tthis.element.removeAttr( \"autocomplete\" );\r\n\t\t\t}\r\n\t\t});\r\n\t},\r\n\r\n\t_destroy: function() {\r\n\t\tclearTimeout( this.searching );\r\n\t\tthis.element\r\n\t\t\t.removeClass( \"ui-autocomplete-input\" )\r\n\t\t\t.removeAttr( \"autocomplete\" );\r\n\t\tthis.menu.element.remove();\r\n\t\tthis.liveRegion.remove();\r\n\t},\r\n\r\n\t_setOption: function( key, value ) {\r\n\t\tthis._super( key, value );\r\n\t\tif ( key === \"source\" ) {\r\n\t\t\tthis._initSource();\r\n\t\t}\r\n\t\tif ( key === \"appendTo\" ) {\r\n\t\t\tthis.menu.element.appendTo( this._appendTo() );\r\n\t\t}\r\n\t\tif ( key === \"disabled\" && value && this.xhr ) {\r\n\t\t\tthis.xhr.abort();\r\n\t\t}\r\n\t},\r\n\r\n\t_appendTo: function() {\r\n\t\tvar element = this.options.appendTo;\r\n\r\n\t\tif ( element ) {\r\n\t\t\telement = element.jquery || element.nodeType ?\r\n\t\t\t\t$( element ) :\r\n\t\t\t\tthis.document.find( element ).eq( 0 );\r\n\t\t}\r\n\r\n\t\tif ( !element || !element[ 0 ] ) {\r\n\t\t\telement = this.element.closest( \".ui-front\" );\r\n\t\t}\r\n\r\n\t\tif ( !element.length ) {\r\n\t\t\telement = this.document[ 0 ].body;\r\n\t\t}\r\n\r\n\t\treturn element;\r\n\t},\r\n\r\n\t_initSource: function() {\r\n\t\tvar array, url,\r\n\t\t\tthat = this;\r\n\t\tif ( $.isArray( this.options.source ) ) {\r\n\t\t\tarray = this.options.source;\r\n\t\t\tthis.source = function( request, response ) {\r\n\t\t\t\tresponse( $.ui.autocomplete.filter( array, request.term ) );\r\n\t\t\t};\r\n\t\t} else if ( typeof this.options.source === \"string\" ) {\r\n\t\t\turl = this.options.source;\r\n\t\t\tthis.source = function( request, response ) {\r\n\t\t\t\tif ( that.xhr ) {\r\n\t\t\t\t\tthat.xhr.abort();\r\n\t\t\t\t}\r\n\t\t\t\tthat.xhr = $.ajax({\r\n\t\t\t\t\turl: url,\r\n\t\t\t\t\tdata: request,\r\n\t\t\t\t\tdataType: \"json\",\r\n\t\t\t\t\tsuccess: function( data ) {\r\n\t\t\t\t\t\tresponse( data );\r\n\t\t\t\t\t},\r\n\t\t\t\t\terror: function() {\r\n\t\t\t\t\t\tresponse([]);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t};\r\n\t\t} else {\r\n\t\t\tthis.source = this.options.source;\r\n\t\t}\r\n\t},\r\n\r\n\t_searchTimeout: function( event ) {\r\n\t\tclearTimeout( this.searching );\r\n\t\tthis.searching = this._delay(function() {\r\n\r\n\t\t\t// Search if the value has changed, or if the user retypes the same value (see #7434)\r\n\t\t\tvar equalValues = this.term === this._value(),\r\n\t\t\t\tmenuVisible = this.menu.element.is( \":visible\" ),\r\n\t\t\t\tmodifierKey = event.altKey || event.ctrlKey || event.metaKey || event.shiftKey;\r\n\r\n\t\t\tif ( !equalValues || ( equalValues && !menuVisible && !modifierKey ) ) {\r\n\t\t\t\tthis.selectedItem = null;\r\n\t\t\t\tthis.search( null, event );\r\n\t\t\t}\r\n\t\t}, this.options.delay );\r\n\t},\r\n\r\n\tsearch: function( value, event ) {\r\n\t\tvalue = value != null ? value : this._value();\r\n\r\n\t\t// always save the actual value, not the one passed as an argument\r\n\t\tthis.term = this._value();\r\n\r\n\t\tif ( value.length < this.options.minLength ) {\r\n\t\t\treturn this.close( event );\r\n\t\t}\r\n\r\n\t\tif ( this._trigger( \"search\", event ) === false ) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\treturn this._search( value );\r\n\t},\r\n\r\n\t_search: function( value ) {\r\n\t\tthis.pending++;\r\n\t\tthis.element.addClass( \"ui-autocomplete-loading\" );\r\n\t\tthis.cancelSearch = false;\r\n\r\n\t\tthis.source( { term: value }, this._response() );\r\n\t},\r\n\r\n\t_response: function() {\r\n\t\tvar index = ++this.requestIndex;\r\n\r\n\t\treturn $.proxy(function( content ) {\r\n\t\t\tif ( index === this.requestIndex ) {\r\n\t\t\t\tthis.__response( content );\r\n\t\t\t}\r\n\r\n\t\t\tthis.pending--;\r\n\t\t\tif ( !this.pending ) {\r\n\t\t\t\tthis.element.removeClass( \"ui-autocomplete-loading\" );\r\n\t\t\t}\r\n\t\t}, this );\r\n\t},\r\n\r\n\t__response: function( content ) {\r\n\t\tif ( content ) {\r\n\t\t\tcontent = this._normalize( content );\r\n\t\t}\r\n\t\tthis._trigger( \"response\", null, { content: content } );\r\n\t\tif ( !this.options.disabled && content && content.length && !this.cancelSearch ) {\r\n\t\t\tthis._suggest( content );\r\n\t\t\tthis._trigger( \"open\" );\r\n\t\t} else {\r\n\t\t\t// use ._close() instead of .close() so we don't cancel future searches\r\n\t\t\tthis._close();\r\n\t\t}\r\n\t},\r\n\r\n\tclose: function( event ) {\r\n\t\tthis.cancelSearch = true;\r\n\t\tthis._close( event );\r\n\t},\r\n\r\n\t_close: function( event ) {\r\n\t\tif ( this.menu.element.is( \":visible\" ) ) {\r\n\t\t\tthis.menu.element.hide();\r\n\t\t\tthis.menu.blur();\r\n\t\t\tthis.isNewMenu = true;\r\n\t\t\tthis._trigger( \"close\", event );\r\n\t\t}\r\n\t},\r\n\r\n\t_change: function( event ) {\r\n\t\tif ( this.previous !== this._value() ) {\r\n\t\t\tthis._trigger( \"change\", event, { item: this.selectedItem } );\r\n\t\t}\r\n\t},\r\n\r\n\t_normalize: function( items ) {\r\n\t\t// assume all items have the right format when the first item is complete\r\n\t\tif ( items.length && items[ 0 ].label && items[ 0 ].value ) {\r\n\t\t\treturn items;\r\n\t\t}\r\n\t\treturn $.map( items, function( item ) {\r\n\t\t\tif ( typeof item === \"string\" ) {\r\n\t\t\t\treturn {\r\n\t\t\t\t\tlabel: item,\r\n\t\t\t\t\tvalue: item\r\n\t\t\t\t};\r\n\t\t\t}\r\n\t\t\treturn $.extend( {}, item, {\r\n\t\t\t\tlabel: item.label || item.value,\r\n\t\t\t\tvalue: item.value || item.label\r\n\t\t\t});\r\n\t\t});\r\n\t},\r\n\r\n\t_suggest: function( items ) {\r\n\t\tvar ul = this.menu.element.empty();\r\n\t\tthis._renderMenu( ul, items );\r\n\t\tthis.isNewMenu = true;\r\n\t\tthis.menu.refresh();\r\n\r\n\t\t// size and position menu\r\n\t\tul.show();\r\n\t\tthis._resizeMenu();\r\n\t\tul.position( $.extend({\r\n\t\t\tof: this.element\r\n\t\t}, this.options.position ) );\r\n\r\n\t\tif ( this.options.autoFocus ) {\r\n\t\t\tthis.menu.next();\r\n\t\t}\r\n\t},\r\n\r\n\t_resizeMenu: function() {\r\n\t\tvar ul = this.menu.element;\r\n\t\tul.outerWidth( Math.max(\r\n\t\t\t// Firefox wraps long text (possibly a rounding bug)\r\n\t\t\t// so we add 1px to avoid the wrapping (#7513)\r\n\t\t\tul.width( \"\" ).outerWidth() + 1,\r\n\t\t\tthis.element.outerWidth()\r\n\t\t) );\r\n\t},\r\n\r\n\t_renderMenu: function( ul, items ) {\r\n\t\tvar that = this;\r\n\t\t$.each( items, function( index, item ) {\r\n\t\t\tthat._renderItemData( ul, item );\r\n\t\t});\r\n\t},\r\n\r\n\t_renderItemData: function( ul, item ) {\r\n\t\treturn this._renderItem( ul, item ).data( \"ui-autocomplete-item\", item );\r\n\t},\r\n\r\n\t_renderItem: function( ul, item ) {\r\n\t\treturn $( \"<li>\" ).text( item.label ).appendTo( ul );\r\n\t},\r\n\r\n\t_move: function( direction, event ) {\r\n\t\tif ( !this.menu.element.is( \":visible\" ) ) {\r\n\t\t\tthis.search( null, event );\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tif ( this.menu.isFirstItem() && /^previous/.test( direction ) ||\r\n\t\t\t\tthis.menu.isLastItem() && /^next/.test( direction ) ) {\r\n\r\n\t\t\tif ( !this.isMultiLine ) {\r\n\t\t\t\tthis._value( this.term );\r\n\t\t\t}\r\n\r\n\t\t\tthis.menu.blur();\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tthis.menu[ direction ]( event );\r\n\t},\r\n\r\n\twidget: function() {\r\n\t\treturn this.menu.element;\r\n\t},\r\n\r\n\t_value: function() {\r\n\t\treturn this.valueMethod.apply( this.element, arguments );\r\n\t},\r\n\r\n\t_keyEvent: function( keyEvent, event ) {\r\n\t\tif ( !this.isMultiLine || this.menu.element.is( \":visible\" ) ) {\r\n\t\t\tthis._move( keyEvent, event );\r\n\r\n\t\t\t// prevents moving cursor to beginning/end of the text field in some browsers\r\n\t\t\tevent.preventDefault();\r\n\t\t}\r\n\t}\r\n});\r\n\r\n$.extend( $.ui.autocomplete, {\r\n\tescapeRegex: function( value ) {\r\n\t\treturn value.replace( /[\\-\\[\\]{}()*+?.,\\\\\\^$|#\\s]/g, \"\\\\$&\" );\r\n\t},\r\n\tfilter: function( array, term ) {\r\n\t\tvar matcher = new RegExp( $.ui.autocomplete.escapeRegex( term ), \"i\" );\r\n\t\treturn $.grep( array, function( value ) {\r\n\t\t\treturn matcher.test( value.label || value.value || value );\r\n\t\t});\r\n\t}\r\n});\r\n\r\n// live region extension, adding a `messages` option\r\n// NOTE: This is an experimental API. We are still investigating\r\n// a full solution for string manipulation and internationalization.\r\n$.widget( \"ui.autocomplete\", $.ui.autocomplete, {\r\n\toptions: {\r\n\t\tmessages: {\r\n\t\t\tnoResults: \"No search results.\",\r\n\t\t\tresults: function( amount ) {\r\n\t\t\t\treturn amount + ( amount > 1 ? \" results are\" : \" result is\" ) +\r\n\t\t\t\t\t\" available, use up and down arrow keys to navigate.\";\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n\r\n\t__response: function( content ) {\r\n\t\tvar message;\r\n\t\tthis._superApply( arguments );\r\n\t\tif ( this.options.disabled || this.cancelSearch ) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tif ( content && content.length ) {\r\n\t\t\tmessage = this.options.messages.results( content.length );\r\n\t\t} else {\r\n\t\t\tmessage = this.options.messages.noResults;\r\n\t\t}\r\n\t\tthis.liveRegion.children().hide();\r\n\t\t$( \"<div>\" ).text( message ).appendTo( this.liveRegion );\r\n\t}\r\n});\r\n\r\nvar autocomplete = $.ui.autocomplete;\r\n\r\n\r\n/*!\r\n * jQuery UI Button 1.11.4\r\n * http://jqueryui.com\r\n *\r\n * Copyright jQuery Foundation and other contributors\r\n * Released under the MIT license.\r\n * http://jquery.org/license\r\n *\r\n * http://api.jqueryui.com/button/\r\n */\r\n\r\n\r\nvar lastActive,\r\n\tbaseClasses = \"ui-button ui-widget ui-state-default ui-corner-all\",\r\n\ttypeClasses = \"ui-button-icons-only ui-button-icon-only ui-button-text-icons ui-button-text-icon-primary ui-button-text-icon-secondary ui-button-text-only\",\r\n\tformResetHandler = function() {\r\n\t\tvar form = $( this );\r\n\t\tsetTimeout(function() {\r\n\t\t\tform.find( \":ui-button\" ).button( \"refresh\" );\r\n\t\t}, 1 );\r\n\t},\r\n\tradioGroup = function( radio ) {\r\n\t\tvar name = radio.name,\r\n\t\t\tform = radio.form,\r\n\t\t\tradios = $( [] );\r\n\t\tif ( name ) {\r\n\t\t\tname = name.replace( /'/g, \"\\\\'\" );\r\n\t\t\tif ( form ) {\r\n\t\t\t\tradios = $( form ).find( \"[name='\" + name + \"'][type=radio]\" );\r\n\t\t\t} else {\r\n\t\t\t\tradios = $( \"[name='\" + name + \"'][type=radio]\", radio.ownerDocument )\r\n\t\t\t\t\t.filter(function() {\r\n\t\t\t\t\t\treturn !this.form;\r\n\t\t\t\t\t});\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn radios;\r\n\t};\r\n\r\n$.widget( \"ui.button\", {\r\n\tversion: \"1.11.4\",\r\n\tdefaultElement: \"<button>\",\r\n\toptions: {\r\n\t\tdisabled: null,\r\n\t\ttext: true,\r\n\t\tlabel: null,\r\n\t\ticons: {\r\n\t\t\tprimary: null,\r\n\t\t\tsecondary: null\r\n\t\t}\r\n\t},\r\n\t_create: function() {\r\n\t\tthis.element.closest( \"form\" )\r\n\t\t\t.unbind( \"reset\" + this.eventNamespace )\r\n\t\t\t.bind( \"reset\" + this.eventNamespace, formResetHandler );\r\n\r\n\t\tif ( typeof this.options.disabled !== \"boolean\" ) {\r\n\t\t\tthis.options.disabled = !!this.element.prop( \"disabled\" );\r\n\t\t} else {\r\n\t\t\tthis.element.prop( \"disabled\", this.options.disabled );\r\n\t\t}\r\n\r\n\t\tthis._determineButtonType();\r\n\t\tthis.hasTitle = !!this.buttonElement.attr( \"title\" );\r\n\r\n\t\tvar that = this,\r\n\t\t\toptions = this.options,\r\n\t\t\ttoggleButton = this.type === \"checkbox\" || this.type === \"radio\",\r\n\t\t\tactiveClass = !toggleButton ? \"ui-state-active\" : \"\";\r\n\r\n\t\tif ( options.label === null ) {\r\n\t\t\toptions.label = (this.type === \"input\" ? this.buttonElement.val() : this.buttonElement.html());\r\n\t\t}\r\n\r\n\t\tthis._hoverable( this.buttonElement );\r\n\r\n\t\tthis.buttonElement\r\n\t\t\t.addClass( baseClasses )\r\n\t\t\t.attr( \"role\", \"button\" )\r\n\t\t\t.bind( \"mouseenter\" + this.eventNamespace, function() {\r\n\t\t\t\tif ( options.disabled ) {\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t\tif ( this === lastActive ) {\r\n\t\t\t\t\t$( this ).addClass( \"ui-state-active\" );\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t\t.bind( \"mouseleave\" + this.eventNamespace, function() {\r\n\t\t\t\tif ( options.disabled ) {\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t\t$( this ).removeClass( activeClass );\r\n\t\t\t})\r\n\t\t\t.bind( \"click\" + this.eventNamespace, function( event ) {\r\n\t\t\t\tif ( options.disabled ) {\r\n\t\t\t\t\tevent.preventDefault();\r\n\t\t\t\t\tevent.stopImmediatePropagation();\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\t// Can't use _focusable() because the element that receives focus\r\n\t\t// and the element that gets the ui-state-focus class are different\r\n\t\tthis._on({\r\n\t\t\tfocus: function() {\r\n\t\t\t\tthis.buttonElement.addClass( \"ui-state-focus\" );\r\n\t\t\t},\r\n\t\t\tblur: function() {\r\n\t\t\t\tthis.buttonElement.removeClass( \"ui-state-focus\" );\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\tif ( toggleButton ) {\r\n\t\t\tthis.element.bind( \"change\" + this.eventNamespace, function() {\r\n\t\t\t\tthat.refresh();\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tif ( this.type === \"checkbox\" ) {\r\n\t\t\tthis.buttonElement.bind( \"click\" + this.eventNamespace, function() {\r\n\t\t\t\tif ( options.disabled ) {\r\n\t\t\t\t\treturn false;\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t} else if ( this.type === \"radio\" ) {\r\n\t\t\tthis.buttonElement.bind( \"click\" + this.eventNamespace, function() {\r\n\t\t\t\tif ( options.disabled ) {\r\n\t\t\t\t\treturn false;\r\n\t\t\t\t}\r\n\t\t\t\t$( this ).addClass( \"ui-state-active\" );\r\n\t\t\t\tthat.buttonElement.attr( \"aria-pressed\", \"true\" );\r\n\r\n\t\t\t\tvar radio = that.element[ 0 ];\r\n\t\t\t\tradioGroup( radio )\r\n\t\t\t\t\t.not( radio )\r\n\t\t\t\t\t.map(function() {\r\n\t\t\t\t\t\treturn $( this ).button( \"widget\" )[ 0 ];\r\n\t\t\t\t\t})\r\n\t\t\t\t\t.removeClass( \"ui-state-active\" )\r\n\t\t\t\t\t.attr( \"aria-pressed\", \"false\" );\r\n\t\t\t});\r\n\t\t} else {\r\n\t\t\tthis.buttonElement\r\n\t\t\t\t.bind( \"mousedown\" + this.eventNamespace, function() {\r\n\t\t\t\t\tif ( options.disabled ) {\r\n\t\t\t\t\t\treturn false;\r\n\t\t\t\t\t}\r\n\t\t\t\t\t$( this ).addClass( \"ui-state-active\" );\r\n\t\t\t\t\tlastActive = this;\r\n\t\t\t\t\tthat.document.one( \"mouseup\", function() {\r\n\t\t\t\t\t\tlastActive = null;\r\n\t\t\t\t\t});\r\n\t\t\t\t})\r\n\t\t\t\t.bind( \"mouseup\" + this.eventNamespace, function() {\r\n\t\t\t\t\tif ( options.disabled ) {\r\n\t\t\t\t\t\treturn false;\r\n\t\t\t\t\t}\r\n\t\t\t\t\t$( this ).removeClass( \"ui-state-active\" );\r\n\t\t\t\t})\r\n\t\t\t\t.bind( \"keydown\" + this.eventNamespace, function(event) {\r\n\t\t\t\t\tif ( options.disabled ) {\r\n\t\t\t\t\t\treturn false;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif ( event.keyCode === $.ui.keyCode.SPACE || event.keyCode === $.ui.keyCode.ENTER ) {\r\n\t\t\t\t\t\t$( this ).addClass( \"ui-state-active\" );\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t\t// see #8559, we bind to blur here in case the button element loses\r\n\t\t\t\t// focus between keydown and keyup, it would be left in an \"active\" state\r\n\t\t\t\t.bind( \"keyup\" + this.eventNamespace + \" blur\" + this.eventNamespace, function() {\r\n\t\t\t\t\t$( this ).removeClass( \"ui-state-active\" );\r\n\t\t\t\t});\r\n\r\n\t\t\tif ( this.buttonElement.is(\"a\") ) {\r\n\t\t\t\tthis.buttonElement.keyup(function(event) {\r\n\t\t\t\t\tif ( event.keyCode === $.ui.keyCode.SPACE ) {\r\n\t\t\t\t\t\t// TODO pass through original event correctly (just as 2nd argument doesn't work)\r\n\t\t\t\t\t\t$( this ).click();\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tthis._setOption( \"disabled\", options.disabled );\r\n\t\tthis._resetButton();\r\n\t},\r\n\r\n\t_determineButtonType: function() {\r\n\t\tvar ancestor, labelSelector, checked;\r\n\r\n\t\tif ( this.element.is(\"[type=checkbox]\") ) {\r\n\t\t\tthis.type = \"checkbox\";\r\n\t\t} else if ( this.element.is(\"[type=radio]\") ) {\r\n\t\t\tthis.type = \"radio\";\r\n\t\t} else if ( this.element.is(\"input\") ) {\r\n\t\t\tthis.type = \"input\";\r\n\t\t} else {\r\n\t\t\tthis.type = \"button\";\r\n\t\t}\r\n\r\n\t\tif ( this.type === \"checkbox\" || this.type === \"radio\" ) {\r\n\t\t\t// we don't search against the document in case the element\r\n\t\t\t// is disconnected from the DOM\r\n\t\t\tancestor = this.element.parents().last();\r\n\t\t\tlabelSelector = \"label[for='\" + this.element.attr(\"id\") + \"']\";\r\n\t\t\tthis.buttonElement = ancestor.find( labelSelector );\r\n\t\t\tif ( !this.buttonElement.length ) {\r\n\t\t\t\tancestor = ancestor.length ? ancestor.siblings() : this.element.siblings();\r\n\t\t\t\tthis.buttonElement = ancestor.filter( labelSelector );\r\n\t\t\t\tif ( !this.buttonElement.length ) {\r\n\t\t\t\t\tthis.buttonElement = ancestor.find( labelSelector );\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tthis.element.addClass( \"ui-helper-hidden-accessible\" );\r\n\r\n\t\t\tchecked = this.element.is( \":checked\" );\r\n\t\t\tif ( checked ) {\r\n\t\t\t\tthis.buttonElement.addClass( \"ui-state-active\" );\r\n\t\t\t}\r\n\t\t\tthis.buttonElement.prop( \"aria-pressed\", checked );\r\n\t\t} else {\r\n\t\t\tthis.buttonElement = this.element;\r\n\t\t}\r\n\t},\r\n\r\n\twidget: function() {\r\n\t\treturn this.buttonElement;\r\n\t},\r\n\r\n\t_destroy: function() {\r\n\t\tthis.element\r\n\t\t\t.removeClass( \"ui-helper-hidden-accessible\" );\r\n\t\tthis.buttonElement\r\n\t\t\t.removeClass( baseClasses + \" ui-state-active \" + typeClasses )\r\n\t\t\t.removeAttr( \"role\" )\r\n\t\t\t.removeAttr( \"aria-pressed\" )\r\n\t\t\t.html( this.buttonElement.find(\".ui-button-text\").html() );\r\n\r\n\t\tif ( !this.hasTitle ) {\r\n\t\t\tthis.buttonElement.removeAttr( \"title\" );\r\n\t\t}\r\n\t},\r\n\r\n\t_setOption: function( key, value ) {\r\n\t\tthis._super( key, value );\r\n\t\tif ( key === \"disabled\" ) {\r\n\t\t\tthis.widget().toggleClass( \"ui-state-disabled\", !!value );\r\n\t\t\tthis.element.prop( \"disabled\", !!value );\r\n\t\t\tif ( value ) {\r\n\t\t\t\tif ( this.type === \"checkbox\" || this.type === \"radio\" ) {\r\n\t\t\t\t\tthis.buttonElement.removeClass( \"ui-state-focus\" );\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthis.buttonElement.removeClass( \"ui-state-focus ui-state-active\" );\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tthis._resetButton();\r\n\t},\r\n\r\n\trefresh: function() {\r\n\t\t//See #8237 & #8828\r\n\t\tvar isDisabled = this.element.is( \"input, button\" ) ? this.element.is( \":disabled\" ) : this.element.hasClass( \"ui-button-disabled\" );\r\n\r\n\t\tif ( isDisabled !== this.options.disabled ) {\r\n\t\t\tthis._setOption( \"disabled\", isDisabled );\r\n\t\t}\r\n\t\tif ( this.type === \"radio\" ) {\r\n\t\t\tradioGroup( this.element[0] ).each(function() {\r\n\t\t\t\tif ( $( this ).is( \":checked\" ) ) {\r\n\t\t\t\t\t$( this ).button( \"widget\" )\r\n\t\t\t\t\t\t.addClass( \"ui-state-active\" )\r\n\t\t\t\t\t\t.attr( \"aria-pressed\", \"true\" );\r\n\t\t\t\t} else {\r\n\t\t\t\t\t$( this ).button( \"widget\" )\r\n\t\t\t\t\t\t.removeClass( \"ui-state-active\" )\r\n\t\t\t\t\t\t.attr( \"aria-pressed\", \"false\" );\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t} else if ( this.type === \"checkbox\" ) {\r\n\t\t\tif ( this.element.is( \":checked\" ) ) {\r\n\t\t\t\tthis.buttonElement\r\n\t\t\t\t\t.addClass( \"ui-state-active\" )\r\n\t\t\t\t\t.attr( \"aria-pressed\", \"true\" );\r\n\t\t\t} else {\r\n\t\t\t\tthis.buttonElement\r\n\t\t\t\t\t.removeClass( \"ui-state-active\" )\r\n\t\t\t\t\t.attr( \"aria-pressed\", \"false\" );\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n\r\n\t_resetButton: function() {\r\n\t\tif ( this.type === \"input\" ) {\r\n\t\t\tif ( this.options.label ) {\r\n\t\t\t\tthis.element.val( this.options.label );\r\n\t\t\t}\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tvar buttonElement = this.buttonElement.removeClass( typeClasses ),\r\n\t\t\tbuttonText = $( \"<span></span>\", this.document[0] )\r\n\t\t\t\t.addClass( \"ui-button-text\" )\r\n\t\t\t\t.html( this.options.label )\r\n\t\t\t\t.appendTo( buttonElement.empty() )\r\n\t\t\t\t.text(),\r\n\t\t\ticons = this.options.icons,\r\n\t\t\tmultipleIcons = icons.primary && icons.secondary,\r\n\t\t\tbuttonClasses = [];\r\n\r\n\t\tif ( icons.primary || icons.secondary ) {\r\n\t\t\tif ( this.options.text ) {\r\n\t\t\t\tbuttonClasses.push( \"ui-button-text-icon\" + ( multipleIcons ? \"s\" : ( icons.primary ? \"-primary\" : \"-secondary\" ) ) );\r\n\t\t\t}\r\n\r\n\t\t\tif ( icons.primary ) {\r\n\t\t\t\tbuttonElement.prepend( \"<span class='ui-button-icon-primary ui-icon \" + icons.primary + \"'></span>\" );\r\n\t\t\t}\r\n\r\n\t\t\tif ( icons.secondary ) {\r\n\t\t\t\tbuttonElement.append( \"<span class='ui-button-icon-secondary ui-icon \" + icons.secondary + \"'></span>\" );\r\n\t\t\t}\r\n\r\n\t\t\tif ( !this.options.text ) {\r\n\t\t\t\tbuttonClasses.push( multipleIcons ? \"ui-button-icons-only\" : \"ui-button-icon-only\" );\r\n\r\n\t\t\t\tif ( !this.hasTitle ) {\r\n\t\t\t\t\tbuttonElement.attr( \"title\", $.trim( buttonText ) );\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tbuttonClasses.push( \"ui-button-text-only\" );\r\n\t\t}\r\n\t\tbuttonElement.addClass( buttonClasses.join( \" \" ) );\r\n\t}\r\n});\r\n\r\n$.widget( \"ui.buttonset\", {\r\n\tversion: \"1.11.4\",\r\n\toptions: {\r\n\t\titems: \"button, input[type=button], input[type=submit], input[type=reset], input[type=checkbox], input[type=radio], a, :data(ui-button)\"\r\n\t},\r\n\r\n\t_create: function() {\r\n\t\tthis.element.addClass( \"ui-buttonset\" );\r\n\t},\r\n\r\n\t_init: function() {\r\n\t\tthis.refresh();\r\n\t},\r\n\r\n\t_setOption: function( key, value ) {\r\n\t\tif ( key === \"disabled\" ) {\r\n\t\t\tthis.buttons.button( \"option\", key, value );\r\n\t\t}\r\n\r\n\t\tthis._super( key, value );\r\n\t},\r\n\r\n\trefresh: function() {\r\n\t\tvar rtl = this.element.css( \"direction\" ) === \"rtl\",\r\n\t\t\tallButtons = this.element.find( this.options.items ),\r\n\t\t\texistingButtons = allButtons.filter( \":ui-button\" );\r\n\r\n\t\t// Initialize new buttons\r\n\t\tallButtons.not( \":ui-button\" ).button();\r\n\r\n\t\t// Refresh existing buttons\r\n\t\texistingButtons.button( \"refresh\" );\r\n\r\n\t\tthis.buttons = allButtons\r\n\t\t\t.map(function() {\r\n\t\t\t\treturn $( this ).button( \"widget\" )[ 0 ];\r\n\t\t\t})\r\n\t\t\t\t.removeClass( \"ui-corner-all ui-corner-left ui-corner-right\" )\r\n\t\t\t\t.filter( \":first\" )\r\n\t\t\t\t\t.addClass( rtl ? \"ui-corner-right\" : \"ui-corner-left\" )\r\n\t\t\t\t.end()\r\n\t\t\t\t.filter( \":last\" )\r\n\t\t\t\t\t.addClass( rtl ? \"ui-corner-left\" : \"ui-corner-right\" )\r\n\t\t\t\t.end()\r\n\t\t\t.end();\r\n\t},\r\n\r\n\t_destroy: function() {\r\n\t\tthis.element.removeClass( \"ui-buttonset\" );\r\n\t\tthis.buttons\r\n\t\t\t.map(function() {\r\n\t\t\t\treturn $( this ).button( \"widget\" )[ 0 ];\r\n\t\t\t})\r\n\t\t\t\t.removeClass( \"ui-corner-left ui-corner-right\" )\r\n\t\t\t.end()\r\n\t\t\t.button( \"destroy\" );\r\n\t}\r\n});\r\n\r\nvar button = $.ui.button;\r\n\r\n\r\n/*!\r\n * jQuery UI Datepicker 1.11.4\r\n * http://jqueryui.com\r\n *\r\n * Copyright jQuery Foundation and other contributors\r\n * Released under the MIT license.\r\n * http://jquery.org/license\r\n *\r\n * http://api.jqueryui.com/datepicker/\r\n */\r\n\r\n\r\n$.extend($.ui, { datepicker: { version: \"1.11.4\" } });\r\n\r\nvar datepicker_instActive;\r\n\r\nfunction datepicker_getZindex( elem ) {\r\n\tvar position, value;\r\n\twhile ( elem.length && elem[ 0 ] !== document ) {\r\n\t\t// Ignore z-index if position is set to a value where z-index is ignored by the browser\r\n\t\t// This makes behavior of this function consistent across browsers\r\n\t\t// WebKit always returns auto if the element is positioned\r\n\t\tposition = elem.css( \"position\" );\r\n\t\tif ( position === \"absolute\" || position === \"relative\" || position === \"fixed\" ) {\r\n\t\t\t// IE returns 0 when zIndex is not specified\r\n\t\t\t// other browsers return a string\r\n\t\t\t// we ignore the case of nested elements with an explicit value of 0\r\n\t\t\t// <div style=\"z-index: -10;\"><div style=\"z-index: 0;\"></div></div>\r\n\t\t\tvalue = parseInt( elem.css( \"zIndex\" ), 10 );\r\n\t\t\tif ( !isNaN( value ) && value !== 0 ) {\r\n\t\t\t\treturn value;\r\n\t\t\t}\r\n\t\t}\r\n\t\telem = elem.parent();\r\n\t}\r\n\r\n\treturn 0;\r\n}\r\n/* Date picker manager.\r\n   Use the singleton instance of this class, $.datepicker, to interact with the date picker.\r\n   Settings for (groups of) date pickers are maintained in an instance object,\r\n   allowing multiple different settings on the same page. */\r\n\r\nfunction Datepicker() {\r\n\tthis._curInst = null; // The current instance in use\r\n\tthis._keyEvent = false; // If the last event was a key event\r\n\tthis._disabledInputs = []; // List of date picker inputs that have been disabled\r\n\tthis._datepickerShowing = false; // True if the popup picker is showing , false if not\r\n\tthis._inDialog = false; // True if showing within a \"dialog\", false if not\r\n\tthis._mainDivId = \"ui-datepicker-div\"; // The ID of the main datepicker division\r\n\tthis._inlineClass = \"ui-datepicker-inline\"; // The name of the inline marker class\r\n\tthis._appendClass = \"ui-datepicker-append\"; // The name of the append marker class\r\n\tthis._triggerClass = \"ui-datepicker-trigger\"; // The name of the trigger marker class\r\n\tthis._dialogClass = \"ui-datepicker-dialog\"; // The name of the dialog marker class\r\n\tthis._disableClass = \"ui-datepicker-disabled\"; // The name of the disabled covering marker class\r\n\tthis._unselectableClass = \"ui-datepicker-unselectable\"; // The name of the unselectable cell marker class\r\n\tthis._currentClass = \"ui-datepicker-current-day\"; // The name of the current day marker class\r\n\tthis._dayOverClass = \"ui-datepicker-days-cell-over\"; // The name of the day hover marker class\r\n\tthis.regional = []; // Available regional settings, indexed by language code\r\n\tthis.regional[\"\"] = { // Default regional settings\r\n\t\tcloseText: \"Done\", // Display text for close link\r\n\t\tprevText: \"Prev\", // Display text for previous month link\r\n\t\tnextText: \"Next\", // Display text for next month link\r\n\t\tcurrentText: \"Today\", // Display text for current month link\r\n\t\tmonthNames: [\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\r\n\t\t\t\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"], // Names of months for drop-down and formatting\r\n\t\tmonthNamesShort: [\"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May\", \"Jun\", \"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\"], // For formatting\r\n\t\tdayNames: [\"Sunday\", \"Monday\", \"Tuesday\", \"Wednesday\", \"Thursday\", \"Friday\", \"Saturday\"], // For formatting\r\n\t\tdayNamesShort: [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"], // For formatting\r\n\t\tdayNamesMin: [\"Su\",\"Mo\",\"Tu\",\"We\",\"Th\",\"Fr\",\"Sa\"], // Column headings for days starting at Sunday\r\n\t\tweekHeader: \"Wk\", // Column header for week of the year\r\n\t\tdateFormat: \"mm/dd/yy\", // See format options on parseDate\r\n\t\tfirstDay: 0, // The first day of the week, Sun = 0, Mon = 1, ...\r\n\t\tisRTL: false, // True if right-to-left language, false if left-to-right\r\n\t\tshowMonthAfterYear: false, // True if the year select precedes month, false for month then year\r\n\t\tyearSuffix: \"\" // Additional text to append to the year in the month headers\r\n\t};\r\n\tthis._defaults = { // Global defaults for all the date picker instances\r\n\t\tshowOn: \"focus\", // \"focus\" for popup on focus,\r\n\t\t\t// \"button\" for trigger button, or \"both\" for either\r\n\t\tshowAnim: \"fadeIn\", // Name of jQuery animation for popup\r\n\t\tshowOptions: {}, // Options for enhanced animations\r\n\t\tdefaultDate: null, // Used when field is blank: actual date,\r\n\t\t\t// +/-number for offset from today, null for today\r\n\t\tappendText: \"\", // Display text following the input box, e.g. showing the format\r\n\t\tbuttonText: \"...\", // Text for trigger button\r\n\t\tbuttonImage: \"\", // URL for trigger button image\r\n\t\tbuttonImageOnly: false, // True if the image appears alone, false if it appears on a button\r\n\t\thideIfNoPrevNext: false, // True to hide next/previous month links\r\n\t\t\t// if not applicable, false to just disable them\r\n\t\tnavigationAsDateFormat: false, // True if date formatting applied to prev/today/next links\r\n\t\tgotoCurrent: false, // True if today link goes back to current selection instead\r\n\t\tchangeMonth: false, // True if month can be selected directly, false if only prev/next\r\n\t\tchangeYear: false, // True if year can be selected directly, false if only prev/next\r\n\t\tyearRange: \"c-10:c+10\", // Range of years to display in drop-down,\r\n\t\t\t// either relative to today's year (-nn:+nn), relative to currently displayed year\r\n\t\t\t// (c-nn:c+nn), absolute (nnnn:nnnn), or a combination of the above (nnnn:-n)\r\n\t\tshowOtherMonths: false, // True to show dates in other months, false to leave blank\r\n\t\tselectOtherMonths: false, // True to allow selection of dates in other months, false for unselectable\r\n\t\tshowWeek: false, // True to show week of the year, false to not show it\r\n\t\tcalculateWeek: this.iso8601Week, // How to calculate the week of the year,\r\n\t\t\t// takes a Date and returns the number of the week for it\r\n\t\tshortYearCutoff: \"+10\", // Short year values < this are in the current century,\r\n\t\t\t// > this are in the previous century,\r\n\t\t\t// string value starting with \"+\" for current year + value\r\n\t\tminDate: null, // The earliest selectable date, or null for no limit\r\n\t\tmaxDate: null, // The latest selectable date, or null for no limit\r\n\t\tduration: \"fast\", // Duration of display/closure\r\n\t\tbeforeShowDay: null, // Function that takes a date and returns an array with\r\n\t\t\t// [0] = true if selectable, false if not, [1] = custom CSS class name(s) or \"\",\r\n\t\t\t// [2] = cell title (optional), e.g. $.datepicker.noWeekends\r\n\t\tbeforeShow: null, // Function that takes an input field and\r\n\t\t\t// returns a set of custom settings for the date picker\r\n\t\tonSelect: null, // Define a callback function when a date is selected\r\n\t\tonChangeMonthYear: null, // Define a callback function when the month or year is changed\r\n\t\tonClose: null, // Define a callback function when the datepicker is closed\r\n\t\tnumberOfMonths: 1, // Number of months to show at a time\r\n\t\tshowCurrentAtPos: 0, // The position in multipe months at which to show the current month (starting at 0)\r\n\t\tstepMonths: 1, // Number of months to step back/forward\r\n\t\tstepBigMonths: 12, // Number of months to step back/forward for the big links\r\n\t\taltField: \"\", // Selector for an alternate field to store selected dates into\r\n\t\taltFormat: \"\", // The date format to use for the alternate field\r\n\t\tconstrainInput: true, // The input is constrained by the current date format\r\n\t\tshowButtonPanel: false, // True to show button panel, false to not show it\r\n\t\tautoSize: false, // True to size the input for the date format, false to leave as is\r\n\t\tdisabled: false // The initial disabled state\r\n\t};\r\n\t$.extend(this._defaults, this.regional[\"\"]);\r\n\tthis.regional.en = $.extend( true, {}, this.regional[ \"\" ]);\r\n\tthis.regional[ \"en-US\" ] = $.extend( true, {}, this.regional.en );\r\n\tthis.dpDiv = datepicker_bindHover($(\"<div id='\" + this._mainDivId + \"' class='ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all'></div>\"));\r\n}\r\n\r\n$.extend(Datepicker.prototype, {\r\n\t/* Class name added to elements to indicate already configured with a date picker. */\r\n\tmarkerClassName: \"hasDatepicker\",\r\n\r\n\t//Keep track of the maximum number of rows displayed (see #7043)\r\n\tmaxRows: 4,\r\n\r\n\t// TODO rename to \"widget\" when switching to widget factory\r\n\t_widgetDatepicker: function() {\r\n\t\treturn this.dpDiv;\r\n\t},\r\n\r\n\t/* Override the default settings for all instances of the date picker.\r\n\t * @param  settings  object - the new settings to use as defaults (anonymous object)\r\n\t * @return the manager object\r\n\t */\r\n\tsetDefaults: function(settings) {\r\n\t\tdatepicker_extendRemove(this._defaults, settings || {});\r\n\t\treturn this;\r\n\t},\r\n\r\n\t/* Attach the date picker to a jQuery selection.\r\n\t * @param  target\telement - the target input field or division or span\r\n\t * @param  settings  object - the new settings to use for this date picker instance (anonymous)\r\n\t */\r\n\t_attachDatepicker: function(target, settings) {\r\n\t\tvar nodeName, inline, inst;\r\n\t\tnodeName = target.nodeName.toLowerCase();\r\n\t\tinline = (nodeName === \"div\" || nodeName === \"span\");\r\n\t\tif (!target.id) {\r\n\t\t\tthis.uuid += 1;\r\n\t\t\ttarget.id = \"dp\" + this.uuid;\r\n\t\t}\r\n\t\tinst = this._newInst($(target), inline);\r\n\t\tinst.settings = $.extend({}, settings || {});\r\n\t\tif (nodeName === \"input\") {\r\n\t\t\tthis._connectDatepicker(target, inst);\r\n\t\t} else if (inline) {\r\n\t\t\tthis._inlineDatepicker(target, inst);\r\n\t\t}\r\n\t},\r\n\r\n\t/* Create a new instance object. */\r\n\t_newInst: function(target, inline) {\r\n\t\tvar id = target[0].id.replace(/([^A-Za-z0-9_\\-])/g, \"\\\\\\\\$1\"); // escape jQuery meta chars\r\n\t\treturn {id: id, input: target, // associated target\r\n\t\t\tselectedDay: 0, selectedMonth: 0, selectedYear: 0, // current selection\r\n\t\t\tdrawMonth: 0, drawYear: 0, // month being drawn\r\n\t\t\tinline: inline, // is datepicker inline or not\r\n\t\t\tdpDiv: (!inline ? this.dpDiv : // presentation div\r\n\t\t\tdatepicker_bindHover($(\"<div class='\" + this._inlineClass + \" ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all'></div>\")))};\r\n\t},\r\n\r\n\t/* Attach the date picker to an input field. */\r\n\t_connectDatepicker: function(target, inst) {\r\n\t\tvar input = $(target);\r\n\t\tinst.append = $([]);\r\n\t\tinst.trigger = $([]);\r\n\t\tif (input.hasClass(this.markerClassName)) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tthis._attachments(input, inst);\r\n\t\tinput.addClass(this.markerClassName).keydown(this._doKeyDown).\r\n\t\t\tkeypress(this._doKeyPress).keyup(this._doKeyUp);\r\n\t\tthis._autoSize(inst);\r\n\t\t$.data(target, \"datepicker\", inst);\r\n\t\t//If disabled option is true, disable the datepicker once it has been attached to the input (see ticket #5665)\r\n\t\tif( inst.settings.disabled ) {\r\n\t\t\tthis._disableDatepicker( target );\r\n\t\t}\r\n\t},\r\n\r\n\t/* Make attachments based on settings. */\r\n\t_attachments: function(input, inst) {\r\n\t\tvar showOn, buttonText, buttonImage,\r\n\t\t\tappendText = this._get(inst, \"appendText\"),\r\n\t\t\tisRTL = this._get(inst, \"isRTL\");\r\n\r\n\t\tif (inst.append) {\r\n\t\t\tinst.append.remove();\r\n\t\t}\r\n\t\tif (appendText) {\r\n\t\t\tinst.append = $(\"<span class='\" + this._appendClass + \"'>\" + appendText + \"</span>\");\r\n\t\t\tinput[isRTL ? \"before\" : \"after\"](inst.append);\r\n\t\t}\r\n\r\n\t\tinput.unbind(\"focus\", this._showDatepicker);\r\n\r\n\t\tif (inst.trigger) {\r\n\t\t\tinst.trigger.remove();\r\n\t\t}\r\n\r\n\t\tshowOn = this._get(inst, \"showOn\");\r\n\t\tif (showOn === \"focus\" || showOn === \"both\") { // pop-up date picker when in the marked field\r\n\t\t\tinput.focus(this._showDatepicker);\r\n\t\t}\r\n\t\tif (showOn === \"button\" || showOn === \"both\") { // pop-up date picker when button clicked\r\n\t\t\tbuttonText = this._get(inst, \"buttonText\");\r\n\t\t\tbuttonImage = this._get(inst, \"buttonImage\");\r\n\t\t\tinst.trigger = $(this._get(inst, \"buttonImageOnly\") ?\r\n\t\t\t\t$(\"<img/>\").addClass(this._triggerClass).\r\n\t\t\t\t\tattr({ src: buttonImage, alt: buttonText, title: buttonText }) :\r\n\t\t\t\t$(\"<button type='button'></button>\").addClass(this._triggerClass).\r\n\t\t\t\t\thtml(!buttonImage ? buttonText : $(\"<img/>\").attr(\r\n\t\t\t\t\t{ src:buttonImage, alt:buttonText, title:buttonText })));\r\n\t\t\tinput[isRTL ? \"before\" : \"after\"](inst.trigger);\r\n\t\t\tinst.trigger.click(function() {\r\n\t\t\t\tif ($.datepicker._datepickerShowing && $.datepicker._lastInput === input[0]) {\r\n\t\t\t\t\t$.datepicker._hideDatepicker();\r\n\t\t\t\t} else if ($.datepicker._datepickerShowing && $.datepicker._lastInput !== input[0]) {\r\n\t\t\t\t\t$.datepicker._hideDatepicker();\r\n\t\t\t\t\t$.datepicker._showDatepicker(input[0]);\r\n\t\t\t\t} else {\r\n\t\t\t\t\t$.datepicker._showDatepicker(input[0]);\r\n\t\t\t\t}\r\n\t\t\t\treturn false;\r\n\t\t\t});\r\n\t\t}\r\n\t},\r\n\r\n\t/* Apply the maximum length for the date format. */\r\n\t_autoSize: function(inst) {\r\n\t\tif (this._get(inst, \"autoSize\") && !inst.inline) {\r\n\t\t\tvar findMax, max, maxI, i,\r\n\t\t\t\tdate = new Date(2009, 12 - 1, 20), // Ensure double digits\r\n\t\t\t\tdateFormat = this._get(inst, \"dateFormat\");\r\n\r\n\t\t\tif (dateFormat.match(/[DM]/)) {\r\n\t\t\t\tfindMax = function(names) {\r\n\t\t\t\t\tmax = 0;\r\n\t\t\t\t\tmaxI = 0;\r\n\t\t\t\t\tfor (i = 0; i < names.length; i++) {\r\n\t\t\t\t\t\tif (names[i].length > max) {\r\n\t\t\t\t\t\t\tmax = names[i].length;\r\n\t\t\t\t\t\t\tmaxI = i;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn maxI;\r\n\t\t\t\t};\r\n\t\t\t\tdate.setMonth(findMax(this._get(inst, (dateFormat.match(/MM/) ?\r\n\t\t\t\t\t\"monthNames\" : \"monthNamesShort\"))));\r\n\t\t\t\tdate.setDate(findMax(this._get(inst, (dateFormat.match(/DD/) ?\r\n\t\t\t\t\t\"dayNames\" : \"dayNamesShort\"))) + 20 - date.getDay());\r\n\t\t\t}\r\n\t\t\tinst.input.attr(\"size\", this._formatDate(inst, date).length);\r\n\t\t}\r\n\t},\r\n\r\n\t/* Attach an inline date picker to a div. */\r\n\t_inlineDatepicker: function(target, inst) {\r\n\t\tvar divSpan = $(target);\r\n\t\tif (divSpan.hasClass(this.markerClassName)) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tdivSpan.addClass(this.markerClassName).append(inst.dpDiv);\r\n\t\t$.data(target, \"datepicker\", inst);\r\n\t\tthis._setDate(inst, this._getDefaultDate(inst), true);\r\n\t\tthis._updateDatepicker(inst);\r\n\t\tthis._updateAlternate(inst);\r\n\t\t//If disabled option is true, disable the datepicker before showing it (see ticket #5665)\r\n\t\tif( inst.settings.disabled ) {\r\n\t\t\tthis._disableDatepicker( target );\r\n\t\t}\r\n\t\t// Set display:block in place of inst.dpDiv.show() which won't work on disconnected elements\r\n\t\t// http://bugs.jqueryui.com/ticket/7552 - A Datepicker created on a detached div has zero height\r\n\t\tinst.dpDiv.css( \"display\", \"block\" );\r\n\t},\r\n\r\n\t/* Pop-up the date picker in a \"dialog\" box.\r\n\t * @param  input element - ignored\r\n\t * @param  date\tstring or Date - the initial date to display\r\n\t * @param  onSelect  function - the function to call when a date is selected\r\n\t * @param  settings  object - update the dialog date picker instance's settings (anonymous object)\r\n\t * @param  pos int[2] - coordinates for the dialog's position within the screen or\r\n\t *\t\t\t\t\tevent - with x/y coordinates or\r\n\t *\t\t\t\t\tleave empty for default (screen centre)\r\n\t * @return the manager object\r\n\t */\r\n\t_dialogDatepicker: function(input, date, onSelect, settings, pos) {\r\n\t\tvar id, browserWidth, browserHeight, scrollX, scrollY,\r\n\t\t\tinst = this._dialogInst; // internal instance\r\n\r\n\t\tif (!inst) {\r\n\t\t\tthis.uuid += 1;\r\n\t\t\tid = \"dp\" + this.uuid;\r\n\t\t\tthis._dialogInput = $(\"<input type='text' id='\" + id +\r\n\t\t\t\t\"' style='position: absolute; top: -100px; width: 0px;'/>\");\r\n\t\t\tthis._dialogInput.keydown(this._doKeyDown);\r\n\t\t\t$(\"body\").append(this._dialogInput);\r\n\t\t\tinst = this._dialogInst = this._newInst(this._dialogInput, false);\r\n\t\t\tinst.settings = {};\r\n\t\t\t$.data(this._dialogInput[0], \"datepicker\", inst);\r\n\t\t}\r\n\t\tdatepicker_extendRemove(inst.settings, settings || {});\r\n\t\tdate = (date && date.constructor === Date ? this._formatDate(inst, date) : date);\r\n\t\tthis._dialogInput.val(date);\r\n\r\n\t\tthis._pos = (pos ? (pos.length ? pos : [pos.pageX, pos.pageY]) : null);\r\n\t\tif (!this._pos) {\r\n\t\t\tbrowserWidth = document.documentElement.clientWidth;\r\n\t\t\tbrowserHeight = document.documentElement.clientHeight;\r\n\t\t\tscrollX = document.documentElement.scrollLeft || document.body.scrollLeft;\r\n\t\t\tscrollY = document.documentElement.scrollTop || document.body.scrollTop;\r\n\t\t\tthis._pos = // should use actual width/height below\r\n\t\t\t\t[(browserWidth / 2) - 100 + scrollX, (browserHeight / 2) - 150 + scrollY];\r\n\t\t}\r\n\r\n\t\t// move input on screen for focus, but hidden behind dialog\r\n\t\tthis._dialogInput.css(\"left\", (this._pos[0] + 20) + \"px\").css(\"top\", this._pos[1] + \"px\");\r\n\t\tinst.settings.onSelect = onSelect;\r\n\t\tthis._inDialog = true;\r\n\t\tthis.dpDiv.addClass(this._dialogClass);\r\n\t\tthis._showDatepicker(this._dialogInput[0]);\r\n\t\tif ($.blockUI) {\r\n\t\t\t$.blockUI(this.dpDiv);\r\n\t\t}\r\n\t\t$.data(this._dialogInput[0], \"datepicker\", inst);\r\n\t\treturn this;\r\n\t},\r\n\r\n\t/* Detach a datepicker from its control.\r\n\t * @param  target\telement - the target input field or division or span\r\n\t */\r\n\t_destroyDatepicker: function(target) {\r\n\t\tvar nodeName,\r\n\t\t\t$target = $(target),\r\n\t\t\tinst = $.data(target, \"datepicker\");\r\n\r\n\t\tif (!$target.hasClass(this.markerClassName)) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tnodeName = target.nodeName.toLowerCase();\r\n\t\t$.removeData(target, \"datepicker\");\r\n\t\tif (nodeName === \"input\") {\r\n\t\t\tinst.append.remove();\r\n\t\t\tinst.trigger.remove();\r\n\t\t\t$target.removeClass(this.markerClassName).\r\n\t\t\t\tunbind(\"focus\", this._showDatepicker).\r\n\t\t\t\tunbind(\"keydown\", this._doKeyDown).\r\n\t\t\t\tunbind(\"keypress\", this._doKeyPress).\r\n\t\t\t\tunbind(\"keyup\", this._doKeyUp);\r\n\t\t} else if (nodeName === \"div\" || nodeName === \"span\") {\r\n\t\t\t$target.removeClass(this.markerClassName).empty();\r\n\t\t}\r\n\r\n\t\tif ( datepicker_instActive === inst ) {\r\n\t\t\tdatepicker_instActive = null;\r\n\t\t}\r\n\t},\r\n\r\n\t/* Enable the date picker to a jQuery selection.\r\n\t * @param  target\telement - the target input field or division or span\r\n\t */\r\n\t_enableDatepicker: function(target) {\r\n\t\tvar nodeName, inline,\r\n\t\t\t$target = $(target),\r\n\t\t\tinst = $.data(target, \"datepicker\");\r\n\r\n\t\tif (!$target.hasClass(this.markerClassName)) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tnodeName = target.nodeName.toLowerCase();\r\n\t\tif (nodeName === \"input\") {\r\n\t\t\ttarget.disabled = false;\r\n\t\t\tinst.trigger.filter(\"button\").\r\n\t\t\t\teach(function() { this.disabled = false; }).end().\r\n\t\t\t\tfilter(\"img\").css({opacity: \"1.0\", cursor: \"\"});\r\n\t\t} else if (nodeName === \"div\" || nodeName === \"span\") {\r\n\t\t\tinline = $target.children(\".\" + this._inlineClass);\r\n\t\t\tinline.children().removeClass(\"ui-state-disabled\");\r\n\t\t\tinline.find(\"select.ui-datepicker-month, select.ui-datepicker-year\").\r\n\t\t\t\tprop(\"disabled\", false);\r\n\t\t}\r\n\t\tthis._disabledInputs = $.map(this._disabledInputs,\r\n\t\t\tfunction(value) { return (value === target ? null : value); }); // delete entry\r\n\t},\r\n\r\n\t/* Disable the date picker to a jQuery selection.\r\n\t * @param  target\telement - the target input field or division or span\r\n\t */\r\n\t_disableDatepicker: function(target) {\r\n\t\tvar nodeName, inline,\r\n\t\t\t$target = $(target),\r\n\t\t\tinst = $.data(target, \"datepicker\");\r\n\r\n\t\tif (!$target.hasClass(this.markerClassName)) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tnodeName = target.nodeName.toLowerCase();\r\n\t\tif (nodeName === \"input\") {\r\n\t\t\ttarget.disabled = true;\r\n\t\t\tinst.trigger.filter(\"button\").\r\n\t\t\t\teach(function() { this.disabled = true; }).end().\r\n\t\t\t\tfilter(\"img\").css({opacity: \"0.5\", cursor: \"default\"});\r\n\t\t} else if (nodeName === \"div\" || nodeName === \"span\") {\r\n\t\t\tinline = $target.children(\".\" + this._inlineClass);\r\n\t\t\tinline.children().addClass(\"ui-state-disabled\");\r\n\t\t\tinline.find(\"select.ui-datepicker-month, select.ui-datepicker-year\").\r\n\t\t\t\tprop(\"disabled\", true);\r\n\t\t}\r\n\t\tthis._disabledInputs = $.map(this._disabledInputs,\r\n\t\t\tfunction(value) { return (value === target ? null : value); }); // delete entry\r\n\t\tthis._disabledInputs[this._disabledInputs.length] = target;\r\n\t},\r\n\r\n\t/* Is the first field in a jQuery collection disabled as a datepicker?\r\n\t * @param  target\telement - the target input field or division or span\r\n\t * @return boolean - true if disabled, false if enabled\r\n\t */\r\n\t_isDisabledDatepicker: function(target) {\r\n\t\tif (!target) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\t\tfor (var i = 0; i < this._disabledInputs.length; i++) {\r\n\t\t\tif (this._disabledInputs[i] === target) {\r\n\t\t\t\treturn true;\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn false;\r\n\t},\r\n\r\n\t/* Retrieve the instance data for the target control.\r\n\t * @param  target  element - the target input field or division or span\r\n\t * @return  object - the associated instance data\r\n\t * @throws  error if a jQuery problem getting data\r\n\t */\r\n\t_getInst: function(target) {\r\n\t\ttry {\r\n\t\t\treturn $.data(target, \"datepicker\");\r\n\t\t}\r\n\t\tcatch (err) {\r\n\t\t\tthrow \"Missing instance data for this datepicker\";\r\n\t\t}\r\n\t},\r\n\r\n\t/* Update or retrieve the settings for a date picker attached to an input field or division.\r\n\t * @param  target  element - the target input field or division or span\r\n\t * @param  name\tobject - the new settings to update or\r\n\t *\t\t\t\tstring - the name of the setting to change or retrieve,\r\n\t *\t\t\t\twhen retrieving also \"all\" for all instance settings or\r\n\t *\t\t\t\t\"defaults\" for all global defaults\r\n\t * @param  value   any - the new value for the setting\r\n\t *\t\t\t\t(omit if above is an object or to retrieve a value)\r\n\t */\r\n\t_optionDatepicker: function(target, name, value) {\r\n\t\tvar settings, date, minDate, maxDate,\r\n\t\t\tinst = this._getInst(target);\r\n\r\n\t\tif (arguments.length === 2 && typeof name === \"string\") {\r\n\t\t\treturn (name === \"defaults\" ? $.extend({}, $.datepicker._defaults) :\r\n\t\t\t\t(inst ? (name === \"all\" ? $.extend({}, inst.settings) :\r\n\t\t\t\tthis._get(inst, name)) : null));\r\n\t\t}\r\n\r\n\t\tsettings = name || {};\r\n\t\tif (typeof name === \"string\") {\r\n\t\t\tsettings = {};\r\n\t\t\tsettings[name] = value;\r\n\t\t}\r\n\r\n\t\tif (inst) {\r\n\t\t\tif (this._curInst === inst) {\r\n\t\t\t\tthis._hideDatepicker();\r\n\t\t\t}\r\n\r\n\t\t\tdate = this._getDateDatepicker(target, true);\r\n\t\t\tminDate = this._getMinMaxDate(inst, \"min\");\r\n\t\t\tmaxDate = this._getMinMaxDate(inst, \"max\");\r\n\t\t\tdatepicker_extendRemove(inst.settings, settings);\r\n\t\t\t// reformat the old minDate/maxDate values if dateFormat changes and a new minDate/maxDate isn't provided\r\n\t\t\tif (minDate !== null && settings.dateFormat !== undefined && settings.minDate === undefined) {\r\n\t\t\t\tinst.settings.minDate = this._formatDate(inst, minDate);\r\n\t\t\t}\r\n\t\t\tif (maxDate !== null && settings.dateFormat !== undefined && settings.maxDate === undefined) {\r\n\t\t\t\tinst.settings.maxDate = this._formatDate(inst, maxDate);\r\n\t\t\t}\r\n\t\t\tif ( \"disabled\" in settings ) {\r\n\t\t\t\tif ( settings.disabled ) {\r\n\t\t\t\t\tthis._disableDatepicker(target);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthis._enableDatepicker(target);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tthis._attachments($(target), inst);\r\n\t\t\tthis._autoSize(inst);\r\n\t\t\tthis._setDate(inst, date);\r\n\t\t\tthis._updateAlternate(inst);\r\n\t\t\tthis._updateDatepicker(inst);\r\n\t\t}\r\n\t},\r\n\r\n\t// change method deprecated\r\n\t_changeDatepicker: function(target, name, value) {\r\n\t\tthis._optionDatepicker(target, name, value);\r\n\t},\r\n\r\n\t/* Redraw the date picker attached to an input field or division.\r\n\t * @param  target  element - the target input field or division or span\r\n\t */\r\n\t_refreshDatepicker: function(target) {\r\n\t\tvar inst = this._getInst(target);\r\n\t\tif (inst) {\r\n\t\t\tthis._updateDatepicker(inst);\r\n\t\t}\r\n\t},\r\n\r\n\t/* Set the dates for a jQuery selection.\r\n\t * @param  target element - the target input field or division or span\r\n\t * @param  date\tDate - the new date\r\n\t */\r\n\t_setDateDatepicker: function(target, date) {\r\n\t\tvar inst = this._getInst(target);\r\n\t\tif (inst) {\r\n\t\t\tthis._setDate(inst, date);\r\n\t\t\tthis._updateDatepicker(inst);\r\n\t\t\tthis._updateAlternate(inst);\r\n\t\t}\r\n\t},\r\n\r\n\t/* Get the date(s) for the first entry in a jQuery selection.\r\n\t * @param  target element - the target input field or division or span\r\n\t * @param  noDefault boolean - true if no default date is to be used\r\n\t * @return Date - the current date\r\n\t */\r\n\t_getDateDatepicker: function(target, noDefault) {\r\n\t\tvar inst = this._getInst(target);\r\n\t\tif (inst && !inst.inline) {\r\n\t\t\tthis._setDateFromField(inst, noDefault);\r\n\t\t}\r\n\t\treturn (inst ? this._getDate(inst) : null);\r\n\t},\r\n\r\n\t/* Handle keystrokes. */\r\n\t_doKeyDown: function(event) {\r\n\t\tvar onSelect, dateStr, sel,\r\n\t\t\tinst = $.datepicker._getInst(event.target),\r\n\t\t\thandled = true,\r\n\t\t\tisRTL = inst.dpDiv.is(\".ui-datepicker-rtl\");\r\n\r\n\t\tinst._keyEvent = true;\r\n\t\tif ($.datepicker._datepickerShowing) {\r\n\t\t\tswitch (event.keyCode) {\r\n\t\t\t\tcase 9: $.datepicker._hideDatepicker();\r\n\t\t\t\t\t\thandled = false;\r\n\t\t\t\t\t\tbreak; // hide on tab out\r\n\t\t\t\tcase 13: sel = $(\"td.\" + $.datepicker._dayOverClass + \":not(.\" +\r\n\t\t\t\t\t\t\t\t\t$.datepicker._currentClass + \")\", inst.dpDiv);\r\n\t\t\t\t\t\tif (sel[0]) {\r\n\t\t\t\t\t\t\t$.datepicker._selectDay(event.target, inst.selectedMonth, inst.selectedYear, sel[0]);\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tonSelect = $.datepicker._get(inst, \"onSelect\");\r\n\t\t\t\t\t\tif (onSelect) {\r\n\t\t\t\t\t\t\tdateStr = $.datepicker._formatDate(inst);\r\n\r\n\t\t\t\t\t\t\t// trigger custom callback\r\n\t\t\t\t\t\t\tonSelect.apply((inst.input ? inst.input[0] : null), [dateStr, inst]);\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t$.datepicker._hideDatepicker();\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\treturn false; // don't submit the form\r\n\t\t\t\tcase 27: $.datepicker._hideDatepicker();\r\n\t\t\t\t\t\tbreak; // hide on escape\r\n\t\t\t\tcase 33: $.datepicker._adjustDate(event.target, (event.ctrlKey ?\r\n\t\t\t\t\t\t\t-$.datepicker._get(inst, \"stepBigMonths\") :\r\n\t\t\t\t\t\t\t-$.datepicker._get(inst, \"stepMonths\")), \"M\");\r\n\t\t\t\t\t\tbreak; // previous month/year on page up/+ ctrl\r\n\t\t\t\tcase 34: $.datepicker._adjustDate(event.target, (event.ctrlKey ?\r\n\t\t\t\t\t\t\t+$.datepicker._get(inst, \"stepBigMonths\") :\r\n\t\t\t\t\t\t\t+$.datepicker._get(inst, \"stepMonths\")), \"M\");\r\n\t\t\t\t\t\tbreak; // next month/year on page down/+ ctrl\r\n\t\t\t\tcase 35: if (event.ctrlKey || event.metaKey) {\r\n\t\t\t\t\t\t\t$.datepicker._clearDate(event.target);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\thandled = event.ctrlKey || event.metaKey;\r\n\t\t\t\t\t\tbreak; // clear on ctrl or command +end\r\n\t\t\t\tcase 36: if (event.ctrlKey || event.metaKey) {\r\n\t\t\t\t\t\t\t$.datepicker._gotoToday(event.target);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\thandled = event.ctrlKey || event.metaKey;\r\n\t\t\t\t\t\tbreak; // current on ctrl or command +home\r\n\t\t\t\tcase 37: if (event.ctrlKey || event.metaKey) {\r\n\t\t\t\t\t\t\t$.datepicker._adjustDate(event.target, (isRTL ? +1 : -1), \"D\");\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\thandled = event.ctrlKey || event.metaKey;\r\n\t\t\t\t\t\t// -1 day on ctrl or command +left\r\n\t\t\t\t\t\tif (event.originalEvent.altKey) {\r\n\t\t\t\t\t\t\t$.datepicker._adjustDate(event.target, (event.ctrlKey ?\r\n\t\t\t\t\t\t\t\t-$.datepicker._get(inst, \"stepBigMonths\") :\r\n\t\t\t\t\t\t\t\t-$.datepicker._get(inst, \"stepMonths\")), \"M\");\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t// next month/year on alt +left on Mac\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\tcase 38: if (event.ctrlKey || event.metaKey) {\r\n\t\t\t\t\t\t\t$.datepicker._adjustDate(event.target, -7, \"D\");\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\thandled = event.ctrlKey || event.metaKey;\r\n\t\t\t\t\t\tbreak; // -1 week on ctrl or command +up\r\n\t\t\t\tcase 39: if (event.ctrlKey || event.metaKey) {\r\n\t\t\t\t\t\t\t$.datepicker._adjustDate(event.target, (isRTL ? -1 : +1), \"D\");\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\thandled = event.ctrlKey || event.metaKey;\r\n\t\t\t\t\t\t// +1 day on ctrl or command +right\r\n\t\t\t\t\t\tif (event.originalEvent.altKey) {\r\n\t\t\t\t\t\t\t$.datepicker._adjustDate(event.target, (event.ctrlKey ?\r\n\t\t\t\t\t\t\t\t+$.datepicker._get(inst, \"stepBigMonths\") :\r\n\t\t\t\t\t\t\t\t+$.datepicker._get(inst, \"stepMonths\")), \"M\");\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t// next month/year on alt +right\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\tcase 40: if (event.ctrlKey || event.metaKey) {\r\n\t\t\t\t\t\t\t$.datepicker._adjustDate(event.target, +7, \"D\");\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\thandled = event.ctrlKey || event.metaKey;\r\n\t\t\t\t\t\tbreak; // +1 week on ctrl or command +down\r\n\t\t\t\tdefault: handled = false;\r\n\t\t\t}\r\n\t\t} else if (event.keyCode === 36 && event.ctrlKey) { // display the date picker on ctrl+home\r\n\t\t\t$.datepicker._showDatepicker(this);\r\n\t\t} else {\r\n\t\t\thandled = false;\r\n\t\t}\r\n\r\n\t\tif (handled) {\r\n\t\t\tevent.preventDefault();\r\n\t\t\tevent.stopPropagation();\r\n\t\t}\r\n\t},\r\n\r\n\t/* Filter entered characters - based on date format. */\r\n\t_doKeyPress: function(event) {\r\n\t\tvar chars, chr,\r\n\t\t\tinst = $.datepicker._getInst(event.target);\r\n\r\n\t\tif ($.datepicker._get(inst, \"constrainInput\")) {\r\n\t\t\tchars = $.datepicker._possibleChars($.datepicker._get(inst, \"dateFormat\"));\r\n\t\t\tchr = String.fromCharCode(event.charCode == null ? event.keyCode : event.charCode);\r\n\t\t\treturn event.ctrlKey || event.metaKey || (chr < \" \" || !chars || chars.indexOf(chr) > -1);\r\n\t\t}\r\n\t},\r\n\r\n\t/* Synchronise manual entry and field/alternate field. */\r\n\t_doKeyUp: function(event) {\r\n\t\tvar date,\r\n\t\t\tinst = $.datepicker._getInst(event.target);\r\n\r\n\t\tif (inst.input.val() !== inst.lastVal) {\r\n\t\t\ttry {\r\n\t\t\t\tdate = $.datepicker.parseDate($.datepicker._get(inst, \"dateFormat\"),\r\n\t\t\t\t\t(inst.input ? inst.input.val() : null),\r\n\t\t\t\t\t$.datepicker._getFormatConfig(inst));\r\n\r\n\t\t\t\tif (date) { // only if valid\r\n\t\t\t\t\t$.datepicker._setDateFromField(inst);\r\n\t\t\t\t\t$.datepicker._updateAlternate(inst);\r\n\t\t\t\t\t$.datepicker._updateDatepicker(inst);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tcatch (err) {\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn true;\r\n\t},\r\n\r\n\t/* Pop-up the date picker for a given input field.\r\n\t * If false returned from beforeShow event handler do not show.\r\n\t * @param  input  element - the input field attached to the date picker or\r\n\t *\t\t\t\t\tevent - if triggered by focus\r\n\t */\r\n\t_showDatepicker: function(input) {\r\n\t\tinput = input.target || input;\r\n\t\tif (input.nodeName.toLowerCase() !== \"input\") { // find from button/image trigger\r\n\t\t\tinput = $(\"input\", input.parentNode)[0];\r\n\t\t}\r\n\r\n\t\tif ($.datepicker._isDisabledDatepicker(input) || $.datepicker._lastInput === input) { // already here\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tvar inst, beforeShow, beforeShowSettings, isFixed,\r\n\t\t\toffset, showAnim, duration;\r\n\r\n\t\tinst = $.datepicker._getInst(input);\r\n\t\tif ($.datepicker._curInst && $.datepicker._curInst !== inst) {\r\n\t\t\t$.datepicker._curInst.dpDiv.stop(true, true);\r\n\t\t\tif ( inst && $.datepicker._datepickerShowing ) {\r\n\t\t\t\t$.datepicker._hideDatepicker( $.datepicker._curInst.input[0] );\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tbeforeShow = $.datepicker._get(inst, \"beforeShow\");\r\n\t\tbeforeShowSettings = beforeShow ? beforeShow.apply(input, [input, inst]) : {};\r\n\t\tif(beforeShowSettings === false){\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tdatepicker_extendRemove(inst.settings, beforeShowSettings);\r\n\r\n\t\tinst.lastVal = null;\r\n\t\t$.datepicker._lastInput = input;\r\n\t\t$.datepicker._setDateFromField(inst);\r\n\r\n\t\tif ($.datepicker._inDialog) { // hide cursor\r\n\t\t\tinput.value = \"\";\r\n\t\t}\r\n\t\tif (!$.datepicker._pos) { // position below input\r\n\t\t\t$.datepicker._pos = $.datepicker._findPos(input);\r\n\t\t\t$.datepicker._pos[1] += input.offsetHeight; // add the height\r\n\t\t}\r\n\r\n\t\tisFixed = false;\r\n\t\t$(input).parents().each(function() {\r\n\t\t\tisFixed |= $(this).css(\"position\") === \"fixed\";\r\n\t\t\treturn !isFixed;\r\n\t\t});\r\n\r\n\t\toffset = {left: $.datepicker._pos[0], top: $.datepicker._pos[1]};\r\n\t\t$.datepicker._pos = null;\r\n\t\t//to avoid flashes on Firefox\r\n\t\tinst.dpDiv.empty();\r\n\t\t// determine sizing offscreen\r\n\t\tinst.dpDiv.css({position: \"absolute\", display: \"block\", top: \"-1000px\"});\r\n\t\t$.datepicker._updateDatepicker(inst);\r\n\t\t// fix width for dynamic number of date pickers\r\n\t\t// and adjust position before showing\r\n\t\toffset = $.datepicker._checkOffset(inst, offset, isFixed);\r\n\t\tinst.dpDiv.css({position: ($.datepicker._inDialog && $.blockUI ?\r\n\t\t\t\"static\" : (isFixed ? \"fixed\" : \"absolute\")), display: \"none\",\r\n\t\t\tleft: offset.left + \"px\", top: offset.top + \"px\"});\r\n\r\n\t\tif (!inst.inline) {\r\n\t\t\tshowAnim = $.datepicker._get(inst, \"showAnim\");\r\n\t\t\tduration = $.datepicker._get(inst, \"duration\");\r\n\t\t\tinst.dpDiv.css( \"z-index\", datepicker_getZindex( $( input ) ) + 1 );\r\n\t\t\t$.datepicker._datepickerShowing = true;\r\n\r\n\t\t\tif ( $.effects && $.effects.effect[ showAnim ] ) {\r\n\t\t\t\tinst.dpDiv.show(showAnim, $.datepicker._get(inst, \"showOptions\"), duration);\r\n\t\t\t} else {\r\n\t\t\t\tinst.dpDiv[showAnim || \"show\"](showAnim ? duration : null);\r\n\t\t\t}\r\n\r\n\t\t\tif ( $.datepicker._shouldFocusInput( inst ) ) {\r\n\t\t\t\tinst.input.focus();\r\n\t\t\t}\r\n\r\n\t\t\t$.datepicker._curInst = inst;\r\n\t\t}\r\n\t},\r\n\r\n\t/* Generate the date picker content. */\r\n\t_updateDatepicker: function(inst) {\r\n\t\tthis.maxRows = 4; //Reset the max number of rows being displayed (see #7043)\r\n\t\tdatepicker_instActive = inst; // for delegate hover events\r\n\t\tinst.dpDiv.empty().append(this._generateHTML(inst));\r\n\t\tthis._attachHandlers(inst);\r\n\r\n\t\tvar origyearshtml,\r\n\t\t\tnumMonths = this._getNumberOfMonths(inst),\r\n\t\t\tcols = numMonths[1],\r\n\t\t\twidth = 17,\r\n\t\t\tactiveCell = inst.dpDiv.find( \".\" + this._dayOverClass + \" a\" );\r\n\r\n\t\tif ( activeCell.length > 0 ) {\r\n\t\t\tdatepicker_handleMouseover.apply( activeCell.get( 0 ) );\r\n\t\t}\r\n\r\n\t\tinst.dpDiv.removeClass(\"ui-datepicker-multi-2 ui-datepicker-multi-3 ui-datepicker-multi-4\").width(\"\");\r\n\t\tif (cols > 1) {\r\n\t\t\tinst.dpDiv.addClass(\"ui-datepicker-multi-\" + cols).css(\"width\", (width * cols) + \"em\");\r\n\t\t}\r\n\t\tinst.dpDiv[(numMonths[0] !== 1 || numMonths[1] !== 1 ? \"add\" : \"remove\") +\r\n\t\t\t\"Class\"](\"ui-datepicker-multi\");\r\n\t\tinst.dpDiv[(this._get(inst, \"isRTL\") ? \"add\" : \"remove\") +\r\n\t\t\t\"Class\"](\"ui-datepicker-rtl\");\r\n\r\n\t\tif (inst === $.datepicker._curInst && $.datepicker._datepickerShowing && $.datepicker._shouldFocusInput( inst ) ) {\r\n\t\t\tinst.input.focus();\r\n\t\t}\r\n\r\n\t\t// deffered render of the years select (to avoid flashes on Firefox)\r\n\t\tif( inst.yearshtml ){\r\n\t\t\torigyearshtml = inst.yearshtml;\r\n\t\t\tsetTimeout(function(){\r\n\t\t\t\t//assure that inst.yearshtml didn't change.\r\n\t\t\t\tif( origyearshtml === inst.yearshtml && inst.yearshtml ){\r\n\t\t\t\t\tinst.dpDiv.find(\"select.ui-datepicker-year:first\").replaceWith(inst.yearshtml);\r\n\t\t\t\t}\r\n\t\t\t\torigyearshtml = inst.yearshtml = null;\r\n\t\t\t}, 0);\r\n\t\t}\r\n\t},\r\n\r\n\t// #6694 - don't focus the input if it's already focused\r\n\t// this breaks the change event in IE\r\n\t// Support: IE and jQuery <1.9\r\n\t_shouldFocusInput: function( inst ) {\r\n\t\treturn inst.input && inst.input.is( \":visible\" ) && !inst.input.is( \":disabled\" ) && !inst.input.is( \":focus\" );\r\n\t},\r\n\r\n\t/* Check positioning to remain on screen. */\r\n\t_checkOffset: function(inst, offset, isFixed) {\r\n\t\tvar dpWidth = inst.dpDiv.outerWidth(),\r\n\t\t\tdpHeight = inst.dpDiv.outerHeight(),\r\n\t\t\tinputWidth = inst.input ? inst.input.outerWidth() : 0,\r\n\t\t\tinputHeight = inst.input ? inst.input.outerHeight() : 0,\r\n\t\t\tviewWidth = document.documentElement.clientWidth + (isFixed ? 0 : $(document).scrollLeft()),\r\n\t\t\tviewHeight = document.documentElement.clientHeight + (isFixed ? 0 : $(document).scrollTop());\r\n\r\n\t\toffset.left -= (this._get(inst, \"isRTL\") ? (dpWidth - inputWidth) : 0);\r\n\t\toffset.left -= (isFixed && offset.left === inst.input.offset().left) ? $(document).scrollLeft() : 0;\r\n\t\toffset.top -= (isFixed && offset.top === (inst.input.offset().top + inputHeight)) ? $(document).scrollTop() : 0;\r\n\r\n\t\t// now check if datepicker is showing outside window viewport - move to a better place if so.\r\n\t\toffset.left -= Math.min(offset.left, (offset.left + dpWidth > viewWidth && viewWidth > dpWidth) ?\r\n\t\t\tMath.abs(offset.left + dpWidth - viewWidth) : 0);\r\n\t\toffset.top -= Math.min(offset.top, (offset.top + dpHeight > viewHeight && viewHeight > dpHeight) ?\r\n\t\t\tMath.abs(dpHeight + inputHeight) : 0);\r\n\r\n\t\treturn offset;\r\n\t},\r\n\r\n\t/* Find an object's position on the screen. */\r\n\t_findPos: function(obj) {\r\n\t\tvar position,\r\n\t\t\tinst = this._getInst(obj),\r\n\t\t\tisRTL = this._get(inst, \"isRTL\");\r\n\r\n\t\twhile (obj && (obj.type === \"hidden\" || obj.nodeType !== 1 || $.expr.filters.hidden(obj))) {\r\n\t\t\tobj = obj[isRTL ? \"previousSibling\" : \"nextSibling\"];\r\n\t\t}\r\n\r\n\t\tposition = $(obj).offset();\r\n\t\treturn [position.left, position.top];\r\n\t},\r\n\r\n\t/* Hide the date picker from view.\r\n\t * @param  input  element - the input field attached to the date picker\r\n\t */\r\n\t_hideDatepicker: function(input) {\r\n\t\tvar showAnim, duration, postProcess, onClose,\r\n\t\t\tinst = this._curInst;\r\n\r\n\t\tif (!inst || (input && inst !== $.data(input, \"datepicker\"))) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tif (this._datepickerShowing) {\r\n\t\t\tshowAnim = this._get(inst, \"showAnim\");\r\n\t\t\tduration = this._get(inst, \"duration\");\r\n\t\t\tpostProcess = function() {\r\n\t\t\t\t$.datepicker._tidyDialog(inst);\r\n\t\t\t};\r\n\r\n\t\t\t// DEPRECATED: after BC for 1.8.x $.effects[ showAnim ] is not needed\r\n\t\t\tif ( $.effects && ( $.effects.effect[ showAnim ] || $.effects[ showAnim ] ) ) {\r\n\t\t\t\tinst.dpDiv.hide(showAnim, $.datepicker._get(inst, \"showOptions\"), duration, postProcess);\r\n\t\t\t} else {\r\n\t\t\t\tinst.dpDiv[(showAnim === \"slideDown\" ? \"slideUp\" :\r\n\t\t\t\t\t(showAnim === \"fadeIn\" ? \"fadeOut\" : \"hide\"))]((showAnim ? duration : null), postProcess);\r\n\t\t\t}\r\n\r\n\t\t\tif (!showAnim) {\r\n\t\t\t\tpostProcess();\r\n\t\t\t}\r\n\t\t\tthis._datepickerShowing = false;\r\n\r\n\t\t\tonClose = this._get(inst, \"onClose\");\r\n\t\t\tif (onClose) {\r\n\t\t\t\tonClose.apply((inst.input ? inst.input[0] : null), [(inst.input ? inst.input.val() : \"\"), inst]);\r\n\t\t\t}\r\n\r\n\t\t\tthis._lastInput = null;\r\n\t\t\tif (this._inDialog) {\r\n\t\t\t\tthis._dialogInput.css({ position: \"absolute\", left: \"0\", top: \"-100px\" });\r\n\t\t\t\tif ($.blockUI) {\r\n\t\t\t\t\t$.unblockUI();\r\n\t\t\t\t\t$(\"body\").append(this.dpDiv);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tthis._inDialog = false;\r\n\t\t}\r\n\t},\r\n\r\n\t/* Tidy up after a dialog display. */\r\n\t_tidyDialog: function(inst) {\r\n\t\tinst.dpDiv.removeClass(this._dialogClass).unbind(\".ui-datepicker-calendar\");\r\n\t},\r\n\r\n\t/* Close date picker if clicked elsewhere. */\r\n\t_checkExternalClick: function(event) {\r\n\t\tif (!$.datepicker._curInst) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tvar $target = $(event.target),\r\n\t\t\tinst = $.datepicker._getInst($target[0]);\r\n\r\n\t\tif ( ( ( $target[0].id !== $.datepicker._mainDivId &&\r\n\t\t\t\t$target.parents(\"#\" + $.datepicker._mainDivId).length === 0 &&\r\n\t\t\t\t!$target.hasClass($.datepicker.markerClassName) &&\r\n\t\t\t\t!$target.closest(\".\" + $.datepicker._triggerClass).length &&\r\n\t\t\t\t$.datepicker._datepickerShowing && !($.datepicker._inDialog && $.blockUI) ) ) ||\r\n\t\t\t( $target.hasClass($.datepicker.markerClassName) && $.datepicker._curInst !== inst ) ) {\r\n\t\t\t\t$.datepicker._hideDatepicker();\r\n\t\t}\r\n\t},\r\n\r\n\t/* Adjust one of the date sub-fields. */\r\n\t_adjustDate: function(id, offset, period) {\r\n\t\tvar target = $(id),\r\n\t\t\tinst = this._getInst(target[0]);\r\n\r\n\t\tif (this._isDisabledDatepicker(target[0])) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tthis._adjustInstDate(inst, offset +\r\n\t\t\t(period === \"M\" ? this._get(inst, \"showCurrentAtPos\") : 0), // undo positioning\r\n\t\t\tperiod);\r\n\t\tthis._updateDatepicker(inst);\r\n\t},\r\n\r\n\t/* Action for current link. */\r\n\t_gotoToday: function(id) {\r\n\t\tvar date,\r\n\t\t\ttarget = $(id),\r\n\t\t\tinst = this._getInst(target[0]);\r\n\r\n\t\tif (this._get(inst, \"gotoCurrent\") && inst.currentDay) {\r\n\t\t\tinst.selectedDay = inst.currentDay;\r\n\t\t\tinst.drawMonth = inst.selectedMonth = inst.currentMonth;\r\n\t\t\tinst.drawYear = inst.selectedYear = inst.currentYear;\r\n\t\t} else {\r\n\t\t\tdate = new Date();\r\n\t\t\tinst.selectedDay = date.getDate();\r\n\t\t\tinst.drawMonth = inst.selectedMonth = date.getMonth();\r\n\t\t\tinst.drawYear = inst.selectedYear = date.getFullYear();\r\n\t\t}\r\n\t\tthis._notifyChange(inst);\r\n\t\tthis._adjustDate(target);\r\n\t},\r\n\r\n\t/* Action for selecting a new month/year. */\r\n\t_selectMonthYear: function(id, select, period) {\r\n\t\tvar target = $(id),\r\n\t\t\tinst = this._getInst(target[0]);\r\n\r\n\t\tinst[\"selected\" + (period === \"M\" ? \"Month\" : \"Year\")] =\r\n\t\tinst[\"draw\" + (period === \"M\" ? \"Month\" : \"Year\")] =\r\n\t\t\tparseInt(select.options[select.selectedIndex].value,10);\r\n\r\n\t\tthis._notifyChange(inst);\r\n\t\tthis._adjustDate(target);\r\n\t},\r\n\r\n\t/* Action for selecting a day. */\r\n\t_selectDay: function(id, month, year, td) {\r\n\t\tvar inst,\r\n\t\t\ttarget = $(id);\r\n\r\n\t\tif ($(td).hasClass(this._unselectableClass) || this._isDisabledDatepicker(target[0])) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tinst = this._getInst(target[0]);\r\n\t\tinst.selectedDay = inst.currentDay = $(\"a\", td).html();\r\n\t\tinst.selectedMonth = inst.currentMonth = month;\r\n\t\tinst.selectedYear = inst.currentYear = year;\r\n\t\tthis._selectDate(id, this._formatDate(inst,\r\n\t\t\tinst.currentDay, inst.currentMonth, inst.currentYear));\r\n\t},\r\n\r\n\t/* Erase the input field and hide the date picker. */\r\n\t_clearDate: function(id) {\r\n\t\tvar target = $(id);\r\n\t\tthis._selectDate(target, \"\");\r\n\t},\r\n\r\n\t/* Update the input field with the selected date. */\r\n\t_selectDate: function(id, dateStr) {\r\n\t\tvar onSelect,\r\n\t\t\ttarget = $(id),\r\n\t\t\tinst = this._getInst(target[0]);\r\n\r\n\t\tdateStr = (dateStr != null ? dateStr : this._formatDate(inst));\r\n\t\tif (inst.input) {\r\n\t\t\tinst.input.val(dateStr);\r\n\t\t}\r\n\t\tthis._updateAlternate(inst);\r\n\r\n\t\tonSelect = this._get(inst, \"onSelect\");\r\n\t\tif (onSelect) {\r\n\t\t\tonSelect.apply((inst.input ? inst.input[0] : null), [dateStr, inst]);  // trigger custom callback\r\n\t\t} else if (inst.input) {\r\n\t\t\tinst.input.trigger(\"change\"); // fire the change event\r\n\t\t}\r\n\r\n\t\tif (inst.inline){\r\n\t\t\tthis._updateDatepicker(inst);\r\n\t\t} else {\r\n\t\t\tthis._hideDatepicker();\r\n\t\t\tthis._lastInput = inst.input[0];\r\n\t\t\tif (typeof(inst.input[0]) !== \"object\") {\r\n\t\t\t\tinst.input.focus(); // restore focus\r\n\t\t\t}\r\n\t\t\tthis._lastInput = null;\r\n\t\t}\r\n\t},\r\n\r\n\t/* Update any alternate field to synchronise with the main field. */\r\n\t_updateAlternate: function(inst) {\r\n\t\tvar altFormat, date, dateStr,\r\n\t\t\taltField = this._get(inst, \"altField\");\r\n\r\n\t\tif (altField) { // update alternate field too\r\n\t\t\taltFormat = this._get(inst, \"altFormat\") || this._get(inst, \"dateFormat\");\r\n\t\t\tdate = this._getDate(inst);\r\n\t\t\tdateStr = this.formatDate(altFormat, date, this._getFormatConfig(inst));\r\n\t\t\t$(altField).each(function() { $(this).val(dateStr); });\r\n\t\t}\r\n\t},\r\n\r\n\t/* Set as beforeShowDay function to prevent selection of weekends.\r\n\t * @param  date  Date - the date to customise\r\n\t * @return [boolean, string] - is this date selectable?, what is its CSS class?\r\n\t */\r\n\tnoWeekends: function(date) {\r\n\t\tvar day = date.getDay();\r\n\t\treturn [(day > 0 && day < 6), \"\"];\r\n\t},\r\n\r\n\t/* Set as calculateWeek to determine the week of the year based on the ISO 8601 definition.\r\n\t * @param  date  Date - the date to get the week for\r\n\t * @return  number - the number of the week within the year that contains this date\r\n\t */\r\n\tiso8601Week: function(date) {\r\n\t\tvar time,\r\n\t\t\tcheckDate = new Date(date.getTime());\r\n\r\n\t\t// Find Thursday of this week starting on Monday\r\n\t\tcheckDate.setDate(checkDate.getDate() + 4 - (checkDate.getDay() || 7));\r\n\r\n\t\ttime = checkDate.getTime();\r\n\t\tcheckDate.setMonth(0); // Compare with Jan 1\r\n\t\tcheckDate.setDate(1);\r\n\t\treturn Math.floor(Math.round((time - checkDate) / 86400000) / 7) + 1;\r\n\t},\r\n\r\n\t/* Parse a string value into a date object.\r\n\t * See formatDate below for the possible formats.\r\n\t *\r\n\t * @param  format string - the expected format of the date\r\n\t * @param  value string - the date in the above format\r\n\t * @param  settings Object - attributes include:\r\n\t *\t\t\t\t\tshortYearCutoff  number - the cutoff year for determining the century (optional)\r\n\t *\t\t\t\t\tdayNamesShort\tstring[7] - abbreviated names of the days from Sunday (optional)\r\n\t *\t\t\t\t\tdayNames\t\tstring[7] - names of the days from Sunday (optional)\r\n\t *\t\t\t\t\tmonthNamesShort string[12] - abbreviated names of the months (optional)\r\n\t *\t\t\t\t\tmonthNames\t\tstring[12] - names of the months (optional)\r\n\t * @return  Date - the extracted date value or null if value is blank\r\n\t */\r\n\tparseDate: function (format, value, settings) {\r\n\t\tif (format == null || value == null) {\r\n\t\t\tthrow \"Invalid arguments\";\r\n\t\t}\r\n\r\n\t\tvalue = (typeof value === \"object\" ? value.toString() : value + \"\");\r\n\t\tif (value === \"\") {\r\n\t\t\treturn null;\r\n\t\t}\r\n\r\n\t\tvar iFormat, dim, extra,\r\n\t\t\tiValue = 0,\r\n\t\t\tshortYearCutoffTemp = (settings ? settings.shortYearCutoff : null) || this._defaults.shortYearCutoff,\r\n\t\t\tshortYearCutoff = (typeof shortYearCutoffTemp !== \"string\" ? shortYearCutoffTemp :\r\n\t\t\t\tnew Date().getFullYear() % 100 + parseInt(shortYearCutoffTemp, 10)),\r\n\t\t\tdayNamesShort = (settings ? settings.dayNamesShort : null) || this._defaults.dayNamesShort,\r\n\t\t\tdayNames = (settings ? settings.dayNames : null) || this._defaults.dayNames,\r\n\t\t\tmonthNamesShort = (settings ? settings.monthNamesShort : null) || this._defaults.monthNamesShort,\r\n\t\t\tmonthNames = (settings ? settings.monthNames : null) || this._defaults.monthNames,\r\n\t\t\tyear = -1,\r\n\t\t\tmonth = -1,\r\n\t\t\tday = -1,\r\n\t\t\tdoy = -1,\r\n\t\t\tliteral = false,\r\n\t\t\tdate,\r\n\t\t\t// Check whether a format character is doubled\r\n\t\t\tlookAhead = function(match) {\r\n\t\t\t\tvar matches = (iFormat + 1 < format.length && format.charAt(iFormat + 1) === match);\r\n\t\t\t\tif (matches) {\r\n\t\t\t\t\tiFormat++;\r\n\t\t\t\t}\r\n\t\t\t\treturn matches;\r\n\t\t\t},\r\n\t\t\t// Extract a number from the string value\r\n\t\t\tgetNumber = function(match) {\r\n\t\t\t\tvar isDoubled = lookAhead(match),\r\n\t\t\t\t\tsize = (match === \"@\" ? 14 : (match === \"!\" ? 20 :\r\n\t\t\t\t\t(match === \"y\" && isDoubled ? 4 : (match === \"o\" ? 3 : 2)))),\r\n\t\t\t\t\tminSize = (match === \"y\" ? size : 1),\r\n\t\t\t\t\tdigits = new RegExp(\"^\\\\d{\" + minSize + \",\" + size + \"}\"),\r\n\t\t\t\t\tnum = value.substring(iValue).match(digits);\r\n\t\t\t\tif (!num) {\r\n\t\t\t\t\tthrow \"Missing number at position \" + iValue;\r\n\t\t\t\t}\r\n\t\t\t\tiValue += num[0].length;\r\n\t\t\t\treturn parseInt(num[0], 10);\r\n\t\t\t},\r\n\t\t\t// Extract a name from the string value and convert to an index\r\n\t\t\tgetName = function(match, shortNames, longNames) {\r\n\t\t\t\tvar index = -1,\r\n\t\t\t\t\tnames = $.map(lookAhead(match) ? longNames : shortNames, function (v, k) {\r\n\t\t\t\t\t\treturn [ [k, v] ];\r\n\t\t\t\t\t}).sort(function (a, b) {\r\n\t\t\t\t\t\treturn -(a[1].length - b[1].length);\r\n\t\t\t\t\t});\r\n\r\n\t\t\t\t$.each(names, function (i, pair) {\r\n\t\t\t\t\tvar name = pair[1];\r\n\t\t\t\t\tif (value.substr(iValue, name.length).toLowerCase() === name.toLowerCase()) {\r\n\t\t\t\t\t\tindex = pair[0];\r\n\t\t\t\t\t\tiValue += name.length;\r\n\t\t\t\t\t\treturn false;\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t\tif (index !== -1) {\r\n\t\t\t\t\treturn index + 1;\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthrow \"Unknown name at position \" + iValue;\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t// Confirm that a literal character matches the string value\r\n\t\t\tcheckLiteral = function() {\r\n\t\t\t\tif (value.charAt(iValue) !== format.charAt(iFormat)) {\r\n\t\t\t\t\tthrow \"Unexpected literal at position \" + iValue;\r\n\t\t\t\t}\r\n\t\t\t\tiValue++;\r\n\t\t\t};\r\n\r\n\t\tfor (iFormat = 0; iFormat < format.length; iFormat++) {\r\n\t\t\tif (literal) {\r\n\t\t\t\tif (format.charAt(iFormat) === \"'\" && !lookAhead(\"'\")) {\r\n\t\t\t\t\tliteral = false;\r\n\t\t\t\t} else {\r\n\t\t\t\t\tcheckLiteral();\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tswitch (format.charAt(iFormat)) {\r\n\t\t\t\t\tcase \"d\":\r\n\t\t\t\t\t\tday = getNumber(\"d\");\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase \"D\":\r\n\t\t\t\t\t\tgetName(\"D\", dayNamesShort, dayNames);\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase \"o\":\r\n\t\t\t\t\t\tdoy = getNumber(\"o\");\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase \"m\":\r\n\t\t\t\t\t\tmonth = getNumber(\"m\");\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase \"M\":\r\n\t\t\t\t\t\tmonth = getName(\"M\", monthNamesShort, monthNames);\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase \"y\":\r\n\t\t\t\t\t\tyear = getNumber(\"y\");\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase \"@\":\r\n\t\t\t\t\t\tdate = new Date(getNumber(\"@\"));\r\n\t\t\t\t\t\tyear = date.getFullYear();\r\n\t\t\t\t\t\tmonth = date.getMonth() + 1;\r\n\t\t\t\t\t\tday = date.getDate();\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase \"!\":\r\n\t\t\t\t\t\tdate = new Date((getNumber(\"!\") - this._ticksTo1970) / 10000);\r\n\t\t\t\t\t\tyear = date.getFullYear();\r\n\t\t\t\t\t\tmonth = date.getMonth() + 1;\r\n\t\t\t\t\t\tday = date.getDate();\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase \"'\":\r\n\t\t\t\t\t\tif (lookAhead(\"'\")){\r\n\t\t\t\t\t\t\tcheckLiteral();\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tliteral = true;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tdefault:\r\n\t\t\t\t\t\tcheckLiteral();\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (iValue < value.length){\r\n\t\t\textra = value.substr(iValue);\r\n\t\t\tif (!/^\\s+/.test(extra)) {\r\n\t\t\t\tthrow \"Extra/unparsed characters found in date: \" + extra;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (year === -1) {\r\n\t\t\tyear = new Date().getFullYear();\r\n\t\t} else if (year < 100) {\r\n\t\t\tyear += new Date().getFullYear() - new Date().getFullYear() % 100 +\r\n\t\t\t\t(year <= shortYearCutoff ? 0 : -100);\r\n\t\t}\r\n\r\n\t\tif (doy > -1) {\r\n\t\t\tmonth = 1;\r\n\t\t\tday = doy;\r\n\t\t\tdo {\r\n\t\t\t\tdim = this._getDaysInMonth(year, month - 1);\r\n\t\t\t\tif (day <= dim) {\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t\tmonth++;\r\n\t\t\t\tday -= dim;\r\n\t\t\t} while (true);\r\n\t\t}\r\n\r\n\t\tdate = this._daylightSavingAdjust(new Date(year, month - 1, day));\r\n\t\tif (date.getFullYear() !== year || date.getMonth() + 1 !== month || date.getDate() !== day) {\r\n\t\t\tthrow \"Invalid date\"; // E.g. 31/02/00\r\n\t\t}\r\n\t\treturn date;\r\n\t},\r\n\r\n\t/* Standard date formats. */\r\n\tATOM: \"yy-mm-dd\", // RFC 3339 (ISO 8601)\r\n\tCOOKIE: \"D, dd M yy\",\r\n\tISO_8601: \"yy-mm-dd\",\r\n\tRFC_822: \"D, d M y\",\r\n\tRFC_850: \"DD, dd-M-y\",\r\n\tRFC_1036: \"D, d M y\",\r\n\tRFC_1123: \"D, d M yy\",\r\n\tRFC_2822: \"D, d M yy\",\r\n\tRSS: \"D, d M y\", // RFC 822\r\n\tTICKS: \"!\",\r\n\tTIMESTAMP: \"@\",\r\n\tW3C: \"yy-mm-dd\", // ISO 8601\r\n\r\n\t_ticksTo1970: (((1970 - 1) * 365 + Math.floor(1970 / 4) - Math.floor(1970 / 100) +\r\n\t\tMath.floor(1970 / 400)) * 24 * 60 * 60 * 10000000),\r\n\r\n\t/* Format a date object into a string value.\r\n\t * The format can be combinations of the following:\r\n\t * d  - day of month (no leading zero)\r\n\t * dd - day of month (two digit)\r\n\t * o  - day of year (no leading zeros)\r\n\t * oo - day of year (three digit)\r\n\t * D  - day name short\r\n\t * DD - day name long\r\n\t * m  - month of year (no leading zero)\r\n\t * mm - month of year (two digit)\r\n\t * M  - month name short\r\n\t * MM - month name long\r\n\t * y  - year (two digit)\r\n\t * yy - year (four digit)\r\n\t * @ - Unix timestamp (ms since 01/01/1970)\r\n\t * ! - Windows ticks (100ns since 01/01/0001)\r\n\t * \"...\" - literal text\r\n\t * '' - single quote\r\n\t *\r\n\t * @param  format string - the desired format of the date\r\n\t * @param  date Date - the date value to format\r\n\t * @param  settings Object - attributes include:\r\n\t *\t\t\t\t\tdayNamesShort\tstring[7] - abbreviated names of the days from Sunday (optional)\r\n\t *\t\t\t\t\tdayNames\t\tstring[7] - names of the days from Sunday (optional)\r\n\t *\t\t\t\t\tmonthNamesShort string[12] - abbreviated names of the months (optional)\r\n\t *\t\t\t\t\tmonthNames\t\tstring[12] - names of the months (optional)\r\n\t * @return  string - the date in the above format\r\n\t */\r\n\tformatDate: function (format, date, settings) {\r\n\t\tif (!date) {\r\n\t\t\treturn \"\";\r\n\t\t}\r\n\r\n\t\tvar iFormat,\r\n\t\t\tdayNamesShort = (settings ? settings.dayNamesShort : null) || this._defaults.dayNamesShort,\r\n\t\t\tdayNames = (settings ? settings.dayNames : null) || this._defaults.dayNames,\r\n\t\t\tmonthNamesShort = (settings ? settings.monthNamesShort : null) || this._defaults.monthNamesShort,\r\n\t\t\tmonthNames = (settings ? settings.monthNames : null) || this._defaults.monthNames,\r\n\t\t\t// Check whether a format character is doubled\r\n\t\t\tlookAhead = function(match) {\r\n\t\t\t\tvar matches = (iFormat + 1 < format.length && format.charAt(iFormat + 1) === match);\r\n\t\t\t\tif (matches) {\r\n\t\t\t\t\tiFormat++;\r\n\t\t\t\t}\r\n\t\t\t\treturn matches;\r\n\t\t\t},\r\n\t\t\t// Format a number, with leading zero if necessary\r\n\t\t\tformatNumber = function(match, value, len) {\r\n\t\t\t\tvar num = \"\" + value;\r\n\t\t\t\tif (lookAhead(match)) {\r\n\t\t\t\t\twhile (num.length < len) {\r\n\t\t\t\t\t\tnum = \"0\" + num;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\treturn num;\r\n\t\t\t},\r\n\t\t\t// Format a name, short or long as requested\r\n\t\t\tformatName = function(match, value, shortNames, longNames) {\r\n\t\t\t\treturn (lookAhead(match) ? longNames[value] : shortNames[value]);\r\n\t\t\t},\r\n\t\t\toutput = \"\",\r\n\t\t\tliteral = false;\r\n\r\n\t\tif (date) {\r\n\t\t\tfor (iFormat = 0; iFormat < format.length; iFormat++) {\r\n\t\t\t\tif (literal) {\r\n\t\t\t\t\tif (format.charAt(iFormat) === \"'\" && !lookAhead(\"'\")) {\r\n\t\t\t\t\t\tliteral = false;\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\toutput += format.charAt(iFormat);\r\n\t\t\t\t\t}\r\n\t\t\t\t} else {\r\n\t\t\t\t\tswitch (format.charAt(iFormat)) {\r\n\t\t\t\t\t\tcase \"d\":\r\n\t\t\t\t\t\t\toutput += formatNumber(\"d\", date.getDate(), 2);\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\tcase \"D\":\r\n\t\t\t\t\t\t\toutput += formatName(\"D\", date.getDay(), dayNamesShort, dayNames);\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\tcase \"o\":\r\n\t\t\t\t\t\t\toutput += formatNumber(\"o\",\r\n\t\t\t\t\t\t\t\tMath.round((new Date(date.getFullYear(), date.getMonth(), date.getDate()).getTime() - new Date(date.getFullYear(), 0, 0).getTime()) / 86400000), 3);\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\tcase \"m\":\r\n\t\t\t\t\t\t\toutput += formatNumber(\"m\", date.getMonth() + 1, 2);\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\tcase \"M\":\r\n\t\t\t\t\t\t\toutput += formatName(\"M\", date.getMonth(), monthNamesShort, monthNames);\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\tcase \"y\":\r\n\t\t\t\t\t\t\toutput += (lookAhead(\"y\") ? date.getFullYear() :\r\n\t\t\t\t\t\t\t\t(date.getYear() % 100 < 10 ? \"0\" : \"\") + date.getYear() % 100);\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\tcase \"@\":\r\n\t\t\t\t\t\t\toutput += date.getTime();\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\tcase \"!\":\r\n\t\t\t\t\t\t\toutput += date.getTime() * 10000 + this._ticksTo1970;\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\tcase \"'\":\r\n\t\t\t\t\t\t\tif (lookAhead(\"'\")) {\r\n\t\t\t\t\t\t\t\toutput += \"'\";\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tliteral = true;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\tdefault:\r\n\t\t\t\t\t\t\toutput += format.charAt(iFormat);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn output;\r\n\t},\r\n\r\n\t/* Extract all possible characters from the date format. */\r\n\t_possibleChars: function (format) {\r\n\t\tvar iFormat,\r\n\t\t\tchars = \"\",\r\n\t\t\tliteral = false,\r\n\t\t\t// Check whether a format character is doubled\r\n\t\t\tlookAhead = function(match) {\r\n\t\t\t\tvar matches = (iFormat + 1 < format.length && format.charAt(iFormat + 1) === match);\r\n\t\t\t\tif (matches) {\r\n\t\t\t\t\tiFormat++;\r\n\t\t\t\t}\r\n\t\t\t\treturn matches;\r\n\t\t\t};\r\n\r\n\t\tfor (iFormat = 0; iFormat < format.length; iFormat++) {\r\n\t\t\tif (literal) {\r\n\t\t\t\tif (format.charAt(iFormat) === \"'\" && !lookAhead(\"'\")) {\r\n\t\t\t\t\tliteral = false;\r\n\t\t\t\t} else {\r\n\t\t\t\t\tchars += format.charAt(iFormat);\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tswitch (format.charAt(iFormat)) {\r\n\t\t\t\t\tcase \"d\": case \"m\": case \"y\": case \"@\":\r\n\t\t\t\t\t\tchars += \"0123456789\";\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase \"D\": case \"M\":\r\n\t\t\t\t\t\treturn null; // Accept anything\r\n\t\t\t\t\tcase \"'\":\r\n\t\t\t\t\t\tif (lookAhead(\"'\")) {\r\n\t\t\t\t\t\t\tchars += \"'\";\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tliteral = true;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tdefault:\r\n\t\t\t\t\t\tchars += format.charAt(iFormat);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn chars;\r\n\t},\r\n\r\n\t/* Get a setting value, defaulting if necessary. */\r\n\t_get: function(inst, name) {\r\n\t\treturn inst.settings[name] !== undefined ?\r\n\t\t\tinst.settings[name] : this._defaults[name];\r\n\t},\r\n\r\n\t/* Parse existing date and initialise date picker. */\r\n\t_setDateFromField: function(inst, noDefault) {\r\n\t\tif (inst.input.val() === inst.lastVal) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tvar dateFormat = this._get(inst, \"dateFormat\"),\r\n\t\t\tdates = inst.lastVal = inst.input ? inst.input.val() : null,\r\n\t\t\tdefaultDate = this._getDefaultDate(inst),\r\n\t\t\tdate = defaultDate,\r\n\t\t\tsettings = this._getFormatConfig(inst);\r\n\r\n\t\ttry {\r\n\t\t\tdate = this.parseDate(dateFormat, dates, settings) || defaultDate;\r\n\t\t} catch (event) {\r\n\t\t\tdates = (noDefault ? \"\" : dates);\r\n\t\t}\r\n\t\tinst.selectedDay = date.getDate();\r\n\t\tinst.drawMonth = inst.selectedMonth = date.getMonth();\r\n\t\tinst.drawYear = inst.selectedYear = date.getFullYear();\r\n\t\tinst.currentDay = (dates ? date.getDate() : 0);\r\n\t\tinst.currentMonth = (dates ? date.getMonth() : 0);\r\n\t\tinst.currentYear = (dates ? date.getFullYear() : 0);\r\n\t\tthis._adjustInstDate(inst);\r\n\t},\r\n\r\n\t/* Retrieve the default date shown on opening. */\r\n\t_getDefaultDate: function(inst) {\r\n\t\treturn this._restrictMinMax(inst,\r\n\t\t\tthis._determineDate(inst, this._get(inst, \"defaultDate\"), new Date()));\r\n\t},\r\n\r\n\t/* A date may be specified as an exact value or a relative one. */\r\n\t_determineDate: function(inst, date, defaultDate) {\r\n\t\tvar offsetNumeric = function(offset) {\r\n\t\t\t\tvar date = new Date();\r\n\t\t\t\tdate.setDate(date.getDate() + offset);\r\n\t\t\t\treturn date;\r\n\t\t\t},\r\n\t\t\toffsetString = function(offset) {\r\n\t\t\t\ttry {\r\n\t\t\t\t\treturn $.datepicker.parseDate($.datepicker._get(inst, \"dateFormat\"),\r\n\t\t\t\t\t\toffset, $.datepicker._getFormatConfig(inst));\r\n\t\t\t\t}\r\n\t\t\t\tcatch (e) {\r\n\t\t\t\t\t// Ignore\r\n\t\t\t\t}\r\n\r\n\t\t\t\tvar date = (offset.toLowerCase().match(/^c/) ?\r\n\t\t\t\t\t$.datepicker._getDate(inst) : null) || new Date(),\r\n\t\t\t\t\tyear = date.getFullYear(),\r\n\t\t\t\t\tmonth = date.getMonth(),\r\n\t\t\t\t\tday = date.getDate(),\r\n\t\t\t\t\tpattern = /([+\\-]?[0-9]+)\\s*(d|D|w|W|m|M|y|Y)?/g,\r\n\t\t\t\t\tmatches = pattern.exec(offset);\r\n\r\n\t\t\t\twhile (matches) {\r\n\t\t\t\t\tswitch (matches[2] || \"d\") {\r\n\t\t\t\t\t\tcase \"d\" : case \"D\" :\r\n\t\t\t\t\t\t\tday += parseInt(matches[1],10); break;\r\n\t\t\t\t\t\tcase \"w\" : case \"W\" :\r\n\t\t\t\t\t\t\tday += parseInt(matches[1],10) * 7; break;\r\n\t\t\t\t\t\tcase \"m\" : case \"M\" :\r\n\t\t\t\t\t\t\tmonth += parseInt(matches[1],10);\r\n\t\t\t\t\t\t\tday = Math.min(day, $.datepicker._getDaysInMonth(year, month));\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\tcase \"y\": case \"Y\" :\r\n\t\t\t\t\t\t\tyear += parseInt(matches[1],10);\r\n\t\t\t\t\t\t\tday = Math.min(day, $.datepicker._getDaysInMonth(year, month));\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tmatches = pattern.exec(offset);\r\n\t\t\t\t}\r\n\t\t\t\treturn new Date(year, month, day);\r\n\t\t\t},\r\n\t\t\tnewDate = (date == null || date === \"\" ? defaultDate : (typeof date === \"string\" ? offsetString(date) :\r\n\t\t\t\t(typeof date === \"number\" ? (isNaN(date) ? defaultDate : offsetNumeric(date)) : new Date(date.getTime()))));\r\n\r\n\t\tnewDate = (newDate && newDate.toString() === \"Invalid Date\" ? defaultDate : newDate);\r\n\t\tif (newDate) {\r\n\t\t\tnewDate.setHours(0);\r\n\t\t\tnewDate.setMinutes(0);\r\n\t\t\tnewDate.setSeconds(0);\r\n\t\t\tnewDate.setMilliseconds(0);\r\n\t\t}\r\n\t\treturn this._daylightSavingAdjust(newDate);\r\n\t},\r\n\r\n\t/* Handle switch to/from daylight saving.\r\n\t * Hours may be non-zero on daylight saving cut-over:\r\n\t * > 12 when midnight changeover, but then cannot generate\r\n\t * midnight datetime, so jump to 1AM, otherwise reset.\r\n\t * @param  date  (Date) the date to check\r\n\t * @return  (Date) the corrected date\r\n\t */\r\n\t_daylightSavingAdjust: function(date) {\r\n\t\tif (!date) {\r\n\t\t\treturn null;\r\n\t\t}\r\n\t\tdate.setHours(date.getHours() > 12 ? date.getHours() + 2 : 0);\r\n\t\treturn date;\r\n\t},\r\n\r\n\t/* Set the date(s) directly. */\r\n\t_setDate: function(inst, date, noChange) {\r\n\t\tvar clear = !date,\r\n\t\t\torigMonth = inst.selectedMonth,\r\n\t\t\torigYear = inst.selectedYear,\r\n\t\t\tnewDate = this._restrictMinMax(inst, this._determineDate(inst, date, new Date()));\r\n\r\n\t\tinst.selectedDay = inst.currentDay = newDate.getDate();\r\n\t\tinst.drawMonth = inst.selectedMonth = inst.currentMonth = newDate.getMonth();\r\n\t\tinst.drawYear = inst.selectedYear = inst.currentYear = newDate.getFullYear();\r\n\t\tif ((origMonth !== inst.selectedMonth || origYear !== inst.selectedYear) && !noChange) {\r\n\t\t\tthis._notifyChange(inst);\r\n\t\t}\r\n\t\tthis._adjustInstDate(inst);\r\n\t\tif (inst.input) {\r\n\t\t\tinst.input.val(clear ? \"\" : this._formatDate(inst));\r\n\t\t}\r\n\t},\r\n\r\n\t/* Retrieve the date(s) directly. */\r\n\t_getDate: function(inst) {\r\n\t\tvar startDate = (!inst.currentYear || (inst.input && inst.input.val() === \"\") ? null :\r\n\t\t\tthis._daylightSavingAdjust(new Date(\r\n\t\t\tinst.currentYear, inst.currentMonth, inst.currentDay)));\r\n\t\t\treturn startDate;\r\n\t},\r\n\r\n\t/* Attach the onxxx handlers.  These are declared statically so\r\n\t * they work with static code transformers like Caja.\r\n\t */\r\n\t_attachHandlers: function(inst) {\r\n\t\tvar stepMonths = this._get(inst, \"stepMonths\"),\r\n\t\t\tid = \"#\" + inst.id.replace( /\\\\\\\\/g, \"\\\\\" );\r\n\t\tinst.dpDiv.find(\"[data-handler]\").map(function () {\r\n\t\t\tvar handler = {\r\n\t\t\t\tprev: function () {\r\n\t\t\t\t\t$.datepicker._adjustDate(id, -stepMonths, \"M\");\r\n\t\t\t\t},\r\n\t\t\t\tnext: function () {\r\n\t\t\t\t\t$.datepicker._adjustDate(id, +stepMonths, \"M\");\r\n\t\t\t\t},\r\n\t\t\t\thide: function () {\r\n\t\t\t\t\t$.datepicker._hideDatepicker();\r\n\t\t\t\t},\r\n\t\t\t\ttoday: function () {\r\n\t\t\t\t\t$.datepicker._gotoToday(id);\r\n\t\t\t\t},\r\n\t\t\t\tselectDay: function () {\r\n\t\t\t\t\t$.datepicker._selectDay(id, +this.getAttribute(\"data-month\"), +this.getAttribute(\"data-year\"), this);\r\n\t\t\t\t\treturn false;\r\n\t\t\t\t},\r\n\t\t\t\tselectMonth: function () {\r\n\t\t\t\t\t$.datepicker._selectMonthYear(id, this, \"M\");\r\n\t\t\t\t\treturn false;\r\n\t\t\t\t},\r\n\t\t\t\tselectYear: function () {\r\n\t\t\t\t\t$.datepicker._selectMonthYear(id, this, \"Y\");\r\n\t\t\t\t\treturn false;\r\n\t\t\t\t}\r\n\t\t\t};\r\n\t\t\t$(this).bind(this.getAttribute(\"data-event\"), handler[this.getAttribute(\"data-handler\")]);\r\n\t\t});\r\n\t},\r\n\r\n\t/* Generate the HTML for the current state of the date picker. */\r\n\t_generateHTML: function(inst) {\r\n\t\tvar maxDraw, prevText, prev, nextText, next, currentText, gotoDate,\r\n\t\t\tcontrols, buttonPanel, firstDay, showWeek, dayNames, dayNamesMin,\r\n\t\t\tmonthNames, monthNamesShort, beforeShowDay, showOtherMonths,\r\n\t\t\tselectOtherMonths, defaultDate, html, dow, row, group, col, selectedDate,\r\n\t\t\tcornerClass, calender, thead, day, daysInMonth, leadDays, curRows, numRows,\r\n\t\t\tprintDate, dRow, tbody, daySettings, otherMonth, unselectable,\r\n\t\t\ttempDate = new Date(),\r\n\t\t\ttoday = this._daylightSavingAdjust(\r\n\t\t\t\tnew Date(tempDate.getFullYear(), tempDate.getMonth(), tempDate.getDate())), // clear time\r\n\t\t\tisRTL = this._get(inst, \"isRTL\"),\r\n\t\t\tshowButtonPanel = this._get(inst, \"showButtonPanel\"),\r\n\t\t\thideIfNoPrevNext = this._get(inst, \"hideIfNoPrevNext\"),\r\n\t\t\tnavigationAsDateFormat = this._get(inst, \"navigationAsDateFormat\"),\r\n\t\t\tnumMonths = this._getNumberOfMonths(inst),\r\n\t\t\tshowCurrentAtPos = this._get(inst, \"showCurrentAtPos\"),\r\n\t\t\tstepMonths = this._get(inst, \"stepMonths\"),\r\n\t\t\tisMultiMonth = (numMonths[0] !== 1 || numMonths[1] !== 1),\r\n\t\t\tcurrentDate = this._daylightSavingAdjust((!inst.currentDay ? new Date(9999, 9, 9) :\r\n\t\t\t\tnew Date(inst.currentYear, inst.currentMonth, inst.currentDay))),\r\n\t\t\tminDate = this._getMinMaxDate(inst, \"min\"),\r\n\t\t\tmaxDate = this._getMinMaxDate(inst, \"max\"),\r\n\t\t\tdrawMonth = inst.drawMonth - showCurrentAtPos,\r\n\t\t\tdrawYear = inst.drawYear;\r\n\r\n\t\tif (drawMonth < 0) {\r\n\t\t\tdrawMonth += 12;\r\n\t\t\tdrawYear--;\r\n\t\t}\r\n\t\tif (maxDate) {\r\n\t\t\tmaxDraw = this._daylightSavingAdjust(new Date(maxDate.getFullYear(),\r\n\t\t\t\tmaxDate.getMonth() - (numMonths[0] * numMonths[1]) + 1, maxDate.getDate()));\r\n\t\t\tmaxDraw = (minDate && maxDraw < minDate ? minDate : maxDraw);\r\n\t\t\twhile (this._daylightSavingAdjust(new Date(drawYear, drawMonth, 1)) > maxDraw) {\r\n\t\t\t\tdrawMonth--;\r\n\t\t\t\tif (drawMonth < 0) {\r\n\t\t\t\t\tdrawMonth = 11;\r\n\t\t\t\t\tdrawYear--;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\tinst.drawMonth = drawMonth;\r\n\t\tinst.drawYear = drawYear;\r\n\r\n\t\tprevText = this._get(inst, \"prevText\");\r\n\t\tprevText = (!navigationAsDateFormat ? prevText : this.formatDate(prevText,\r\n\t\t\tthis._daylightSavingAdjust(new Date(drawYear, drawMonth - stepMonths, 1)),\r\n\t\t\tthis._getFormatConfig(inst)));\r\n\r\n\t\tprev = (this._canAdjustMonth(inst, -1, drawYear, drawMonth) ?\r\n\t\t\t\"<a class='ui-datepicker-prev ui-corner-all' data-handler='prev' data-event='click'\" +\r\n\t\t\t\" title='\" + prevText + \"'><span class='ui-icon ui-icon-circle-triangle-\" + ( isRTL ? \"e\" : \"w\") + \"'>\" + prevText + \"</span></a>\" :\r\n\t\t\t(hideIfNoPrevNext ? \"\" : \"<a class='ui-datepicker-prev ui-corner-all ui-state-disabled' title='\"+ prevText +\"'><span class='ui-icon ui-icon-circle-triangle-\" + ( isRTL ? \"e\" : \"w\") + \"'>\" + prevText + \"</span></a>\"));\r\n\r\n\t\tnextText = this._get(inst, \"nextText\");\r\n\t\tnextText = (!navigationAsDateFormat ? nextText : this.formatDate(nextText,\r\n\t\t\tthis._daylightSavingAdjust(new Date(drawYear, drawMonth + stepMonths, 1)),\r\n\t\t\tthis._getFormatConfig(inst)));\r\n\r\n\t\tnext = (this._canAdjustMonth(inst, +1, drawYear, drawMonth) ?\r\n\t\t\t\"<a class='ui-datepicker-next ui-corner-all' data-handler='next' data-event='click'\" +\r\n\t\t\t\" title='\" + nextText + \"'><span class='ui-icon ui-icon-circle-triangle-\" + ( isRTL ? \"w\" : \"e\") + \"'>\" + nextText + \"</span></a>\" :\r\n\t\t\t(hideIfNoPrevNext ? \"\" : \"<a class='ui-datepicker-next ui-corner-all ui-state-disabled' title='\"+ nextText + \"'><span class='ui-icon ui-icon-circle-triangle-\" + ( isRTL ? \"w\" : \"e\") + \"'>\" + nextText + \"</span></a>\"));\r\n\r\n\t\tcurrentText = this._get(inst, \"currentText\");\r\n\t\tgotoDate = (this._get(inst, \"gotoCurrent\") && inst.currentDay ? currentDate : today);\r\n\t\tcurrentText = (!navigationAsDateFormat ? currentText :\r\n\t\t\tthis.formatDate(currentText, gotoDate, this._getFormatConfig(inst)));\r\n\r\n\t\tcontrols = (!inst.inline ? \"<button type='button' class='ui-datepicker-close ui-state-default ui-priority-primary ui-corner-all' data-handler='hide' data-event='click'>\" +\r\n\t\t\tthis._get(inst, \"closeText\") + \"</button>\" : \"\");\r\n\r\n\t\tbuttonPanel = (showButtonPanel) ? \"<div class='ui-datepicker-buttonpane ui-widget-content'>\" + (isRTL ? controls : \"\") +\r\n\t\t\t(this._isInRange(inst, gotoDate) ? \"<button type='button' class='ui-datepicker-current ui-state-default ui-priority-secondary ui-corner-all' data-handler='today' data-event='click'\" +\r\n\t\t\t\">\" + currentText + \"</button>\" : \"\") + (isRTL ? \"\" : controls) + \"</div>\" : \"\";\r\n\r\n\t\tfirstDay = parseInt(this._get(inst, \"firstDay\"),10);\r\n\t\tfirstDay = (isNaN(firstDay) ? 0 : firstDay);\r\n\r\n\t\tshowWeek = this._get(inst, \"showWeek\");\r\n\t\tdayNames = this._get(inst, \"dayNames\");\r\n\t\tdayNamesMin = this._get(inst, \"dayNamesMin\");\r\n\t\tmonthNames = this._get(inst, \"monthNames\");\r\n\t\tmonthNamesShort = this._get(inst, \"monthNamesShort\");\r\n\t\tbeforeShowDay = this._get(inst, \"beforeShowDay\");\r\n\t\tshowOtherMonths = this._get(inst, \"showOtherMonths\");\r\n\t\tselectOtherMonths = this._get(inst, \"selectOtherMonths\");\r\n\t\tdefaultDate = this._getDefaultDate(inst);\r\n\t\thtml = \"\";\r\n\t\tdow;\r\n\t\tfor (row = 0; row < numMonths[0]; row++) {\r\n\t\t\tgroup = \"\";\r\n\t\t\tthis.maxRows = 4;\r\n\t\t\tfor (col = 0; col < numMonths[1]; col++) {\r\n\t\t\t\tselectedDate = this._daylightSavingAdjust(new Date(drawYear, drawMonth, inst.selectedDay));\r\n\t\t\t\tcornerClass = \" ui-corner-all\";\r\n\t\t\t\tcalender = \"\";\r\n\t\t\t\tif (isMultiMonth) {\r\n\t\t\t\t\tcalender += \"<div class='ui-datepicker-group\";\r\n\t\t\t\t\tif (numMonths[1] > 1) {\r\n\t\t\t\t\t\tswitch (col) {\r\n\t\t\t\t\t\t\tcase 0: calender += \" ui-datepicker-group-first\";\r\n\t\t\t\t\t\t\t\tcornerClass = \" ui-corner-\" + (isRTL ? \"right\" : \"left\"); break;\r\n\t\t\t\t\t\t\tcase numMonths[1]-1: calender += \" ui-datepicker-group-last\";\r\n\t\t\t\t\t\t\t\tcornerClass = \" ui-corner-\" + (isRTL ? \"left\" : \"right\"); break;\r\n\t\t\t\t\t\t\tdefault: calender += \" ui-datepicker-group-middle\"; cornerClass = \"\"; break;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcalender += \"'>\";\r\n\t\t\t\t}\r\n\t\t\t\tcalender += \"<div class='ui-datepicker-header ui-widget-header ui-helper-clearfix\" + cornerClass + \"'>\" +\r\n\t\t\t\t\t(/all|left/.test(cornerClass) && row === 0 ? (isRTL ? next : prev) : \"\") +\r\n\t\t\t\t\t(/all|right/.test(cornerClass) && row === 0 ? (isRTL ? prev : next) : \"\") +\r\n\t\t\t\t\tthis._generateMonthYearHeader(inst, drawMonth, drawYear, minDate, maxDate,\r\n\t\t\t\t\trow > 0 || col > 0, monthNames, monthNamesShort) + // draw month headers\r\n\t\t\t\t\t\"</div><table class='ui-datepicker-calendar'><thead>\" +\r\n\t\t\t\t\t\"<tr>\";\r\n\t\t\t\tthead = (showWeek ? \"<th class='ui-datepicker-week-col'>\" + this._get(inst, \"weekHeader\") + \"</th>\" : \"\");\r\n\t\t\t\tfor (dow = 0; dow < 7; dow++) { // days of the week\r\n\t\t\t\t\tday = (dow + firstDay) % 7;\r\n\t\t\t\t\tthead += \"<th scope='col'\" + ((dow + firstDay + 6) % 7 >= 5 ? \" class='ui-datepicker-week-end'\" : \"\") + \">\" +\r\n\t\t\t\t\t\t\"<span title='\" + dayNames[day] + \"'>\" + dayNamesMin[day] + \"</span></th>\";\r\n\t\t\t\t}\r\n\t\t\t\tcalender += thead + \"</tr></thead><tbody>\";\r\n\t\t\t\tdaysInMonth = this._getDaysInMonth(drawYear, drawMonth);\r\n\t\t\t\tif (drawYear === inst.selectedYear && drawMonth === inst.selectedMonth) {\r\n\t\t\t\t\tinst.selectedDay = Math.min(inst.selectedDay, daysInMonth);\r\n\t\t\t\t}\r\n\t\t\t\tleadDays = (this._getFirstDayOfMonth(drawYear, drawMonth) - firstDay + 7) % 7;\r\n\t\t\t\tcurRows = Math.ceil((leadDays + daysInMonth) / 7); // calculate the number of rows to generate\r\n\t\t\t\tnumRows = (isMultiMonth ? this.maxRows > curRows ? this.maxRows : curRows : curRows); //If multiple months, use the higher number of rows (see #7043)\r\n\t\t\t\tthis.maxRows = numRows;\r\n\t\t\t\tprintDate = this._daylightSavingAdjust(new Date(drawYear, drawMonth, 1 - leadDays));\r\n\t\t\t\tfor (dRow = 0; dRow < numRows; dRow++) { // create date picker rows\r\n\t\t\t\t\tcalender += \"<tr>\";\r\n\t\t\t\t\ttbody = (!showWeek ? \"\" : \"<td class='ui-datepicker-week-col'>\" +\r\n\t\t\t\t\t\tthis._get(inst, \"calculateWeek\")(printDate) + \"</td>\");\r\n\t\t\t\t\tfor (dow = 0; dow < 7; dow++) { // create date picker days\r\n\t\t\t\t\t\tdaySettings = (beforeShowDay ?\r\n\t\t\t\t\t\t\tbeforeShowDay.apply((inst.input ? inst.input[0] : null), [printDate]) : [true, \"\"]);\r\n\t\t\t\t\t\totherMonth = (printDate.getMonth() !== drawMonth);\r\n\t\t\t\t\t\tunselectable = (otherMonth && !selectOtherMonths) || !daySettings[0] ||\r\n\t\t\t\t\t\t\t(minDate && printDate < minDate) || (maxDate && printDate > maxDate);\r\n\t\t\t\t\t\ttbody += \"<td class='\" +\r\n\t\t\t\t\t\t\t((dow + firstDay + 6) % 7 >= 5 ? \" ui-datepicker-week-end\" : \"\") + // highlight weekends\r\n\t\t\t\t\t\t\t(otherMonth ? \" ui-datepicker-other-month\" : \"\") + // highlight days from other months\r\n\t\t\t\t\t\t\t((printDate.getTime() === selectedDate.getTime() && drawMonth === inst.selectedMonth && inst._keyEvent) || // user pressed key\r\n\t\t\t\t\t\t\t(defaultDate.getTime() === printDate.getTime() && defaultDate.getTime() === selectedDate.getTime()) ?\r\n\t\t\t\t\t\t\t// or defaultDate is current printedDate and defaultDate is selectedDate\r\n\t\t\t\t\t\t\t\" \" + this._dayOverClass : \"\") + // highlight selected day\r\n\t\t\t\t\t\t\t(unselectable ? \" \" + this._unselectableClass + \" ui-state-disabled\": \"\") +  // highlight unselectable days\r\n\t\t\t\t\t\t\t(otherMonth && !showOtherMonths ? \"\" : \" \" + daySettings[1] + // highlight custom dates\r\n\t\t\t\t\t\t\t(printDate.getTime() === currentDate.getTime() ? \" \" + this._currentClass : \"\") + // highlight selected day\r\n\t\t\t\t\t\t\t(printDate.getTime() === today.getTime() ? \" ui-datepicker-today\" : \"\")) + \"'\" + // highlight today (if different)\r\n\t\t\t\t\t\t\t((!otherMonth || showOtherMonths) && daySettings[2] ? \" title='\" + daySettings[2].replace(/'/g, \"&#39;\") + \"'\" : \"\") + // cell title\r\n\t\t\t\t\t\t\t(unselectable ? \"\" : \" data-handler='selectDay' data-event='click' data-month='\" + printDate.getMonth() + \"' data-year='\" + printDate.getFullYear() + \"'\") + \">\" + // actions\r\n\t\t\t\t\t\t\t(otherMonth && !showOtherMonths ? \"&#xa0;\" : // display for other months\r\n\t\t\t\t\t\t\t(unselectable ? \"<span class='ui-state-default'>\" + printDate.getDate() + \"</span>\" : \"<a class='ui-state-default\" +\r\n\t\t\t\t\t\t\t(printDate.getTime() === today.getTime() ? \" ui-state-highlight\" : \"\") +\r\n\t\t\t\t\t\t\t(printDate.getTime() === currentDate.getTime() ? \" ui-state-active\" : \"\") + // highlight selected day\r\n\t\t\t\t\t\t\t(otherMonth ? \" ui-priority-secondary\" : \"\") + // distinguish dates from other months\r\n\t\t\t\t\t\t\t\"' href='#'>\" + printDate.getDate() + \"</a>\")) + \"</td>\"; // display selectable date\r\n\t\t\t\t\t\tprintDate.setDate(printDate.getDate() + 1);\r\n\t\t\t\t\t\tprintDate = this._daylightSavingAdjust(printDate);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcalender += tbody + \"</tr>\";\r\n\t\t\t\t}\r\n\t\t\t\tdrawMonth++;\r\n\t\t\t\tif (drawMonth > 11) {\r\n\t\t\t\t\tdrawMonth = 0;\r\n\t\t\t\t\tdrawYear++;\r\n\t\t\t\t}\r\n\t\t\t\tcalender += \"</tbody></table>\" + (isMultiMonth ? \"</div>\" +\r\n\t\t\t\t\t\t\t((numMonths[0] > 0 && col === numMonths[1]-1) ? \"<div class='ui-datepicker-row-break'></div>\" : \"\") : \"\");\r\n\t\t\t\tgroup += calender;\r\n\t\t\t}\r\n\t\t\thtml += group;\r\n\t\t}\r\n\t\thtml += buttonPanel;\r\n\t\tinst._keyEvent = false;\r\n\t\treturn html;\r\n\t},\r\n\r\n\t/* Generate the month and year header. */\r\n\t_generateMonthYearHeader: function(inst, drawMonth, drawYear, minDate, maxDate,\r\n\t\t\tsecondary, monthNames, monthNamesShort) {\r\n\r\n\t\tvar inMinYear, inMaxYear, month, years, thisYear, determineYear, year, endYear,\r\n\t\t\tchangeMonth = this._get(inst, \"changeMonth\"),\r\n\t\t\tchangeYear = this._get(inst, \"changeYear\"),\r\n\t\t\tshowMonthAfterYear = this._get(inst, \"showMonthAfterYear\"),\r\n\t\t\thtml = \"<div class='ui-datepicker-title'>\",\r\n\t\t\tmonthHtml = \"\";\r\n\r\n\t\t// month selection\r\n\t\tif (secondary || !changeMonth) {\r\n\t\t\tmonthHtml += \"<span class='ui-datepicker-month'>\" + monthNames[drawMonth] + \"</span>\";\r\n\t\t} else {\r\n\t\t\tinMinYear = (minDate && minDate.getFullYear() === drawYear);\r\n\t\t\tinMaxYear = (maxDate && maxDate.getFullYear() === drawYear);\r\n\t\t\tmonthHtml += \"<select class='ui-datepicker-month' data-handler='selectMonth' data-event='change'>\";\r\n\t\t\tfor ( month = 0; month < 12; month++) {\r\n\t\t\t\tif ((!inMinYear || month >= minDate.getMonth()) && (!inMaxYear || month <= maxDate.getMonth())) {\r\n\t\t\t\t\tmonthHtml += \"<option value='\" + month + \"'\" +\r\n\t\t\t\t\t\t(month === drawMonth ? \" selected='selected'\" : \"\") +\r\n\t\t\t\t\t\t\">\" + monthNamesShort[month] + \"</option>\";\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tmonthHtml += \"</select>\";\r\n\t\t}\r\n\r\n\t\tif (!showMonthAfterYear) {\r\n\t\t\thtml += monthHtml + (secondary || !(changeMonth && changeYear) ? \"&#xa0;\" : \"\");\r\n\t\t}\r\n\r\n\t\t// year selection\r\n\t\tif ( !inst.yearshtml ) {\r\n\t\t\tinst.yearshtml = \"\";\r\n\t\t\tif (secondary || !changeYear) {\r\n\t\t\t\thtml += \"<span class='ui-datepicker-year'>\" + drawYear + \"</span>\";\r\n\t\t\t} else {\r\n\t\t\t\t// determine range of years to display\r\n\t\t\t\tyears = this._get(inst, \"yearRange\").split(\":\");\r\n\t\t\t\tthisYear = new Date().getFullYear();\r\n\t\t\t\tdetermineYear = function(value) {\r\n\t\t\t\t\tvar year = (value.match(/c[+\\-].*/) ? drawYear + parseInt(value.substring(1), 10) :\r\n\t\t\t\t\t\t(value.match(/[+\\-].*/) ? thisYear + parseInt(value, 10) :\r\n\t\t\t\t\t\tparseInt(value, 10)));\r\n\t\t\t\t\treturn (isNaN(year) ? thisYear : year);\r\n\t\t\t\t};\r\n\t\t\t\tyear = determineYear(years[0]);\r\n\t\t\t\tendYear = Math.max(year, determineYear(years[1] || \"\"));\r\n\t\t\t\tyear = (minDate ? Math.max(year, minDate.getFullYear()) : year);\r\n\t\t\t\tendYear = (maxDate ? Math.min(endYear, maxDate.getFullYear()) : endYear);\r\n\t\t\t\tinst.yearshtml += \"<select class='ui-datepicker-year' data-handler='selectYear' data-event='change'>\";\r\n\t\t\t\tfor (; year <= endYear; year++) {\r\n\t\t\t\t\tinst.yearshtml += \"<option value='\" + year + \"'\" +\r\n\t\t\t\t\t\t(year === drawYear ? \" selected='selected'\" : \"\") +\r\n\t\t\t\t\t\t\">\" + year + \"</option>\";\r\n\t\t\t\t}\r\n\t\t\t\tinst.yearshtml += \"</select>\";\r\n\r\n\t\t\t\thtml += inst.yearshtml;\r\n\t\t\t\tinst.yearshtml = null;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\thtml += this._get(inst, \"yearSuffix\");\r\n\t\tif (showMonthAfterYear) {\r\n\t\t\thtml += (secondary || !(changeMonth && changeYear) ? \"&#xa0;\" : \"\") + monthHtml;\r\n\t\t}\r\n\t\thtml += \"</div>\"; // Close datepicker_header\r\n\t\treturn html;\r\n\t},\r\n\r\n\t/* Adjust one of the date sub-fields. */\r\n\t_adjustInstDate: function(inst, offset, period) {\r\n\t\tvar year = inst.drawYear + (period === \"Y\" ? offset : 0),\r\n\t\t\tmonth = inst.drawMonth + (period === \"M\" ? offset : 0),\r\n\t\t\tday = Math.min(inst.selectedDay, this._getDaysInMonth(year, month)) + (period === \"D\" ? offset : 0),\r\n\t\t\tdate = this._restrictMinMax(inst, this._daylightSavingAdjust(new Date(year, month, day)));\r\n\r\n\t\tinst.selectedDay = date.getDate();\r\n\t\tinst.drawMonth = inst.selectedMonth = date.getMonth();\r\n\t\tinst.drawYear = inst.selectedYear = date.getFullYear();\r\n\t\tif (period === \"M\" || period === \"Y\") {\r\n\t\t\tthis._notifyChange(inst);\r\n\t\t}\r\n\t},\r\n\r\n\t/* Ensure a date is within any min/max bounds. */\r\n\t_restrictMinMax: function(inst, date) {\r\n\t\tvar minDate = this._getMinMaxDate(inst, \"min\"),\r\n\t\t\tmaxDate = this._getMinMaxDate(inst, \"max\"),\r\n\t\t\tnewDate = (minDate && date < minDate ? minDate : date);\r\n\t\treturn (maxDate && newDate > maxDate ? maxDate : newDate);\r\n\t},\r\n\r\n\t/* Notify change of month/year. */\r\n\t_notifyChange: function(inst) {\r\n\t\tvar onChange = this._get(inst, \"onChangeMonthYear\");\r\n\t\tif (onChange) {\r\n\t\t\tonChange.apply((inst.input ? inst.input[0] : null),\r\n\t\t\t\t[inst.selectedYear, inst.selectedMonth + 1, inst]);\r\n\t\t}\r\n\t},\r\n\r\n\t/* Determine the number of months to show. */\r\n\t_getNumberOfMonths: function(inst) {\r\n\t\tvar numMonths = this._get(inst, \"numberOfMonths\");\r\n\t\treturn (numMonths == null ? [1, 1] : (typeof numMonths === \"number\" ? [1, numMonths] : numMonths));\r\n\t},\r\n\r\n\t/* Determine the current maximum date - ensure no time components are set. */\r\n\t_getMinMaxDate: function(inst, minMax) {\r\n\t\treturn this._determineDate(inst, this._get(inst, minMax + \"Date\"), null);\r\n\t},\r\n\r\n\t/* Find the number of days in a given month. */\r\n\t_getDaysInMonth: function(year, month) {\r\n\t\treturn 32 - this._daylightSavingAdjust(new Date(year, month, 32)).getDate();\r\n\t},\r\n\r\n\t/* Find the day of the week of the first of a month. */\r\n\t_getFirstDayOfMonth: function(year, month) {\r\n\t\treturn new Date(year, month, 1).getDay();\r\n\t},\r\n\r\n\t/* Determines if we should allow a \"next/prev\" month display change. */\r\n\t_canAdjustMonth: function(inst, offset, curYear, curMonth) {\r\n\t\tvar numMonths = this._getNumberOfMonths(inst),\r\n\t\t\tdate = this._daylightSavingAdjust(new Date(curYear,\r\n\t\t\tcurMonth + (offset < 0 ? offset : numMonths[0] * numMonths[1]), 1));\r\n\r\n\t\tif (offset < 0) {\r\n\t\t\tdate.setDate(this._getDaysInMonth(date.getFullYear(), date.getMonth()));\r\n\t\t}\r\n\t\treturn this._isInRange(inst, date);\r\n\t},\r\n\r\n\t/* Is the given date in the accepted range? */\r\n\t_isInRange: function(inst, date) {\r\n\t\tvar yearSplit, currentYear,\r\n\t\t\tminDate = this._getMinMaxDate(inst, \"min\"),\r\n\t\t\tmaxDate = this._getMinMaxDate(inst, \"max\"),\r\n\t\t\tminYear = null,\r\n\t\t\tmaxYear = null,\r\n\t\t\tyears = this._get(inst, \"yearRange\");\r\n\t\t\tif (years){\r\n\t\t\t\tyearSplit = years.split(\":\");\r\n\t\t\t\tcurrentYear = new Date().getFullYear();\r\n\t\t\t\tminYear = parseInt(yearSplit[0], 10);\r\n\t\t\t\tmaxYear = parseInt(yearSplit[1], 10);\r\n\t\t\t\tif ( yearSplit[0].match(/[+\\-].*/) ) {\r\n\t\t\t\t\tminYear += currentYear;\r\n\t\t\t\t}\r\n\t\t\t\tif ( yearSplit[1].match(/[+\\-].*/) ) {\r\n\t\t\t\t\tmaxYear += currentYear;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\treturn ((!minDate || date.getTime() >= minDate.getTime()) &&\r\n\t\t\t(!maxDate || date.getTime() <= maxDate.getTime()) &&\r\n\t\t\t(!minYear || date.getFullYear() >= minYear) &&\r\n\t\t\t(!maxYear || date.getFullYear() <= maxYear));\r\n\t},\r\n\r\n\t/* Provide the configuration settings for formatting/parsing. */\r\n\t_getFormatConfig: function(inst) {\r\n\t\tvar shortYearCutoff = this._get(inst, \"shortYearCutoff\");\r\n\t\tshortYearCutoff = (typeof shortYearCutoff !== \"string\" ? shortYearCutoff :\r\n\t\t\tnew Date().getFullYear() % 100 + parseInt(shortYearCutoff, 10));\r\n\t\treturn {shortYearCutoff: shortYearCutoff,\r\n\t\t\tdayNamesShort: this._get(inst, \"dayNamesShort\"), dayNames: this._get(inst, \"dayNames\"),\r\n\t\t\tmonthNamesShort: this._get(inst, \"monthNamesShort\"), monthNames: this._get(inst, \"monthNames\")};\r\n\t},\r\n\r\n\t/* Format the given date for display. */\r\n\t_formatDate: function(inst, day, month, year) {\r\n\t\tif (!day) {\r\n\t\t\tinst.currentDay = inst.selectedDay;\r\n\t\t\tinst.currentMonth = inst.selectedMonth;\r\n\t\t\tinst.currentYear = inst.selectedYear;\r\n\t\t}\r\n\t\tvar date = (day ? (typeof day === \"object\" ? day :\r\n\t\t\tthis._daylightSavingAdjust(new Date(year, month, day))) :\r\n\t\t\tthis._daylightSavingAdjust(new Date(inst.currentYear, inst.currentMonth, inst.currentDay)));\r\n\t\treturn this.formatDate(this._get(inst, \"dateFormat\"), date, this._getFormatConfig(inst));\r\n\t}\r\n});\r\n\r\n/*\r\n * Bind hover events for datepicker elements.\r\n * Done via delegate so the binding only occurs once in the lifetime of the parent div.\r\n * Global datepicker_instActive, set by _updateDatepicker allows the handlers to find their way back to the active picker.\r\n */\r\nfunction datepicker_bindHover(dpDiv) {\r\n\tvar selector = \"button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a\";\r\n\treturn dpDiv.delegate(selector, \"mouseout\", function() {\r\n\t\t\t$(this).removeClass(\"ui-state-hover\");\r\n\t\t\tif (this.className.indexOf(\"ui-datepicker-prev\") !== -1) {\r\n\t\t\t\t$(this).removeClass(\"ui-datepicker-prev-hover\");\r\n\t\t\t}\r\n\t\t\tif (this.className.indexOf(\"ui-datepicker-next\") !== -1) {\r\n\t\t\t\t$(this).removeClass(\"ui-datepicker-next-hover\");\r\n\t\t\t}\r\n\t\t})\r\n\t\t.delegate( selector, \"mouseover\", datepicker_handleMouseover );\r\n}\r\n\r\nfunction datepicker_handleMouseover() {\r\n\tif (!$.datepicker._isDisabledDatepicker( datepicker_instActive.inline? datepicker_instActive.dpDiv.parent()[0] : datepicker_instActive.input[0])) {\r\n\t\t$(this).parents(\".ui-datepicker-calendar\").find(\"a\").removeClass(\"ui-state-hover\");\r\n\t\t$(this).addClass(\"ui-state-hover\");\r\n\t\tif (this.className.indexOf(\"ui-datepicker-prev\") !== -1) {\r\n\t\t\t$(this).addClass(\"ui-datepicker-prev-hover\");\r\n\t\t}\r\n\t\tif (this.className.indexOf(\"ui-datepicker-next\") !== -1) {\r\n\t\t\t$(this).addClass(\"ui-datepicker-next-hover\");\r\n\t\t}\r\n\t}\r\n}\r\n\r\n/* jQuery extend now ignores nulls! */\r\nfunction datepicker_extendRemove(target, props) {\r\n\t$.extend(target, props);\r\n\tfor (var name in props) {\r\n\t\tif (props[name] == null) {\r\n\t\t\ttarget[name] = props[name];\r\n\t\t}\r\n\t}\r\n\treturn target;\r\n}\r\n\r\n/* Invoke the datepicker functionality.\r\n   @param  options  string - a command, optionally followed by additional parameters or\r\n\t\t\t\t\tObject - settings for attaching new datepicker functionality\r\n   @return  jQuery object */\r\n$.fn.datepicker = function(options){\r\n\r\n\t/* Verify an empty collection wasn't passed - Fixes #6976 */\r\n\tif ( !this.length ) {\r\n\t\treturn this;\r\n\t}\r\n\r\n\t/* Initialise the date picker. */\r\n\tif (!$.datepicker.initialized) {\r\n\t\t$(document).mousedown($.datepicker._checkExternalClick);\r\n\t\t$.datepicker.initialized = true;\r\n\t}\r\n\r\n\t/* Append datepicker main container to body if not exist. */\r\n\tif ($(\"#\"+$.datepicker._mainDivId).length === 0) {\r\n\t\t$(\"body\").append($.datepicker.dpDiv);\r\n\t}\r\n\r\n\tvar otherArgs = Array.prototype.slice.call(arguments, 1);\r\n\tif (typeof options === \"string\" && (options === \"isDisabled\" || options === \"getDate\" || options === \"widget\")) {\r\n\t\treturn $.datepicker[\"_\" + options + \"Datepicker\"].\r\n\t\t\tapply($.datepicker, [this[0]].concat(otherArgs));\r\n\t}\r\n\tif (options === \"option\" && arguments.length === 2 && typeof arguments[1] === \"string\") {\r\n\t\treturn $.datepicker[\"_\" + options + \"Datepicker\"].\r\n\t\t\tapply($.datepicker, [this[0]].concat(otherArgs));\r\n\t}\r\n\treturn this.each(function() {\r\n\t\ttypeof options === \"string\" ?\r\n\t\t\t$.datepicker[\"_\" + options + \"Datepicker\"].\r\n\t\t\t\tapply($.datepicker, [this].concat(otherArgs)) :\r\n\t\t\t$.datepicker._attachDatepicker(this, options);\r\n\t});\r\n};\r\n\r\n$.datepicker = new Datepicker(); // singleton instance\r\n$.datepicker.initialized = false;\r\n$.datepicker.uuid = new Date().getTime();\r\n$.datepicker.version = \"1.11.4\";\r\n\r\nvar datepicker = $.datepicker;\r\n\r\n\r\n/*!\r\n * jQuery UI Draggable 1.11.4\r\n * http://jqueryui.com\r\n *\r\n * Copyright jQuery Foundation and other contributors\r\n * Released under the MIT license.\r\n * http://jquery.org/license\r\n *\r\n * http://api.jqueryui.com/draggable/\r\n */\r\n\r\n\r\n$.widget(\"ui.draggable\", $.ui.mouse, {\r\n\tversion: \"1.11.4\",\r\n\twidgetEventPrefix: \"drag\",\r\n\toptions: {\r\n\t\taddClasses: true,\r\n\t\tappendTo: \"parent\",\r\n\t\taxis: false,\r\n\t\tconnectToSortable: false,\r\n\t\tcontainment: false,\r\n\t\tcursor: \"auto\",\r\n\t\tcursorAt: false,\r\n\t\tgrid: false,\r\n\t\thandle: false,\r\n\t\thelper: \"original\",\r\n\t\tiframeFix: false,\r\n\t\topacity: false,\r\n\t\trefreshPositions: false,\r\n\t\trevert: false,\r\n\t\trevertDuration: 500,\r\n\t\tscope: \"default\",\r\n\t\tscroll: true,\r\n\t\tscrollSensitivity: 20,\r\n\t\tscrollSpeed: 20,\r\n\t\tsnap: false,\r\n\t\tsnapMode: \"both\",\r\n\t\tsnapTolerance: 20,\r\n\t\tstack: false,\r\n\t\tzIndex: false,\r\n\r\n\t\t// callbacks\r\n\t\tdrag: null,\r\n\t\tstart: null,\r\n\t\tstop: null\r\n\t},\r\n\t_create: function() {\r\n\r\n\t\tif ( this.options.helper === \"original\" ) {\r\n\t\t\tthis._setPositionRelative();\r\n\t\t}\r\n\t\tif (this.options.addClasses){\r\n\t\t\tthis.element.addClass(\"ui-draggable\");\r\n\t\t}\r\n\t\tif (this.options.disabled){\r\n\t\t\tthis.element.addClass(\"ui-draggable-disabled\");\r\n\t\t}\r\n\t\tthis._setHandleClassName();\r\n\r\n\t\tthis._mouseInit();\r\n\t},\r\n\r\n\t_setOption: function( key, value ) {\r\n\t\tthis._super( key, value );\r\n\t\tif ( key === \"handle\" ) {\r\n\t\t\tthis._removeHandleClassName();\r\n\t\t\tthis._setHandleClassName();\r\n\t\t}\r\n\t},\r\n\r\n\t_destroy: function() {\r\n\t\tif ( ( this.helper || this.element ).is( \".ui-draggable-dragging\" ) ) {\r\n\t\t\tthis.destroyOnClear = true;\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tthis.element.removeClass( \"ui-draggable ui-draggable-dragging ui-draggable-disabled\" );\r\n\t\tthis._removeHandleClassName();\r\n\t\tthis._mouseDestroy();\r\n\t},\r\n\r\n\t_mouseCapture: function(event) {\r\n\t\tvar o = this.options;\r\n\r\n\t\tthis._blurActiveElement( event );\r\n\r\n\t\t// among others, prevent a drag on a resizable-handle\r\n\t\tif (this.helper || o.disabled || $(event.target).closest(\".ui-resizable-handle\").length > 0) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\r\n\t\t//Quit if we're not on a valid handle\r\n\t\tthis.handle = this._getHandle(event);\r\n\t\tif (!this.handle) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\r\n\t\tthis._blockFrames( o.iframeFix === true ? \"iframe\" : o.iframeFix );\r\n\r\n\t\treturn true;\r\n\r\n\t},\r\n\r\n\t_blockFrames: function( selector ) {\r\n\t\tthis.iframeBlocks = this.document.find( selector ).map(function() {\r\n\t\t\tvar iframe = $( this );\r\n\r\n\t\t\treturn $( \"<div>\" )\r\n\t\t\t\t.css( \"position\", \"absolute\" )\r\n\t\t\t\t.appendTo( iframe.parent() )\r\n\t\t\t\t.outerWidth( iframe.outerWidth() )\r\n\t\t\t\t.outerHeight( iframe.outerHeight() )\r\n\t\t\t\t.offset( iframe.offset() )[ 0 ];\r\n\t\t});\r\n\t},\r\n\r\n\t_unblockFrames: function() {\r\n\t\tif ( this.iframeBlocks ) {\r\n\t\t\tthis.iframeBlocks.remove();\r\n\t\t\tdelete this.iframeBlocks;\r\n\t\t}\r\n\t},\r\n\r\n\t_blurActiveElement: function( event ) {\r\n\t\tvar document = this.document[ 0 ];\r\n\r\n\t\t// Only need to blur if the event occurred on the draggable itself, see #10527\r\n\t\tif ( !this.handleElement.is( event.target ) ) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\t// support: IE9\r\n\t\t// IE9 throws an \"Unspecified error\" accessing document.activeElement from an <iframe>\r\n\t\ttry {\r\n\r\n\t\t\t// Support: IE9, IE10\r\n\t\t\t// If the <body> is blurred, IE will switch windows, see #9520\r\n\t\t\tif ( document.activeElement && document.activeElement.nodeName.toLowerCase() !== \"body\" ) {\r\n\r\n\t\t\t\t// Blur any element that currently has focus, see #4261\r\n\t\t\t\t$( document.activeElement ).blur();\r\n\t\t\t}\r\n\t\t} catch ( error ) {}\r\n\t},\r\n\r\n\t_mouseStart: function(event) {\r\n\r\n\t\tvar o = this.options;\r\n\r\n\t\t//Create and append the visible helper\r\n\t\tthis.helper = this._createHelper(event);\r\n\r\n\t\tthis.helper.addClass(\"ui-draggable-dragging\");\r\n\r\n\t\t//Cache the helper size\r\n\t\tthis._cacheHelperProportions();\r\n\r\n\t\t//If ddmanager is used for droppables, set the global draggable\r\n\t\tif ($.ui.ddmanager) {\r\n\t\t\t$.ui.ddmanager.current = this;\r\n\t\t}\r\n\r\n\t\t/*\r\n\t\t * - Position generation -\r\n\t\t * This block generates everything position related - it's the core of draggables.\r\n\t\t */\r\n\r\n\t\t//Cache the margins of the original element\r\n\t\tthis._cacheMargins();\r\n\r\n\t\t//Store the helper's css position\r\n\t\tthis.cssPosition = this.helper.css( \"position\" );\r\n\t\tthis.scrollParent = this.helper.scrollParent( true );\r\n\t\tthis.offsetParent = this.helper.offsetParent();\r\n\t\tthis.hasFixedAncestor = this.helper.parents().filter(function() {\r\n\t\t\t\treturn $( this ).css( \"position\" ) === \"fixed\";\r\n\t\t\t}).length > 0;\r\n\r\n\t\t//The element's absolute position on the page minus margins\r\n\t\tthis.positionAbs = this.element.offset();\r\n\t\tthis._refreshOffsets( event );\r\n\r\n\t\t//Generate the original position\r\n\t\tthis.originalPosition = this.position = this._generatePosition( event, false );\r\n\t\tthis.originalPageX = event.pageX;\r\n\t\tthis.originalPageY = event.pageY;\r\n\r\n\t\t//Adjust the mouse offset relative to the helper if \"cursorAt\" is supplied\r\n\t\t(o.cursorAt && this._adjustOffsetFromHelper(o.cursorAt));\r\n\r\n\t\t//Set a containment if given in the options\r\n\t\tthis._setContainment();\r\n\r\n\t\t//Trigger event + callbacks\r\n\t\tif (this._trigger(\"start\", event) === false) {\r\n\t\t\tthis._clear();\r\n\t\t\treturn false;\r\n\t\t}\r\n\r\n\t\t//Recache the helper size\r\n\t\tthis._cacheHelperProportions();\r\n\r\n\t\t//Prepare the droppable offsets\r\n\t\tif ($.ui.ddmanager && !o.dropBehaviour) {\r\n\t\t\t$.ui.ddmanager.prepareOffsets(this, event);\r\n\t\t}\r\n\r\n\t\t// Reset helper's right/bottom css if they're set and set explicit width/height instead\r\n\t\t// as this prevents resizing of elements with right/bottom set (see #7772)\r\n\t\tthis._normalizeRightBottom();\r\n\r\n\t\tthis._mouseDrag(event, true); //Execute the drag once - this causes the helper not to be visible before getting its correct position\r\n\r\n\t\t//If the ddmanager is used for droppables, inform the manager that dragging has started (see #5003)\r\n\t\tif ( $.ui.ddmanager ) {\r\n\t\t\t$.ui.ddmanager.dragStart(this, event);\r\n\t\t}\r\n\r\n\t\treturn true;\r\n\t},\r\n\r\n\t_refreshOffsets: function( event ) {\r\n\t\tthis.offset = {\r\n\t\t\ttop: this.positionAbs.top - this.margins.top,\r\n\t\t\tleft: this.positionAbs.left - this.margins.left,\r\n\t\t\tscroll: false,\r\n\t\t\tparent: this._getParentOffset(),\r\n\t\t\trelative: this._getRelativeOffset()\r\n\t\t};\r\n\r\n\t\tthis.offset.click = {\r\n\t\t\tleft: event.pageX - this.offset.left,\r\n\t\t\ttop: event.pageY - this.offset.top\r\n\t\t};\r\n\t},\r\n\r\n\t_mouseDrag: function(event, noPropagation) {\r\n\t\t// reset any necessary cached properties (see #5009)\r\n\t\tif ( this.hasFixedAncestor ) {\r\n\t\t\tthis.offset.parent = this._getParentOffset();\r\n\t\t}\r\n\r\n\t\t//Compute the helpers position\r\n\t\tthis.position = this._generatePosition( event, true );\r\n\t\tthis.positionAbs = this._convertPositionTo(\"absolute\");\r\n\r\n\t\t//Call plugins and callbacks and use the resulting position if something is returned\r\n\t\tif (!noPropagation) {\r\n\t\t\tvar ui = this._uiHash();\r\n\t\t\tif (this._trigger(\"drag\", event, ui) === false) {\r\n\t\t\t\tthis._mouseUp({});\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\t\t\tthis.position = ui.position;\r\n\t\t}\r\n\r\n\t\tthis.helper[ 0 ].style.left = this.position.left + \"px\";\r\n\t\tthis.helper[ 0 ].style.top = this.position.top + \"px\";\r\n\r\n\t\tif ($.ui.ddmanager) {\r\n\t\t\t$.ui.ddmanager.drag(this, event);\r\n\t\t}\r\n\r\n\t\treturn false;\r\n\t},\r\n\r\n\t_mouseStop: function(event) {\r\n\r\n\t\t//If we are using droppables, inform the manager about the drop\r\n\t\tvar that = this,\r\n\t\t\tdropped = false;\r\n\t\tif ($.ui.ddmanager && !this.options.dropBehaviour) {\r\n\t\t\tdropped = $.ui.ddmanager.drop(this, event);\r\n\t\t}\r\n\r\n\t\t//if a drop comes from outside (a sortable)\r\n\t\tif (this.dropped) {\r\n\t\t\tdropped = this.dropped;\r\n\t\t\tthis.dropped = false;\r\n\t\t}\r\n\r\n\t\tif ((this.options.revert === \"invalid\" && !dropped) || (this.options.revert === \"valid\" && dropped) || this.options.revert === true || ($.isFunction(this.options.revert) && this.options.revert.call(this.element, dropped))) {\r\n\t\t\t$(this.helper).animate(this.originalPosition, parseInt(this.options.revertDuration, 10), function() {\r\n\t\t\t\tif (that._trigger(\"stop\", event) !== false) {\r\n\t\t\t\t\tthat._clear();\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t} else {\r\n\t\t\tif (this._trigger(\"stop\", event) !== false) {\r\n\t\t\t\tthis._clear();\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn false;\r\n\t},\r\n\r\n\t_mouseUp: function( event ) {\r\n\t\tthis._unblockFrames();\r\n\r\n\t\t//If the ddmanager is used for droppables, inform the manager that dragging has stopped (see #5003)\r\n\t\tif ( $.ui.ddmanager ) {\r\n\t\t\t$.ui.ddmanager.dragStop(this, event);\r\n\t\t}\r\n\r\n\t\t// Only need to focus if the event occurred on the draggable itself, see #10527\r\n\t\tif ( this.handleElement.is( event.target ) ) {\r\n\t\t\t// The interaction is over; whether or not the click resulted in a drag, focus the element\r\n\t\t\tthis.element.focus();\r\n\t\t}\r\n\r\n\t\treturn $.ui.mouse.prototype._mouseUp.call(this, event);\r\n\t},\r\n\r\n\tcancel: function() {\r\n\r\n\t\tif (this.helper.is(\".ui-draggable-dragging\")) {\r\n\t\t\tthis._mouseUp({});\r\n\t\t} else {\r\n\t\t\tthis._clear();\r\n\t\t}\r\n\r\n\t\treturn this;\r\n\r\n\t},\r\n\r\n\t_getHandle: function(event) {\r\n\t\treturn this.options.handle ?\r\n\t\t\t!!$( event.target ).closest( this.element.find( this.options.handle ) ).length :\r\n\t\t\ttrue;\r\n\t},\r\n\r\n\t_setHandleClassName: function() {\r\n\t\tthis.handleElement = this.options.handle ?\r\n\t\t\tthis.element.find( this.options.handle ) : this.element;\r\n\t\tthis.handleElement.addClass( \"ui-draggable-handle\" );\r\n\t},\r\n\r\n\t_removeHandleClassName: function() {\r\n\t\tthis.handleElement.removeClass( \"ui-draggable-handle\" );\r\n\t},\r\n\r\n\t_createHelper: function(event) {\r\n\r\n\t\tvar o = this.options,\r\n\t\t\thelperIsFunction = $.isFunction( o.helper ),\r\n\t\t\thelper = helperIsFunction ?\r\n\t\t\t\t$( o.helper.apply( this.element[ 0 ], [ event ] ) ) :\r\n\t\t\t\t( o.helper === \"clone\" ?\r\n\t\t\t\t\tthis.element.clone().removeAttr( \"id\" ) :\r\n\t\t\t\t\tthis.element );\r\n\r\n\t\tif (!helper.parents(\"body\").length) {\r\n\t\t\thelper.appendTo((o.appendTo === \"parent\" ? this.element[0].parentNode : o.appendTo));\r\n\t\t}\r\n\r\n\t\t// http://bugs.jqueryui.com/ticket/9446\r\n\t\t// a helper function can return the original element\r\n\t\t// which wouldn't have been set to relative in _create\r\n\t\tif ( helperIsFunction && helper[ 0 ] === this.element[ 0 ] ) {\r\n\t\t\tthis._setPositionRelative();\r\n\t\t}\r\n\r\n\t\tif (helper[0] !== this.element[0] && !(/(fixed|absolute)/).test(helper.css(\"position\"))) {\r\n\t\t\thelper.css(\"position\", \"absolute\");\r\n\t\t}\r\n\r\n\t\treturn helper;\r\n\r\n\t},\r\n\r\n\t_setPositionRelative: function() {\r\n\t\tif ( !( /^(?:r|a|f)/ ).test( this.element.css( \"position\" ) ) ) {\r\n\t\t\tthis.element[ 0 ].style.position = \"relative\";\r\n\t\t}\r\n\t},\r\n\r\n\t_adjustOffsetFromHelper: function(obj) {\r\n\t\tif (typeof obj === \"string\") {\r\n\t\t\tobj = obj.split(\" \");\r\n\t\t}\r\n\t\tif ($.isArray(obj)) {\r\n\t\t\tobj = { left: +obj[0], top: +obj[1] || 0 };\r\n\t\t}\r\n\t\tif (\"left\" in obj) {\r\n\t\t\tthis.offset.click.left = obj.left + this.margins.left;\r\n\t\t}\r\n\t\tif (\"right\" in obj) {\r\n\t\t\tthis.offset.click.left = this.helperProportions.width - obj.right + this.margins.left;\r\n\t\t}\r\n\t\tif (\"top\" in obj) {\r\n\t\t\tthis.offset.click.top = obj.top + this.margins.top;\r\n\t\t}\r\n\t\tif (\"bottom\" in obj) {\r\n\t\t\tthis.offset.click.top = this.helperProportions.height - obj.bottom + this.margins.top;\r\n\t\t}\r\n\t},\r\n\r\n\t_isRootNode: function( element ) {\r\n\t\treturn ( /(html|body)/i ).test( element.tagName ) || element === this.document[ 0 ];\r\n\t},\r\n\r\n\t_getParentOffset: function() {\r\n\r\n\t\t//Get the offsetParent and cache its position\r\n\t\tvar po = this.offsetParent.offset(),\r\n\t\t\tdocument = this.document[ 0 ];\r\n\r\n\t\t// This is a special case where we need to modify a offset calculated on start, since the following happened:\r\n\t\t// 1. The position of the helper is absolute, so it's position is calculated based on the next positioned parent\r\n\t\t// 2. The actual offset parent is a child of the scroll parent, and the scroll parent isn't the document, which means that\r\n\t\t//    the scroll is included in the initial calculation of the offset of the parent, and never recalculated upon drag\r\n\t\tif (this.cssPosition === \"absolute\" && this.scrollParent[0] !== document && $.contains(this.scrollParent[0], this.offsetParent[0])) {\r\n\t\t\tpo.left += this.scrollParent.scrollLeft();\r\n\t\t\tpo.top += this.scrollParent.scrollTop();\r\n\t\t}\r\n\r\n\t\tif ( this._isRootNode( this.offsetParent[ 0 ] ) ) {\r\n\t\t\tpo = { top: 0, left: 0 };\r\n\t\t}\r\n\r\n\t\treturn {\r\n\t\t\ttop: po.top + (parseInt(this.offsetParent.css(\"borderTopWidth\"), 10) || 0),\r\n\t\t\tleft: po.left + (parseInt(this.offsetParent.css(\"borderLeftWidth\"), 10) || 0)\r\n\t\t};\r\n\r\n\t},\r\n\r\n\t_getRelativeOffset: function() {\r\n\t\tif ( this.cssPosition !== \"relative\" ) {\r\n\t\t\treturn { top: 0, left: 0 };\r\n\t\t}\r\n\r\n\t\tvar p = this.element.position(),\r\n\t\t\tscrollIsRootNode = this._isRootNode( this.scrollParent[ 0 ] );\r\n\r\n\t\treturn {\r\n\t\t\ttop: p.top - ( parseInt(this.helper.css( \"top\" ), 10) || 0 ) + ( !scrollIsRootNode ? this.scrollParent.scrollTop() : 0 ),\r\n\t\t\tleft: p.left - ( parseInt(this.helper.css( \"left\" ), 10) || 0 ) + ( !scrollIsRootNode ? this.scrollParent.scrollLeft() : 0 )\r\n\t\t};\r\n\r\n\t},\r\n\r\n\t_cacheMargins: function() {\r\n\t\tthis.margins = {\r\n\t\t\tleft: (parseInt(this.element.css(\"marginLeft\"), 10) || 0),\r\n\t\t\ttop: (parseInt(this.element.css(\"marginTop\"), 10) || 0),\r\n\t\t\tright: (parseInt(this.element.css(\"marginRight\"), 10) || 0),\r\n\t\t\tbottom: (parseInt(this.element.css(\"marginBottom\"), 10) || 0)\r\n\t\t};\r\n\t},\r\n\r\n\t_cacheHelperProportions: function() {\r\n\t\tthis.helperProportions = {\r\n\t\t\twidth: this.helper.outerWidth(),\r\n\t\t\theight: this.helper.outerHeight()\r\n\t\t};\r\n\t},\r\n\r\n\t_setContainment: function() {\r\n\r\n\t\tvar isUserScrollable, c, ce,\r\n\t\t\to = this.options,\r\n\t\t\tdocument = this.document[ 0 ];\r\n\r\n\t\tthis.relativeContainer = null;\r\n\r\n\t\tif ( !o.containment ) {\r\n\t\t\tthis.containment = null;\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tif ( o.containment === \"window\" ) {\r\n\t\t\tthis.containment = [\r\n\t\t\t\t$( window ).scrollLeft() - this.offset.relative.left - this.offset.parent.left,\r\n\t\t\t\t$( window ).scrollTop() - this.offset.relative.top - this.offset.parent.top,\r\n\t\t\t\t$( window ).scrollLeft() + $( window ).width() - this.helperProportions.width - this.margins.left,\r\n\t\t\t\t$( window ).scrollTop() + ( $( window ).height() || document.body.parentNode.scrollHeight ) - this.helperProportions.height - this.margins.top\r\n\t\t\t];\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tif ( o.containment === \"document\") {\r\n\t\t\tthis.containment = [\r\n\t\t\t\t0,\r\n\t\t\t\t0,\r\n\t\t\t\t$( document ).width() - this.helperProportions.width - this.margins.left,\r\n\t\t\t\t( $( document ).height() || document.body.parentNode.scrollHeight ) - this.helperProportions.height - this.margins.top\r\n\t\t\t];\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tif ( o.containment.constructor === Array ) {\r\n\t\t\tthis.containment = o.containment;\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tif ( o.containment === \"parent\" ) {\r\n\t\t\to.containment = this.helper[ 0 ].parentNode;\r\n\t\t}\r\n\r\n\t\tc = $( o.containment );\r\n\t\tce = c[ 0 ];\r\n\r\n\t\tif ( !ce ) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tisUserScrollable = /(scroll|auto)/.test( c.css( \"overflow\" ) );\r\n\r\n\t\tthis.containment = [\r\n\t\t\t( parseInt( c.css( \"borderLeftWidth\" ), 10 ) || 0 ) + ( parseInt( c.css( \"paddingLeft\" ), 10 ) || 0 ),\r\n\t\t\t( parseInt( c.css( \"borderTopWidth\" ), 10 ) || 0 ) + ( parseInt( c.css( \"paddingTop\" ), 10 ) || 0 ),\r\n\t\t\t( isUserScrollable ? Math.max( ce.scrollWidth, ce.offsetWidth ) : ce.offsetWidth ) -\r\n\t\t\t\t( parseInt( c.css( \"borderRightWidth\" ), 10 ) || 0 ) -\r\n\t\t\t\t( parseInt( c.css( \"paddingRight\" ), 10 ) || 0 ) -\r\n\t\t\t\tthis.helperProportions.width -\r\n\t\t\t\tthis.margins.left -\r\n\t\t\t\tthis.margins.right,\r\n\t\t\t( isUserScrollable ? Math.max( ce.scrollHeight, ce.offsetHeight ) : ce.offsetHeight ) -\r\n\t\t\t\t( parseInt( c.css( \"borderBottomWidth\" ), 10 ) || 0 ) -\r\n\t\t\t\t( parseInt( c.css( \"paddingBottom\" ), 10 ) || 0 ) -\r\n\t\t\t\tthis.helperProportions.height -\r\n\t\t\t\tthis.margins.top -\r\n\t\t\t\tthis.margins.bottom\r\n\t\t];\r\n\t\tthis.relativeContainer = c;\r\n\t},\r\n\r\n\t_convertPositionTo: function(d, pos) {\r\n\r\n\t\tif (!pos) {\r\n\t\t\tpos = this.position;\r\n\t\t}\r\n\r\n\t\tvar mod = d === \"absolute\" ? 1 : -1,\r\n\t\t\tscrollIsRootNode = this._isRootNode( this.scrollParent[ 0 ] );\r\n\r\n\t\treturn {\r\n\t\t\ttop: (\r\n\t\t\t\tpos.top\t+\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t// The absolute mouse position\r\n\t\t\t\tthis.offset.relative.top * mod +\t\t\t\t\t\t\t\t\t\t// Only for relative positioned nodes: Relative offset from element to offset parent\r\n\t\t\t\tthis.offset.parent.top * mod -\t\t\t\t\t\t\t\t\t\t// The offsetParent's offset without borders (offset + border)\r\n\t\t\t\t( ( this.cssPosition === \"fixed\" ? -this.offset.scroll.top : ( scrollIsRootNode ? 0 : this.offset.scroll.top ) ) * mod)\r\n\t\t\t),\r\n\t\t\tleft: (\r\n\t\t\t\tpos.left +\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t// The absolute mouse position\r\n\t\t\t\tthis.offset.relative.left * mod +\t\t\t\t\t\t\t\t\t\t// Only for relative positioned nodes: Relative offset from element to offset parent\r\n\t\t\t\tthis.offset.parent.left * mod\t-\t\t\t\t\t\t\t\t\t\t// The offsetParent's offset without borders (offset + border)\r\n\t\t\t\t( ( this.cssPosition === \"fixed\" ? -this.offset.scroll.left : ( scrollIsRootNode ? 0 : this.offset.scroll.left ) ) * mod)\r\n\t\t\t)\r\n\t\t};\r\n\r\n\t},\r\n\r\n\t_generatePosition: function( event, constrainPosition ) {\r\n\r\n\t\tvar containment, co, top, left,\r\n\t\t\to = this.options,\r\n\t\t\tscrollIsRootNode = this._isRootNode( this.scrollParent[ 0 ] ),\r\n\t\t\tpageX = event.pageX,\r\n\t\t\tpageY = event.pageY;\r\n\r\n\t\t// Cache the scroll\r\n\t\tif ( !scrollIsRootNode || !this.offset.scroll ) {\r\n\t\t\tthis.offset.scroll = {\r\n\t\t\t\ttop: this.scrollParent.scrollTop(),\r\n\t\t\t\tleft: this.scrollParent.scrollLeft()\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\t/*\r\n\t\t * - Position constraining -\r\n\t\t * Constrain the position to a mix of grid, containment.\r\n\t\t */\r\n\r\n\t\t// If we are not dragging yet, we won't check for options\r\n\t\tif ( constrainPosition ) {\r\n\t\t\tif ( this.containment ) {\r\n\t\t\t\tif ( this.relativeContainer ){\r\n\t\t\t\t\tco = this.relativeContainer.offset();\r\n\t\t\t\t\tcontainment = [\r\n\t\t\t\t\t\tthis.containment[ 0 ] + co.left,\r\n\t\t\t\t\t\tthis.containment[ 1 ] + co.top,\r\n\t\t\t\t\t\tthis.containment[ 2 ] + co.left,\r\n\t\t\t\t\t\tthis.containment[ 3 ] + co.top\r\n\t\t\t\t\t];\r\n\t\t\t\t} else {\r\n\t\t\t\t\tcontainment = this.containment;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (event.pageX - this.offset.click.left < containment[0]) {\r\n\t\t\t\t\tpageX = containment[0] + this.offset.click.left;\r\n\t\t\t\t}\r\n\t\t\t\tif (event.pageY - this.offset.click.top < containment[1]) {\r\n\t\t\t\t\tpageY = containment[1] + this.offset.click.top;\r\n\t\t\t\t}\r\n\t\t\t\tif (event.pageX - this.offset.click.left > containment[2]) {\r\n\t\t\t\t\tpageX = containment[2] + this.offset.click.left;\r\n\t\t\t\t}\r\n\t\t\t\tif (event.pageY - this.offset.click.top > containment[3]) {\r\n\t\t\t\t\tpageY = containment[3] + this.offset.click.top;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tif (o.grid) {\r\n\t\t\t\t//Check for grid elements set to 0 to prevent divide by 0 error causing invalid argument errors in IE (see ticket #6950)\r\n\t\t\t\ttop = o.grid[1] ? this.originalPageY + Math.round((pageY - this.originalPageY) / o.grid[1]) * o.grid[1] : this.originalPageY;\r\n\t\t\t\tpageY = containment ? ((top - this.offset.click.top >= containment[1] || top - this.offset.click.top > containment[3]) ? top : ((top - this.offset.click.top >= containment[1]) ? top - o.grid[1] : top + o.grid[1])) : top;\r\n\r\n\t\t\t\tleft = o.grid[0] ? this.originalPageX + Math.round((pageX - this.originalPageX) / o.grid[0]) * o.grid[0] : this.originalPageX;\r\n\t\t\t\tpageX = containment ? ((left - this.offset.click.left >= containment[0] || left - this.offset.click.left > containment[2]) ? left : ((left - this.offset.click.left >= containment[0]) ? left - o.grid[0] : left + o.grid[0])) : left;\r\n\t\t\t}\r\n\r\n\t\t\tif ( o.axis === \"y\" ) {\r\n\t\t\t\tpageX = this.originalPageX;\r\n\t\t\t}\r\n\r\n\t\t\tif ( o.axis === \"x\" ) {\r\n\t\t\t\tpageY = this.originalPageY;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn {\r\n\t\t\ttop: (\r\n\t\t\t\tpageY -\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t// The absolute mouse position\r\n\t\t\t\tthis.offset.click.top\t-\t\t\t\t\t\t\t\t\t\t\t\t// Click offset (relative to the element)\r\n\t\t\t\tthis.offset.relative.top -\t\t\t\t\t\t\t\t\t\t\t\t// Only for relative positioned nodes: Relative offset from element to offset parent\r\n\t\t\t\tthis.offset.parent.top +\t\t\t\t\t\t\t\t\t\t\t\t// The offsetParent's offset without borders (offset + border)\r\n\t\t\t\t( this.cssPosition === \"fixed\" ? -this.offset.scroll.top : ( scrollIsRootNode ? 0 : this.offset.scroll.top ) )\r\n\t\t\t),\r\n\t\t\tleft: (\r\n\t\t\t\tpageX -\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t// The absolute mouse position\r\n\t\t\t\tthis.offset.click.left -\t\t\t\t\t\t\t\t\t\t\t\t// Click offset (relative to the element)\r\n\t\t\t\tthis.offset.relative.left -\t\t\t\t\t\t\t\t\t\t\t\t// Only for relative positioned nodes: Relative offset from element to offset parent\r\n\t\t\t\tthis.offset.parent.left +\t\t\t\t\t\t\t\t\t\t\t\t// The offsetParent's offset without borders (offset + border)\r\n\t\t\t\t( this.cssPosition === \"fixed\" ? -this.offset.scroll.left : ( scrollIsRootNode ? 0 : this.offset.scroll.left ) )\r\n\t\t\t)\r\n\t\t};\r\n\r\n\t},\r\n\r\n\t_clear: function() {\r\n\t\tthis.helper.removeClass(\"ui-draggable-dragging\");\r\n\t\tif (this.helper[0] !== this.element[0] && !this.cancelHelperRemoval) {\r\n\t\t\tthis.helper.remove();\r\n\t\t}\r\n\t\tthis.helper = null;\r\n\t\tthis.cancelHelperRemoval = false;\r\n\t\tif ( this.destroyOnClear ) {\r\n\t\t\tthis.destroy();\r\n\t\t}\r\n\t},\r\n\r\n\t_normalizeRightBottom: function() {\r\n\t\tif ( this.options.axis !== \"y\" && this.helper.css( \"right\" ) !== \"auto\" ) {\r\n\t\t\tthis.helper.width( this.helper.width() );\r\n\t\t\tthis.helper.css( \"right\", \"auto\" );\r\n\t\t}\r\n\t\tif ( this.options.axis !== \"x\" && this.helper.css( \"bottom\" ) !== \"auto\" ) {\r\n\t\t\tthis.helper.height( this.helper.height() );\r\n\t\t\tthis.helper.css( \"bottom\", \"auto\" );\r\n\t\t}\r\n\t},\r\n\r\n\t// From now on bulk stuff - mainly helpers\r\n\r\n\t_trigger: function( type, event, ui ) {\r\n\t\tui = ui || this._uiHash();\r\n\t\t$.ui.plugin.call( this, type, [ event, ui, this ], true );\r\n\r\n\t\t// Absolute position and offset (see #6884 ) have to be recalculated after plugins\r\n\t\tif ( /^(drag|start|stop)/.test( type ) ) {\r\n\t\t\tthis.positionAbs = this._convertPositionTo( \"absolute\" );\r\n\t\t\tui.offset = this.positionAbs;\r\n\t\t}\r\n\t\treturn $.Widget.prototype._trigger.call( this, type, event, ui );\r\n\t},\r\n\r\n\tplugins: {},\r\n\r\n\t_uiHash: function() {\r\n\t\treturn {\r\n\t\t\thelper: this.helper,\r\n\t\t\tposition: this.position,\r\n\t\t\toriginalPosition: this.originalPosition,\r\n\t\t\toffset: this.positionAbs\r\n\t\t};\r\n\t}\r\n\r\n});\r\n\r\n$.ui.plugin.add( \"draggable\", \"connectToSortable\", {\r\n\tstart: function( event, ui, draggable ) {\r\n\t\tvar uiSortable = $.extend( {}, ui, {\r\n\t\t\titem: draggable.element\r\n\t\t});\r\n\r\n\t\tdraggable.sortables = [];\r\n\t\t$( draggable.options.connectToSortable ).each(function() {\r\n\t\t\tvar sortable = $( this ).sortable( \"instance\" );\r\n\r\n\t\t\tif ( sortable && !sortable.options.disabled ) {\r\n\t\t\t\tdraggable.sortables.push( sortable );\r\n\r\n\t\t\t\t// refreshPositions is called at drag start to refresh the containerCache\r\n\t\t\t\t// which is used in drag. This ensures it's initialized and synchronized\r\n\t\t\t\t// with any changes that might have happened on the page since initialization.\r\n\t\t\t\tsortable.refreshPositions();\r\n\t\t\t\tsortable._trigger(\"activate\", event, uiSortable);\r\n\t\t\t}\r\n\t\t});\r\n\t},\r\n\tstop: function( event, ui, draggable ) {\r\n\t\tvar uiSortable = $.extend( {}, ui, {\r\n\t\t\titem: draggable.element\r\n\t\t});\r\n\r\n\t\tdraggable.cancelHelperRemoval = false;\r\n\r\n\t\t$.each( draggable.sortables, function() {\r\n\t\t\tvar sortable = this;\r\n\r\n\t\t\tif ( sortable.isOver ) {\r\n\t\t\t\tsortable.isOver = 0;\r\n\r\n\t\t\t\t// Allow this sortable to handle removing the helper\r\n\t\t\t\tdraggable.cancelHelperRemoval = true;\r\n\t\t\t\tsortable.cancelHelperRemoval = false;\r\n\r\n\t\t\t\t// Use _storedCSS To restore properties in the sortable,\r\n\t\t\t\t// as this also handles revert (#9675) since the draggable\r\n\t\t\t\t// may have modified them in unexpected ways (#8809)\r\n\t\t\t\tsortable._storedCSS = {\r\n\t\t\t\t\tposition: sortable.placeholder.css( \"position\" ),\r\n\t\t\t\t\ttop: sortable.placeholder.css( \"top\" ),\r\n\t\t\t\t\tleft: sortable.placeholder.css( \"left\" )\r\n\t\t\t\t};\r\n\r\n\t\t\t\tsortable._mouseStop(event);\r\n\r\n\t\t\t\t// Once drag has ended, the sortable should return to using\r\n\t\t\t\t// its original helper, not the shared helper from draggable\r\n\t\t\t\tsortable.options.helper = sortable.options._helper;\r\n\t\t\t} else {\r\n\t\t\t\t// Prevent this Sortable from removing the helper.\r\n\t\t\t\t// However, don't set the draggable to remove the helper\r\n\t\t\t\t// either as another connected Sortable may yet handle the removal.\r\n\t\t\t\tsortable.cancelHelperRemoval = true;\r\n\r\n\t\t\t\tsortable._trigger( \"deactivate\", event, uiSortable );\r\n\t\t\t}\r\n\t\t});\r\n\t},\r\n\tdrag: function( event, ui, draggable ) {\r\n\t\t$.each( draggable.sortables, function() {\r\n\t\t\tvar innermostIntersecting = false,\r\n\t\t\t\tsortable = this;\r\n\r\n\t\t\t// Copy over variables that sortable's _intersectsWith uses\r\n\t\t\tsortable.positionAbs = draggable.positionAbs;\r\n\t\t\tsortable.helperProportions = draggable.helperProportions;\r\n\t\t\tsortable.offset.click = draggable.offset.click;\r\n\r\n\t\t\tif ( sortable._intersectsWith( sortable.containerCache ) ) {\r\n\t\t\t\tinnermostIntersecting = true;\r\n\r\n\t\t\t\t$.each( draggable.sortables, function() {\r\n\t\t\t\t\t// Copy over variables that sortable's _intersectsWith uses\r\n\t\t\t\t\tthis.positionAbs = draggable.positionAbs;\r\n\t\t\t\t\tthis.helperProportions = draggable.helperProportions;\r\n\t\t\t\t\tthis.offset.click = draggable.offset.click;\r\n\r\n\t\t\t\t\tif ( this !== sortable &&\r\n\t\t\t\t\t\t\tthis._intersectsWith( this.containerCache ) &&\r\n\t\t\t\t\t\t\t$.contains( sortable.element[ 0 ], this.element[ 0 ] ) ) {\r\n\t\t\t\t\t\tinnermostIntersecting = false;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\treturn innermostIntersecting;\r\n\t\t\t\t});\r\n\t\t\t}\r\n\r\n\t\t\tif ( innermostIntersecting ) {\r\n\t\t\t\t// If it intersects, we use a little isOver variable and set it once,\r\n\t\t\t\t// so that the move-in stuff gets fired only once.\r\n\t\t\t\tif ( !sortable.isOver ) {\r\n\t\t\t\t\tsortable.isOver = 1;\r\n\r\n\t\t\t\t\t// Store draggable's parent in case we need to reappend to it later.\r\n\t\t\t\t\tdraggable._parent = ui.helper.parent();\r\n\r\n\t\t\t\t\tsortable.currentItem = ui.helper\r\n\t\t\t\t\t\t.appendTo( sortable.element )\r\n\t\t\t\t\t\t.data( \"ui-sortable-item\", true );\r\n\r\n\t\t\t\t\t// Store helper option to later restore it\r\n\t\t\t\t\tsortable.options._helper = sortable.options.helper;\r\n\r\n\t\t\t\t\tsortable.options.helper = function() {\r\n\t\t\t\t\t\treturn ui.helper[ 0 ];\r\n\t\t\t\t\t};\r\n\r\n\t\t\t\t\t// Fire the start events of the sortable with our passed browser event,\r\n\t\t\t\t\t// and our own helper (so it doesn't create a new one)\r\n\t\t\t\t\tevent.target = sortable.currentItem[ 0 ];\r\n\t\t\t\t\tsortable._mouseCapture( event, true );\r\n\t\t\t\t\tsortable._mouseStart( event, true, true );\r\n\r\n\t\t\t\t\t// Because the browser event is way off the new appended portlet,\r\n\t\t\t\t\t// modify necessary variables to reflect the changes\r\n\t\t\t\t\tsortable.offset.click.top = draggable.offset.click.top;\r\n\t\t\t\t\tsortable.offset.click.left = draggable.offset.click.left;\r\n\t\t\t\t\tsortable.offset.parent.left -= draggable.offset.parent.left -\r\n\t\t\t\t\t\tsortable.offset.parent.left;\r\n\t\t\t\t\tsortable.offset.parent.top -= draggable.offset.parent.top -\r\n\t\t\t\t\t\tsortable.offset.parent.top;\r\n\r\n\t\t\t\t\tdraggable._trigger( \"toSortable\", event );\r\n\r\n\t\t\t\t\t// Inform draggable that the helper is in a valid drop zone,\r\n\t\t\t\t\t// used solely in the revert option to handle \"valid/invalid\".\r\n\t\t\t\t\tdraggable.dropped = sortable.element;\r\n\r\n\t\t\t\t\t// Need to refreshPositions of all sortables in the case that\r\n\t\t\t\t\t// adding to one sortable changes the location of the other sortables (#9675)\r\n\t\t\t\t\t$.each( draggable.sortables, function() {\r\n\t\t\t\t\t\tthis.refreshPositions();\r\n\t\t\t\t\t});\r\n\r\n\t\t\t\t\t// hack so receive/update callbacks work (mostly)\r\n\t\t\t\t\tdraggable.currentItem = draggable.element;\r\n\t\t\t\t\tsortable.fromOutside = draggable;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif ( sortable.currentItem ) {\r\n\t\t\t\t\tsortable._mouseDrag( event );\r\n\t\t\t\t\t// Copy the sortable's position because the draggable's can potentially reflect\r\n\t\t\t\t\t// a relative position, while sortable is always absolute, which the dragged\r\n\t\t\t\t\t// element has now become. (#8809)\r\n\t\t\t\t\tui.position = sortable.position;\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\t// If it doesn't intersect with the sortable, and it intersected before,\r\n\t\t\t\t// we fake the drag stop of the sortable, but make sure it doesn't remove\r\n\t\t\t\t// the helper by using cancelHelperRemoval.\r\n\t\t\t\tif ( sortable.isOver ) {\r\n\r\n\t\t\t\t\tsortable.isOver = 0;\r\n\t\t\t\t\tsortable.cancelHelperRemoval = true;\r\n\r\n\t\t\t\t\t// Calling sortable's mouseStop would trigger a revert,\r\n\t\t\t\t\t// so revert must be temporarily false until after mouseStop is called.\r\n\t\t\t\t\tsortable.options._revert = sortable.options.revert;\r\n\t\t\t\t\tsortable.options.revert = false;\r\n\r\n\t\t\t\t\tsortable._trigger( \"out\", event, sortable._uiHash( sortable ) );\r\n\t\t\t\t\tsortable._mouseStop( event, true );\r\n\r\n\t\t\t\t\t// restore sortable behaviors that were modfied\r\n\t\t\t\t\t// when the draggable entered the sortable area (#9481)\r\n\t\t\t\t\tsortable.options.revert = sortable.options._revert;\r\n\t\t\t\t\tsortable.options.helper = sortable.options._helper;\r\n\r\n\t\t\t\t\tif ( sortable.placeholder ) {\r\n\t\t\t\t\t\tsortable.placeholder.remove();\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\t// Restore and recalculate the draggable's offset considering the sortable\r\n\t\t\t\t\t// may have modified them in unexpected ways. (#8809, #10669)\r\n\t\t\t\t\tui.helper.appendTo( draggable._parent );\r\n\t\t\t\t\tdraggable._refreshOffsets( event );\r\n\t\t\t\t\tui.position = draggable._generatePosition( event, true );\r\n\r\n\t\t\t\t\tdraggable._trigger( \"fromSortable\", event );\r\n\r\n\t\t\t\t\t// Inform draggable that the helper is no longer in a valid drop zone\r\n\t\t\t\t\tdraggable.dropped = false;\r\n\r\n\t\t\t\t\t// Need to refreshPositions of all sortables just in case removing\r\n\t\t\t\t\t// from one sortable changes the location of other sortables (#9675)\r\n\t\t\t\t\t$.each( draggable.sortables, function() {\r\n\t\t\t\t\t\tthis.refreshPositions();\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n});\r\n\r\n$.ui.plugin.add(\"draggable\", \"cursor\", {\r\n\tstart: function( event, ui, instance ) {\r\n\t\tvar t = $( \"body\" ),\r\n\t\t\to = instance.options;\r\n\r\n\t\tif (t.css(\"cursor\")) {\r\n\t\t\to._cursor = t.css(\"cursor\");\r\n\t\t}\r\n\t\tt.css(\"cursor\", o.cursor);\r\n\t},\r\n\tstop: function( event, ui, instance ) {\r\n\t\tvar o = instance.options;\r\n\t\tif (o._cursor) {\r\n\t\t\t$(\"body\").css(\"cursor\", o._cursor);\r\n\t\t}\r\n\t}\r\n});\r\n\r\n$.ui.plugin.add(\"draggable\", \"opacity\", {\r\n\tstart: function( event, ui, instance ) {\r\n\t\tvar t = $( ui.helper ),\r\n\t\t\to = instance.options;\r\n\t\tif (t.css(\"opacity\")) {\r\n\t\t\to._opacity = t.css(\"opacity\");\r\n\t\t}\r\n\t\tt.css(\"opacity\", o.opacity);\r\n\t},\r\n\tstop: function( event, ui, instance ) {\r\n\t\tvar o = instance.options;\r\n\t\tif (o._opacity) {\r\n\t\t\t$(ui.helper).css(\"opacity\", o._opacity);\r\n\t\t}\r\n\t}\r\n});\r\n\r\n$.ui.plugin.add(\"draggable\", \"scroll\", {\r\n\tstart: function( event, ui, i ) {\r\n\t\tif ( !i.scrollParentNotHidden ) {\r\n\t\t\ti.scrollParentNotHidden = i.helper.scrollParent( false );\r\n\t\t}\r\n\r\n\t\tif ( i.scrollParentNotHidden[ 0 ] !== i.document[ 0 ] && i.scrollParentNotHidden[ 0 ].tagName !== \"HTML\" ) {\r\n\t\t\ti.overflowOffset = i.scrollParentNotHidden.offset();\r\n\t\t}\r\n\t},\r\n\tdrag: function( event, ui, i  ) {\r\n\r\n\t\tvar o = i.options,\r\n\t\t\tscrolled = false,\r\n\t\t\tscrollParent = i.scrollParentNotHidden[ 0 ],\r\n\t\t\tdocument = i.document[ 0 ];\r\n\r\n\t\tif ( scrollParent !== document && scrollParent.tagName !== \"HTML\" ) {\r\n\t\t\tif ( !o.axis || o.axis !== \"x\" ) {\r\n\t\t\t\tif ( ( i.overflowOffset.top + scrollParent.offsetHeight ) - event.pageY < o.scrollSensitivity ) {\r\n\t\t\t\t\tscrollParent.scrollTop = scrolled = scrollParent.scrollTop + o.scrollSpeed;\r\n\t\t\t\t} else if ( event.pageY - i.overflowOffset.top < o.scrollSensitivity ) {\r\n\t\t\t\t\tscrollParent.scrollTop = scrolled = scrollParent.scrollTop - o.scrollSpeed;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tif ( !o.axis || o.axis !== \"y\" ) {\r\n\t\t\t\tif ( ( i.overflowOffset.left + scrollParent.offsetWidth ) - event.pageX < o.scrollSensitivity ) {\r\n\t\t\t\t\tscrollParent.scrollLeft = scrolled = scrollParent.scrollLeft + o.scrollSpeed;\r\n\t\t\t\t} else if ( event.pageX - i.overflowOffset.left < o.scrollSensitivity ) {\r\n\t\t\t\t\tscrollParent.scrollLeft = scrolled = scrollParent.scrollLeft - o.scrollSpeed;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t} else {\r\n\r\n\t\t\tif (!o.axis || o.axis !== \"x\") {\r\n\t\t\t\tif (event.pageY - $(document).scrollTop() < o.scrollSensitivity) {\r\n\t\t\t\t\tscrolled = $(document).scrollTop($(document).scrollTop() - o.scrollSpeed);\r\n\t\t\t\t} else if ($(window).height() - (event.pageY - $(document).scrollTop()) < o.scrollSensitivity) {\r\n\t\t\t\t\tscrolled = $(document).scrollTop($(document).scrollTop() + o.scrollSpeed);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tif (!o.axis || o.axis !== \"y\") {\r\n\t\t\t\tif (event.pageX - $(document).scrollLeft() < o.scrollSensitivity) {\r\n\t\t\t\t\tscrolled = $(document).scrollLeft($(document).scrollLeft() - o.scrollSpeed);\r\n\t\t\t\t} else if ($(window).width() - (event.pageX - $(document).scrollLeft()) < o.scrollSensitivity) {\r\n\t\t\t\t\tscrolled = $(document).scrollLeft($(document).scrollLeft() + o.scrollSpeed);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t}\r\n\r\n\t\tif (scrolled !== false && $.ui.ddmanager && !o.dropBehaviour) {\r\n\t\t\t$.ui.ddmanager.prepareOffsets(i, event);\r\n\t\t}\r\n\r\n\t}\r\n});\r\n\r\n$.ui.plugin.add(\"draggable\", \"snap\", {\r\n\tstart: function( event, ui, i ) {\r\n\r\n\t\tvar o = i.options;\r\n\r\n\t\ti.snapElements = [];\r\n\r\n\t\t$(o.snap.constructor !== String ? ( o.snap.items || \":data(ui-draggable)\" ) : o.snap).each(function() {\r\n\t\t\tvar $t = $(this),\r\n\t\t\t\t$o = $t.offset();\r\n\t\t\tif (this !== i.element[0]) {\r\n\t\t\t\ti.snapElements.push({\r\n\t\t\t\t\titem: this,\r\n\t\t\t\t\twidth: $t.outerWidth(), height: $t.outerHeight(),\r\n\t\t\t\t\ttop: $o.top, left: $o.left\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t},\r\n\tdrag: function( event, ui, inst ) {\r\n\r\n\t\tvar ts, bs, ls, rs, l, r, t, b, i, first,\r\n\t\t\to = inst.options,\r\n\t\t\td = o.snapTolerance,\r\n\t\t\tx1 = ui.offset.left, x2 = x1 + inst.helperProportions.width,\r\n\t\t\ty1 = ui.offset.top, y2 = y1 + inst.helperProportions.height;\r\n\r\n\t\tfor (i = inst.snapElements.length - 1; i >= 0; i--){\r\n\r\n\t\t\tl = inst.snapElements[i].left - inst.margins.left;\r\n\t\t\tr = l + inst.snapElements[i].width;\r\n\t\t\tt = inst.snapElements[i].top - inst.margins.top;\r\n\t\t\tb = t + inst.snapElements[i].height;\r\n\r\n\t\t\tif ( x2 < l - d || x1 > r + d || y2 < t - d || y1 > b + d || !$.contains( inst.snapElements[ i ].item.ownerDocument, inst.snapElements[ i ].item ) ) {\r\n\t\t\t\tif (inst.snapElements[i].snapping) {\r\n\t\t\t\t\t(inst.options.snap.release && inst.options.snap.release.call(inst.element, event, $.extend(inst._uiHash(), { snapItem: inst.snapElements[i].item })));\r\n\t\t\t\t}\r\n\t\t\t\tinst.snapElements[i].snapping = false;\r\n\t\t\t\tcontinue;\r\n\t\t\t}\r\n\r\n\t\t\tif (o.snapMode !== \"inner\") {\r\n\t\t\t\tts = Math.abs(t - y2) <= d;\r\n\t\t\t\tbs = Math.abs(b - y1) <= d;\r\n\t\t\t\tls = Math.abs(l - x2) <= d;\r\n\t\t\t\trs = Math.abs(r - x1) <= d;\r\n\t\t\t\tif (ts) {\r\n\t\t\t\t\tui.position.top = inst._convertPositionTo(\"relative\", { top: t - inst.helperProportions.height, left: 0 }).top;\r\n\t\t\t\t}\r\n\t\t\t\tif (bs) {\r\n\t\t\t\t\tui.position.top = inst._convertPositionTo(\"relative\", { top: b, left: 0 }).top;\r\n\t\t\t\t}\r\n\t\t\t\tif (ls) {\r\n\t\t\t\t\tui.position.left = inst._convertPositionTo(\"relative\", { top: 0, left: l - inst.helperProportions.width }).left;\r\n\t\t\t\t}\r\n\t\t\t\tif (rs) {\r\n\t\t\t\t\tui.position.left = inst._convertPositionTo(\"relative\", { top: 0, left: r }).left;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tfirst = (ts || bs || ls || rs);\r\n\r\n\t\t\tif (o.snapMode !== \"outer\") {\r\n\t\t\t\tts = Math.abs(t - y1) <= d;\r\n\t\t\t\tbs = Math.abs(b - y2) <= d;\r\n\t\t\t\tls = Math.abs(l - x1) <= d;\r\n\t\t\t\trs = Math.abs(r - x2) <= d;\r\n\t\t\t\tif (ts) {\r\n\t\t\t\t\tui.position.top = inst._convertPositionTo(\"relative\", { top: t, left: 0 }).top;\r\n\t\t\t\t}\r\n\t\t\t\tif (bs) {\r\n\t\t\t\t\tui.position.top = inst._convertPositionTo(\"relative\", { top: b - inst.helperProportions.height, left: 0 }).top;\r\n\t\t\t\t}\r\n\t\t\t\tif (ls) {\r\n\t\t\t\t\tui.position.left = inst._convertPositionTo(\"relative\", { top: 0, left: l }).left;\r\n\t\t\t\t}\r\n\t\t\t\tif (rs) {\r\n\t\t\t\t\tui.position.left = inst._convertPositionTo(\"relative\", { top: 0, left: r - inst.helperProportions.width }).left;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tif (!inst.snapElements[i].snapping && (ts || bs || ls || rs || first)) {\r\n\t\t\t\t(inst.options.snap.snap && inst.options.snap.snap.call(inst.element, event, $.extend(inst._uiHash(), { snapItem: inst.snapElements[i].item })));\r\n\t\t\t}\r\n\t\t\tinst.snapElements[i].snapping = (ts || bs || ls || rs || first);\r\n\r\n\t\t}\r\n\r\n\t}\r\n});\r\n\r\n$.ui.plugin.add(\"draggable\", \"stack\", {\r\n\tstart: function( event, ui, instance ) {\r\n\t\tvar min,\r\n\t\t\to = instance.options,\r\n\t\t\tgroup = $.makeArray($(o.stack)).sort(function(a, b) {\r\n\t\t\t\treturn (parseInt($(a).css(\"zIndex\"), 10) || 0) - (parseInt($(b).css(\"zIndex\"), 10) || 0);\r\n\t\t\t});\r\n\r\n\t\tif (!group.length) { return; }\r\n\r\n\t\tmin = parseInt($(group[0]).css(\"zIndex\"), 10) || 0;\r\n\t\t$(group).each(function(i) {\r\n\t\t\t$(this).css(\"zIndex\", min + i);\r\n\t\t});\r\n\t\tthis.css(\"zIndex\", (min + group.length));\r\n\t}\r\n});\r\n\r\n$.ui.plugin.add(\"draggable\", \"zIndex\", {\r\n\tstart: function( event, ui, instance ) {\r\n\t\tvar t = $( ui.helper ),\r\n\t\t\to = instance.options;\r\n\r\n\t\tif (t.css(\"zIndex\")) {\r\n\t\t\to._zIndex = t.css(\"zIndex\");\r\n\t\t}\r\n\t\tt.css(\"zIndex\", o.zIndex);\r\n\t},\r\n\tstop: function( event, ui, instance ) {\r\n\t\tvar o = instance.options;\r\n\r\n\t\tif (o._zIndex) {\r\n\t\t\t$(ui.helper).css(\"zIndex\", o._zIndex);\r\n\t\t}\r\n\t}\r\n});\r\n\r\nvar draggable = $.ui.draggable;\r\n\r\n\r\n/*!\r\n * jQuery UI Resizable 1.11.4\r\n * http://jqueryui.com\r\n *\r\n * Copyright jQuery Foundation and other contributors\r\n * Released under the MIT license.\r\n * http://jquery.org/license\r\n *\r\n * http://api.jqueryui.com/resizable/\r\n */\r\n\r\n\r\n$.widget(\"ui.resizable\", $.ui.mouse, {\r\n\tversion: \"1.11.4\",\r\n\twidgetEventPrefix: \"resize\",\r\n\toptions: {\r\n\t\talsoResize: false,\r\n\t\tanimate: false,\r\n\t\tanimateDuration: \"slow\",\r\n\t\tanimateEasing: \"swing\",\r\n\t\taspectRatio: false,\r\n\t\tautoHide: false,\r\n\t\tcontainment: false,\r\n\t\tghost: false,\r\n\t\tgrid: false,\r\n\t\thandles: \"e,s,se\",\r\n\t\thelper: false,\r\n\t\tmaxHeight: null,\r\n\t\tmaxWidth: null,\r\n\t\tminHeight: 10,\r\n\t\tminWidth: 10,\r\n\t\t// See #7960\r\n\t\tzIndex: 90,\r\n\r\n\t\t// callbacks\r\n\t\tresize: null,\r\n\t\tstart: null,\r\n\t\tstop: null\r\n\t},\r\n\r\n\t_num: function( value ) {\r\n\t\treturn parseInt( value, 10 ) || 0;\r\n\t},\r\n\r\n\t_isNumber: function( value ) {\r\n\t\treturn !isNaN( parseInt( value, 10 ) );\r\n\t},\r\n\r\n\t_hasScroll: function( el, a ) {\r\n\r\n\t\tif ( $( el ).css( \"overflow\" ) === \"hidden\") {\r\n\t\t\treturn false;\r\n\t\t}\r\n\r\n\t\tvar scroll = ( a && a === \"left\" ) ? \"scrollLeft\" : \"scrollTop\",\r\n\t\t\thas = false;\r\n\r\n\t\tif ( el[ scroll ] > 0 ) {\r\n\t\t\treturn true;\r\n\t\t}\r\n\r\n\t\t// TODO: determine which cases actually cause this to happen\r\n\t\t// if the element doesn't have the scroll set, see if it's possible to\r\n\t\t// set the scroll\r\n\t\tel[ scroll ] = 1;\r\n\t\thas = ( el[ scroll ] > 0 );\r\n\t\tel[ scroll ] = 0;\r\n\t\treturn has;\r\n\t},\r\n\r\n\t_create: function() {\r\n\r\n\t\tvar n, i, handle, axis, hname,\r\n\t\t\tthat = this,\r\n\t\t\to = this.options;\r\n\t\tthis.element.addClass(\"ui-resizable\");\r\n\r\n\t\t$.extend(this, {\r\n\t\t\t_aspectRatio: !!(o.aspectRatio),\r\n\t\t\taspectRatio: o.aspectRatio,\r\n\t\t\toriginalElement: this.element,\r\n\t\t\t_proportionallyResizeElements: [],\r\n\t\t\t_helper: o.helper || o.ghost || o.animate ? o.helper || \"ui-resizable-helper\" : null\r\n\t\t});\r\n\r\n\t\t// Wrap the element if it cannot hold child nodes\r\n\t\tif (this.element[0].nodeName.match(/^(canvas|textarea|input|select|button|img)$/i)) {\r\n\r\n\t\t\tthis.element.wrap(\r\n\t\t\t\t$(\"<div class='ui-wrapper' style='overflow: hidden;'></div>\").css({\r\n\t\t\t\t\tposition: this.element.css(\"position\"),\r\n\t\t\t\t\twidth: this.element.outerWidth(),\r\n\t\t\t\t\theight: this.element.outerHeight(),\r\n\t\t\t\t\ttop: this.element.css(\"top\"),\r\n\t\t\t\t\tleft: this.element.css(\"left\")\r\n\t\t\t\t})\r\n\t\t\t);\r\n\r\n\t\t\tthis.element = this.element.parent().data(\r\n\t\t\t\t\"ui-resizable\", this.element.resizable( \"instance\" )\r\n\t\t\t);\r\n\r\n\t\t\tthis.elementIsWrapper = true;\r\n\r\n\t\t\tthis.element.css({\r\n\t\t\t\tmarginLeft: this.originalElement.css(\"marginLeft\"),\r\n\t\t\t\tmarginTop: this.originalElement.css(\"marginTop\"),\r\n\t\t\t\tmarginRight: this.originalElement.css(\"marginRight\"),\r\n\t\t\t\tmarginBottom: this.originalElement.css(\"marginBottom\")\r\n\t\t\t});\r\n\t\t\tthis.originalElement.css({\r\n\t\t\t\tmarginLeft: 0,\r\n\t\t\t\tmarginTop: 0,\r\n\t\t\t\tmarginRight: 0,\r\n\t\t\t\tmarginBottom: 0\r\n\t\t\t});\r\n\t\t\t// support: Safari\r\n\t\t\t// Prevent Safari textarea resize\r\n\t\t\tthis.originalResizeStyle = this.originalElement.css(\"resize\");\r\n\t\t\tthis.originalElement.css(\"resize\", \"none\");\r\n\r\n\t\t\tthis._proportionallyResizeElements.push( this.originalElement.css({\r\n\t\t\t\tposition: \"static\",\r\n\t\t\t\tzoom: 1,\r\n\t\t\t\tdisplay: \"block\"\r\n\t\t\t}) );\r\n\r\n\t\t\t// support: IE9\r\n\t\t\t// avoid IE jump (hard set the margin)\r\n\t\t\tthis.originalElement.css({ margin: this.originalElement.css(\"margin\") });\r\n\r\n\t\t\tthis._proportionallyResize();\r\n\t\t}\r\n\r\n\t\tthis.handles = o.handles ||\r\n\t\t\t( !$(\".ui-resizable-handle\", this.element).length ?\r\n\t\t\t\t\"e,s,se\" : {\r\n\t\t\t\t\tn: \".ui-resizable-n\",\r\n\t\t\t\t\te: \".ui-resizable-e\",\r\n\t\t\t\t\ts: \".ui-resizable-s\",\r\n\t\t\t\t\tw: \".ui-resizable-w\",\r\n\t\t\t\t\tse: \".ui-resizable-se\",\r\n\t\t\t\t\tsw: \".ui-resizable-sw\",\r\n\t\t\t\t\tne: \".ui-resizable-ne\",\r\n\t\t\t\t\tnw: \".ui-resizable-nw\"\r\n\t\t\t\t} );\r\n\r\n\t\tthis._handles = $();\r\n\t\tif ( this.handles.constructor === String ) {\r\n\r\n\t\t\tif ( this.handles === \"all\") {\r\n\t\t\t\tthis.handles = \"n,e,s,w,se,sw,ne,nw\";\r\n\t\t\t}\r\n\r\n\t\t\tn = this.handles.split(\",\");\r\n\t\t\tthis.handles = {};\r\n\r\n\t\t\tfor (i = 0; i < n.length; i++) {\r\n\r\n\t\t\t\thandle = $.trim(n[i]);\r\n\t\t\t\thname = \"ui-resizable-\" + handle;\r\n\t\t\t\taxis = $(\"<div class='ui-resizable-handle \" + hname + \"'></div>\");\r\n\r\n\t\t\t\taxis.css({ zIndex: o.zIndex });\r\n\r\n\t\t\t\t// TODO : What's going on here?\r\n\t\t\t\tif (\"se\" === handle) {\r\n\t\t\t\t\taxis.addClass(\"ui-icon ui-icon-gripsmall-diagonal-se\");\r\n\t\t\t\t}\r\n\r\n\t\t\t\tthis.handles[handle] = \".ui-resizable-\" + handle;\r\n\t\t\t\tthis.element.append(axis);\r\n\t\t\t}\r\n\r\n\t\t}\r\n\r\n\t\tthis._renderAxis = function(target) {\r\n\r\n\t\t\tvar i, axis, padPos, padWrapper;\r\n\r\n\t\t\ttarget = target || this.element;\r\n\r\n\t\t\tfor (i in this.handles) {\r\n\r\n\t\t\t\tif (this.handles[i].constructor === String) {\r\n\t\t\t\t\tthis.handles[i] = this.element.children( this.handles[ i ] ).first().show();\r\n\t\t\t\t} else if ( this.handles[ i ].jquery || this.handles[ i ].nodeType ) {\r\n\t\t\t\t\tthis.handles[ i ] = $( this.handles[ i ] );\r\n\t\t\t\t\tthis._on( this.handles[ i ], { \"mousedown\": that._mouseDown });\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (this.elementIsWrapper && this.originalElement[0].nodeName.match(/^(textarea|input|select|button)$/i)) {\r\n\r\n\t\t\t\t\taxis = $(this.handles[i], this.element);\r\n\r\n\t\t\t\t\tpadWrapper = /sw|ne|nw|se|n|s/.test(i) ? axis.outerHeight() : axis.outerWidth();\r\n\r\n\t\t\t\t\tpadPos = [ \"padding\",\r\n\t\t\t\t\t\t/ne|nw|n/.test(i) ? \"Top\" :\r\n\t\t\t\t\t\t/se|sw|s/.test(i) ? \"Bottom\" :\r\n\t\t\t\t\t\t/^e$/.test(i) ? \"Right\" : \"Left\" ].join(\"\");\r\n\r\n\t\t\t\t\ttarget.css(padPos, padWrapper);\r\n\r\n\t\t\t\t\tthis._proportionallyResize();\r\n\t\t\t\t}\r\n\r\n\t\t\t\tthis._handles = this._handles.add( this.handles[ i ] );\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\t// TODO: make renderAxis a prototype function\r\n\t\tthis._renderAxis(this.element);\r\n\r\n\t\tthis._handles = this._handles.add( this.element.find( \".ui-resizable-handle\" ) );\r\n\t\tthis._handles.disableSelection();\r\n\r\n\t\tthis._handles.mouseover(function() {\r\n\t\t\tif (!that.resizing) {\r\n\t\t\t\tif (this.className) {\r\n\t\t\t\t\taxis = this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i);\r\n\t\t\t\t}\r\n\t\t\t\tthat.axis = axis && axis[1] ? axis[1] : \"se\";\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\tif (o.autoHide) {\r\n\t\t\tthis._handles.hide();\r\n\t\t\t$(this.element)\r\n\t\t\t\t.addClass(\"ui-resizable-autohide\")\r\n\t\t\t\t.mouseenter(function() {\r\n\t\t\t\t\tif (o.disabled) {\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\t}\r\n\t\t\t\t\t$(this).removeClass(\"ui-resizable-autohide\");\r\n\t\t\t\t\tthat._handles.show();\r\n\t\t\t\t})\r\n\t\t\t\t.mouseleave(function() {\r\n\t\t\t\t\tif (o.disabled) {\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (!that.resizing) {\r\n\t\t\t\t\t\t$(this).addClass(\"ui-resizable-autohide\");\r\n\t\t\t\t\t\tthat._handles.hide();\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t}\r\n\r\n\t\tthis._mouseInit();\r\n\t},\r\n\r\n\t_destroy: function() {\r\n\r\n\t\tthis._mouseDestroy();\r\n\r\n\t\tvar wrapper,\r\n\t\t\t_destroy = function(exp) {\r\n\t\t\t\t$(exp)\r\n\t\t\t\t\t.removeClass(\"ui-resizable ui-resizable-disabled ui-resizable-resizing\")\r\n\t\t\t\t\t.removeData(\"resizable\")\r\n\t\t\t\t\t.removeData(\"ui-resizable\")\r\n\t\t\t\t\t.unbind(\".resizable\")\r\n\t\t\t\t\t.find(\".ui-resizable-handle\")\r\n\t\t\t\t\t\t.remove();\r\n\t\t\t};\r\n\r\n\t\t// TODO: Unwrap at same DOM position\r\n\t\tif (this.elementIsWrapper) {\r\n\t\t\t_destroy(this.element);\r\n\t\t\twrapper = this.element;\r\n\t\t\tthis.originalElement.css({\r\n\t\t\t\tposition: wrapper.css(\"position\"),\r\n\t\t\t\twidth: wrapper.outerWidth(),\r\n\t\t\t\theight: wrapper.outerHeight(),\r\n\t\t\t\ttop: wrapper.css(\"top\"),\r\n\t\t\t\tleft: wrapper.css(\"left\")\r\n\t\t\t}).insertAfter( wrapper );\r\n\t\t\twrapper.remove();\r\n\t\t}\r\n\r\n\t\tthis.originalElement.css(\"resize\", this.originalResizeStyle);\r\n\t\t_destroy(this.originalElement);\r\n\r\n\t\treturn this;\r\n\t},\r\n\r\n\t_mouseCapture: function(event) {\r\n\t\tvar i, handle,\r\n\t\t\tcapture = false;\r\n\r\n\t\tfor (i in this.handles) {\r\n\t\t\thandle = $(this.handles[i])[0];\r\n\t\t\tif (handle === event.target || $.contains(handle, event.target)) {\r\n\t\t\t\tcapture = true;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn !this.options.disabled && capture;\r\n\t},\r\n\r\n\t_mouseStart: function(event) {\r\n\r\n\t\tvar curleft, curtop, cursor,\r\n\t\t\to = this.options,\r\n\t\t\tel = this.element;\r\n\r\n\t\tthis.resizing = true;\r\n\r\n\t\tthis._renderProxy();\r\n\r\n\t\tcurleft = this._num(this.helper.css(\"left\"));\r\n\t\tcurtop = this._num(this.helper.css(\"top\"));\r\n\r\n\t\tif (o.containment) {\r\n\t\t\tcurleft += $(o.containment).scrollLeft() || 0;\r\n\t\t\tcurtop += $(o.containment).scrollTop() || 0;\r\n\t\t}\r\n\r\n\t\tthis.offset = this.helper.offset();\r\n\t\tthis.position = { left: curleft, top: curtop };\r\n\r\n\t\tthis.size = this._helper ? {\r\n\t\t\t\twidth: this.helper.width(),\r\n\t\t\t\theight: this.helper.height()\r\n\t\t\t} : {\r\n\t\t\t\twidth: el.width(),\r\n\t\t\t\theight: el.height()\r\n\t\t\t};\r\n\r\n\t\tthis.originalSize = this._helper ? {\r\n\t\t\t\twidth: el.outerWidth(),\r\n\t\t\t\theight: el.outerHeight()\r\n\t\t\t} : {\r\n\t\t\t\twidth: el.width(),\r\n\t\t\t\theight: el.height()\r\n\t\t\t};\r\n\r\n\t\tthis.sizeDiff = {\r\n\t\t\twidth: el.outerWidth() - el.width(),\r\n\t\t\theight: el.outerHeight() - el.height()\r\n\t\t};\r\n\r\n\t\tthis.originalPosition = { left: curleft, top: curtop };\r\n\t\tthis.originalMousePosition = { left: event.pageX, top: event.pageY };\r\n\r\n\t\tthis.aspectRatio = (typeof o.aspectRatio === \"number\") ?\r\n\t\t\to.aspectRatio :\r\n\t\t\t((this.originalSize.width / this.originalSize.height) || 1);\r\n\r\n\t\tcursor = $(\".ui-resizable-\" + this.axis).css(\"cursor\");\r\n\t\t$(\"body\").css(\"cursor\", cursor === \"auto\" ? this.axis + \"-resize\" : cursor);\r\n\r\n\t\tel.addClass(\"ui-resizable-resizing\");\r\n\t\tthis._propagate(\"start\", event);\r\n\t\treturn true;\r\n\t},\r\n\r\n\t_mouseDrag: function(event) {\r\n\r\n\t\tvar data, props,\r\n\t\t\tsmp = this.originalMousePosition,\r\n\t\t\ta = this.axis,\r\n\t\t\tdx = (event.pageX - smp.left) || 0,\r\n\t\t\tdy = (event.pageY - smp.top) || 0,\r\n\t\t\ttrigger = this._change[a];\r\n\r\n\t\tthis._updatePrevProperties();\r\n\r\n\t\tif (!trigger) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\r\n\t\tdata = trigger.apply(this, [ event, dx, dy ]);\r\n\r\n\t\tthis._updateVirtualBoundaries(event.shiftKey);\r\n\t\tif (this._aspectRatio || event.shiftKey) {\r\n\t\t\tdata = this._updateRatio(data, event);\r\n\t\t}\r\n\r\n\t\tdata = this._respectSize(data, event);\r\n\r\n\t\tthis._updateCache(data);\r\n\r\n\t\tthis._propagate(\"resize\", event);\r\n\r\n\t\tprops = this._applyChanges();\r\n\r\n\t\tif ( !this._helper && this._proportionallyResizeElements.length ) {\r\n\t\t\tthis._proportionallyResize();\r\n\t\t}\r\n\r\n\t\tif ( !$.isEmptyObject( props ) ) {\r\n\t\t\tthis._updatePrevProperties();\r\n\t\t\tthis._trigger( \"resize\", event, this.ui() );\r\n\t\t\tthis._applyChanges();\r\n\t\t}\r\n\r\n\t\treturn false;\r\n\t},\r\n\r\n\t_mouseStop: function(event) {\r\n\r\n\t\tthis.resizing = false;\r\n\t\tvar pr, ista, soffseth, soffsetw, s, left, top,\r\n\t\t\to = this.options, that = this;\r\n\r\n\t\tif (this._helper) {\r\n\r\n\t\t\tpr = this._proportionallyResizeElements;\r\n\t\t\tista = pr.length && (/textarea/i).test(pr[0].nodeName);\r\n\t\t\tsoffseth = ista && this._hasScroll(pr[0], \"left\") ? 0 : that.sizeDiff.height;\r\n\t\t\tsoffsetw = ista ? 0 : that.sizeDiff.width;\r\n\r\n\t\t\ts = {\r\n\t\t\t\twidth: (that.helper.width()  - soffsetw),\r\n\t\t\t\theight: (that.helper.height() - soffseth)\r\n\t\t\t};\r\n\t\t\tleft = (parseInt(that.element.css(\"left\"), 10) +\r\n\t\t\t\t(that.position.left - that.originalPosition.left)) || null;\r\n\t\t\ttop = (parseInt(that.element.css(\"top\"), 10) +\r\n\t\t\t\t(that.position.top - that.originalPosition.top)) || null;\r\n\r\n\t\t\tif (!o.animate) {\r\n\t\t\t\tthis.element.css($.extend(s, { top: top, left: left }));\r\n\t\t\t}\r\n\r\n\t\t\tthat.helper.height(that.size.height);\r\n\t\t\tthat.helper.width(that.size.width);\r\n\r\n\t\t\tif (this._helper && !o.animate) {\r\n\t\t\t\tthis._proportionallyResize();\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t$(\"body\").css(\"cursor\", \"auto\");\r\n\r\n\t\tthis.element.removeClass(\"ui-resizable-resizing\");\r\n\r\n\t\tthis._propagate(\"stop\", event);\r\n\r\n\t\tif (this._helper) {\r\n\t\t\tthis.helper.remove();\r\n\t\t}\r\n\r\n\t\treturn false;\r\n\r\n\t},\r\n\r\n\t_updatePrevProperties: function() {\r\n\t\tthis.prevPosition = {\r\n\t\t\ttop: this.position.top,\r\n\t\t\tleft: this.position.left\r\n\t\t};\r\n\t\tthis.prevSize = {\r\n\t\t\twidth: this.size.width,\r\n\t\t\theight: this.size.height\r\n\t\t};\r\n\t},\r\n\r\n\t_applyChanges: function() {\r\n\t\tvar props = {};\r\n\r\n\t\tif ( this.position.top !== this.prevPosition.top ) {\r\n\t\t\tprops.top = this.position.top + \"px\";\r\n\t\t}\r\n\t\tif ( this.position.left !== this.prevPosition.left ) {\r\n\t\t\tprops.left = this.position.left + \"px\";\r\n\t\t}\r\n\t\tif ( this.size.width !== this.prevSize.width ) {\r\n\t\t\tprops.width = this.size.width + \"px\";\r\n\t\t}\r\n\t\tif ( this.size.height !== this.prevSize.height ) {\r\n\t\t\tprops.height = this.size.height + \"px\";\r\n\t\t}\r\n\r\n\t\tthis.helper.css( props );\r\n\r\n\t\treturn props;\r\n\t},\r\n\r\n\t_updateVirtualBoundaries: function(forceAspectRatio) {\r\n\t\tvar pMinWidth, pMaxWidth, pMinHeight, pMaxHeight, b,\r\n\t\t\to = this.options;\r\n\r\n\t\tb = {\r\n\t\t\tminWidth: this._isNumber(o.minWidth) ? o.minWidth : 0,\r\n\t\t\tmaxWidth: this._isNumber(o.maxWidth) ? o.maxWidth : Infinity,\r\n\t\t\tminHeight: this._isNumber(o.minHeight) ? o.minHeight : 0,\r\n\t\t\tmaxHeight: this._isNumber(o.maxHeight) ? o.maxHeight : Infinity\r\n\t\t};\r\n\r\n\t\tif (this._aspectRatio || forceAspectRatio) {\r\n\t\t\tpMinWidth = b.minHeight * this.aspectRatio;\r\n\t\t\tpMinHeight = b.minWidth / this.aspectRatio;\r\n\t\t\tpMaxWidth = b.maxHeight * this.aspectRatio;\r\n\t\t\tpMaxHeight = b.maxWidth / this.aspectRatio;\r\n\r\n\t\t\tif (pMinWidth > b.minWidth) {\r\n\t\t\t\tb.minWidth = pMinWidth;\r\n\t\t\t}\r\n\t\t\tif (pMinHeight > b.minHeight) {\r\n\t\t\t\tb.minHeight = pMinHeight;\r\n\t\t\t}\r\n\t\t\tif (pMaxWidth < b.maxWidth) {\r\n\t\t\t\tb.maxWidth = pMaxWidth;\r\n\t\t\t}\r\n\t\t\tif (pMaxHeight < b.maxHeight) {\r\n\t\t\t\tb.maxHeight = pMaxHeight;\r\n\t\t\t}\r\n\t\t}\r\n\t\tthis._vBoundaries = b;\r\n\t},\r\n\r\n\t_updateCache: function(data) {\r\n\t\tthis.offset = this.helper.offset();\r\n\t\tif (this._isNumber(data.left)) {\r\n\t\t\tthis.position.left = data.left;\r\n\t\t}\r\n\t\tif (this._isNumber(data.top)) {\r\n\t\t\tthis.position.top = data.top;\r\n\t\t}\r\n\t\tif (this._isNumber(data.height)) {\r\n\t\t\tthis.size.height = data.height;\r\n\t\t}\r\n\t\tif (this._isNumber(data.width)) {\r\n\t\t\tthis.size.width = data.width;\r\n\t\t}\r\n\t},\r\n\r\n\t_updateRatio: function( data ) {\r\n\r\n\t\tvar cpos = this.position,\r\n\t\t\tcsize = this.size,\r\n\t\t\ta = this.axis;\r\n\r\n\t\tif (this._isNumber(data.height)) {\r\n\t\t\tdata.width = (data.height * this.aspectRatio);\r\n\t\t} else if (this._isNumber(data.width)) {\r\n\t\t\tdata.height = (data.width / this.aspectRatio);\r\n\t\t}\r\n\r\n\t\tif (a === \"sw\") {\r\n\t\t\tdata.left = cpos.left + (csize.width - data.width);\r\n\t\t\tdata.top = null;\r\n\t\t}\r\n\t\tif (a === \"nw\") {\r\n\t\t\tdata.top = cpos.top + (csize.height - data.height);\r\n\t\t\tdata.left = cpos.left + (csize.width - data.width);\r\n\t\t}\r\n\r\n\t\treturn data;\r\n\t},\r\n\r\n\t_respectSize: function( data ) {\r\n\r\n\t\tvar o = this._vBoundaries,\r\n\t\t\ta = this.axis,\r\n\t\t\tismaxw = this._isNumber(data.width) && o.maxWidth && (o.maxWidth < data.width),\r\n\t\t\tismaxh = this._isNumber(data.height) && o.maxHeight && (o.maxHeight < data.height),\r\n\t\t\tisminw = this._isNumber(data.width) && o.minWidth && (o.minWidth > data.width),\r\n\t\t\tisminh = this._isNumber(data.height) && o.minHeight && (o.minHeight > data.height),\r\n\t\t\tdw = this.originalPosition.left + this.originalSize.width,\r\n\t\t\tdh = this.position.top + this.size.height,\r\n\t\t\tcw = /sw|nw|w/.test(a), ch = /nw|ne|n/.test(a);\r\n\t\tif (isminw) {\r\n\t\t\tdata.width = o.minWidth;\r\n\t\t}\r\n\t\tif (isminh) {\r\n\t\t\tdata.height = o.minHeight;\r\n\t\t}\r\n\t\tif (ismaxw) {\r\n\t\t\tdata.width = o.maxWidth;\r\n\t\t}\r\n\t\tif (ismaxh) {\r\n\t\t\tdata.height = o.maxHeight;\r\n\t\t}\r\n\r\n\t\tif (isminw && cw) {\r\n\t\t\tdata.left = dw - o.minWidth;\r\n\t\t}\r\n\t\tif (ismaxw && cw) {\r\n\t\t\tdata.left = dw - o.maxWidth;\r\n\t\t}\r\n\t\tif (isminh && ch) {\r\n\t\t\tdata.top = dh - o.minHeight;\r\n\t\t}\r\n\t\tif (ismaxh && ch) {\r\n\t\t\tdata.top = dh - o.maxHeight;\r\n\t\t}\r\n\r\n\t\t// Fixing jump error on top/left - bug #2330\r\n\t\tif (!data.width && !data.height && !data.left && data.top) {\r\n\t\t\tdata.top = null;\r\n\t\t} else if (!data.width && !data.height && !data.top && data.left) {\r\n\t\t\tdata.left = null;\r\n\t\t}\r\n\r\n\t\treturn data;\r\n\t},\r\n\r\n\t_getPaddingPlusBorderDimensions: function( element ) {\r\n\t\tvar i = 0,\r\n\t\t\twidths = [],\r\n\t\t\tborders = [\r\n\t\t\t\telement.css( \"borderTopWidth\" ),\r\n\t\t\t\telement.css( \"borderRightWidth\" ),\r\n\t\t\t\telement.css( \"borderBottomWidth\" ),\r\n\t\t\t\telement.css( \"borderLeftWidth\" )\r\n\t\t\t],\r\n\t\t\tpaddings = [\r\n\t\t\t\telement.css( \"paddingTop\" ),\r\n\t\t\t\telement.css( \"paddingRight\" ),\r\n\t\t\t\telement.css( \"paddingBottom\" ),\r\n\t\t\t\telement.css( \"paddingLeft\" )\r\n\t\t\t];\r\n\r\n\t\tfor ( ; i < 4; i++ ) {\r\n\t\t\twidths[ i ] = ( parseInt( borders[ i ], 10 ) || 0 );\r\n\t\t\twidths[ i ] += ( parseInt( paddings[ i ], 10 ) || 0 );\r\n\t\t}\r\n\r\n\t\treturn {\r\n\t\t\theight: widths[ 0 ] + widths[ 2 ],\r\n\t\t\twidth: widths[ 1 ] + widths[ 3 ]\r\n\t\t};\r\n\t},\r\n\r\n\t_proportionallyResize: function() {\r\n\r\n\t\tif (!this._proportionallyResizeElements.length) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tvar prel,\r\n\t\t\ti = 0,\r\n\t\t\telement = this.helper || this.element;\r\n\r\n\t\tfor ( ; i < this._proportionallyResizeElements.length; i++) {\r\n\r\n\t\t\tprel = this._proportionallyResizeElements[i];\r\n\r\n\t\t\t// TODO: Seems like a bug to cache this.outerDimensions\r\n\t\t\t// considering that we are in a loop.\r\n\t\t\tif (!this.outerDimensions) {\r\n\t\t\t\tthis.outerDimensions = this._getPaddingPlusBorderDimensions( prel );\r\n\t\t\t}\r\n\r\n\t\t\tprel.css({\r\n\t\t\t\theight: (element.height() - this.outerDimensions.height) || 0,\r\n\t\t\t\twidth: (element.width() - this.outerDimensions.width) || 0\r\n\t\t\t});\r\n\r\n\t\t}\r\n\r\n\t},\r\n\r\n\t_renderProxy: function() {\r\n\r\n\t\tvar el = this.element, o = this.options;\r\n\t\tthis.elementOffset = el.offset();\r\n\r\n\t\tif (this._helper) {\r\n\r\n\t\t\tthis.helper = this.helper || $(\"<div style='overflow:hidden;'></div>\");\r\n\r\n\t\t\tthis.helper.addClass(this._helper).css({\r\n\t\t\t\twidth: this.element.outerWidth() - 1,\r\n\t\t\t\theight: this.element.outerHeight() - 1,\r\n\t\t\t\tposition: \"absolute\",\r\n\t\t\t\tleft: this.elementOffset.left + \"px\",\r\n\t\t\t\ttop: this.elementOffset.top + \"px\",\r\n\t\t\t\tzIndex: ++o.zIndex //TODO: Don't modify option\r\n\t\t\t});\r\n\r\n\t\t\tthis.helper\r\n\t\t\t\t.appendTo(\"body\")\r\n\t\t\t\t.disableSelection();\r\n\r\n\t\t} else {\r\n\t\t\tthis.helper = this.element;\r\n\t\t}\r\n\r\n\t},\r\n\r\n\t_change: {\r\n\t\te: function(event, dx) {\r\n\t\t\treturn { width: this.originalSize.width + dx };\r\n\t\t},\r\n\t\tw: function(event, dx) {\r\n\t\t\tvar cs = this.originalSize, sp = this.originalPosition;\r\n\t\t\treturn { left: sp.left + dx, width: cs.width - dx };\r\n\t\t},\r\n\t\tn: function(event, dx, dy) {\r\n\t\t\tvar cs = this.originalSize, sp = this.originalPosition;\r\n\t\t\treturn { top: sp.top + dy, height: cs.height - dy };\r\n\t\t},\r\n\t\ts: function(event, dx, dy) {\r\n\t\t\treturn { height: this.originalSize.height + dy };\r\n\t\t},\r\n\t\tse: function(event, dx, dy) {\r\n\t\t\treturn $.extend(this._change.s.apply(this, arguments),\r\n\t\t\t\tthis._change.e.apply(this, [ event, dx, dy ]));\r\n\t\t},\r\n\t\tsw: function(event, dx, dy) {\r\n\t\t\treturn $.extend(this._change.s.apply(this, arguments),\r\n\t\t\t\tthis._change.w.apply(this, [ event, dx, dy ]));\r\n\t\t},\r\n\t\tne: function(event, dx, dy) {\r\n\t\t\treturn $.extend(this._change.n.apply(this, arguments),\r\n\t\t\t\tthis._change.e.apply(this, [ event, dx, dy ]));\r\n\t\t},\r\n\t\tnw: function(event, dx, dy) {\r\n\t\t\treturn $.extend(this._change.n.apply(this, arguments),\r\n\t\t\t\tthis._change.w.apply(this, [ event, dx, dy ]));\r\n\t\t}\r\n\t},\r\n\r\n\t_propagate: function(n, event) {\r\n\t\t$.ui.plugin.call(this, n, [ event, this.ui() ]);\r\n\t\t(n !== \"resize\" && this._trigger(n, event, this.ui()));\r\n\t},\r\n\r\n\tplugins: {},\r\n\r\n\tui: function() {\r\n\t\treturn {\r\n\t\t\toriginalElement: this.originalElement,\r\n\t\t\telement: this.element,\r\n\t\t\thelper: this.helper,\r\n\t\t\tposition: this.position,\r\n\t\t\tsize: this.size,\r\n\t\t\toriginalSize: this.originalSize,\r\n\t\t\toriginalPosition: this.originalPosition\r\n\t\t};\r\n\t}\r\n\r\n});\r\n\r\n/*\r\n * Resizable Extensions\r\n */\r\n\r\n$.ui.plugin.add(\"resizable\", \"animate\", {\r\n\r\n\tstop: function( event ) {\r\n\t\tvar that = $(this).resizable( \"instance\" ),\r\n\t\t\to = that.options,\r\n\t\t\tpr = that._proportionallyResizeElements,\r\n\t\t\tista = pr.length && (/textarea/i).test(pr[0].nodeName),\r\n\t\t\tsoffseth = ista && that._hasScroll(pr[0], \"left\") ? 0 : that.sizeDiff.height,\r\n\t\t\tsoffsetw = ista ? 0 : that.sizeDiff.width,\r\n\t\t\tstyle = { width: (that.size.width - soffsetw), height: (that.size.height - soffseth) },\r\n\t\t\tleft = (parseInt(that.element.css(\"left\"), 10) +\r\n\t\t\t\t(that.position.left - that.originalPosition.left)) || null,\r\n\t\t\ttop = (parseInt(that.element.css(\"top\"), 10) +\r\n\t\t\t\t(that.position.top - that.originalPosition.top)) || null;\r\n\r\n\t\tthat.element.animate(\r\n\t\t\t$.extend(style, top && left ? { top: top, left: left } : {}), {\r\n\t\t\t\tduration: o.animateDuration,\r\n\t\t\t\teasing: o.animateEasing,\r\n\t\t\t\tstep: function() {\r\n\r\n\t\t\t\t\tvar data = {\r\n\t\t\t\t\t\twidth: parseInt(that.element.css(\"width\"), 10),\r\n\t\t\t\t\t\theight: parseInt(that.element.css(\"height\"), 10),\r\n\t\t\t\t\t\ttop: parseInt(that.element.css(\"top\"), 10),\r\n\t\t\t\t\t\tleft: parseInt(that.element.css(\"left\"), 10)\r\n\t\t\t\t\t};\r\n\r\n\t\t\t\t\tif (pr && pr.length) {\r\n\t\t\t\t\t\t$(pr[0]).css({ width: data.width, height: data.height });\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\t// propagating resize, and updating values for each animation step\r\n\t\t\t\t\tthat._updateCache(data);\r\n\t\t\t\t\tthat._propagate(\"resize\", event);\r\n\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n});\r\n\r\n$.ui.plugin.add( \"resizable\", \"containment\", {\r\n\r\n\tstart: function() {\r\n\t\tvar element, p, co, ch, cw, width, height,\r\n\t\t\tthat = $( this ).resizable( \"instance\" ),\r\n\t\t\to = that.options,\r\n\t\t\tel = that.element,\r\n\t\t\toc = o.containment,\r\n\t\t\tce = ( oc instanceof $ ) ? oc.get( 0 ) : ( /parent/.test( oc ) ) ? el.parent().get( 0 ) : oc;\r\n\r\n\t\tif ( !ce ) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tthat.containerElement = $( ce );\r\n\r\n\t\tif ( /document/.test( oc ) || oc === document ) {\r\n\t\t\tthat.containerOffset = {\r\n\t\t\t\tleft: 0,\r\n\t\t\t\ttop: 0\r\n\t\t\t};\r\n\t\t\tthat.containerPosition = {\r\n\t\t\t\tleft: 0,\r\n\t\t\t\ttop: 0\r\n\t\t\t};\r\n\r\n\t\t\tthat.parentData = {\r\n\t\t\t\telement: $( document ),\r\n\t\t\t\tleft: 0,\r\n\t\t\t\ttop: 0,\r\n\t\t\t\twidth: $( document ).width(),\r\n\t\t\t\theight: $( document ).height() || document.body.parentNode.scrollHeight\r\n\t\t\t};\r\n\t\t} else {\r\n\t\t\telement = $( ce );\r\n\t\t\tp = [];\r\n\t\t\t$([ \"Top\", \"Right\", \"Left\", \"Bottom\" ]).each(function( i, name ) {\r\n\t\t\t\tp[ i ] = that._num( element.css( \"padding\" + name ) );\r\n\t\t\t});\r\n\r\n\t\t\tthat.containerOffset = element.offset();\r\n\t\t\tthat.containerPosition = element.position();\r\n\t\t\tthat.containerSize = {\r\n\t\t\t\theight: ( element.innerHeight() - p[ 3 ] ),\r\n\t\t\t\twidth: ( element.innerWidth() - p[ 1 ] )\r\n\t\t\t};\r\n\r\n\t\t\tco = that.containerOffset;\r\n\t\t\tch = that.containerSize.height;\r\n\t\t\tcw = that.containerSize.width;\r\n\t\t\twidth = ( that._hasScroll ( ce, \"left\" ) ? ce.scrollWidth : cw );\r\n\t\t\theight = ( that._hasScroll ( ce ) ? ce.scrollHeight : ch ) ;\r\n\r\n\t\t\tthat.parentData = {\r\n\t\t\t\telement: ce,\r\n\t\t\t\tleft: co.left,\r\n\t\t\t\ttop: co.top,\r\n\t\t\t\twidth: width,\r\n\t\t\t\theight: height\r\n\t\t\t};\r\n\t\t}\r\n\t},\r\n\r\n\tresize: function( event ) {\r\n\t\tvar woset, hoset, isParent, isOffsetRelative,\r\n\t\t\tthat = $( this ).resizable( \"instance\" ),\r\n\t\t\to = that.options,\r\n\t\t\tco = that.containerOffset,\r\n\t\t\tcp = that.position,\r\n\t\t\tpRatio = that._aspectRatio || event.shiftKey,\r\n\t\t\tcop = {\r\n\t\t\t\ttop: 0,\r\n\t\t\t\tleft: 0\r\n\t\t\t},\r\n\t\t\tce = that.containerElement,\r\n\t\t\tcontinueResize = true;\r\n\r\n\t\tif ( ce[ 0 ] !== document && ( /static/ ).test( ce.css( \"position\" ) ) ) {\r\n\t\t\tcop = co;\r\n\t\t}\r\n\r\n\t\tif ( cp.left < ( that._helper ? co.left : 0 ) ) {\r\n\t\t\tthat.size.width = that.size.width +\r\n\t\t\t\t( that._helper ?\r\n\t\t\t\t\t( that.position.left - co.left ) :\r\n\t\t\t\t\t( that.position.left - cop.left ) );\r\n\r\n\t\t\tif ( pRatio ) {\r\n\t\t\t\tthat.size.height = that.size.width / that.aspectRatio;\r\n\t\t\t\tcontinueResize = false;\r\n\t\t\t}\r\n\t\t\tthat.position.left = o.helper ? co.left : 0;\r\n\t\t}\r\n\r\n\t\tif ( cp.top < ( that._helper ? co.top : 0 ) ) {\r\n\t\t\tthat.size.height = that.size.height +\r\n\t\t\t\t( that._helper ?\r\n\t\t\t\t\t( that.position.top - co.top ) :\r\n\t\t\t\t\tthat.position.top );\r\n\r\n\t\t\tif ( pRatio ) {\r\n\t\t\t\tthat.size.width = that.size.height * that.aspectRatio;\r\n\t\t\t\tcontinueResize = false;\r\n\t\t\t}\r\n\t\t\tthat.position.top = that._helper ? co.top : 0;\r\n\t\t}\r\n\r\n\t\tisParent = that.containerElement.get( 0 ) === that.element.parent().get( 0 );\r\n\t\tisOffsetRelative = /relative|absolute/.test( that.containerElement.css( \"position\" ) );\r\n\r\n\t\tif ( isParent && isOffsetRelative ) {\r\n\t\t\tthat.offset.left = that.parentData.left + that.position.left;\r\n\t\t\tthat.offset.top = that.parentData.top + that.position.top;\r\n\t\t} else {\r\n\t\t\tthat.offset.left = that.element.offset().left;\r\n\t\t\tthat.offset.top = that.element.offset().top;\r\n\t\t}\r\n\r\n\t\twoset = Math.abs( that.sizeDiff.width +\r\n\t\t\t(that._helper ?\r\n\t\t\t\tthat.offset.left - cop.left :\r\n\t\t\t\t(that.offset.left - co.left)) );\r\n\r\n\t\thoset = Math.abs( that.sizeDiff.height +\r\n\t\t\t(that._helper ?\r\n\t\t\t\tthat.offset.top - cop.top :\r\n\t\t\t\t(that.offset.top - co.top)) );\r\n\r\n\t\tif ( woset + that.size.width >= that.parentData.width ) {\r\n\t\t\tthat.size.width = that.parentData.width - woset;\r\n\t\t\tif ( pRatio ) {\r\n\t\t\t\tthat.size.height = that.size.width / that.aspectRatio;\r\n\t\t\t\tcontinueResize = false;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif ( hoset + that.size.height >= that.parentData.height ) {\r\n\t\t\tthat.size.height = that.parentData.height - hoset;\r\n\t\t\tif ( pRatio ) {\r\n\t\t\t\tthat.size.width = that.size.height * that.aspectRatio;\r\n\t\t\t\tcontinueResize = false;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif ( !continueResize ) {\r\n\t\t\tthat.position.left = that.prevPosition.left;\r\n\t\t\tthat.position.top = that.prevPosition.top;\r\n\t\t\tthat.size.width = that.prevSize.width;\r\n\t\t\tthat.size.height = that.prevSize.height;\r\n\t\t}\r\n\t},\r\n\r\n\tstop: function() {\r\n\t\tvar that = $( this ).resizable( \"instance\" ),\r\n\t\t\to = that.options,\r\n\t\t\tco = that.containerOffset,\r\n\t\t\tcop = that.containerPosition,\r\n\t\t\tce = that.containerElement,\r\n\t\t\thelper = $( that.helper ),\r\n\t\t\tho = helper.offset(),\r\n\t\t\tw = helper.outerWidth() - that.sizeDiff.width,\r\n\t\t\th = helper.outerHeight() - that.sizeDiff.height;\r\n\r\n\t\tif ( that._helper && !o.animate && ( /relative/ ).test( ce.css( \"position\" ) ) ) {\r\n\t\t\t$( this ).css({\r\n\t\t\t\tleft: ho.left - cop.left - co.left,\r\n\t\t\t\twidth: w,\r\n\t\t\t\theight: h\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tif ( that._helper && !o.animate && ( /static/ ).test( ce.css( \"position\" ) ) ) {\r\n\t\t\t$( this ).css({\r\n\t\t\t\tleft: ho.left - cop.left - co.left,\r\n\t\t\t\twidth: w,\r\n\t\t\t\theight: h\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n});\r\n\r\n$.ui.plugin.add(\"resizable\", \"alsoResize\", {\r\n\r\n\tstart: function() {\r\n\t\tvar that = $(this).resizable( \"instance\" ),\r\n\t\t\to = that.options;\r\n\r\n\t\t$(o.alsoResize).each(function() {\r\n\t\t\tvar el = $(this);\r\n\t\t\tel.data(\"ui-resizable-alsoresize\", {\r\n\t\t\t\twidth: parseInt(el.width(), 10), height: parseInt(el.height(), 10),\r\n\t\t\t\tleft: parseInt(el.css(\"left\"), 10), top: parseInt(el.css(\"top\"), 10)\r\n\t\t\t});\r\n\t\t});\r\n\t},\r\n\r\n\tresize: function(event, ui) {\r\n\t\tvar that = $(this).resizable( \"instance\" ),\r\n\t\t\to = that.options,\r\n\t\t\tos = that.originalSize,\r\n\t\t\top = that.originalPosition,\r\n\t\t\tdelta = {\r\n\t\t\t\theight: (that.size.height - os.height) || 0,\r\n\t\t\t\twidth: (that.size.width - os.width) || 0,\r\n\t\t\t\ttop: (that.position.top - op.top) || 0,\r\n\t\t\t\tleft: (that.position.left - op.left) || 0\r\n\t\t\t};\r\n\r\n\t\t\t$(o.alsoResize).each(function() {\r\n\t\t\t\tvar el = $(this), start = $(this).data(\"ui-resizable-alsoresize\"), style = {},\r\n\t\t\t\t\tcss = el.parents(ui.originalElement[0]).length ?\r\n\t\t\t\t\t\t\t[ \"width\", \"height\" ] :\r\n\t\t\t\t\t\t\t[ \"width\", \"height\", \"top\", \"left\" ];\r\n\r\n\t\t\t\t$.each(css, function(i, prop) {\r\n\t\t\t\t\tvar sum = (start[prop] || 0) + (delta[prop] || 0);\r\n\t\t\t\t\tif (sum && sum >= 0) {\r\n\t\t\t\t\t\tstyle[prop] = sum || null;\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\r\n\t\t\t\tel.css(style);\r\n\t\t\t});\r\n\t},\r\n\r\n\tstop: function() {\r\n\t\t$(this).removeData(\"resizable-alsoresize\");\r\n\t}\r\n});\r\n\r\n$.ui.plugin.add(\"resizable\", \"ghost\", {\r\n\r\n\tstart: function() {\r\n\r\n\t\tvar that = $(this).resizable( \"instance\" ), o = that.options, cs = that.size;\r\n\r\n\t\tthat.ghost = that.originalElement.clone();\r\n\t\tthat.ghost\r\n\t\t\t.css({\r\n\t\t\t\topacity: 0.25,\r\n\t\t\t\tdisplay: \"block\",\r\n\t\t\t\tposition: \"relative\",\r\n\t\t\t\theight: cs.height,\r\n\t\t\t\twidth: cs.width,\r\n\t\t\t\tmargin: 0,\r\n\t\t\t\tleft: 0,\r\n\t\t\t\ttop: 0\r\n\t\t\t})\r\n\t\t\t.addClass(\"ui-resizable-ghost\")\r\n\t\t\t.addClass(typeof o.ghost === \"string\" ? o.ghost : \"\");\r\n\r\n\t\tthat.ghost.appendTo(that.helper);\r\n\r\n\t},\r\n\r\n\tresize: function() {\r\n\t\tvar that = $(this).resizable( \"instance\" );\r\n\t\tif (that.ghost) {\r\n\t\t\tthat.ghost.css({\r\n\t\t\t\tposition: \"relative\",\r\n\t\t\t\theight: that.size.height,\r\n\t\t\t\twidth: that.size.width\r\n\t\t\t});\r\n\t\t}\r\n\t},\r\n\r\n\tstop: function() {\r\n\t\tvar that = $(this).resizable( \"instance\" );\r\n\t\tif (that.ghost && that.helper) {\r\n\t\t\tthat.helper.get(0).removeChild(that.ghost.get(0));\r\n\t\t}\r\n\t}\r\n\r\n});\r\n\r\n$.ui.plugin.add(\"resizable\", \"grid\", {\r\n\r\n\tresize: function() {\r\n\t\tvar outerDimensions,\r\n\t\t\tthat = $(this).resizable( \"instance\" ),\r\n\t\t\to = that.options,\r\n\t\t\tcs = that.size,\r\n\t\t\tos = that.originalSize,\r\n\t\t\top = that.originalPosition,\r\n\t\t\ta = that.axis,\r\n\t\t\tgrid = typeof o.grid === \"number\" ? [ o.grid, o.grid ] : o.grid,\r\n\t\t\tgridX = (grid[0] || 1),\r\n\t\t\tgridY = (grid[1] || 1),\r\n\t\t\tox = Math.round((cs.width - os.width) / gridX) * gridX,\r\n\t\t\toy = Math.round((cs.height - os.height) / gridY) * gridY,\r\n\t\t\tnewWidth = os.width + ox,\r\n\t\t\tnewHeight = os.height + oy,\r\n\t\t\tisMaxWidth = o.maxWidth && (o.maxWidth < newWidth),\r\n\t\t\tisMaxHeight = o.maxHeight && (o.maxHeight < newHeight),\r\n\t\t\tisMinWidth = o.minWidth && (o.minWidth > newWidth),\r\n\t\t\tisMinHeight = o.minHeight && (o.minHeight > newHeight);\r\n\r\n\t\to.grid = grid;\r\n\r\n\t\tif (isMinWidth) {\r\n\t\t\tnewWidth += gridX;\r\n\t\t}\r\n\t\tif (isMinHeight) {\r\n\t\t\tnewHeight += gridY;\r\n\t\t}\r\n\t\tif (isMaxWidth) {\r\n\t\t\tnewWidth -= gridX;\r\n\t\t}\r\n\t\tif (isMaxHeight) {\r\n\t\t\tnewHeight -= gridY;\r\n\t\t}\r\n\r\n\t\tif (/^(se|s|e)$/.test(a)) {\r\n\t\t\tthat.size.width = newWidth;\r\n\t\t\tthat.size.height = newHeight;\r\n\t\t} else if (/^(ne)$/.test(a)) {\r\n\t\t\tthat.size.width = newWidth;\r\n\t\t\tthat.size.height = newHeight;\r\n\t\t\tthat.position.top = op.top - oy;\r\n\t\t} else if (/^(sw)$/.test(a)) {\r\n\t\t\tthat.size.width = newWidth;\r\n\t\t\tthat.size.height = newHeight;\r\n\t\t\tthat.position.left = op.left - ox;\r\n\t\t} else {\r\n\t\t\tif ( newHeight - gridY <= 0 || newWidth - gridX <= 0) {\r\n\t\t\t\touterDimensions = that._getPaddingPlusBorderDimensions( this );\r\n\t\t\t}\r\n\r\n\t\t\tif ( newHeight - gridY > 0 ) {\r\n\t\t\t\tthat.size.height = newHeight;\r\n\t\t\t\tthat.position.top = op.top - oy;\r\n\t\t\t} else {\r\n\t\t\t\tnewHeight = gridY - outerDimensions.height;\r\n\t\t\t\tthat.size.height = newHeight;\r\n\t\t\t\tthat.position.top = op.top + os.height - newHeight;\r\n\t\t\t}\r\n\t\t\tif ( newWidth - gridX > 0 ) {\r\n\t\t\t\tthat.size.width = newWidth;\r\n\t\t\t\tthat.position.left = op.left - ox;\r\n\t\t\t} else {\r\n\t\t\t\tnewWidth = gridX - outerDimensions.width;\r\n\t\t\t\tthat.size.width = newWidth;\r\n\t\t\t\tthat.position.left = op.left + os.width - newWidth;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n});\r\n\r\nvar resizable = $.ui.resizable;\r\n\r\n\r\n/*!\r\n * jQuery UI Dialog 1.11.4\r\n * http://jqueryui.com\r\n *\r\n * Copyright jQuery Foundation and other contributors\r\n * Released under the MIT license.\r\n * http://jquery.org/license\r\n *\r\n * http://api.jqueryui.com/dialog/\r\n */\r\n\r\n\r\nvar dialog = $.widget( \"ui.dialog\", {\r\n\tversion: \"1.11.4\",\r\n\toptions: {\r\n\t\tappendTo: \"body\",\r\n\t\tautoOpen: true,\r\n\t\tbuttons: [],\r\n\t\tcloseOnEscape: true,\r\n\t\tcloseText: \"Close\",\r\n\t\tdialogClass: \"\",\r\n\t\tdraggable: true,\r\n\t\thide: null,\r\n\t\theight: \"auto\",\r\n\t\tmaxHeight: null,\r\n\t\tmaxWidth: null,\r\n\t\tminHeight: 150,\r\n\t\tminWidth: 150,\r\n\t\tmodal: false,\r\n\t\tposition: {\r\n\t\t\tmy: \"center\",\r\n\t\t\tat: \"center\",\r\n\t\t\tof: window,\r\n\t\t\tcollision: \"fit\",\r\n\t\t\t// Ensure the titlebar is always visible\r\n\t\t\tusing: function( pos ) {\r\n\t\t\t\tvar topOffset = $( this ).css( pos ).offset().top;\r\n\t\t\t\tif ( topOffset < 0 ) {\r\n\t\t\t\t\t$( this ).css( \"top\", pos.top - topOffset );\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t},\r\n\t\tresizable: true,\r\n\t\tshow: null,\r\n\t\ttitle: null,\r\n\t\twidth: 300,\r\n\r\n\t\t// callbacks\r\n\t\tbeforeClose: null,\r\n\t\tclose: null,\r\n\t\tdrag: null,\r\n\t\tdragStart: null,\r\n\t\tdragStop: null,\r\n\t\tfocus: null,\r\n\t\topen: null,\r\n\t\tresize: null,\r\n\t\tresizeStart: null,\r\n\t\tresizeStop: null\r\n\t},\r\n\r\n\tsizeRelatedOptions: {\r\n\t\tbuttons: true,\r\n\t\theight: true,\r\n\t\tmaxHeight: true,\r\n\t\tmaxWidth: true,\r\n\t\tminHeight: true,\r\n\t\tminWidth: true,\r\n\t\twidth: true\r\n\t},\r\n\r\n\tresizableRelatedOptions: {\r\n\t\tmaxHeight: true,\r\n\t\tmaxWidth: true,\r\n\t\tminHeight: true,\r\n\t\tminWidth: true\r\n\t},\r\n\r\n\t_create: function() {\r\n\t\tthis.originalCss = {\r\n\t\t\tdisplay: this.element[ 0 ].style.display,\r\n\t\t\twidth: this.element[ 0 ].style.width,\r\n\t\t\tminHeight: this.element[ 0 ].style.minHeight,\r\n\t\t\tmaxHeight: this.element[ 0 ].style.maxHeight,\r\n\t\t\theight: this.element[ 0 ].style.height\r\n\t\t};\r\n\t\tthis.originalPosition = {\r\n\t\t\tparent: this.element.parent(),\r\n\t\t\tindex: this.element.parent().children().index( this.element )\r\n\t\t};\r\n\t\tthis.originalTitle = this.element.attr( \"title\" );\r\n\t\tthis.options.title = this.options.title || this.originalTitle;\r\n\r\n\t\tthis._createWrapper();\r\n\r\n\t\tthis.element\r\n\t\t\t.show()\r\n\t\t\t.removeAttr( \"title\" )\r\n\t\t\t.addClass( \"ui-dialog-content ui-widget-content\" )\r\n\t\t\t.appendTo( this.uiDialog );\r\n\r\n\t\tthis._createTitlebar();\r\n\t\tthis._createButtonPane();\r\n\r\n\t\tif ( this.options.draggable && $.fn.draggable ) {\r\n\t\t\tthis._makeDraggable();\r\n\t\t}\r\n\t\tif ( this.options.resizable && $.fn.resizable ) {\r\n\t\t\tthis._makeResizable();\r\n\t\t}\r\n\r\n\t\tthis._isOpen = false;\r\n\r\n\t\tthis._trackFocus();\r\n\t},\r\n\r\n\t_init: function() {\r\n\t\tif ( this.options.autoOpen ) {\r\n\t\t\tthis.open();\r\n\t\t}\r\n\t},\r\n\r\n\t_appendTo: function() {\r\n\t\tvar element = this.options.appendTo;\r\n\t\tif ( element && (element.jquery || element.nodeType) ) {\r\n\t\t\treturn $( element );\r\n\t\t}\r\n\t\treturn this.document.find( element || \"body\" ).eq( 0 );\r\n\t},\r\n\r\n\t_destroy: function() {\r\n\t\tvar next,\r\n\t\t\toriginalPosition = this.originalPosition;\r\n\r\n\t\tthis._untrackInstance();\r\n\t\tthis._destroyOverlay();\r\n\r\n\t\tthis.element\r\n\t\t\t.removeUniqueId()\r\n\t\t\t.removeClass( \"ui-dialog-content ui-widget-content\" )\r\n\t\t\t.css( this.originalCss )\r\n\t\t\t// Without detaching first, the following becomes really slow\r\n\t\t\t.detach();\r\n\r\n\t\tthis.uiDialog.stop( true, true ).remove();\r\n\r\n\t\tif ( this.originalTitle ) {\r\n\t\t\tthis.element.attr( \"title\", this.originalTitle );\r\n\t\t}\r\n\r\n\t\tnext = originalPosition.parent.children().eq( originalPosition.index );\r\n\t\t// Don't try to place the dialog next to itself (#8613)\r\n\t\tif ( next.length && next[ 0 ] !== this.element[ 0 ] ) {\r\n\t\t\tnext.before( this.element );\r\n\t\t} else {\r\n\t\t\toriginalPosition.parent.append( this.element );\r\n\t\t}\r\n\t},\r\n\r\n\twidget: function() {\r\n\t\treturn this.uiDialog;\r\n\t},\r\n\r\n\tdisable: $.noop,\r\n\tenable: $.noop,\r\n\r\n\tclose: function( event ) {\r\n\t\tvar activeElement,\r\n\t\t\tthat = this;\r\n\r\n\t\tif ( !this._isOpen || this._trigger( \"beforeClose\", event ) === false ) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tthis._isOpen = false;\r\n\t\tthis._focusedElement = null;\r\n\t\tthis._destroyOverlay();\r\n\t\tthis._untrackInstance();\r\n\r\n\t\tif ( !this.opener.filter( \":focusable\" ).focus().length ) {\r\n\r\n\t\t\t// support: IE9\r\n\t\t\t// IE9 throws an \"Unspecified error\" accessing document.activeElement from an <iframe>\r\n\t\t\ttry {\r\n\t\t\t\tactiveElement = this.document[ 0 ].activeElement;\r\n\r\n\t\t\t\t// Support: IE9, IE10\r\n\t\t\t\t// If the <body> is blurred, IE will switch windows, see #4520\r\n\t\t\t\tif ( activeElement && activeElement.nodeName.toLowerCase() !== \"body\" ) {\r\n\r\n\t\t\t\t\t// Hiding a focused element doesn't trigger blur in WebKit\r\n\t\t\t\t\t// so in case we have nothing to focus on, explicitly blur the active element\r\n\t\t\t\t\t// https://bugs.webkit.org/show_bug.cgi?id=47182\r\n\t\t\t\t\t$( activeElement ).blur();\r\n\t\t\t\t}\r\n\t\t\t} catch ( error ) {}\r\n\t\t}\r\n\r\n\t\tthis._hide( this.uiDialog, this.options.hide, function() {\r\n\t\t\tthat._trigger( \"close\", event );\r\n\t\t});\r\n\t},\r\n\r\n\tisOpen: function() {\r\n\t\treturn this._isOpen;\r\n\t},\r\n\r\n\tmoveToTop: function() {\r\n\t\tthis._moveToTop();\r\n\t},\r\n\r\n\t_moveToTop: function( event, silent ) {\r\n\t\tvar moved = false,\r\n\t\t\tzIndices = this.uiDialog.siblings( \".ui-front:visible\" ).map(function() {\r\n\t\t\t\treturn +$( this ).css( \"z-index\" );\r\n\t\t\t}).get(),\r\n\t\t\tzIndexMax = Math.max.apply( null, zIndices );\r\n\r\n\t\tif ( zIndexMax >= +this.uiDialog.css( \"z-index\" ) ) {\r\n\t\t\tthis.uiDialog.css( \"z-index\", zIndexMax + 1 );\r\n\t\t\tmoved = true;\r\n\t\t}\r\n\r\n\t\tif ( moved && !silent ) {\r\n\t\t\tthis._trigger( \"focus\", event );\r\n\t\t}\r\n\t\treturn moved;\r\n\t},\r\n\r\n\topen: function() {\r\n\t\tvar that = this;\r\n\t\tif ( this._isOpen ) {\r\n\t\t\tif ( this._moveToTop() ) {\r\n\t\t\t\tthis._focusTabbable();\r\n\t\t\t}\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tthis._isOpen = true;\r\n\t\tthis.opener = $( this.document[ 0 ].activeElement );\r\n\r\n\t\tthis._size();\r\n\t\tthis._position();\r\n\t\tthis._createOverlay();\r\n\t\tthis._moveToTop( null, true );\r\n\r\n\t\t// Ensure the overlay is moved to the top with the dialog, but only when\r\n\t\t// opening. The overlay shouldn't move after the dialog is open so that\r\n\t\t// modeless dialogs opened after the modal dialog stack properly.\r\n\t\tif ( this.overlay ) {\r\n\t\t\tthis.overlay.css( \"z-index\", this.uiDialog.css( \"z-index\" ) - 1 );\r\n\t\t}\r\n\r\n\t\tthis._show( this.uiDialog, this.options.show, function() {\r\n\t\t\tthat._focusTabbable();\r\n\t\t\tthat._trigger( \"focus\" );\r\n\t\t});\r\n\r\n\t\t// Track the dialog immediately upon openening in case a focus event\r\n\t\t// somehow occurs outside of the dialog before an element inside the\r\n\t\t// dialog is focused (#10152)\r\n\t\tthis._makeFocusTarget();\r\n\r\n\t\tthis._trigger( \"open\" );\r\n\t},\r\n\r\n\t_focusTabbable: function() {\r\n\t\t// Set focus to the first match:\r\n\t\t// 1. An element that was focused previously\r\n\t\t// 2. First element inside the dialog matching [autofocus]\r\n\t\t// 3. Tabbable element inside the content element\r\n\t\t// 4. Tabbable element inside the buttonpane\r\n\t\t// 5. The close button\r\n\t\t// 6. The dialog itself\r\n\t\tvar hasFocus = this._focusedElement;\r\n\t\tif ( !hasFocus ) {\r\n\t\t\thasFocus = this.element.find( \"[autofocus]\" );\r\n\t\t}\r\n\t\tif ( !hasFocus.length ) {\r\n\t\t\thasFocus = this.element.find( \":tabbable\" );\r\n\t\t}\r\n\t\tif ( !hasFocus.length ) {\r\n\t\t\thasFocus = this.uiDialogButtonPane.find( \":tabbable\" );\r\n\t\t}\r\n\t\tif ( !hasFocus.length ) {\r\n\t\t\thasFocus = this.uiDialogTitlebarClose.filter( \":tabbable\" );\r\n\t\t}\r\n\t\tif ( !hasFocus.length ) {\r\n\t\t\thasFocus = this.uiDialog;\r\n\t\t}\r\n\t\thasFocus.eq( 0 ).focus();\r\n\t},\r\n\r\n\t_keepFocus: function( event ) {\r\n\t\tfunction checkFocus() {\r\n\t\t\tvar activeElement = this.document[0].activeElement,\r\n\t\t\t\tisActive = this.uiDialog[0] === activeElement ||\r\n\t\t\t\t\t$.contains( this.uiDialog[0], activeElement );\r\n\t\t\tif ( !isActive ) {\r\n\t\t\t\tthis._focusTabbable();\r\n\t\t\t}\r\n\t\t}\r\n\t\tevent.preventDefault();\r\n\t\tcheckFocus.call( this );\r\n\t\t// support: IE\r\n\t\t// IE <= 8 doesn't prevent moving focus even with event.preventDefault()\r\n\t\t// so we check again later\r\n\t\tthis._delay( checkFocus );\r\n\t},\r\n\r\n\t_createWrapper: function() {\r\n\t\tthis.uiDialog = $(\"<div>\")\r\n\t\t\t.addClass( \"ui-dialog ui-widget ui-widget-content ui-corner-all ui-front \" +\r\n\t\t\t\tthis.options.dialogClass )\r\n\t\t\t.hide()\r\n\t\t\t.attr({\r\n\t\t\t\t// Setting tabIndex makes the div focusable\r\n\t\t\t\ttabIndex: -1,\r\n\t\t\t\trole: \"dialog\"\r\n\t\t\t})\r\n\t\t\t.appendTo( this._appendTo() );\r\n\r\n\t\tthis._on( this.uiDialog, {\r\n\t\t\tkeydown: function( event ) {\r\n\t\t\t\tif ( this.options.closeOnEscape && !event.isDefaultPrevented() && event.keyCode &&\r\n\t\t\t\t\t\tevent.keyCode === $.ui.keyCode.ESCAPE ) {\r\n\t\t\t\t\tevent.preventDefault();\r\n\t\t\t\t\tthis.close( event );\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// prevent tabbing out of dialogs\r\n\t\t\t\tif ( event.keyCode !== $.ui.keyCode.TAB || event.isDefaultPrevented() ) {\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t\tvar tabbables = this.uiDialog.find( \":tabbable\" ),\r\n\t\t\t\t\tfirst = tabbables.filter( \":first\" ),\r\n\t\t\t\t\tlast = tabbables.filter( \":last\" );\r\n\r\n\t\t\t\tif ( ( event.target === last[0] || event.target === this.uiDialog[0] ) && !event.shiftKey ) {\r\n\t\t\t\t\tthis._delay(function() {\r\n\t\t\t\t\t\tfirst.focus();\r\n\t\t\t\t\t});\r\n\t\t\t\t\tevent.preventDefault();\r\n\t\t\t\t} else if ( ( event.target === first[0] || event.target === this.uiDialog[0] ) && event.shiftKey ) {\r\n\t\t\t\t\tthis._delay(function() {\r\n\t\t\t\t\t\tlast.focus();\r\n\t\t\t\t\t});\r\n\t\t\t\t\tevent.preventDefault();\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\tmousedown: function( event ) {\r\n\t\t\t\tif ( this._moveToTop( event ) ) {\r\n\t\t\t\t\tthis._focusTabbable();\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\t// We assume that any existing aria-describedby attribute means\r\n\t\t// that the dialog content is marked up properly\r\n\t\t// otherwise we brute force the content as the description\r\n\t\tif ( !this.element.find( \"[aria-describedby]\" ).length ) {\r\n\t\t\tthis.uiDialog.attr({\r\n\t\t\t\t\"aria-describedby\": this.element.uniqueId().attr( \"id\" )\r\n\t\t\t});\r\n\t\t}\r\n\t},\r\n\r\n\t_createTitlebar: function() {\r\n\t\tvar uiDialogTitle;\r\n\r\n\t\tthis.uiDialogTitlebar = $( \"<div>\" )\r\n\t\t\t.addClass( \"ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix\" )\r\n\t\t\t.prependTo( this.uiDialog );\r\n\t\tthis._on( this.uiDialogTitlebar, {\r\n\t\t\tmousedown: function( event ) {\r\n\t\t\t\t// Don't prevent click on close button (#8838)\r\n\t\t\t\t// Focusing a dialog that is partially scrolled out of view\r\n\t\t\t\t// causes the browser to scroll it into view, preventing the click event\r\n\t\t\t\tif ( !$( event.target ).closest( \".ui-dialog-titlebar-close\" ) ) {\r\n\t\t\t\t\t// Dialog isn't getting focus when dragging (#8063)\r\n\t\t\t\t\tthis.uiDialog.focus();\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\t// support: IE\r\n\t\t// Use type=\"button\" to prevent enter keypresses in textboxes from closing the\r\n\t\t// dialog in IE (#9312)\r\n\t\tthis.uiDialogTitlebarClose = $( \"<button type='button'></button>\" )\r\n\t\t\t.button({\r\n\t\t\t\tlabel: this.options.closeText,\r\n\t\t\t\ticons: {\r\n\t\t\t\t\tprimary: \"ui-icon-closethick\"\r\n\t\t\t\t},\r\n\t\t\t\ttext: false\r\n\t\t\t})\r\n\t\t\t.addClass( \"ui-dialog-titlebar-close\" )\r\n\t\t\t.appendTo( this.uiDialogTitlebar );\r\n\t\tthis._on( this.uiDialogTitlebarClose, {\r\n\t\t\tclick: function( event ) {\r\n\t\t\t\tevent.preventDefault();\r\n\t\t\t\tthis.close( event );\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\tuiDialogTitle = $( \"<span>\" )\r\n\t\t\t.uniqueId()\r\n\t\t\t.addClass( \"ui-dialog-title\" )\r\n\t\t\t.prependTo( this.uiDialogTitlebar );\r\n\t\tthis._title( uiDialogTitle );\r\n\r\n\t\tthis.uiDialog.attr({\r\n\t\t\t\"aria-labelledby\": uiDialogTitle.attr( \"id\" )\r\n\t\t});\r\n\t},\r\n\r\n\t_title: function( title ) {\r\n\t\tif ( !this.options.title ) {\r\n\t\t\ttitle.html( \"&#160;\" );\r\n\t\t}\r\n\t\ttitle.text( this.options.title );\r\n\t},\r\n\r\n\t_createButtonPane: function() {\r\n\t\tthis.uiDialogButtonPane = $( \"<div>\" )\r\n\t\t\t.addClass( \"ui-dialog-buttonpane ui-widget-content ui-helper-clearfix\" );\r\n\r\n\t\tthis.uiButtonSet = $( \"<div>\" )\r\n\t\t\t.addClass( \"ui-dialog-buttonset\" )\r\n\t\t\t.appendTo( this.uiDialogButtonPane );\r\n\r\n\t\tthis._createButtons();\r\n\t},\r\n\r\n\t_createButtons: function() {\r\n\t\tvar that = this,\r\n\t\t\tbuttons = this.options.buttons;\r\n\r\n\t\t// if we already have a button pane, remove it\r\n\t\tthis.uiDialogButtonPane.remove();\r\n\t\tthis.uiButtonSet.empty();\r\n\r\n\t\tif ( $.isEmptyObject( buttons ) || ($.isArray( buttons ) && !buttons.length) ) {\r\n\t\t\tthis.uiDialog.removeClass( \"ui-dialog-buttons\" );\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\t$.each( buttons, function( name, props ) {\r\n\t\t\tvar click, buttonOptions;\r\n\t\t\tprops = $.isFunction( props ) ?\r\n\t\t\t\t{ click: props, text: name } :\r\n\t\t\t\tprops;\r\n\t\t\t// Default to a non-submitting button\r\n\t\t\tprops = $.extend( { type: \"button\" }, props );\r\n\t\t\t// Change the context for the click callback to be the main element\r\n\t\t\tclick = props.click;\r\n\t\t\tprops.click = function() {\r\n\t\t\t\tclick.apply( that.element[ 0 ], arguments );\r\n\t\t\t};\r\n\t\t\tbuttonOptions = {\r\n\t\t\t\ticons: props.icons,\r\n\t\t\t\ttext: props.showText\r\n\t\t\t};\r\n\t\t\tdelete props.icons;\r\n\t\t\tdelete props.showText;\r\n\t\t\t$( \"<button></button>\", props )\r\n\t\t\t\t.button( buttonOptions )\r\n\t\t\t\t.appendTo( that.uiButtonSet );\r\n\t\t});\r\n\t\tthis.uiDialog.addClass( \"ui-dialog-buttons\" );\r\n\t\tthis.uiDialogButtonPane.appendTo( this.uiDialog );\r\n\t},\r\n\r\n\t_makeDraggable: function() {\r\n\t\tvar that = this,\r\n\t\t\toptions = this.options;\r\n\r\n\t\tfunction filteredUi( ui ) {\r\n\t\t\treturn {\r\n\t\t\t\tposition: ui.position,\r\n\t\t\t\toffset: ui.offset\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tthis.uiDialog.draggable({\r\n\t\t\tcancel: \".ui-dialog-content, .ui-dialog-titlebar-close\",\r\n\t\t\thandle: \".ui-dialog-titlebar\",\r\n\t\t\tcontainment: \"document\",\r\n\t\t\tstart: function( event, ui ) {\r\n\t\t\t\t$( this ).addClass( \"ui-dialog-dragging\" );\r\n\t\t\t\tthat._blockFrames();\r\n\t\t\t\tthat._trigger( \"dragStart\", event, filteredUi( ui ) );\r\n\t\t\t},\r\n\t\t\tdrag: function( event, ui ) {\r\n\t\t\t\tthat._trigger( \"drag\", event, filteredUi( ui ) );\r\n\t\t\t},\r\n\t\t\tstop: function( event, ui ) {\r\n\t\t\t\tvar left = ui.offset.left - that.document.scrollLeft(),\r\n\t\t\t\t\ttop = ui.offset.top - that.document.scrollTop();\r\n\r\n\t\t\t\toptions.position = {\r\n\t\t\t\t\tmy: \"left top\",\r\n\t\t\t\t\tat: \"left\" + (left >= 0 ? \"+\" : \"\") + left + \" \" +\r\n\t\t\t\t\t\t\"top\" + (top >= 0 ? \"+\" : \"\") + top,\r\n\t\t\t\t\tof: that.window\r\n\t\t\t\t};\r\n\t\t\t\t$( this ).removeClass( \"ui-dialog-dragging\" );\r\n\t\t\t\tthat._unblockFrames();\r\n\t\t\t\tthat._trigger( \"dragStop\", event, filteredUi( ui ) );\r\n\t\t\t}\r\n\t\t});\r\n\t},\r\n\r\n\t_makeResizable: function() {\r\n\t\tvar that = this,\r\n\t\t\toptions = this.options,\r\n\t\t\thandles = options.resizable,\r\n\t\t\t// .ui-resizable has position: relative defined in the stylesheet\r\n\t\t\t// but dialogs have to use absolute or fixed positioning\r\n\t\t\tposition = this.uiDialog.css(\"position\"),\r\n\t\t\tresizeHandles = typeof handles === \"string\" ?\r\n\t\t\t\thandles\t:\r\n\t\t\t\t\"n,e,s,w,se,sw,ne,nw\";\r\n\r\n\t\tfunction filteredUi( ui ) {\r\n\t\t\treturn {\r\n\t\t\t\toriginalPosition: ui.originalPosition,\r\n\t\t\t\toriginalSize: ui.originalSize,\r\n\t\t\t\tposition: ui.position,\r\n\t\t\t\tsize: ui.size\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tthis.uiDialog.resizable({\r\n\t\t\tcancel: \".ui-dialog-content\",\r\n\t\t\tcontainment: \"document\",\r\n\t\t\talsoResize: this.element,\r\n\t\t\tmaxWidth: options.maxWidth,\r\n\t\t\tmaxHeight: options.maxHeight,\r\n\t\t\tminWidth: options.minWidth,\r\n\t\t\tminHeight: this._minHeight(),\r\n\t\t\thandles: resizeHandles,\r\n\t\t\tstart: function( event, ui ) {\r\n\t\t\t\t$( this ).addClass( \"ui-dialog-resizing\" );\r\n\t\t\t\tthat._blockFrames();\r\n\t\t\t\tthat._trigger( \"resizeStart\", event, filteredUi( ui ) );\r\n\t\t\t},\r\n\t\t\tresize: function( event, ui ) {\r\n\t\t\t\tthat._trigger( \"resize\", event, filteredUi( ui ) );\r\n\t\t\t},\r\n\t\t\tstop: function( event, ui ) {\r\n\t\t\t\tvar offset = that.uiDialog.offset(),\r\n\t\t\t\t\tleft = offset.left - that.document.scrollLeft(),\r\n\t\t\t\t\ttop = offset.top - that.document.scrollTop();\r\n\r\n\t\t\t\toptions.height = that.uiDialog.height();\r\n\t\t\t\toptions.width = that.uiDialog.width();\r\n\t\t\t\toptions.position = {\r\n\t\t\t\t\tmy: \"left top\",\r\n\t\t\t\t\tat: \"left\" + (left >= 0 ? \"+\" : \"\") + left + \" \" +\r\n\t\t\t\t\t\t\"top\" + (top >= 0 ? \"+\" : \"\") + top,\r\n\t\t\t\t\tof: that.window\r\n\t\t\t\t};\r\n\t\t\t\t$( this ).removeClass( \"ui-dialog-resizing\" );\r\n\t\t\t\tthat._unblockFrames();\r\n\t\t\t\tthat._trigger( \"resizeStop\", event, filteredUi( ui ) );\r\n\t\t\t}\r\n\t\t})\r\n\t\t.css( \"position\", position );\r\n\t},\r\n\r\n\t_trackFocus: function() {\r\n\t\tthis._on( this.widget(), {\r\n\t\t\tfocusin: function( event ) {\r\n\t\t\t\tthis._makeFocusTarget();\r\n\t\t\t\tthis._focusedElement = $( event.target );\r\n\t\t\t}\r\n\t\t});\r\n\t},\r\n\r\n\t_makeFocusTarget: function() {\r\n\t\tthis._untrackInstance();\r\n\t\tthis._trackingInstances().unshift( this );\r\n\t},\r\n\r\n\t_untrackInstance: function() {\r\n\t\tvar instances = this._trackingInstances(),\r\n\t\t\texists = $.inArray( this, instances );\r\n\t\tif ( exists !== -1 ) {\r\n\t\t\tinstances.splice( exists, 1 );\r\n\t\t}\r\n\t},\r\n\r\n\t_trackingInstances: function() {\r\n\t\tvar instances = this.document.data( \"ui-dialog-instances\" );\r\n\t\tif ( !instances ) {\r\n\t\t\tinstances = [];\r\n\t\t\tthis.document.data( \"ui-dialog-instances\", instances );\r\n\t\t}\r\n\t\treturn instances;\r\n\t},\r\n\r\n\t_minHeight: function() {\r\n\t\tvar options = this.options;\r\n\r\n\t\treturn options.height === \"auto\" ?\r\n\t\t\toptions.minHeight :\r\n\t\t\tMath.min( options.minHeight, options.height );\r\n\t},\r\n\r\n\t_position: function() {\r\n\t\t// Need to show the dialog to get the actual offset in the position plugin\r\n\t\tvar isVisible = this.uiDialog.is( \":visible\" );\r\n\t\tif ( !isVisible ) {\r\n\t\t\tthis.uiDialog.show();\r\n\t\t}\r\n\t\tthis.uiDialog.position( this.options.position );\r\n\t\tif ( !isVisible ) {\r\n\t\t\tthis.uiDialog.hide();\r\n\t\t}\r\n\t},\r\n\r\n\t_setOptions: function( options ) {\r\n\t\tvar that = this,\r\n\t\t\tresize = false,\r\n\t\t\tresizableOptions = {};\r\n\r\n\t\t$.each( options, function( key, value ) {\r\n\t\t\tthat._setOption( key, value );\r\n\r\n\t\t\tif ( key in that.sizeRelatedOptions ) {\r\n\t\t\t\tresize = true;\r\n\t\t\t}\r\n\t\t\tif ( key in that.resizableRelatedOptions ) {\r\n\t\t\t\tresizableOptions[ key ] = value;\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\tif ( resize ) {\r\n\t\t\tthis._size();\r\n\t\t\tthis._position();\r\n\t\t}\r\n\t\tif ( this.uiDialog.is( \":data(ui-resizable)\" ) ) {\r\n\t\t\tthis.uiDialog.resizable( \"option\", resizableOptions );\r\n\t\t}\r\n\t},\r\n\r\n\t_setOption: function( key, value ) {\r\n\t\tvar isDraggable, isResizable,\r\n\t\t\tuiDialog = this.uiDialog;\r\n\r\n\t\tif ( key === \"dialogClass\" ) {\r\n\t\t\tuiDialog\r\n\t\t\t\t.removeClass( this.options.dialogClass )\r\n\t\t\t\t.addClass( value );\r\n\t\t}\r\n\r\n\t\tif ( key === \"disabled\" ) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tthis._super( key, value );\r\n\r\n\t\tif ( key === \"appendTo\" ) {\r\n\t\t\tthis.uiDialog.appendTo( this._appendTo() );\r\n\t\t}\r\n\r\n\t\tif ( key === \"buttons\" ) {\r\n\t\t\tthis._createButtons();\r\n\t\t}\r\n\r\n\t\tif ( key === \"closeText\" ) {\r\n\t\t\tthis.uiDialogTitlebarClose.button({\r\n\t\t\t\t// Ensure that we always pass a string\r\n\t\t\t\tlabel: \"\" + value\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tif ( key === \"draggable\" ) {\r\n\t\t\tisDraggable = uiDialog.is( \":data(ui-draggable)\" );\r\n\t\t\tif ( isDraggable && !value ) {\r\n\t\t\t\tuiDialog.draggable( \"destroy\" );\r\n\t\t\t}\r\n\r\n\t\t\tif ( !isDraggable && value ) {\r\n\t\t\t\tthis._makeDraggable();\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif ( key === \"position\" ) {\r\n\t\t\tthis._position();\r\n\t\t}\r\n\r\n\t\tif ( key === \"resizable\" ) {\r\n\t\t\t// currently resizable, becoming non-resizable\r\n\t\t\tisResizable = uiDialog.is( \":data(ui-resizable)\" );\r\n\t\t\tif ( isResizable && !value ) {\r\n\t\t\t\tuiDialog.resizable( \"destroy\" );\r\n\t\t\t}\r\n\r\n\t\t\t// currently resizable, changing handles\r\n\t\t\tif ( isResizable && typeof value === \"string\" ) {\r\n\t\t\t\tuiDialog.resizable( \"option\", \"handles\", value );\r\n\t\t\t}\r\n\r\n\t\t\t// currently non-resizable, becoming resizable\r\n\t\t\tif ( !isResizable && value !== false ) {\r\n\t\t\t\tthis._makeResizable();\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif ( key === \"title\" ) {\r\n\t\t\tthis._title( this.uiDialogTitlebar.find( \".ui-dialog-title\" ) );\r\n\t\t}\r\n\t},\r\n\r\n\t_size: function() {\r\n\t\t// If the user has resized the dialog, the .ui-dialog and .ui-dialog-content\r\n\t\t// divs will both have width and height set, so we need to reset them\r\n\t\tvar nonContentHeight, minContentHeight, maxContentHeight,\r\n\t\t\toptions = this.options;\r\n\r\n\t\t// Reset content sizing\r\n\t\tthis.element.show().css({\r\n\t\t\twidth: \"auto\",\r\n\t\t\tminHeight: 0,\r\n\t\t\tmaxHeight: \"none\",\r\n\t\t\theight: 0\r\n\t\t});\r\n\r\n\t\tif ( options.minWidth > options.width ) {\r\n\t\t\toptions.width = options.minWidth;\r\n\t\t}\r\n\r\n\t\t// reset wrapper sizing\r\n\t\t// determine the height of all the non-content elements\r\n\t\tnonContentHeight = this.uiDialog.css({\r\n\t\t\t\theight: \"auto\",\r\n\t\t\t\twidth: options.width\r\n\t\t\t})\r\n\t\t\t.outerHeight();\r\n\t\tminContentHeight = Math.max( 0, options.minHeight - nonContentHeight );\r\n\t\tmaxContentHeight = typeof options.maxHeight === \"number\" ?\r\n\t\t\tMath.max( 0, options.maxHeight - nonContentHeight ) :\r\n\t\t\t\"none\";\r\n\r\n\t\tif ( options.height === \"auto\" ) {\r\n\t\t\tthis.element.css({\r\n\t\t\t\tminHeight: minContentHeight,\r\n\t\t\t\tmaxHeight: maxContentHeight,\r\n\t\t\t\theight: \"auto\"\r\n\t\t\t});\r\n\t\t} else {\r\n\t\t\tthis.element.height( Math.max( 0, options.height - nonContentHeight ) );\r\n\t\t}\r\n\r\n\t\tif ( this.uiDialog.is( \":data(ui-resizable)\" ) ) {\r\n\t\t\tthis.uiDialog.resizable( \"option\", \"minHeight\", this._minHeight() );\r\n\t\t}\r\n\t},\r\n\r\n\t_blockFrames: function() {\r\n\t\tthis.iframeBlocks = this.document.find( \"iframe\" ).map(function() {\r\n\t\t\tvar iframe = $( this );\r\n\r\n\t\t\treturn $( \"<div>\" )\r\n\t\t\t\t.css({\r\n\t\t\t\t\tposition: \"absolute\",\r\n\t\t\t\t\twidth: iframe.outerWidth(),\r\n\t\t\t\t\theight: iframe.outerHeight()\r\n\t\t\t\t})\r\n\t\t\t\t.appendTo( iframe.parent() )\r\n\t\t\t\t.offset( iframe.offset() )[0];\r\n\t\t});\r\n\t},\r\n\r\n\t_unblockFrames: function() {\r\n\t\tif ( this.iframeBlocks ) {\r\n\t\t\tthis.iframeBlocks.remove();\r\n\t\t\tdelete this.iframeBlocks;\r\n\t\t}\r\n\t},\r\n\r\n\t_allowInteraction: function( event ) {\r\n\t\tif ( $( event.target ).closest( \".ui-dialog\" ).length ) {\r\n\t\t\treturn true;\r\n\t\t}\r\n\r\n\t\t// TODO: Remove hack when datepicker implements\r\n\t\t// the .ui-front logic (#8989)\r\n\t\treturn !!$( event.target ).closest( \".ui-datepicker\" ).length;\r\n\t},\r\n\r\n\t_createOverlay: function() {\r\n\t\tif ( !this.options.modal ) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\t// We use a delay in case the overlay is created from an\r\n\t\t// event that we're going to be cancelling (#2804)\r\n\t\tvar isOpening = true;\r\n\t\tthis._delay(function() {\r\n\t\t\tisOpening = false;\r\n\t\t});\r\n\r\n\t\tif ( !this.document.data( \"ui-dialog-overlays\" ) ) {\r\n\r\n\t\t\t// Prevent use of anchors and inputs\r\n\t\t\t// Using _on() for an event handler shared across many instances is\r\n\t\t\t// safe because the dialogs stack and must be closed in reverse order\r\n\t\t\tthis._on( this.document, {\r\n\t\t\t\tfocusin: function( event ) {\r\n\t\t\t\t\tif ( isOpening ) {\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tif ( !this._allowInteraction( event ) ) {\r\n\t\t\t\t\t\tevent.preventDefault();\r\n\t\t\t\t\t\tthis._trackingInstances()[ 0 ]._focusTabbable();\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tthis.overlay = $( \"<div>\" )\r\n\t\t\t.addClass( \"ui-widget-overlay ui-front\" )\r\n\t\t\t.appendTo( this._appendTo() );\r\n\t\tthis._on( this.overlay, {\r\n\t\t\tmousedown: \"_keepFocus\"\r\n\t\t});\r\n\t\tthis.document.data( \"ui-dialog-overlays\",\r\n\t\t\t(this.document.data( \"ui-dialog-overlays\" ) || 0) + 1 );\r\n\t},\r\n\r\n\t_destroyOverlay: function() {\r\n\t\tif ( !this.options.modal ) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tif ( this.overlay ) {\r\n\t\t\tvar overlays = this.document.data( \"ui-dialog-overlays\" ) - 1;\r\n\r\n\t\t\tif ( !overlays ) {\r\n\t\t\t\tthis.document\r\n\t\t\t\t\t.unbind( \"focusin\" )\r\n\t\t\t\t\t.removeData( \"ui-dialog-overlays\" );\r\n\t\t\t} else {\r\n\t\t\t\tthis.document.data( \"ui-dialog-overlays\", overlays );\r\n\t\t\t}\r\n\r\n\t\t\tthis.overlay.remove();\r\n\t\t\tthis.overlay = null;\r\n\t\t}\r\n\t}\r\n});\r\n\r\n\r\n/*!\r\n * jQuery UI Droppable 1.11.4\r\n * http://jqueryui.com\r\n *\r\n * Copyright jQuery Foundation and other contributors\r\n * Released under the MIT license.\r\n * http://jquery.org/license\r\n *\r\n * http://api.jqueryui.com/droppable/\r\n */\r\n\r\n\r\n$.widget( \"ui.droppable\", {\r\n\tversion: \"1.11.4\",\r\n\twidgetEventPrefix: \"drop\",\r\n\toptions: {\r\n\t\taccept: \"*\",\r\n\t\tactiveClass: false,\r\n\t\taddClasses: true,\r\n\t\tgreedy: false,\r\n\t\thoverClass: false,\r\n\t\tscope: \"default\",\r\n\t\ttolerance: \"intersect\",\r\n\r\n\t\t// callbacks\r\n\t\tactivate: null,\r\n\t\tdeactivate: null,\r\n\t\tdrop: null,\r\n\t\tout: null,\r\n\t\tover: null\r\n\t},\r\n\t_create: function() {\r\n\r\n\t\tvar proportions,\r\n\t\t\to = this.options,\r\n\t\t\taccept = o.accept;\r\n\r\n\t\tthis.isover = false;\r\n\t\tthis.isout = true;\r\n\r\n\t\tthis.accept = $.isFunction( accept ) ? accept : function( d ) {\r\n\t\t\treturn d.is( accept );\r\n\t\t};\r\n\r\n\t\tthis.proportions = function( /* valueToWrite */ ) {\r\n\t\t\tif ( arguments.length ) {\r\n\t\t\t\t// Store the droppable's proportions\r\n\t\t\t\tproportions = arguments[ 0 ];\r\n\t\t\t} else {\r\n\t\t\t\t// Retrieve or derive the droppable's proportions\r\n\t\t\t\treturn proportions ?\r\n\t\t\t\t\tproportions :\r\n\t\t\t\t\tproportions = {\r\n\t\t\t\t\t\twidth: this.element[ 0 ].offsetWidth,\r\n\t\t\t\t\t\theight: this.element[ 0 ].offsetHeight\r\n\t\t\t\t\t};\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\tthis._addToManager( o.scope );\r\n\r\n\t\to.addClasses && this.element.addClass( \"ui-droppable\" );\r\n\r\n\t},\r\n\r\n\t_addToManager: function( scope ) {\r\n\t\t// Add the reference and positions to the manager\r\n\t\t$.ui.ddmanager.droppables[ scope ] = $.ui.ddmanager.droppables[ scope ] || [];\r\n\t\t$.ui.ddmanager.droppables[ scope ].push( this );\r\n\t},\r\n\r\n\t_splice: function( drop ) {\r\n\t\tvar i = 0;\r\n\t\tfor ( ; i < drop.length; i++ ) {\r\n\t\t\tif ( drop[ i ] === this ) {\r\n\t\t\t\tdrop.splice( i, 1 );\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n\r\n\t_destroy: function() {\r\n\t\tvar drop = $.ui.ddmanager.droppables[ this.options.scope ];\r\n\r\n\t\tthis._splice( drop );\r\n\r\n\t\tthis.element.removeClass( \"ui-droppable ui-droppable-disabled\" );\r\n\t},\r\n\r\n\t_setOption: function( key, value ) {\r\n\r\n\t\tif ( key === \"accept\" ) {\r\n\t\t\tthis.accept = $.isFunction( value ) ? value : function( d ) {\r\n\t\t\t\treturn d.is( value );\r\n\t\t\t};\r\n\t\t} else if ( key === \"scope\" ) {\r\n\t\t\tvar drop = $.ui.ddmanager.droppables[ this.options.scope ];\r\n\r\n\t\t\tthis._splice( drop );\r\n\t\t\tthis._addToManager( value );\r\n\t\t}\r\n\r\n\t\tthis._super( key, value );\r\n\t},\r\n\r\n\t_activate: function( event ) {\r\n\t\tvar draggable = $.ui.ddmanager.current;\r\n\t\tif ( this.options.activeClass ) {\r\n\t\t\tthis.element.addClass( this.options.activeClass );\r\n\t\t}\r\n\t\tif ( draggable ){\r\n\t\t\tthis._trigger( \"activate\", event, this.ui( draggable ) );\r\n\t\t}\r\n\t},\r\n\r\n\t_deactivate: function( event ) {\r\n\t\tvar draggable = $.ui.ddmanager.current;\r\n\t\tif ( this.options.activeClass ) {\r\n\t\t\tthis.element.removeClass( this.options.activeClass );\r\n\t\t}\r\n\t\tif ( draggable ){\r\n\t\t\tthis._trigger( \"deactivate\", event, this.ui( draggable ) );\r\n\t\t}\r\n\t},\r\n\r\n\t_over: function( event ) {\r\n\r\n\t\tvar draggable = $.ui.ddmanager.current;\r\n\r\n\t\t// Bail if draggable and droppable are same element\r\n\t\tif ( !draggable || ( draggable.currentItem || draggable.element )[ 0 ] === this.element[ 0 ] ) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tif ( this.accept.call( this.element[ 0 ], ( draggable.currentItem || draggable.element ) ) ) {\r\n\t\t\tif ( this.options.hoverClass ) {\r\n\t\t\t\tthis.element.addClass( this.options.hoverClass );\r\n\t\t\t}\r\n\t\t\tthis._trigger( \"over\", event, this.ui( draggable ) );\r\n\t\t}\r\n\r\n\t},\r\n\r\n\t_out: function( event ) {\r\n\r\n\t\tvar draggable = $.ui.ddmanager.current;\r\n\r\n\t\t// Bail if draggable and droppable are same element\r\n\t\tif ( !draggable || ( draggable.currentItem || draggable.element )[ 0 ] === this.element[ 0 ] ) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tif ( this.accept.call( this.element[ 0 ], ( draggable.currentItem || draggable.element ) ) ) {\r\n\t\t\tif ( this.options.hoverClass ) {\r\n\t\t\t\tthis.element.removeClass( this.options.hoverClass );\r\n\t\t\t}\r\n\t\t\tthis._trigger( \"out\", event, this.ui( draggable ) );\r\n\t\t}\r\n\r\n\t},\r\n\r\n\t_drop: function( event, custom ) {\r\n\r\n\t\tvar draggable = custom || $.ui.ddmanager.current,\r\n\t\t\tchildrenIntersection = false;\r\n\r\n\t\t// Bail if draggable and droppable are same element\r\n\t\tif ( !draggable || ( draggable.currentItem || draggable.element )[ 0 ] === this.element[ 0 ] ) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\r\n\t\tthis.element.find( \":data(ui-droppable)\" ).not( \".ui-draggable-dragging\" ).each(function() {\r\n\t\t\tvar inst = $( this ).droppable( \"instance\" );\r\n\t\t\tif (\r\n\t\t\t\tinst.options.greedy &&\r\n\t\t\t\t!inst.options.disabled &&\r\n\t\t\t\tinst.options.scope === draggable.options.scope &&\r\n\t\t\t\tinst.accept.call( inst.element[ 0 ], ( draggable.currentItem || draggable.element ) ) &&\r\n\t\t\t\t$.ui.intersect( draggable, $.extend( inst, { offset: inst.element.offset() } ), inst.options.tolerance, event )\r\n\t\t\t) { childrenIntersection = true; return false; }\r\n\t\t});\r\n\t\tif ( childrenIntersection ) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\r\n\t\tif ( this.accept.call( this.element[ 0 ], ( draggable.currentItem || draggable.element ) ) ) {\r\n\t\t\tif ( this.options.activeClass ) {\r\n\t\t\t\tthis.element.removeClass( this.options.activeClass );\r\n\t\t\t}\r\n\t\t\tif ( this.options.hoverClass ) {\r\n\t\t\t\tthis.element.removeClass( this.options.hoverClass );\r\n\t\t\t}\r\n\t\t\tthis._trigger( \"drop\", event, this.ui( draggable ) );\r\n\t\t\treturn this.element;\r\n\t\t}\r\n\r\n\t\treturn false;\r\n\r\n\t},\r\n\r\n\tui: function( c ) {\r\n\t\treturn {\r\n\t\t\tdraggable: ( c.currentItem || c.element ),\r\n\t\t\thelper: c.helper,\r\n\t\t\tposition: c.position,\r\n\t\t\toffset: c.positionAbs\r\n\t\t};\r\n\t}\r\n\r\n});\r\n\r\n$.ui.intersect = (function() {\r\n\tfunction isOverAxis( x, reference, size ) {\r\n\t\treturn ( x >= reference ) && ( x < ( reference + size ) );\r\n\t}\r\n\r\n\treturn function( draggable, droppable, toleranceMode, event ) {\r\n\r\n\t\tif ( !droppable.offset ) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\r\n\t\tvar x1 = ( draggable.positionAbs || draggable.position.absolute ).left + draggable.margins.left,\r\n\t\t\ty1 = ( draggable.positionAbs || draggable.position.absolute ).top + draggable.margins.top,\r\n\t\t\tx2 = x1 + draggable.helperProportions.width,\r\n\t\t\ty2 = y1 + draggable.helperProportions.height,\r\n\t\t\tl = droppable.offset.left,\r\n\t\t\tt = droppable.offset.top,\r\n\t\t\tr = l + droppable.proportions().width,\r\n\t\t\tb = t + droppable.proportions().height;\r\n\r\n\t\tswitch ( toleranceMode ) {\r\n\t\tcase \"fit\":\r\n\t\t\treturn ( l <= x1 && x2 <= r && t <= y1 && y2 <= b );\r\n\t\tcase \"intersect\":\r\n\t\t\treturn ( l < x1 + ( draggable.helperProportions.width / 2 ) && // Right Half\r\n\t\t\t\tx2 - ( draggable.helperProportions.width / 2 ) < r && // Left Half\r\n\t\t\t\tt < y1 + ( draggable.helperProportions.height / 2 ) && // Bottom Half\r\n\t\t\t\ty2 - ( draggable.helperProportions.height / 2 ) < b ); // Top Half\r\n\t\tcase \"pointer\":\r\n\t\t\treturn isOverAxis( event.pageY, t, droppable.proportions().height ) && isOverAxis( event.pageX, l, droppable.proportions().width );\r\n\t\tcase \"touch\":\r\n\t\t\treturn (\r\n\t\t\t\t( y1 >= t && y1 <= b ) || // Top edge touching\r\n\t\t\t\t( y2 >= t && y2 <= b ) || // Bottom edge touching\r\n\t\t\t\t( y1 < t && y2 > b ) // Surrounded vertically\r\n\t\t\t) && (\r\n\t\t\t\t( x1 >= l && x1 <= r ) || // Left edge touching\r\n\t\t\t\t( x2 >= l && x2 <= r ) || // Right edge touching\r\n\t\t\t\t( x1 < l && x2 > r ) // Surrounded horizontally\r\n\t\t\t);\r\n\t\tdefault:\r\n\t\t\treturn false;\r\n\t\t}\r\n\t};\r\n})();\r\n\r\n/*\r\n\tThis manager tracks offsets of draggables and droppables\r\n*/\r\n$.ui.ddmanager = {\r\n\tcurrent: null,\r\n\tdroppables: { \"default\": [] },\r\n\tprepareOffsets: function( t, event ) {\r\n\r\n\t\tvar i, j,\r\n\t\t\tm = $.ui.ddmanager.droppables[ t.options.scope ] || [],\r\n\t\t\ttype = event ? event.type : null, // workaround for #2317\r\n\t\t\tlist = ( t.currentItem || t.element ).find( \":data(ui-droppable)\" ).addBack();\r\n\r\n\t\tdroppablesLoop: for ( i = 0; i < m.length; i++ ) {\r\n\r\n\t\t\t// No disabled and non-accepted\r\n\t\t\tif ( m[ i ].options.disabled || ( t && !m[ i ].accept.call( m[ i ].element[ 0 ], ( t.currentItem || t.element ) ) ) ) {\r\n\t\t\t\tcontinue;\r\n\t\t\t}\r\n\r\n\t\t\t// Filter out elements in the current dragged item\r\n\t\t\tfor ( j = 0; j < list.length; j++ ) {\r\n\t\t\t\tif ( list[ j ] === m[ i ].element[ 0 ] ) {\r\n\t\t\t\t\tm[ i ].proportions().height = 0;\r\n\t\t\t\t\tcontinue droppablesLoop;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tm[ i ].visible = m[ i ].element.css( \"display\" ) !== \"none\";\r\n\t\t\tif ( !m[ i ].visible ) {\r\n\t\t\t\tcontinue;\r\n\t\t\t}\r\n\r\n\t\t\t// Activate the droppable if used directly from draggables\r\n\t\t\tif ( type === \"mousedown\" ) {\r\n\t\t\t\tm[ i ]._activate.call( m[ i ], event );\r\n\t\t\t}\r\n\r\n\t\t\tm[ i ].offset = m[ i ].element.offset();\r\n\t\t\tm[ i ].proportions({ width: m[ i ].element[ 0 ].offsetWidth, height: m[ i ].element[ 0 ].offsetHeight });\r\n\r\n\t\t}\r\n\r\n\t},\r\n\tdrop: function( draggable, event ) {\r\n\r\n\t\tvar dropped = false;\r\n\t\t// Create a copy of the droppables in case the list changes during the drop (#9116)\r\n\t\t$.each( ( $.ui.ddmanager.droppables[ draggable.options.scope ] || [] ).slice(), function() {\r\n\r\n\t\t\tif ( !this.options ) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tif ( !this.options.disabled && this.visible && $.ui.intersect( draggable, this, this.options.tolerance, event ) ) {\r\n\t\t\t\tdropped = this._drop.call( this, event ) || dropped;\r\n\t\t\t}\r\n\r\n\t\t\tif ( !this.options.disabled && this.visible && this.accept.call( this.element[ 0 ], ( draggable.currentItem || draggable.element ) ) ) {\r\n\t\t\t\tthis.isout = true;\r\n\t\t\t\tthis.isover = false;\r\n\t\t\t\tthis._deactivate.call( this, event );\r\n\t\t\t}\r\n\r\n\t\t});\r\n\t\treturn dropped;\r\n\r\n\t},\r\n\tdragStart: function( draggable, event ) {\r\n\t\t// Listen for scrolling so that if the dragging causes scrolling the position of the droppables can be recalculated (see #5003)\r\n\t\tdraggable.element.parentsUntil( \"body\" ).bind( \"scroll.droppable\", function() {\r\n\t\t\tif ( !draggable.options.refreshPositions ) {\r\n\t\t\t\t$.ui.ddmanager.prepareOffsets( draggable, event );\r\n\t\t\t}\r\n\t\t});\r\n\t},\r\n\tdrag: function( draggable, event ) {\r\n\r\n\t\t// If you have a highly dynamic page, you might try this option. It renders positions every time you move the mouse.\r\n\t\tif ( draggable.options.refreshPositions ) {\r\n\t\t\t$.ui.ddmanager.prepareOffsets( draggable, event );\r\n\t\t}\r\n\r\n\t\t// Run through all droppables and check their positions based on specific tolerance options\r\n\t\t$.each( $.ui.ddmanager.droppables[ draggable.options.scope ] || [], function() {\r\n\r\n\t\t\tif ( this.options.disabled || this.greedyChild || !this.visible ) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tvar parentInstance, scope, parent,\r\n\t\t\t\tintersects = $.ui.intersect( draggable, this, this.options.tolerance, event ),\r\n\t\t\t\tc = !intersects && this.isover ? \"isout\" : ( intersects && !this.isover ? \"isover\" : null );\r\n\t\t\tif ( !c ) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tif ( this.options.greedy ) {\r\n\t\t\t\t// find droppable parents with same scope\r\n\t\t\t\tscope = this.options.scope;\r\n\t\t\t\tparent = this.element.parents( \":data(ui-droppable)\" ).filter(function() {\r\n\t\t\t\t\treturn $( this ).droppable( \"instance\" ).options.scope === scope;\r\n\t\t\t\t});\r\n\r\n\t\t\t\tif ( parent.length ) {\r\n\t\t\t\t\tparentInstance = $( parent[ 0 ] ).droppable( \"instance\" );\r\n\t\t\t\t\tparentInstance.greedyChild = ( c === \"isover\" );\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\t// we just moved into a greedy child\r\n\t\t\tif ( parentInstance && c === \"isover\" ) {\r\n\t\t\t\tparentInstance.isover = false;\r\n\t\t\t\tparentInstance.isout = true;\r\n\t\t\t\tparentInstance._out.call( parentInstance, event );\r\n\t\t\t}\r\n\r\n\t\t\tthis[ c ] = true;\r\n\t\t\tthis[c === \"isout\" ? \"isover\" : \"isout\"] = false;\r\n\t\t\tthis[c === \"isover\" ? \"_over\" : \"_out\"].call( this, event );\r\n\r\n\t\t\t// we just moved out of a greedy child\r\n\t\t\tif ( parentInstance && c === \"isout\" ) {\r\n\t\t\t\tparentInstance.isout = false;\r\n\t\t\t\tparentInstance.isover = true;\r\n\t\t\t\tparentInstance._over.call( parentInstance, event );\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t},\r\n\tdragStop: function( draggable, event ) {\r\n\t\tdraggable.element.parentsUntil( \"body\" ).unbind( \"scroll.droppable\" );\r\n\t\t// Call prepareOffsets one final time since IE does not fire return scroll events when overflow was caused by drag (see #5003)\r\n\t\tif ( !draggable.options.refreshPositions ) {\r\n\t\t\t$.ui.ddmanager.prepareOffsets( draggable, event );\r\n\t\t}\r\n\t}\r\n};\r\n\r\nvar droppable = $.ui.droppable;\r\n\r\n\r\n/*!\r\n * jQuery UI Effects 1.11.4\r\n * http://jqueryui.com\r\n *\r\n * Copyright jQuery Foundation and other contributors\r\n * Released under the MIT license.\r\n * http://jquery.org/license\r\n *\r\n * http://api.jqueryui.com/category/effects-core/\r\n */\r\n\r\n\r\nvar dataSpace = \"ui-effects-\",\r\n\r\n\t// Create a local jQuery because jQuery Color relies on it and the\r\n\t// global may not exist with AMD and a custom build (#10199)\r\n\tjQuery = $;\r\n\r\n$.effects = {\r\n\teffect: {}\r\n};\r\n\r\n/*!\r\n * jQuery Color Animations v2.1.2\r\n * https://github.com/jquery/jquery-color\r\n *\r\n * Copyright 2014 jQuery Foundation and other contributors\r\n * Released under the MIT license.\r\n * http://jquery.org/license\r\n *\r\n * Date: Wed Jan 16 08:47:09 2013 -0600\r\n */\r\n(function( jQuery, undefined ) {\r\n\r\n\tvar stepHooks = \"backgroundColor borderBottomColor borderLeftColor borderRightColor borderTopColor color columnRuleColor outlineColor textDecorationColor textEmphasisColor\",\r\n\r\n\t// plusequals test for += 100 -= 100\r\n\trplusequals = /^([\\-+])=\\s*(\\d+\\.?\\d*)/,\r\n\t// a set of RE's that can match strings and generate color tuples.\r\n\tstringParsers = [ {\r\n\t\t\tre: /rgba?\\(\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*(?:,\\s*(\\d?(?:\\.\\d+)?)\\s*)?\\)/,\r\n\t\t\tparse: function( execResult ) {\r\n\t\t\t\treturn [\r\n\t\t\t\t\texecResult[ 1 ],\r\n\t\t\t\t\texecResult[ 2 ],\r\n\t\t\t\t\texecResult[ 3 ],\r\n\t\t\t\t\texecResult[ 4 ]\r\n\t\t\t\t];\r\n\t\t\t}\r\n\t\t}, {\r\n\t\t\tre: /rgba?\\(\\s*(\\d+(?:\\.\\d+)?)\\%\\s*,\\s*(\\d+(?:\\.\\d+)?)\\%\\s*,\\s*(\\d+(?:\\.\\d+)?)\\%\\s*(?:,\\s*(\\d?(?:\\.\\d+)?)\\s*)?\\)/,\r\n\t\t\tparse: function( execResult ) {\r\n\t\t\t\treturn [\r\n\t\t\t\t\texecResult[ 1 ] * 2.55,\r\n\t\t\t\t\texecResult[ 2 ] * 2.55,\r\n\t\t\t\t\texecResult[ 3 ] * 2.55,\r\n\t\t\t\t\texecResult[ 4 ]\r\n\t\t\t\t];\r\n\t\t\t}\r\n\t\t}, {\r\n\t\t\t// this regex ignores A-F because it's compared against an already lowercased string\r\n\t\t\tre: /#([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})/,\r\n\t\t\tparse: function( execResult ) {\r\n\t\t\t\treturn [\r\n\t\t\t\t\tparseInt( execResult[ 1 ], 16 ),\r\n\t\t\t\t\tparseInt( execResult[ 2 ], 16 ),\r\n\t\t\t\t\tparseInt( execResult[ 3 ], 16 )\r\n\t\t\t\t];\r\n\t\t\t}\r\n\t\t}, {\r\n\t\t\t// this regex ignores A-F because it's compared against an already lowercased string\r\n\t\t\tre: /#([a-f0-9])([a-f0-9])([a-f0-9])/,\r\n\t\t\tparse: function( execResult ) {\r\n\t\t\t\treturn [\r\n\t\t\t\t\tparseInt( execResult[ 1 ] + execResult[ 1 ], 16 ),\r\n\t\t\t\t\tparseInt( execResult[ 2 ] + execResult[ 2 ], 16 ),\r\n\t\t\t\t\tparseInt( execResult[ 3 ] + execResult[ 3 ], 16 )\r\n\t\t\t\t];\r\n\t\t\t}\r\n\t\t}, {\r\n\t\t\tre: /hsla?\\(\\s*(\\d+(?:\\.\\d+)?)\\s*,\\s*(\\d+(?:\\.\\d+)?)\\%\\s*,\\s*(\\d+(?:\\.\\d+)?)\\%\\s*(?:,\\s*(\\d?(?:\\.\\d+)?)\\s*)?\\)/,\r\n\t\t\tspace: \"hsla\",\r\n\t\t\tparse: function( execResult ) {\r\n\t\t\t\treturn [\r\n\t\t\t\t\texecResult[ 1 ],\r\n\t\t\t\t\texecResult[ 2 ] / 100,\r\n\t\t\t\t\texecResult[ 3 ] / 100,\r\n\t\t\t\t\texecResult[ 4 ]\r\n\t\t\t\t];\r\n\t\t\t}\r\n\t\t} ],\r\n\r\n\t// jQuery.Color( )\r\n\tcolor = jQuery.Color = function( color, green, blue, alpha ) {\r\n\t\treturn new jQuery.Color.fn.parse( color, green, blue, alpha );\r\n\t},\r\n\tspaces = {\r\n\t\trgba: {\r\n\t\t\tprops: {\r\n\t\t\t\tred: {\r\n\t\t\t\t\tidx: 0,\r\n\t\t\t\t\ttype: \"byte\"\r\n\t\t\t\t},\r\n\t\t\t\tgreen: {\r\n\t\t\t\t\tidx: 1,\r\n\t\t\t\t\ttype: \"byte\"\r\n\t\t\t\t},\r\n\t\t\t\tblue: {\r\n\t\t\t\t\tidx: 2,\r\n\t\t\t\t\ttype: \"byte\"\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t},\r\n\r\n\t\thsla: {\r\n\t\t\tprops: {\r\n\t\t\t\thue: {\r\n\t\t\t\t\tidx: 0,\r\n\t\t\t\t\ttype: \"degrees\"\r\n\t\t\t\t},\r\n\t\t\t\tsaturation: {\r\n\t\t\t\t\tidx: 1,\r\n\t\t\t\t\ttype: \"percent\"\r\n\t\t\t\t},\r\n\t\t\t\tlightness: {\r\n\t\t\t\t\tidx: 2,\r\n\t\t\t\t\ttype: \"percent\"\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n\tpropTypes = {\r\n\t\t\"byte\": {\r\n\t\t\tfloor: true,\r\n\t\t\tmax: 255\r\n\t\t},\r\n\t\t\"percent\": {\r\n\t\t\tmax: 1\r\n\t\t},\r\n\t\t\"degrees\": {\r\n\t\t\tmod: 360,\r\n\t\t\tfloor: true\r\n\t\t}\r\n\t},\r\n\tsupport = color.support = {},\r\n\r\n\t// element for support tests\r\n\tsupportElem = jQuery( \"<p>\" )[ 0 ],\r\n\r\n\t// colors = jQuery.Color.names\r\n\tcolors,\r\n\r\n\t// local aliases of functions called often\r\n\teach = jQuery.each;\r\n\r\n// determine rgba support immediately\r\nsupportElem.style.cssText = \"background-color:rgba(1,1,1,.5)\";\r\nsupport.rgba = supportElem.style.backgroundColor.indexOf( \"rgba\" ) > -1;\r\n\r\n// define cache name and alpha properties\r\n// for rgba and hsla spaces\r\neach( spaces, function( spaceName, space ) {\r\n\tspace.cache = \"_\" + spaceName;\r\n\tspace.props.alpha = {\r\n\t\tidx: 3,\r\n\t\ttype: \"percent\",\r\n\t\tdef: 1\r\n\t};\r\n});\r\n\r\nfunction clamp( value, prop, allowEmpty ) {\r\n\tvar type = propTypes[ prop.type ] || {};\r\n\r\n\tif ( value == null ) {\r\n\t\treturn (allowEmpty || !prop.def) ? null : prop.def;\r\n\t}\r\n\r\n\t// ~~ is an short way of doing floor for positive numbers\r\n\tvalue = type.floor ? ~~value : parseFloat( value );\r\n\r\n\t// IE will pass in empty strings as value for alpha,\r\n\t// which will hit this case\r\n\tif ( isNaN( value ) ) {\r\n\t\treturn prop.def;\r\n\t}\r\n\r\n\tif ( type.mod ) {\r\n\t\t// we add mod before modding to make sure that negatives values\r\n\t\t// get converted properly: -10 -> 350\r\n\t\treturn (value + type.mod) % type.mod;\r\n\t}\r\n\r\n\t// for now all property types without mod have min and max\r\n\treturn 0 > value ? 0 : type.max < value ? type.max : value;\r\n}\r\n\r\nfunction stringParse( string ) {\r\n\tvar inst = color(),\r\n\t\trgba = inst._rgba = [];\r\n\r\n\tstring = string.toLowerCase();\r\n\r\n\teach( stringParsers, function( i, parser ) {\r\n\t\tvar parsed,\r\n\t\t\tmatch = parser.re.exec( string ),\r\n\t\t\tvalues = match && parser.parse( match ),\r\n\t\t\tspaceName = parser.space || \"rgba\";\r\n\r\n\t\tif ( values ) {\r\n\t\t\tparsed = inst[ spaceName ]( values );\r\n\r\n\t\t\t// if this was an rgba parse the assignment might happen twice\r\n\t\t\t// oh well....\r\n\t\t\tinst[ spaces[ spaceName ].cache ] = parsed[ spaces[ spaceName ].cache ];\r\n\t\t\trgba = inst._rgba = parsed._rgba;\r\n\r\n\t\t\t// exit each( stringParsers ) here because we matched\r\n\t\t\treturn false;\r\n\t\t}\r\n\t});\r\n\r\n\t// Found a stringParser that handled it\r\n\tif ( rgba.length ) {\r\n\r\n\t\t// if this came from a parsed string, force \"transparent\" when alpha is 0\r\n\t\t// chrome, (and maybe others) return \"transparent\" as rgba(0,0,0,0)\r\n\t\tif ( rgba.join() === \"0,0,0,0\" ) {\r\n\t\t\tjQuery.extend( rgba, colors.transparent );\r\n\t\t}\r\n\t\treturn inst;\r\n\t}\r\n\r\n\t// named colors\r\n\treturn colors[ string ];\r\n}\r\n\r\ncolor.fn = jQuery.extend( color.prototype, {\r\n\tparse: function( red, green, blue, alpha ) {\r\n\t\tif ( red === undefined ) {\r\n\t\t\tthis._rgba = [ null, null, null, null ];\r\n\t\t\treturn this;\r\n\t\t}\r\n\t\tif ( red.jquery || red.nodeType ) {\r\n\t\t\tred = jQuery( red ).css( green );\r\n\t\t\tgreen = undefined;\r\n\t\t}\r\n\r\n\t\tvar inst = this,\r\n\t\t\ttype = jQuery.type( red ),\r\n\t\t\trgba = this._rgba = [];\r\n\r\n\t\t// more than 1 argument specified - assume ( red, green, blue, alpha )\r\n\t\tif ( green !== undefined ) {\r\n\t\t\tred = [ red, green, blue, alpha ];\r\n\t\t\ttype = \"array\";\r\n\t\t}\r\n\r\n\t\tif ( type === \"string\" ) {\r\n\t\t\treturn this.parse( stringParse( red ) || colors._default );\r\n\t\t}\r\n\r\n\t\tif ( type === \"array\" ) {\r\n\t\t\teach( spaces.rgba.props, function( key, prop ) {\r\n\t\t\t\trgba[ prop.idx ] = clamp( red[ prop.idx ], prop );\r\n\t\t\t});\r\n\t\t\treturn this;\r\n\t\t}\r\n\r\n\t\tif ( type === \"object\" ) {\r\n\t\t\tif ( red instanceof color ) {\r\n\t\t\t\teach( spaces, function( spaceName, space ) {\r\n\t\t\t\t\tif ( red[ space.cache ] ) {\r\n\t\t\t\t\t\tinst[ space.cache ] = red[ space.cache ].slice();\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\teach( spaces, function( spaceName, space ) {\r\n\t\t\t\t\tvar cache = space.cache;\r\n\t\t\t\t\teach( space.props, function( key, prop ) {\r\n\r\n\t\t\t\t\t\t// if the cache doesn't exist, and we know how to convert\r\n\t\t\t\t\t\tif ( !inst[ cache ] && space.to ) {\r\n\r\n\t\t\t\t\t\t\t// if the value was null, we don't need to copy it\r\n\t\t\t\t\t\t\t// if the key was alpha, we don't need to copy it either\r\n\t\t\t\t\t\t\tif ( key === \"alpha\" || red[ key ] == null ) {\r\n\t\t\t\t\t\t\t\treturn;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tinst[ cache ] = space.to( inst._rgba );\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t// this is the only case where we allow nulls for ALL properties.\r\n\t\t\t\t\t\t// call clamp with alwaysAllowEmpty\r\n\t\t\t\t\t\tinst[ cache ][ prop.idx ] = clamp( red[ key ], prop, true );\r\n\t\t\t\t\t});\r\n\r\n\t\t\t\t\t// everything defined but alpha?\r\n\t\t\t\t\tif ( inst[ cache ] && jQuery.inArray( null, inst[ cache ].slice( 0, 3 ) ) < 0 ) {\r\n\t\t\t\t\t\t// use the default of 1\r\n\t\t\t\t\t\tinst[ cache ][ 3 ] = 1;\r\n\t\t\t\t\t\tif ( space.from ) {\r\n\t\t\t\t\t\t\tinst._rgba = space.from( inst[ cache ] );\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t\treturn this;\r\n\t\t}\r\n\t},\r\n\tis: function( compare ) {\r\n\t\tvar is = color( compare ),\r\n\t\t\tsame = true,\r\n\t\t\tinst = this;\r\n\r\n\t\teach( spaces, function( _, space ) {\r\n\t\t\tvar localCache,\r\n\t\t\t\tisCache = is[ space.cache ];\r\n\t\t\tif (isCache) {\r\n\t\t\t\tlocalCache = inst[ space.cache ] || space.to && space.to( inst._rgba ) || [];\r\n\t\t\t\teach( space.props, function( _, prop ) {\r\n\t\t\t\t\tif ( isCache[ prop.idx ] != null ) {\r\n\t\t\t\t\t\tsame = ( isCache[ prop.idx ] === localCache[ prop.idx ] );\r\n\t\t\t\t\t\treturn same;\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t\treturn same;\r\n\t\t});\r\n\t\treturn same;\r\n\t},\r\n\t_space: function() {\r\n\t\tvar used = [],\r\n\t\t\tinst = this;\r\n\t\teach( spaces, function( spaceName, space ) {\r\n\t\t\tif ( inst[ space.cache ] ) {\r\n\t\t\t\tused.push( spaceName );\r\n\t\t\t}\r\n\t\t});\r\n\t\treturn used.pop();\r\n\t},\r\n\ttransition: function( other, distance ) {\r\n\t\tvar end = color( other ),\r\n\t\t\tspaceName = end._space(),\r\n\t\t\tspace = spaces[ spaceName ],\r\n\t\t\tstartColor = this.alpha() === 0 ? color( \"transparent\" ) : this,\r\n\t\t\tstart = startColor[ space.cache ] || space.to( startColor._rgba ),\r\n\t\t\tresult = start.slice();\r\n\r\n\t\tend = end[ space.cache ];\r\n\t\teach( space.props, function( key, prop ) {\r\n\t\t\tvar index = prop.idx,\r\n\t\t\t\tstartValue = start[ index ],\r\n\t\t\t\tendValue = end[ index ],\r\n\t\t\t\ttype = propTypes[ prop.type ] || {};\r\n\r\n\t\t\t// if null, don't override start value\r\n\t\t\tif ( endValue === null ) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\t// if null - use end\r\n\t\t\tif ( startValue === null ) {\r\n\t\t\t\tresult[ index ] = endValue;\r\n\t\t\t} else {\r\n\t\t\t\tif ( type.mod ) {\r\n\t\t\t\t\tif ( endValue - startValue > type.mod / 2 ) {\r\n\t\t\t\t\t\tstartValue += type.mod;\r\n\t\t\t\t\t} else if ( startValue - endValue > type.mod / 2 ) {\r\n\t\t\t\t\t\tstartValue -= type.mod;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\tresult[ index ] = clamp( ( endValue - startValue ) * distance + startValue, prop );\r\n\t\t\t}\r\n\t\t});\r\n\t\treturn this[ spaceName ]( result );\r\n\t},\r\n\tblend: function( opaque ) {\r\n\t\t// if we are already opaque - return ourself\r\n\t\tif ( this._rgba[ 3 ] === 1 ) {\r\n\t\t\treturn this;\r\n\t\t}\r\n\r\n\t\tvar rgb = this._rgba.slice(),\r\n\t\t\ta = rgb.pop(),\r\n\t\t\tblend = color( opaque )._rgba;\r\n\r\n\t\treturn color( jQuery.map( rgb, function( v, i ) {\r\n\t\t\treturn ( 1 - a ) * blend[ i ] + a * v;\r\n\t\t}));\r\n\t},\r\n\ttoRgbaString: function() {\r\n\t\tvar prefix = \"rgba(\",\r\n\t\t\trgba = jQuery.map( this._rgba, function( v, i ) {\r\n\t\t\t\treturn v == null ? ( i > 2 ? 1 : 0 ) : v;\r\n\t\t\t});\r\n\r\n\t\tif ( rgba[ 3 ] === 1 ) {\r\n\t\t\trgba.pop();\r\n\t\t\tprefix = \"rgb(\";\r\n\t\t}\r\n\r\n\t\treturn prefix + rgba.join() + \")\";\r\n\t},\r\n\ttoHslaString: function() {\r\n\t\tvar prefix = \"hsla(\",\r\n\t\t\thsla = jQuery.map( this.hsla(), function( v, i ) {\r\n\t\t\t\tif ( v == null ) {\r\n\t\t\t\t\tv = i > 2 ? 1 : 0;\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// catch 1 and 2\r\n\t\t\t\tif ( i && i < 3 ) {\r\n\t\t\t\t\tv = Math.round( v * 100 ) + \"%\";\r\n\t\t\t\t}\r\n\t\t\t\treturn v;\r\n\t\t\t});\r\n\r\n\t\tif ( hsla[ 3 ] === 1 ) {\r\n\t\t\thsla.pop();\r\n\t\t\tprefix = \"hsl(\";\r\n\t\t}\r\n\t\treturn prefix + hsla.join() + \")\";\r\n\t},\r\n\ttoHexString: function( includeAlpha ) {\r\n\t\tvar rgba = this._rgba.slice(),\r\n\t\t\talpha = rgba.pop();\r\n\r\n\t\tif ( includeAlpha ) {\r\n\t\t\trgba.push( ~~( alpha * 255 ) );\r\n\t\t}\r\n\r\n\t\treturn \"#\" + jQuery.map( rgba, function( v ) {\r\n\r\n\t\t\t// default to 0 when nulls exist\r\n\t\t\tv = ( v || 0 ).toString( 16 );\r\n\t\t\treturn v.length === 1 ? \"0\" + v : v;\r\n\t\t}).join(\"\");\r\n\t},\r\n\ttoString: function() {\r\n\t\treturn this._rgba[ 3 ] === 0 ? \"transparent\" : this.toRgbaString();\r\n\t}\r\n});\r\ncolor.fn.parse.prototype = color.fn;\r\n\r\n// hsla conversions adapted from:\r\n// https://code.google.com/p/maashaack/source/browse/packages/graphics/trunk/src/graphics/colors/HUE2RGB.as?r=5021\r\n\r\nfunction hue2rgb( p, q, h ) {\r\n\th = ( h + 1 ) % 1;\r\n\tif ( h * 6 < 1 ) {\r\n\t\treturn p + ( q - p ) * h * 6;\r\n\t}\r\n\tif ( h * 2 < 1) {\r\n\t\treturn q;\r\n\t}\r\n\tif ( h * 3 < 2 ) {\r\n\t\treturn p + ( q - p ) * ( ( 2 / 3 ) - h ) * 6;\r\n\t}\r\n\treturn p;\r\n}\r\n\r\nspaces.hsla.to = function( rgba ) {\r\n\tif ( rgba[ 0 ] == null || rgba[ 1 ] == null || rgba[ 2 ] == null ) {\r\n\t\treturn [ null, null, null, rgba[ 3 ] ];\r\n\t}\r\n\tvar r = rgba[ 0 ] / 255,\r\n\t\tg = rgba[ 1 ] / 255,\r\n\t\tb = rgba[ 2 ] / 255,\r\n\t\ta = rgba[ 3 ],\r\n\t\tmax = Math.max( r, g, b ),\r\n\t\tmin = Math.min( r, g, b ),\r\n\t\tdiff = max - min,\r\n\t\tadd = max + min,\r\n\t\tl = add * 0.5,\r\n\t\th, s;\r\n\r\n\tif ( min === max ) {\r\n\t\th = 0;\r\n\t} else if ( r === max ) {\r\n\t\th = ( 60 * ( g - b ) / diff ) + 360;\r\n\t} else if ( g === max ) {\r\n\t\th = ( 60 * ( b - r ) / diff ) + 120;\r\n\t} else {\r\n\t\th = ( 60 * ( r - g ) / diff ) + 240;\r\n\t}\r\n\r\n\t// chroma (diff) == 0 means greyscale which, by definition, saturation = 0%\r\n\t// otherwise, saturation is based on the ratio of chroma (diff) to lightness (add)\r\n\tif ( diff === 0 ) {\r\n\t\ts = 0;\r\n\t} else if ( l <= 0.5 ) {\r\n\t\ts = diff / add;\r\n\t} else {\r\n\t\ts = diff / ( 2 - add );\r\n\t}\r\n\treturn [ Math.round(h) % 360, s, l, a == null ? 1 : a ];\r\n};\r\n\r\nspaces.hsla.from = function( hsla ) {\r\n\tif ( hsla[ 0 ] == null || hsla[ 1 ] == null || hsla[ 2 ] == null ) {\r\n\t\treturn [ null, null, null, hsla[ 3 ] ];\r\n\t}\r\n\tvar h = hsla[ 0 ] / 360,\r\n\t\ts = hsla[ 1 ],\r\n\t\tl = hsla[ 2 ],\r\n\t\ta = hsla[ 3 ],\r\n\t\tq = l <= 0.5 ? l * ( 1 + s ) : l + s - l * s,\r\n\t\tp = 2 * l - q;\r\n\r\n\treturn [\r\n\t\tMath.round( hue2rgb( p, q, h + ( 1 / 3 ) ) * 255 ),\r\n\t\tMath.round( hue2rgb( p, q, h ) * 255 ),\r\n\t\tMath.round( hue2rgb( p, q, h - ( 1 / 3 ) ) * 255 ),\r\n\t\ta\r\n\t];\r\n};\r\n\r\neach( spaces, function( spaceName, space ) {\r\n\tvar props = space.props,\r\n\t\tcache = space.cache,\r\n\t\tto = space.to,\r\n\t\tfrom = space.from;\r\n\r\n\t// makes rgba() and hsla()\r\n\tcolor.fn[ spaceName ] = function( value ) {\r\n\r\n\t\t// generate a cache for this space if it doesn't exist\r\n\t\tif ( to && !this[ cache ] ) {\r\n\t\t\tthis[ cache ] = to( this._rgba );\r\n\t\t}\r\n\t\tif ( value === undefined ) {\r\n\t\t\treturn this[ cache ].slice();\r\n\t\t}\r\n\r\n\t\tvar ret,\r\n\t\t\ttype = jQuery.type( value ),\r\n\t\t\tarr = ( type === \"array\" || type === \"object\" ) ? value : arguments,\r\n\t\t\tlocal = this[ cache ].slice();\r\n\r\n\t\teach( props, function( key, prop ) {\r\n\t\t\tvar val = arr[ type === \"object\" ? key : prop.idx ];\r\n\t\t\tif ( val == null ) {\r\n\t\t\t\tval = local[ prop.idx ];\r\n\t\t\t}\r\n\t\t\tlocal[ prop.idx ] = clamp( val, prop );\r\n\t\t});\r\n\r\n\t\tif ( from ) {\r\n\t\t\tret = color( from( local ) );\r\n\t\t\tret[ cache ] = local;\r\n\t\t\treturn ret;\r\n\t\t} else {\r\n\t\t\treturn color( local );\r\n\t\t}\r\n\t};\r\n\r\n\t// makes red() green() blue() alpha() hue() saturation() lightness()\r\n\teach( props, function( key, prop ) {\r\n\t\t// alpha is included in more than one space\r\n\t\tif ( color.fn[ key ] ) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tcolor.fn[ key ] = function( value ) {\r\n\t\t\tvar vtype = jQuery.type( value ),\r\n\t\t\t\tfn = ( key === \"alpha\" ? ( this._hsla ? \"hsla\" : \"rgba\" ) : spaceName ),\r\n\t\t\t\tlocal = this[ fn ](),\r\n\t\t\t\tcur = local[ prop.idx ],\r\n\t\t\t\tmatch;\r\n\r\n\t\t\tif ( vtype === \"undefined\" ) {\r\n\t\t\t\treturn cur;\r\n\t\t\t}\r\n\r\n\t\t\tif ( vtype === \"function\" ) {\r\n\t\t\t\tvalue = value.call( this, cur );\r\n\t\t\t\tvtype = jQuery.type( value );\r\n\t\t\t}\r\n\t\t\tif ( value == null && prop.empty ) {\r\n\t\t\t\treturn this;\r\n\t\t\t}\r\n\t\t\tif ( vtype === \"string\" ) {\r\n\t\t\t\tmatch = rplusequals.exec( value );\r\n\t\t\t\tif ( match ) {\r\n\t\t\t\t\tvalue = cur + parseFloat( match[ 2 ] ) * ( match[ 1 ] === \"+\" ? 1 : -1 );\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tlocal[ prop.idx ] = value;\r\n\t\t\treturn this[ fn ]( local );\r\n\t\t};\r\n\t});\r\n});\r\n\r\n// add cssHook and .fx.step function for each named hook.\r\n// accept a space separated string of properties\r\ncolor.hook = function( hook ) {\r\n\tvar hooks = hook.split( \" \" );\r\n\teach( hooks, function( i, hook ) {\r\n\t\tjQuery.cssHooks[ hook ] = {\r\n\t\t\tset: function( elem, value ) {\r\n\t\t\t\tvar parsed, curElem,\r\n\t\t\t\t\tbackgroundColor = \"\";\r\n\r\n\t\t\t\tif ( value !== \"transparent\" && ( jQuery.type( value ) !== \"string\" || ( parsed = stringParse( value ) ) ) ) {\r\n\t\t\t\t\tvalue = color( parsed || value );\r\n\t\t\t\t\tif ( !support.rgba && value._rgba[ 3 ] !== 1 ) {\r\n\t\t\t\t\t\tcurElem = hook === \"backgroundColor\" ? elem.parentNode : elem;\r\n\t\t\t\t\t\twhile (\r\n\t\t\t\t\t\t\t(backgroundColor === \"\" || backgroundColor === \"transparent\") &&\r\n\t\t\t\t\t\t\tcurElem && curElem.style\r\n\t\t\t\t\t\t) {\r\n\t\t\t\t\t\t\ttry {\r\n\t\t\t\t\t\t\t\tbackgroundColor = jQuery.css( curElem, \"backgroundColor\" );\r\n\t\t\t\t\t\t\t\tcurElem = curElem.parentNode;\r\n\t\t\t\t\t\t\t} catch ( e ) {\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tvalue = value.blend( backgroundColor && backgroundColor !== \"transparent\" ?\r\n\t\t\t\t\t\t\tbackgroundColor :\r\n\t\t\t\t\t\t\t\"_default\" );\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tvalue = value.toRgbaString();\r\n\t\t\t\t}\r\n\t\t\t\ttry {\r\n\t\t\t\t\telem.style[ hook ] = value;\r\n\t\t\t\t} catch ( e ) {\r\n\t\t\t\t\t// wrapped to prevent IE from throwing errors on \"invalid\" values like 'auto' or 'inherit'\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t};\r\n\t\tjQuery.fx.step[ hook ] = function( fx ) {\r\n\t\t\tif ( !fx.colorInit ) {\r\n\t\t\t\tfx.start = color( fx.elem, hook );\r\n\t\t\t\tfx.end = color( fx.end );\r\n\t\t\t\tfx.colorInit = true;\r\n\t\t\t}\r\n\t\t\tjQuery.cssHooks[ hook ].set( fx.elem, fx.start.transition( fx.end, fx.pos ) );\r\n\t\t};\r\n\t});\r\n\r\n};\r\n\r\ncolor.hook( stepHooks );\r\n\r\njQuery.cssHooks.borderColor = {\r\n\texpand: function( value ) {\r\n\t\tvar expanded = {};\r\n\r\n\t\teach( [ \"Top\", \"Right\", \"Bottom\", \"Left\" ], function( i, part ) {\r\n\t\t\texpanded[ \"border\" + part + \"Color\" ] = value;\r\n\t\t});\r\n\t\treturn expanded;\r\n\t}\r\n};\r\n\r\n// Basic color names only.\r\n// Usage of any of the other color names requires adding yourself or including\r\n// jquery.color.svg-names.js.\r\ncolors = jQuery.Color.names = {\r\n\t// 4.1. Basic color keywords\r\n\taqua: \"#00ffff\",\r\n\tblack: \"#000000\",\r\n\tblue: \"#0000ff\",\r\n\tfuchsia: \"#ff00ff\",\r\n\tgray: \"#808080\",\r\n\tgreen: \"#008000\",\r\n\tlime: \"#00ff00\",\r\n\tmaroon: \"#800000\",\r\n\tnavy: \"#000080\",\r\n\tolive: \"#808000\",\r\n\tpurple: \"#800080\",\r\n\tred: \"#ff0000\",\r\n\tsilver: \"#c0c0c0\",\r\n\tteal: \"#008080\",\r\n\twhite: \"#ffffff\",\r\n\tyellow: \"#ffff00\",\r\n\r\n\t// 4.2.3. \"transparent\" color keyword\r\n\ttransparent: [ null, null, null, 0 ],\r\n\r\n\t_default: \"#ffffff\"\r\n};\r\n\r\n})( jQuery );\r\n\r\n/******************************************************************************/\r\n/****************************** CLASS ANIMATIONS ******************************/\r\n/******************************************************************************/\r\n(function() {\r\n\r\nvar classAnimationActions = [ \"add\", \"remove\", \"toggle\" ],\r\n\tshorthandStyles = {\r\n\t\tborder: 1,\r\n\t\tborderBottom: 1,\r\n\t\tborderColor: 1,\r\n\t\tborderLeft: 1,\r\n\t\tborderRight: 1,\r\n\t\tborderTop: 1,\r\n\t\tborderWidth: 1,\r\n\t\tmargin: 1,\r\n\t\tpadding: 1\r\n\t};\r\n\r\n$.each([ \"borderLeftStyle\", \"borderRightStyle\", \"borderBottomStyle\", \"borderTopStyle\" ], function( _, prop ) {\r\n\t$.fx.step[ prop ] = function( fx ) {\r\n\t\tif ( fx.end !== \"none\" && !fx.setAttr || fx.pos === 1 && !fx.setAttr ) {\r\n\t\t\tjQuery.style( fx.elem, prop, fx.end );\r\n\t\t\tfx.setAttr = true;\r\n\t\t}\r\n\t};\r\n});\r\n\r\nfunction getElementStyles( elem ) {\r\n\tvar key, len,\r\n\t\tstyle = elem.ownerDocument.defaultView ?\r\n\t\t\telem.ownerDocument.defaultView.getComputedStyle( elem, null ) :\r\n\t\t\telem.currentStyle,\r\n\t\tstyles = {};\r\n\r\n\tif ( style && style.length && style[ 0 ] && style[ style[ 0 ] ] ) {\r\n\t\tlen = style.length;\r\n\t\twhile ( len-- ) {\r\n\t\t\tkey = style[ len ];\r\n\t\t\tif ( typeof style[ key ] === \"string\" ) {\r\n\t\t\t\tstyles[ $.camelCase( key ) ] = style[ key ];\r\n\t\t\t}\r\n\t\t}\r\n\t// support: Opera, IE <9\r\n\t} else {\r\n\t\tfor ( key in style ) {\r\n\t\t\tif ( typeof style[ key ] === \"string\" ) {\r\n\t\t\t\tstyles[ key ] = style[ key ];\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\treturn styles;\r\n}\r\n\r\nfunction styleDifference( oldStyle, newStyle ) {\r\n\tvar diff = {},\r\n\t\tname, value;\r\n\r\n\tfor ( name in newStyle ) {\r\n\t\tvalue = newStyle[ name ];\r\n\t\tif ( oldStyle[ name ] !== value ) {\r\n\t\t\tif ( !shorthandStyles[ name ] ) {\r\n\t\t\t\tif ( $.fx.step[ name ] || !isNaN( parseFloat( value ) ) ) {\r\n\t\t\t\t\tdiff[ name ] = value;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\treturn diff;\r\n}\r\n\r\n// support: jQuery <1.8\r\nif ( !$.fn.addBack ) {\r\n\t$.fn.addBack = function( selector ) {\r\n\t\treturn this.add( selector == null ?\r\n\t\t\tthis.prevObject : this.prevObject.filter( selector )\r\n\t\t);\r\n\t};\r\n}\r\n\r\n$.effects.animateClass = function( value, duration, easing, callback ) {\r\n\tvar o = $.speed( duration, easing, callback );\r\n\r\n\treturn this.queue( function() {\r\n\t\tvar animated = $( this ),\r\n\t\t\tbaseClass = animated.attr( \"class\" ) || \"\",\r\n\t\t\tapplyClassChange,\r\n\t\t\tallAnimations = o.children ? animated.find( \"*\" ).addBack() : animated;\r\n\r\n\t\t// map the animated objects to store the original styles.\r\n\t\tallAnimations = allAnimations.map(function() {\r\n\t\t\tvar el = $( this );\r\n\t\t\treturn {\r\n\t\t\t\tel: el,\r\n\t\t\t\tstart: getElementStyles( this )\r\n\t\t\t};\r\n\t\t});\r\n\r\n\t\t// apply class change\r\n\t\tapplyClassChange = function() {\r\n\t\t\t$.each( classAnimationActions, function(i, action) {\r\n\t\t\t\tif ( value[ action ] ) {\r\n\t\t\t\t\tanimated[ action + \"Class\" ]( value[ action ] );\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t};\r\n\t\tapplyClassChange();\r\n\r\n\t\t// map all animated objects again - calculate new styles and diff\r\n\t\tallAnimations = allAnimations.map(function() {\r\n\t\t\tthis.end = getElementStyles( this.el[ 0 ] );\r\n\t\t\tthis.diff = styleDifference( this.start, this.end );\r\n\t\t\treturn this;\r\n\t\t});\r\n\r\n\t\t// apply original class\r\n\t\tanimated.attr( \"class\", baseClass );\r\n\r\n\t\t// map all animated objects again - this time collecting a promise\r\n\t\tallAnimations = allAnimations.map(function() {\r\n\t\t\tvar styleInfo = this,\r\n\t\t\t\tdfd = $.Deferred(),\r\n\t\t\t\topts = $.extend({}, o, {\r\n\t\t\t\t\tqueue: false,\r\n\t\t\t\t\tcomplete: function() {\r\n\t\t\t\t\t\tdfd.resolve( styleInfo );\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\r\n\t\t\tthis.el.animate( this.diff, opts );\r\n\t\t\treturn dfd.promise();\r\n\t\t});\r\n\r\n\t\t// once all animations have completed:\r\n\t\t$.when.apply( $, allAnimations.get() ).done(function() {\r\n\r\n\t\t\t// set the final class\r\n\t\t\tapplyClassChange();\r\n\r\n\t\t\t// for each animated element,\r\n\t\t\t// clear all css properties that were animated\r\n\t\t\t$.each( arguments, function() {\r\n\t\t\t\tvar el = this.el;\r\n\t\t\t\t$.each( this.diff, function(key) {\r\n\t\t\t\t\tel.css( key, \"\" );\r\n\t\t\t\t});\r\n\t\t\t});\r\n\r\n\t\t\t// this is guarnteed to be there if you use jQuery.speed()\r\n\t\t\t// it also handles dequeuing the next anim...\r\n\t\t\to.complete.call( animated[ 0 ] );\r\n\t\t});\r\n\t});\r\n};\r\n\r\n$.fn.extend({\r\n\taddClass: (function( orig ) {\r\n\t\treturn function( classNames, speed, easing, callback ) {\r\n\t\t\treturn speed ?\r\n\t\t\t\t$.effects.animateClass.call( this,\r\n\t\t\t\t\t{ add: classNames }, speed, easing, callback ) :\r\n\t\t\t\torig.apply( this, arguments );\r\n\t\t};\r\n\t})( $.fn.addClass ),\r\n\r\n\tremoveClass: (function( orig ) {\r\n\t\treturn function( classNames, speed, easing, callback ) {\r\n\t\t\treturn arguments.length > 1 ?\r\n\t\t\t\t$.effects.animateClass.call( this,\r\n\t\t\t\t\t{ remove: classNames }, speed, easing, callback ) :\r\n\t\t\t\torig.apply( this, arguments );\r\n\t\t};\r\n\t})( $.fn.removeClass ),\r\n\r\n\ttoggleClass: (function( orig ) {\r\n\t\treturn function( classNames, force, speed, easing, callback ) {\r\n\t\t\tif ( typeof force === \"boolean\" || force === undefined ) {\r\n\t\t\t\tif ( !speed ) {\r\n\t\t\t\t\t// without speed parameter\r\n\t\t\t\t\treturn orig.apply( this, arguments );\r\n\t\t\t\t} else {\r\n\t\t\t\t\treturn $.effects.animateClass.call( this,\r\n\t\t\t\t\t\t(force ? { add: classNames } : { remove: classNames }),\r\n\t\t\t\t\t\tspeed, easing, callback );\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\t// without force parameter\r\n\t\t\t\treturn $.effects.animateClass.call( this,\r\n\t\t\t\t\t{ toggle: classNames }, force, speed, easing );\r\n\t\t\t}\r\n\t\t};\r\n\t})( $.fn.toggleClass ),\r\n\r\n\tswitchClass: function( remove, add, speed, easing, callback) {\r\n\t\treturn $.effects.animateClass.call( this, {\r\n\t\t\tadd: add,\r\n\t\t\tremove: remove\r\n\t\t}, speed, easing, callback );\r\n\t}\r\n});\r\n\r\n})();\r\n\r\n/******************************************************************************/\r\n/*********************************** EFFECTS **********************************/\r\n/******************************************************************************/\r\n\r\n(function() {\r\n\r\n$.extend( $.effects, {\r\n\tversion: \"1.11.4\",\r\n\r\n\t// Saves a set of properties in a data storage\r\n\tsave: function( element, set ) {\r\n\t\tfor ( var i = 0; i < set.length; i++ ) {\r\n\t\t\tif ( set[ i ] !== null ) {\r\n\t\t\t\telement.data( dataSpace + set[ i ], element[ 0 ].style[ set[ i ] ] );\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n\r\n\t// Restores a set of previously saved properties from a data storage\r\n\trestore: function( element, set ) {\r\n\t\tvar val, i;\r\n\t\tfor ( i = 0; i < set.length; i++ ) {\r\n\t\t\tif ( set[ i ] !== null ) {\r\n\t\t\t\tval = element.data( dataSpace + set[ i ] );\r\n\t\t\t\t// support: jQuery 1.6.2\r\n\t\t\t\t// http://bugs.jquery.com/ticket/9917\r\n\t\t\t\t// jQuery 1.6.2 incorrectly returns undefined for any falsy value.\r\n\t\t\t\t// We can't differentiate between \"\" and 0 here, so we just assume\r\n\t\t\t\t// empty string since it's likely to be a more common value...\r\n\t\t\t\tif ( val === undefined ) {\r\n\t\t\t\t\tval = \"\";\r\n\t\t\t\t}\r\n\t\t\t\telement.css( set[ i ], val );\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n\r\n\tsetMode: function( el, mode ) {\r\n\t\tif (mode === \"toggle\") {\r\n\t\t\tmode = el.is( \":hidden\" ) ? \"show\" : \"hide\";\r\n\t\t}\r\n\t\treturn mode;\r\n\t},\r\n\r\n\t// Translates a [top,left] array into a baseline value\r\n\t// this should be a little more flexible in the future to handle a string & hash\r\n\tgetBaseline: function( origin, original ) {\r\n\t\tvar y, x;\r\n\t\tswitch ( origin[ 0 ] ) {\r\n\t\t\tcase \"top\": y = 0; break;\r\n\t\t\tcase \"middle\": y = 0.5; break;\r\n\t\t\tcase \"bottom\": y = 1; break;\r\n\t\t\tdefault: y = origin[ 0 ] / original.height;\r\n\t\t}\r\n\t\tswitch ( origin[ 1 ] ) {\r\n\t\t\tcase \"left\": x = 0; break;\r\n\t\t\tcase \"center\": x = 0.5; break;\r\n\t\t\tcase \"right\": x = 1; break;\r\n\t\t\tdefault: x = origin[ 1 ] / original.width;\r\n\t\t}\r\n\t\treturn {\r\n\t\t\tx: x,\r\n\t\t\ty: y\r\n\t\t};\r\n\t},\r\n\r\n\t// Wraps the element around a wrapper that copies position properties\r\n\tcreateWrapper: function( element ) {\r\n\r\n\t\t// if the element is already wrapped, return it\r\n\t\tif ( element.parent().is( \".ui-effects-wrapper\" )) {\r\n\t\t\treturn element.parent();\r\n\t\t}\r\n\r\n\t\t// wrap the element\r\n\t\tvar props = {\r\n\t\t\t\twidth: element.outerWidth(true),\r\n\t\t\t\theight: element.outerHeight(true),\r\n\t\t\t\t\"float\": element.css( \"float\" )\r\n\t\t\t},\r\n\t\t\twrapper = $( \"<div></div>\" )\r\n\t\t\t\t.addClass( \"ui-effects-wrapper\" )\r\n\t\t\t\t.css({\r\n\t\t\t\t\tfontSize: \"100%\",\r\n\t\t\t\t\tbackground: \"transparent\",\r\n\t\t\t\t\tborder: \"none\",\r\n\t\t\t\t\tmargin: 0,\r\n\t\t\t\t\tpadding: 0\r\n\t\t\t\t}),\r\n\t\t\t// Store the size in case width/height are defined in % - Fixes #5245\r\n\t\t\tsize = {\r\n\t\t\t\twidth: element.width(),\r\n\t\t\t\theight: element.height()\r\n\t\t\t},\r\n\t\t\tactive = document.activeElement;\r\n\r\n\t\t// support: Firefox\r\n\t\t// Firefox incorrectly exposes anonymous content\r\n\t\t// https://bugzilla.mozilla.org/show_bug.cgi?id=561664\r\n\t\ttry {\r\n\t\t\tactive.id;\r\n\t\t} catch ( e ) {\r\n\t\t\tactive = document.body;\r\n\t\t}\r\n\r\n\t\telement.wrap( wrapper );\r\n\r\n\t\t// Fixes #7595 - Elements lose focus when wrapped.\r\n\t\tif ( element[ 0 ] === active || $.contains( element[ 0 ], active ) ) {\r\n\t\t\t$( active ).focus();\r\n\t\t}\r\n\r\n\t\twrapper = element.parent(); //Hotfix for jQuery 1.4 since some change in wrap() seems to actually lose the reference to the wrapped element\r\n\r\n\t\t// transfer positioning properties to the wrapper\r\n\t\tif ( element.css( \"position\" ) === \"static\" ) {\r\n\t\t\twrapper.css({ position: \"relative\" });\r\n\t\t\telement.css({ position: \"relative\" });\r\n\t\t} else {\r\n\t\t\t$.extend( props, {\r\n\t\t\t\tposition: element.css( \"position\" ),\r\n\t\t\t\tzIndex: element.css( \"z-index\" )\r\n\t\t\t});\r\n\t\t\t$.each([ \"top\", \"left\", \"bottom\", \"right\" ], function(i, pos) {\r\n\t\t\t\tprops[ pos ] = element.css( pos );\r\n\t\t\t\tif ( isNaN( parseInt( props[ pos ], 10 ) ) ) {\r\n\t\t\t\t\tprops[ pos ] = \"auto\";\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t\telement.css({\r\n\t\t\t\tposition: \"relative\",\r\n\t\t\t\ttop: 0,\r\n\t\t\t\tleft: 0,\r\n\t\t\t\tright: \"auto\",\r\n\t\t\t\tbottom: \"auto\"\r\n\t\t\t});\r\n\t\t}\r\n\t\telement.css(size);\r\n\r\n\t\treturn wrapper.css( props ).show();\r\n\t},\r\n\r\n\tremoveWrapper: function( element ) {\r\n\t\tvar active = document.activeElement;\r\n\r\n\t\tif ( element.parent().is( \".ui-effects-wrapper\" ) ) {\r\n\t\t\telement.parent().replaceWith( element );\r\n\r\n\t\t\t// Fixes #7595 - Elements lose focus when wrapped.\r\n\t\t\tif ( element[ 0 ] === active || $.contains( element[ 0 ], active ) ) {\r\n\t\t\t\t$( active ).focus();\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn element;\r\n\t},\r\n\r\n\tsetTransition: function( element, list, factor, value ) {\r\n\t\tvalue = value || {};\r\n\t\t$.each( list, function( i, x ) {\r\n\t\t\tvar unit = element.cssUnit( x );\r\n\t\t\tif ( unit[ 0 ] > 0 ) {\r\n\t\t\t\tvalue[ x ] = unit[ 0 ] * factor + unit[ 1 ];\r\n\t\t\t}\r\n\t\t});\r\n\t\treturn value;\r\n\t}\r\n});\r\n\r\n// return an effect options object for the given parameters:\r\nfunction _normalizeArguments( effect, options, speed, callback ) {\r\n\r\n\t// allow passing all options as the first parameter\r\n\tif ( $.isPlainObject( effect ) ) {\r\n\t\toptions = effect;\r\n\t\teffect = effect.effect;\r\n\t}\r\n\r\n\t// convert to an object\r\n\teffect = { effect: effect };\r\n\r\n\t// catch (effect, null, ...)\r\n\tif ( options == null ) {\r\n\t\toptions = {};\r\n\t}\r\n\r\n\t// catch (effect, callback)\r\n\tif ( $.isFunction( options ) ) {\r\n\t\tcallback = options;\r\n\t\tspeed = null;\r\n\t\toptions = {};\r\n\t}\r\n\r\n\t// catch (effect, speed, ?)\r\n\tif ( typeof options === \"number\" || $.fx.speeds[ options ] ) {\r\n\t\tcallback = speed;\r\n\t\tspeed = options;\r\n\t\toptions = {};\r\n\t}\r\n\r\n\t// catch (effect, options, callback)\r\n\tif ( $.isFunction( speed ) ) {\r\n\t\tcallback = speed;\r\n\t\tspeed = null;\r\n\t}\r\n\r\n\t// add options to effect\r\n\tif ( options ) {\r\n\t\t$.extend( effect, options );\r\n\t}\r\n\r\n\tspeed = speed || options.duration;\r\n\teffect.duration = $.fx.off ? 0 :\r\n\t\ttypeof speed === \"number\" ? speed :\r\n\t\tspeed in $.fx.speeds ? $.fx.speeds[ speed ] :\r\n\t\t$.fx.speeds._default;\r\n\r\n\teffect.complete = callback || options.complete;\r\n\r\n\treturn effect;\r\n}\r\n\r\nfunction standardAnimationOption( option ) {\r\n\t// Valid standard speeds (nothing, number, named speed)\r\n\tif ( !option || typeof option === \"number\" || $.fx.speeds[ option ] ) {\r\n\t\treturn true;\r\n\t}\r\n\r\n\t// Invalid strings - treat as \"normal\" speed\r\n\tif ( typeof option === \"string\" && !$.effects.effect[ option ] ) {\r\n\t\treturn true;\r\n\t}\r\n\r\n\t// Complete callback\r\n\tif ( $.isFunction( option ) ) {\r\n\t\treturn true;\r\n\t}\r\n\r\n\t// Options hash (but not naming an effect)\r\n\tif ( typeof option === \"object\" && !option.effect ) {\r\n\t\treturn true;\r\n\t}\r\n\r\n\t// Didn't match any standard API\r\n\treturn false;\r\n}\r\n\r\n$.fn.extend({\r\n\teffect: function( /* effect, options, speed, callback */ ) {\r\n\t\tvar args = _normalizeArguments.apply( this, arguments ),\r\n\t\t\tmode = args.mode,\r\n\t\t\tqueue = args.queue,\r\n\t\t\teffectMethod = $.effects.effect[ args.effect ];\r\n\r\n\t\tif ( $.fx.off || !effectMethod ) {\r\n\t\t\t// delegate to the original method (e.g., .show()) if possible\r\n\t\t\tif ( mode ) {\r\n\t\t\t\treturn this[ mode ]( args.duration, args.complete );\r\n\t\t\t} else {\r\n\t\t\t\treturn this.each( function() {\r\n\t\t\t\t\tif ( args.complete ) {\r\n\t\t\t\t\t\targs.complete.call( this );\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tfunction run( next ) {\r\n\t\t\tvar elem = $( this ),\r\n\t\t\t\tcomplete = args.complete,\r\n\t\t\t\tmode = args.mode;\r\n\r\n\t\t\tfunction done() {\r\n\t\t\t\tif ( $.isFunction( complete ) ) {\r\n\t\t\t\t\tcomplete.call( elem[0] );\r\n\t\t\t\t}\r\n\t\t\t\tif ( $.isFunction( next ) ) {\r\n\t\t\t\t\tnext();\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\t// If the element already has the correct final state, delegate to\r\n\t\t\t// the core methods so the internal tracking of \"olddisplay\" works.\r\n\t\t\tif ( elem.is( \":hidden\" ) ? mode === \"hide\" : mode === \"show\" ) {\r\n\t\t\t\telem[ mode ]();\r\n\t\t\t\tdone();\r\n\t\t\t} else {\r\n\t\t\t\teffectMethod.call( elem[0], args, done );\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn queue === false ? this.each( run ) : this.queue( queue || \"fx\", run );\r\n\t},\r\n\r\n\tshow: (function( orig ) {\r\n\t\treturn function( option ) {\r\n\t\t\tif ( standardAnimationOption( option ) ) {\r\n\t\t\t\treturn orig.apply( this, arguments );\r\n\t\t\t} else {\r\n\t\t\t\tvar args = _normalizeArguments.apply( this, arguments );\r\n\t\t\t\targs.mode = \"show\";\r\n\t\t\t\treturn this.effect.call( this, args );\r\n\t\t\t}\r\n\t\t};\r\n\t})( $.fn.show ),\r\n\r\n\thide: (function( orig ) {\r\n\t\treturn function( option ) {\r\n\t\t\tif ( standardAnimationOption( option ) ) {\r\n\t\t\t\treturn orig.apply( this, arguments );\r\n\t\t\t} else {\r\n\t\t\t\tvar args = _normalizeArguments.apply( this, arguments );\r\n\t\t\t\targs.mode = \"hide\";\r\n\t\t\t\treturn this.effect.call( this, args );\r\n\t\t\t}\r\n\t\t};\r\n\t})( $.fn.hide ),\r\n\r\n\ttoggle: (function( orig ) {\r\n\t\treturn function( option ) {\r\n\t\t\tif ( standardAnimationOption( option ) || typeof option === \"boolean\" ) {\r\n\t\t\t\treturn orig.apply( this, arguments );\r\n\t\t\t} else {\r\n\t\t\t\tvar args = _normalizeArguments.apply( this, arguments );\r\n\t\t\t\targs.mode = \"toggle\";\r\n\t\t\t\treturn this.effect.call( this, args );\r\n\t\t\t}\r\n\t\t};\r\n\t})( $.fn.toggle ),\r\n\r\n\t// helper functions\r\n\tcssUnit: function(key) {\r\n\t\tvar style = this.css( key ),\r\n\t\t\tval = [];\r\n\r\n\t\t$.each( [ \"em\", \"px\", \"%\", \"pt\" ], function( i, unit ) {\r\n\t\t\tif ( style.indexOf( unit ) > 0 ) {\r\n\t\t\t\tval = [ parseFloat( style ), unit ];\r\n\t\t\t}\r\n\t\t});\r\n\t\treturn val;\r\n\t}\r\n});\r\n\r\n})();\r\n\r\n/******************************************************************************/\r\n/*********************************** EASING ***********************************/\r\n/******************************************************************************/\r\n\r\n(function() {\r\n\r\n// based on easing equations from Robert Penner (http://www.robertpenner.com/easing)\r\n\r\nvar baseEasings = {};\r\n\r\n$.each( [ \"Quad\", \"Cubic\", \"Quart\", \"Quint\", \"Expo\" ], function( i, name ) {\r\n\tbaseEasings[ name ] = function( p ) {\r\n\t\treturn Math.pow( p, i + 2 );\r\n\t};\r\n});\r\n\r\n$.extend( baseEasings, {\r\n\tSine: function( p ) {\r\n\t\treturn 1 - Math.cos( p * Math.PI / 2 );\r\n\t},\r\n\tCirc: function( p ) {\r\n\t\treturn 1 - Math.sqrt( 1 - p * p );\r\n\t},\r\n\tElastic: function( p ) {\r\n\t\treturn p === 0 || p === 1 ? p :\r\n\t\t\t-Math.pow( 2, 8 * (p - 1) ) * Math.sin( ( (p - 1) * 80 - 7.5 ) * Math.PI / 15 );\r\n\t},\r\n\tBack: function( p ) {\r\n\t\treturn p * p * ( 3 * p - 2 );\r\n\t},\r\n\tBounce: function( p ) {\r\n\t\tvar pow2,\r\n\t\t\tbounce = 4;\r\n\r\n\t\twhile ( p < ( ( pow2 = Math.pow( 2, --bounce ) ) - 1 ) / 11 ) {}\r\n\t\treturn 1 / Math.pow( 4, 3 - bounce ) - 7.5625 * Math.pow( ( pow2 * 3 - 2 ) / 22 - p, 2 );\r\n\t}\r\n});\r\n\r\n$.each( baseEasings, function( name, easeIn ) {\r\n\t$.easing[ \"easeIn\" + name ] = easeIn;\r\n\t$.easing[ \"easeOut\" + name ] = function( p ) {\r\n\t\treturn 1 - easeIn( 1 - p );\r\n\t};\r\n\t$.easing[ \"easeInOut\" + name ] = function( p ) {\r\n\t\treturn p < 0.5 ?\r\n\t\t\teaseIn( p * 2 ) / 2 :\r\n\t\t\t1 - easeIn( p * -2 + 2 ) / 2;\r\n\t};\r\n});\r\n\r\n})();\r\n\r\nvar effect = $.effects;\r\n\r\n\r\n/*!\r\n * jQuery UI Effects Blind 1.11.4\r\n * http://jqueryui.com\r\n *\r\n * Copyright jQuery Foundation and other contributors\r\n * Released under the MIT license.\r\n * http://jquery.org/license\r\n *\r\n * http://api.jqueryui.com/blind-effect/\r\n */\r\n\r\n\r\nvar effectBlind = $.effects.effect.blind = function( o, done ) {\r\n\t// Create element\r\n\tvar el = $( this ),\r\n\t\trvertical = /up|down|vertical/,\r\n\t\trpositivemotion = /up|left|vertical|horizontal/,\r\n\t\tprops = [ \"position\", \"top\", \"bottom\", \"left\", \"right\", \"height\", \"width\" ],\r\n\t\tmode = $.effects.setMode( el, o.mode || \"hide\" ),\r\n\t\tdirection = o.direction || \"up\",\r\n\t\tvertical = rvertical.test( direction ),\r\n\t\tref = vertical ? \"height\" : \"width\",\r\n\t\tref2 = vertical ? \"top\" : \"left\",\r\n\t\tmotion = rpositivemotion.test( direction ),\r\n\t\tanimation = {},\r\n\t\tshow = mode === \"show\",\r\n\t\twrapper, distance, margin;\r\n\r\n\t// if already wrapped, the wrapper's properties are my property. #6245\r\n\tif ( el.parent().is( \".ui-effects-wrapper\" ) ) {\r\n\t\t$.effects.save( el.parent(), props );\r\n\t} else {\r\n\t\t$.effects.save( el, props );\r\n\t}\r\n\tel.show();\r\n\twrapper = $.effects.createWrapper( el ).css({\r\n\t\toverflow: \"hidden\"\r\n\t});\r\n\r\n\tdistance = wrapper[ ref ]();\r\n\tmargin = parseFloat( wrapper.css( ref2 ) ) || 0;\r\n\r\n\tanimation[ ref ] = show ? distance : 0;\r\n\tif ( !motion ) {\r\n\t\tel\r\n\t\t\t.css( vertical ? \"bottom\" : \"right\", 0 )\r\n\t\t\t.css( vertical ? \"top\" : \"left\", \"auto\" )\r\n\t\t\t.css({ position: \"absolute\" });\r\n\r\n\t\tanimation[ ref2 ] = show ? margin : distance + margin;\r\n\t}\r\n\r\n\t// start at 0 if we are showing\r\n\tif ( show ) {\r\n\t\twrapper.css( ref, 0 );\r\n\t\tif ( !motion ) {\r\n\t\t\twrapper.css( ref2, margin + distance );\r\n\t\t}\r\n\t}\r\n\r\n\t// Animate\r\n\twrapper.animate( animation, {\r\n\t\tduration: o.duration,\r\n\t\teasing: o.easing,\r\n\t\tqueue: false,\r\n\t\tcomplete: function() {\r\n\t\t\tif ( mode === \"hide\" ) {\r\n\t\t\t\tel.hide();\r\n\t\t\t}\r\n\t\t\t$.effects.restore( el, props );\r\n\t\t\t$.effects.removeWrapper( el );\r\n\t\t\tdone();\r\n\t\t}\r\n\t});\r\n};\r\n\r\n\r\n/*!\r\n * jQuery UI Effects Bounce 1.11.4\r\n * http://jqueryui.com\r\n *\r\n * Copyright jQuery Foundation and other contributors\r\n * Released under the MIT license.\r\n * http://jquery.org/license\r\n *\r\n * http://api.jqueryui.com/bounce-effect/\r\n */\r\n\r\n\r\nvar effectBounce = $.effects.effect.bounce = function( o, done ) {\r\n\tvar el = $( this ),\r\n\t\tprops = [ \"position\", \"top\", \"bottom\", \"left\", \"right\", \"height\", \"width\" ],\r\n\r\n\t\t// defaults:\r\n\t\tmode = $.effects.setMode( el, o.mode || \"effect\" ),\r\n\t\thide = mode === \"hide\",\r\n\t\tshow = mode === \"show\",\r\n\t\tdirection = o.direction || \"up\",\r\n\t\tdistance = o.distance,\r\n\t\ttimes = o.times || 5,\r\n\r\n\t\t// number of internal animations\r\n\t\tanims = times * 2 + ( show || hide ? 1 : 0 ),\r\n\t\tspeed = o.duration / anims,\r\n\t\teasing = o.easing,\r\n\r\n\t\t// utility:\r\n\t\tref = ( direction === \"up\" || direction === \"down\" ) ? \"top\" : \"left\",\r\n\t\tmotion = ( direction === \"up\" || direction === \"left\" ),\r\n\t\ti,\r\n\t\tupAnim,\r\n\t\tdownAnim,\r\n\r\n\t\t// we will need to re-assemble the queue to stack our animations in place\r\n\t\tqueue = el.queue(),\r\n\t\tqueuelen = queue.length;\r\n\r\n\t// Avoid touching opacity to prevent clearType and PNG issues in IE\r\n\tif ( show || hide ) {\r\n\t\tprops.push( \"opacity\" );\r\n\t}\r\n\r\n\t$.effects.save( el, props );\r\n\tel.show();\r\n\t$.effects.createWrapper( el ); // Create Wrapper\r\n\r\n\t// default distance for the BIGGEST bounce is the outer Distance / 3\r\n\tif ( !distance ) {\r\n\t\tdistance = el[ ref === \"top\" ? \"outerHeight\" : \"outerWidth\" ]() / 3;\r\n\t}\r\n\r\n\tif ( show ) {\r\n\t\tdownAnim = { opacity: 1 };\r\n\t\tdownAnim[ ref ] = 0;\r\n\r\n\t\t// if we are showing, force opacity 0 and set the initial position\r\n\t\t// then do the \"first\" animation\r\n\t\tel.css( \"opacity\", 0 )\r\n\t\t\t.css( ref, motion ? -distance * 2 : distance * 2 )\r\n\t\t\t.animate( downAnim, speed, easing );\r\n\t}\r\n\r\n\t// start at the smallest distance if we are hiding\r\n\tif ( hide ) {\r\n\t\tdistance = distance / Math.pow( 2, times - 1 );\r\n\t}\r\n\r\n\tdownAnim = {};\r\n\tdownAnim[ ref ] = 0;\r\n\t// Bounces up/down/left/right then back to 0 -- times * 2 animations happen here\r\n\tfor ( i = 0; i < times; i++ ) {\r\n\t\tupAnim = {};\r\n\t\tupAnim[ ref ] = ( motion ? \"-=\" : \"+=\" ) + distance;\r\n\r\n\t\tel.animate( upAnim, speed, easing )\r\n\t\t\t.animate( downAnim, speed, easing );\r\n\r\n\t\tdistance = hide ? distance * 2 : distance / 2;\r\n\t}\r\n\r\n\t// Last Bounce when Hiding\r\n\tif ( hide ) {\r\n\t\tupAnim = { opacity: 0 };\r\n\t\tupAnim[ ref ] = ( motion ? \"-=\" : \"+=\" ) + distance;\r\n\r\n\t\tel.animate( upAnim, speed, easing );\r\n\t}\r\n\r\n\tel.queue(function() {\r\n\t\tif ( hide ) {\r\n\t\t\tel.hide();\r\n\t\t}\r\n\t\t$.effects.restore( el, props );\r\n\t\t$.effects.removeWrapper( el );\r\n\t\tdone();\r\n\t});\r\n\r\n\t// inject all the animations we just queued to be first in line (after \"inprogress\")\r\n\tif ( queuelen > 1) {\r\n\t\tqueue.splice.apply( queue,\r\n\t\t\t[ 1, 0 ].concat( queue.splice( queuelen, anims + 1 ) ) );\r\n\t}\r\n\tel.dequeue();\r\n\r\n};\r\n\r\n\r\n/*!\r\n * jQuery UI Effects Clip 1.11.4\r\n * http://jqueryui.com\r\n *\r\n * Copyright jQuery Foundation and other contributors\r\n * Released under the MIT license.\r\n * http://jquery.org/license\r\n *\r\n * http://api.jqueryui.com/clip-effect/\r\n */\r\n\r\n\r\nvar effectClip = $.effects.effect.clip = function( o, done ) {\r\n\t// Create element\r\n\tvar el = $( this ),\r\n\t\tprops = [ \"position\", \"top\", \"bottom\", \"left\", \"right\", \"height\", \"width\" ],\r\n\t\tmode = $.effects.setMode( el, o.mode || \"hide\" ),\r\n\t\tshow = mode === \"show\",\r\n\t\tdirection = o.direction || \"vertical\",\r\n\t\tvert = direction === \"vertical\",\r\n\t\tsize = vert ? \"height\" : \"width\",\r\n\t\tposition = vert ? \"top\" : \"left\",\r\n\t\tanimation = {},\r\n\t\twrapper, animate, distance;\r\n\r\n\t// Save & Show\r\n\t$.effects.save( el, props );\r\n\tel.show();\r\n\r\n\t// Create Wrapper\r\n\twrapper = $.effects.createWrapper( el ).css({\r\n\t\toverflow: \"hidden\"\r\n\t});\r\n\tanimate = ( el[0].tagName === \"IMG\" ) ? wrapper : el;\r\n\tdistance = animate[ size ]();\r\n\r\n\t// Shift\r\n\tif ( show ) {\r\n\t\tanimate.css( size, 0 );\r\n\t\tanimate.css( position, distance / 2 );\r\n\t}\r\n\r\n\t// Create Animation Object:\r\n\tanimation[ size ] = show ? distance : 0;\r\n\tanimation[ position ] = show ? 0 : distance / 2;\r\n\r\n\t// Animate\r\n\tanimate.animate( animation, {\r\n\t\tqueue: false,\r\n\t\tduration: o.duration,\r\n\t\teasing: o.easing,\r\n\t\tcomplete: function() {\r\n\t\t\tif ( !show ) {\r\n\t\t\t\tel.hide();\r\n\t\t\t}\r\n\t\t\t$.effects.restore( el, props );\r\n\t\t\t$.effects.removeWrapper( el );\r\n\t\t\tdone();\r\n\t\t}\r\n\t});\r\n\r\n};\r\n\r\n\r\n/*!\r\n * jQuery UI Effects Drop 1.11.4\r\n * http://jqueryui.com\r\n *\r\n * Copyright jQuery Foundation and other contributors\r\n * Released under the MIT license.\r\n * http://jquery.org/license\r\n *\r\n * http://api.jqueryui.com/drop-effect/\r\n */\r\n\r\n\r\nvar effectDrop = $.effects.effect.drop = function( o, done ) {\r\n\r\n\tvar el = $( this ),\r\n\t\tprops = [ \"position\", \"top\", \"bottom\", \"left\", \"right\", \"opacity\", \"height\", \"width\" ],\r\n\t\tmode = $.effects.setMode( el, o.mode || \"hide\" ),\r\n\t\tshow = mode === \"show\",\r\n\t\tdirection = o.direction || \"left\",\r\n\t\tref = ( direction === \"up\" || direction === \"down\" ) ? \"top\" : \"left\",\r\n\t\tmotion = ( direction === \"up\" || direction === \"left\" ) ? \"pos\" : \"neg\",\r\n\t\tanimation = {\r\n\t\t\topacity: show ? 1 : 0\r\n\t\t},\r\n\t\tdistance;\r\n\r\n\t// Adjust\r\n\t$.effects.save( el, props );\r\n\tel.show();\r\n\t$.effects.createWrapper( el );\r\n\r\n\tdistance = o.distance || el[ ref === \"top\" ? \"outerHeight\" : \"outerWidth\" ]( true ) / 2;\r\n\r\n\tif ( show ) {\r\n\t\tel\r\n\t\t\t.css( \"opacity\", 0 )\r\n\t\t\t.css( ref, motion === \"pos\" ? -distance : distance );\r\n\t}\r\n\r\n\t// Animation\r\n\tanimation[ ref ] = ( show ?\r\n\t\t( motion === \"pos\" ? \"+=\" : \"-=\" ) :\r\n\t\t( motion === \"pos\" ? \"-=\" : \"+=\" ) ) +\r\n\t\tdistance;\r\n\r\n\t// Animate\r\n\tel.animate( animation, {\r\n\t\tqueue: false,\r\n\t\tduration: o.duration,\r\n\t\teasing: o.easing,\r\n\t\tcomplete: function() {\r\n\t\t\tif ( mode === \"hide\" ) {\r\n\t\t\t\tel.hide();\r\n\t\t\t}\r\n\t\t\t$.effects.restore( el, props );\r\n\t\t\t$.effects.removeWrapper( el );\r\n\t\t\tdone();\r\n\t\t}\r\n\t});\r\n};\r\n\r\n\r\n/*!\r\n * jQuery UI Effects Explode 1.11.4\r\n * http://jqueryui.com\r\n *\r\n * Copyright jQuery Foundation and other contributors\r\n * Released under the MIT license.\r\n * http://jquery.org/license\r\n *\r\n * http://api.jqueryui.com/explode-effect/\r\n */\r\n\r\n\r\nvar effectExplode = $.effects.effect.explode = function( o, done ) {\r\n\r\n\tvar rows = o.pieces ? Math.round( Math.sqrt( o.pieces ) ) : 3,\r\n\t\tcells = rows,\r\n\t\tel = $( this ),\r\n\t\tmode = $.effects.setMode( el, o.mode || \"hide\" ),\r\n\t\tshow = mode === \"show\",\r\n\r\n\t\t// show and then visibility:hidden the element before calculating offset\r\n\t\toffset = el.show().css( \"visibility\", \"hidden\" ).offset(),\r\n\r\n\t\t// width and height of a piece\r\n\t\twidth = Math.ceil( el.outerWidth() / cells ),\r\n\t\theight = Math.ceil( el.outerHeight() / rows ),\r\n\t\tpieces = [],\r\n\r\n\t\t// loop\r\n\t\ti, j, left, top, mx, my;\r\n\r\n\t// children animate complete:\r\n\tfunction childComplete() {\r\n\t\tpieces.push( this );\r\n\t\tif ( pieces.length === rows * cells ) {\r\n\t\t\tanimComplete();\r\n\t\t}\r\n\t}\r\n\r\n\t// clone the element for each row and cell.\r\n\tfor ( i = 0; i < rows ; i++ ) { // ===>\r\n\t\ttop = offset.top + i * height;\r\n\t\tmy = i - ( rows - 1 ) / 2 ;\r\n\r\n\t\tfor ( j = 0; j < cells ; j++ ) { // |||\r\n\t\t\tleft = offset.left + j * width;\r\n\t\t\tmx = j - ( cells - 1 ) / 2 ;\r\n\r\n\t\t\t// Create a clone of the now hidden main element that will be absolute positioned\r\n\t\t\t// within a wrapper div off the -left and -top equal to size of our pieces\r\n\t\t\tel\r\n\t\t\t\t.clone()\r\n\t\t\t\t.appendTo( \"body\" )\r\n\t\t\t\t.wrap( \"<div></div>\" )\r\n\t\t\t\t.css({\r\n\t\t\t\t\tposition: \"absolute\",\r\n\t\t\t\t\tvisibility: \"visible\",\r\n\t\t\t\t\tleft: -j * width,\r\n\t\t\t\t\ttop: -i * height\r\n\t\t\t\t})\r\n\r\n\t\t\t// select the wrapper - make it overflow: hidden and absolute positioned based on\r\n\t\t\t// where the original was located +left and +top equal to the size of pieces\r\n\t\t\t\t.parent()\r\n\t\t\t\t.addClass( \"ui-effects-explode\" )\r\n\t\t\t\t.css({\r\n\t\t\t\t\tposition: \"absolute\",\r\n\t\t\t\t\toverflow: \"hidden\",\r\n\t\t\t\t\twidth: width,\r\n\t\t\t\t\theight: height,\r\n\t\t\t\t\tleft: left + ( show ? mx * width : 0 ),\r\n\t\t\t\t\ttop: top + ( show ? my * height : 0 ),\r\n\t\t\t\t\topacity: show ? 0 : 1\r\n\t\t\t\t}).animate({\r\n\t\t\t\t\tleft: left + ( show ? 0 : mx * width ),\r\n\t\t\t\t\ttop: top + ( show ? 0 : my * height ),\r\n\t\t\t\t\topacity: show ? 1 : 0\r\n\t\t\t\t}, o.duration || 500, o.easing, childComplete );\r\n\t\t}\r\n\t}\r\n\r\n\tfunction animComplete() {\r\n\t\tel.css({\r\n\t\t\tvisibility: \"visible\"\r\n\t\t});\r\n\t\t$( pieces ).remove();\r\n\t\tif ( !show ) {\r\n\t\t\tel.hide();\r\n\t\t}\r\n\t\tdone();\r\n\t}\r\n};\r\n\r\n\r\n/*!\r\n * jQuery UI Effects Fade 1.11.4\r\n * http://jqueryui.com\r\n *\r\n * Copyright jQuery Foundation and other contributors\r\n * Released under the MIT license.\r\n * http://jquery.org/license\r\n *\r\n * http://api.jqueryui.com/fade-effect/\r\n */\r\n\r\n\r\nvar effectFade = $.effects.effect.fade = function( o, done ) {\r\n\tvar el = $( this ),\r\n\t\tmode = $.effects.setMode( el, o.mode || \"toggle\" );\r\n\r\n\tel.animate({\r\n\t\topacity: mode\r\n\t}, {\r\n\t\tqueue: false,\r\n\t\tduration: o.duration,\r\n\t\teasing: o.easing,\r\n\t\tcomplete: done\r\n\t});\r\n};\r\n\r\n\r\n/*!\r\n * jQuery UI Effects Fold 1.11.4\r\n * http://jqueryui.com\r\n *\r\n * Copyright jQuery Foundation and other contributors\r\n * Released under the MIT license.\r\n * http://jquery.org/license\r\n *\r\n * http://api.jqueryui.com/fold-effect/\r\n */\r\n\r\n\r\nvar effectFold = $.effects.effect.fold = function( o, done ) {\r\n\r\n\t// Create element\r\n\tvar el = $( this ),\r\n\t\tprops = [ \"position\", \"top\", \"bottom\", \"left\", \"right\", \"height\", \"width\" ],\r\n\t\tmode = $.effects.setMode( el, o.mode || \"hide\" ),\r\n\t\tshow = mode === \"show\",\r\n\t\thide = mode === \"hide\",\r\n\t\tsize = o.size || 15,\r\n\t\tpercent = /([0-9]+)%/.exec( size ),\r\n\t\thorizFirst = !!o.horizFirst,\r\n\t\twidthFirst = show !== horizFirst,\r\n\t\tref = widthFirst ? [ \"width\", \"height\" ] : [ \"height\", \"width\" ],\r\n\t\tduration = o.duration / 2,\r\n\t\twrapper, distance,\r\n\t\tanimation1 = {},\r\n\t\tanimation2 = {};\r\n\r\n\t$.effects.save( el, props );\r\n\tel.show();\r\n\r\n\t// Create Wrapper\r\n\twrapper = $.effects.createWrapper( el ).css({\r\n\t\toverflow: \"hidden\"\r\n\t});\r\n\tdistance = widthFirst ?\r\n\t\t[ wrapper.width(), wrapper.height() ] :\r\n\t\t[ wrapper.height(), wrapper.width() ];\r\n\r\n\tif ( percent ) {\r\n\t\tsize = parseInt( percent[ 1 ], 10 ) / 100 * distance[ hide ? 0 : 1 ];\r\n\t}\r\n\tif ( show ) {\r\n\t\twrapper.css( horizFirst ? {\r\n\t\t\theight: 0,\r\n\t\t\twidth: size\r\n\t\t} : {\r\n\t\t\theight: size,\r\n\t\t\twidth: 0\r\n\t\t});\r\n\t}\r\n\r\n\t// Animation\r\n\tanimation1[ ref[ 0 ] ] = show ? distance[ 0 ] : size;\r\n\tanimation2[ ref[ 1 ] ] = show ? distance[ 1 ] : 0;\r\n\r\n\t// Animate\r\n\twrapper\r\n\t\t.animate( animation1, duration, o.easing )\r\n\t\t.animate( animation2, duration, o.easing, function() {\r\n\t\t\tif ( hide ) {\r\n\t\t\t\tel.hide();\r\n\t\t\t}\r\n\t\t\t$.effects.restore( el, props );\r\n\t\t\t$.effects.removeWrapper( el );\r\n\t\t\tdone();\r\n\t\t});\r\n\r\n};\r\n\r\n\r\n/*!\r\n * jQuery UI Effects Highlight 1.11.4\r\n * http://jqueryui.com\r\n *\r\n * Copyright jQuery Foundation and other contributors\r\n * Released under the MIT license.\r\n * http://jquery.org/license\r\n *\r\n * http://api.jqueryui.com/highlight-effect/\r\n */\r\n\r\n\r\nvar effectHighlight = $.effects.effect.highlight = function( o, done ) {\r\n\tvar elem = $( this ),\r\n\t\tprops = [ \"backgroundImage\", \"backgroundColor\", \"opacity\" ],\r\n\t\tmode = $.effects.setMode( elem, o.mode || \"show\" ),\r\n\t\tanimation = {\r\n\t\t\tbackgroundColor: elem.css( \"backgroundColor\" )\r\n\t\t};\r\n\r\n\tif (mode === \"hide\") {\r\n\t\tanimation.opacity = 0;\r\n\t}\r\n\r\n\t$.effects.save( elem, props );\r\n\r\n\telem\r\n\t\t.show()\r\n\t\t.css({\r\n\t\t\tbackgroundImage: \"none\",\r\n\t\t\tbackgroundColor: o.color || \"#ffff99\"\r\n\t\t})\r\n\t\t.animate( animation, {\r\n\t\t\tqueue: false,\r\n\t\t\tduration: o.duration,\r\n\t\t\teasing: o.easing,\r\n\t\t\tcomplete: function() {\r\n\t\t\t\tif ( mode === \"hide\" ) {\r\n\t\t\t\t\telem.hide();\r\n\t\t\t\t}\r\n\t\t\t\t$.effects.restore( elem, props );\r\n\t\t\t\tdone();\r\n\t\t\t}\r\n\t\t});\r\n};\r\n\r\n\r\n/*!\r\n * jQuery UI Effects Size 1.11.4\r\n * http://jqueryui.com\r\n *\r\n * Copyright jQuery Foundation and other contributors\r\n * Released under the MIT license.\r\n * http://jquery.org/license\r\n *\r\n * http://api.jqueryui.com/size-effect/\r\n */\r\n\r\n\r\nvar effectSize = $.effects.effect.size = function( o, done ) {\r\n\r\n\t// Create element\r\n\tvar original, baseline, factor,\r\n\t\tel = $( this ),\r\n\t\tprops0 = [ \"position\", \"top\", \"bottom\", \"left\", \"right\", \"width\", \"height\", \"overflow\", \"opacity\" ],\r\n\r\n\t\t// Always restore\r\n\t\tprops1 = [ \"position\", \"top\", \"bottom\", \"left\", \"right\", \"overflow\", \"opacity\" ],\r\n\r\n\t\t// Copy for children\r\n\t\tprops2 = [ \"width\", \"height\", \"overflow\" ],\r\n\t\tcProps = [ \"fontSize\" ],\r\n\t\tvProps = [ \"borderTopWidth\", \"borderBottomWidth\", \"paddingTop\", \"paddingBottom\" ],\r\n\t\thProps = [ \"borderLeftWidth\", \"borderRightWidth\", \"paddingLeft\", \"paddingRight\" ],\r\n\r\n\t\t// Set options\r\n\t\tmode = $.effects.setMode( el, o.mode || \"effect\" ),\r\n\t\trestore = o.restore || mode !== \"effect\",\r\n\t\tscale = o.scale || \"both\",\r\n\t\torigin = o.origin || [ \"middle\", \"center\" ],\r\n\t\tposition = el.css( \"position\" ),\r\n\t\tprops = restore ? props0 : props1,\r\n\t\tzero = {\r\n\t\t\theight: 0,\r\n\t\t\twidth: 0,\r\n\t\t\touterHeight: 0,\r\n\t\t\touterWidth: 0\r\n\t\t};\r\n\r\n\tif ( mode === \"show\" ) {\r\n\t\tel.show();\r\n\t}\r\n\toriginal = {\r\n\t\theight: el.height(),\r\n\t\twidth: el.width(),\r\n\t\touterHeight: el.outerHeight(),\r\n\t\touterWidth: el.outerWidth()\r\n\t};\r\n\r\n\tif ( o.mode === \"toggle\" && mode === \"show\" ) {\r\n\t\tel.from = o.to || zero;\r\n\t\tel.to = o.from || original;\r\n\t} else {\r\n\t\tel.from = o.from || ( mode === \"show\" ? zero : original );\r\n\t\tel.to = o.to || ( mode === \"hide\" ? zero : original );\r\n\t}\r\n\r\n\t// Set scaling factor\r\n\tfactor = {\r\n\t\tfrom: {\r\n\t\t\ty: el.from.height / original.height,\r\n\t\t\tx: el.from.width / original.width\r\n\t\t},\r\n\t\tto: {\r\n\t\t\ty: el.to.height / original.height,\r\n\t\t\tx: el.to.width / original.width\r\n\t\t}\r\n\t};\r\n\r\n\t// Scale the css box\r\n\tif ( scale === \"box\" || scale === \"both\" ) {\r\n\r\n\t\t// Vertical props scaling\r\n\t\tif ( factor.from.y !== factor.to.y ) {\r\n\t\t\tprops = props.concat( vProps );\r\n\t\t\tel.from = $.effects.setTransition( el, vProps, factor.from.y, el.from );\r\n\t\t\tel.to = $.effects.setTransition( el, vProps, factor.to.y, el.to );\r\n\t\t}\r\n\r\n\t\t// Horizontal props scaling\r\n\t\tif ( factor.from.x !== factor.to.x ) {\r\n\t\t\tprops = props.concat( hProps );\r\n\t\t\tel.from = $.effects.setTransition( el, hProps, factor.from.x, el.from );\r\n\t\t\tel.to = $.effects.setTransition( el, hProps, factor.to.x, el.to );\r\n\t\t}\r\n\t}\r\n\r\n\t// Scale the content\r\n\tif ( scale === \"content\" || scale === \"both\" ) {\r\n\r\n\t\t// Vertical props scaling\r\n\t\tif ( factor.from.y !== factor.to.y ) {\r\n\t\t\tprops = props.concat( cProps ).concat( props2 );\r\n\t\t\tel.from = $.effects.setTransition( el, cProps, factor.from.y, el.from );\r\n\t\t\tel.to = $.effects.setTransition( el, cProps, factor.to.y, el.to );\r\n\t\t}\r\n\t}\r\n\r\n\t$.effects.save( el, props );\r\n\tel.show();\r\n\t$.effects.createWrapper( el );\r\n\tel.css( \"overflow\", \"hidden\" ).css( el.from );\r\n\r\n\t// Adjust\r\n\tif (origin) { // Calculate baseline shifts\r\n\t\tbaseline = $.effects.getBaseline( origin, original );\r\n\t\tel.from.top = ( original.outerHeight - el.outerHeight() ) * baseline.y;\r\n\t\tel.from.left = ( original.outerWidth - el.outerWidth() ) * baseline.x;\r\n\t\tel.to.top = ( original.outerHeight - el.to.outerHeight ) * baseline.y;\r\n\t\tel.to.left = ( original.outerWidth - el.to.outerWidth ) * baseline.x;\r\n\t}\r\n\tel.css( el.from ); // set top & left\r\n\r\n\t// Animate\r\n\tif ( scale === \"content\" || scale === \"both\" ) { // Scale the children\r\n\r\n\t\t// Add margins/font-size\r\n\t\tvProps = vProps.concat([ \"marginTop\", \"marginBottom\" ]).concat(cProps);\r\n\t\thProps = hProps.concat([ \"marginLeft\", \"marginRight\" ]);\r\n\t\tprops2 = props0.concat(vProps).concat(hProps);\r\n\r\n\t\tel.find( \"*[width]\" ).each( function() {\r\n\t\t\tvar child = $( this ),\r\n\t\t\t\tc_original = {\r\n\t\t\t\t\theight: child.height(),\r\n\t\t\t\t\twidth: child.width(),\r\n\t\t\t\t\touterHeight: child.outerHeight(),\r\n\t\t\t\t\touterWidth: child.outerWidth()\r\n\t\t\t\t};\r\n\t\t\tif (restore) {\r\n\t\t\t\t$.effects.save(child, props2);\r\n\t\t\t}\r\n\r\n\t\t\tchild.from = {\r\n\t\t\t\theight: c_original.height * factor.from.y,\r\n\t\t\t\twidth: c_original.width * factor.from.x,\r\n\t\t\t\touterHeight: c_original.outerHeight * factor.from.y,\r\n\t\t\t\touterWidth: c_original.outerWidth * factor.from.x\r\n\t\t\t};\r\n\t\t\tchild.to = {\r\n\t\t\t\theight: c_original.height * factor.to.y,\r\n\t\t\t\twidth: c_original.width * factor.to.x,\r\n\t\t\t\touterHeight: c_original.height * factor.to.y,\r\n\t\t\t\touterWidth: c_original.width * factor.to.x\r\n\t\t\t};\r\n\r\n\t\t\t// Vertical props scaling\r\n\t\t\tif ( factor.from.y !== factor.to.y ) {\r\n\t\t\t\tchild.from = $.effects.setTransition( child, vProps, factor.from.y, child.from );\r\n\t\t\t\tchild.to = $.effects.setTransition( child, vProps, factor.to.y, child.to );\r\n\t\t\t}\r\n\r\n\t\t\t// Horizontal props scaling\r\n\t\t\tif ( factor.from.x !== factor.to.x ) {\r\n\t\t\t\tchild.from = $.effects.setTransition( child, hProps, factor.from.x, child.from );\r\n\t\t\t\tchild.to = $.effects.setTransition( child, hProps, factor.to.x, child.to );\r\n\t\t\t}\r\n\r\n\t\t\t// Animate children\r\n\t\t\tchild.css( child.from );\r\n\t\t\tchild.animate( child.to, o.duration, o.easing, function() {\r\n\r\n\t\t\t\t// Restore children\r\n\t\t\t\tif ( restore ) {\r\n\t\t\t\t\t$.effects.restore( child, props2 );\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t});\r\n\t}\r\n\r\n\t// Animate\r\n\tel.animate( el.to, {\r\n\t\tqueue: false,\r\n\t\tduration: o.duration,\r\n\t\teasing: o.easing,\r\n\t\tcomplete: function() {\r\n\t\t\tif ( el.to.opacity === 0 ) {\r\n\t\t\t\tel.css( \"opacity\", el.from.opacity );\r\n\t\t\t}\r\n\t\t\tif ( mode === \"hide\" ) {\r\n\t\t\t\tel.hide();\r\n\t\t\t}\r\n\t\t\t$.effects.restore( el, props );\r\n\t\t\tif ( !restore ) {\r\n\r\n\t\t\t\t// we need to calculate our new positioning based on the scaling\r\n\t\t\t\tif ( position === \"static\" ) {\r\n\t\t\t\t\tel.css({\r\n\t\t\t\t\t\tposition: \"relative\",\r\n\t\t\t\t\t\ttop: el.to.top,\r\n\t\t\t\t\t\tleft: el.to.left\r\n\t\t\t\t\t});\r\n\t\t\t\t} else {\r\n\t\t\t\t\t$.each([ \"top\", \"left\" ], function( idx, pos ) {\r\n\t\t\t\t\t\tel.css( pos, function( _, str ) {\r\n\t\t\t\t\t\t\tvar val = parseInt( str, 10 ),\r\n\t\t\t\t\t\t\t\ttoRef = idx ? el.to.left : el.to.top;\r\n\r\n\t\t\t\t\t\t\t// if original was \"auto\", recalculate the new value from wrapper\r\n\t\t\t\t\t\t\tif ( str === \"auto\" ) {\r\n\t\t\t\t\t\t\t\treturn toRef + \"px\";\r\n\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\treturn val + toRef + \"px\";\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\t$.effects.removeWrapper( el );\r\n\t\t\tdone();\r\n\t\t}\r\n\t});\r\n\r\n};\r\n\r\n\r\n/*!\r\n * jQuery UI Effects Scale 1.11.4\r\n * http://jqueryui.com\r\n *\r\n * Copyright jQuery Foundation and other contributors\r\n * Released under the MIT license.\r\n * http://jquery.org/license\r\n *\r\n * http://api.jqueryui.com/scale-effect/\r\n */\r\n\r\n\r\nvar effectScale = $.effects.effect.scale = function( o, done ) {\r\n\r\n\t// Create element\r\n\tvar el = $( this ),\r\n\t\toptions = $.extend( true, {}, o ),\r\n\t\tmode = $.effects.setMode( el, o.mode || \"effect\" ),\r\n\t\tpercent = parseInt( o.percent, 10 ) ||\r\n\t\t\t( parseInt( o.percent, 10 ) === 0 ? 0 : ( mode === \"hide\" ? 0 : 100 ) ),\r\n\t\tdirection = o.direction || \"both\",\r\n\t\torigin = o.origin,\r\n\t\toriginal = {\r\n\t\t\theight: el.height(),\r\n\t\t\twidth: el.width(),\r\n\t\t\touterHeight: el.outerHeight(),\r\n\t\t\touterWidth: el.outerWidth()\r\n\t\t},\r\n\t\tfactor = {\r\n\t\t\ty: direction !== \"horizontal\" ? (percent / 100) : 1,\r\n\t\t\tx: direction !== \"vertical\" ? (percent / 100) : 1\r\n\t\t};\r\n\r\n\t// We are going to pass this effect to the size effect:\r\n\toptions.effect = \"size\";\r\n\toptions.queue = false;\r\n\toptions.complete = done;\r\n\r\n\t// Set default origin and restore for show/hide\r\n\tif ( mode !== \"effect\" ) {\r\n\t\toptions.origin = origin || [ \"middle\", \"center\" ];\r\n\t\toptions.restore = true;\r\n\t}\r\n\r\n\toptions.from = o.from || ( mode === \"show\" ? {\r\n\t\theight: 0,\r\n\t\twidth: 0,\r\n\t\touterHeight: 0,\r\n\t\touterWidth: 0\r\n\t} : original );\r\n\toptions.to = {\r\n\t\theight: original.height * factor.y,\r\n\t\twidth: original.width * factor.x,\r\n\t\touterHeight: original.outerHeight * factor.y,\r\n\t\touterWidth: original.outerWidth * factor.x\r\n\t};\r\n\r\n\t// Fade option to support puff\r\n\tif ( options.fade ) {\r\n\t\tif ( mode === \"show\" ) {\r\n\t\t\toptions.from.opacity = 0;\r\n\t\t\toptions.to.opacity = 1;\r\n\t\t}\r\n\t\tif ( mode === \"hide\" ) {\r\n\t\t\toptions.from.opacity = 1;\r\n\t\t\toptions.to.opacity = 0;\r\n\t\t}\r\n\t}\r\n\r\n\t// Animate\r\n\tel.effect( options );\r\n\r\n};\r\n\r\n\r\n/*!\r\n * jQuery UI Effects Puff 1.11.4\r\n * http://jqueryui.com\r\n *\r\n * Copyright jQuery Foundation and other contributors\r\n * Released under the MIT license.\r\n * http://jquery.org/license\r\n *\r\n * http://api.jqueryui.com/puff-effect/\r\n */\r\n\r\n\r\nvar effectPuff = $.effects.effect.puff = function( o, done ) {\r\n\tvar elem = $( this ),\r\n\t\tmode = $.effects.setMode( elem, o.mode || \"hide\" ),\r\n\t\thide = mode === \"hide\",\r\n\t\tpercent = parseInt( o.percent, 10 ) || 150,\r\n\t\tfactor = percent / 100,\r\n\t\toriginal = {\r\n\t\t\theight: elem.height(),\r\n\t\t\twidth: elem.width(),\r\n\t\t\touterHeight: elem.outerHeight(),\r\n\t\t\touterWidth: elem.outerWidth()\r\n\t\t};\r\n\r\n\t$.extend( o, {\r\n\t\teffect: \"scale\",\r\n\t\tqueue: false,\r\n\t\tfade: true,\r\n\t\tmode: mode,\r\n\t\tcomplete: done,\r\n\t\tpercent: hide ? percent : 100,\r\n\t\tfrom: hide ?\r\n\t\t\toriginal :\r\n\t\t\t{\r\n\t\t\t\theight: original.height * factor,\r\n\t\t\t\twidth: original.width * factor,\r\n\t\t\t\touterHeight: original.outerHeight * factor,\r\n\t\t\t\touterWidth: original.outerWidth * factor\r\n\t\t\t}\r\n\t});\r\n\r\n\telem.effect( o );\r\n};\r\n\r\n\r\n/*!\r\n * jQuery UI Effects Pulsate 1.11.4\r\n * http://jqueryui.com\r\n *\r\n * Copyright jQuery Foundation and other contributors\r\n * Released under the MIT license.\r\n * http://jquery.org/license\r\n *\r\n * http://api.jqueryui.com/pulsate-effect/\r\n */\r\n\r\n\r\nvar effectPulsate = $.effects.effect.pulsate = function( o, done ) {\r\n\tvar elem = $( this ),\r\n\t\tmode = $.effects.setMode( elem, o.mode || \"show\" ),\r\n\t\tshow = mode === \"show\",\r\n\t\thide = mode === \"hide\",\r\n\t\tshowhide = ( show || mode === \"hide\" ),\r\n\r\n\t\t// showing or hiding leaves of the \"last\" animation\r\n\t\tanims = ( ( o.times || 5 ) * 2 ) + ( showhide ? 1 : 0 ),\r\n\t\tduration = o.duration / anims,\r\n\t\tanimateTo = 0,\r\n\t\tqueue = elem.queue(),\r\n\t\tqueuelen = queue.length,\r\n\t\ti;\r\n\r\n\tif ( show || !elem.is(\":visible\")) {\r\n\t\telem.css( \"opacity\", 0 ).show();\r\n\t\tanimateTo = 1;\r\n\t}\r\n\r\n\t// anims - 1 opacity \"toggles\"\r\n\tfor ( i = 1; i < anims; i++ ) {\r\n\t\telem.animate({\r\n\t\t\topacity: animateTo\r\n\t\t}, duration, o.easing );\r\n\t\tanimateTo = 1 - animateTo;\r\n\t}\r\n\r\n\telem.animate({\r\n\t\topacity: animateTo\r\n\t}, duration, o.easing);\r\n\r\n\telem.queue(function() {\r\n\t\tif ( hide ) {\r\n\t\t\telem.hide();\r\n\t\t}\r\n\t\tdone();\r\n\t});\r\n\r\n\t// We just queued up \"anims\" animations, we need to put them next in the queue\r\n\tif ( queuelen > 1 ) {\r\n\t\tqueue.splice.apply( queue,\r\n\t\t\t[ 1, 0 ].concat( queue.splice( queuelen, anims + 1 ) ) );\r\n\t}\r\n\telem.dequeue();\r\n};\r\n\r\n\r\n/*!\r\n * jQuery UI Effects Shake 1.11.4\r\n * http://jqueryui.com\r\n *\r\n * Copyright jQuery Foundation and other contributors\r\n * Released under the MIT license.\r\n * http://jquery.org/license\r\n *\r\n * http://api.jqueryui.com/shake-effect/\r\n */\r\n\r\n\r\nvar effectShake = $.effects.effect.shake = function( o, done ) {\r\n\r\n\tvar el = $( this ),\r\n\t\tprops = [ \"position\", \"top\", \"bottom\", \"left\", \"right\", \"height\", \"width\" ],\r\n\t\tmode = $.effects.setMode( el, o.mode || \"effect\" ),\r\n\t\tdirection = o.direction || \"left\",\r\n\t\tdistance = o.distance || 20,\r\n\t\ttimes = o.times || 3,\r\n\t\tanims = times * 2 + 1,\r\n\t\tspeed = Math.round( o.duration / anims ),\r\n\t\tref = (direction === \"up\" || direction === \"down\") ? \"top\" : \"left\",\r\n\t\tpositiveMotion = (direction === \"up\" || direction === \"left\"),\r\n\t\tanimation = {},\r\n\t\tanimation1 = {},\r\n\t\tanimation2 = {},\r\n\t\ti,\r\n\r\n\t\t// we will need to re-assemble the queue to stack our animations in place\r\n\t\tqueue = el.queue(),\r\n\t\tqueuelen = queue.length;\r\n\r\n\t$.effects.save( el, props );\r\n\tel.show();\r\n\t$.effects.createWrapper( el );\r\n\r\n\t// Animation\r\n\tanimation[ ref ] = ( positiveMotion ? \"-=\" : \"+=\" ) + distance;\r\n\tanimation1[ ref ] = ( positiveMotion ? \"+=\" : \"-=\" ) + distance * 2;\r\n\tanimation2[ ref ] = ( positiveMotion ? \"-=\" : \"+=\" ) + distance * 2;\r\n\r\n\t// Animate\r\n\tel.animate( animation, speed, o.easing );\r\n\r\n\t// Shakes\r\n\tfor ( i = 1; i < times; i++ ) {\r\n\t\tel.animate( animation1, speed, o.easing ).animate( animation2, speed, o.easing );\r\n\t}\r\n\tel\r\n\t\t.animate( animation1, speed, o.easing )\r\n\t\t.animate( animation, speed / 2, o.easing )\r\n\t\t.queue(function() {\r\n\t\t\tif ( mode === \"hide\" ) {\r\n\t\t\t\tel.hide();\r\n\t\t\t}\r\n\t\t\t$.effects.restore( el, props );\r\n\t\t\t$.effects.removeWrapper( el );\r\n\t\t\tdone();\r\n\t\t});\r\n\r\n\t// inject all the animations we just queued to be first in line (after \"inprogress\")\r\n\tif ( queuelen > 1) {\r\n\t\tqueue.splice.apply( queue,\r\n\t\t\t[ 1, 0 ].concat( queue.splice( queuelen, anims + 1 ) ) );\r\n\t}\r\n\tel.dequeue();\r\n\r\n};\r\n\r\n\r\n/*!\r\n * jQuery UI Effects Slide 1.11.4\r\n * http://jqueryui.com\r\n *\r\n * Copyright jQuery Foundation and other contributors\r\n * Released under the MIT license.\r\n * http://jquery.org/license\r\n *\r\n * http://api.jqueryui.com/slide-effect/\r\n */\r\n\r\n\r\nvar effectSlide = $.effects.effect.slide = function( o, done ) {\r\n\r\n\t// Create element\r\n\tvar el = $( this ),\r\n\t\tprops = [ \"position\", \"top\", \"bottom\", \"left\", \"right\", \"width\", \"height\" ],\r\n\t\tmode = $.effects.setMode( el, o.mode || \"show\" ),\r\n\t\tshow = mode === \"show\",\r\n\t\tdirection = o.direction || \"left\",\r\n\t\tref = (direction === \"up\" || direction === \"down\") ? \"top\" : \"left\",\r\n\t\tpositiveMotion = (direction === \"up\" || direction === \"left\"),\r\n\t\tdistance,\r\n\t\tanimation = {};\r\n\r\n\t// Adjust\r\n\t$.effects.save( el, props );\r\n\tel.show();\r\n\tdistance = o.distance || el[ ref === \"top\" ? \"outerHeight\" : \"outerWidth\" ]( true );\r\n\r\n\t$.effects.createWrapper( el ).css({\r\n\t\toverflow: \"hidden\"\r\n\t});\r\n\r\n\tif ( show ) {\r\n\t\tel.css( ref, positiveMotion ? (isNaN(distance) ? \"-\" + distance : -distance) : distance );\r\n\t}\r\n\r\n\t// Animation\r\n\tanimation[ ref ] = ( show ?\r\n\t\t( positiveMotion ? \"+=\" : \"-=\") :\r\n\t\t( positiveMotion ? \"-=\" : \"+=\")) +\r\n\t\tdistance;\r\n\r\n\t// Animate\r\n\tel.animate( animation, {\r\n\t\tqueue: false,\r\n\t\tduration: o.duration,\r\n\t\teasing: o.easing,\r\n\t\tcomplete: function() {\r\n\t\t\tif ( mode === \"hide\" ) {\r\n\t\t\t\tel.hide();\r\n\t\t\t}\r\n\t\t\t$.effects.restore( el, props );\r\n\t\t\t$.effects.removeWrapper( el );\r\n\t\t\tdone();\r\n\t\t}\r\n\t});\r\n};\r\n\r\n\r\n/*!\r\n * jQuery UI Effects Transfer 1.11.4\r\n * http://jqueryui.com\r\n *\r\n * Copyright jQuery Foundation and other contributors\r\n * Released under the MIT license.\r\n * http://jquery.org/license\r\n *\r\n * http://api.jqueryui.com/transfer-effect/\r\n */\r\n\r\n\r\nvar effectTransfer = $.effects.effect.transfer = function( o, done ) {\r\n\tvar elem = $( this ),\r\n\t\ttarget = $( o.to ),\r\n\t\ttargetFixed = target.css( \"position\" ) === \"fixed\",\r\n\t\tbody = $(\"body\"),\r\n\t\tfixTop = targetFixed ? body.scrollTop() : 0,\r\n\t\tfixLeft = targetFixed ? body.scrollLeft() : 0,\r\n\t\tendPosition = target.offset(),\r\n\t\tanimation = {\r\n\t\t\ttop: endPosition.top - fixTop,\r\n\t\t\tleft: endPosition.left - fixLeft,\r\n\t\t\theight: target.innerHeight(),\r\n\t\t\twidth: target.innerWidth()\r\n\t\t},\r\n\t\tstartPosition = elem.offset(),\r\n\t\ttransfer = $( \"<div class='ui-effects-transfer'></div>\" )\r\n\t\t\t.appendTo( document.body )\r\n\t\t\t.addClass( o.className )\r\n\t\t\t.css({\r\n\t\t\t\ttop: startPosition.top - fixTop,\r\n\t\t\t\tleft: startPosition.left - fixLeft,\r\n\t\t\t\theight: elem.innerHeight(),\r\n\t\t\t\twidth: elem.innerWidth(),\r\n\t\t\t\tposition: targetFixed ? \"fixed\" : \"absolute\"\r\n\t\t\t})\r\n\t\t\t.animate( animation, o.duration, o.easing, function() {\r\n\t\t\t\ttransfer.remove();\r\n\t\t\t\tdone();\r\n\t\t\t});\r\n};\r\n\r\n\r\n/*!\r\n * jQuery UI Progressbar 1.11.4\r\n * http://jqueryui.com\r\n *\r\n * Copyright jQuery Foundation and other contributors\r\n * Released under the MIT license.\r\n * http://jquery.org/license\r\n *\r\n * http://api.jqueryui.com/progressbar/\r\n */\r\n\r\n\r\nvar progressbar = $.widget( \"ui.progressbar\", {\r\n\tversion: \"1.11.4\",\r\n\toptions: {\r\n\t\tmax: 100,\r\n\t\tvalue: 0,\r\n\r\n\t\tchange: null,\r\n\t\tcomplete: null\r\n\t},\r\n\r\n\tmin: 0,\r\n\r\n\t_create: function() {\r\n\t\t// Constrain initial value\r\n\t\tthis.oldValue = this.options.value = this._constrainedValue();\r\n\r\n\t\tthis.element\r\n\t\t\t.addClass( \"ui-progressbar ui-widget ui-widget-content ui-corner-all\" )\r\n\t\t\t.attr({\r\n\t\t\t\t// Only set static values, aria-valuenow and aria-valuemax are\r\n\t\t\t\t// set inside _refreshValue()\r\n\t\t\t\trole: \"progressbar\",\r\n\t\t\t\t\"aria-valuemin\": this.min\r\n\t\t\t});\r\n\r\n\t\tthis.valueDiv = $( \"<div class='ui-progressbar-value ui-widget-header ui-corner-left'></div>\" )\r\n\t\t\t.appendTo( this.element );\r\n\r\n\t\tthis._refreshValue();\r\n\t},\r\n\r\n\t_destroy: function() {\r\n\t\tthis.element\r\n\t\t\t.removeClass( \"ui-progressbar ui-widget ui-widget-content ui-corner-all\" )\r\n\t\t\t.removeAttr( \"role\" )\r\n\t\t\t.removeAttr( \"aria-valuemin\" )\r\n\t\t\t.removeAttr( \"aria-valuemax\" )\r\n\t\t\t.removeAttr( \"aria-valuenow\" );\r\n\r\n\t\tthis.valueDiv.remove();\r\n\t},\r\n\r\n\tvalue: function( newValue ) {\r\n\t\tif ( newValue === undefined ) {\r\n\t\t\treturn this.options.value;\r\n\t\t}\r\n\r\n\t\tthis.options.value = this._constrainedValue( newValue );\r\n\t\tthis._refreshValue();\r\n\t},\r\n\r\n\t_constrainedValue: function( newValue ) {\r\n\t\tif ( newValue === undefined ) {\r\n\t\t\tnewValue = this.options.value;\r\n\t\t}\r\n\r\n\t\tthis.indeterminate = newValue === false;\r\n\r\n\t\t// sanitize value\r\n\t\tif ( typeof newValue !== \"number\" ) {\r\n\t\t\tnewValue = 0;\r\n\t\t}\r\n\r\n\t\treturn this.indeterminate ? false :\r\n\t\t\tMath.min( this.options.max, Math.max( this.min, newValue ) );\r\n\t},\r\n\r\n\t_setOptions: function( options ) {\r\n\t\t// Ensure \"value\" option is set after other values (like max)\r\n\t\tvar value = options.value;\r\n\t\tdelete options.value;\r\n\r\n\t\tthis._super( options );\r\n\r\n\t\tthis.options.value = this._constrainedValue( value );\r\n\t\tthis._refreshValue();\r\n\t},\r\n\r\n\t_setOption: function( key, value ) {\r\n\t\tif ( key === \"max\" ) {\r\n\t\t\t// Don't allow a max less than min\r\n\t\t\tvalue = Math.max( this.min, value );\r\n\t\t}\r\n\t\tif ( key === \"disabled\" ) {\r\n\t\t\tthis.element\r\n\t\t\t\t.toggleClass( \"ui-state-disabled\", !!value )\r\n\t\t\t\t.attr( \"aria-disabled\", value );\r\n\t\t}\r\n\t\tthis._super( key, value );\r\n\t},\r\n\r\n\t_percentage: function() {\r\n\t\treturn this.indeterminate ? 100 : 100 * ( this.options.value - this.min ) / ( this.options.max - this.min );\r\n\t},\r\n\r\n\t_refreshValue: function() {\r\n\t\tvar value = this.options.value,\r\n\t\t\tpercentage = this._percentage();\r\n\r\n\t\tthis.valueDiv\r\n\t\t\t.toggle( this.indeterminate || value > this.min )\r\n\t\t\t.toggleClass( \"ui-corner-right\", value === this.options.max )\r\n\t\t\t.width( percentage.toFixed(0) + \"%\" );\r\n\r\n\t\tthis.element.toggleClass( \"ui-progressbar-indeterminate\", this.indeterminate );\r\n\r\n\t\tif ( this.indeterminate ) {\r\n\t\t\tthis.element.removeAttr( \"aria-valuenow\" );\r\n\t\t\tif ( !this.overlayDiv ) {\r\n\t\t\t\tthis.overlayDiv = $( \"<div class='ui-progressbar-overlay'></div>\" ).appendTo( this.valueDiv );\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tthis.element.attr({\r\n\t\t\t\t\"aria-valuemax\": this.options.max,\r\n\t\t\t\t\"aria-valuenow\": value\r\n\t\t\t});\r\n\t\t\tif ( this.overlayDiv ) {\r\n\t\t\t\tthis.overlayDiv.remove();\r\n\t\t\t\tthis.overlayDiv = null;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif ( this.oldValue !== value ) {\r\n\t\t\tthis.oldValue = value;\r\n\t\t\tthis._trigger( \"change\" );\r\n\t\t}\r\n\t\tif ( value === this.options.max ) {\r\n\t\t\tthis._trigger( \"complete\" );\r\n\t\t}\r\n\t}\r\n});\r\n\r\n\r\n/*!\r\n * jQuery UI Selectable 1.11.4\r\n * http://jqueryui.com\r\n *\r\n * Copyright jQuery Foundation and other contributors\r\n * Released under the MIT license.\r\n * http://jquery.org/license\r\n *\r\n * http://api.jqueryui.com/selectable/\r\n */\r\n\r\n\r\nvar selectable = $.widget(\"ui.selectable\", $.ui.mouse, {\r\n\tversion: \"1.11.4\",\r\n\toptions: {\r\n\t\tappendTo: \"body\",\r\n\t\tautoRefresh: true,\r\n\t\tdistance: 0,\r\n\t\tfilter: \"*\",\r\n\t\ttolerance: \"touch\",\r\n\r\n\t\t// callbacks\r\n\t\tselected: null,\r\n\t\tselecting: null,\r\n\t\tstart: null,\r\n\t\tstop: null,\r\n\t\tunselected: null,\r\n\t\tunselecting: null\r\n\t},\r\n\t_create: function() {\r\n\t\tvar selectees,\r\n\t\t\tthat = this;\r\n\r\n\t\tthis.element.addClass(\"ui-selectable\");\r\n\r\n\t\tthis.dragged = false;\r\n\r\n\t\t// cache selectee children based on filter\r\n\t\tthis.refresh = function() {\r\n\t\t\tselectees = $(that.options.filter, that.element[0]);\r\n\t\t\tselectees.addClass(\"ui-selectee\");\r\n\t\t\tselectees.each(function() {\r\n\t\t\t\tvar $this = $(this),\r\n\t\t\t\t\tpos = $this.offset();\r\n\t\t\t\t$.data(this, \"selectable-item\", {\r\n\t\t\t\t\telement: this,\r\n\t\t\t\t\t$element: $this,\r\n\t\t\t\t\tleft: pos.left,\r\n\t\t\t\t\ttop: pos.top,\r\n\t\t\t\t\tright: pos.left + $this.outerWidth(),\r\n\t\t\t\t\tbottom: pos.top + $this.outerHeight(),\r\n\t\t\t\t\tstartselected: false,\r\n\t\t\t\t\tselected: $this.hasClass(\"ui-selected\"),\r\n\t\t\t\t\tselecting: $this.hasClass(\"ui-selecting\"),\r\n\t\t\t\t\tunselecting: $this.hasClass(\"ui-unselecting\")\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t\t};\r\n\t\tthis.refresh();\r\n\r\n\t\tthis.selectees = selectees.addClass(\"ui-selectee\");\r\n\r\n\t\tthis._mouseInit();\r\n\r\n\t\tthis.helper = $(\"<div class='ui-selectable-helper'></div>\");\r\n\t},\r\n\r\n\t_destroy: function() {\r\n\t\tthis.selectees\r\n\t\t\t.removeClass(\"ui-selectee\")\r\n\t\t\t.removeData(\"selectable-item\");\r\n\t\tthis.element\r\n\t\t\t.removeClass(\"ui-selectable ui-selectable-disabled\");\r\n\t\tthis._mouseDestroy();\r\n\t},\r\n\r\n\t_mouseStart: function(event) {\r\n\t\tvar that = this,\r\n\t\t\toptions = this.options;\r\n\r\n\t\tthis.opos = [ event.pageX, event.pageY ];\r\n\r\n\t\tif (this.options.disabled) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tthis.selectees = $(options.filter, this.element[0]);\r\n\r\n\t\tthis._trigger(\"start\", event);\r\n\r\n\t\t$(options.appendTo).append(this.helper);\r\n\t\t// position helper (lasso)\r\n\t\tthis.helper.css({\r\n\t\t\t\"left\": event.pageX,\r\n\t\t\t\"top\": event.pageY,\r\n\t\t\t\"width\": 0,\r\n\t\t\t\"height\": 0\r\n\t\t});\r\n\r\n\t\tif (options.autoRefresh) {\r\n\t\t\tthis.refresh();\r\n\t\t}\r\n\r\n\t\tthis.selectees.filter(\".ui-selected\").each(function() {\r\n\t\t\tvar selectee = $.data(this, \"selectable-item\");\r\n\t\t\tselectee.startselected = true;\r\n\t\t\tif (!event.metaKey && !event.ctrlKey) {\r\n\t\t\t\tselectee.$element.removeClass(\"ui-selected\");\r\n\t\t\t\tselectee.selected = false;\r\n\t\t\t\tselectee.$element.addClass(\"ui-unselecting\");\r\n\t\t\t\tselectee.unselecting = true;\r\n\t\t\t\t// selectable UNSELECTING callback\r\n\t\t\t\tthat._trigger(\"unselecting\", event, {\r\n\t\t\t\t\tunselecting: selectee.element\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\t$(event.target).parents().addBack().each(function() {\r\n\t\t\tvar doSelect,\r\n\t\t\t\tselectee = $.data(this, \"selectable-item\");\r\n\t\t\tif (selectee) {\r\n\t\t\t\tdoSelect = (!event.metaKey && !event.ctrlKey) || !selectee.$element.hasClass(\"ui-selected\");\r\n\t\t\t\tselectee.$element\r\n\t\t\t\t\t.removeClass(doSelect ? \"ui-unselecting\" : \"ui-selected\")\r\n\t\t\t\t\t.addClass(doSelect ? \"ui-selecting\" : \"ui-unselecting\");\r\n\t\t\t\tselectee.unselecting = !doSelect;\r\n\t\t\t\tselectee.selecting = doSelect;\r\n\t\t\t\tselectee.selected = doSelect;\r\n\t\t\t\t// selectable (UN)SELECTING callback\r\n\t\t\t\tif (doSelect) {\r\n\t\t\t\t\tthat._trigger(\"selecting\", event, {\r\n\t\t\t\t\t\tselecting: selectee.element\r\n\t\t\t\t\t});\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthat._trigger(\"unselecting\", event, {\r\n\t\t\t\t\t\tunselecting: selectee.element\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t},\r\n\r\n\t_mouseDrag: function(event) {\r\n\r\n\t\tthis.dragged = true;\r\n\r\n\t\tif (this.options.disabled) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tvar tmp,\r\n\t\t\tthat = this,\r\n\t\t\toptions = this.options,\r\n\t\t\tx1 = this.opos[0],\r\n\t\t\ty1 = this.opos[1],\r\n\t\t\tx2 = event.pageX,\r\n\t\t\ty2 = event.pageY;\r\n\r\n\t\tif (x1 > x2) { tmp = x2; x2 = x1; x1 = tmp; }\r\n\t\tif (y1 > y2) { tmp = y2; y2 = y1; y1 = tmp; }\r\n\t\tthis.helper.css({ left: x1, top: y1, width: x2 - x1, height: y2 - y1 });\r\n\r\n\t\tthis.selectees.each(function() {\r\n\t\t\tvar selectee = $.data(this, \"selectable-item\"),\r\n\t\t\t\thit = false;\r\n\r\n\t\t\t//prevent helper from being selected if appendTo: selectable\r\n\t\t\tif (!selectee || selectee.element === that.element[0]) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tif (options.tolerance === \"touch\") {\r\n\t\t\t\thit = ( !(selectee.left > x2 || selectee.right < x1 || selectee.top > y2 || selectee.bottom < y1) );\r\n\t\t\t} else if (options.tolerance === \"fit\") {\r\n\t\t\t\thit = (selectee.left > x1 && selectee.right < x2 && selectee.top > y1 && selectee.bottom < y2);\r\n\t\t\t}\r\n\r\n\t\t\tif (hit) {\r\n\t\t\t\t// SELECT\r\n\t\t\t\tif (selectee.selected) {\r\n\t\t\t\t\tselectee.$element.removeClass(\"ui-selected\");\r\n\t\t\t\t\tselectee.selected = false;\r\n\t\t\t\t}\r\n\t\t\t\tif (selectee.unselecting) {\r\n\t\t\t\t\tselectee.$element.removeClass(\"ui-unselecting\");\r\n\t\t\t\t\tselectee.unselecting = false;\r\n\t\t\t\t}\r\n\t\t\t\tif (!selectee.selecting) {\r\n\t\t\t\t\tselectee.$element.addClass(\"ui-selecting\");\r\n\t\t\t\t\tselectee.selecting = true;\r\n\t\t\t\t\t// selectable SELECTING callback\r\n\t\t\t\t\tthat._trigger(\"selecting\", event, {\r\n\t\t\t\t\t\tselecting: selectee.element\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\t// UNSELECT\r\n\t\t\t\tif (selectee.selecting) {\r\n\t\t\t\t\tif ((event.metaKey || event.ctrlKey) && selectee.startselected) {\r\n\t\t\t\t\t\tselectee.$element.removeClass(\"ui-selecting\");\r\n\t\t\t\t\t\tselectee.selecting = false;\r\n\t\t\t\t\t\tselectee.$element.addClass(\"ui-selected\");\r\n\t\t\t\t\t\tselectee.selected = true;\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tselectee.$element.removeClass(\"ui-selecting\");\r\n\t\t\t\t\t\tselectee.selecting = false;\r\n\t\t\t\t\t\tif (selectee.startselected) {\r\n\t\t\t\t\t\t\tselectee.$element.addClass(\"ui-unselecting\");\r\n\t\t\t\t\t\t\tselectee.unselecting = true;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t// selectable UNSELECTING callback\r\n\t\t\t\t\t\tthat._trigger(\"unselecting\", event, {\r\n\t\t\t\t\t\t\tunselecting: selectee.element\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\tif (selectee.selected) {\r\n\t\t\t\t\tif (!event.metaKey && !event.ctrlKey && !selectee.startselected) {\r\n\t\t\t\t\t\tselectee.$element.removeClass(\"ui-selected\");\r\n\t\t\t\t\t\tselectee.selected = false;\r\n\r\n\t\t\t\t\t\tselectee.$element.addClass(\"ui-unselecting\");\r\n\t\t\t\t\t\tselectee.unselecting = true;\r\n\t\t\t\t\t\t// selectable UNSELECTING callback\r\n\t\t\t\t\t\tthat._trigger(\"unselecting\", event, {\r\n\t\t\t\t\t\t\tunselecting: selectee.element\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\treturn false;\r\n\t},\r\n\r\n\t_mouseStop: function(event) {\r\n\t\tvar that = this;\r\n\r\n\t\tthis.dragged = false;\r\n\r\n\t\t$(\".ui-unselecting\", this.element[0]).each(function() {\r\n\t\t\tvar selectee = $.data(this, \"selectable-item\");\r\n\t\t\tselectee.$element.removeClass(\"ui-unselecting\");\r\n\t\t\tselectee.unselecting = false;\r\n\t\t\tselectee.startselected = false;\r\n\t\t\tthat._trigger(\"unselected\", event, {\r\n\t\t\t\tunselected: selectee.element\r\n\t\t\t});\r\n\t\t});\r\n\t\t$(\".ui-selecting\", this.element[0]).each(function() {\r\n\t\t\tvar selectee = $.data(this, \"selectable-item\");\r\n\t\t\tselectee.$element.removeClass(\"ui-selecting\").addClass(\"ui-selected\");\r\n\t\t\tselectee.selecting = false;\r\n\t\t\tselectee.selected = true;\r\n\t\t\tselectee.startselected = true;\r\n\t\t\tthat._trigger(\"selected\", event, {\r\n\t\t\t\tselected: selectee.element\r\n\t\t\t});\r\n\t\t});\r\n\t\tthis._trigger(\"stop\", event);\r\n\r\n\t\tthis.helper.remove();\r\n\r\n\t\treturn false;\r\n\t}\r\n\r\n});\r\n\r\n\r\n/*!\r\n * jQuery UI Selectmenu 1.11.4\r\n * http://jqueryui.com\r\n *\r\n * Copyright jQuery Foundation and other contributors\r\n * Released under the MIT license.\r\n * http://jquery.org/license\r\n *\r\n * http://api.jqueryui.com/selectmenu\r\n */\r\n\r\n\r\nvar selectmenu = $.widget( \"ui.selectmenu\", {\r\n\tversion: \"1.11.4\",\r\n\tdefaultElement: \"<select>\",\r\n\toptions: {\r\n\t\tappendTo: null,\r\n\t\tdisabled: null,\r\n\t\ticons: {\r\n\t\t\tbutton: \"ui-icon-triangle-1-s\"\r\n\t\t},\r\n\t\tposition: {\r\n\t\t\tmy: \"left top\",\r\n\t\t\tat: \"left bottom\",\r\n\t\t\tcollision: \"none\"\r\n\t\t},\r\n\t\twidth: null,\r\n\r\n\t\t// callbacks\r\n\t\tchange: null,\r\n\t\tclose: null,\r\n\t\tfocus: null,\r\n\t\topen: null,\r\n\t\tselect: null\r\n\t},\r\n\r\n\t_create: function() {\r\n\t\tvar selectmenuId = this.element.uniqueId().attr( \"id\" );\r\n\t\tthis.ids = {\r\n\t\t\telement: selectmenuId,\r\n\t\t\tbutton: selectmenuId + \"-button\",\r\n\t\t\tmenu: selectmenuId + \"-menu\"\r\n\t\t};\r\n\r\n\t\tthis._drawButton();\r\n\t\tthis._drawMenu();\r\n\r\n\t\tif ( this.options.disabled ) {\r\n\t\t\tthis.disable();\r\n\t\t}\r\n\t},\r\n\r\n\t_drawButton: function() {\r\n\t\tvar that = this;\r\n\r\n\t\t// Associate existing label with the new button\r\n\t\tthis.label = $( \"label[for='\" + this.ids.element + \"']\" ).attr( \"for\", this.ids.button );\r\n\t\tthis._on( this.label, {\r\n\t\t\tclick: function( event ) {\r\n\t\t\t\tthis.button.focus();\r\n\t\t\t\tevent.preventDefault();\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\t// Hide original select element\r\n\t\tthis.element.hide();\r\n\r\n\t\t// Create button\r\n\t\tthis.button = $( \"<span>\", {\r\n\t\t\t\"class\": \"ui-selectmenu-button ui-widget ui-state-default ui-corner-all\",\r\n\t\t\ttabindex: this.options.disabled ? -1 : 0,\r\n\t\t\tid: this.ids.button,\r\n\t\t\trole: \"combobox\",\r\n\t\t\t\"aria-expanded\": \"false\",\r\n\t\t\t\"aria-autocomplete\": \"list\",\r\n\t\t\t\"aria-owns\": this.ids.menu,\r\n\t\t\t\"aria-haspopup\": \"true\"\r\n\t\t})\r\n\t\t\t.insertAfter( this.element );\r\n\r\n\t\t$( \"<span>\", {\r\n\t\t\t\"class\": \"ui-icon \" + this.options.icons.button\r\n\t\t})\r\n\t\t\t.prependTo( this.button );\r\n\r\n\t\tthis.buttonText = $( \"<span>\", {\r\n\t\t\t\"class\": \"ui-selectmenu-text\"\r\n\t\t})\r\n\t\t\t.appendTo( this.button );\r\n\r\n\t\tthis._setText( this.buttonText, this.element.find( \"option:selected\" ).text() );\r\n\t\tthis._resizeButton();\r\n\r\n\t\tthis._on( this.button, this._buttonEvents );\r\n\t\tthis.button.one( \"focusin\", function() {\r\n\r\n\t\t\t// Delay rendering the menu items until the button receives focus.\r\n\t\t\t// The menu may have already been rendered via a programmatic open.\r\n\t\t\tif ( !that.menuItems ) {\r\n\t\t\t\tthat._refreshMenu();\r\n\t\t\t}\r\n\t\t});\r\n\t\tthis._hoverable( this.button );\r\n\t\tthis._focusable( this.button );\r\n\t},\r\n\r\n\t_drawMenu: function() {\r\n\t\tvar that = this;\r\n\r\n\t\t// Create menu\r\n\t\tthis.menu = $( \"<ul>\", {\r\n\t\t\t\"aria-hidden\": \"true\",\r\n\t\t\t\"aria-labelledby\": this.ids.button,\r\n\t\t\tid: this.ids.menu\r\n\t\t});\r\n\r\n\t\t// Wrap menu\r\n\t\tthis.menuWrap = $( \"<div>\", {\r\n\t\t\t\"class\": \"ui-selectmenu-menu ui-front\"\r\n\t\t})\r\n\t\t\t.append( this.menu )\r\n\t\t\t.appendTo( this._appendTo() );\r\n\r\n\t\t// Initialize menu widget\r\n\t\tthis.menuInstance = this.menu\r\n\t\t\t.menu({\r\n\t\t\t\trole: \"listbox\",\r\n\t\t\t\tselect: function( event, ui ) {\r\n\t\t\t\t\tevent.preventDefault();\r\n\r\n\t\t\t\t\t// support: IE8\r\n\t\t\t\t\t// If the item was selected via a click, the text selection\r\n\t\t\t\t\t// will be destroyed in IE\r\n\t\t\t\t\tthat._setSelection();\r\n\r\n\t\t\t\t\tthat._select( ui.item.data( \"ui-selectmenu-item\" ), event );\r\n\t\t\t\t},\r\n\t\t\t\tfocus: function( event, ui ) {\r\n\t\t\t\t\tvar item = ui.item.data( \"ui-selectmenu-item\" );\r\n\r\n\t\t\t\t\t// Prevent inital focus from firing and check if its a newly focused item\r\n\t\t\t\t\tif ( that.focusIndex != null && item.index !== that.focusIndex ) {\r\n\t\t\t\t\t\tthat._trigger( \"focus\", event, { item: item } );\r\n\t\t\t\t\t\tif ( !that.isOpen ) {\r\n\t\t\t\t\t\t\tthat._select( item, event );\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\tthat.focusIndex = item.index;\r\n\r\n\t\t\t\t\tthat.button.attr( \"aria-activedescendant\",\r\n\t\t\t\t\t\tthat.menuItems.eq( item.index ).attr( \"id\" ) );\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t\t.menu( \"instance\" );\r\n\r\n\t\t// Adjust menu styles to dropdown\r\n\t\tthis.menu\r\n\t\t\t.addClass( \"ui-corner-bottom\" )\r\n\t\t\t.removeClass( \"ui-corner-all\" );\r\n\r\n\t\t// Don't close the menu on mouseleave\r\n\t\tthis.menuInstance._off( this.menu, \"mouseleave\" );\r\n\r\n\t\t// Cancel the menu's collapseAll on document click\r\n\t\tthis.menuInstance._closeOnDocumentClick = function() {\r\n\t\t\treturn false;\r\n\t\t};\r\n\r\n\t\t// Selects often contain empty items, but never contain dividers\r\n\t\tthis.menuInstance._isDivider = function() {\r\n\t\t\treturn false;\r\n\t\t};\r\n\t},\r\n\r\n\trefresh: function() {\r\n\t\tthis._refreshMenu();\r\n\t\tthis._setText( this.buttonText, this._getSelectedItem().text() );\r\n\t\tif ( !this.options.width ) {\r\n\t\t\tthis._resizeButton();\r\n\t\t}\r\n\t},\r\n\r\n\t_refreshMenu: function() {\r\n\t\tthis.menu.empty();\r\n\r\n\t\tvar item,\r\n\t\t\toptions = this.element.find( \"option\" );\r\n\r\n\t\tif ( !options.length ) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tthis._parseOptions( options );\r\n\t\tthis._renderMenu( this.menu, this.items );\r\n\r\n\t\tthis.menuInstance.refresh();\r\n\t\tthis.menuItems = this.menu.find( \"li\" ).not( \".ui-selectmenu-optgroup\" );\r\n\r\n\t\titem = this._getSelectedItem();\r\n\r\n\t\t// Update the menu to have the correct item focused\r\n\t\tthis.menuInstance.focus( null, item );\r\n\t\tthis._setAria( item.data( \"ui-selectmenu-item\" ) );\r\n\r\n\t\t// Set disabled state\r\n\t\tthis._setOption( \"disabled\", this.element.prop( \"disabled\" ) );\r\n\t},\r\n\r\n\topen: function( event ) {\r\n\t\tif ( this.options.disabled ) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\t// If this is the first time the menu is being opened, render the items\r\n\t\tif ( !this.menuItems ) {\r\n\t\t\tthis._refreshMenu();\r\n\t\t} else {\r\n\r\n\t\t\t// Menu clears focus on close, reset focus to selected item\r\n\t\t\tthis.menu.find( \".ui-state-focus\" ).removeClass( \"ui-state-focus\" );\r\n\t\t\tthis.menuInstance.focus( null, this._getSelectedItem() );\r\n\t\t}\r\n\r\n\t\tthis.isOpen = true;\r\n\t\tthis._toggleAttr();\r\n\t\tthis._resizeMenu();\r\n\t\tthis._position();\r\n\r\n\t\tthis._on( this.document, this._documentClick );\r\n\r\n\t\tthis._trigger( \"open\", event );\r\n\t},\r\n\r\n\t_position: function() {\r\n\t\tthis.menuWrap.position( $.extend( { of: this.button }, this.options.position ) );\r\n\t},\r\n\r\n\tclose: function( event ) {\r\n\t\tif ( !this.isOpen ) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tthis.isOpen = false;\r\n\t\tthis._toggleAttr();\r\n\r\n\t\tthis.range = null;\r\n\t\tthis._off( this.document );\r\n\r\n\t\tthis._trigger( \"close\", event );\r\n\t},\r\n\r\n\twidget: function() {\r\n\t\treturn this.button;\r\n\t},\r\n\r\n\tmenuWidget: function() {\r\n\t\treturn this.menu;\r\n\t},\r\n\r\n\t_renderMenu: function( ul, items ) {\r\n\t\tvar that = this,\r\n\t\t\tcurrentOptgroup = \"\";\r\n\r\n\t\t$.each( items, function( index, item ) {\r\n\t\t\tif ( item.optgroup !== currentOptgroup ) {\r\n\t\t\t\t$( \"<li>\", {\r\n\t\t\t\t\t\"class\": \"ui-selectmenu-optgroup ui-menu-divider\" +\r\n\t\t\t\t\t\t( item.element.parent( \"optgroup\" ).prop( \"disabled\" ) ?\r\n\t\t\t\t\t\t\t\" ui-state-disabled\" :\r\n\t\t\t\t\t\t\t\"\" ),\r\n\t\t\t\t\ttext: item.optgroup\r\n\t\t\t\t})\r\n\t\t\t\t\t.appendTo( ul );\r\n\r\n\t\t\t\tcurrentOptgroup = item.optgroup;\r\n\t\t\t}\r\n\r\n\t\t\tthat._renderItemData( ul, item );\r\n\t\t});\r\n\t},\r\n\r\n\t_renderItemData: function( ul, item ) {\r\n\t\treturn this._renderItem( ul, item ).data( \"ui-selectmenu-item\", item );\r\n\t},\r\n\r\n\t_renderItem: function( ul, item ) {\r\n\t\tvar li = $( \"<li>\" );\r\n\r\n\t\tif ( item.disabled ) {\r\n\t\t\tli.addClass( \"ui-state-disabled\" );\r\n\t\t}\r\n\t\tthis._setText( li, item.label );\r\n\r\n\t\treturn li.appendTo( ul );\r\n\t},\r\n\r\n\t_setText: function( element, value ) {\r\n\t\tif ( value ) {\r\n\t\t\telement.text( value );\r\n\t\t} else {\r\n\t\t\telement.html( \"&#160;\" );\r\n\t\t}\r\n\t},\r\n\r\n\t_move: function( direction, event ) {\r\n\t\tvar item, next,\r\n\t\t\tfilter = \".ui-menu-item\";\r\n\r\n\t\tif ( this.isOpen ) {\r\n\t\t\titem = this.menuItems.eq( this.focusIndex );\r\n\t\t} else {\r\n\t\t\titem = this.menuItems.eq( this.element[ 0 ].selectedIndex );\r\n\t\t\tfilter += \":not(.ui-state-disabled)\";\r\n\t\t}\r\n\r\n\t\tif ( direction === \"first\" || direction === \"last\" ) {\r\n\t\t\tnext = item[ direction === \"first\" ? \"prevAll\" : \"nextAll\" ]( filter ).eq( -1 );\r\n\t\t} else {\r\n\t\t\tnext = item[ direction + \"All\" ]( filter ).eq( 0 );\r\n\t\t}\r\n\r\n\t\tif ( next.length ) {\r\n\t\t\tthis.menuInstance.focus( event, next );\r\n\t\t}\r\n\t},\r\n\r\n\t_getSelectedItem: function() {\r\n\t\treturn this.menuItems.eq( this.element[ 0 ].selectedIndex );\r\n\t},\r\n\r\n\t_toggle: function( event ) {\r\n\t\tthis[ this.isOpen ? \"close\" : \"open\" ]( event );\r\n\t},\r\n\r\n\t_setSelection: function() {\r\n\t\tvar selection;\r\n\r\n\t\tif ( !this.range ) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tif ( window.getSelection ) {\r\n\t\t\tselection = window.getSelection();\r\n\t\t\tselection.removeAllRanges();\r\n\t\t\tselection.addRange( this.range );\r\n\r\n\t\t// support: IE8\r\n\t\t} else {\r\n\t\t\tthis.range.select();\r\n\t\t}\r\n\r\n\t\t// support: IE\r\n\t\t// Setting the text selection kills the button focus in IE, but\r\n\t\t// restoring the focus doesn't kill the selection.\r\n\t\tthis.button.focus();\r\n\t},\r\n\r\n\t_documentClick: {\r\n\t\tmousedown: function( event ) {\r\n\t\t\tif ( !this.isOpen ) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tif ( !$( event.target ).closest( \".ui-selectmenu-menu, #\" + this.ids.button ).length ) {\r\n\t\t\t\tthis.close( event );\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n\r\n\t_buttonEvents: {\r\n\r\n\t\t// Prevent text selection from being reset when interacting with the selectmenu (#10144)\r\n\t\tmousedown: function() {\r\n\t\t\tvar selection;\r\n\r\n\t\t\tif ( window.getSelection ) {\r\n\t\t\t\tselection = window.getSelection();\r\n\t\t\t\tif ( selection.rangeCount ) {\r\n\t\t\t\t\tthis.range = selection.getRangeAt( 0 );\r\n\t\t\t\t}\r\n\r\n\t\t\t// support: IE8\r\n\t\t\t} else {\r\n\t\t\t\tthis.range = document.selection.createRange();\r\n\t\t\t}\r\n\t\t},\r\n\r\n\t\tclick: function( event ) {\r\n\t\t\tthis._setSelection();\r\n\t\t\tthis._toggle( event );\r\n\t\t},\r\n\r\n\t\tkeydown: function( event ) {\r\n\t\t\tvar preventDefault = true;\r\n\t\t\tswitch ( event.keyCode ) {\r\n\t\t\t\tcase $.ui.keyCode.TAB:\r\n\t\t\t\tcase $.ui.keyCode.ESCAPE:\r\n\t\t\t\t\tthis.close( event );\r\n\t\t\t\t\tpreventDefault = false;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase $.ui.keyCode.ENTER:\r\n\t\t\t\t\tif ( this.isOpen ) {\r\n\t\t\t\t\t\tthis._selectFocusedItem( event );\r\n\t\t\t\t\t}\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase $.ui.keyCode.UP:\r\n\t\t\t\t\tif ( event.altKey ) {\r\n\t\t\t\t\t\tthis._toggle( event );\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tthis._move( \"prev\", event );\r\n\t\t\t\t\t}\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase $.ui.keyCode.DOWN:\r\n\t\t\t\t\tif ( event.altKey ) {\r\n\t\t\t\t\t\tthis._toggle( event );\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tthis._move( \"next\", event );\r\n\t\t\t\t\t}\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase $.ui.keyCode.SPACE:\r\n\t\t\t\t\tif ( this.isOpen ) {\r\n\t\t\t\t\t\tthis._selectFocusedItem( event );\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tthis._toggle( event );\r\n\t\t\t\t\t}\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase $.ui.keyCode.LEFT:\r\n\t\t\t\t\tthis._move( \"prev\", event );\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase $.ui.keyCode.RIGHT:\r\n\t\t\t\t\tthis._move( \"next\", event );\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase $.ui.keyCode.HOME:\r\n\t\t\t\tcase $.ui.keyCode.PAGE_UP:\r\n\t\t\t\t\tthis._move( \"first\", event );\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase $.ui.keyCode.END:\r\n\t\t\t\tcase $.ui.keyCode.PAGE_DOWN:\r\n\t\t\t\t\tthis._move( \"last\", event );\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tdefault:\r\n\t\t\t\t\tthis.menu.trigger( event );\r\n\t\t\t\t\tpreventDefault = false;\r\n\t\t\t}\r\n\r\n\t\t\tif ( preventDefault ) {\r\n\t\t\t\tevent.preventDefault();\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n\r\n\t_selectFocusedItem: function( event ) {\r\n\t\tvar item = this.menuItems.eq( this.focusIndex );\r\n\t\tif ( !item.hasClass( \"ui-state-disabled\" ) ) {\r\n\t\t\tthis._select( item.data( \"ui-selectmenu-item\" ), event );\r\n\t\t}\r\n\t},\r\n\r\n\t_select: function( item, event ) {\r\n\t\tvar oldIndex = this.element[ 0 ].selectedIndex;\r\n\r\n\t\t// Change native select element\r\n\t\tthis.element[ 0 ].selectedIndex = item.index;\r\n\t\tthis._setText( this.buttonText, item.label );\r\n\t\tthis._setAria( item );\r\n\t\tthis._trigger( \"select\", event, { item: item } );\r\n\r\n\t\tif ( item.index !== oldIndex ) {\r\n\t\t\tthis._trigger( \"change\", event, { item: item } );\r\n\t\t}\r\n\r\n\t\tthis.close( event );\r\n\t},\r\n\r\n\t_setAria: function( item ) {\r\n\t\tvar id = this.menuItems.eq( item.index ).attr( \"id\" );\r\n\r\n\t\tthis.button.attr({\r\n\t\t\t\"aria-labelledby\": id,\r\n\t\t\t\"aria-activedescendant\": id\r\n\t\t});\r\n\t\tthis.menu.attr( \"aria-activedescendant\", id );\r\n\t},\r\n\r\n\t_setOption: function( key, value ) {\r\n\t\tif ( key === \"icons\" ) {\r\n\t\t\tthis.button.find( \"span.ui-icon\" )\r\n\t\t\t\t.removeClass( this.options.icons.button )\r\n\t\t\t\t.addClass( value.button );\r\n\t\t}\r\n\r\n\t\tthis._super( key, value );\r\n\r\n\t\tif ( key === \"appendTo\" ) {\r\n\t\t\tthis.menuWrap.appendTo( this._appendTo() );\r\n\t\t}\r\n\r\n\t\tif ( key === \"disabled\" ) {\r\n\t\t\tthis.menuInstance.option( \"disabled\", value );\r\n\t\t\tthis.button\r\n\t\t\t\t.toggleClass( \"ui-state-disabled\", value )\r\n\t\t\t\t.attr( \"aria-disabled\", value );\r\n\r\n\t\t\tthis.element.prop( \"disabled\", value );\r\n\t\t\tif ( value ) {\r\n\t\t\t\tthis.button.attr( \"tabindex\", -1 );\r\n\t\t\t\tthis.close();\r\n\t\t\t} else {\r\n\t\t\t\tthis.button.attr( \"tabindex\", 0 );\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif ( key === \"width\" ) {\r\n\t\t\tthis._resizeButton();\r\n\t\t}\r\n\t},\r\n\r\n\t_appendTo: function() {\r\n\t\tvar element = this.options.appendTo;\r\n\r\n\t\tif ( element ) {\r\n\t\t\telement = element.jquery || element.nodeType ?\r\n\t\t\t\t$( element ) :\r\n\t\t\t\tthis.document.find( element ).eq( 0 );\r\n\t\t}\r\n\r\n\t\tif ( !element || !element[ 0 ] ) {\r\n\t\t\telement = this.element.closest( \".ui-front\" );\r\n\t\t}\r\n\r\n\t\tif ( !element.length ) {\r\n\t\t\telement = this.document[ 0 ].body;\r\n\t\t}\r\n\r\n\t\treturn element;\r\n\t},\r\n\r\n\t_toggleAttr: function() {\r\n\t\tthis.button\r\n\t\t\t.toggleClass( \"ui-corner-top\", this.isOpen )\r\n\t\t\t.toggleClass( \"ui-corner-all\", !this.isOpen )\r\n\t\t\t.attr( \"aria-expanded\", this.isOpen );\r\n\t\tthis.menuWrap.toggleClass( \"ui-selectmenu-open\", this.isOpen );\r\n\t\tthis.menu.attr( \"aria-hidden\", !this.isOpen );\r\n\t},\r\n\r\n\t_resizeButton: function() {\r\n\t\tvar width = this.options.width;\r\n\r\n\t\tif ( !width ) {\r\n\t\t\twidth = this.element.show().outerWidth();\r\n\t\t\tthis.element.hide();\r\n\t\t}\r\n\r\n\t\tthis.button.outerWidth( width );\r\n\t},\r\n\r\n\t_resizeMenu: function() {\r\n\t\tthis.menu.outerWidth( Math.max(\r\n\t\t\tthis.button.outerWidth(),\r\n\r\n\t\t\t// support: IE10\r\n\t\t\t// IE10 wraps long text (possibly a rounding bug)\r\n\t\t\t// so we add 1px to avoid the wrapping\r\n\t\t\tthis.menu.width( \"\" ).outerWidth() + 1\r\n\t\t) );\r\n\t},\r\n\r\n\t_getCreateOptions: function() {\r\n\t\treturn { disabled: this.element.prop( \"disabled\" ) };\r\n\t},\r\n\r\n\t_parseOptions: function( options ) {\r\n\t\tvar data = [];\r\n\t\toptions.each(function( index, item ) {\r\n\t\t\tvar option = $( item ),\r\n\t\t\t\toptgroup = option.parent( \"optgroup\" );\r\n\t\t\tdata.push({\r\n\t\t\t\telement: option,\r\n\t\t\t\tindex: index,\r\n\t\t\t\tvalue: option.val(),\r\n\t\t\t\tlabel: option.text(),\r\n\t\t\t\toptgroup: optgroup.attr( \"label\" ) || \"\",\r\n\t\t\t\tdisabled: optgroup.prop( \"disabled\" ) || option.prop( \"disabled\" )\r\n\t\t\t});\r\n\t\t});\r\n\t\tthis.items = data;\r\n\t},\r\n\r\n\t_destroy: function() {\r\n\t\tthis.menuWrap.remove();\r\n\t\tthis.button.remove();\r\n\t\tthis.element.show();\r\n\t\tthis.element.removeUniqueId();\r\n\t\tthis.label.attr( \"for\", this.ids.element );\r\n\t}\r\n});\r\n\r\n\r\n/*!\r\n * jQuery UI Slider 1.11.4\r\n * http://jqueryui.com\r\n *\r\n * Copyright jQuery Foundation and other contributors\r\n * Released under the MIT license.\r\n * http://jquery.org/license\r\n *\r\n * http://api.jqueryui.com/slider/\r\n */\r\n\r\n\r\nvar slider = $.widget( \"ui.slider\", $.ui.mouse, {\r\n\tversion: \"1.11.4\",\r\n\twidgetEventPrefix: \"slide\",\r\n\r\n\toptions: {\r\n\t\tanimate: false,\r\n\t\tdistance: 0,\r\n\t\tmax: 100,\r\n\t\tmin: 0,\r\n\t\torientation: \"horizontal\",\r\n\t\trange: false,\r\n\t\tstep: 1,\r\n\t\tvalue: 0,\r\n\t\tvalues: null,\r\n\r\n\t\t// callbacks\r\n\t\tchange: null,\r\n\t\tslide: null,\r\n\t\tstart: null,\r\n\t\tstop: null\r\n\t},\r\n\r\n\t// number of pages in a slider\r\n\t// (how many times can you page up/down to go through the whole range)\r\n\tnumPages: 5,\r\n\r\n\t_create: function() {\r\n\t\tthis._keySliding = false;\r\n\t\tthis._mouseSliding = false;\r\n\t\tthis._animateOff = true;\r\n\t\tthis._handleIndex = null;\r\n\t\tthis._detectOrientation();\r\n\t\tthis._mouseInit();\r\n\t\tthis._calculateNewMax();\r\n\r\n\t\tthis.element\r\n\t\t\t.addClass( \"ui-slider\" +\r\n\t\t\t\t\" ui-slider-\" + this.orientation +\r\n\t\t\t\t\" ui-widget\" +\r\n\t\t\t\t\" ui-widget-content\" +\r\n\t\t\t\t\" ui-corner-all\");\r\n\r\n\t\tthis._refresh();\r\n\t\tthis._setOption( \"disabled\", this.options.disabled );\r\n\r\n\t\tthis._animateOff = false;\r\n\t},\r\n\r\n\t_refresh: function() {\r\n\t\tthis._createRange();\r\n\t\tthis._createHandles();\r\n\t\tthis._setupEvents();\r\n\t\tthis._refreshValue();\r\n\t},\r\n\r\n\t_createHandles: function() {\r\n\t\tvar i, handleCount,\r\n\t\t\toptions = this.options,\r\n\t\t\texistingHandles = this.element.find( \".ui-slider-handle\" ).addClass( \"ui-state-default ui-corner-all\" ),\r\n\t\t\thandle = \"<span class='ui-slider-handle ui-state-default ui-corner-all' tabindex='0'></span>\",\r\n\t\t\thandles = [];\r\n\r\n\t\thandleCount = ( options.values && options.values.length ) || 1;\r\n\r\n\t\tif ( existingHandles.length > handleCount ) {\r\n\t\t\texistingHandles.slice( handleCount ).remove();\r\n\t\t\texistingHandles = existingHandles.slice( 0, handleCount );\r\n\t\t}\r\n\r\n\t\tfor ( i = existingHandles.length; i < handleCount; i++ ) {\r\n\t\t\thandles.push( handle );\r\n\t\t}\r\n\r\n\t\tthis.handles = existingHandles.add( $( handles.join( \"\" ) ).appendTo( this.element ) );\r\n\r\n\t\tthis.handle = this.handles.eq( 0 );\r\n\r\n\t\tthis.handles.each(function( i ) {\r\n\t\t\t$( this ).data( \"ui-slider-handle-index\", i );\r\n\t\t});\r\n\t},\r\n\r\n\t_createRange: function() {\r\n\t\tvar options = this.options,\r\n\t\t\tclasses = \"\";\r\n\r\n\t\tif ( options.range ) {\r\n\t\t\tif ( options.range === true ) {\r\n\t\t\t\tif ( !options.values ) {\r\n\t\t\t\t\toptions.values = [ this._valueMin(), this._valueMin() ];\r\n\t\t\t\t} else if ( options.values.length && options.values.length !== 2 ) {\r\n\t\t\t\t\toptions.values = [ options.values[0], options.values[0] ];\r\n\t\t\t\t} else if ( $.isArray( options.values ) ) {\r\n\t\t\t\t\toptions.values = options.values.slice(0);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tif ( !this.range || !this.range.length ) {\r\n\t\t\t\tthis.range = $( \"<div></div>\" )\r\n\t\t\t\t\t.appendTo( this.element );\r\n\r\n\t\t\t\tclasses = \"ui-slider-range\" +\r\n\t\t\t\t// note: this isn't the most fittingly semantic framework class for this element,\r\n\t\t\t\t// but worked best visually with a variety of themes\r\n\t\t\t\t\" ui-widget-header ui-corner-all\";\r\n\t\t\t} else {\r\n\t\t\t\tthis.range.removeClass( \"ui-slider-range-min ui-slider-range-max\" )\r\n\t\t\t\t\t// Handle range switching from true to min/max\r\n\t\t\t\t\t.css({\r\n\t\t\t\t\t\t\"left\": \"\",\r\n\t\t\t\t\t\t\"bottom\": \"\"\r\n\t\t\t\t\t});\r\n\t\t\t}\r\n\r\n\t\t\tthis.range.addClass( classes +\r\n\t\t\t\t( ( options.range === \"min\" || options.range === \"max\" ) ? \" ui-slider-range-\" + options.range : \"\" ) );\r\n\t\t} else {\r\n\t\t\tif ( this.range ) {\r\n\t\t\t\tthis.range.remove();\r\n\t\t\t}\r\n\t\t\tthis.range = null;\r\n\t\t}\r\n\t},\r\n\r\n\t_setupEvents: function() {\r\n\t\tthis._off( this.handles );\r\n\t\tthis._on( this.handles, this._handleEvents );\r\n\t\tthis._hoverable( this.handles );\r\n\t\tthis._focusable( this.handles );\r\n\t},\r\n\r\n\t_destroy: function() {\r\n\t\tthis.handles.remove();\r\n\t\tif ( this.range ) {\r\n\t\t\tthis.range.remove();\r\n\t\t}\r\n\r\n\t\tthis.element\r\n\t\t\t.removeClass( \"ui-slider\" +\r\n\t\t\t\t\" ui-slider-horizontal\" +\r\n\t\t\t\t\" ui-slider-vertical\" +\r\n\t\t\t\t\" ui-widget\" +\r\n\t\t\t\t\" ui-widget-content\" +\r\n\t\t\t\t\" ui-corner-all\" );\r\n\r\n\t\tthis._mouseDestroy();\r\n\t},\r\n\r\n\t_mouseCapture: function( event ) {\r\n\t\tvar position, normValue, distance, closestHandle, index, allowed, offset, mouseOverHandle,\r\n\t\t\tthat = this,\r\n\t\t\to = this.options;\r\n\r\n\t\tif ( o.disabled ) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\r\n\t\tthis.elementSize = {\r\n\t\t\twidth: this.element.outerWidth(),\r\n\t\t\theight: this.element.outerHeight()\r\n\t\t};\r\n\t\tthis.elementOffset = this.element.offset();\r\n\r\n\t\tposition = { x: event.pageX, y: event.pageY };\r\n\t\tnormValue = this._normValueFromMouse( position );\r\n\t\tdistance = this._valueMax() - this._valueMin() + 1;\r\n\t\tthis.handles.each(function( i ) {\r\n\t\t\tvar thisDistance = Math.abs( normValue - that.values(i) );\r\n\t\t\tif (( distance > thisDistance ) ||\r\n\t\t\t\t( distance === thisDistance &&\r\n\t\t\t\t\t(i === that._lastChangedValue || that.values(i) === o.min ))) {\r\n\t\t\t\tdistance = thisDistance;\r\n\t\t\t\tclosestHandle = $( this );\r\n\t\t\t\tindex = i;\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\tallowed = this._start( event, index );\r\n\t\tif ( allowed === false ) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\t\tthis._mouseSliding = true;\r\n\r\n\t\tthis._handleIndex = index;\r\n\r\n\t\tclosestHandle\r\n\t\t\t.addClass( \"ui-state-active\" )\r\n\t\t\t.focus();\r\n\r\n\t\toffset = closestHandle.offset();\r\n\t\tmouseOverHandle = !$( event.target ).parents().addBack().is( \".ui-slider-handle\" );\r\n\t\tthis._clickOffset = mouseOverHandle ? { left: 0, top: 0 } : {\r\n\t\t\tleft: event.pageX - offset.left - ( closestHandle.width() / 2 ),\r\n\t\t\ttop: event.pageY - offset.top -\r\n\t\t\t\t( closestHandle.height() / 2 ) -\r\n\t\t\t\t( parseInt( closestHandle.css(\"borderTopWidth\"), 10 ) || 0 ) -\r\n\t\t\t\t( parseInt( closestHandle.css(\"borderBottomWidth\"), 10 ) || 0) +\r\n\t\t\t\t( parseInt( closestHandle.css(\"marginTop\"), 10 ) || 0)\r\n\t\t};\r\n\r\n\t\tif ( !this.handles.hasClass( \"ui-state-hover\" ) ) {\r\n\t\t\tthis._slide( event, index, normValue );\r\n\t\t}\r\n\t\tthis._animateOff = true;\r\n\t\treturn true;\r\n\t},\r\n\r\n\t_mouseStart: function() {\r\n\t\treturn true;\r\n\t},\r\n\r\n\t_mouseDrag: function( event ) {\r\n\t\tvar position = { x: event.pageX, y: event.pageY },\r\n\t\t\tnormValue = this._normValueFromMouse( position );\r\n\r\n\t\tthis._slide( event, this._handleIndex, normValue );\r\n\r\n\t\treturn false;\r\n\t},\r\n\r\n\t_mouseStop: function( event ) {\r\n\t\tthis.handles.removeClass( \"ui-state-active\" );\r\n\t\tthis._mouseSliding = false;\r\n\r\n\t\tthis._stop( event, this._handleIndex );\r\n\t\tthis._change( event, this._handleIndex );\r\n\r\n\t\tthis._handleIndex = null;\r\n\t\tthis._clickOffset = null;\r\n\t\tthis._animateOff = false;\r\n\r\n\t\treturn false;\r\n\t},\r\n\r\n\t_detectOrientation: function() {\r\n\t\tthis.orientation = ( this.options.orientation === \"vertical\" ) ? \"vertical\" : \"horizontal\";\r\n\t},\r\n\r\n\t_normValueFromMouse: function( position ) {\r\n\t\tvar pixelTotal,\r\n\t\t\tpixelMouse,\r\n\t\t\tpercentMouse,\r\n\t\t\tvalueTotal,\r\n\t\t\tvalueMouse;\r\n\r\n\t\tif ( this.orientation === \"horizontal\" ) {\r\n\t\t\tpixelTotal = this.elementSize.width;\r\n\t\t\tpixelMouse = position.x - this.elementOffset.left - ( this._clickOffset ? this._clickOffset.left : 0 );\r\n\t\t} else {\r\n\t\t\tpixelTotal = this.elementSize.height;\r\n\t\t\tpixelMouse = position.y - this.elementOffset.top - ( this._clickOffset ? this._clickOffset.top : 0 );\r\n\t\t}\r\n\r\n\t\tpercentMouse = ( pixelMouse / pixelTotal );\r\n\t\tif ( percentMouse > 1 ) {\r\n\t\t\tpercentMouse = 1;\r\n\t\t}\r\n\t\tif ( percentMouse < 0 ) {\r\n\t\t\tpercentMouse = 0;\r\n\t\t}\r\n\t\tif ( this.orientation === \"vertical\" ) {\r\n\t\t\tpercentMouse = 1 - percentMouse;\r\n\t\t}\r\n\r\n\t\tvalueTotal = this._valueMax() - this._valueMin();\r\n\t\tvalueMouse = this._valueMin() + percentMouse * valueTotal;\r\n\r\n\t\treturn this._trimAlignValue( valueMouse );\r\n\t},\r\n\r\n\t_start: function( event, index ) {\r\n\t\tvar uiHash = {\r\n\t\t\thandle: this.handles[ index ],\r\n\t\t\tvalue: this.value()\r\n\t\t};\r\n\t\tif ( this.options.values && this.options.values.length ) {\r\n\t\t\tuiHash.value = this.values( index );\r\n\t\t\tuiHash.values = this.values();\r\n\t\t}\r\n\t\treturn this._trigger( \"start\", event, uiHash );\r\n\t},\r\n\r\n\t_slide: function( event, index, newVal ) {\r\n\t\tvar otherVal,\r\n\t\t\tnewValues,\r\n\t\t\tallowed;\r\n\r\n\t\tif ( this.options.values && this.options.values.length ) {\r\n\t\t\totherVal = this.values( index ? 0 : 1 );\r\n\r\n\t\t\tif ( ( this.options.values.length === 2 && this.options.range === true ) &&\r\n\t\t\t\t\t( ( index === 0 && newVal > otherVal) || ( index === 1 && newVal < otherVal ) )\r\n\t\t\t\t) {\r\n\t\t\t\tnewVal = otherVal;\r\n\t\t\t}\r\n\r\n\t\t\tif ( newVal !== this.values( index ) ) {\r\n\t\t\t\tnewValues = this.values();\r\n\t\t\t\tnewValues[ index ] = newVal;\r\n\t\t\t\t// A slide can be canceled by returning false from the slide callback\r\n\t\t\t\tallowed = this._trigger( \"slide\", event, {\r\n\t\t\t\t\thandle: this.handles[ index ],\r\n\t\t\t\t\tvalue: newVal,\r\n\t\t\t\t\tvalues: newValues\r\n\t\t\t\t} );\r\n\t\t\t\totherVal = this.values( index ? 0 : 1 );\r\n\t\t\t\tif ( allowed !== false ) {\r\n\t\t\t\t\tthis.values( index, newVal );\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tif ( newVal !== this.value() ) {\r\n\t\t\t\t// A slide can be canceled by returning false from the slide callback\r\n\t\t\t\tallowed = this._trigger( \"slide\", event, {\r\n\t\t\t\t\thandle: this.handles[ index ],\r\n\t\t\t\t\tvalue: newVal\r\n\t\t\t\t} );\r\n\t\t\t\tif ( allowed !== false ) {\r\n\t\t\t\t\tthis.value( newVal );\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n\r\n\t_stop: function( event, index ) {\r\n\t\tvar uiHash = {\r\n\t\t\thandle: this.handles[ index ],\r\n\t\t\tvalue: this.value()\r\n\t\t};\r\n\t\tif ( this.options.values && this.options.values.length ) {\r\n\t\t\tuiHash.value = this.values( index );\r\n\t\t\tuiHash.values = this.values();\r\n\t\t}\r\n\r\n\t\tthis._trigger( \"stop\", event, uiHash );\r\n\t},\r\n\r\n\t_change: function( event, index ) {\r\n\t\tif ( !this._keySliding && !this._mouseSliding ) {\r\n\t\t\tvar uiHash = {\r\n\t\t\t\thandle: this.handles[ index ],\r\n\t\t\t\tvalue: this.value()\r\n\t\t\t};\r\n\t\t\tif ( this.options.values && this.options.values.length ) {\r\n\t\t\t\tuiHash.value = this.values( index );\r\n\t\t\t\tuiHash.values = this.values();\r\n\t\t\t}\r\n\r\n\t\t\t//store the last changed value index for reference when handles overlap\r\n\t\t\tthis._lastChangedValue = index;\r\n\r\n\t\t\tthis._trigger( \"change\", event, uiHash );\r\n\t\t}\r\n\t},\r\n\r\n\tvalue: function( newValue ) {\r\n\t\tif ( arguments.length ) {\r\n\t\t\tthis.options.value = this._trimAlignValue( newValue );\r\n\t\t\tthis._refreshValue();\r\n\t\t\tthis._change( null, 0 );\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\treturn this._value();\r\n\t},\r\n\r\n\tvalues: function( index, newValue ) {\r\n\t\tvar vals,\r\n\t\t\tnewValues,\r\n\t\t\ti;\r\n\r\n\t\tif ( arguments.length > 1 ) {\r\n\t\t\tthis.options.values[ index ] = this._trimAlignValue( newValue );\r\n\t\t\tthis._refreshValue();\r\n\t\t\tthis._change( null, index );\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tif ( arguments.length ) {\r\n\t\t\tif ( $.isArray( arguments[ 0 ] ) ) {\r\n\t\t\t\tvals = this.options.values;\r\n\t\t\t\tnewValues = arguments[ 0 ];\r\n\t\t\t\tfor ( i = 0; i < vals.length; i += 1 ) {\r\n\t\t\t\t\tvals[ i ] = this._trimAlignValue( newValues[ i ] );\r\n\t\t\t\t\tthis._change( null, i );\r\n\t\t\t\t}\r\n\t\t\t\tthis._refreshValue();\r\n\t\t\t} else {\r\n\t\t\t\tif ( this.options.values && this.options.values.length ) {\r\n\t\t\t\t\treturn this._values( index );\r\n\t\t\t\t} else {\r\n\t\t\t\t\treturn this.value();\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\treturn this._values();\r\n\t\t}\r\n\t},\r\n\r\n\t_setOption: function( key, value ) {\r\n\t\tvar i,\r\n\t\t\tvalsLength = 0;\r\n\r\n\t\tif ( key === \"range\" && this.options.range === true ) {\r\n\t\t\tif ( value === \"min\" ) {\r\n\t\t\t\tthis.options.value = this._values( 0 );\r\n\t\t\t\tthis.options.values = null;\r\n\t\t\t} else if ( value === \"max\" ) {\r\n\t\t\t\tthis.options.value = this._values( this.options.values.length - 1 );\r\n\t\t\t\tthis.options.values = null;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif ( $.isArray( this.options.values ) ) {\r\n\t\t\tvalsLength = this.options.values.length;\r\n\t\t}\r\n\r\n\t\tif ( key === \"disabled\" ) {\r\n\t\t\tthis.element.toggleClass( \"ui-state-disabled\", !!value );\r\n\t\t}\r\n\r\n\t\tthis._super( key, value );\r\n\r\n\t\tswitch ( key ) {\r\n\t\t\tcase \"orientation\":\r\n\t\t\t\tthis._detectOrientation();\r\n\t\t\t\tthis.element\r\n\t\t\t\t\t.removeClass( \"ui-slider-horizontal ui-slider-vertical\" )\r\n\t\t\t\t\t.addClass( \"ui-slider-\" + this.orientation );\r\n\t\t\t\tthis._refreshValue();\r\n\r\n\t\t\t\t// Reset positioning from previous orientation\r\n\t\t\t\tthis.handles.css( value === \"horizontal\" ? \"bottom\" : \"left\", \"\" );\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"value\":\r\n\t\t\t\tthis._animateOff = true;\r\n\t\t\t\tthis._refreshValue();\r\n\t\t\t\tthis._change( null, 0 );\r\n\t\t\t\tthis._animateOff = false;\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"values\":\r\n\t\t\t\tthis._animateOff = true;\r\n\t\t\t\tthis._refreshValue();\r\n\t\t\t\tfor ( i = 0; i < valsLength; i += 1 ) {\r\n\t\t\t\t\tthis._change( null, i );\r\n\t\t\t\t}\r\n\t\t\t\tthis._animateOff = false;\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"step\":\r\n\t\t\tcase \"min\":\r\n\t\t\tcase \"max\":\r\n\t\t\t\tthis._animateOff = true;\r\n\t\t\t\tthis._calculateNewMax();\r\n\t\t\t\tthis._refreshValue();\r\n\t\t\t\tthis._animateOff = false;\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"range\":\r\n\t\t\t\tthis._animateOff = true;\r\n\t\t\t\tthis._refresh();\r\n\t\t\t\tthis._animateOff = false;\r\n\t\t\t\tbreak;\r\n\t\t}\r\n\t},\r\n\r\n\t//internal value getter\r\n\t// _value() returns value trimmed by min and max, aligned by step\r\n\t_value: function() {\r\n\t\tvar val = this.options.value;\r\n\t\tval = this._trimAlignValue( val );\r\n\r\n\t\treturn val;\r\n\t},\r\n\r\n\t//internal values getter\r\n\t// _values() returns array of values trimmed by min and max, aligned by step\r\n\t// _values( index ) returns single value trimmed by min and max, aligned by step\r\n\t_values: function( index ) {\r\n\t\tvar val,\r\n\t\t\tvals,\r\n\t\t\ti;\r\n\r\n\t\tif ( arguments.length ) {\r\n\t\t\tval = this.options.values[ index ];\r\n\t\t\tval = this._trimAlignValue( val );\r\n\r\n\t\t\treturn val;\r\n\t\t} else if ( this.options.values && this.options.values.length ) {\r\n\t\t\t// .slice() creates a copy of the array\r\n\t\t\t// this copy gets trimmed by min and max and then returned\r\n\t\t\tvals = this.options.values.slice();\r\n\t\t\tfor ( i = 0; i < vals.length; i += 1) {\r\n\t\t\t\tvals[ i ] = this._trimAlignValue( vals[ i ] );\r\n\t\t\t}\r\n\r\n\t\t\treturn vals;\r\n\t\t} else {\r\n\t\t\treturn [];\r\n\t\t}\r\n\t},\r\n\r\n\t// returns the step-aligned value that val is closest to, between (inclusive) min and max\r\n\t_trimAlignValue: function( val ) {\r\n\t\tif ( val <= this._valueMin() ) {\r\n\t\t\treturn this._valueMin();\r\n\t\t}\r\n\t\tif ( val >= this._valueMax() ) {\r\n\t\t\treturn this._valueMax();\r\n\t\t}\r\n\t\tvar step = ( this.options.step > 0 ) ? this.options.step : 1,\r\n\t\t\tvalModStep = (val - this._valueMin()) % step,\r\n\t\t\talignValue = val - valModStep;\r\n\r\n\t\tif ( Math.abs(valModStep) * 2 >= step ) {\r\n\t\t\talignValue += ( valModStep > 0 ) ? step : ( -step );\r\n\t\t}\r\n\r\n\t\t// Since JavaScript has problems with large floats, round\r\n\t\t// the final value to 5 digits after the decimal point (see #4124)\r\n\t\treturn parseFloat( alignValue.toFixed(5) );\r\n\t},\r\n\r\n\t_calculateNewMax: function() {\r\n\t\tvar max = this.options.max,\r\n\t\t\tmin = this._valueMin(),\r\n\t\t\tstep = this.options.step,\r\n\t\t\taboveMin = Math.floor( ( +( max - min ).toFixed( this._precision() ) ) / step ) * step;\r\n\t\tmax = aboveMin + min;\r\n\t\tthis.max = parseFloat( max.toFixed( this._precision() ) );\r\n\t},\r\n\r\n\t_precision: function() {\r\n\t\tvar precision = this._precisionOf( this.options.step );\r\n\t\tif ( this.options.min !== null ) {\r\n\t\t\tprecision = Math.max( precision, this._precisionOf( this.options.min ) );\r\n\t\t}\r\n\t\treturn precision;\r\n\t},\r\n\r\n\t_precisionOf: function( num ) {\r\n\t\tvar str = num.toString(),\r\n\t\t\tdecimal = str.indexOf( \".\" );\r\n\t\treturn decimal === -1 ? 0 : str.length - decimal - 1;\r\n\t},\r\n\r\n\t_valueMin: function() {\r\n\t\treturn this.options.min;\r\n\t},\r\n\r\n\t_valueMax: function() {\r\n\t\treturn this.max;\r\n\t},\r\n\r\n\t_refreshValue: function() {\r\n\t\tvar lastValPercent, valPercent, value, valueMin, valueMax,\r\n\t\t\toRange = this.options.range,\r\n\t\t\to = this.options,\r\n\t\t\tthat = this,\r\n\t\t\tanimate = ( !this._animateOff ) ? o.animate : false,\r\n\t\t\t_set = {};\r\n\r\n\t\tif ( this.options.values && this.options.values.length ) {\r\n\t\t\tthis.handles.each(function( i ) {\r\n\t\t\t\tvalPercent = ( that.values(i) - that._valueMin() ) / ( that._valueMax() - that._valueMin() ) * 100;\r\n\t\t\t\t_set[ that.orientation === \"horizontal\" ? \"left\" : \"bottom\" ] = valPercent + \"%\";\r\n\t\t\t\t$( this ).stop( 1, 1 )[ animate ? \"animate\" : \"css\" ]( _set, o.animate );\r\n\t\t\t\tif ( that.options.range === true ) {\r\n\t\t\t\t\tif ( that.orientation === \"horizontal\" ) {\r\n\t\t\t\t\t\tif ( i === 0 ) {\r\n\t\t\t\t\t\t\tthat.range.stop( 1, 1 )[ animate ? \"animate\" : \"css\" ]( { left: valPercent + \"%\" }, o.animate );\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif ( i === 1 ) {\r\n\t\t\t\t\t\t\tthat.range[ animate ? \"animate\" : \"css\" ]( { width: ( valPercent - lastValPercent ) + \"%\" }, { queue: false, duration: o.animate } );\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tif ( i === 0 ) {\r\n\t\t\t\t\t\t\tthat.range.stop( 1, 1 )[ animate ? \"animate\" : \"css\" ]( { bottom: ( valPercent ) + \"%\" }, o.animate );\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif ( i === 1 ) {\r\n\t\t\t\t\t\t\tthat.range[ animate ? \"animate\" : \"css\" ]( { height: ( valPercent - lastValPercent ) + \"%\" }, { queue: false, duration: o.animate } );\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\tlastValPercent = valPercent;\r\n\t\t\t});\r\n\t\t} else {\r\n\t\t\tvalue = this.value();\r\n\t\t\tvalueMin = this._valueMin();\r\n\t\t\tvalueMax = this._valueMax();\r\n\t\t\tvalPercent = ( valueMax !== valueMin ) ?\r\n\t\t\t\t\t( value - valueMin ) / ( valueMax - valueMin ) * 100 :\r\n\t\t\t\t\t0;\r\n\t\t\t_set[ this.orientation === \"horizontal\" ? \"left\" : \"bottom\" ] = valPercent + \"%\";\r\n\t\t\tthis.handle.stop( 1, 1 )[ animate ? \"animate\" : \"css\" ]( _set, o.animate );\r\n\r\n\t\t\tif ( oRange === \"min\" && this.orientation === \"horizontal\" ) {\r\n\t\t\t\tthis.range.stop( 1, 1 )[ animate ? \"animate\" : \"css\" ]( { width: valPercent + \"%\" }, o.animate );\r\n\t\t\t}\r\n\t\t\tif ( oRange === \"max\" && this.orientation === \"horizontal\" ) {\r\n\t\t\t\tthis.range[ animate ? \"animate\" : \"css\" ]( { width: ( 100 - valPercent ) + \"%\" }, { queue: false, duration: o.animate } );\r\n\t\t\t}\r\n\t\t\tif ( oRange === \"min\" && this.orientation === \"vertical\" ) {\r\n\t\t\t\tthis.range.stop( 1, 1 )[ animate ? \"animate\" : \"css\" ]( { height: valPercent + \"%\" }, o.animate );\r\n\t\t\t}\r\n\t\t\tif ( oRange === \"max\" && this.orientation === \"vertical\" ) {\r\n\t\t\t\tthis.range[ animate ? \"animate\" : \"css\" ]( { height: ( 100 - valPercent ) + \"%\" }, { queue: false, duration: o.animate } );\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n\r\n\t_handleEvents: {\r\n\t\tkeydown: function( event ) {\r\n\t\t\tvar allowed, curVal, newVal, step,\r\n\t\t\t\tindex = $( event.target ).data( \"ui-slider-handle-index\" );\r\n\r\n\t\t\tswitch ( event.keyCode ) {\r\n\t\t\t\tcase $.ui.keyCode.HOME:\r\n\t\t\t\tcase $.ui.keyCode.END:\r\n\t\t\t\tcase $.ui.keyCode.PAGE_UP:\r\n\t\t\t\tcase $.ui.keyCode.PAGE_DOWN:\r\n\t\t\t\tcase $.ui.keyCode.UP:\r\n\t\t\t\tcase $.ui.keyCode.RIGHT:\r\n\t\t\t\tcase $.ui.keyCode.DOWN:\r\n\t\t\t\tcase $.ui.keyCode.LEFT:\r\n\t\t\t\t\tevent.preventDefault();\r\n\t\t\t\t\tif ( !this._keySliding ) {\r\n\t\t\t\t\t\tthis._keySliding = true;\r\n\t\t\t\t\t\t$( event.target ).addClass( \"ui-state-active\" );\r\n\t\t\t\t\t\tallowed = this._start( event, index );\r\n\t\t\t\t\t\tif ( allowed === false ) {\r\n\t\t\t\t\t\t\treturn;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\tbreak;\r\n\t\t\t}\r\n\r\n\t\t\tstep = this.options.step;\r\n\t\t\tif ( this.options.values && this.options.values.length ) {\r\n\t\t\t\tcurVal = newVal = this.values( index );\r\n\t\t\t} else {\r\n\t\t\t\tcurVal = newVal = this.value();\r\n\t\t\t}\r\n\r\n\t\t\tswitch ( event.keyCode ) {\r\n\t\t\t\tcase $.ui.keyCode.HOME:\r\n\t\t\t\t\tnewVal = this._valueMin();\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase $.ui.keyCode.END:\r\n\t\t\t\t\tnewVal = this._valueMax();\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase $.ui.keyCode.PAGE_UP:\r\n\t\t\t\t\tnewVal = this._trimAlignValue(\r\n\t\t\t\t\t\tcurVal + ( ( this._valueMax() - this._valueMin() ) / this.numPages )\r\n\t\t\t\t\t);\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase $.ui.keyCode.PAGE_DOWN:\r\n\t\t\t\t\tnewVal = this._trimAlignValue(\r\n\t\t\t\t\t\tcurVal - ( (this._valueMax() - this._valueMin()) / this.numPages ) );\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase $.ui.keyCode.UP:\r\n\t\t\t\tcase $.ui.keyCode.RIGHT:\r\n\t\t\t\t\tif ( curVal === this._valueMax() ) {\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tnewVal = this._trimAlignValue( curVal + step );\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase $.ui.keyCode.DOWN:\r\n\t\t\t\tcase $.ui.keyCode.LEFT:\r\n\t\t\t\t\tif ( curVal === this._valueMin() ) {\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tnewVal = this._trimAlignValue( curVal - step );\r\n\t\t\t\t\tbreak;\r\n\t\t\t}\r\n\r\n\t\t\tthis._slide( event, index, newVal );\r\n\t\t},\r\n\t\tkeyup: function( event ) {\r\n\t\t\tvar index = $( event.target ).data( \"ui-slider-handle-index\" );\r\n\r\n\t\t\tif ( this._keySliding ) {\r\n\t\t\t\tthis._keySliding = false;\r\n\t\t\t\tthis._stop( event, index );\r\n\t\t\t\tthis._change( event, index );\r\n\t\t\t\t$( event.target ).removeClass( \"ui-state-active\" );\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n});\r\n\r\n\r\n/*!\r\n * jQuery UI Sortable 1.11.4\r\n * http://jqueryui.com\r\n *\r\n * Copyright jQuery Foundation and other contributors\r\n * Released under the MIT license.\r\n * http://jquery.org/license\r\n *\r\n * http://api.jqueryui.com/sortable/\r\n */\r\n\r\n\r\nvar sortable = $.widget(\"ui.sortable\", $.ui.mouse, {\r\n\tversion: \"1.11.4\",\r\n\twidgetEventPrefix: \"sort\",\r\n\tready: false,\r\n\toptions: {\r\n\t\tappendTo: \"parent\",\r\n\t\taxis: false,\r\n\t\tconnectWith: false,\r\n\t\tcontainment: false,\r\n\t\tcursor: \"auto\",\r\n\t\tcursorAt: false,\r\n\t\tdropOnEmpty: true,\r\n\t\tforcePlaceholderSize: false,\r\n\t\tforceHelperSize: false,\r\n\t\tgrid: false,\r\n\t\thandle: false,\r\n\t\thelper: \"original\",\r\n\t\titems: \"> *\",\r\n\t\topacity: false,\r\n\t\tplaceholder: false,\r\n\t\trevert: false,\r\n\t\tscroll: true,\r\n\t\tscrollSensitivity: 20,\r\n\t\tscrollSpeed: 20,\r\n\t\tscope: \"default\",\r\n\t\ttolerance: \"intersect\",\r\n\t\tzIndex: 1000,\r\n\r\n\t\t// callbacks\r\n\t\tactivate: null,\r\n\t\tbeforeStop: null,\r\n\t\tchange: null,\r\n\t\tdeactivate: null,\r\n\t\tout: null,\r\n\t\tover: null,\r\n\t\treceive: null,\r\n\t\tremove: null,\r\n\t\tsort: null,\r\n\t\tstart: null,\r\n\t\tstop: null,\r\n\t\tupdate: null\r\n\t},\r\n\r\n\t_isOverAxis: function( x, reference, size ) {\r\n\t\treturn ( x >= reference ) && ( x < ( reference + size ) );\r\n\t},\r\n\r\n\t_isFloating: function( item ) {\r\n\t\treturn (/left|right/).test(item.css(\"float\")) || (/inline|table-cell/).test(item.css(\"display\"));\r\n\t},\r\n\r\n\t_create: function() {\r\n\t\tthis.containerCache = {};\r\n\t\tthis.element.addClass(\"ui-sortable\");\r\n\r\n\t\t//Get the items\r\n\t\tthis.refresh();\r\n\r\n\t\t//Let's determine the parent's offset\r\n\t\tthis.offset = this.element.offset();\r\n\r\n\t\t//Initialize mouse events for interaction\r\n\t\tthis._mouseInit();\r\n\r\n\t\tthis._setHandleClassName();\r\n\r\n\t\t//We're ready to go\r\n\t\tthis.ready = true;\r\n\r\n\t},\r\n\r\n\t_setOption: function( key, value ) {\r\n\t\tthis._super( key, value );\r\n\r\n\t\tif ( key === \"handle\" ) {\r\n\t\t\tthis._setHandleClassName();\r\n\t\t}\r\n\t},\r\n\r\n\t_setHandleClassName: function() {\r\n\t\tthis.element.find( \".ui-sortable-handle\" ).removeClass( \"ui-sortable-handle\" );\r\n\t\t$.each( this.items, function() {\r\n\t\t\t( this.instance.options.handle ?\r\n\t\t\t\tthis.item.find( this.instance.options.handle ) : this.item )\r\n\t\t\t\t.addClass( \"ui-sortable-handle\" );\r\n\t\t});\r\n\t},\r\n\r\n\t_destroy: function() {\r\n\t\tthis.element\r\n\t\t\t.removeClass( \"ui-sortable ui-sortable-disabled\" )\r\n\t\t\t.find( \".ui-sortable-handle\" )\r\n\t\t\t\t.removeClass( \"ui-sortable-handle\" );\r\n\t\tthis._mouseDestroy();\r\n\r\n\t\tfor ( var i = this.items.length - 1; i >= 0; i-- ) {\r\n\t\t\tthis.items[i].item.removeData(this.widgetName + \"-item\");\r\n\t\t}\r\n\r\n\t\treturn this;\r\n\t},\r\n\r\n\t_mouseCapture: function(event, overrideHandle) {\r\n\t\tvar currentItem = null,\r\n\t\t\tvalidHandle = false,\r\n\t\t\tthat = this;\r\n\r\n\t\tif (this.reverting) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\r\n\t\tif(this.options.disabled || this.options.type === \"static\") {\r\n\t\t\treturn false;\r\n\t\t}\r\n\r\n\t\t//We have to refresh the items data once first\r\n\t\tthis._refreshItems(event);\r\n\r\n\t\t//Find out if the clicked node (or one of its parents) is a actual item in this.items\r\n\t\t$(event.target).parents().each(function() {\r\n\t\t\tif($.data(this, that.widgetName + \"-item\") === that) {\r\n\t\t\t\tcurrentItem = $(this);\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\t\t});\r\n\t\tif($.data(event.target, that.widgetName + \"-item\") === that) {\r\n\t\t\tcurrentItem = $(event.target);\r\n\t\t}\r\n\r\n\t\tif(!currentItem) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\t\tif(this.options.handle && !overrideHandle) {\r\n\t\t\t$(this.options.handle, currentItem).find(\"*\").addBack().each(function() {\r\n\t\t\t\tif(this === event.target) {\r\n\t\t\t\t\tvalidHandle = true;\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t\tif(!validHandle) {\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tthis.currentItem = currentItem;\r\n\t\tthis._removeCurrentsFromItems();\r\n\t\treturn true;\r\n\r\n\t},\r\n\r\n\t_mouseStart: function(event, overrideHandle, noActivation) {\r\n\r\n\t\tvar i, body,\r\n\t\t\to = this.options;\r\n\r\n\t\tthis.currentContainer = this;\r\n\r\n\t\t//We only need to call refreshPositions, because the refreshItems call has been moved to mouseCapture\r\n\t\tthis.refreshPositions();\r\n\r\n\t\t//Create and append the visible helper\r\n\t\tthis.helper = this._createHelper(event);\r\n\r\n\t\t//Cache the helper size\r\n\t\tthis._cacheHelperProportions();\r\n\r\n\t\t/*\r\n\t\t * - Position generation -\r\n\t\t * This block generates everything position related - it's the core of draggables.\r\n\t\t */\r\n\r\n\t\t//Cache the margins of the original element\r\n\t\tthis._cacheMargins();\r\n\r\n\t\t//Get the next scrolling parent\r\n\t\tthis.scrollParent = this.helper.scrollParent();\r\n\r\n\t\t//The element's absolute position on the page minus margins\r\n\t\tthis.offset = this.currentItem.offset();\r\n\t\tthis.offset = {\r\n\t\t\ttop: this.offset.top - this.margins.top,\r\n\t\t\tleft: this.offset.left - this.margins.left\r\n\t\t};\r\n\r\n\t\t$.extend(this.offset, {\r\n\t\t\tclick: { //Where the click happened, relative to the element\r\n\t\t\t\tleft: event.pageX - this.offset.left,\r\n\t\t\t\ttop: event.pageY - this.offset.top\r\n\t\t\t},\r\n\t\t\tparent: this._getParentOffset(),\r\n\t\t\trelative: this._getRelativeOffset() //This is a relative to absolute position minus the actual position calculation - only used for relative positioned helper\r\n\t\t});\r\n\r\n\t\t// Only after we got the offset, we can change the helper's position to absolute\r\n\t\t// TODO: Still need to figure out a way to make relative sorting possible\r\n\t\tthis.helper.css(\"position\", \"absolute\");\r\n\t\tthis.cssPosition = this.helper.css(\"position\");\r\n\r\n\t\t//Generate the original position\r\n\t\tthis.originalPosition = this._generatePosition(event);\r\n\t\tthis.originalPageX = event.pageX;\r\n\t\tthis.originalPageY = event.pageY;\r\n\r\n\t\t//Adjust the mouse offset relative to the helper if \"cursorAt\" is supplied\r\n\t\t(o.cursorAt && this._adjustOffsetFromHelper(o.cursorAt));\r\n\r\n\t\t//Cache the former DOM position\r\n\t\tthis.domPosition = { prev: this.currentItem.prev()[0], parent: this.currentItem.parent()[0] };\r\n\r\n\t\t//If the helper is not the original, hide the original so it's not playing any role during the drag, won't cause anything bad this way\r\n\t\tif(this.helper[0] !== this.currentItem[0]) {\r\n\t\t\tthis.currentItem.hide();\r\n\t\t}\r\n\r\n\t\t//Create the placeholder\r\n\t\tthis._createPlaceholder();\r\n\r\n\t\t//Set a containment if given in the options\r\n\t\tif(o.containment) {\r\n\t\t\tthis._setContainment();\r\n\t\t}\r\n\r\n\t\tif( o.cursor && o.cursor !== \"auto\" ) { // cursor option\r\n\t\t\tbody = this.document.find( \"body\" );\r\n\r\n\t\t\t// support: IE\r\n\t\t\tthis.storedCursor = body.css( \"cursor\" );\r\n\t\t\tbody.css( \"cursor\", o.cursor );\r\n\r\n\t\t\tthis.storedStylesheet = $( \"<style>*{ cursor: \"+o.cursor+\" !important; }</style>\" ).appendTo( body );\r\n\t\t}\r\n\r\n\t\tif(o.opacity) { // opacity option\r\n\t\t\tif (this.helper.css(\"opacity\")) {\r\n\t\t\t\tthis._storedOpacity = this.helper.css(\"opacity\");\r\n\t\t\t}\r\n\t\t\tthis.helper.css(\"opacity\", o.opacity);\r\n\t\t}\r\n\r\n\t\tif(o.zIndex) { // zIndex option\r\n\t\t\tif (this.helper.css(\"zIndex\")) {\r\n\t\t\t\tthis._storedZIndex = this.helper.css(\"zIndex\");\r\n\t\t\t}\r\n\t\t\tthis.helper.css(\"zIndex\", o.zIndex);\r\n\t\t}\r\n\r\n\t\t//Prepare scrolling\r\n\t\tif(this.scrollParent[0] !== this.document[0] && this.scrollParent[0].tagName !== \"HTML\") {\r\n\t\t\tthis.overflowOffset = this.scrollParent.offset();\r\n\t\t}\r\n\r\n\t\t//Call callbacks\r\n\t\tthis._trigger(\"start\", event, this._uiHash());\r\n\r\n\t\t//Recache the helper size\r\n\t\tif(!this._preserveHelperProportions) {\r\n\t\t\tthis._cacheHelperProportions();\r\n\t\t}\r\n\r\n\r\n\t\t//Post \"activate\" events to possible containers\r\n\t\tif( !noActivation ) {\r\n\t\t\tfor ( i = this.containers.length - 1; i >= 0; i-- ) {\r\n\t\t\t\tthis.containers[ i ]._trigger( \"activate\", event, this._uiHash( this ) );\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t//Prepare possible droppables\r\n\t\tif($.ui.ddmanager) {\r\n\t\t\t$.ui.ddmanager.current = this;\r\n\t\t}\r\n\r\n\t\tif ($.ui.ddmanager && !o.dropBehaviour) {\r\n\t\t\t$.ui.ddmanager.prepareOffsets(this, event);\r\n\t\t}\r\n\r\n\t\tthis.dragging = true;\r\n\r\n\t\tthis.helper.addClass(\"ui-sortable-helper\");\r\n\t\tthis._mouseDrag(event); //Execute the drag once - this causes the helper not to be visible before getting its correct position\r\n\t\treturn true;\r\n\r\n\t},\r\n\r\n\t_mouseDrag: function(event) {\r\n\t\tvar i, item, itemElement, intersection,\r\n\t\t\to = this.options,\r\n\t\t\tscrolled = false;\r\n\r\n\t\t//Compute the helpers position\r\n\t\tthis.position = this._generatePosition(event);\r\n\t\tthis.positionAbs = this._convertPositionTo(\"absolute\");\r\n\r\n\t\tif (!this.lastPositionAbs) {\r\n\t\t\tthis.lastPositionAbs = this.positionAbs;\r\n\t\t}\r\n\r\n\t\t//Do scrolling\r\n\t\tif(this.options.scroll) {\r\n\t\t\tif(this.scrollParent[0] !== this.document[0] && this.scrollParent[0].tagName !== \"HTML\") {\r\n\r\n\t\t\t\tif((this.overflowOffset.top + this.scrollParent[0].offsetHeight) - event.pageY < o.scrollSensitivity) {\r\n\t\t\t\t\tthis.scrollParent[0].scrollTop = scrolled = this.scrollParent[0].scrollTop + o.scrollSpeed;\r\n\t\t\t\t} else if(event.pageY - this.overflowOffset.top < o.scrollSensitivity) {\r\n\t\t\t\t\tthis.scrollParent[0].scrollTop = scrolled = this.scrollParent[0].scrollTop - o.scrollSpeed;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif((this.overflowOffset.left + this.scrollParent[0].offsetWidth) - event.pageX < o.scrollSensitivity) {\r\n\t\t\t\t\tthis.scrollParent[0].scrollLeft = scrolled = this.scrollParent[0].scrollLeft + o.scrollSpeed;\r\n\t\t\t\t} else if(event.pageX - this.overflowOffset.left < o.scrollSensitivity) {\r\n\t\t\t\t\tthis.scrollParent[0].scrollLeft = scrolled = this.scrollParent[0].scrollLeft - o.scrollSpeed;\r\n\t\t\t\t}\r\n\r\n\t\t\t} else {\r\n\r\n\t\t\t\tif(event.pageY - this.document.scrollTop() < o.scrollSensitivity) {\r\n\t\t\t\t\tscrolled = this.document.scrollTop(this.document.scrollTop() - o.scrollSpeed);\r\n\t\t\t\t} else if(this.window.height() - (event.pageY - this.document.scrollTop()) < o.scrollSensitivity) {\r\n\t\t\t\t\tscrolled = this.document.scrollTop(this.document.scrollTop() + o.scrollSpeed);\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif(event.pageX - this.document.scrollLeft() < o.scrollSensitivity) {\r\n\t\t\t\t\tscrolled = this.document.scrollLeft(this.document.scrollLeft() - o.scrollSpeed);\r\n\t\t\t\t} else if(this.window.width() - (event.pageX - this.document.scrollLeft()) < o.scrollSensitivity) {\r\n\t\t\t\t\tscrolled = this.document.scrollLeft(this.document.scrollLeft() + o.scrollSpeed);\r\n\t\t\t\t}\r\n\r\n\t\t\t}\r\n\r\n\t\t\tif(scrolled !== false && $.ui.ddmanager && !o.dropBehaviour) {\r\n\t\t\t\t$.ui.ddmanager.prepareOffsets(this, event);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t//Regenerate the absolute position used for position checks\r\n\t\tthis.positionAbs = this._convertPositionTo(\"absolute\");\r\n\r\n\t\t//Set the helper position\r\n\t\tif(!this.options.axis || this.options.axis !== \"y\") {\r\n\t\t\tthis.helper[0].style.left = this.position.left+\"px\";\r\n\t\t}\r\n\t\tif(!this.options.axis || this.options.axis !== \"x\") {\r\n\t\t\tthis.helper[0].style.top = this.position.top+\"px\";\r\n\t\t}\r\n\r\n\t\t//Rearrange\r\n\t\tfor (i = this.items.length - 1; i >= 0; i--) {\r\n\r\n\t\t\t//Cache variables and intersection, continue if no intersection\r\n\t\t\titem = this.items[i];\r\n\t\t\titemElement = item.item[0];\r\n\t\t\tintersection = this._intersectsWithPointer(item);\r\n\t\t\tif (!intersection) {\r\n\t\t\t\tcontinue;\r\n\t\t\t}\r\n\r\n\t\t\t// Only put the placeholder inside the current Container, skip all\r\n\t\t\t// items from other containers. This works because when moving\r\n\t\t\t// an item from one container to another the\r\n\t\t\t// currentContainer is switched before the placeholder is moved.\r\n\t\t\t//\r\n\t\t\t// Without this, moving items in \"sub-sortables\" can cause\r\n\t\t\t// the placeholder to jitter between the outer and inner container.\r\n\t\t\tif (item.instance !== this.currentContainer) {\r\n\t\t\t\tcontinue;\r\n\t\t\t}\r\n\r\n\t\t\t// cannot intersect with itself\r\n\t\t\t// no useless actions that have been done before\r\n\t\t\t// no action if the item moved is the parent of the item checked\r\n\t\t\tif (itemElement !== this.currentItem[0] &&\r\n\t\t\t\tthis.placeholder[intersection === 1 ? \"next\" : \"prev\"]()[0] !== itemElement &&\r\n\t\t\t\t!$.contains(this.placeholder[0], itemElement) &&\r\n\t\t\t\t(this.options.type === \"semi-dynamic\" ? !$.contains(this.element[0], itemElement) : true)\r\n\t\t\t) {\r\n\r\n\t\t\t\tthis.direction = intersection === 1 ? \"down\" : \"up\";\r\n\r\n\t\t\t\tif (this.options.tolerance === \"pointer\" || this._intersectsWithSides(item)) {\r\n\t\t\t\t\tthis._rearrange(event, item);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tthis._trigger(\"change\", event, this._uiHash());\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t//Post events to containers\r\n\t\tthis._contactContainers(event);\r\n\r\n\t\t//Interconnect with droppables\r\n\t\tif($.ui.ddmanager) {\r\n\t\t\t$.ui.ddmanager.drag(this, event);\r\n\t\t}\r\n\r\n\t\t//Call callbacks\r\n\t\tthis._trigger(\"sort\", event, this._uiHash());\r\n\r\n\t\tthis.lastPositionAbs = this.positionAbs;\r\n\t\treturn false;\r\n\r\n\t},\r\n\r\n\t_mouseStop: function(event, noPropagation) {\r\n\r\n\t\tif(!event) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\t//If we are using droppables, inform the manager about the drop\r\n\t\tif ($.ui.ddmanager && !this.options.dropBehaviour) {\r\n\t\t\t$.ui.ddmanager.drop(this, event);\r\n\t\t}\r\n\r\n\t\tif(this.options.revert) {\r\n\t\t\tvar that = this,\r\n\t\t\t\tcur = this.placeholder.offset(),\r\n\t\t\t\taxis = this.options.axis,\r\n\t\t\t\tanimation = {};\r\n\r\n\t\t\tif ( !axis || axis === \"x\" ) {\r\n\t\t\t\tanimation.left = cur.left - this.offset.parent.left - this.margins.left + (this.offsetParent[0] === this.document[0].body ? 0 : this.offsetParent[0].scrollLeft);\r\n\t\t\t}\r\n\t\t\tif ( !axis || axis === \"y\" ) {\r\n\t\t\t\tanimation.top = cur.top - this.offset.parent.top - this.margins.top + (this.offsetParent[0] === this.document[0].body ? 0 : this.offsetParent[0].scrollTop);\r\n\t\t\t}\r\n\t\t\tthis.reverting = true;\r\n\t\t\t$(this.helper).animate( animation, parseInt(this.options.revert, 10) || 500, function() {\r\n\t\t\t\tthat._clear(event);\r\n\t\t\t});\r\n\t\t} else {\r\n\t\t\tthis._clear(event, noPropagation);\r\n\t\t}\r\n\r\n\t\treturn false;\r\n\r\n\t},\r\n\r\n\tcancel: function() {\r\n\r\n\t\tif(this.dragging) {\r\n\r\n\t\t\tthis._mouseUp({ target: null });\r\n\r\n\t\t\tif(this.options.helper === \"original\") {\r\n\t\t\t\tthis.currentItem.css(this._storedCSS).removeClass(\"ui-sortable-helper\");\r\n\t\t\t} else {\r\n\t\t\t\tthis.currentItem.show();\r\n\t\t\t}\r\n\r\n\t\t\t//Post deactivating events to containers\r\n\t\t\tfor (var i = this.containers.length - 1; i >= 0; i--){\r\n\t\t\t\tthis.containers[i]._trigger(\"deactivate\", null, this._uiHash(this));\r\n\t\t\t\tif(this.containers[i].containerCache.over) {\r\n\t\t\t\t\tthis.containers[i]._trigger(\"out\", null, this._uiHash(this));\r\n\t\t\t\t\tthis.containers[i].containerCache.over = 0;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t}\r\n\r\n\t\tif (this.placeholder) {\r\n\t\t\t//$(this.placeholder[0]).remove(); would have been the jQuery way - unfortunately, it unbinds ALL events from the original node!\r\n\t\t\tif(this.placeholder[0].parentNode) {\r\n\t\t\t\tthis.placeholder[0].parentNode.removeChild(this.placeholder[0]);\r\n\t\t\t}\r\n\t\t\tif(this.options.helper !== \"original\" && this.helper && this.helper[0].parentNode) {\r\n\t\t\t\tthis.helper.remove();\r\n\t\t\t}\r\n\r\n\t\t\t$.extend(this, {\r\n\t\t\t\thelper: null,\r\n\t\t\t\tdragging: false,\r\n\t\t\t\treverting: false,\r\n\t\t\t\t_noFinalSort: null\r\n\t\t\t});\r\n\r\n\t\t\tif(this.domPosition.prev) {\r\n\t\t\t\t$(this.domPosition.prev).after(this.currentItem);\r\n\t\t\t} else {\r\n\t\t\t\t$(this.domPosition.parent).prepend(this.currentItem);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn this;\r\n\r\n\t},\r\n\r\n\tserialize: function(o) {\r\n\r\n\t\tvar items = this._getItemsAsjQuery(o && o.connected),\r\n\t\t\tstr = [];\r\n\t\to = o || {};\r\n\r\n\t\t$(items).each(function() {\r\n\t\t\tvar res = ($(o.item || this).attr(o.attribute || \"id\") || \"\").match(o.expression || (/(.+)[\\-=_](.+)/));\r\n\t\t\tif (res) {\r\n\t\t\t\tstr.push((o.key || res[1]+\"[]\")+\"=\"+(o.key && o.expression ? res[1] : res[2]));\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\tif(!str.length && o.key) {\r\n\t\t\tstr.push(o.key + \"=\");\r\n\t\t}\r\n\r\n\t\treturn str.join(\"&\");\r\n\r\n\t},\r\n\r\n\ttoArray: function(o) {\r\n\r\n\t\tvar items = this._getItemsAsjQuery(o && o.connected),\r\n\t\t\tret = [];\r\n\r\n\t\to = o || {};\r\n\r\n\t\titems.each(function() { ret.push($(o.item || this).attr(o.attribute || \"id\") || \"\"); });\r\n\t\treturn ret;\r\n\r\n\t},\r\n\r\n\t/* Be careful with the following core functions */\r\n\t_intersectsWith: function(item) {\r\n\r\n\t\tvar x1 = this.positionAbs.left,\r\n\t\t\tx2 = x1 + this.helperProportions.width,\r\n\t\t\ty1 = this.positionAbs.top,\r\n\t\t\ty2 = y1 + this.helperProportions.height,\r\n\t\t\tl = item.left,\r\n\t\t\tr = l + item.width,\r\n\t\t\tt = item.top,\r\n\t\t\tb = t + item.height,\r\n\t\t\tdyClick = this.offset.click.top,\r\n\t\t\tdxClick = this.offset.click.left,\r\n\t\t\tisOverElementHeight = ( this.options.axis === \"x\" ) || ( ( y1 + dyClick ) > t && ( y1 + dyClick ) < b ),\r\n\t\t\tisOverElementWidth = ( this.options.axis === \"y\" ) || ( ( x1 + dxClick ) > l && ( x1 + dxClick ) < r ),\r\n\t\t\tisOverElement = isOverElementHeight && isOverElementWidth;\r\n\r\n\t\tif ( this.options.tolerance === \"pointer\" ||\r\n\t\t\tthis.options.forcePointerForContainers ||\r\n\t\t\t(this.options.tolerance !== \"pointer\" && this.helperProportions[this.floating ? \"width\" : \"height\"] > item[this.floating ? \"width\" : \"height\"])\r\n\t\t) {\r\n\t\t\treturn isOverElement;\r\n\t\t} else {\r\n\r\n\t\t\treturn (l < x1 + (this.helperProportions.width / 2) && // Right Half\r\n\t\t\t\tx2 - (this.helperProportions.width / 2) < r && // Left Half\r\n\t\t\t\tt < y1 + (this.helperProportions.height / 2) && // Bottom Half\r\n\t\t\t\ty2 - (this.helperProportions.height / 2) < b ); // Top Half\r\n\r\n\t\t}\r\n\t},\r\n\r\n\t_intersectsWithPointer: function(item) {\r\n\r\n\t\tvar isOverElementHeight = (this.options.axis === \"x\") || this._isOverAxis(this.positionAbs.top + this.offset.click.top, item.top, item.height),\r\n\t\t\tisOverElementWidth = (this.options.axis === \"y\") || this._isOverAxis(this.positionAbs.left + this.offset.click.left, item.left, item.width),\r\n\t\t\tisOverElement = isOverElementHeight && isOverElementWidth,\r\n\t\t\tverticalDirection = this._getDragVerticalDirection(),\r\n\t\t\thorizontalDirection = this._getDragHorizontalDirection();\r\n\r\n\t\tif (!isOverElement) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\r\n\t\treturn this.floating ?\r\n\t\t\t( ((horizontalDirection && horizontalDirection === \"right\") || verticalDirection === \"down\") ? 2 : 1 )\r\n\t\t\t: ( verticalDirection && (verticalDirection === \"down\" ? 2 : 1) );\r\n\r\n\t},\r\n\r\n\t_intersectsWithSides: function(item) {\r\n\r\n\t\tvar isOverBottomHalf = this._isOverAxis(this.positionAbs.top + this.offset.click.top, item.top + (item.height/2), item.height),\r\n\t\t\tisOverRightHalf = this._isOverAxis(this.positionAbs.left + this.offset.click.left, item.left + (item.width/2), item.width),\r\n\t\t\tverticalDirection = this._getDragVerticalDirection(),\r\n\t\t\thorizontalDirection = this._getDragHorizontalDirection();\r\n\r\n\t\tif (this.floating && horizontalDirection) {\r\n\t\t\treturn ((horizontalDirection === \"right\" && isOverRightHalf) || (horizontalDirection === \"left\" && !isOverRightHalf));\r\n\t\t} else {\r\n\t\t\treturn verticalDirection && ((verticalDirection === \"down\" && isOverBottomHalf) || (verticalDirection === \"up\" && !isOverBottomHalf));\r\n\t\t}\r\n\r\n\t},\r\n\r\n\t_getDragVerticalDirection: function() {\r\n\t\tvar delta = this.positionAbs.top - this.lastPositionAbs.top;\r\n\t\treturn delta !== 0 && (delta > 0 ? \"down\" : \"up\");\r\n\t},\r\n\r\n\t_getDragHorizontalDirection: function() {\r\n\t\tvar delta = this.positionAbs.left - this.lastPositionAbs.left;\r\n\t\treturn delta !== 0 && (delta > 0 ? \"right\" : \"left\");\r\n\t},\r\n\r\n\trefresh: function(event) {\r\n\t\tthis._refreshItems(event);\r\n\t\tthis._setHandleClassName();\r\n\t\tthis.refreshPositions();\r\n\t\treturn this;\r\n\t},\r\n\r\n\t_connectWith: function() {\r\n\t\tvar options = this.options;\r\n\t\treturn options.connectWith.constructor === String ? [options.connectWith] : options.connectWith;\r\n\t},\r\n\r\n\t_getItemsAsjQuery: function(connected) {\r\n\r\n\t\tvar i, j, cur, inst,\r\n\t\t\titems = [],\r\n\t\t\tqueries = [],\r\n\t\t\tconnectWith = this._connectWith();\r\n\r\n\t\tif(connectWith && connected) {\r\n\t\t\tfor (i = connectWith.length - 1; i >= 0; i--){\r\n\t\t\t\tcur = $(connectWith[i], this.document[0]);\r\n\t\t\t\tfor ( j = cur.length - 1; j >= 0; j--){\r\n\t\t\t\t\tinst = $.data(cur[j], this.widgetFullName);\r\n\t\t\t\t\tif(inst && inst !== this && !inst.options.disabled) {\r\n\t\t\t\t\t\tqueries.push([$.isFunction(inst.options.items) ? inst.options.items.call(inst.element) : $(inst.options.items, inst.element).not(\".ui-sortable-helper\").not(\".ui-sortable-placeholder\"), inst]);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tqueries.push([$.isFunction(this.options.items) ? this.options.items.call(this.element, null, { options: this.options, item: this.currentItem }) : $(this.options.items, this.element).not(\".ui-sortable-helper\").not(\".ui-sortable-placeholder\"), this]);\r\n\r\n\t\tfunction addItems() {\r\n\t\t\titems.push( this );\r\n\t\t}\r\n\t\tfor (i = queries.length - 1; i >= 0; i--){\r\n\t\t\tqueries[i][0].each( addItems );\r\n\t\t}\r\n\r\n\t\treturn $(items);\r\n\r\n\t},\r\n\r\n\t_removeCurrentsFromItems: function() {\r\n\r\n\t\tvar list = this.currentItem.find(\":data(\" + this.widgetName + \"-item)\");\r\n\r\n\t\tthis.items = $.grep(this.items, function (item) {\r\n\t\t\tfor (var j=0; j < list.length; j++) {\r\n\t\t\t\tif(list[j] === item.item[0]) {\r\n\t\t\t\t\treturn false;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\treturn true;\r\n\t\t});\r\n\r\n\t},\r\n\r\n\t_refreshItems: function(event) {\r\n\r\n\t\tthis.items = [];\r\n\t\tthis.containers = [this];\r\n\r\n\t\tvar i, j, cur, inst, targetData, _queries, item, queriesLength,\r\n\t\t\titems = this.items,\r\n\t\t\tqueries = [[$.isFunction(this.options.items) ? this.options.items.call(this.element[0], event, { item: this.currentItem }) : $(this.options.items, this.element), this]],\r\n\t\t\tconnectWith = this._connectWith();\r\n\r\n\t\tif(connectWith && this.ready) { //Shouldn't be run the first time through due to massive slow-down\r\n\t\t\tfor (i = connectWith.length - 1; i >= 0; i--){\r\n\t\t\t\tcur = $(connectWith[i], this.document[0]);\r\n\t\t\t\tfor (j = cur.length - 1; j >= 0; j--){\r\n\t\t\t\t\tinst = $.data(cur[j], this.widgetFullName);\r\n\t\t\t\t\tif(inst && inst !== this && !inst.options.disabled) {\r\n\t\t\t\t\t\tqueries.push([$.isFunction(inst.options.items) ? inst.options.items.call(inst.element[0], event, { item: this.currentItem }) : $(inst.options.items, inst.element), inst]);\r\n\t\t\t\t\t\tthis.containers.push(inst);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tfor (i = queries.length - 1; i >= 0; i--) {\r\n\t\t\ttargetData = queries[i][1];\r\n\t\t\t_queries = queries[i][0];\r\n\r\n\t\t\tfor (j=0, queriesLength = _queries.length; j < queriesLength; j++) {\r\n\t\t\t\titem = $(_queries[j]);\r\n\r\n\t\t\t\titem.data(this.widgetName + \"-item\", targetData); // Data for target checking (mouse manager)\r\n\r\n\t\t\t\titems.push({\r\n\t\t\t\t\titem: item,\r\n\t\t\t\t\tinstance: targetData,\r\n\t\t\t\t\twidth: 0, height: 0,\r\n\t\t\t\t\tleft: 0, top: 0\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t},\r\n\r\n\trefreshPositions: function(fast) {\r\n\r\n\t\t// Determine whether items are being displayed horizontally\r\n\t\tthis.floating = this.items.length ?\r\n\t\t\tthis.options.axis === \"x\" || this._isFloating( this.items[ 0 ].item ) :\r\n\t\t\tfalse;\r\n\r\n\t\t//This has to be redone because due to the item being moved out/into the offsetParent, the offsetParent's position will change\r\n\t\tif(this.offsetParent && this.helper) {\r\n\t\t\tthis.offset.parent = this._getParentOffset();\r\n\t\t}\r\n\r\n\t\tvar i, item, t, p;\r\n\r\n\t\tfor (i = this.items.length - 1; i >= 0; i--){\r\n\t\t\titem = this.items[i];\r\n\r\n\t\t\t//We ignore calculating positions of all connected containers when we're not over them\r\n\t\t\tif(item.instance !== this.currentContainer && this.currentContainer && item.item[0] !== this.currentItem[0]) {\r\n\t\t\t\tcontinue;\r\n\t\t\t}\r\n\r\n\t\t\tt = this.options.toleranceElement ? $(this.options.toleranceElement, item.item) : item.item;\r\n\r\n\t\t\tif (!fast) {\r\n\t\t\t\titem.width = t.outerWidth();\r\n\t\t\t\titem.height = t.outerHeight();\r\n\t\t\t}\r\n\r\n\t\t\tp = t.offset();\r\n\t\t\titem.left = p.left;\r\n\t\t\titem.top = p.top;\r\n\t\t}\r\n\r\n\t\tif(this.options.custom && this.options.custom.refreshContainers) {\r\n\t\t\tthis.options.custom.refreshContainers.call(this);\r\n\t\t} else {\r\n\t\t\tfor (i = this.containers.length - 1; i >= 0; i--){\r\n\t\t\t\tp = this.containers[i].element.offset();\r\n\t\t\t\tthis.containers[i].containerCache.left = p.left;\r\n\t\t\t\tthis.containers[i].containerCache.top = p.top;\r\n\t\t\t\tthis.containers[i].containerCache.width = this.containers[i].element.outerWidth();\r\n\t\t\t\tthis.containers[i].containerCache.height = this.containers[i].element.outerHeight();\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn this;\r\n\t},\r\n\r\n\t_createPlaceholder: function(that) {\r\n\t\tthat = that || this;\r\n\t\tvar className,\r\n\t\t\to = that.options;\r\n\r\n\t\tif(!o.placeholder || o.placeholder.constructor === String) {\r\n\t\t\tclassName = o.placeholder;\r\n\t\t\to.placeholder = {\r\n\t\t\t\telement: function() {\r\n\r\n\t\t\t\t\tvar nodeName = that.currentItem[0].nodeName.toLowerCase(),\r\n\t\t\t\t\t\telement = $( \"<\" + nodeName + \">\", that.document[0] )\r\n\t\t\t\t\t\t\t.addClass(className || that.currentItem[0].className+\" ui-sortable-placeholder\")\r\n\t\t\t\t\t\t\t.removeClass(\"ui-sortable-helper\");\r\n\r\n\t\t\t\t\tif ( nodeName === \"tbody\" ) {\r\n\t\t\t\t\t\tthat._createTrPlaceholder(\r\n\t\t\t\t\t\t\tthat.currentItem.find( \"tr\" ).eq( 0 ),\r\n\t\t\t\t\t\t\t$( \"<tr>\", that.document[ 0 ] ).appendTo( element )\r\n\t\t\t\t\t\t);\r\n\t\t\t\t\t} else if ( nodeName === \"tr\" ) {\r\n\t\t\t\t\t\tthat._createTrPlaceholder( that.currentItem, element );\r\n\t\t\t\t\t} else if ( nodeName === \"img\" ) {\r\n\t\t\t\t\t\telement.attr( \"src\", that.currentItem.attr( \"src\" ) );\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tif ( !className ) {\r\n\t\t\t\t\t\telement.css( \"visibility\", \"hidden\" );\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\treturn element;\r\n\t\t\t\t},\r\n\t\t\t\tupdate: function(container, p) {\r\n\r\n\t\t\t\t\t// 1. If a className is set as 'placeholder option, we don't force sizes - the class is responsible for that\r\n\t\t\t\t\t// 2. The option 'forcePlaceholderSize can be enabled to force it even if a class name is specified\r\n\t\t\t\t\tif(className && !o.forcePlaceholderSize) {\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\t//If the element doesn't have a actual height by itself (without styles coming from a stylesheet), it receives the inline height from the dragged item\r\n\t\t\t\t\tif(!p.height()) { p.height(that.currentItem.innerHeight() - parseInt(that.currentItem.css(\"paddingTop\")||0, 10) - parseInt(that.currentItem.css(\"paddingBottom\")||0, 10)); }\r\n\t\t\t\t\tif(!p.width()) { p.width(that.currentItem.innerWidth() - parseInt(that.currentItem.css(\"paddingLeft\")||0, 10) - parseInt(that.currentItem.css(\"paddingRight\")||0, 10)); }\r\n\t\t\t\t}\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\t//Create the placeholder\r\n\t\tthat.placeholder = $(o.placeholder.element.call(that.element, that.currentItem));\r\n\r\n\t\t//Append it after the actual current item\r\n\t\tthat.currentItem.after(that.placeholder);\r\n\r\n\t\t//Update the size of the placeholder (TODO: Logic to fuzzy, see line 316/317)\r\n\t\to.placeholder.update(that, that.placeholder);\r\n\r\n\t},\r\n\r\n\t_createTrPlaceholder: function( sourceTr, targetTr ) {\r\n\t\tvar that = this;\r\n\r\n\t\tsourceTr.children().each(function() {\r\n\t\t\t$( \"<td>&#160;</td>\", that.document[ 0 ] )\r\n\t\t\t\t.attr( \"colspan\", $( this ).attr( \"colspan\" ) || 1 )\r\n\t\t\t\t.appendTo( targetTr );\r\n\t\t});\r\n\t},\r\n\r\n\t_contactContainers: function(event) {\r\n\t\tvar i, j, dist, itemWithLeastDistance, posProperty, sizeProperty, cur, nearBottom, floating, axis,\r\n\t\t\tinnermostContainer = null,\r\n\t\t\tinnermostIndex = null;\r\n\r\n\t\t// get innermost container that intersects with item\r\n\t\tfor (i = this.containers.length - 1; i >= 0; i--) {\r\n\r\n\t\t\t// never consider a container that's located within the item itself\r\n\t\t\tif($.contains(this.currentItem[0], this.containers[i].element[0])) {\r\n\t\t\t\tcontinue;\r\n\t\t\t}\r\n\r\n\t\t\tif(this._intersectsWith(this.containers[i].containerCache)) {\r\n\r\n\t\t\t\t// if we've already found a container and it's more \"inner\" than this, then continue\r\n\t\t\t\tif(innermostContainer && $.contains(this.containers[i].element[0], innermostContainer.element[0])) {\r\n\t\t\t\t\tcontinue;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tinnermostContainer = this.containers[i];\r\n\t\t\t\tinnermostIndex = i;\r\n\r\n\t\t\t} else {\r\n\t\t\t\t// container doesn't intersect. trigger \"out\" event if necessary\r\n\t\t\t\tif(this.containers[i].containerCache.over) {\r\n\t\t\t\t\tthis.containers[i]._trigger(\"out\", event, this._uiHash(this));\r\n\t\t\t\t\tthis.containers[i].containerCache.over = 0;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t}\r\n\r\n\t\t// if no intersecting containers found, return\r\n\t\tif(!innermostContainer) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\t// move the item into the container if it's not there already\r\n\t\tif(this.containers.length === 1) {\r\n\t\t\tif (!this.containers[innermostIndex].containerCache.over) {\r\n\t\t\t\tthis.containers[innermostIndex]._trigger(\"over\", event, this._uiHash(this));\r\n\t\t\t\tthis.containers[innermostIndex].containerCache.over = 1;\r\n\t\t\t}\r\n\t\t} else {\r\n\r\n\t\t\t//When entering a new container, we will find the item with the least distance and append our item near it\r\n\t\t\tdist = 10000;\r\n\t\t\titemWithLeastDistance = null;\r\n\t\t\tfloating = innermostContainer.floating || this._isFloating(this.currentItem);\r\n\t\t\tposProperty = floating ? \"left\" : \"top\";\r\n\t\t\tsizeProperty = floating ? \"width\" : \"height\";\r\n\t\t\taxis = floating ? \"clientX\" : \"clientY\";\r\n\r\n\t\t\tfor (j = this.items.length - 1; j >= 0; j--) {\r\n\t\t\t\tif(!$.contains(this.containers[innermostIndex].element[0], this.items[j].item[0])) {\r\n\t\t\t\t\tcontinue;\r\n\t\t\t\t}\r\n\t\t\t\tif(this.items[j].item[0] === this.currentItem[0]) {\r\n\t\t\t\t\tcontinue;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tcur = this.items[j].item.offset()[posProperty];\r\n\t\t\t\tnearBottom = false;\r\n\t\t\t\tif ( event[ axis ] - cur > this.items[ j ][ sizeProperty ] / 2 ) {\r\n\t\t\t\t\tnearBottom = true;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif ( Math.abs( event[ axis ] - cur ) < dist ) {\r\n\t\t\t\t\tdist = Math.abs( event[ axis ] - cur );\r\n\t\t\t\t\titemWithLeastDistance = this.items[ j ];\r\n\t\t\t\t\tthis.direction = nearBottom ? \"up\": \"down\";\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\t//Check if dropOnEmpty is enabled\r\n\t\t\tif(!itemWithLeastDistance && !this.options.dropOnEmpty) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tif(this.currentContainer === this.containers[innermostIndex]) {\r\n\t\t\t\tif ( !this.currentContainer.containerCache.over ) {\r\n\t\t\t\t\tthis.containers[ innermostIndex ]._trigger( \"over\", event, this._uiHash() );\r\n\t\t\t\t\tthis.currentContainer.containerCache.over = 1;\r\n\t\t\t\t}\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\titemWithLeastDistance ? this._rearrange(event, itemWithLeastDistance, null, true) : this._rearrange(event, null, this.containers[innermostIndex].element, true);\r\n\t\t\tthis._trigger(\"change\", event, this._uiHash());\r\n\t\t\tthis.containers[innermostIndex]._trigger(\"change\", event, this._uiHash(this));\r\n\t\t\tthis.currentContainer = this.containers[innermostIndex];\r\n\r\n\t\t\t//Update the placeholder\r\n\t\t\tthis.options.placeholder.update(this.currentContainer, this.placeholder);\r\n\r\n\t\t\tthis.containers[innermostIndex]._trigger(\"over\", event, this._uiHash(this));\r\n\t\t\tthis.containers[innermostIndex].containerCache.over = 1;\r\n\t\t}\r\n\r\n\r\n\t},\r\n\r\n\t_createHelper: function(event) {\r\n\r\n\t\tvar o = this.options,\r\n\t\t\thelper = $.isFunction(o.helper) ? $(o.helper.apply(this.element[0], [event, this.currentItem])) : (o.helper === \"clone\" ? this.currentItem.clone() : this.currentItem);\r\n\r\n\t\t//Add the helper to the DOM if that didn't happen already\r\n\t\tif(!helper.parents(\"body\").length) {\r\n\t\t\t$(o.appendTo !== \"parent\" ? o.appendTo : this.currentItem[0].parentNode)[0].appendChild(helper[0]);\r\n\t\t}\r\n\r\n\t\tif(helper[0] === this.currentItem[0]) {\r\n\t\t\tthis._storedCSS = { width: this.currentItem[0].style.width, height: this.currentItem[0].style.height, position: this.currentItem.css(\"position\"), top: this.currentItem.css(\"top\"), left: this.currentItem.css(\"left\") };\r\n\t\t}\r\n\r\n\t\tif(!helper[0].style.width || o.forceHelperSize) {\r\n\t\t\thelper.width(this.currentItem.width());\r\n\t\t}\r\n\t\tif(!helper[0].style.height || o.forceHelperSize) {\r\n\t\t\thelper.height(this.currentItem.height());\r\n\t\t}\r\n\r\n\t\treturn helper;\r\n\r\n\t},\r\n\r\n\t_adjustOffsetFromHelper: function(obj) {\r\n\t\tif (typeof obj === \"string\") {\r\n\t\t\tobj = obj.split(\" \");\r\n\t\t}\r\n\t\tif ($.isArray(obj)) {\r\n\t\t\tobj = {left: +obj[0], top: +obj[1] || 0};\r\n\t\t}\r\n\t\tif (\"left\" in obj) {\r\n\t\t\tthis.offset.click.left = obj.left + this.margins.left;\r\n\t\t}\r\n\t\tif (\"right\" in obj) {\r\n\t\t\tthis.offset.click.left = this.helperProportions.width - obj.right + this.margins.left;\r\n\t\t}\r\n\t\tif (\"top\" in obj) {\r\n\t\t\tthis.offset.click.top = obj.top + this.margins.top;\r\n\t\t}\r\n\t\tif (\"bottom\" in obj) {\r\n\t\t\tthis.offset.click.top = this.helperProportions.height - obj.bottom + this.margins.top;\r\n\t\t}\r\n\t},\r\n\r\n\t_getParentOffset: function() {\r\n\r\n\r\n\t\t//Get the offsetParent and cache its position\r\n\t\tthis.offsetParent = this.helper.offsetParent();\r\n\t\tvar po = this.offsetParent.offset();\r\n\r\n\t\t// This is a special case where we need to modify a offset calculated on start, since the following happened:\r\n\t\t// 1. The position of the helper is absolute, so it's position is calculated based on the next positioned parent\r\n\t\t// 2. The actual offset parent is a child of the scroll parent, and the scroll parent isn't the document, which means that\r\n\t\t//    the scroll is included in the initial calculation of the offset of the parent, and never recalculated upon drag\r\n\t\tif(this.cssPosition === \"absolute\" && this.scrollParent[0] !== this.document[0] && $.contains(this.scrollParent[0], this.offsetParent[0])) {\r\n\t\t\tpo.left += this.scrollParent.scrollLeft();\r\n\t\t\tpo.top += this.scrollParent.scrollTop();\r\n\t\t}\r\n\r\n\t\t// This needs to be actually done for all browsers, since pageX/pageY includes this information\r\n\t\t// with an ugly IE fix\r\n\t\tif( this.offsetParent[0] === this.document[0].body || (this.offsetParent[0].tagName && this.offsetParent[0].tagName.toLowerCase() === \"html\" && $.ui.ie)) {\r\n\t\t\tpo = { top: 0, left: 0 };\r\n\t\t}\r\n\r\n\t\treturn {\r\n\t\t\ttop: po.top + (parseInt(this.offsetParent.css(\"borderTopWidth\"),10) || 0),\r\n\t\t\tleft: po.left + (parseInt(this.offsetParent.css(\"borderLeftWidth\"),10) || 0)\r\n\t\t};\r\n\r\n\t},\r\n\r\n\t_getRelativeOffset: function() {\r\n\r\n\t\tif(this.cssPosition === \"relative\") {\r\n\t\t\tvar p = this.currentItem.position();\r\n\t\t\treturn {\r\n\t\t\t\ttop: p.top - (parseInt(this.helper.css(\"top\"),10) || 0) + this.scrollParent.scrollTop(),\r\n\t\t\t\tleft: p.left - (parseInt(this.helper.css(\"left\"),10) || 0) + this.scrollParent.scrollLeft()\r\n\t\t\t};\r\n\t\t} else {\r\n\t\t\treturn { top: 0, left: 0 };\r\n\t\t}\r\n\r\n\t},\r\n\r\n\t_cacheMargins: function() {\r\n\t\tthis.margins = {\r\n\t\t\tleft: (parseInt(this.currentItem.css(\"marginLeft\"),10) || 0),\r\n\t\t\ttop: (parseInt(this.currentItem.css(\"marginTop\"),10) || 0)\r\n\t\t};\r\n\t},\r\n\r\n\t_cacheHelperProportions: function() {\r\n\t\tthis.helperProportions = {\r\n\t\t\twidth: this.helper.outerWidth(),\r\n\t\t\theight: this.helper.outerHeight()\r\n\t\t};\r\n\t},\r\n\r\n\t_setContainment: function() {\r\n\r\n\t\tvar ce, co, over,\r\n\t\t\to = this.options;\r\n\t\tif(o.containment === \"parent\") {\r\n\t\t\to.containment = this.helper[0].parentNode;\r\n\t\t}\r\n\t\tif(o.containment === \"document\" || o.containment === \"window\") {\r\n\t\t\tthis.containment = [\r\n\t\t\t\t0 - this.offset.relative.left - this.offset.parent.left,\r\n\t\t\t\t0 - this.offset.relative.top - this.offset.parent.top,\r\n\t\t\t\to.containment === \"document\" ? this.document.width() : this.window.width() - this.helperProportions.width - this.margins.left,\r\n\t\t\t\t(o.containment === \"document\" ? this.document.width() : this.window.height() || this.document[0].body.parentNode.scrollHeight) - this.helperProportions.height - this.margins.top\r\n\t\t\t];\r\n\t\t}\r\n\r\n\t\tif(!(/^(document|window|parent)$/).test(o.containment)) {\r\n\t\t\tce = $(o.containment)[0];\r\n\t\t\tco = $(o.containment).offset();\r\n\t\t\tover = ($(ce).css(\"overflow\") !== \"hidden\");\r\n\r\n\t\t\tthis.containment = [\r\n\t\t\t\tco.left + (parseInt($(ce).css(\"borderLeftWidth\"),10) || 0) + (parseInt($(ce).css(\"paddingLeft\"),10) || 0) - this.margins.left,\r\n\t\t\t\tco.top + (parseInt($(ce).css(\"borderTopWidth\"),10) || 0) + (parseInt($(ce).css(\"paddingTop\"),10) || 0) - this.margins.top,\r\n\t\t\t\tco.left+(over ? Math.max(ce.scrollWidth,ce.offsetWidth) : ce.offsetWidth) - (parseInt($(ce).css(\"borderLeftWidth\"),10) || 0) - (parseInt($(ce).css(\"paddingRight\"),10) || 0) - this.helperProportions.width - this.margins.left,\r\n\t\t\t\tco.top+(over ? Math.max(ce.scrollHeight,ce.offsetHeight) : ce.offsetHeight) - (parseInt($(ce).css(\"borderTopWidth\"),10) || 0) - (parseInt($(ce).css(\"paddingBottom\"),10) || 0) - this.helperProportions.height - this.margins.top\r\n\t\t\t];\r\n\t\t}\r\n\r\n\t},\r\n\r\n\t_convertPositionTo: function(d, pos) {\r\n\r\n\t\tif(!pos) {\r\n\t\t\tpos = this.position;\r\n\t\t}\r\n\t\tvar mod = d === \"absolute\" ? 1 : -1,\r\n\t\t\tscroll = this.cssPosition === \"absolute\" && !(this.scrollParent[0] !== this.document[0] && $.contains(this.scrollParent[0], this.offsetParent[0])) ? this.offsetParent : this.scrollParent,\r\n\t\t\tscrollIsRootNode = (/(html|body)/i).test(scroll[0].tagName);\r\n\r\n\t\treturn {\r\n\t\t\ttop: (\r\n\t\t\t\tpos.top\t+\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t// The absolute mouse position\r\n\t\t\t\tthis.offset.relative.top * mod +\t\t\t\t\t\t\t\t\t\t// Only for relative positioned nodes: Relative offset from element to offset parent\r\n\t\t\t\tthis.offset.parent.top * mod -\t\t\t\t\t\t\t\t\t\t\t// The offsetParent's offset without borders (offset + border)\r\n\t\t\t\t( ( this.cssPosition === \"fixed\" ? -this.scrollParent.scrollTop() : ( scrollIsRootNode ? 0 : scroll.scrollTop() ) ) * mod)\r\n\t\t\t),\r\n\t\t\tleft: (\r\n\t\t\t\tpos.left +\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t// The absolute mouse position\r\n\t\t\t\tthis.offset.relative.left * mod +\t\t\t\t\t\t\t\t\t\t// Only for relative positioned nodes: Relative offset from element to offset parent\r\n\t\t\t\tthis.offset.parent.left * mod\t-\t\t\t\t\t\t\t\t\t\t// The offsetParent's offset without borders (offset + border)\r\n\t\t\t\t( ( this.cssPosition === \"fixed\" ? -this.scrollParent.scrollLeft() : scrollIsRootNode ? 0 : scroll.scrollLeft() ) * mod)\r\n\t\t\t)\r\n\t\t};\r\n\r\n\t},\r\n\r\n\t_generatePosition: function(event) {\r\n\r\n\t\tvar top, left,\r\n\t\t\to = this.options,\r\n\t\t\tpageX = event.pageX,\r\n\t\t\tpageY = event.pageY,\r\n\t\t\tscroll = this.cssPosition === \"absolute\" && !(this.scrollParent[0] !== this.document[0] && $.contains(this.scrollParent[0], this.offsetParent[0])) ? this.offsetParent : this.scrollParent, scrollIsRootNode = (/(html|body)/i).test(scroll[0].tagName);\r\n\r\n\t\t// This is another very weird special case that only happens for relative elements:\r\n\t\t// 1. If the css position is relative\r\n\t\t// 2. and the scroll parent is the document or similar to the offset parent\r\n\t\t// we have to refresh the relative offset during the scroll so there are no jumps\r\n\t\tif(this.cssPosition === \"relative\" && !(this.scrollParent[0] !== this.document[0] && this.scrollParent[0] !== this.offsetParent[0])) {\r\n\t\t\tthis.offset.relative = this._getRelativeOffset();\r\n\t\t}\r\n\r\n\t\t/*\r\n\t\t * - Position constraining -\r\n\t\t * Constrain the position to a mix of grid, containment.\r\n\t\t */\r\n\r\n\t\tif(this.originalPosition) { //If we are not dragging yet, we won't check for options\r\n\r\n\t\t\tif(this.containment) {\r\n\t\t\t\tif(event.pageX - this.offset.click.left < this.containment[0]) {\r\n\t\t\t\t\tpageX = this.containment[0] + this.offset.click.left;\r\n\t\t\t\t}\r\n\t\t\t\tif(event.pageY - this.offset.click.top < this.containment[1]) {\r\n\t\t\t\t\tpageY = this.containment[1] + this.offset.click.top;\r\n\t\t\t\t}\r\n\t\t\t\tif(event.pageX - this.offset.click.left > this.containment[2]) {\r\n\t\t\t\t\tpageX = this.containment[2] + this.offset.click.left;\r\n\t\t\t\t}\r\n\t\t\t\tif(event.pageY - this.offset.click.top > this.containment[3]) {\r\n\t\t\t\t\tpageY = this.containment[3] + this.offset.click.top;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tif(o.grid) {\r\n\t\t\t\ttop = this.originalPageY + Math.round((pageY - this.originalPageY) / o.grid[1]) * o.grid[1];\r\n\t\t\t\tpageY = this.containment ? ( (top - this.offset.click.top >= this.containment[1] && top - this.offset.click.top <= this.containment[3]) ? top : ((top - this.offset.click.top >= this.containment[1]) ? top - o.grid[1] : top + o.grid[1])) : top;\r\n\r\n\t\t\t\tleft = this.originalPageX + Math.round((pageX - this.originalPageX) / o.grid[0]) * o.grid[0];\r\n\t\t\t\tpageX = this.containment ? ( (left - this.offset.click.left >= this.containment[0] && left - this.offset.click.left <= this.containment[2]) ? left : ((left - this.offset.click.left >= this.containment[0]) ? left - o.grid[0] : left + o.grid[0])) : left;\r\n\t\t\t}\r\n\r\n\t\t}\r\n\r\n\t\treturn {\r\n\t\t\ttop: (\r\n\t\t\t\tpageY -\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t// The absolute mouse position\r\n\t\t\t\tthis.offset.click.top -\t\t\t\t\t\t\t\t\t\t\t\t\t// Click offset (relative to the element)\r\n\t\t\t\tthis.offset.relative.top\t-\t\t\t\t\t\t\t\t\t\t\t// Only for relative positioned nodes: Relative offset from element to offset parent\r\n\t\t\t\tthis.offset.parent.top +\t\t\t\t\t\t\t\t\t\t\t\t// The offsetParent's offset without borders (offset + border)\r\n\t\t\t\t( ( this.cssPosition === \"fixed\" ? -this.scrollParent.scrollTop() : ( scrollIsRootNode ? 0 : scroll.scrollTop() ) ))\r\n\t\t\t),\r\n\t\t\tleft: (\r\n\t\t\t\tpageX -\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t// The absolute mouse position\r\n\t\t\t\tthis.offset.click.left -\t\t\t\t\t\t\t\t\t\t\t\t// Click offset (relative to the element)\r\n\t\t\t\tthis.offset.relative.left\t-\t\t\t\t\t\t\t\t\t\t\t// Only for relative positioned nodes: Relative offset from element to offset parent\r\n\t\t\t\tthis.offset.parent.left +\t\t\t\t\t\t\t\t\t\t\t\t// The offsetParent's offset without borders (offset + border)\r\n\t\t\t\t( ( this.cssPosition === \"fixed\" ? -this.scrollParent.scrollLeft() : scrollIsRootNode ? 0 : scroll.scrollLeft() ))\r\n\t\t\t)\r\n\t\t};\r\n\r\n\t},\r\n\r\n\t_rearrange: function(event, i, a, hardRefresh) {\r\n\r\n\t\ta ? a[0].appendChild(this.placeholder[0]) : i.item[0].parentNode.insertBefore(this.placeholder[0], (this.direction === \"down\" ? i.item[0] : i.item[0].nextSibling));\r\n\r\n\t\t//Various things done here to improve the performance:\r\n\t\t// 1. we create a setTimeout, that calls refreshPositions\r\n\t\t// 2. on the instance, we have a counter variable, that get's higher after every append\r\n\t\t// 3. on the local scope, we copy the counter variable, and check in the timeout, if it's still the same\r\n\t\t// 4. this lets only the last addition to the timeout stack through\r\n\t\tthis.counter = this.counter ? ++this.counter : 1;\r\n\t\tvar counter = this.counter;\r\n\r\n\t\tthis._delay(function() {\r\n\t\t\tif(counter === this.counter) {\r\n\t\t\t\tthis.refreshPositions(!hardRefresh); //Precompute after each DOM insertion, NOT on mousemove\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t},\r\n\r\n\t_clear: function(event, noPropagation) {\r\n\r\n\t\tthis.reverting = false;\r\n\t\t// We delay all events that have to be triggered to after the point where the placeholder has been removed and\r\n\t\t// everything else normalized again\r\n\t\tvar i,\r\n\t\t\tdelayedTriggers = [];\r\n\r\n\t\t// We first have to update the dom position of the actual currentItem\r\n\t\t// Note: don't do it if the current item is already removed (by a user), or it gets reappended (see #4088)\r\n\t\tif(!this._noFinalSort && this.currentItem.parent().length) {\r\n\t\t\tthis.placeholder.before(this.currentItem);\r\n\t\t}\r\n\t\tthis._noFinalSort = null;\r\n\r\n\t\tif(this.helper[0] === this.currentItem[0]) {\r\n\t\t\tfor(i in this._storedCSS) {\r\n\t\t\t\tif(this._storedCSS[i] === \"auto\" || this._storedCSS[i] === \"static\") {\r\n\t\t\t\t\tthis._storedCSS[i] = \"\";\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tthis.currentItem.css(this._storedCSS).removeClass(\"ui-sortable-helper\");\r\n\t\t} else {\r\n\t\t\tthis.currentItem.show();\r\n\t\t}\r\n\r\n\t\tif(this.fromOutside && !noPropagation) {\r\n\t\t\tdelayedTriggers.push(function(event) { this._trigger(\"receive\", event, this._uiHash(this.fromOutside)); });\r\n\t\t}\r\n\t\tif((this.fromOutside || this.domPosition.prev !== this.currentItem.prev().not(\".ui-sortable-helper\")[0] || this.domPosition.parent !== this.currentItem.parent()[0]) && !noPropagation) {\r\n\t\t\tdelayedTriggers.push(function(event) { this._trigger(\"update\", event, this._uiHash()); }); //Trigger update callback if the DOM position has changed\r\n\t\t}\r\n\r\n\t\t// Check if the items Container has Changed and trigger appropriate\r\n\t\t// events.\r\n\t\tif (this !== this.currentContainer) {\r\n\t\t\tif(!noPropagation) {\r\n\t\t\t\tdelayedTriggers.push(function(event) { this._trigger(\"remove\", event, this._uiHash()); });\r\n\t\t\t\tdelayedTriggers.push((function(c) { return function(event) { c._trigger(\"receive\", event, this._uiHash(this)); };  }).call(this, this.currentContainer));\r\n\t\t\t\tdelayedTriggers.push((function(c) { return function(event) { c._trigger(\"update\", event, this._uiHash(this));  }; }).call(this, this.currentContainer));\r\n\t\t\t}\r\n\t\t}\r\n\r\n\r\n\t\t//Post events to containers\r\n\t\tfunction delayEvent( type, instance, container ) {\r\n\t\t\treturn function( event ) {\r\n\t\t\t\tcontainer._trigger( type, event, instance._uiHash( instance ) );\r\n\t\t\t};\r\n\t\t}\r\n\t\tfor (i = this.containers.length - 1; i >= 0; i--){\r\n\t\t\tif (!noPropagation) {\r\n\t\t\t\tdelayedTriggers.push( delayEvent( \"deactivate\", this, this.containers[ i ] ) );\r\n\t\t\t}\r\n\t\t\tif(this.containers[i].containerCache.over) {\r\n\t\t\t\tdelayedTriggers.push( delayEvent( \"out\", this, this.containers[ i ] ) );\r\n\t\t\t\tthis.containers[i].containerCache.over = 0;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t//Do what was originally in plugins\r\n\t\tif ( this.storedCursor ) {\r\n\t\t\tthis.document.find( \"body\" ).css( \"cursor\", this.storedCursor );\r\n\t\t\tthis.storedStylesheet.remove();\r\n\t\t}\r\n\t\tif(this._storedOpacity) {\r\n\t\t\tthis.helper.css(\"opacity\", this._storedOpacity);\r\n\t\t}\r\n\t\tif(this._storedZIndex) {\r\n\t\t\tthis.helper.css(\"zIndex\", this._storedZIndex === \"auto\" ? \"\" : this._storedZIndex);\r\n\t\t}\r\n\r\n\t\tthis.dragging = false;\r\n\r\n\t\tif(!noPropagation) {\r\n\t\t\tthis._trigger(\"beforeStop\", event, this._uiHash());\r\n\t\t}\r\n\r\n\t\t//$(this.placeholder[0]).remove(); would have been the jQuery way - unfortunately, it unbinds ALL events from the original node!\r\n\t\tthis.placeholder[0].parentNode.removeChild(this.placeholder[0]);\r\n\r\n\t\tif ( !this.cancelHelperRemoval ) {\r\n\t\t\tif ( this.helper[ 0 ] !== this.currentItem[ 0 ] ) {\r\n\t\t\t\tthis.helper.remove();\r\n\t\t\t}\r\n\t\t\tthis.helper = null;\r\n\t\t}\r\n\r\n\t\tif(!noPropagation) {\r\n\t\t\tfor (i=0; i < delayedTriggers.length; i++) {\r\n\t\t\t\tdelayedTriggers[i].call(this, event);\r\n\t\t\t} //Trigger all delayed events\r\n\t\t\tthis._trigger(\"stop\", event, this._uiHash());\r\n\t\t}\r\n\r\n\t\tthis.fromOutside = false;\r\n\t\treturn !this.cancelHelperRemoval;\r\n\r\n\t},\r\n\r\n\t_trigger: function() {\r\n\t\tif ($.Widget.prototype._trigger.apply(this, arguments) === false) {\r\n\t\t\tthis.cancel();\r\n\t\t}\r\n\t},\r\n\r\n\t_uiHash: function(_inst) {\r\n\t\tvar inst = _inst || this;\r\n\t\treturn {\r\n\t\t\thelper: inst.helper,\r\n\t\t\tplaceholder: inst.placeholder || $([]),\r\n\t\t\tposition: inst.position,\r\n\t\t\toriginalPosition: inst.originalPosition,\r\n\t\t\toffset: inst.positionAbs,\r\n\t\t\titem: inst.currentItem,\r\n\t\t\tsender: _inst ? _inst.element : null\r\n\t\t};\r\n\t}\r\n\r\n});\r\n\r\n\r\n/*!\r\n * jQuery UI Spinner 1.11.4\r\n * http://jqueryui.com\r\n *\r\n * Copyright jQuery Foundation and other contributors\r\n * Released under the MIT license.\r\n * http://jquery.org/license\r\n *\r\n * http://api.jqueryui.com/spinner/\r\n */\r\n\r\n\r\nfunction spinner_modifier( fn ) {\r\n\treturn function() {\r\n\t\tvar previous = this.element.val();\r\n\t\tfn.apply( this, arguments );\r\n\t\tthis._refresh();\r\n\t\tif ( previous !== this.element.val() ) {\r\n\t\t\tthis._trigger( \"change\" );\r\n\t\t}\r\n\t};\r\n}\r\n\r\nvar spinner = $.widget( \"ui.spinner\", {\r\n\tversion: \"1.11.4\",\r\n\tdefaultElement: \"<input>\",\r\n\twidgetEventPrefix: \"spin\",\r\n\toptions: {\r\n\t\tculture: null,\r\n\t\ticons: {\r\n\t\t\tdown: \"ui-icon-triangle-1-s\",\r\n\t\t\tup: \"ui-icon-triangle-1-n\"\r\n\t\t},\r\n\t\tincremental: true,\r\n\t\tmax: null,\r\n\t\tmin: null,\r\n\t\tnumberFormat: null,\r\n\t\tpage: 10,\r\n\t\tstep: 1,\r\n\r\n\t\tchange: null,\r\n\t\tspin: null,\r\n\t\tstart: null,\r\n\t\tstop: null\r\n\t},\r\n\r\n\t_create: function() {\r\n\t\t// handle string values that need to be parsed\r\n\t\tthis._setOption( \"max\", this.options.max );\r\n\t\tthis._setOption( \"min\", this.options.min );\r\n\t\tthis._setOption( \"step\", this.options.step );\r\n\r\n\t\t// Only format if there is a value, prevents the field from being marked\r\n\t\t// as invalid in Firefox, see #9573.\r\n\t\tif ( this.value() !== \"\" ) {\r\n\t\t\t// Format the value, but don't constrain.\r\n\t\t\tthis._value( this.element.val(), true );\r\n\t\t}\r\n\r\n\t\tthis._draw();\r\n\t\tthis._on( this._events );\r\n\t\tthis._refresh();\r\n\r\n\t\t// turning off autocomplete prevents the browser from remembering the\r\n\t\t// value when navigating through history, so we re-enable autocomplete\r\n\t\t// if the page is unloaded before the widget is destroyed. #7790\r\n\t\tthis._on( this.window, {\r\n\t\t\tbeforeunload: function() {\r\n\t\t\t\tthis.element.removeAttr( \"autocomplete\" );\r\n\t\t\t}\r\n\t\t});\r\n\t},\r\n\r\n\t_getCreateOptions: function() {\r\n\t\tvar options = {},\r\n\t\t\telement = this.element;\r\n\r\n\t\t$.each( [ \"min\", \"max\", \"step\" ], function( i, option ) {\r\n\t\t\tvar value = element.attr( option );\r\n\t\t\tif ( value !== undefined && value.length ) {\r\n\t\t\t\toptions[ option ] = value;\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\treturn options;\r\n\t},\r\n\r\n\t_events: {\r\n\t\tkeydown: function( event ) {\r\n\t\t\tif ( this._start( event ) && this._keydown( event ) ) {\r\n\t\t\t\tevent.preventDefault();\r\n\t\t\t}\r\n\t\t},\r\n\t\tkeyup: \"_stop\",\r\n\t\tfocus: function() {\r\n\t\t\tthis.previous = this.element.val();\r\n\t\t},\r\n\t\tblur: function( event ) {\r\n\t\t\tif ( this.cancelBlur ) {\r\n\t\t\t\tdelete this.cancelBlur;\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tthis._stop();\r\n\t\t\tthis._refresh();\r\n\t\t\tif ( this.previous !== this.element.val() ) {\r\n\t\t\t\tthis._trigger( \"change\", event );\r\n\t\t\t}\r\n\t\t},\r\n\t\tmousewheel: function( event, delta ) {\r\n\t\t\tif ( !delta ) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tif ( !this.spinning && !this._start( event ) ) {\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\r\n\t\t\tthis._spin( (delta > 0 ? 1 : -1) * this.options.step, event );\r\n\t\t\tclearTimeout( this.mousewheelTimer );\r\n\t\t\tthis.mousewheelTimer = this._delay(function() {\r\n\t\t\t\tif ( this.spinning ) {\r\n\t\t\t\t\tthis._stop( event );\r\n\t\t\t\t}\r\n\t\t\t}, 100 );\r\n\t\t\tevent.preventDefault();\r\n\t\t},\r\n\t\t\"mousedown .ui-spinner-button\": function( event ) {\r\n\t\t\tvar previous;\r\n\r\n\t\t\t// We never want the buttons to have focus; whenever the user is\r\n\t\t\t// interacting with the spinner, the focus should be on the input.\r\n\t\t\t// If the input is focused then this.previous is properly set from\r\n\t\t\t// when the input first received focus. If the input is not focused\r\n\t\t\t// then we need to set this.previous based on the value before spinning.\r\n\t\t\tprevious = this.element[0] === this.document[0].activeElement ?\r\n\t\t\t\tthis.previous : this.element.val();\r\n\t\t\tfunction checkFocus() {\r\n\t\t\t\tvar isActive = this.element[0] === this.document[0].activeElement;\r\n\t\t\t\tif ( !isActive ) {\r\n\t\t\t\t\tthis.element.focus();\r\n\t\t\t\t\tthis.previous = previous;\r\n\t\t\t\t\t// support: IE\r\n\t\t\t\t\t// IE sets focus asynchronously, so we need to check if focus\r\n\t\t\t\t\t// moved off of the input because the user clicked on the button.\r\n\t\t\t\t\tthis._delay(function() {\r\n\t\t\t\t\t\tthis.previous = previous;\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\t// ensure focus is on (or stays on) the text field\r\n\t\t\tevent.preventDefault();\r\n\t\t\tcheckFocus.call( this );\r\n\r\n\t\t\t// support: IE\r\n\t\t\t// IE doesn't prevent moving focus even with event.preventDefault()\r\n\t\t\t// so we set a flag to know when we should ignore the blur event\r\n\t\t\t// and check (again) if focus moved off of the input.\r\n\t\t\tthis.cancelBlur = true;\r\n\t\t\tthis._delay(function() {\r\n\t\t\t\tdelete this.cancelBlur;\r\n\t\t\t\tcheckFocus.call( this );\r\n\t\t\t});\r\n\r\n\t\t\tif ( this._start( event ) === false ) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tthis._repeat( null, $( event.currentTarget ).hasClass( \"ui-spinner-up\" ) ? 1 : -1, event );\r\n\t\t},\r\n\t\t\"mouseup .ui-spinner-button\": \"_stop\",\r\n\t\t\"mouseenter .ui-spinner-button\": function( event ) {\r\n\t\t\t// button will add ui-state-active if mouse was down while mouseleave and kept down\r\n\t\t\tif ( !$( event.currentTarget ).hasClass( \"ui-state-active\" ) ) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tif ( this._start( event ) === false ) {\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\t\t\tthis._repeat( null, $( event.currentTarget ).hasClass( \"ui-spinner-up\" ) ? 1 : -1, event );\r\n\t\t},\r\n\t\t// TODO: do we really want to consider this a stop?\r\n\t\t// shouldn't we just stop the repeater and wait until mouseup before\r\n\t\t// we trigger the stop event?\r\n\t\t\"mouseleave .ui-spinner-button\": \"_stop\"\r\n\t},\r\n\r\n\t_draw: function() {\r\n\t\tvar uiSpinner = this.uiSpinner = this.element\r\n\t\t\t.addClass( \"ui-spinner-input\" )\r\n\t\t\t.attr( \"autocomplete\", \"off\" )\r\n\t\t\t.wrap( this._uiSpinnerHtml() )\r\n\t\t\t.parent()\r\n\t\t\t\t// add buttons\r\n\t\t\t\t.append( this._buttonHtml() );\r\n\r\n\t\tthis.element.attr( \"role\", \"spinbutton\" );\r\n\r\n\t\t// button bindings\r\n\t\tthis.buttons = uiSpinner.find( \".ui-spinner-button\" )\r\n\t\t\t.attr( \"tabIndex\", -1 )\r\n\t\t\t.button()\r\n\t\t\t.removeClass( \"ui-corner-all\" );\r\n\r\n\t\t// IE 6 doesn't understand height: 50% for the buttons\r\n\t\t// unless the wrapper has an explicit height\r\n\t\tif ( this.buttons.height() > Math.ceil( uiSpinner.height() * 0.5 ) &&\r\n\t\t\t\tuiSpinner.height() > 0 ) {\r\n\t\t\tuiSpinner.height( uiSpinner.height() );\r\n\t\t}\r\n\r\n\t\t// disable spinner if element was already disabled\r\n\t\tif ( this.options.disabled ) {\r\n\t\t\tthis.disable();\r\n\t\t}\r\n\t},\r\n\r\n\t_keydown: function( event ) {\r\n\t\tvar options = this.options,\r\n\t\t\tkeyCode = $.ui.keyCode;\r\n\r\n\t\tswitch ( event.keyCode ) {\r\n\t\tcase keyCode.UP:\r\n\t\t\tthis._repeat( null, 1, event );\r\n\t\t\treturn true;\r\n\t\tcase keyCode.DOWN:\r\n\t\t\tthis._repeat( null, -1, event );\r\n\t\t\treturn true;\r\n\t\tcase keyCode.PAGE_UP:\r\n\t\t\tthis._repeat( null, options.page, event );\r\n\t\t\treturn true;\r\n\t\tcase keyCode.PAGE_DOWN:\r\n\t\t\tthis._repeat( null, -options.page, event );\r\n\t\t\treturn true;\r\n\t\t}\r\n\r\n\t\treturn false;\r\n\t},\r\n\r\n\t_uiSpinnerHtml: function() {\r\n\t\treturn \"<span class='ui-spinner ui-widget ui-widget-content ui-corner-all'></span>\";\r\n\t},\r\n\r\n\t_buttonHtml: function() {\r\n\t\treturn \"\" +\r\n\t\t\t\"<a class='ui-spinner-button ui-spinner-up ui-corner-tr'>\" +\r\n\t\t\t\t\"<span class='ui-icon \" + this.options.icons.up + \"'>&#9650;</span>\" +\r\n\t\t\t\"</a>\" +\r\n\t\t\t\"<a class='ui-spinner-button ui-spinner-down ui-corner-br'>\" +\r\n\t\t\t\t\"<span class='ui-icon \" + this.options.icons.down + \"'>&#9660;</span>\" +\r\n\t\t\t\"</a>\";\r\n\t},\r\n\r\n\t_start: function( event ) {\r\n\t\tif ( !this.spinning && this._trigger( \"start\", event ) === false ) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\r\n\t\tif ( !this.counter ) {\r\n\t\t\tthis.counter = 1;\r\n\t\t}\r\n\t\tthis.spinning = true;\r\n\t\treturn true;\r\n\t},\r\n\r\n\t_repeat: function( i, steps, event ) {\r\n\t\ti = i || 500;\r\n\r\n\t\tclearTimeout( this.timer );\r\n\t\tthis.timer = this._delay(function() {\r\n\t\t\tthis._repeat( 40, steps, event );\r\n\t\t}, i );\r\n\r\n\t\tthis._spin( steps * this.options.step, event );\r\n\t},\r\n\r\n\t_spin: function( step, event ) {\r\n\t\tvar value = this.value() || 0;\r\n\r\n\t\tif ( !this.counter ) {\r\n\t\t\tthis.counter = 1;\r\n\t\t}\r\n\r\n\t\tvalue = this._adjustValue( value + step * this._increment( this.counter ) );\r\n\r\n\t\tif ( !this.spinning || this._trigger( \"spin\", event, { value: value } ) !== false) {\r\n\t\t\tthis._value( value );\r\n\t\t\tthis.counter++;\r\n\t\t}\r\n\t},\r\n\r\n\t_increment: function( i ) {\r\n\t\tvar incremental = this.options.incremental;\r\n\r\n\t\tif ( incremental ) {\r\n\t\t\treturn $.isFunction( incremental ) ?\r\n\t\t\t\tincremental( i ) :\r\n\t\t\t\tMath.floor( i * i * i / 50000 - i * i / 500 + 17 * i / 200 + 1 );\r\n\t\t}\r\n\r\n\t\treturn 1;\r\n\t},\r\n\r\n\t_precision: function() {\r\n\t\tvar precision = this._precisionOf( this.options.step );\r\n\t\tif ( this.options.min !== null ) {\r\n\t\t\tprecision = Math.max( precision, this._precisionOf( this.options.min ) );\r\n\t\t}\r\n\t\treturn precision;\r\n\t},\r\n\r\n\t_precisionOf: function( num ) {\r\n\t\tvar str = num.toString(),\r\n\t\t\tdecimal = str.indexOf( \".\" );\r\n\t\treturn decimal === -1 ? 0 : str.length - decimal - 1;\r\n\t},\r\n\r\n\t_adjustValue: function( value ) {\r\n\t\tvar base, aboveMin,\r\n\t\t\toptions = this.options;\r\n\r\n\t\t// make sure we're at a valid step\r\n\t\t// - find out where we are relative to the base (min or 0)\r\n\t\tbase = options.min !== null ? options.min : 0;\r\n\t\taboveMin = value - base;\r\n\t\t// - round to the nearest step\r\n\t\taboveMin = Math.round(aboveMin / options.step) * options.step;\r\n\t\t// - rounding is based on 0, so adjust back to our base\r\n\t\tvalue = base + aboveMin;\r\n\r\n\t\t// fix precision from bad JS floating point math\r\n\t\tvalue = parseFloat( value.toFixed( this._precision() ) );\r\n\r\n\t\t// clamp the value\r\n\t\tif ( options.max !== null && value > options.max) {\r\n\t\t\treturn options.max;\r\n\t\t}\r\n\t\tif ( options.min !== null && value < options.min ) {\r\n\t\t\treturn options.min;\r\n\t\t}\r\n\r\n\t\treturn value;\r\n\t},\r\n\r\n\t_stop: function( event ) {\r\n\t\tif ( !this.spinning ) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tclearTimeout( this.timer );\r\n\t\tclearTimeout( this.mousewheelTimer );\r\n\t\tthis.counter = 0;\r\n\t\tthis.spinning = false;\r\n\t\tthis._trigger( \"stop\", event );\r\n\t},\r\n\r\n\t_setOption: function( key, value ) {\r\n\t\tif ( key === \"culture\" || key === \"numberFormat\" ) {\r\n\t\t\tvar prevValue = this._parse( this.element.val() );\r\n\t\t\tthis.options[ key ] = value;\r\n\t\t\tthis.element.val( this._format( prevValue ) );\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tif ( key === \"max\" || key === \"min\" || key === \"step\" ) {\r\n\t\t\tif ( typeof value === \"string\" ) {\r\n\t\t\t\tvalue = this._parse( value );\r\n\t\t\t}\r\n\t\t}\r\n\t\tif ( key === \"icons\" ) {\r\n\t\t\tthis.buttons.first().find( \".ui-icon\" )\r\n\t\t\t\t.removeClass( this.options.icons.up )\r\n\t\t\t\t.addClass( value.up );\r\n\t\t\tthis.buttons.last().find( \".ui-icon\" )\r\n\t\t\t\t.removeClass( this.options.icons.down )\r\n\t\t\t\t.addClass( value.down );\r\n\t\t}\r\n\r\n\t\tthis._super( key, value );\r\n\r\n\t\tif ( key === \"disabled\" ) {\r\n\t\t\tthis.widget().toggleClass( \"ui-state-disabled\", !!value );\r\n\t\t\tthis.element.prop( \"disabled\", !!value );\r\n\t\t\tthis.buttons.button( value ? \"disable\" : \"enable\" );\r\n\t\t}\r\n\t},\r\n\r\n\t_setOptions: spinner_modifier(function( options ) {\r\n\t\tthis._super( options );\r\n\t}),\r\n\r\n\t_parse: function( val ) {\r\n\t\tif ( typeof val === \"string\" && val !== \"\" ) {\r\n\t\t\tval = window.Globalize && this.options.numberFormat ?\r\n\t\t\t\tGlobalize.parseFloat( val, 10, this.options.culture ) : +val;\r\n\t\t}\r\n\t\treturn val === \"\" || isNaN( val ) ? null : val;\r\n\t},\r\n\r\n\t_format: function( value ) {\r\n\t\tif ( value === \"\" ) {\r\n\t\t\treturn \"\";\r\n\t\t}\r\n\t\treturn window.Globalize && this.options.numberFormat ?\r\n\t\t\tGlobalize.format( value, this.options.numberFormat, this.options.culture ) :\r\n\t\t\tvalue;\r\n\t},\r\n\r\n\t_refresh: function() {\r\n\t\tthis.element.attr({\r\n\t\t\t\"aria-valuemin\": this.options.min,\r\n\t\t\t\"aria-valuemax\": this.options.max,\r\n\t\t\t// TODO: what should we do with values that can't be parsed?\r\n\t\t\t\"aria-valuenow\": this._parse( this.element.val() )\r\n\t\t});\r\n\t},\r\n\r\n\tisValid: function() {\r\n\t\tvar value = this.value();\r\n\r\n\t\t// null is invalid\r\n\t\tif ( value === null ) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\r\n\t\t// if value gets adjusted, it's invalid\r\n\t\treturn value === this._adjustValue( value );\r\n\t},\r\n\r\n\t// update the value without triggering change\r\n\t_value: function( value, allowAny ) {\r\n\t\tvar parsed;\r\n\t\tif ( value !== \"\" ) {\r\n\t\t\tparsed = this._parse( value );\r\n\t\t\tif ( parsed !== null ) {\r\n\t\t\t\tif ( !allowAny ) {\r\n\t\t\t\t\tparsed = this._adjustValue( parsed );\r\n\t\t\t\t}\r\n\t\t\t\tvalue = this._format( parsed );\r\n\t\t\t}\r\n\t\t}\r\n\t\tthis.element.val( value );\r\n\t\tthis._refresh();\r\n\t},\r\n\r\n\t_destroy: function() {\r\n\t\tthis.element\r\n\t\t\t.removeClass( \"ui-spinner-input\" )\r\n\t\t\t.prop( \"disabled\", false )\r\n\t\t\t.removeAttr( \"autocomplete\" )\r\n\t\t\t.removeAttr( \"role\" )\r\n\t\t\t.removeAttr( \"aria-valuemin\" )\r\n\t\t\t.removeAttr( \"aria-valuemax\" )\r\n\t\t\t.removeAttr( \"aria-valuenow\" );\r\n\t\tthis.uiSpinner.replaceWith( this.element );\r\n\t},\r\n\r\n\tstepUp: spinner_modifier(function( steps ) {\r\n\t\tthis._stepUp( steps );\r\n\t}),\r\n\t_stepUp: function( steps ) {\r\n\t\tif ( this._start() ) {\r\n\t\t\tthis._spin( (steps || 1) * this.options.step );\r\n\t\t\tthis._stop();\r\n\t\t}\r\n\t},\r\n\r\n\tstepDown: spinner_modifier(function( steps ) {\r\n\t\tthis._stepDown( steps );\r\n\t}),\r\n\t_stepDown: function( steps ) {\r\n\t\tif ( this._start() ) {\r\n\t\t\tthis._spin( (steps || 1) * -this.options.step );\r\n\t\t\tthis._stop();\r\n\t\t}\r\n\t},\r\n\r\n\tpageUp: spinner_modifier(function( pages ) {\r\n\t\tthis._stepUp( (pages || 1) * this.options.page );\r\n\t}),\r\n\r\n\tpageDown: spinner_modifier(function( pages ) {\r\n\t\tthis._stepDown( (pages || 1) * this.options.page );\r\n\t}),\r\n\r\n\tvalue: function( newVal ) {\r\n\t\tif ( !arguments.length ) {\r\n\t\t\treturn this._parse( this.element.val() );\r\n\t\t}\r\n\t\tspinner_modifier( this._value ).call( this, newVal );\r\n\t},\r\n\r\n\twidget: function() {\r\n\t\treturn this.uiSpinner;\r\n\t}\r\n});\r\n\r\n\r\n/*!\r\n * jQuery UI Tabs 1.11.4\r\n * http://jqueryui.com\r\n *\r\n * Copyright jQuery Foundation and other contributors\r\n * Released under the MIT license.\r\n * http://jquery.org/license\r\n *\r\n * http://api.jqueryui.com/tabs/\r\n */\r\n\r\n\r\nvar tabs = $.widget( \"ui.tabs\", {\r\n\tversion: \"1.11.4\",\r\n\tdelay: 300,\r\n\toptions: {\r\n\t\tactive: null,\r\n\t\tcollapsible: false,\r\n\t\tevent: \"click\",\r\n\t\theightStyle: \"content\",\r\n\t\thide: null,\r\n\t\tshow: null,\r\n\r\n\t\t// callbacks\r\n\t\tactivate: null,\r\n\t\tbeforeActivate: null,\r\n\t\tbeforeLoad: null,\r\n\t\tload: null\r\n\t},\r\n\r\n\t_isLocal: (function() {\r\n\t\tvar rhash = /#.*$/;\r\n\r\n\t\treturn function( anchor ) {\r\n\t\t\tvar anchorUrl, locationUrl;\r\n\r\n\t\t\t// support: IE7\r\n\t\t\t// IE7 doesn't normalize the href property when set via script (#9317)\r\n\t\t\tanchor = anchor.cloneNode( false );\r\n\r\n\t\t\tanchorUrl = anchor.href.replace( rhash, \"\" );\r\n\t\t\tlocationUrl = location.href.replace( rhash, \"\" );\r\n\r\n\t\t\t// decoding may throw an error if the URL isn't UTF-8 (#9518)\r\n\t\t\ttry {\r\n\t\t\t\tanchorUrl = decodeURIComponent( anchorUrl );\r\n\t\t\t} catch ( error ) {}\r\n\t\t\ttry {\r\n\t\t\t\tlocationUrl = decodeURIComponent( locationUrl );\r\n\t\t\t} catch ( error ) {}\r\n\r\n\t\t\treturn anchor.hash.length > 1 && anchorUrl === locationUrl;\r\n\t\t};\r\n\t})(),\r\n\r\n\t_create: function() {\r\n\t\tvar that = this,\r\n\t\t\toptions = this.options;\r\n\r\n\t\tthis.running = false;\r\n\r\n\t\tthis.element\r\n\t\t\t.addClass( \"ui-tabs ui-widget ui-widget-content ui-corner-all\" )\r\n\t\t\t.toggleClass( \"ui-tabs-collapsible\", options.collapsible );\r\n\r\n\t\tthis._processTabs();\r\n\t\toptions.active = this._initialActive();\r\n\r\n\t\t// Take disabling tabs via class attribute from HTML\r\n\t\t// into account and update option properly.\r\n\t\tif ( $.isArray( options.disabled ) ) {\r\n\t\t\toptions.disabled = $.unique( options.disabled.concat(\r\n\t\t\t\t$.map( this.tabs.filter( \".ui-state-disabled\" ), function( li ) {\r\n\t\t\t\t\treturn that.tabs.index( li );\r\n\t\t\t\t})\r\n\t\t\t) ).sort();\r\n\t\t}\r\n\r\n\t\t// check for length avoids error when initializing empty list\r\n\t\tif ( this.options.active !== false && this.anchors.length ) {\r\n\t\t\tthis.active = this._findActive( options.active );\r\n\t\t} else {\r\n\t\t\tthis.active = $();\r\n\t\t}\r\n\r\n\t\tthis._refresh();\r\n\r\n\t\tif ( this.active.length ) {\r\n\t\t\tthis.load( options.active );\r\n\t\t}\r\n\t},\r\n\r\n\t_initialActive: function() {\r\n\t\tvar active = this.options.active,\r\n\t\t\tcollapsible = this.options.collapsible,\r\n\t\t\tlocationHash = location.hash.substring( 1 );\r\n\r\n\t\tif ( active === null ) {\r\n\t\t\t// check the fragment identifier in the URL\r\n\t\t\tif ( locationHash ) {\r\n\t\t\t\tthis.tabs.each(function( i, tab ) {\r\n\t\t\t\t\tif ( $( tab ).attr( \"aria-controls\" ) === locationHash ) {\r\n\t\t\t\t\t\tactive = i;\r\n\t\t\t\t\t\treturn false;\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t}\r\n\r\n\t\t\t// check for a tab marked active via a class\r\n\t\t\tif ( active === null ) {\r\n\t\t\t\tactive = this.tabs.index( this.tabs.filter( \".ui-tabs-active\" ) );\r\n\t\t\t}\r\n\r\n\t\t\t// no active tab, set to false\r\n\t\t\tif ( active === null || active === -1 ) {\r\n\t\t\t\tactive = this.tabs.length ? 0 : false;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t// handle numbers: negative, out of range\r\n\t\tif ( active !== false ) {\r\n\t\t\tactive = this.tabs.index( this.tabs.eq( active ) );\r\n\t\t\tif ( active === -1 ) {\r\n\t\t\t\tactive = collapsible ? false : 0;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t// don't allow collapsible: false and active: false\r\n\t\tif ( !collapsible && active === false && this.anchors.length ) {\r\n\t\t\tactive = 0;\r\n\t\t}\r\n\r\n\t\treturn active;\r\n\t},\r\n\r\n\t_getCreateEventData: function() {\r\n\t\treturn {\r\n\t\t\ttab: this.active,\r\n\t\t\tpanel: !this.active.length ? $() : this._getPanelForTab( this.active )\r\n\t\t};\r\n\t},\r\n\r\n\t_tabKeydown: function( event ) {\r\n\t\tvar focusedTab = $( this.document[0].activeElement ).closest( \"li\" ),\r\n\t\t\tselectedIndex = this.tabs.index( focusedTab ),\r\n\t\t\tgoingForward = true;\r\n\r\n\t\tif ( this._handlePageNav( event ) ) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tswitch ( event.keyCode ) {\r\n\t\t\tcase $.ui.keyCode.RIGHT:\r\n\t\t\tcase $.ui.keyCode.DOWN:\r\n\t\t\t\tselectedIndex++;\r\n\t\t\t\tbreak;\r\n\t\t\tcase $.ui.keyCode.UP:\r\n\t\t\tcase $.ui.keyCode.LEFT:\r\n\t\t\t\tgoingForward = false;\r\n\t\t\t\tselectedIndex--;\r\n\t\t\t\tbreak;\r\n\t\t\tcase $.ui.keyCode.END:\r\n\t\t\t\tselectedIndex = this.anchors.length - 1;\r\n\t\t\t\tbreak;\r\n\t\t\tcase $.ui.keyCode.HOME:\r\n\t\t\t\tselectedIndex = 0;\r\n\t\t\t\tbreak;\r\n\t\t\tcase $.ui.keyCode.SPACE:\r\n\t\t\t\t// Activate only, no collapsing\r\n\t\t\t\tevent.preventDefault();\r\n\t\t\t\tclearTimeout( this.activating );\r\n\t\t\t\tthis._activate( selectedIndex );\r\n\t\t\t\treturn;\r\n\t\t\tcase $.ui.keyCode.ENTER:\r\n\t\t\t\t// Toggle (cancel delayed activation, allow collapsing)\r\n\t\t\t\tevent.preventDefault();\r\n\t\t\t\tclearTimeout( this.activating );\r\n\t\t\t\t// Determine if we should collapse or activate\r\n\t\t\t\tthis._activate( selectedIndex === this.options.active ? false : selectedIndex );\r\n\t\t\t\treturn;\r\n\t\t\tdefault:\r\n\t\t\t\treturn;\r\n\t\t}\r\n\r\n\t\t// Focus the appropriate tab, based on which key was pressed\r\n\t\tevent.preventDefault();\r\n\t\tclearTimeout( this.activating );\r\n\t\tselectedIndex = this._focusNextTab( selectedIndex, goingForward );\r\n\r\n\t\t// Navigating with control/command key will prevent automatic activation\r\n\t\tif ( !event.ctrlKey && !event.metaKey ) {\r\n\r\n\t\t\t// Update aria-selected immediately so that AT think the tab is already selected.\r\n\t\t\t// Otherwise AT may confuse the user by stating that they need to activate the tab,\r\n\t\t\t// but the tab will already be activated by the time the announcement finishes.\r\n\t\t\tfocusedTab.attr( \"aria-selected\", \"false\" );\r\n\t\t\tthis.tabs.eq( selectedIndex ).attr( \"aria-selected\", \"true\" );\r\n\r\n\t\t\tthis.activating = this._delay(function() {\r\n\t\t\t\tthis.option( \"active\", selectedIndex );\r\n\t\t\t}, this.delay );\r\n\t\t}\r\n\t},\r\n\r\n\t_panelKeydown: function( event ) {\r\n\t\tif ( this._handlePageNav( event ) ) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\t// Ctrl+up moves focus to the current tab\r\n\t\tif ( event.ctrlKey && event.keyCode === $.ui.keyCode.UP ) {\r\n\t\t\tevent.preventDefault();\r\n\t\t\tthis.active.focus();\r\n\t\t}\r\n\t},\r\n\r\n\t// Alt+page up/down moves focus to the previous/next tab (and activates)\r\n\t_handlePageNav: function( event ) {\r\n\t\tif ( event.altKey && event.keyCode === $.ui.keyCode.PAGE_UP ) {\r\n\t\t\tthis._activate( this._focusNextTab( this.options.active - 1, false ) );\r\n\t\t\treturn true;\r\n\t\t}\r\n\t\tif ( event.altKey && event.keyCode === $.ui.keyCode.PAGE_DOWN ) {\r\n\t\t\tthis._activate( this._focusNextTab( this.options.active + 1, true ) );\r\n\t\t\treturn true;\r\n\t\t}\r\n\t},\r\n\r\n\t_findNextTab: function( index, goingForward ) {\r\n\t\tvar lastTabIndex = this.tabs.length - 1;\r\n\r\n\t\tfunction constrain() {\r\n\t\t\tif ( index > lastTabIndex ) {\r\n\t\t\t\tindex = 0;\r\n\t\t\t}\r\n\t\t\tif ( index < 0 ) {\r\n\t\t\t\tindex = lastTabIndex;\r\n\t\t\t}\r\n\t\t\treturn index;\r\n\t\t}\r\n\r\n\t\twhile ( $.inArray( constrain(), this.options.disabled ) !== -1 ) {\r\n\t\t\tindex = goingForward ? index + 1 : index - 1;\r\n\t\t}\r\n\r\n\t\treturn index;\r\n\t},\r\n\r\n\t_focusNextTab: function( index, goingForward ) {\r\n\t\tindex = this._findNextTab( index, goingForward );\r\n\t\tthis.tabs.eq( index ).focus();\r\n\t\treturn index;\r\n\t},\r\n\r\n\t_setOption: function( key, value ) {\r\n\t\tif ( key === \"active\" ) {\r\n\t\t\t// _activate() will handle invalid values and update this.options\r\n\t\t\tthis._activate( value );\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tif ( key === \"disabled\" ) {\r\n\t\t\t// don't use the widget factory's disabled handling\r\n\t\t\tthis._setupDisabled( value );\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tthis._super( key, value);\r\n\r\n\t\tif ( key === \"collapsible\" ) {\r\n\t\t\tthis.element.toggleClass( \"ui-tabs-collapsible\", value );\r\n\t\t\t// Setting collapsible: false while collapsed; open first panel\r\n\t\t\tif ( !value && this.options.active === false ) {\r\n\t\t\t\tthis._activate( 0 );\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif ( key === \"event\" ) {\r\n\t\t\tthis._setupEvents( value );\r\n\t\t}\r\n\r\n\t\tif ( key === \"heightStyle\" ) {\r\n\t\t\tthis._setupHeightStyle( value );\r\n\t\t}\r\n\t},\r\n\r\n\t_sanitizeSelector: function( hash ) {\r\n\t\treturn hash ? hash.replace( /[!\"$%&'()*+,.\\/:;<=>?@\\[\\]\\^`{|}~]/g, \"\\\\$&\" ) : \"\";\r\n\t},\r\n\r\n\trefresh: function() {\r\n\t\tvar options = this.options,\r\n\t\t\tlis = this.tablist.children( \":has(a[href])\" );\r\n\r\n\t\t// get disabled tabs from class attribute from HTML\r\n\t\t// this will get converted to a boolean if needed in _refresh()\r\n\t\toptions.disabled = $.map( lis.filter( \".ui-state-disabled\" ), function( tab ) {\r\n\t\t\treturn lis.index( tab );\r\n\t\t});\r\n\r\n\t\tthis._processTabs();\r\n\r\n\t\t// was collapsed or no tabs\r\n\t\tif ( options.active === false || !this.anchors.length ) {\r\n\t\t\toptions.active = false;\r\n\t\t\tthis.active = $();\r\n\t\t// was active, but active tab is gone\r\n\t\t} else if ( this.active.length && !$.contains( this.tablist[ 0 ], this.active[ 0 ] ) ) {\r\n\t\t\t// all remaining tabs are disabled\r\n\t\t\tif ( this.tabs.length === options.disabled.length ) {\r\n\t\t\t\toptions.active = false;\r\n\t\t\t\tthis.active = $();\r\n\t\t\t// activate previous tab\r\n\t\t\t} else {\r\n\t\t\t\tthis._activate( this._findNextTab( Math.max( 0, options.active - 1 ), false ) );\r\n\t\t\t}\r\n\t\t// was active, active tab still exists\r\n\t\t} else {\r\n\t\t\t// make sure active index is correct\r\n\t\t\toptions.active = this.tabs.index( this.active );\r\n\t\t}\r\n\r\n\t\tthis._refresh();\r\n\t},\r\n\r\n\t_refresh: function() {\r\n\t\tthis._setupDisabled( this.options.disabled );\r\n\t\tthis._setupEvents( this.options.event );\r\n\t\tthis._setupHeightStyle( this.options.heightStyle );\r\n\r\n\t\tthis.tabs.not( this.active ).attr({\r\n\t\t\t\"aria-selected\": \"false\",\r\n\t\t\t\"aria-expanded\": \"false\",\r\n\t\t\ttabIndex: -1\r\n\t\t});\r\n\t\tthis.panels.not( this._getPanelForTab( this.active ) )\r\n\t\t\t.hide()\r\n\t\t\t.attr({\r\n\t\t\t\t\"aria-hidden\": \"true\"\r\n\t\t\t});\r\n\r\n\t\t// Make sure one tab is in the tab order\r\n\t\tif ( !this.active.length ) {\r\n\t\t\tthis.tabs.eq( 0 ).attr( \"tabIndex\", 0 );\r\n\t\t} else {\r\n\t\t\tthis.active\r\n\t\t\t\t.addClass( \"ui-tabs-active ui-state-active\" )\r\n\t\t\t\t.attr({\r\n\t\t\t\t\t\"aria-selected\": \"true\",\r\n\t\t\t\t\t\"aria-expanded\": \"true\",\r\n\t\t\t\t\ttabIndex: 0\r\n\t\t\t\t});\r\n\t\t\tthis._getPanelForTab( this.active )\r\n\t\t\t\t.show()\r\n\t\t\t\t.attr({\r\n\t\t\t\t\t\"aria-hidden\": \"false\"\r\n\t\t\t\t});\r\n\t\t}\r\n\t},\r\n\r\n\t_processTabs: function() {\r\n\t\tvar that = this,\r\n\t\t\tprevTabs = this.tabs,\r\n\t\t\tprevAnchors = this.anchors,\r\n\t\t\tprevPanels = this.panels;\r\n\r\n\t\tthis.tablist = this._getList()\r\n\t\t\t.addClass( \"ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all\" )\r\n\t\t\t.attr( \"role\", \"tablist\" )\r\n\r\n\t\t\t// Prevent users from focusing disabled tabs via click\r\n\t\t\t.delegate( \"> li\", \"mousedown\" + this.eventNamespace, function( event ) {\r\n\t\t\t\tif ( $( this ).is( \".ui-state-disabled\" ) ) {\r\n\t\t\t\t\tevent.preventDefault();\r\n\t\t\t\t}\r\n\t\t\t})\r\n\r\n\t\t\t// support: IE <9\r\n\t\t\t// Preventing the default action in mousedown doesn't prevent IE\r\n\t\t\t// from focusing the element, so if the anchor gets focused, blur.\r\n\t\t\t// We don't have to worry about focusing the previously focused\r\n\t\t\t// element since clicking on a non-focusable element should focus\r\n\t\t\t// the body anyway.\r\n\t\t\t.delegate( \".ui-tabs-anchor\", \"focus\" + this.eventNamespace, function() {\r\n\t\t\t\tif ( $( this ).closest( \"li\" ).is( \".ui-state-disabled\" ) ) {\r\n\t\t\t\t\tthis.blur();\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\tthis.tabs = this.tablist.find( \"> li:has(a[href])\" )\r\n\t\t\t.addClass( \"ui-state-default ui-corner-top\" )\r\n\t\t\t.attr({\r\n\t\t\t\trole: \"tab\",\r\n\t\t\t\ttabIndex: -1\r\n\t\t\t});\r\n\r\n\t\tthis.anchors = this.tabs.map(function() {\r\n\t\t\t\treturn $( \"a\", this )[ 0 ];\r\n\t\t\t})\r\n\t\t\t.addClass( \"ui-tabs-anchor\" )\r\n\t\t\t.attr({\r\n\t\t\t\trole: \"presentation\",\r\n\t\t\t\ttabIndex: -1\r\n\t\t\t});\r\n\r\n\t\tthis.panels = $();\r\n\r\n\t\tthis.anchors.each(function( i, anchor ) {\r\n\t\t\tvar selector, panel, panelId,\r\n\t\t\t\tanchorId = $( anchor ).uniqueId().attr( \"id\" ),\r\n\t\t\t\ttab = $( anchor ).closest( \"li\" ),\r\n\t\t\t\toriginalAriaControls = tab.attr( \"aria-controls\" );\r\n\r\n\t\t\t// inline tab\r\n\t\t\tif ( that._isLocal( anchor ) ) {\r\n\t\t\t\tselector = anchor.hash;\r\n\t\t\t\tpanelId = selector.substring( 1 );\r\n\t\t\t\tpanel = that.element.find( that._sanitizeSelector( selector ) );\r\n\t\t\t// remote tab\r\n\t\t\t} else {\r\n\t\t\t\t// If the tab doesn't already have aria-controls,\r\n\t\t\t\t// generate an id by using a throw-away element\r\n\t\t\t\tpanelId = tab.attr( \"aria-controls\" ) || $( {} ).uniqueId()[ 0 ].id;\r\n\t\t\t\tselector = \"#\" + panelId;\r\n\t\t\t\tpanel = that.element.find( selector );\r\n\t\t\t\tif ( !panel.length ) {\r\n\t\t\t\t\tpanel = that._createPanel( panelId );\r\n\t\t\t\t\tpanel.insertAfter( that.panels[ i - 1 ] || that.tablist );\r\n\t\t\t\t}\r\n\t\t\t\tpanel.attr( \"aria-live\", \"polite\" );\r\n\t\t\t}\r\n\r\n\t\t\tif ( panel.length) {\r\n\t\t\t\tthat.panels = that.panels.add( panel );\r\n\t\t\t}\r\n\t\t\tif ( originalAriaControls ) {\r\n\t\t\t\ttab.data( \"ui-tabs-aria-controls\", originalAriaControls );\r\n\t\t\t}\r\n\t\t\ttab.attr({\r\n\t\t\t\t\"aria-controls\": panelId,\r\n\t\t\t\t\"aria-labelledby\": anchorId\r\n\t\t\t});\r\n\t\t\tpanel.attr( \"aria-labelledby\", anchorId );\r\n\t\t});\r\n\r\n\t\tthis.panels\r\n\t\t\t.addClass( \"ui-tabs-panel ui-widget-content ui-corner-bottom\" )\r\n\t\t\t.attr( \"role\", \"tabpanel\" );\r\n\r\n\t\t// Avoid memory leaks (#10056)\r\n\t\tif ( prevTabs ) {\r\n\t\t\tthis._off( prevTabs.not( this.tabs ) );\r\n\t\t\tthis._off( prevAnchors.not( this.anchors ) );\r\n\t\t\tthis._off( prevPanels.not( this.panels ) );\r\n\t\t}\r\n\t},\r\n\r\n\t// allow overriding how to find the list for rare usage scenarios (#7715)\r\n\t_getList: function() {\r\n\t\treturn this.tablist || this.element.find( \"ol,ul\" ).eq( 0 );\r\n\t},\r\n\r\n\t_createPanel: function( id ) {\r\n\t\treturn $( \"<div>\" )\r\n\t\t\t.attr( \"id\", id )\r\n\t\t\t.addClass( \"ui-tabs-panel ui-widget-content ui-corner-bottom\" )\r\n\t\t\t.data( \"ui-tabs-destroy\", true );\r\n\t},\r\n\r\n\t_setupDisabled: function( disabled ) {\r\n\t\tif ( $.isArray( disabled ) ) {\r\n\t\t\tif ( !disabled.length ) {\r\n\t\t\t\tdisabled = false;\r\n\t\t\t} else if ( disabled.length === this.anchors.length ) {\r\n\t\t\t\tdisabled = true;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t// disable tabs\r\n\t\tfor ( var i = 0, li; ( li = this.tabs[ i ] ); i++ ) {\r\n\t\t\tif ( disabled === true || $.inArray( i, disabled ) !== -1 ) {\r\n\t\t\t\t$( li )\r\n\t\t\t\t\t.addClass( \"ui-state-disabled\" )\r\n\t\t\t\t\t.attr( \"aria-disabled\", \"true\" );\r\n\t\t\t} else {\r\n\t\t\t\t$( li )\r\n\t\t\t\t\t.removeClass( \"ui-state-disabled\" )\r\n\t\t\t\t\t.removeAttr( \"aria-disabled\" );\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tthis.options.disabled = disabled;\r\n\t},\r\n\r\n\t_setupEvents: function( event ) {\r\n\t\tvar events = {};\r\n\t\tif ( event ) {\r\n\t\t\t$.each( event.split(\" \"), function( index, eventName ) {\r\n\t\t\t\tevents[ eventName ] = \"_eventHandler\";\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tthis._off( this.anchors.add( this.tabs ).add( this.panels ) );\r\n\t\t// Always prevent the default action, even when disabled\r\n\t\tthis._on( true, this.anchors, {\r\n\t\t\tclick: function( event ) {\r\n\t\t\t\tevent.preventDefault();\r\n\t\t\t}\r\n\t\t});\r\n\t\tthis._on( this.anchors, events );\r\n\t\tthis._on( this.tabs, { keydown: \"_tabKeydown\" } );\r\n\t\tthis._on( this.panels, { keydown: \"_panelKeydown\" } );\r\n\r\n\t\tthis._focusable( this.tabs );\r\n\t\tthis._hoverable( this.tabs );\r\n\t},\r\n\r\n\t_setupHeightStyle: function( heightStyle ) {\r\n\t\tvar maxHeight,\r\n\t\t\tparent = this.element.parent();\r\n\r\n\t\tif ( heightStyle === \"fill\" ) {\r\n\t\t\tmaxHeight = parent.height();\r\n\t\t\tmaxHeight -= this.element.outerHeight() - this.element.height();\r\n\r\n\t\t\tthis.element.siblings( \":visible\" ).each(function() {\r\n\t\t\t\tvar elem = $( this ),\r\n\t\t\t\t\tposition = elem.css( \"position\" );\r\n\r\n\t\t\t\tif ( position === \"absolute\" || position === \"fixed\" ) {\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t\tmaxHeight -= elem.outerHeight( true );\r\n\t\t\t});\r\n\r\n\t\t\tthis.element.children().not( this.panels ).each(function() {\r\n\t\t\t\tmaxHeight -= $( this ).outerHeight( true );\r\n\t\t\t});\r\n\r\n\t\t\tthis.panels.each(function() {\r\n\t\t\t\t$( this ).height( Math.max( 0, maxHeight -\r\n\t\t\t\t\t$( this ).innerHeight() + $( this ).height() ) );\r\n\t\t\t})\r\n\t\t\t.css( \"overflow\", \"auto\" );\r\n\t\t} else if ( heightStyle === \"auto\" ) {\r\n\t\t\tmaxHeight = 0;\r\n\t\t\tthis.panels.each(function() {\r\n\t\t\t\tmaxHeight = Math.max( maxHeight, $( this ).height( \"\" ).height() );\r\n\t\t\t}).height( maxHeight );\r\n\t\t}\r\n\t},\r\n\r\n\t_eventHandler: function( event ) {\r\n\t\tvar options = this.options,\r\n\t\t\tactive = this.active,\r\n\t\t\tanchor = $( event.currentTarget ),\r\n\t\t\ttab = anchor.closest( \"li\" ),\r\n\t\t\tclickedIsActive = tab[ 0 ] === active[ 0 ],\r\n\t\t\tcollapsing = clickedIsActive && options.collapsible,\r\n\t\t\ttoShow = collapsing ? $() : this._getPanelForTab( tab ),\r\n\t\t\ttoHide = !active.length ? $() : this._getPanelForTab( active ),\r\n\t\t\teventData = {\r\n\t\t\t\toldTab: active,\r\n\t\t\t\toldPanel: toHide,\r\n\t\t\t\tnewTab: collapsing ? $() : tab,\r\n\t\t\t\tnewPanel: toShow\r\n\t\t\t};\r\n\r\n\t\tevent.preventDefault();\r\n\r\n\t\tif ( tab.hasClass( \"ui-state-disabled\" ) ||\r\n\t\t\t\t// tab is already loading\r\n\t\t\t\ttab.hasClass( \"ui-tabs-loading\" ) ||\r\n\t\t\t\t// can't switch durning an animation\r\n\t\t\t\tthis.running ||\r\n\t\t\t\t// click on active header, but not collapsible\r\n\t\t\t\t( clickedIsActive && !options.collapsible ) ||\r\n\t\t\t\t// allow canceling activation\r\n\t\t\t\t( this._trigger( \"beforeActivate\", event, eventData ) === false ) ) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\toptions.active = collapsing ? false : this.tabs.index( tab );\r\n\r\n\t\tthis.active = clickedIsActive ? $() : tab;\r\n\t\tif ( this.xhr ) {\r\n\t\t\tthis.xhr.abort();\r\n\t\t}\r\n\r\n\t\tif ( !toHide.length && !toShow.length ) {\r\n\t\t\t$.error( \"jQuery UI Tabs: Mismatching fragment identifier.\" );\r\n\t\t}\r\n\r\n\t\tif ( toShow.length ) {\r\n\t\t\tthis.load( this.tabs.index( tab ), event );\r\n\t\t}\r\n\t\tthis._toggle( event, eventData );\r\n\t},\r\n\r\n\t// handles show/hide for selecting tabs\r\n\t_toggle: function( event, eventData ) {\r\n\t\tvar that = this,\r\n\t\t\ttoShow = eventData.newPanel,\r\n\t\t\ttoHide = eventData.oldPanel;\r\n\r\n\t\tthis.running = true;\r\n\r\n\t\tfunction complete() {\r\n\t\t\tthat.running = false;\r\n\t\t\tthat._trigger( \"activate\", event, eventData );\r\n\t\t}\r\n\r\n\t\tfunction show() {\r\n\t\t\teventData.newTab.closest( \"li\" ).addClass( \"ui-tabs-active ui-state-active\" );\r\n\r\n\t\t\tif ( toShow.length && that.options.show ) {\r\n\t\t\t\tthat._show( toShow, that.options.show, complete );\r\n\t\t\t} else {\r\n\t\t\t\ttoShow.show();\r\n\t\t\t\tcomplete();\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t// start out by hiding, then showing, then completing\r\n\t\tif ( toHide.length && this.options.hide ) {\r\n\t\t\tthis._hide( toHide, this.options.hide, function() {\r\n\t\t\t\teventData.oldTab.closest( \"li\" ).removeClass( \"ui-tabs-active ui-state-active\" );\r\n\t\t\t\tshow();\r\n\t\t\t});\r\n\t\t} else {\r\n\t\t\teventData.oldTab.closest( \"li\" ).removeClass( \"ui-tabs-active ui-state-active\" );\r\n\t\t\ttoHide.hide();\r\n\t\t\tshow();\r\n\t\t}\r\n\r\n\t\ttoHide.attr( \"aria-hidden\", \"true\" );\r\n\t\teventData.oldTab.attr({\r\n\t\t\t\"aria-selected\": \"false\",\r\n\t\t\t\"aria-expanded\": \"false\"\r\n\t\t});\r\n\t\t// If we're switching tabs, remove the old tab from the tab order.\r\n\t\t// If we're opening from collapsed state, remove the previous tab from the tab order.\r\n\t\t// If we're collapsing, then keep the collapsing tab in the tab order.\r\n\t\tif ( toShow.length && toHide.length ) {\r\n\t\t\teventData.oldTab.attr( \"tabIndex\", -1 );\r\n\t\t} else if ( toShow.length ) {\r\n\t\t\tthis.tabs.filter(function() {\r\n\t\t\t\treturn $( this ).attr( \"tabIndex\" ) === 0;\r\n\t\t\t})\r\n\t\t\t.attr( \"tabIndex\", -1 );\r\n\t\t}\r\n\r\n\t\ttoShow.attr( \"aria-hidden\", \"false\" );\r\n\t\teventData.newTab.attr({\r\n\t\t\t\"aria-selected\": \"true\",\r\n\t\t\t\"aria-expanded\": \"true\",\r\n\t\t\ttabIndex: 0\r\n\t\t});\r\n\t},\r\n\r\n\t_activate: function( index ) {\r\n\t\tvar anchor,\r\n\t\t\tactive = this._findActive( index );\r\n\r\n\t\t// trying to activate the already active panel\r\n\t\tif ( active[ 0 ] === this.active[ 0 ] ) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\t// trying to collapse, simulate a click on the current active header\r\n\t\tif ( !active.length ) {\r\n\t\t\tactive = this.active;\r\n\t\t}\r\n\r\n\t\tanchor = active.find( \".ui-tabs-anchor\" )[ 0 ];\r\n\t\tthis._eventHandler({\r\n\t\t\ttarget: anchor,\r\n\t\t\tcurrentTarget: anchor,\r\n\t\t\tpreventDefault: $.noop\r\n\t\t});\r\n\t},\r\n\r\n\t_findActive: function( index ) {\r\n\t\treturn index === false ? $() : this.tabs.eq( index );\r\n\t},\r\n\r\n\t_getIndex: function( index ) {\r\n\t\t// meta-function to give users option to provide a href string instead of a numerical index.\r\n\t\tif ( typeof index === \"string\" ) {\r\n\t\t\tindex = this.anchors.index( this.anchors.filter( \"[href$='\" + index + \"']\" ) );\r\n\t\t}\r\n\r\n\t\treturn index;\r\n\t},\r\n\r\n\t_destroy: function() {\r\n\t\tif ( this.xhr ) {\r\n\t\t\tthis.xhr.abort();\r\n\t\t}\r\n\r\n\t\tthis.element.removeClass( \"ui-tabs ui-widget ui-widget-content ui-corner-all ui-tabs-collapsible\" );\r\n\r\n\t\tthis.tablist\r\n\t\t\t.removeClass( \"ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all\" )\r\n\t\t\t.removeAttr( \"role\" );\r\n\r\n\t\tthis.anchors\r\n\t\t\t.removeClass( \"ui-tabs-anchor\" )\r\n\t\t\t.removeAttr( \"role\" )\r\n\t\t\t.removeAttr( \"tabIndex\" )\r\n\t\t\t.removeUniqueId();\r\n\r\n\t\tthis.tablist.unbind( this.eventNamespace );\r\n\r\n\t\tthis.tabs.add( this.panels ).each(function() {\r\n\t\t\tif ( $.data( this, \"ui-tabs-destroy\" ) ) {\r\n\t\t\t\t$( this ).remove();\r\n\t\t\t} else {\r\n\t\t\t\t$( this )\r\n\t\t\t\t\t.removeClass( \"ui-state-default ui-state-active ui-state-disabled \" +\r\n\t\t\t\t\t\t\"ui-corner-top ui-corner-bottom ui-widget-content ui-tabs-active ui-tabs-panel\" )\r\n\t\t\t\t\t.removeAttr( \"tabIndex\" )\r\n\t\t\t\t\t.removeAttr( \"aria-live\" )\r\n\t\t\t\t\t.removeAttr( \"aria-busy\" )\r\n\t\t\t\t\t.removeAttr( \"aria-selected\" )\r\n\t\t\t\t\t.removeAttr( \"aria-labelledby\" )\r\n\t\t\t\t\t.removeAttr( \"aria-hidden\" )\r\n\t\t\t\t\t.removeAttr( \"aria-expanded\" )\r\n\t\t\t\t\t.removeAttr( \"role\" );\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\tthis.tabs.each(function() {\r\n\t\t\tvar li = $( this ),\r\n\t\t\t\tprev = li.data( \"ui-tabs-aria-controls\" );\r\n\t\t\tif ( prev ) {\r\n\t\t\t\tli\r\n\t\t\t\t\t.attr( \"aria-controls\", prev )\r\n\t\t\t\t\t.removeData( \"ui-tabs-aria-controls\" );\r\n\t\t\t} else {\r\n\t\t\t\tli.removeAttr( \"aria-controls\" );\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\tthis.panels.show();\r\n\r\n\t\tif ( this.options.heightStyle !== \"content\" ) {\r\n\t\t\tthis.panels.css( \"height\", \"\" );\r\n\t\t}\r\n\t},\r\n\r\n\tenable: function( index ) {\r\n\t\tvar disabled = this.options.disabled;\r\n\t\tif ( disabled === false ) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tif ( index === undefined ) {\r\n\t\t\tdisabled = false;\r\n\t\t} else {\r\n\t\t\tindex = this._getIndex( index );\r\n\t\t\tif ( $.isArray( disabled ) ) {\r\n\t\t\t\tdisabled = $.map( disabled, function( num ) {\r\n\t\t\t\t\treturn num !== index ? num : null;\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\tdisabled = $.map( this.tabs, function( li, num ) {\r\n\t\t\t\t\treturn num !== index ? num : null;\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}\r\n\t\tthis._setupDisabled( disabled );\r\n\t},\r\n\r\n\tdisable: function( index ) {\r\n\t\tvar disabled = this.options.disabled;\r\n\t\tif ( disabled === true ) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tif ( index === undefined ) {\r\n\t\t\tdisabled = true;\r\n\t\t} else {\r\n\t\t\tindex = this._getIndex( index );\r\n\t\t\tif ( $.inArray( index, disabled ) !== -1 ) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tif ( $.isArray( disabled ) ) {\r\n\t\t\t\tdisabled = $.merge( [ index ], disabled ).sort();\r\n\t\t\t} else {\r\n\t\t\t\tdisabled = [ index ];\r\n\t\t\t}\r\n\t\t}\r\n\t\tthis._setupDisabled( disabled );\r\n\t},\r\n\r\n\tload: function( index, event ) {\r\n\t\tindex = this._getIndex( index );\r\n\t\tvar that = this,\r\n\t\t\ttab = this.tabs.eq( index ),\r\n\t\t\tanchor = tab.find( \".ui-tabs-anchor\" ),\r\n\t\t\tpanel = this._getPanelForTab( tab ),\r\n\t\t\teventData = {\r\n\t\t\t\ttab: tab,\r\n\t\t\t\tpanel: panel\r\n\t\t\t},\r\n\t\t\tcomplete = function( jqXHR, status ) {\r\n\t\t\t\tif ( status === \"abort\" ) {\r\n\t\t\t\t\tthat.panels.stop( false, true );\r\n\t\t\t\t}\r\n\r\n\t\t\t\ttab.removeClass( \"ui-tabs-loading\" );\r\n\t\t\t\tpanel.removeAttr( \"aria-busy\" );\r\n\r\n\t\t\t\tif ( jqXHR === that.xhr ) {\r\n\t\t\t\t\tdelete that.xhr;\r\n\t\t\t\t}\r\n\t\t\t};\r\n\r\n\t\t// not remote\r\n\t\tif ( this._isLocal( anchor[ 0 ] ) ) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tthis.xhr = $.ajax( this._ajaxSettings( anchor, event, eventData ) );\r\n\r\n\t\t// support: jQuery <1.8\r\n\t\t// jQuery <1.8 returns false if the request is canceled in beforeSend,\r\n\t\t// but as of 1.8, $.ajax() always returns a jqXHR object.\r\n\t\tif ( this.xhr && this.xhr.statusText !== \"canceled\" ) {\r\n\t\t\ttab.addClass( \"ui-tabs-loading\" );\r\n\t\t\tpanel.attr( \"aria-busy\", \"true\" );\r\n\r\n\t\t\tthis.xhr\r\n\t\t\t\t.done(function( response, status, jqXHR ) {\r\n\t\t\t\t\t// support: jQuery <1.8\r\n\t\t\t\t\t// http://bugs.jquery.com/ticket/11778\r\n\t\t\t\t\tsetTimeout(function() {\r\n\t\t\t\t\t\tpanel.html( response );\r\n\t\t\t\t\t\tthat._trigger( \"load\", event, eventData );\r\n\r\n\t\t\t\t\t\tcomplete( jqXHR, status );\r\n\t\t\t\t\t}, 1 );\r\n\t\t\t\t})\r\n\t\t\t\t.fail(function( jqXHR, status ) {\r\n\t\t\t\t\t// support: jQuery <1.8\r\n\t\t\t\t\t// http://bugs.jquery.com/ticket/11778\r\n\t\t\t\t\tsetTimeout(function() {\r\n\t\t\t\t\t\tcomplete( jqXHR, status );\r\n\t\t\t\t\t}, 1 );\r\n\t\t\t\t});\r\n\t\t}\r\n\t},\r\n\r\n\t_ajaxSettings: function( anchor, event, eventData ) {\r\n\t\tvar that = this;\r\n\t\treturn {\r\n\t\t\turl: anchor.attr( \"href\" ),\r\n\t\t\tbeforeSend: function( jqXHR, settings ) {\r\n\t\t\t\treturn that._trigger( \"beforeLoad\", event,\r\n\t\t\t\t\t$.extend( { jqXHR: jqXHR, ajaxSettings: settings }, eventData ) );\r\n\t\t\t}\r\n\t\t};\r\n\t},\r\n\r\n\t_getPanelForTab: function( tab ) {\r\n\t\tvar id = $( tab ).attr( \"aria-controls\" );\r\n\t\treturn this.element.find( this._sanitizeSelector( \"#\" + id ) );\r\n\t}\r\n});\r\n\r\n\r\n/*!\r\n * jQuery UI Tooltip 1.11.4\r\n * http://jqueryui.com\r\n *\r\n * Copyright jQuery Foundation and other contributors\r\n * Released under the MIT license.\r\n * http://jquery.org/license\r\n *\r\n * http://api.jqueryui.com/tooltip/\r\n */\r\n\r\n\r\nvar tooltip = $.widget( \"ui.tooltip\", {\r\n\tversion: \"1.11.4\",\r\n\toptions: {\r\n\t\tcontent: function() {\r\n\t\t\t// support: IE<9, Opera in jQuery <1.7\r\n\t\t\t// .text() can't accept undefined, so coerce to a string\r\n\t\t\tvar title = $( this ).attr( \"title\" ) || \"\";\r\n\t\t\t// Escape title, since we're going from an attribute to raw HTML\r\n\t\t\treturn $( \"<a>\" ).text( title ).html();\r\n\t\t},\r\n\t\thide: true,\r\n\t\t// Disabled elements have inconsistent behavior across browsers (#8661)\r\n\t\titems: \"[title]:not([disabled])\",\r\n\t\tposition: {\r\n\t\t\tmy: \"left top+15\",\r\n\t\t\tat: \"left bottom\",\r\n\t\t\tcollision: \"flipfit flip\"\r\n\t\t},\r\n\t\tshow: true,\r\n\t\ttooltipClass: null,\r\n\t\ttrack: false,\r\n\r\n\t\t// callbacks\r\n\t\tclose: null,\r\n\t\topen: null\r\n\t},\r\n\r\n\t_addDescribedBy: function( elem, id ) {\r\n\t\tvar describedby = (elem.attr( \"aria-describedby\" ) || \"\").split( /\\s+/ );\r\n\t\tdescribedby.push( id );\r\n\t\telem\r\n\t\t\t.data( \"ui-tooltip-id\", id )\r\n\t\t\t.attr( \"aria-describedby\", $.trim( describedby.join( \" \" ) ) );\r\n\t},\r\n\r\n\t_removeDescribedBy: function( elem ) {\r\n\t\tvar id = elem.data( \"ui-tooltip-id\" ),\r\n\t\t\tdescribedby = (elem.attr( \"aria-describedby\" ) || \"\").split( /\\s+/ ),\r\n\t\t\tindex = $.inArray( id, describedby );\r\n\r\n\t\tif ( index !== -1 ) {\r\n\t\t\tdescribedby.splice( index, 1 );\r\n\t\t}\r\n\r\n\t\telem.removeData( \"ui-tooltip-id\" );\r\n\t\tdescribedby = $.trim( describedby.join( \" \" ) );\r\n\t\tif ( describedby ) {\r\n\t\t\telem.attr( \"aria-describedby\", describedby );\r\n\t\t} else {\r\n\t\t\telem.removeAttr( \"aria-describedby\" );\r\n\t\t}\r\n\t},\r\n\r\n\t_create: function() {\r\n\t\tthis._on({\r\n\t\t\tmouseover: \"open\",\r\n\t\t\tfocusin: \"open\"\r\n\t\t});\r\n\r\n\t\t// IDs of generated tooltips, needed for destroy\r\n\t\tthis.tooltips = {};\r\n\r\n\t\t// IDs of parent tooltips where we removed the title attribute\r\n\t\tthis.parents = {};\r\n\r\n\t\tif ( this.options.disabled ) {\r\n\t\t\tthis._disable();\r\n\t\t}\r\n\r\n\t\t// Append the aria-live region so tooltips announce correctly\r\n\t\tthis.liveRegion = $( \"<div>\" )\r\n\t\t\t.attr({\r\n\t\t\t\trole: \"log\",\r\n\t\t\t\t\"aria-live\": \"assertive\",\r\n\t\t\t\t\"aria-relevant\": \"additions\"\r\n\t\t\t})\r\n\t\t\t.addClass( \"ui-helper-hidden-accessible\" )\r\n\t\t\t.appendTo( this.document[ 0 ].body );\r\n\t},\r\n\r\n\t_setOption: function( key, value ) {\r\n\t\tvar that = this;\r\n\r\n\t\tif ( key === \"disabled\" ) {\r\n\t\t\tthis[ value ? \"_disable\" : \"_enable\" ]();\r\n\t\t\tthis.options[ key ] = value;\r\n\t\t\t// disable element style changes\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tthis._super( key, value );\r\n\r\n\t\tif ( key === \"content\" ) {\r\n\t\t\t$.each( this.tooltips, function( id, tooltipData ) {\r\n\t\t\t\tthat._updateContent( tooltipData.element );\r\n\t\t\t});\r\n\t\t}\r\n\t},\r\n\r\n\t_disable: function() {\r\n\t\tvar that = this;\r\n\r\n\t\t// close open tooltips\r\n\t\t$.each( this.tooltips, function( id, tooltipData ) {\r\n\t\t\tvar event = $.Event( \"blur\" );\r\n\t\t\tevent.target = event.currentTarget = tooltipData.element[ 0 ];\r\n\t\t\tthat.close( event, true );\r\n\t\t});\r\n\r\n\t\t// remove title attributes to prevent native tooltips\r\n\t\tthis.element.find( this.options.items ).addBack().each(function() {\r\n\t\t\tvar element = $( this );\r\n\t\t\tif ( element.is( \"[title]\" ) ) {\r\n\t\t\t\telement\r\n\t\t\t\t\t.data( \"ui-tooltip-title\", element.attr( \"title\" ) )\r\n\t\t\t\t\t.removeAttr( \"title\" );\r\n\t\t\t}\r\n\t\t});\r\n\t},\r\n\r\n\t_enable: function() {\r\n\t\t// restore title attributes\r\n\t\tthis.element.find( this.options.items ).addBack().each(function() {\r\n\t\t\tvar element = $( this );\r\n\t\t\tif ( element.data( \"ui-tooltip-title\" ) ) {\r\n\t\t\t\telement.attr( \"title\", element.data( \"ui-tooltip-title\" ) );\r\n\t\t\t}\r\n\t\t});\r\n\t},\r\n\r\n\topen: function( event ) {\r\n\t\tvar that = this,\r\n\t\t\ttarget = $( event ? event.target : this.element )\r\n\t\t\t\t// we need closest here due to mouseover bubbling,\r\n\t\t\t\t// but always pointing at the same event target\r\n\t\t\t\t.closest( this.options.items );\r\n\r\n\t\t// No element to show a tooltip for or the tooltip is already open\r\n\t\tif ( !target.length || target.data( \"ui-tooltip-id\" ) ) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tif ( target.attr( \"title\" ) ) {\r\n\t\t\ttarget.data( \"ui-tooltip-title\", target.attr( \"title\" ) );\r\n\t\t}\r\n\r\n\t\ttarget.data( \"ui-tooltip-open\", true );\r\n\r\n\t\t// kill parent tooltips, custom or native, for hover\r\n\t\tif ( event && event.type === \"mouseover\" ) {\r\n\t\t\ttarget.parents().each(function() {\r\n\t\t\t\tvar parent = $( this ),\r\n\t\t\t\t\tblurEvent;\r\n\t\t\t\tif ( parent.data( \"ui-tooltip-open\" ) ) {\r\n\t\t\t\t\tblurEvent = $.Event( \"blur\" );\r\n\t\t\t\t\tblurEvent.target = blurEvent.currentTarget = this;\r\n\t\t\t\t\tthat.close( blurEvent, true );\r\n\t\t\t\t}\r\n\t\t\t\tif ( parent.attr( \"title\" ) ) {\r\n\t\t\t\t\tparent.uniqueId();\r\n\t\t\t\t\tthat.parents[ this.id ] = {\r\n\t\t\t\t\t\telement: this,\r\n\t\t\t\t\t\ttitle: parent.attr( \"title\" )\r\n\t\t\t\t\t};\r\n\t\t\t\t\tparent.attr( \"title\", \"\" );\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tthis._registerCloseHandlers( event, target );\r\n\t\tthis._updateContent( target, event );\r\n\t},\r\n\r\n\t_updateContent: function( target, event ) {\r\n\t\tvar content,\r\n\t\t\tcontentOption = this.options.content,\r\n\t\t\tthat = this,\r\n\t\t\teventType = event ? event.type : null;\r\n\r\n\t\tif ( typeof contentOption === \"string\" ) {\r\n\t\t\treturn this._open( event, target, contentOption );\r\n\t\t}\r\n\r\n\t\tcontent = contentOption.call( target[0], function( response ) {\r\n\r\n\t\t\t// IE may instantly serve a cached response for ajax requests\r\n\t\t\t// delay this call to _open so the other call to _open runs first\r\n\t\t\tthat._delay(function() {\r\n\r\n\t\t\t\t// Ignore async response if tooltip was closed already\r\n\t\t\t\tif ( !target.data( \"ui-tooltip-open\" ) ) {\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// jQuery creates a special event for focusin when it doesn't\r\n\t\t\t\t// exist natively. To improve performance, the native event\r\n\t\t\t\t// object is reused and the type is changed. Therefore, we can't\r\n\t\t\t\t// rely on the type being correct after the event finished\r\n\t\t\t\t// bubbling, so we set it back to the previous value. (#8740)\r\n\t\t\t\tif ( event ) {\r\n\t\t\t\t\tevent.type = eventType;\r\n\t\t\t\t}\r\n\t\t\t\tthis._open( event, target, response );\r\n\t\t\t});\r\n\t\t});\r\n\t\tif ( content ) {\r\n\t\t\tthis._open( event, target, content );\r\n\t\t}\r\n\t},\r\n\r\n\t_open: function( event, target, content ) {\r\n\t\tvar tooltipData, tooltip, delayedShow, a11yContent,\r\n\t\t\tpositionOption = $.extend( {}, this.options.position );\r\n\r\n\t\tif ( !content ) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\t// Content can be updated multiple times. If the tooltip already\r\n\t\t// exists, then just update the content and bail.\r\n\t\ttooltipData = this._find( target );\r\n\t\tif ( tooltipData ) {\r\n\t\t\ttooltipData.tooltip.find( \".ui-tooltip-content\" ).html( content );\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\t// if we have a title, clear it to prevent the native tooltip\r\n\t\t// we have to check first to avoid defining a title if none exists\r\n\t\t// (we don't want to cause an element to start matching [title])\r\n\t\t//\r\n\t\t// We use removeAttr only for key events, to allow IE to export the correct\r\n\t\t// accessible attributes. For mouse events, set to empty string to avoid\r\n\t\t// native tooltip showing up (happens only when removing inside mouseover).\r\n\t\tif ( target.is( \"[title]\" ) ) {\r\n\t\t\tif ( event && event.type === \"mouseover\" ) {\r\n\t\t\t\ttarget.attr( \"title\", \"\" );\r\n\t\t\t} else {\r\n\t\t\t\ttarget.removeAttr( \"title\" );\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\ttooltipData = this._tooltip( target );\r\n\t\ttooltip = tooltipData.tooltip;\r\n\t\tthis._addDescribedBy( target, tooltip.attr( \"id\" ) );\r\n\t\ttooltip.find( \".ui-tooltip-content\" ).html( content );\r\n\r\n\t\t// Support: Voiceover on OS X, JAWS on IE <= 9\r\n\t\t// JAWS announces deletions even when aria-relevant=\"additions\"\r\n\t\t// Voiceover will sometimes re-read the entire log region's contents from the beginning\r\n\t\tthis.liveRegion.children().hide();\r\n\t\tif ( content.clone ) {\r\n\t\t\ta11yContent = content.clone();\r\n\t\t\ta11yContent.removeAttr( \"id\" ).find( \"[id]\" ).removeAttr( \"id\" );\r\n\t\t} else {\r\n\t\t\ta11yContent = content;\r\n\t\t}\r\n\t\t$( \"<div>\" ).html( a11yContent ).appendTo( this.liveRegion );\r\n\r\n\t\tfunction position( event ) {\r\n\t\t\tpositionOption.of = event;\r\n\t\t\tif ( tooltip.is( \":hidden\" ) ) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\ttooltip.position( positionOption );\r\n\t\t}\r\n\t\tif ( this.options.track && event && /^mouse/.test( event.type ) ) {\r\n\t\t\tthis._on( this.document, {\r\n\t\t\t\tmousemove: position\r\n\t\t\t});\r\n\t\t\t// trigger once to override element-relative positioning\r\n\t\t\tposition( event );\r\n\t\t} else {\r\n\t\t\ttooltip.position( $.extend({\r\n\t\t\t\tof: target\r\n\t\t\t}, this.options.position ) );\r\n\t\t}\r\n\r\n\t\ttooltip.hide();\r\n\r\n\t\tthis._show( tooltip, this.options.show );\r\n\t\t// Handle tracking tooltips that are shown with a delay (#8644). As soon\r\n\t\t// as the tooltip is visible, position the tooltip using the most recent\r\n\t\t// event.\r\n\t\tif ( this.options.show && this.options.show.delay ) {\r\n\t\t\tdelayedShow = this.delayedShow = setInterval(function() {\r\n\t\t\t\tif ( tooltip.is( \":visible\" ) ) {\r\n\t\t\t\t\tposition( positionOption.of );\r\n\t\t\t\t\tclearInterval( delayedShow );\r\n\t\t\t\t}\r\n\t\t\t}, $.fx.interval );\r\n\t\t}\r\n\r\n\t\tthis._trigger( \"open\", event, { tooltip: tooltip } );\r\n\t},\r\n\r\n\t_registerCloseHandlers: function( event, target ) {\r\n\t\tvar events = {\r\n\t\t\tkeyup: function( event ) {\r\n\t\t\t\tif ( event.keyCode === $.ui.keyCode.ESCAPE ) {\r\n\t\t\t\t\tvar fakeEvent = $.Event(event);\r\n\t\t\t\t\tfakeEvent.currentTarget = target[0];\r\n\t\t\t\t\tthis.close( fakeEvent, true );\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\t// Only bind remove handler for delegated targets. Non-delegated\r\n\t\t// tooltips will handle this in destroy.\r\n\t\tif ( target[ 0 ] !== this.element[ 0 ] ) {\r\n\t\t\tevents.remove = function() {\r\n\t\t\t\tthis._removeTooltip( this._find( target ).tooltip );\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tif ( !event || event.type === \"mouseover\" ) {\r\n\t\t\tevents.mouseleave = \"close\";\r\n\t\t}\r\n\t\tif ( !event || event.type === \"focusin\" ) {\r\n\t\t\tevents.focusout = \"close\";\r\n\t\t}\r\n\t\tthis._on( true, target, events );\r\n\t},\r\n\r\n\tclose: function( event ) {\r\n\t\tvar tooltip,\r\n\t\t\tthat = this,\r\n\t\t\ttarget = $( event ? event.currentTarget : this.element ),\r\n\t\t\ttooltipData = this._find( target );\r\n\r\n\t\t// The tooltip may already be closed\r\n\t\tif ( !tooltipData ) {\r\n\r\n\t\t\t// We set ui-tooltip-open immediately upon open (in open()), but only set the\r\n\t\t\t// additional data once there's actually content to show (in _open()). So even if the\r\n\t\t\t// tooltip doesn't have full data, we always remove ui-tooltip-open in case we're in\r\n\t\t\t// the period between open() and _open().\r\n\t\t\ttarget.removeData( \"ui-tooltip-open\" );\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\ttooltip = tooltipData.tooltip;\r\n\r\n\t\t// disabling closes the tooltip, so we need to track when we're closing\r\n\t\t// to avoid an infinite loop in case the tooltip becomes disabled on close\r\n\t\tif ( tooltipData.closing ) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\t// Clear the interval for delayed tracking tooltips\r\n\t\tclearInterval( this.delayedShow );\r\n\r\n\t\t// only set title if we had one before (see comment in _open())\r\n\t\t// If the title attribute has changed since open(), don't restore\r\n\t\tif ( target.data( \"ui-tooltip-title\" ) && !target.attr( \"title\" ) ) {\r\n\t\t\ttarget.attr( \"title\", target.data( \"ui-tooltip-title\" ) );\r\n\t\t}\r\n\r\n\t\tthis._removeDescribedBy( target );\r\n\r\n\t\ttooltipData.hiding = true;\r\n\t\ttooltip.stop( true );\r\n\t\tthis._hide( tooltip, this.options.hide, function() {\r\n\t\t\tthat._removeTooltip( $( this ) );\r\n\t\t});\r\n\r\n\t\ttarget.removeData( \"ui-tooltip-open\" );\r\n\t\tthis._off( target, \"mouseleave focusout keyup\" );\r\n\r\n\t\t// Remove 'remove' binding only on delegated targets\r\n\t\tif ( target[ 0 ] !== this.element[ 0 ] ) {\r\n\t\t\tthis._off( target, \"remove\" );\r\n\t\t}\r\n\t\tthis._off( this.document, \"mousemove\" );\r\n\r\n\t\tif ( event && event.type === \"mouseleave\" ) {\r\n\t\t\t$.each( this.parents, function( id, parent ) {\r\n\t\t\t\t$( parent.element ).attr( \"title\", parent.title );\r\n\t\t\t\tdelete that.parents[ id ];\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\ttooltipData.closing = true;\r\n\t\tthis._trigger( \"close\", event, { tooltip: tooltip } );\r\n\t\tif ( !tooltipData.hiding ) {\r\n\t\t\ttooltipData.closing = false;\r\n\t\t}\r\n\t},\r\n\r\n\t_tooltip: function( element ) {\r\n\t\tvar tooltip = $( \"<div>\" )\r\n\t\t\t\t.attr( \"role\", \"tooltip\" )\r\n\t\t\t\t.addClass( \"ui-tooltip ui-widget ui-corner-all ui-widget-content \" +\r\n\t\t\t\t\t( this.options.tooltipClass || \"\" ) ),\r\n\t\t\tid = tooltip.uniqueId().attr( \"id\" );\r\n\r\n\t\t$( \"<div>\" )\r\n\t\t\t.addClass( \"ui-tooltip-content\" )\r\n\t\t\t.appendTo( tooltip );\r\n\r\n\t\ttooltip.appendTo( this.document[0].body );\r\n\r\n\t\treturn this.tooltips[ id ] = {\r\n\t\t\telement: element,\r\n\t\t\ttooltip: tooltip\r\n\t\t};\r\n\t},\r\n\r\n\t_find: function( target ) {\r\n\t\tvar id = target.data( \"ui-tooltip-id\" );\r\n\t\treturn id ? this.tooltips[ id ] : null;\r\n\t},\r\n\r\n\t_removeTooltip: function( tooltip ) {\r\n\t\ttooltip.remove();\r\n\t\tdelete this.tooltips[ tooltip.attr( \"id\" ) ];\r\n\t},\r\n\r\n\t_destroy: function() {\r\n\t\tvar that = this;\r\n\r\n\t\t// close open tooltips\r\n\t\t$.each( this.tooltips, function( id, tooltipData ) {\r\n\t\t\t// Delegate to close method to handle common cleanup\r\n\t\t\tvar event = $.Event( \"blur\" ),\r\n\t\t\t\telement = tooltipData.element;\r\n\t\t\tevent.target = event.currentTarget = element[ 0 ];\r\n\t\t\tthat.close( event, true );\r\n\r\n\t\t\t// Remove immediately; destroying an open tooltip doesn't use the\r\n\t\t\t// hide animation\r\n\t\t\t$( \"#\" + id ).remove();\r\n\r\n\t\t\t// Restore the title\r\n\t\t\tif ( element.data( \"ui-tooltip-title\" ) ) {\r\n\t\t\t\t// If the title attribute has changed since open(), don't restore\r\n\t\t\t\tif ( !element.attr( \"title\" ) ) {\r\n\t\t\t\t\telement.attr( \"title\", element.data( \"ui-tooltip-title\" ) );\r\n\t\t\t\t}\r\n\t\t\t\telement.removeData( \"ui-tooltip-title\" );\r\n\t\t\t}\r\n\t\t});\r\n\t\tthis.liveRegion.remove();\r\n\t}\r\n});\r\n\r\n\r\n\r\n}));","/*! jQuery UI - v1.11.4 - 2015-03-11\r\n* http://jqueryui.com\r\n* Includes: core.js, widget.js, mouse.js, position.js, accordion.js, autocomplete.js, button.js, datepicker.js, dialog.js, draggable.js, droppable.js, effect.js, effect-blind.js, effect-bounce.js, effect-clip.js, effect-drop.js, effect-explode.js, effect-fade.js, effect-fold.js, effect-highlight.js, effect-puff.js, effect-pulsate.js, effect-scale.js, effect-shake.js, effect-size.js, effect-slide.js, effect-transfer.js, menu.js, progressbar.js, resizable.js, selectable.js, selectmenu.js, slider.js, sortable.js, spinner.js, tabs.js, tooltip.js\r\n* Copyright 2015 jQuery Foundation and other contributors; Licensed MIT */\r\n\r\n(function(e){\"function\"==typeof define&&define.amd?define([\"jquery\"],e):e(jQuery)})(function(e){function t(t,s){var n,a,o,r=t.nodeName.toLowerCase();return\"area\"===r?(n=t.parentNode,a=n.name,t.href&&a&&\"map\"===n.nodeName.toLowerCase()?(o=e(\"img[usemap='#\"+a+\"']\")[0],!!o&&i(o)):!1):(/^(input|select|textarea|button|object)$/.test(r)?!t.disabled:\"a\"===r?t.href||s:s)&&i(t)}function i(t){return e.expr.filters.visible(t)&&!e(t).parents().addBack().filter(function(){return\"hidden\"===e.css(this,\"visibility\")}).length}function s(e){for(var t,i;e.length&&e[0]!==document;){if(t=e.css(\"position\"),(\"absolute\"===t||\"relative\"===t||\"fixed\"===t)&&(i=parseInt(e.css(\"zIndex\"),10),!isNaN(i)&&0!==i))return i;e=e.parent()}return 0}function n(){this._curInst=null,this._keyEvent=!1,this._disabledInputs=[],this._datepickerShowing=!1,this._inDialog=!1,this._mainDivId=\"ui-datepicker-div\",this._inlineClass=\"ui-datepicker-inline\",this._appendClass=\"ui-datepicker-append\",this._triggerClass=\"ui-datepicker-trigger\",this._dialogClass=\"ui-datepicker-dialog\",this._disableClass=\"ui-datepicker-disabled\",this._unselectableClass=\"ui-datepicker-unselectable\",this._currentClass=\"ui-datepicker-current-day\",this._dayOverClass=\"ui-datepicker-days-cell-over\",this.regional=[],this.regional[\"\"]={closeText:\"Done\",prevText:\"Prev\",nextText:\"Next\",currentText:\"Today\",monthNames:[\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"],monthNamesShort:[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"],dayNames:[\"Sunday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"],dayNamesShort:[\"Sun\",\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\"],dayNamesMin:[\"Su\",\"Mo\",\"Tu\",\"We\",\"Th\",\"Fr\",\"Sa\"],weekHeader:\"Wk\",dateFormat:\"mm/dd/yy\",firstDay:0,isRTL:!1,showMonthAfterYear:!1,yearSuffix:\"\"},this._defaults={showOn:\"focus\",showAnim:\"fadeIn\",showOptions:{},defaultDate:null,appendText:\"\",buttonText:\"...\",buttonImage:\"\",buttonImageOnly:!1,hideIfNoPrevNext:!1,navigationAsDateFormat:!1,gotoCurrent:!1,changeMonth:!1,changeYear:!1,yearRange:\"c-10:c+10\",showOtherMonths:!1,selectOtherMonths:!1,showWeek:!1,calculateWeek:this.iso8601Week,shortYearCutoff:\"+10\",minDate:null,maxDate:null,duration:\"fast\",beforeShowDay:null,beforeShow:null,onSelect:null,onChangeMonthYear:null,onClose:null,numberOfMonths:1,showCurrentAtPos:0,stepMonths:1,stepBigMonths:12,altField:\"\",altFormat:\"\",constrainInput:!0,showButtonPanel:!1,autoSize:!1,disabled:!1},e.extend(this._defaults,this.regional[\"\"]),this.regional.en=e.extend(!0,{},this.regional[\"\"]),this.regional[\"en-US\"]=e.extend(!0,{},this.regional.en),this.dpDiv=a(e(\"<div id='\"+this._mainDivId+\"' class='ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all'></div>\"))}function a(t){var i=\"button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a\";return t.delegate(i,\"mouseout\",function(){e(this).removeClass(\"ui-state-hover\"),-1!==this.className.indexOf(\"ui-datepicker-prev\")&&e(this).removeClass(\"ui-datepicker-prev-hover\"),-1!==this.className.indexOf(\"ui-datepicker-next\")&&e(this).removeClass(\"ui-datepicker-next-hover\")}).delegate(i,\"mouseover\",o)}function o(){e.datepicker._isDisabledDatepicker(v.inline?v.dpDiv.parent()[0]:v.input[0])||(e(this).parents(\".ui-datepicker-calendar\").find(\"a\").removeClass(\"ui-state-hover\"),e(this).addClass(\"ui-state-hover\"),-1!==this.className.indexOf(\"ui-datepicker-prev\")&&e(this).addClass(\"ui-datepicker-prev-hover\"),-1!==this.className.indexOf(\"ui-datepicker-next\")&&e(this).addClass(\"ui-datepicker-next-hover\"))}function r(t,i){e.extend(t,i);for(var s in i)null==i[s]&&(t[s]=i[s]);return t}function h(e){return function(){var t=this.element.val();e.apply(this,arguments),this._refresh(),t!==this.element.val()&&this._trigger(\"change\")}}e.ui=e.ui||{},e.extend(e.ui,{version:\"1.11.4\",keyCode:{BACKSPACE:8,COMMA:188,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,LEFT:37,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SPACE:32,TAB:9,UP:38}}),e.fn.extend({scrollParent:function(t){var i=this.css(\"position\"),s=\"absolute\"===i,n=t?/(auto|scroll|hidden)/:/(auto|scroll)/,a=this.parents().filter(function(){var t=e(this);return s&&\"static\"===t.css(\"position\")?!1:n.test(t.css(\"overflow\")+t.css(\"overflow-y\")+t.css(\"overflow-x\"))}).eq(0);return\"fixed\"!==i&&a.length?a:e(this[0].ownerDocument||document)},uniqueId:function(){var e=0;return function(){return this.each(function(){this.id||(this.id=\"ui-id-\"+ ++e)})}}(),removeUniqueId:function(){return this.each(function(){/^ui-id-\\d+$/.test(this.id)&&e(this).removeAttr(\"id\")})}}),e.extend(e.expr[\":\"],{data:e.expr.createPseudo?e.expr.createPseudo(function(t){return function(i){return!!e.data(i,t)}}):function(t,i,s){return!!e.data(t,s[3])},focusable:function(i){return t(i,!isNaN(e.attr(i,\"tabindex\")))},tabbable:function(i){var s=e.attr(i,\"tabindex\"),n=isNaN(s);return(n||s>=0)&&t(i,!n)}}),e(\"<a>\").outerWidth(1).jquery||e.each([\"Width\",\"Height\"],function(t,i){function s(t,i,s,a){return e.each(n,function(){i-=parseFloat(e.css(t,\"padding\"+this))||0,s&&(i-=parseFloat(e.css(t,\"border\"+this+\"Width\"))||0),a&&(i-=parseFloat(e.css(t,\"margin\"+this))||0)}),i}var n=\"Width\"===i?[\"Left\",\"Right\"]:[\"Top\",\"Bottom\"],a=i.toLowerCase(),o={innerWidth:e.fn.innerWidth,innerHeight:e.fn.innerHeight,outerWidth:e.fn.outerWidth,outerHeight:e.fn.outerHeight};e.fn[\"inner\"+i]=function(t){return void 0===t?o[\"inner\"+i].call(this):this.each(function(){e(this).css(a,s(this,t)+\"px\")})},e.fn[\"outer\"+i]=function(t,n){return\"number\"!=typeof t?o[\"outer\"+i].call(this,t):this.each(function(){e(this).css(a,s(this,t,!0,n)+\"px\")})}}),e.fn.addBack||(e.fn.addBack=function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}),e(\"<a>\").data(\"a-b\",\"a\").removeData(\"a-b\").data(\"a-b\")&&(e.fn.removeData=function(t){return function(i){return arguments.length?t.call(this,e.camelCase(i)):t.call(this)}}(e.fn.removeData)),e.ui.ie=!!/msie [\\w.]+/.exec(navigator.userAgent.toLowerCase()),e.fn.extend({focus:function(t){return function(i,s){return\"number\"==typeof i?this.each(function(){var t=this;setTimeout(function(){e(t).focus(),s&&s.call(t)},i)}):t.apply(this,arguments)}}(e.fn.focus),disableSelection:function(){var e=\"onselectstart\"in document.createElement(\"div\")?\"selectstart\":\"mousedown\";return function(){return this.bind(e+\".ui-disableSelection\",function(e){e.preventDefault()})}}(),enableSelection:function(){return this.unbind(\".ui-disableSelection\")},zIndex:function(t){if(void 0!==t)return this.css(\"zIndex\",t);if(this.length)for(var i,s,n=e(this[0]);n.length&&n[0]!==document;){if(i=n.css(\"position\"),(\"absolute\"===i||\"relative\"===i||\"fixed\"===i)&&(s=parseInt(n.css(\"zIndex\"),10),!isNaN(s)&&0!==s))return s;n=n.parent()}return 0}}),e.ui.plugin={add:function(t,i,s){var n,a=e.ui[t].prototype;for(n in s)a.plugins[n]=a.plugins[n]||[],a.plugins[n].push([i,s[n]])},call:function(e,t,i,s){var n,a=e.plugins[t];if(a&&(s||e.element[0].parentNode&&11!==e.element[0].parentNode.nodeType))for(n=0;a.length>n;n++)e.options[a[n][0]]&&a[n][1].apply(e.element,i)}};var l=0,u=Array.prototype.slice;e.cleanData=function(t){return function(i){var s,n,a;for(a=0;null!=(n=i[a]);a++)try{s=e._data(n,\"events\"),s&&s.remove&&e(n).triggerHandler(\"remove\")}catch(o){}t(i)}}(e.cleanData),e.widget=function(t,i,s){var n,a,o,r,h={},l=t.split(\".\")[0];return t=t.split(\".\")[1],n=l+\"-\"+t,s||(s=i,i=e.Widget),e.expr[\":\"][n.toLowerCase()]=function(t){return!!e.data(t,n)},e[l]=e[l]||{},a=e[l][t],o=e[l][t]=function(e,t){return this._createWidget?(arguments.length&&this._createWidget(e,t),void 0):new o(e,t)},e.extend(o,a,{version:s.version,_proto:e.extend({},s),_childConstructors:[]}),r=new i,r.options=e.widget.extend({},r.options),e.each(s,function(t,s){return e.isFunction(s)?(h[t]=function(){var e=function(){return i.prototype[t].apply(this,arguments)},n=function(e){return i.prototype[t].apply(this,e)};return function(){var t,i=this._super,a=this._superApply;return this._super=e,this._superApply=n,t=s.apply(this,arguments),this._super=i,this._superApply=a,t}}(),void 0):(h[t]=s,void 0)}),o.prototype=e.widget.extend(r,{widgetEventPrefix:a?r.widgetEventPrefix||t:t},h,{constructor:o,namespace:l,widgetName:t,widgetFullName:n}),a?(e.each(a._childConstructors,function(t,i){var s=i.prototype;e.widget(s.namespace+\".\"+s.widgetName,o,i._proto)}),delete a._childConstructors):i._childConstructors.push(o),e.widget.bridge(t,o),o},e.widget.extend=function(t){for(var i,s,n=u.call(arguments,1),a=0,o=n.length;o>a;a++)for(i in n[a])s=n[a][i],n[a].hasOwnProperty(i)&&void 0!==s&&(t[i]=e.isPlainObject(s)?e.isPlainObject(t[i])?e.widget.extend({},t[i],s):e.widget.extend({},s):s);return t},e.widget.bridge=function(t,i){var s=i.prototype.widgetFullName||t;e.fn[t]=function(n){var a=\"string\"==typeof n,o=u.call(arguments,1),r=this;return a?this.each(function(){var i,a=e.data(this,s);return\"instance\"===n?(r=a,!1):a?e.isFunction(a[n])&&\"_\"!==n.charAt(0)?(i=a[n].apply(a,o),i!==a&&void 0!==i?(r=i&&i.jquery?r.pushStack(i.get()):i,!1):void 0):e.error(\"no such method '\"+n+\"' for \"+t+\" widget instance\"):e.error(\"cannot call methods on \"+t+\" prior to initialization; \"+\"attempted to call method '\"+n+\"'\")}):(o.length&&(n=e.widget.extend.apply(null,[n].concat(o))),this.each(function(){var t=e.data(this,s);t?(t.option(n||{}),t._init&&t._init()):e.data(this,s,new i(n,this))})),r}},e.Widget=function(){},e.Widget._childConstructors=[],e.Widget.prototype={widgetName:\"widget\",widgetEventPrefix:\"\",defaultElement:\"<div>\",options:{disabled:!1,create:null},_createWidget:function(t,i){i=e(i||this.defaultElement||this)[0],this.element=e(i),this.uuid=l++,this.eventNamespace=\".\"+this.widgetName+this.uuid,this.bindings=e(),this.hoverable=e(),this.focusable=e(),i!==this&&(e.data(i,this.widgetFullName,this),this._on(!0,this.element,{remove:function(e){e.target===i&&this.destroy()}}),this.document=e(i.style?i.ownerDocument:i.document||i),this.window=e(this.document[0].defaultView||this.document[0].parentWindow)),this.options=e.widget.extend({},this.options,this._getCreateOptions(),t),this._create(),this._trigger(\"create\",null,this._getCreateEventData()),this._init()},_getCreateOptions:e.noop,_getCreateEventData:e.noop,_create:e.noop,_init:e.noop,destroy:function(){this._destroy(),this.element.unbind(this.eventNamespace).removeData(this.widgetFullName).removeData(e.camelCase(this.widgetFullName)),this.widget().unbind(this.eventNamespace).removeAttr(\"aria-disabled\").removeClass(this.widgetFullName+\"-disabled \"+\"ui-state-disabled\"),this.bindings.unbind(this.eventNamespace),this.hoverable.removeClass(\"ui-state-hover\"),this.focusable.removeClass(\"ui-state-focus\")},_destroy:e.noop,widget:function(){return this.element},option:function(t,i){var s,n,a,o=t;if(0===arguments.length)return e.widget.extend({},this.options);if(\"string\"==typeof t)if(o={},s=t.split(\".\"),t=s.shift(),s.length){for(n=o[t]=e.widget.extend({},this.options[t]),a=0;s.length-1>a;a++)n[s[a]]=n[s[a]]||{},n=n[s[a]];if(t=s.pop(),1===arguments.length)return void 0===n[t]?null:n[t];n[t]=i}else{if(1===arguments.length)return void 0===this.options[t]?null:this.options[t];o[t]=i}return this._setOptions(o),this},_setOptions:function(e){var t;for(t in e)this._setOption(t,e[t]);return this},_setOption:function(e,t){return this.options[e]=t,\"disabled\"===e&&(this.widget().toggleClass(this.widgetFullName+\"-disabled\",!!t),t&&(this.hoverable.removeClass(\"ui-state-hover\"),this.focusable.removeClass(\"ui-state-focus\"))),this},enable:function(){return this._setOptions({disabled:!1})},disable:function(){return this._setOptions({disabled:!0})},_on:function(t,i,s){var n,a=this;\"boolean\"!=typeof t&&(s=i,i=t,t=!1),s?(i=n=e(i),this.bindings=this.bindings.add(i)):(s=i,i=this.element,n=this.widget()),e.each(s,function(s,o){function r(){return t||a.options.disabled!==!0&&!e(this).hasClass(\"ui-state-disabled\")?(\"string\"==typeof o?a[o]:o).apply(a,arguments):void 0}\"string\"!=typeof o&&(r.guid=o.guid=o.guid||r.guid||e.guid++);var h=s.match(/^([\\w:-]*)\\s*(.*)$/),l=h[1]+a.eventNamespace,u=h[2];u?n.delegate(u,l,r):i.bind(l,r)})},_off:function(t,i){i=(i||\"\").split(\" \").join(this.eventNamespace+\" \")+this.eventNamespace,t.unbind(i).undelegate(i),this.bindings=e(this.bindings.not(t).get()),this.focusable=e(this.focusable.not(t).get()),this.hoverable=e(this.hoverable.not(t).get())},_delay:function(e,t){function i(){return(\"string\"==typeof e?s[e]:e).apply(s,arguments)}var s=this;return setTimeout(i,t||0)},_hoverable:function(t){this.hoverable=this.hoverable.add(t),this._on(t,{mouseenter:function(t){e(t.currentTarget).addClass(\"ui-state-hover\")},mouseleave:function(t){e(t.currentTarget).removeClass(\"ui-state-hover\")}})},_focusable:function(t){this.focusable=this.focusable.add(t),this._on(t,{focusin:function(t){e(t.currentTarget).addClass(\"ui-state-focus\")},focusout:function(t){e(t.currentTarget).removeClass(\"ui-state-focus\")}})},_trigger:function(t,i,s){var n,a,o=this.options[t];if(s=s||{},i=e.Event(i),i.type=(t===this.widgetEventPrefix?t:this.widgetEventPrefix+t).toLowerCase(),i.target=this.element[0],a=i.originalEvent)for(n in a)n in i||(i[n]=a[n]);return this.element.trigger(i,s),!(e.isFunction(o)&&o.apply(this.element[0],[i].concat(s))===!1||i.isDefaultPrevented())}},e.each({show:\"fadeIn\",hide:\"fadeOut\"},function(t,i){e.Widget.prototype[\"_\"+t]=function(s,n,a){\"string\"==typeof n&&(n={effect:n});var o,r=n?n===!0||\"number\"==typeof n?i:n.effect||i:t;n=n||{},\"number\"==typeof n&&(n={duration:n}),o=!e.isEmptyObject(n),n.complete=a,n.delay&&s.delay(n.delay),o&&e.effects&&e.effects.effect[r]?s[t](n):r!==t&&s[r]?s[r](n.duration,n.easing,a):s.queue(function(i){e(this)[t](),a&&a.call(s[0]),i()})}}),e.widget;var d=!1;e(document).mouseup(function(){d=!1}),e.widget(\"ui.mouse\",{version:\"1.11.4\",options:{cancel:\"input,textarea,button,select,option\",distance:1,delay:0},_mouseInit:function(){var t=this;this.element.bind(\"mousedown.\"+this.widgetName,function(e){return t._mouseDown(e)}).bind(\"click.\"+this.widgetName,function(i){return!0===e.data(i.target,t.widgetName+\".preventClickEvent\")?(e.removeData(i.target,t.widgetName+\".preventClickEvent\"),i.stopImmediatePropagation(),!1):void 0}),this.started=!1},_mouseDestroy:function(){this.element.unbind(\".\"+this.widgetName),this._mouseMoveDelegate&&this.document.unbind(\"mousemove.\"+this.widgetName,this._mouseMoveDelegate).unbind(\"mouseup.\"+this.widgetName,this._mouseUpDelegate)},_mouseDown:function(t){if(!d){this._mouseMoved=!1,this._mouseStarted&&this._mouseUp(t),this._mouseDownEvent=t;var i=this,s=1===t.which,n=\"string\"==typeof this.options.cancel&&t.target.nodeName?e(t.target).closest(this.options.cancel).length:!1;return s&&!n&&this._mouseCapture(t)?(this.mouseDelayMet=!this.options.delay,this.mouseDelayMet||(this._mouseDelayTimer=setTimeout(function(){i.mouseDelayMet=!0},this.options.delay)),this._mouseDistanceMet(t)&&this._mouseDelayMet(t)&&(this._mouseStarted=this._mouseStart(t)!==!1,!this._mouseStarted)?(t.preventDefault(),!0):(!0===e.data(t.target,this.widgetName+\".preventClickEvent\")&&e.removeData(t.target,this.widgetName+\".preventClickEvent\"),this._mouseMoveDelegate=function(e){return i._mouseMove(e)},this._mouseUpDelegate=function(e){return i._mouseUp(e)},this.document.bind(\"mousemove.\"+this.widgetName,this._mouseMoveDelegate).bind(\"mouseup.\"+this.widgetName,this._mouseUpDelegate),t.preventDefault(),d=!0,!0)):!0}},_mouseMove:function(t){if(this._mouseMoved){if(e.ui.ie&&(!document.documentMode||9>document.documentMode)&&!t.button)return this._mouseUp(t);if(!t.which)return this._mouseUp(t)}return(t.which||t.button)&&(this._mouseMoved=!0),this._mouseStarted?(this._mouseDrag(t),t.preventDefault()):(this._mouseDistanceMet(t)&&this._mouseDelayMet(t)&&(this._mouseStarted=this._mouseStart(this._mouseDownEvent,t)!==!1,this._mouseStarted?this._mouseDrag(t):this._mouseUp(t)),!this._mouseStarted)},_mouseUp:function(t){return this.document.unbind(\"mousemove.\"+this.widgetName,this._mouseMoveDelegate).unbind(\"mouseup.\"+this.widgetName,this._mouseUpDelegate),this._mouseStarted&&(this._mouseStarted=!1,t.target===this._mouseDownEvent.target&&e.data(t.target,this.widgetName+\".preventClickEvent\",!0),this._mouseStop(t)),d=!1,!1},_mouseDistanceMet:function(e){return Math.max(Math.abs(this._mouseDownEvent.pageX-e.pageX),Math.abs(this._mouseDownEvent.pageY-e.pageY))>=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return!0}}),function(){function t(e,t,i){return[parseFloat(e[0])*(p.test(e[0])?t/100:1),parseFloat(e[1])*(p.test(e[1])?i/100:1)]}function i(t,i){return parseInt(e.css(t,i),10)||0}function s(t){var i=t[0];return 9===i.nodeType?{width:t.width(),height:t.height(),offset:{top:0,left:0}}:e.isWindow(i)?{width:t.width(),height:t.height(),offset:{top:t.scrollTop(),left:t.scrollLeft()}}:i.preventDefault?{width:0,height:0,offset:{top:i.pageY,left:i.pageX}}:{width:t.outerWidth(),height:t.outerHeight(),offset:t.offset()}}e.ui=e.ui||{};var n,a,o=Math.max,r=Math.abs,h=Math.round,l=/left|center|right/,u=/top|center|bottom/,d=/[\\+\\-]\\d+(\\.[\\d]+)?%?/,c=/^\\w+/,p=/%$/,f=e.fn.position;e.position={scrollbarWidth:function(){if(void 0!==n)return n;var t,i,s=e(\"<div style='display:block;position:absolute;width:50px;height:50px;overflow:hidden;'><div style='height:100px;width:auto;'></div></div>\"),a=s.children()[0];return e(\"body\").append(s),t=a.offsetWidth,s.css(\"overflow\",\"scroll\"),i=a.offsetWidth,t===i&&(i=s[0].clientWidth),s.remove(),n=t-i},getScrollInfo:function(t){var i=t.isWindow||t.isDocument?\"\":t.element.css(\"overflow-x\"),s=t.isWindow||t.isDocument?\"\":t.element.css(\"overflow-y\"),n=\"scroll\"===i||\"auto\"===i&&t.width<t.element[0].scrollWidth,a=\"scroll\"===s||\"auto\"===s&&t.height<t.element[0].scrollHeight;return{width:a?e.position.scrollbarWidth():0,height:n?e.position.scrollbarWidth():0}},getWithinInfo:function(t){var i=e(t||window),s=e.isWindow(i[0]),n=!!i[0]&&9===i[0].nodeType;return{element:i,isWindow:s,isDocument:n,offset:i.offset()||{left:0,top:0},scrollLeft:i.scrollLeft(),scrollTop:i.scrollTop(),width:s||n?i.width():i.outerWidth(),height:s||n?i.height():i.outerHeight()}}},e.fn.position=function(n){if(!n||!n.of)return f.apply(this,arguments);n=e.extend({},n);var p,m,g,v,y,b,_=e(n.of),x=e.position.getWithinInfo(n.within),w=e.position.getScrollInfo(x),k=(n.collision||\"flip\").split(\" \"),T={};return b=s(_),_[0].preventDefault&&(n.at=\"left top\"),m=b.width,g=b.height,v=b.offset,y=e.extend({},v),e.each([\"my\",\"at\"],function(){var e,t,i=(n[this]||\"\").split(\" \");1===i.length&&(i=l.test(i[0])?i.concat([\"center\"]):u.test(i[0])?[\"center\"].concat(i):[\"center\",\"center\"]),i[0]=l.test(i[0])?i[0]:\"center\",i[1]=u.test(i[1])?i[1]:\"center\",e=d.exec(i[0]),t=d.exec(i[1]),T[this]=[e?e[0]:0,t?t[0]:0],n[this]=[c.exec(i[0])[0],c.exec(i[1])[0]]}),1===k.length&&(k[1]=k[0]),\"right\"===n.at[0]?y.left+=m:\"center\"===n.at[0]&&(y.left+=m/2),\"bottom\"===n.at[1]?y.top+=g:\"center\"===n.at[1]&&(y.top+=g/2),p=t(T.at,m,g),y.left+=p[0],y.top+=p[1],this.each(function(){var s,l,u=e(this),d=u.outerWidth(),c=u.outerHeight(),f=i(this,\"marginLeft\"),b=i(this,\"marginTop\"),D=d+f+i(this,\"marginRight\")+w.width,S=c+b+i(this,\"marginBottom\")+w.height,M=e.extend({},y),C=t(T.my,u.outerWidth(),u.outerHeight());\"right\"===n.my[0]?M.left-=d:\"center\"===n.my[0]&&(M.left-=d/2),\"bottom\"===n.my[1]?M.top-=c:\"center\"===n.my[1]&&(M.top-=c/2),M.left+=C[0],M.top+=C[1],a||(M.left=h(M.left),M.top=h(M.top)),s={marginLeft:f,marginTop:b},e.each([\"left\",\"top\"],function(t,i){e.ui.position[k[t]]&&e.ui.position[k[t]][i](M,{targetWidth:m,targetHeight:g,elemWidth:d,elemHeight:c,collisionPosition:s,collisionWidth:D,collisionHeight:S,offset:[p[0]+C[0],p[1]+C[1]],my:n.my,at:n.at,within:x,elem:u})}),n.using&&(l=function(e){var t=v.left-M.left,i=t+m-d,s=v.top-M.top,a=s+g-c,h={target:{element:_,left:v.left,top:v.top,width:m,height:g},element:{element:u,left:M.left,top:M.top,width:d,height:c},horizontal:0>i?\"left\":t>0?\"right\":\"center\",vertical:0>a?\"top\":s>0?\"bottom\":\"middle\"};d>m&&m>r(t+i)&&(h.horizontal=\"center\"),c>g&&g>r(s+a)&&(h.vertical=\"middle\"),h.important=o(r(t),r(i))>o(r(s),r(a))?\"horizontal\":\"vertical\",n.using.call(this,e,h)}),u.offset(e.extend(M,{using:l}))})},e.ui.position={fit:{left:function(e,t){var i,s=t.within,n=s.isWindow?s.scrollLeft:s.offset.left,a=s.width,r=e.left-t.collisionPosition.marginLeft,h=n-r,l=r+t.collisionWidth-a-n;t.collisionWidth>a?h>0&&0>=l?(i=e.left+h+t.collisionWidth-a-n,e.left+=h-i):e.left=l>0&&0>=h?n:h>l?n+a-t.collisionWidth:n:h>0?e.left+=h:l>0?e.left-=l:e.left=o(e.left-r,e.left)},top:function(e,t){var i,s=t.within,n=s.isWindow?s.scrollTop:s.offset.top,a=t.within.height,r=e.top-t.collisionPosition.marginTop,h=n-r,l=r+t.collisionHeight-a-n;t.collisionHeight>a?h>0&&0>=l?(i=e.top+h+t.collisionHeight-a-n,e.top+=h-i):e.top=l>0&&0>=h?n:h>l?n+a-t.collisionHeight:n:h>0?e.top+=h:l>0?e.top-=l:e.top=o(e.top-r,e.top)}},flip:{left:function(e,t){var i,s,n=t.within,a=n.offset.left+n.scrollLeft,o=n.width,h=n.isWindow?n.scrollLeft:n.offset.left,l=e.left-t.collisionPosition.marginLeft,u=l-h,d=l+t.collisionWidth-o-h,c=\"left\"===t.my[0]?-t.elemWidth:\"right\"===t.my[0]?t.elemWidth:0,p=\"left\"===t.at[0]?t.targetWidth:\"right\"===t.at[0]?-t.targetWidth:0,f=-2*t.offset[0];0>u?(i=e.left+c+p+f+t.collisionWidth-o-a,(0>i||r(u)>i)&&(e.left+=c+p+f)):d>0&&(s=e.left-t.collisionPosition.marginLeft+c+p+f-h,(s>0||d>r(s))&&(e.left+=c+p+f))},top:function(e,t){var i,s,n=t.within,a=n.offset.top+n.scrollTop,o=n.height,h=n.isWindow?n.scrollTop:n.offset.top,l=e.top-t.collisionPosition.marginTop,u=l-h,d=l+t.collisionHeight-o-h,c=\"top\"===t.my[1],p=c?-t.elemHeight:\"bottom\"===t.my[1]?t.elemHeight:0,f=\"top\"===t.at[1]?t.targetHeight:\"bottom\"===t.at[1]?-t.targetHeight:0,m=-2*t.offset[1];0>u?(s=e.top+p+f+m+t.collisionHeight-o-a,(0>s||r(u)>s)&&(e.top+=p+f+m)):d>0&&(i=e.top-t.collisionPosition.marginTop+p+f+m-h,(i>0||d>r(i))&&(e.top+=p+f+m))}},flipfit:{left:function(){e.ui.position.flip.left.apply(this,arguments),e.ui.position.fit.left.apply(this,arguments)},top:function(){e.ui.position.flip.top.apply(this,arguments),e.ui.position.fit.top.apply(this,arguments)}}},function(){var t,i,s,n,o,r=document.getElementsByTagName(\"body\")[0],h=document.createElement(\"div\");t=document.createElement(r?\"div\":\"body\"),s={visibility:\"hidden\",width:0,height:0,border:0,margin:0,background:\"none\"},r&&e.extend(s,{position:\"absolute\",left:\"-1000px\",top:\"-1000px\"});for(o in s)t.style[o]=s[o];t.appendChild(h),i=r||document.documentElement,i.insertBefore(t,i.firstChild),h.style.cssText=\"position: absolute; left: 10.7432222px;\",n=e(h).offset().left,a=n>10&&11>n,t.innerHTML=\"\",i.removeChild(t)}()}(),e.ui.position,e.widget(\"ui.accordion\",{version:\"1.11.4\",options:{active:0,animate:{},collapsible:!1,event:\"click\",header:\"> li > :first-child,> :not(li):even\",heightStyle:\"auto\",icons:{activeHeader:\"ui-icon-triangle-1-s\",header:\"ui-icon-triangle-1-e\"},activate:null,beforeActivate:null},hideProps:{borderTopWidth:\"hide\",borderBottomWidth:\"hide\",paddingTop:\"hide\",paddingBottom:\"hide\",height:\"hide\"},showProps:{borderTopWidth:\"show\",borderBottomWidth:\"show\",paddingTop:\"show\",paddingBottom:\"show\",height:\"show\"},_create:function(){var t=this.options;this.prevShow=this.prevHide=e(),this.element.addClass(\"ui-accordion ui-widget ui-helper-reset\").attr(\"role\",\"tablist\"),t.collapsible||t.active!==!1&&null!=t.active||(t.active=0),this._processPanels(),0>t.active&&(t.active+=this.headers.length),this._refresh()},_getCreateEventData:function(){return{header:this.active,panel:this.active.length?this.active.next():e()}},_createIcons:function(){var t=this.options.icons;t&&(e(\"<span>\").addClass(\"ui-accordion-header-icon ui-icon \"+t.header).prependTo(this.headers),this.active.children(\".ui-accordion-header-icon\").removeClass(t.header).addClass(t.activeHeader),this.headers.addClass(\"ui-accordion-icons\"))},_destroyIcons:function(){this.headers.removeClass(\"ui-accordion-icons\").children(\".ui-accordion-header-icon\").remove()},_destroy:function(){var e;this.element.removeClass(\"ui-accordion ui-widget ui-helper-reset\").removeAttr(\"role\"),this.headers.removeClass(\"ui-accordion-header ui-accordion-header-active ui-state-default ui-corner-all ui-state-active ui-state-disabled ui-corner-top\").removeAttr(\"role\").removeAttr(\"aria-expanded\").removeAttr(\"aria-selected\").removeAttr(\"aria-controls\").removeAttr(\"tabIndex\").removeUniqueId(),this._destroyIcons(),e=this.headers.next().removeClass(\"ui-helper-reset ui-widget-content ui-corner-bottom ui-accordion-content ui-accordion-content-active ui-state-disabled\").css(\"display\",\"\").removeAttr(\"role\").removeAttr(\"aria-hidden\").removeAttr(\"aria-labelledby\").removeUniqueId(),\"content\"!==this.options.heightStyle&&e.css(\"height\",\"\")},_setOption:function(e,t){return\"active\"===e?(this._activate(t),void 0):(\"event\"===e&&(this.options.event&&this._off(this.headers,this.options.event),this._setupEvents(t)),this._super(e,t),\"collapsible\"!==e||t||this.options.active!==!1||this._activate(0),\"icons\"===e&&(this._destroyIcons(),t&&this._createIcons()),\"disabled\"===e&&(this.element.toggleClass(\"ui-state-disabled\",!!t).attr(\"aria-disabled\",t),this.headers.add(this.headers.next()).toggleClass(\"ui-state-disabled\",!!t)),void 0)},_keydown:function(t){if(!t.altKey&&!t.ctrlKey){var i=e.ui.keyCode,s=this.headers.length,n=this.headers.index(t.target),a=!1;switch(t.keyCode){case i.RIGHT:case i.DOWN:a=this.headers[(n+1)%s];break;case i.LEFT:case i.UP:a=this.headers[(n-1+s)%s];break;case i.SPACE:case i.ENTER:this._eventHandler(t);break;case i.HOME:a=this.headers[0];break;case i.END:a=this.headers[s-1]}a&&(e(t.target).attr(\"tabIndex\",-1),e(a).attr(\"tabIndex\",0),a.focus(),t.preventDefault())}},_panelKeyDown:function(t){t.keyCode===e.ui.keyCode.UP&&t.ctrlKey&&e(t.currentTarget).prev().focus()},refresh:function(){var t=this.options;this._processPanels(),t.active===!1&&t.collapsible===!0||!this.headers.length?(t.active=!1,this.active=e()):t.active===!1?this._activate(0):this.active.length&&!e.contains(this.element[0],this.active[0])?this.headers.length===this.headers.find(\".ui-state-disabled\").length?(t.active=!1,this.active=e()):this._activate(Math.max(0,t.active-1)):t.active=this.headers.index(this.active),this._destroyIcons(),this._refresh()},_processPanels:function(){var e=this.headers,t=this.panels;this.headers=this.element.find(this.options.header).addClass(\"ui-accordion-header ui-state-default ui-corner-all\"),this.panels=this.headers.next().addClass(\"ui-accordion-content ui-helper-reset ui-widget-content ui-corner-bottom\").filter(\":not(.ui-accordion-content-active)\").hide(),t&&(this._off(e.not(this.headers)),this._off(t.not(this.panels)))},_refresh:function(){var t,i=this.options,s=i.heightStyle,n=this.element.parent();this.active=this._findActive(i.active).addClass(\"ui-accordion-header-active ui-state-active ui-corner-top\").removeClass(\"ui-corner-all\"),this.active.next().addClass(\"ui-accordion-content-active\").show(),this.headers.attr(\"role\",\"tab\").each(function(){var t=e(this),i=t.uniqueId().attr(\"id\"),s=t.next(),n=s.uniqueId().attr(\"id\");t.attr(\"aria-controls\",n),s.attr(\"aria-labelledby\",i)}).next().attr(\"role\",\"tabpanel\"),this.headers.not(this.active).attr({\"aria-selected\":\"false\",\"aria-expanded\":\"false\",tabIndex:-1}).next().attr({\"aria-hidden\":\"true\"}).hide(),this.active.length?this.active.attr({\"aria-selected\":\"true\",\"aria-expanded\":\"true\",tabIndex:0}).next().attr({\"aria-hidden\":\"false\"}):this.headers.eq(0).attr(\"tabIndex\",0),this._createIcons(),this._setupEvents(i.event),\"fill\"===s?(t=n.height(),this.element.siblings(\":visible\").each(function(){var i=e(this),s=i.css(\"position\");\"absolute\"!==s&&\"fixed\"!==s&&(t-=i.outerHeight(!0))}),this.headers.each(function(){t-=e(this).outerHeight(!0)}),this.headers.next().each(function(){e(this).height(Math.max(0,t-e(this).innerHeight()+e(this).height()))}).css(\"overflow\",\"auto\")):\"auto\"===s&&(t=0,this.headers.next().each(function(){t=Math.max(t,e(this).css(\"height\",\"\").height())}).height(t))},_activate:function(t){var i=this._findActive(t)[0];i!==this.active[0]&&(i=i||this.active[0],this._eventHandler({target:i,currentTarget:i,preventDefault:e.noop}))},_findActive:function(t){return\"number\"==typeof t?this.headers.eq(t):e()},_setupEvents:function(t){var i={keydown:\"_keydown\"};t&&e.each(t.split(\" \"),function(e,t){i[t]=\"_eventHandler\"}),this._off(this.headers.add(this.headers.next())),this._on(this.headers,i),this._on(this.headers.next(),{keydown:\"_panelKeyDown\"}),this._hoverable(this.headers),this._focusable(this.headers)},_eventHandler:function(t){var i=this.options,s=this.active,n=e(t.currentTarget),a=n[0]===s[0],o=a&&i.collapsible,r=o?e():n.next(),h=s.next(),l={oldHeader:s,oldPanel:h,newHeader:o?e():n,newPanel:r};t.preventDefault(),a&&!i.collapsible||this._trigger(\"beforeActivate\",t,l)===!1||(i.active=o?!1:this.headers.index(n),this.active=a?e():n,this._toggle(l),s.removeClass(\"ui-accordion-header-active ui-state-active\"),i.icons&&s.children(\".ui-accordion-header-icon\").removeClass(i.icons.activeHeader).addClass(i.icons.header),a||(n.removeClass(\"ui-corner-all\").addClass(\"ui-accordion-header-active ui-state-active ui-corner-top\"),i.icons&&n.children(\".ui-accordion-header-icon\").removeClass(i.icons.header).addClass(i.icons.activeHeader),n.next().addClass(\"ui-accordion-content-active\")))},_toggle:function(t){var i=t.newPanel,s=this.prevShow.length?this.prevShow:t.oldPanel;this.prevShow.add(this.prevHide).stop(!0,!0),this.prevShow=i,this.prevHide=s,this.options.animate?this._animate(i,s,t):(s.hide(),i.show(),this._toggleComplete(t)),s.attr({\"aria-hidden\":\"true\"}),s.prev().attr({\"aria-selected\":\"false\",\"aria-expanded\":\"false\"}),i.length&&s.length?s.prev().attr({tabIndex:-1,\"aria-expanded\":\"false\"}):i.length&&this.headers.filter(function(){return 0===parseInt(e(this).attr(\"tabIndex\"),10)}).attr(\"tabIndex\",-1),i.attr(\"aria-hidden\",\"false\").prev().attr({\"aria-selected\":\"true\",\"aria-expanded\":\"true\",tabIndex:0})},_animate:function(e,t,i){var s,n,a,o=this,r=0,h=e.css(\"box-sizing\"),l=e.length&&(!t.length||e.index()<t.index()),u=this.options.animate||{},d=l&&u.down||u,c=function(){o._toggleComplete(i)};return\"number\"==typeof d&&(a=d),\"string\"==typeof d&&(n=d),n=n||d.easing||u.easing,a=a||d.duration||u.duration,t.length?e.length?(s=e.show().outerHeight(),t.animate(this.hideProps,{duration:a,easing:n,step:function(e,t){t.now=Math.round(e)}}),e.hide().animate(this.showProps,{duration:a,easing:n,complete:c,step:function(e,i){i.now=Math.round(e),\"height\"!==i.prop?\"content-box\"===h&&(r+=i.now):\"content\"!==o.options.heightStyle&&(i.now=Math.round(s-t.outerHeight()-r),r=0)}}),void 0):t.animate(this.hideProps,a,n,c):e.animate(this.showProps,a,n,c)},_toggleComplete:function(e){var t=e.oldPanel;t.removeClass(\"ui-accordion-content-active\").prev().removeClass(\"ui-corner-top\").addClass(\"ui-corner-all\"),t.length&&(t.parent()[0].className=t.parent()[0].className),this._trigger(\"activate\",null,e)}}),e.widget(\"ui.menu\",{version:\"1.11.4\",defaultElement:\"<ul>\",delay:300,options:{icons:{submenu:\"ui-icon-carat-1-e\"},items:\"> *\",menus:\"ul\",position:{my:\"left-1 top\",at:\"right top\"},role:\"menu\",blur:null,focus:null,select:null},_create:function(){this.activeMenu=this.element,this.mouseHandled=!1,this.element.uniqueId().addClass(\"ui-menu ui-widget ui-widget-content\").toggleClass(\"ui-menu-icons\",!!this.element.find(\".ui-icon\").length).attr({role:this.options.role,tabIndex:0}),this.options.disabled&&this.element.addClass(\"ui-state-disabled\").attr(\"aria-disabled\",\"true\"),this._on({\"mousedown .ui-menu-item\":function(e){e.preventDefault()},\"click .ui-menu-item\":function(t){var i=e(t.target);!this.mouseHandled&&i.not(\".ui-state-disabled\").length&&(this.select(t),t.isPropagationStopped()||(this.mouseHandled=!0),i.has(\".ui-menu\").length?this.expand(t):!this.element.is(\":focus\")&&e(this.document[0].activeElement).closest(\".ui-menu\").length&&(this.element.trigger(\"focus\",[!0]),this.active&&1===this.active.parents(\".ui-menu\").length&&clearTimeout(this.timer)))},\"mouseenter .ui-menu-item\":function(t){if(!this.previousFilter){var i=e(t.currentTarget);\r\ni.siblings(\".ui-state-active\").removeClass(\"ui-state-active\"),this.focus(t,i)}},mouseleave:\"collapseAll\",\"mouseleave .ui-menu\":\"collapseAll\",focus:function(e,t){var i=this.active||this.element.find(this.options.items).eq(0);t||this.focus(e,i)},blur:function(t){this._delay(function(){e.contains(this.element[0],this.document[0].activeElement)||this.collapseAll(t)})},keydown:\"_keydown\"}),this.refresh(),this._on(this.document,{click:function(e){this._closeOnDocumentClick(e)&&this.collapseAll(e),this.mouseHandled=!1}})},_destroy:function(){this.element.removeAttr(\"aria-activedescendant\").find(\".ui-menu\").addBack().removeClass(\"ui-menu ui-widget ui-widget-content ui-menu-icons ui-front\").removeAttr(\"role\").removeAttr(\"tabIndex\").removeAttr(\"aria-labelledby\").removeAttr(\"aria-expanded\").removeAttr(\"aria-hidden\").removeAttr(\"aria-disabled\").removeUniqueId().show(),this.element.find(\".ui-menu-item\").removeClass(\"ui-menu-item\").removeAttr(\"role\").removeAttr(\"aria-disabled\").removeUniqueId().removeClass(\"ui-state-hover\").removeAttr(\"tabIndex\").removeAttr(\"role\").removeAttr(\"aria-haspopup\").children().each(function(){var t=e(this);t.data(\"ui-menu-submenu-carat\")&&t.remove()}),this.element.find(\".ui-menu-divider\").removeClass(\"ui-menu-divider ui-widget-content\")},_keydown:function(t){var i,s,n,a,o=!0;switch(t.keyCode){case e.ui.keyCode.PAGE_UP:this.previousPage(t);break;case e.ui.keyCode.PAGE_DOWN:this.nextPage(t);break;case e.ui.keyCode.HOME:this._move(\"first\",\"first\",t);break;case e.ui.keyCode.END:this._move(\"last\",\"last\",t);break;case e.ui.keyCode.UP:this.previous(t);break;case e.ui.keyCode.DOWN:this.next(t);break;case e.ui.keyCode.LEFT:this.collapse(t);break;case e.ui.keyCode.RIGHT:this.active&&!this.active.is(\".ui-state-disabled\")&&this.expand(t);break;case e.ui.keyCode.ENTER:case e.ui.keyCode.SPACE:this._activate(t);break;case e.ui.keyCode.ESCAPE:this.collapse(t);break;default:o=!1,s=this.previousFilter||\"\",n=String.fromCharCode(t.keyCode),a=!1,clearTimeout(this.filterTimer),n===s?a=!0:n=s+n,i=this._filterMenuItems(n),i=a&&-1!==i.index(this.active.next())?this.active.nextAll(\".ui-menu-item\"):i,i.length||(n=String.fromCharCode(t.keyCode),i=this._filterMenuItems(n)),i.length?(this.focus(t,i),this.previousFilter=n,this.filterTimer=this._delay(function(){delete this.previousFilter},1e3)):delete this.previousFilter}o&&t.preventDefault()},_activate:function(e){this.active.is(\".ui-state-disabled\")||(this.active.is(\"[aria-haspopup='true']\")?this.expand(e):this.select(e))},refresh:function(){var t,i,s=this,n=this.options.icons.submenu,a=this.element.find(this.options.menus);this.element.toggleClass(\"ui-menu-icons\",!!this.element.find(\".ui-icon\").length),a.filter(\":not(.ui-menu)\").addClass(\"ui-menu ui-widget ui-widget-content ui-front\").hide().attr({role:this.options.role,\"aria-hidden\":\"true\",\"aria-expanded\":\"false\"}).each(function(){var t=e(this),i=t.parent(),s=e(\"<span>\").addClass(\"ui-menu-icon ui-icon \"+n).data(\"ui-menu-submenu-carat\",!0);i.attr(\"aria-haspopup\",\"true\").prepend(s),t.attr(\"aria-labelledby\",i.attr(\"id\"))}),t=a.add(this.element),i=t.find(this.options.items),i.not(\".ui-menu-item\").each(function(){var t=e(this);s._isDivider(t)&&t.addClass(\"ui-widget-content ui-menu-divider\")}),i.not(\".ui-menu-item, .ui-menu-divider\").addClass(\"ui-menu-item\").uniqueId().attr({tabIndex:-1,role:this._itemRole()}),i.filter(\".ui-state-disabled\").attr(\"aria-disabled\",\"true\"),this.active&&!e.contains(this.element[0],this.active[0])&&this.blur()},_itemRole:function(){return{menu:\"menuitem\",listbox:\"option\"}[this.options.role]},_setOption:function(e,t){\"icons\"===e&&this.element.find(\".ui-menu-icon\").removeClass(this.options.icons.submenu).addClass(t.submenu),\"disabled\"===e&&this.element.toggleClass(\"ui-state-disabled\",!!t).attr(\"aria-disabled\",t),this._super(e,t)},focus:function(e,t){var i,s;this.blur(e,e&&\"focus\"===e.type),this._scrollIntoView(t),this.active=t.first(),s=this.active.addClass(\"ui-state-focus\").removeClass(\"ui-state-active\"),this.options.role&&this.element.attr(\"aria-activedescendant\",s.attr(\"id\")),this.active.parent().closest(\".ui-menu-item\").addClass(\"ui-state-active\"),e&&\"keydown\"===e.type?this._close():this.timer=this._delay(function(){this._close()},this.delay),i=t.children(\".ui-menu\"),i.length&&e&&/^mouse/.test(e.type)&&this._startOpening(i),this.activeMenu=t.parent(),this._trigger(\"focus\",e,{item:t})},_scrollIntoView:function(t){var i,s,n,a,o,r;this._hasScroll()&&(i=parseFloat(e.css(this.activeMenu[0],\"borderTopWidth\"))||0,s=parseFloat(e.css(this.activeMenu[0],\"paddingTop\"))||0,n=t.offset().top-this.activeMenu.offset().top-i-s,a=this.activeMenu.scrollTop(),o=this.activeMenu.height(),r=t.outerHeight(),0>n?this.activeMenu.scrollTop(a+n):n+r>o&&this.activeMenu.scrollTop(a+n-o+r))},blur:function(e,t){t||clearTimeout(this.timer),this.active&&(this.active.removeClass(\"ui-state-focus\"),this.active=null,this._trigger(\"blur\",e,{item:this.active}))},_startOpening:function(e){clearTimeout(this.timer),\"true\"===e.attr(\"aria-hidden\")&&(this.timer=this._delay(function(){this._close(),this._open(e)},this.delay))},_open:function(t){var i=e.extend({of:this.active},this.options.position);clearTimeout(this.timer),this.element.find(\".ui-menu\").not(t.parents(\".ui-menu\")).hide().attr(\"aria-hidden\",\"true\"),t.show().removeAttr(\"aria-hidden\").attr(\"aria-expanded\",\"true\").position(i)},collapseAll:function(t,i){clearTimeout(this.timer),this.timer=this._delay(function(){var s=i?this.element:e(t&&t.target).closest(this.element.find(\".ui-menu\"));s.length||(s=this.element),this._close(s),this.blur(t),this.activeMenu=s},this.delay)},_close:function(e){e||(e=this.active?this.active.parent():this.element),e.find(\".ui-menu\").hide().attr(\"aria-hidden\",\"true\").attr(\"aria-expanded\",\"false\").end().find(\".ui-state-active\").not(\".ui-state-focus\").removeClass(\"ui-state-active\")},_closeOnDocumentClick:function(t){return!e(t.target).closest(\".ui-menu\").length},_isDivider:function(e){return!/[^\\-\\u2014\\u2013\\s]/.test(e.text())},collapse:function(e){var t=this.active&&this.active.parent().closest(\".ui-menu-item\",this.element);t&&t.length&&(this._close(),this.focus(e,t))},expand:function(e){var t=this.active&&this.active.children(\".ui-menu \").find(this.options.items).first();t&&t.length&&(this._open(t.parent()),this._delay(function(){this.focus(e,t)}))},next:function(e){this._move(\"next\",\"first\",e)},previous:function(e){this._move(\"prev\",\"last\",e)},isFirstItem:function(){return this.active&&!this.active.prevAll(\".ui-menu-item\").length},isLastItem:function(){return this.active&&!this.active.nextAll(\".ui-menu-item\").length},_move:function(e,t,i){var s;this.active&&(s=\"first\"===e||\"last\"===e?this.active[\"first\"===e?\"prevAll\":\"nextAll\"](\".ui-menu-item\").eq(-1):this.active[e+\"All\"](\".ui-menu-item\").eq(0)),s&&s.length&&this.active||(s=this.activeMenu.find(this.options.items)[t]()),this.focus(i,s)},nextPage:function(t){var i,s,n;return this.active?(this.isLastItem()||(this._hasScroll()?(s=this.active.offset().top,n=this.element.height(),this.active.nextAll(\".ui-menu-item\").each(function(){return i=e(this),0>i.offset().top-s-n}),this.focus(t,i)):this.focus(t,this.activeMenu.find(this.options.items)[this.active?\"last\":\"first\"]())),void 0):(this.next(t),void 0)},previousPage:function(t){var i,s,n;return this.active?(this.isFirstItem()||(this._hasScroll()?(s=this.active.offset().top,n=this.element.height(),this.active.prevAll(\".ui-menu-item\").each(function(){return i=e(this),i.offset().top-s+n>0}),this.focus(t,i)):this.focus(t,this.activeMenu.find(this.options.items).first())),void 0):(this.next(t),void 0)},_hasScroll:function(){return this.element.outerHeight()<this.element.prop(\"scrollHeight\")},select:function(t){this.active=this.active||e(t.target).closest(\".ui-menu-item\");var i={item:this.active};this.active.has(\".ui-menu\").length||this.collapseAll(t,!0),this._trigger(\"select\",t,i)},_filterMenuItems:function(t){var i=t.replace(/[\\-\\[\\]{}()*+?.,\\\\\\^$|#\\s]/g,\"\\\\$&\"),s=RegExp(\"^\"+i,\"i\");return this.activeMenu.find(this.options.items).filter(\".ui-menu-item\").filter(function(){return s.test(e.trim(e(this).text()))})}}),e.widget(\"ui.autocomplete\",{version:\"1.11.4\",defaultElement:\"<input>\",options:{appendTo:null,autoFocus:!1,delay:300,minLength:1,position:{my:\"left top\",at:\"left bottom\",collision:\"none\"},source:null,change:null,close:null,focus:null,open:null,response:null,search:null,select:null},requestIndex:0,pending:0,_create:function(){var t,i,s,n=this.element[0].nodeName.toLowerCase(),a=\"textarea\"===n,o=\"input\"===n;this.isMultiLine=a?!0:o?!1:this.element.prop(\"isContentEditable\"),this.valueMethod=this.element[a||o?\"val\":\"text\"],this.isNewMenu=!0,this.element.addClass(\"ui-autocomplete-input\").attr(\"autocomplete\",\"off\"),this._on(this.element,{keydown:function(n){if(this.element.prop(\"readOnly\"))return t=!0,s=!0,i=!0,void 0;t=!1,s=!1,i=!1;var a=e.ui.keyCode;switch(n.keyCode){case a.PAGE_UP:t=!0,this._move(\"previousPage\",n);break;case a.PAGE_DOWN:t=!0,this._move(\"nextPage\",n);break;case a.UP:t=!0,this._keyEvent(\"previous\",n);break;case a.DOWN:t=!0,this._keyEvent(\"next\",n);break;case a.ENTER:this.menu.active&&(t=!0,n.preventDefault(),this.menu.select(n));break;case a.TAB:this.menu.active&&this.menu.select(n);break;case a.ESCAPE:this.menu.element.is(\":visible\")&&(this.isMultiLine||this._value(this.term),this.close(n),n.preventDefault());break;default:i=!0,this._searchTimeout(n)}},keypress:function(s){if(t)return t=!1,(!this.isMultiLine||this.menu.element.is(\":visible\"))&&s.preventDefault(),void 0;if(!i){var n=e.ui.keyCode;switch(s.keyCode){case n.PAGE_UP:this._move(\"previousPage\",s);break;case n.PAGE_DOWN:this._move(\"nextPage\",s);break;case n.UP:this._keyEvent(\"previous\",s);break;case n.DOWN:this._keyEvent(\"next\",s)}}},input:function(e){return s?(s=!1,e.preventDefault(),void 0):(this._searchTimeout(e),void 0)},focus:function(){this.selectedItem=null,this.previous=this._value()},blur:function(e){return this.cancelBlur?(delete this.cancelBlur,void 0):(clearTimeout(this.searching),this.close(e),this._change(e),void 0)}}),this._initSource(),this.menu=e(\"<ul>\").addClass(\"ui-autocomplete ui-front\").appendTo(this._appendTo()).menu({role:null}).hide().menu(\"instance\"),this._on(this.menu.element,{mousedown:function(t){t.preventDefault(),this.cancelBlur=!0,this._delay(function(){delete this.cancelBlur});var i=this.menu.element[0];e(t.target).closest(\".ui-menu-item\").length||this._delay(function(){var t=this;this.document.one(\"mousedown\",function(s){s.target===t.element[0]||s.target===i||e.contains(i,s.target)||t.close()})})},menufocus:function(t,i){var s,n;return this.isNewMenu&&(this.isNewMenu=!1,t.originalEvent&&/^mouse/.test(t.originalEvent.type))?(this.menu.blur(),this.document.one(\"mousemove\",function(){e(t.target).trigger(t.originalEvent)}),void 0):(n=i.item.data(\"ui-autocomplete-item\"),!1!==this._trigger(\"focus\",t,{item:n})&&t.originalEvent&&/^key/.test(t.originalEvent.type)&&this._value(n.value),s=i.item.attr(\"aria-label\")||n.value,s&&e.trim(s).length&&(this.liveRegion.children().hide(),e(\"<div>\").text(s).appendTo(this.liveRegion)),void 0)},menuselect:function(e,t){var i=t.item.data(\"ui-autocomplete-item\"),s=this.previous;this.element[0]!==this.document[0].activeElement&&(this.element.focus(),this.previous=s,this._delay(function(){this.previous=s,this.selectedItem=i})),!1!==this._trigger(\"select\",e,{item:i})&&this._value(i.value),this.term=this._value(),this.close(e),this.selectedItem=i}}),this.liveRegion=e(\"<span>\",{role:\"status\",\"aria-live\":\"assertive\",\"aria-relevant\":\"additions\"}).addClass(\"ui-helper-hidden-accessible\").appendTo(this.document[0].body),this._on(this.window,{beforeunload:function(){this.element.removeAttr(\"autocomplete\")}})},_destroy:function(){clearTimeout(this.searching),this.element.removeClass(\"ui-autocomplete-input\").removeAttr(\"autocomplete\"),this.menu.element.remove(),this.liveRegion.remove()},_setOption:function(e,t){this._super(e,t),\"source\"===e&&this._initSource(),\"appendTo\"===e&&this.menu.element.appendTo(this._appendTo()),\"disabled\"===e&&t&&this.xhr&&this.xhr.abort()},_appendTo:function(){var t=this.options.appendTo;return t&&(t=t.jquery||t.nodeType?e(t):this.document.find(t).eq(0)),t&&t[0]||(t=this.element.closest(\".ui-front\")),t.length||(t=this.document[0].body),t},_initSource:function(){var t,i,s=this;e.isArray(this.options.source)?(t=this.options.source,this.source=function(i,s){s(e.ui.autocomplete.filter(t,i.term))}):\"string\"==typeof this.options.source?(i=this.options.source,this.source=function(t,n){s.xhr&&s.xhr.abort(),s.xhr=e.ajax({url:i,data:t,dataType:\"json\",success:function(e){n(e)},error:function(){n([])}})}):this.source=this.options.source},_searchTimeout:function(e){clearTimeout(this.searching),this.searching=this._delay(function(){var t=this.term===this._value(),i=this.menu.element.is(\":visible\"),s=e.altKey||e.ctrlKey||e.metaKey||e.shiftKey;(!t||t&&!i&&!s)&&(this.selectedItem=null,this.search(null,e))},this.options.delay)},search:function(e,t){return e=null!=e?e:this._value(),this.term=this._value(),e.length<this.options.minLength?this.close(t):this._trigger(\"search\",t)!==!1?this._search(e):void 0},_search:function(e){this.pending++,this.element.addClass(\"ui-autocomplete-loading\"),this.cancelSearch=!1,this.source({term:e},this._response())},_response:function(){var t=++this.requestIndex;return e.proxy(function(e){t===this.requestIndex&&this.__response(e),this.pending--,this.pending||this.element.removeClass(\"ui-autocomplete-loading\")},this)},__response:function(e){e&&(e=this._normalize(e)),this._trigger(\"response\",null,{content:e}),!this.options.disabled&&e&&e.length&&!this.cancelSearch?(this._suggest(e),this._trigger(\"open\")):this._close()},close:function(e){this.cancelSearch=!0,this._close(e)},_close:function(e){this.menu.element.is(\":visible\")&&(this.menu.element.hide(),this.menu.blur(),this.isNewMenu=!0,this._trigger(\"close\",e))},_change:function(e){this.previous!==this._value()&&this._trigger(\"change\",e,{item:this.selectedItem})},_normalize:function(t){return t.length&&t[0].label&&t[0].value?t:e.map(t,function(t){return\"string\"==typeof t?{label:t,value:t}:e.extend({},t,{label:t.label||t.value,value:t.value||t.label})})},_suggest:function(t){var i=this.menu.element.empty();this._renderMenu(i,t),this.isNewMenu=!0,this.menu.refresh(),i.show(),this._resizeMenu(),i.position(e.extend({of:this.element},this.options.position)),this.options.autoFocus&&this.menu.next()},_resizeMenu:function(){var e=this.menu.element;e.outerWidth(Math.max(e.width(\"\").outerWidth()+1,this.element.outerWidth()))},_renderMenu:function(t,i){var s=this;e.each(i,function(e,i){s._renderItemData(t,i)})},_renderItemData:function(e,t){return this._renderItem(e,t).data(\"ui-autocomplete-item\",t)},_renderItem:function(t,i){return e(\"<li>\").text(i.label).appendTo(t)},_move:function(e,t){return this.menu.element.is(\":visible\")?this.menu.isFirstItem()&&/^previous/.test(e)||this.menu.isLastItem()&&/^next/.test(e)?(this.isMultiLine||this._value(this.term),this.menu.blur(),void 0):(this.menu[e](t),void 0):(this.search(null,t),void 0)},widget:function(){return this.menu.element},_value:function(){return this.valueMethod.apply(this.element,arguments)},_keyEvent:function(e,t){(!this.isMultiLine||this.menu.element.is(\":visible\"))&&(this._move(e,t),t.preventDefault())}}),e.extend(e.ui.autocomplete,{escapeRegex:function(e){return e.replace(/[\\-\\[\\]{}()*+?.,\\\\\\^$|#\\s]/g,\"\\\\$&\")},filter:function(t,i){var s=RegExp(e.ui.autocomplete.escapeRegex(i),\"i\");return e.grep(t,function(e){return s.test(e.label||e.value||e)})}}),e.widget(\"ui.autocomplete\",e.ui.autocomplete,{options:{messages:{noResults:\"No search results.\",results:function(e){return e+(e>1?\" results are\":\" result is\")+\" available, use up and down arrow keys to navigate.\"}}},__response:function(t){var i;this._superApply(arguments),this.options.disabled||this.cancelSearch||(i=t&&t.length?this.options.messages.results(t.length):this.options.messages.noResults,this.liveRegion.children().hide(),e(\"<div>\").text(i).appendTo(this.liveRegion))}}),e.ui.autocomplete;var c,p=\"ui-button ui-widget ui-state-default ui-corner-all\",f=\"ui-button-icons-only ui-button-icon-only ui-button-text-icons ui-button-text-icon-primary ui-button-text-icon-secondary ui-button-text-only\",m=function(){var t=e(this);setTimeout(function(){t.find(\":ui-button\").button(\"refresh\")},1)},g=function(t){var i=t.name,s=t.form,n=e([]);return i&&(i=i.replace(/'/g,\"\\\\'\"),n=s?e(s).find(\"[name='\"+i+\"'][type=radio]\"):e(\"[name='\"+i+\"'][type=radio]\",t.ownerDocument).filter(function(){return!this.form})),n};e.widget(\"ui.button\",{version:\"1.11.4\",defaultElement:\"<button>\",options:{disabled:null,text:!0,label:null,icons:{primary:null,secondary:null}},_create:function(){this.element.closest(\"form\").unbind(\"reset\"+this.eventNamespace).bind(\"reset\"+this.eventNamespace,m),\"boolean\"!=typeof this.options.disabled?this.options.disabled=!!this.element.prop(\"disabled\"):this.element.prop(\"disabled\",this.options.disabled),this._determineButtonType(),this.hasTitle=!!this.buttonElement.attr(\"title\");var t=this,i=this.options,s=\"checkbox\"===this.type||\"radio\"===this.type,n=s?\"\":\"ui-state-active\";null===i.label&&(i.label=\"input\"===this.type?this.buttonElement.val():this.buttonElement.html()),this._hoverable(this.buttonElement),this.buttonElement.addClass(p).attr(\"role\",\"button\").bind(\"mouseenter\"+this.eventNamespace,function(){i.disabled||this===c&&e(this).addClass(\"ui-state-active\")}).bind(\"mouseleave\"+this.eventNamespace,function(){i.disabled||e(this).removeClass(n)}).bind(\"click\"+this.eventNamespace,function(e){i.disabled&&(e.preventDefault(),e.stopImmediatePropagation())}),this._on({focus:function(){this.buttonElement.addClass(\"ui-state-focus\")},blur:function(){this.buttonElement.removeClass(\"ui-state-focus\")}}),s&&this.element.bind(\"change\"+this.eventNamespace,function(){t.refresh()}),\"checkbox\"===this.type?this.buttonElement.bind(\"click\"+this.eventNamespace,function(){return i.disabled?!1:void 0}):\"radio\"===this.type?this.buttonElement.bind(\"click\"+this.eventNamespace,function(){if(i.disabled)return!1;e(this).addClass(\"ui-state-active\"),t.buttonElement.attr(\"aria-pressed\",\"true\");var s=t.element[0];g(s).not(s).map(function(){return e(this).button(\"widget\")[0]}).removeClass(\"ui-state-active\").attr(\"aria-pressed\",\"false\")}):(this.buttonElement.bind(\"mousedown\"+this.eventNamespace,function(){return i.disabled?!1:(e(this).addClass(\"ui-state-active\"),c=this,t.document.one(\"mouseup\",function(){c=null}),void 0)}).bind(\"mouseup\"+this.eventNamespace,function(){return i.disabled?!1:(e(this).removeClass(\"ui-state-active\"),void 0)}).bind(\"keydown\"+this.eventNamespace,function(t){return i.disabled?!1:((t.keyCode===e.ui.keyCode.SPACE||t.keyCode===e.ui.keyCode.ENTER)&&e(this).addClass(\"ui-state-active\"),void 0)}).bind(\"keyup\"+this.eventNamespace+\" blur\"+this.eventNamespace,function(){e(this).removeClass(\"ui-state-active\")}),this.buttonElement.is(\"a\")&&this.buttonElement.keyup(function(t){t.keyCode===e.ui.keyCode.SPACE&&e(this).click()})),this._setOption(\"disabled\",i.disabled),this._resetButton()},_determineButtonType:function(){var e,t,i;this.type=this.element.is(\"[type=checkbox]\")?\"checkbox\":this.element.is(\"[type=radio]\")?\"radio\":this.element.is(\"input\")?\"input\":\"button\",\"checkbox\"===this.type||\"radio\"===this.type?(e=this.element.parents().last(),t=\"label[for='\"+this.element.attr(\"id\")+\"']\",this.buttonElement=e.find(t),this.buttonElement.length||(e=e.length?e.siblings():this.element.siblings(),this.buttonElement=e.filter(t),this.buttonElement.length||(this.buttonElement=e.find(t))),this.element.addClass(\"ui-helper-hidden-accessible\"),i=this.element.is(\":checked\"),i&&this.buttonElement.addClass(\"ui-state-active\"),this.buttonElement.prop(\"aria-pressed\",i)):this.buttonElement=this.element},widget:function(){return this.buttonElement},_destroy:function(){this.element.removeClass(\"ui-helper-hidden-accessible\"),this.buttonElement.removeClass(p+\" ui-state-active \"+f).removeAttr(\"role\").removeAttr(\"aria-pressed\").html(this.buttonElement.find(\".ui-button-text\").html()),this.hasTitle||this.buttonElement.removeAttr(\"title\")},_setOption:function(e,t){return this._super(e,t),\"disabled\"===e?(this.widget().toggleClass(\"ui-state-disabled\",!!t),this.element.prop(\"disabled\",!!t),t&&(\"checkbox\"===this.type||\"radio\"===this.type?this.buttonElement.removeClass(\"ui-state-focus\"):this.buttonElement.removeClass(\"ui-state-focus ui-state-active\")),void 0):(this._resetButton(),void 0)},refresh:function(){var t=this.element.is(\"input, button\")?this.element.is(\":disabled\"):this.element.hasClass(\"ui-button-disabled\");t!==this.options.disabled&&this._setOption(\"disabled\",t),\"radio\"===this.type?g(this.element[0]).each(function(){e(this).is(\":checked\")?e(this).button(\"widget\").addClass(\"ui-state-active\").attr(\"aria-pressed\",\"true\"):e(this).button(\"widget\").removeClass(\"ui-state-active\").attr(\"aria-pressed\",\"false\")}):\"checkbox\"===this.type&&(this.element.is(\":checked\")?this.buttonElement.addClass(\"ui-state-active\").attr(\"aria-pressed\",\"true\"):this.buttonElement.removeClass(\"ui-state-active\").attr(\"aria-pressed\",\"false\"))},_resetButton:function(){if(\"input\"===this.type)return this.options.label&&this.element.val(this.options.label),void 0;var t=this.buttonElement.removeClass(f),i=e(\"<span></span>\",this.document[0]).addClass(\"ui-button-text\").html(this.options.label).appendTo(t.empty()).text(),s=this.options.icons,n=s.primary&&s.secondary,a=[];s.primary||s.secondary?(this.options.text&&a.push(\"ui-button-text-icon\"+(n?\"s\":s.primary?\"-primary\":\"-secondary\")),s.primary&&t.prepend(\"<span class='ui-button-icon-primary ui-icon \"+s.primary+\"'></span>\"),s.secondary&&t.append(\"<span class='ui-button-icon-secondary ui-icon \"+s.secondary+\"'></span>\"),this.options.text||(a.push(n?\"ui-button-icons-only\":\"ui-button-icon-only\"),this.hasTitle||t.attr(\"title\",e.trim(i)))):a.push(\"ui-button-text-only\"),t.addClass(a.join(\" \"))}}),e.widget(\"ui.buttonset\",{version:\"1.11.4\",options:{items:\"button, input[type=button], input[type=submit], input[type=reset], input[type=checkbox], input[type=radio], a, :data(ui-button)\"},_create:function(){this.element.addClass(\"ui-buttonset\")},_init:function(){this.refresh()},_setOption:function(e,t){\"disabled\"===e&&this.buttons.button(\"option\",e,t),this._super(e,t)},refresh:function(){var t=\"rtl\"===this.element.css(\"direction\"),i=this.element.find(this.options.items),s=i.filter(\":ui-button\");i.not(\":ui-button\").button(),s.button(\"refresh\"),this.buttons=i.map(function(){return e(this).button(\"widget\")[0]}).removeClass(\"ui-corner-all ui-corner-left ui-corner-right\").filter(\":first\").addClass(t?\"ui-corner-right\":\"ui-corner-left\").end().filter(\":last\").addClass(t?\"ui-corner-left\":\"ui-corner-right\").end().end()},_destroy:function(){this.element.removeClass(\"ui-buttonset\"),this.buttons.map(function(){return e(this).button(\"widget\")[0]}).removeClass(\"ui-corner-left ui-corner-right\").end().button(\"destroy\")}}),e.ui.button,e.extend(e.ui,{datepicker:{version:\"1.11.4\"}});var v;e.extend(n.prototype,{markerClassName:\"hasDatepicker\",maxRows:4,_widgetDatepicker:function(){return this.dpDiv},setDefaults:function(e){return r(this._defaults,e||{}),this},_attachDatepicker:function(t,i){var s,n,a;s=t.nodeName.toLowerCase(),n=\"div\"===s||\"span\"===s,t.id||(this.uuid+=1,t.id=\"dp\"+this.uuid),a=this._newInst(e(t),n),a.settings=e.extend({},i||{}),\"input\"===s?this._connectDatepicker(t,a):n&&this._inlineDatepicker(t,a)},_newInst:function(t,i){var s=t[0].id.replace(/([^A-Za-z0-9_\\-])/g,\"\\\\\\\\$1\");return{id:s,input:t,selectedDay:0,selectedMonth:0,selectedYear:0,drawMonth:0,drawYear:0,inline:i,dpDiv:i?a(e(\"<div class='\"+this._inlineClass+\" ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all'></div>\")):this.dpDiv}},_connectDatepicker:function(t,i){var s=e(t);i.append=e([]),i.trigger=e([]),s.hasClass(this.markerClassName)||(this._attachments(s,i),s.addClass(this.markerClassName).keydown(this._doKeyDown).keypress(this._doKeyPress).keyup(this._doKeyUp),this._autoSize(i),e.data(t,\"datepicker\",i),i.settings.disabled&&this._disableDatepicker(t))},_attachments:function(t,i){var s,n,a,o=this._get(i,\"appendText\"),r=this._get(i,\"isRTL\");i.append&&i.append.remove(),o&&(i.append=e(\"<span class='\"+this._appendClass+\"'>\"+o+\"</span>\"),t[r?\"before\":\"after\"](i.append)),t.unbind(\"focus\",this._showDatepicker),i.trigger&&i.trigger.remove(),s=this._get(i,\"showOn\"),(\"focus\"===s||\"both\"===s)&&t.focus(this._showDatepicker),(\"button\"===s||\"both\"===s)&&(n=this._get(i,\"buttonText\"),a=this._get(i,\"buttonImage\"),i.trigger=e(this._get(i,\"buttonImageOnly\")?e(\"<img/>\").addClass(this._triggerClass).attr({src:a,alt:n,title:n}):e(\"<button type='button'></button>\").addClass(this._triggerClass).html(a?e(\"<img/>\").attr({src:a,alt:n,title:n}):n)),t[r?\"before\":\"after\"](i.trigger),i.trigger.click(function(){return e.datepicker._datepickerShowing&&e.datepicker._lastInput===t[0]?e.datepicker._hideDatepicker():e.datepicker._datepickerShowing&&e.datepicker._lastInput!==t[0]?(e.datepicker._hideDatepicker(),e.datepicker._showDatepicker(t[0])):e.datepicker._showDatepicker(t[0]),!1}))},_autoSize:function(e){if(this._get(e,\"autoSize\")&&!e.inline){var t,i,s,n,a=new Date(2009,11,20),o=this._get(e,\"dateFormat\");o.match(/[DM]/)&&(t=function(e){for(i=0,s=0,n=0;e.length>n;n++)e[n].length>i&&(i=e[n].length,s=n);return s},a.setMonth(t(this._get(e,o.match(/MM/)?\"monthNames\":\"monthNamesShort\"))),a.setDate(t(this._get(e,o.match(/DD/)?\"dayNames\":\"dayNamesShort\"))+20-a.getDay())),e.input.attr(\"size\",this._formatDate(e,a).length)}},_inlineDatepicker:function(t,i){var s=e(t);s.hasClass(this.markerClassName)||(s.addClass(this.markerClassName).append(i.dpDiv),e.data(t,\"datepicker\",i),this._setDate(i,this._getDefaultDate(i),!0),this._updateDatepicker(i),this._updateAlternate(i),i.settings.disabled&&this._disableDatepicker(t),i.dpDiv.css(\"display\",\"block\"))},_dialogDatepicker:function(t,i,s,n,a){var o,h,l,u,d,c=this._dialogInst;return c||(this.uuid+=1,o=\"dp\"+this.uuid,this._dialogInput=e(\"<input type='text' id='\"+o+\"' style='position: absolute; top: -100px; width: 0px;'/>\"),this._dialogInput.keydown(this._doKeyDown),e(\"body\").append(this._dialogInput),c=this._dialogInst=this._newInst(this._dialogInput,!1),c.settings={},e.data(this._dialogInput[0],\"datepicker\",c)),r(c.settings,n||{}),i=i&&i.constructor===Date?this._formatDate(c,i):i,this._dialogInput.val(i),this._pos=a?a.length?a:[a.pageX,a.pageY]:null,this._pos||(h=document.documentElement.clientWidth,l=document.documentElement.clientHeight,u=document.documentElement.scrollLeft||document.body.scrollLeft,d=document.documentElement.scrollTop||document.body.scrollTop,this._pos=[h/2-100+u,l/2-150+d]),this._dialogInput.css(\"left\",this._pos[0]+20+\"px\").css(\"top\",this._pos[1]+\"px\"),c.settings.onSelect=s,this._inDialog=!0,this.dpDiv.addClass(this._dialogClass),this._showDatepicker(this._dialogInput[0]),e.blockUI&&e.blockUI(this.dpDiv),e.data(this._dialogInput[0],\"datepicker\",c),this},_destroyDatepicker:function(t){var i,s=e(t),n=e.data(t,\"datepicker\");s.hasClass(this.markerClassName)&&(i=t.nodeName.toLowerCase(),e.removeData(t,\"datepicker\"),\"input\"===i?(n.append.remove(),n.trigger.remove(),s.removeClass(this.markerClassName).unbind(\"focus\",this._showDatepicker).unbind(\"keydown\",this._doKeyDown).unbind(\"keypress\",this._doKeyPress).unbind(\"keyup\",this._doKeyUp)):(\"div\"===i||\"span\"===i)&&s.removeClass(this.markerClassName).empty(),v===n&&(v=null))},_enableDatepicker:function(t){var i,s,n=e(t),a=e.data(t,\"datepicker\");n.hasClass(this.markerClassName)&&(i=t.nodeName.toLowerCase(),\"input\"===i?(t.disabled=!1,a.trigger.filter(\"button\").each(function(){this.disabled=!1}).end().filter(\"img\").css({opacity:\"1.0\",cursor:\"\"})):(\"div\"===i||\"span\"===i)&&(s=n.children(\".\"+this._inlineClass),s.children().removeClass(\"ui-state-disabled\"),s.find(\"select.ui-datepicker-month, select.ui-datepicker-year\").prop(\"disabled\",!1)),this._disabledInputs=e.map(this._disabledInputs,function(e){return e===t?null:e}))},_disableDatepicker:function(t){var i,s,n=e(t),a=e.data(t,\"datepicker\");n.hasClass(this.markerClassName)&&(i=t.nodeName.toLowerCase(),\"input\"===i?(t.disabled=!0,a.trigger.filter(\"button\").each(function(){this.disabled=!0}).end().filter(\"img\").css({opacity:\"0.5\",cursor:\"default\"})):(\"div\"===i||\"span\"===i)&&(s=n.children(\".\"+this._inlineClass),s.children().addClass(\"ui-state-disabled\"),s.find(\"select.ui-datepicker-month, select.ui-datepicker-year\").prop(\"disabled\",!0)),this._disabledInputs=e.map(this._disabledInputs,function(e){return e===t?null:e}),this._disabledInputs[this._disabledInputs.length]=t)},_isDisabledDatepicker:function(e){if(!e)return!1;for(var t=0;this._disabledInputs.length>t;t++)if(this._disabledInputs[t]===e)return!0;return!1},_getInst:function(t){try{return e.data(t,\"datepicker\")}catch(i){throw\"Missing instance data for this datepicker\"}},_optionDatepicker:function(t,i,s){var n,a,o,h,l=this._getInst(t);return 2===arguments.length&&\"string\"==typeof i?\"defaults\"===i?e.extend({},e.datepicker._defaults):l?\"all\"===i?e.extend({},l.settings):this._get(l,i):null:(n=i||{},\"string\"==typeof i&&(n={},n[i]=s),l&&(this._curInst===l&&this._hideDatepicker(),a=this._getDateDatepicker(t,!0),o=this._getMinMaxDate(l,\"min\"),h=this._getMinMaxDate(l,\"max\"),r(l.settings,n),null!==o&&void 0!==n.dateFormat&&void 0===n.minDate&&(l.settings.minDate=this._formatDate(l,o)),null!==h&&void 0!==n.dateFormat&&void 0===n.maxDate&&(l.settings.maxDate=this._formatDate(l,h)),\"disabled\"in n&&(n.disabled?this._disableDatepicker(t):this._enableDatepicker(t)),this._attachments(e(t),l),this._autoSize(l),this._setDate(l,a),this._updateAlternate(l),this._updateDatepicker(l)),void 0)},_changeDatepicker:function(e,t,i){this._optionDatepicker(e,t,i)},_refreshDatepicker:function(e){var t=this._getInst(e);t&&this._updateDatepicker(t)},_setDateDatepicker:function(e,t){var i=this._getInst(e);i&&(this._setDate(i,t),this._updateDatepicker(i),this._updateAlternate(i))},_getDateDatepicker:function(e,t){var i=this._getInst(e);return i&&!i.inline&&this._setDateFromField(i,t),i?this._getDate(i):null},_doKeyDown:function(t){var i,s,n,a=e.datepicker._getInst(t.target),o=!0,r=a.dpDiv.is(\".ui-datepicker-rtl\");if(a._keyEvent=!0,e.datepicker._datepickerShowing)switch(t.keyCode){case 9:e.datepicker._hideDatepicker(),o=!1;break;case 13:return n=e(\"td.\"+e.datepicker._dayOverClass+\":not(.\"+e.datepicker._currentClass+\")\",a.dpDiv),n[0]&&e.datepicker._selectDay(t.target,a.selectedMonth,a.selectedYear,n[0]),i=e.datepicker._get(a,\"onSelect\"),i?(s=e.datepicker._formatDate(a),i.apply(a.input?a.input[0]:null,[s,a])):e.datepicker._hideDatepicker(),!1;case 27:e.datepicker._hideDatepicker();break;case 33:e.datepicker._adjustDate(t.target,t.ctrlKey?-e.datepicker._get(a,\"stepBigMonths\"):-e.datepicker._get(a,\"stepMonths\"),\"M\");break;case 34:e.datepicker._adjustDate(t.target,t.ctrlKey?+e.datepicker._get(a,\"stepBigMonths\"):+e.datepicker._get(a,\"stepMonths\"),\"M\");break;case 35:(t.ctrlKey||t.metaKey)&&e.datepicker._clearDate(t.target),o=t.ctrlKey||t.metaKey;break;case 36:(t.ctrlKey||t.metaKey)&&e.datepicker._gotoToday(t.target),o=t.ctrlKey||t.metaKey;break;case 37:(t.ctrlKey||t.metaKey)&&e.datepicker._adjustDate(t.target,r?1:-1,\"D\"),o=t.ctrlKey||t.metaKey,t.originalEvent.altKey&&e.datepicker._adjustDate(t.target,t.ctrlKey?-e.datepicker._get(a,\"stepBigMonths\"):-e.datepicker._get(a,\"stepMonths\"),\"M\");break;case 38:(t.ctrlKey||t.metaKey)&&e.datepicker._adjustDate(t.target,-7,\"D\"),o=t.ctrlKey||t.metaKey;break;case 39:(t.ctrlKey||t.metaKey)&&e.datepicker._adjustDate(t.target,r?-1:1,\"D\"),o=t.ctrlKey||t.metaKey,t.originalEvent.altKey&&e.datepicker._adjustDate(t.target,t.ctrlKey?+e.datepicker._get(a,\"stepBigMonths\"):+e.datepicker._get(a,\"stepMonths\"),\"M\");break;case 40:(t.ctrlKey||t.metaKey)&&e.datepicker._adjustDate(t.target,7,\"D\"),o=t.ctrlKey||t.metaKey;break;default:o=!1}else 36===t.keyCode&&t.ctrlKey?e.datepicker._showDatepicker(this):o=!1;o&&(t.preventDefault(),t.stopPropagation())},_doKeyPress:function(t){var i,s,n=e.datepicker._getInst(t.target);\r\nreturn e.datepicker._get(n,\"constrainInput\")?(i=e.datepicker._possibleChars(e.datepicker._get(n,\"dateFormat\")),s=String.fromCharCode(null==t.charCode?t.keyCode:t.charCode),t.ctrlKey||t.metaKey||\" \">s||!i||i.indexOf(s)>-1):void 0},_doKeyUp:function(t){var i,s=e.datepicker._getInst(t.target);if(s.input.val()!==s.lastVal)try{i=e.datepicker.parseDate(e.datepicker._get(s,\"dateFormat\"),s.input?s.input.val():null,e.datepicker._getFormatConfig(s)),i&&(e.datepicker._setDateFromField(s),e.datepicker._updateAlternate(s),e.datepicker._updateDatepicker(s))}catch(n){}return!0},_showDatepicker:function(t){if(t=t.target||t,\"input\"!==t.nodeName.toLowerCase()&&(t=e(\"input\",t.parentNode)[0]),!e.datepicker._isDisabledDatepicker(t)&&e.datepicker._lastInput!==t){var i,n,a,o,h,l,u;i=e.datepicker._getInst(t),e.datepicker._curInst&&e.datepicker._curInst!==i&&(e.datepicker._curInst.dpDiv.stop(!0,!0),i&&e.datepicker._datepickerShowing&&e.datepicker._hideDatepicker(e.datepicker._curInst.input[0])),n=e.datepicker._get(i,\"beforeShow\"),a=n?n.apply(t,[t,i]):{},a!==!1&&(r(i.settings,a),i.lastVal=null,e.datepicker._lastInput=t,e.datepicker._setDateFromField(i),e.datepicker._inDialog&&(t.value=\"\"),e.datepicker._pos||(e.datepicker._pos=e.datepicker._findPos(t),e.datepicker._pos[1]+=t.offsetHeight),o=!1,e(t).parents().each(function(){return o|=\"fixed\"===e(this).css(\"position\"),!o}),h={left:e.datepicker._pos[0],top:e.datepicker._pos[1]},e.datepicker._pos=null,i.dpDiv.empty(),i.dpDiv.css({position:\"absolute\",display:\"block\",top:\"-1000px\"}),e.datepicker._updateDatepicker(i),h=e.datepicker._checkOffset(i,h,o),i.dpDiv.css({position:e.datepicker._inDialog&&e.blockUI?\"static\":o?\"fixed\":\"absolute\",display:\"none\",left:h.left+\"px\",top:h.top+\"px\"}),i.inline||(l=e.datepicker._get(i,\"showAnim\"),u=e.datepicker._get(i,\"duration\"),i.dpDiv.css(\"z-index\",s(e(t))+1),e.datepicker._datepickerShowing=!0,e.effects&&e.effects.effect[l]?i.dpDiv.show(l,e.datepicker._get(i,\"showOptions\"),u):i.dpDiv[l||\"show\"](l?u:null),e.datepicker._shouldFocusInput(i)&&i.input.focus(),e.datepicker._curInst=i))}},_updateDatepicker:function(t){this.maxRows=4,v=t,t.dpDiv.empty().append(this._generateHTML(t)),this._attachHandlers(t);var i,s=this._getNumberOfMonths(t),n=s[1],a=17,r=t.dpDiv.find(\".\"+this._dayOverClass+\" a\");r.length>0&&o.apply(r.get(0)),t.dpDiv.removeClass(\"ui-datepicker-multi-2 ui-datepicker-multi-3 ui-datepicker-multi-4\").width(\"\"),n>1&&t.dpDiv.addClass(\"ui-datepicker-multi-\"+n).css(\"width\",a*n+\"em\"),t.dpDiv[(1!==s[0]||1!==s[1]?\"add\":\"remove\")+\"Class\"](\"ui-datepicker-multi\"),t.dpDiv[(this._get(t,\"isRTL\")?\"add\":\"remove\")+\"Class\"](\"ui-datepicker-rtl\"),t===e.datepicker._curInst&&e.datepicker._datepickerShowing&&e.datepicker._shouldFocusInput(t)&&t.input.focus(),t.yearshtml&&(i=t.yearshtml,setTimeout(function(){i===t.yearshtml&&t.yearshtml&&t.dpDiv.find(\"select.ui-datepicker-year:first\").replaceWith(t.yearshtml),i=t.yearshtml=null},0))},_shouldFocusInput:function(e){return e.input&&e.input.is(\":visible\")&&!e.input.is(\":disabled\")&&!e.input.is(\":focus\")},_checkOffset:function(t,i,s){var n=t.dpDiv.outerWidth(),a=t.dpDiv.outerHeight(),o=t.input?t.input.outerWidth():0,r=t.input?t.input.outerHeight():0,h=document.documentElement.clientWidth+(s?0:e(document).scrollLeft()),l=document.documentElement.clientHeight+(s?0:e(document).scrollTop());return i.left-=this._get(t,\"isRTL\")?n-o:0,i.left-=s&&i.left===t.input.offset().left?e(document).scrollLeft():0,i.top-=s&&i.top===t.input.offset().top+r?e(document).scrollTop():0,i.left-=Math.min(i.left,i.left+n>h&&h>n?Math.abs(i.left+n-h):0),i.top-=Math.min(i.top,i.top+a>l&&l>a?Math.abs(a+r):0),i},_findPos:function(t){for(var i,s=this._getInst(t),n=this._get(s,\"isRTL\");t&&(\"hidden\"===t.type||1!==t.nodeType||e.expr.filters.hidden(t));)t=t[n?\"previousSibling\":\"nextSibling\"];return i=e(t).offset(),[i.left,i.top]},_hideDatepicker:function(t){var i,s,n,a,o=this._curInst;!o||t&&o!==e.data(t,\"datepicker\")||this._datepickerShowing&&(i=this._get(o,\"showAnim\"),s=this._get(o,\"duration\"),n=function(){e.datepicker._tidyDialog(o)},e.effects&&(e.effects.effect[i]||e.effects[i])?o.dpDiv.hide(i,e.datepicker._get(o,\"showOptions\"),s,n):o.dpDiv[\"slideDown\"===i?\"slideUp\":\"fadeIn\"===i?\"fadeOut\":\"hide\"](i?s:null,n),i||n(),this._datepickerShowing=!1,a=this._get(o,\"onClose\"),a&&a.apply(o.input?o.input[0]:null,[o.input?o.input.val():\"\",o]),this._lastInput=null,this._inDialog&&(this._dialogInput.css({position:\"absolute\",left:\"0\",top:\"-100px\"}),e.blockUI&&(e.unblockUI(),e(\"body\").append(this.dpDiv))),this._inDialog=!1)},_tidyDialog:function(e){e.dpDiv.removeClass(this._dialogClass).unbind(\".ui-datepicker-calendar\")},_checkExternalClick:function(t){if(e.datepicker._curInst){var i=e(t.target),s=e.datepicker._getInst(i[0]);(i[0].id!==e.datepicker._mainDivId&&0===i.parents(\"#\"+e.datepicker._mainDivId).length&&!i.hasClass(e.datepicker.markerClassName)&&!i.closest(\".\"+e.datepicker._triggerClass).length&&e.datepicker._datepickerShowing&&(!e.datepicker._inDialog||!e.blockUI)||i.hasClass(e.datepicker.markerClassName)&&e.datepicker._curInst!==s)&&e.datepicker._hideDatepicker()}},_adjustDate:function(t,i,s){var n=e(t),a=this._getInst(n[0]);this._isDisabledDatepicker(n[0])||(this._adjustInstDate(a,i+(\"M\"===s?this._get(a,\"showCurrentAtPos\"):0),s),this._updateDatepicker(a))},_gotoToday:function(t){var i,s=e(t),n=this._getInst(s[0]);this._get(n,\"gotoCurrent\")&&n.currentDay?(n.selectedDay=n.currentDay,n.drawMonth=n.selectedMonth=n.currentMonth,n.drawYear=n.selectedYear=n.currentYear):(i=new Date,n.selectedDay=i.getDate(),n.drawMonth=n.selectedMonth=i.getMonth(),n.drawYear=n.selectedYear=i.getFullYear()),this._notifyChange(n),this._adjustDate(s)},_selectMonthYear:function(t,i,s){var n=e(t),a=this._getInst(n[0]);a[\"selected\"+(\"M\"===s?\"Month\":\"Year\")]=a[\"draw\"+(\"M\"===s?\"Month\":\"Year\")]=parseInt(i.options[i.selectedIndex].value,10),this._notifyChange(a),this._adjustDate(n)},_selectDay:function(t,i,s,n){var a,o=e(t);e(n).hasClass(this._unselectableClass)||this._isDisabledDatepicker(o[0])||(a=this._getInst(o[0]),a.selectedDay=a.currentDay=e(\"a\",n).html(),a.selectedMonth=a.currentMonth=i,a.selectedYear=a.currentYear=s,this._selectDate(t,this._formatDate(a,a.currentDay,a.currentMonth,a.currentYear)))},_clearDate:function(t){var i=e(t);this._selectDate(i,\"\")},_selectDate:function(t,i){var s,n=e(t),a=this._getInst(n[0]);i=null!=i?i:this._formatDate(a),a.input&&a.input.val(i),this._updateAlternate(a),s=this._get(a,\"onSelect\"),s?s.apply(a.input?a.input[0]:null,[i,a]):a.input&&a.input.trigger(\"change\"),a.inline?this._updateDatepicker(a):(this._hideDatepicker(),this._lastInput=a.input[0],\"object\"!=typeof a.input[0]&&a.input.focus(),this._lastInput=null)},_updateAlternate:function(t){var i,s,n,a=this._get(t,\"altField\");a&&(i=this._get(t,\"altFormat\")||this._get(t,\"dateFormat\"),s=this._getDate(t),n=this.formatDate(i,s,this._getFormatConfig(t)),e(a).each(function(){e(this).val(n)}))},noWeekends:function(e){var t=e.getDay();return[t>0&&6>t,\"\"]},iso8601Week:function(e){var t,i=new Date(e.getTime());return i.setDate(i.getDate()+4-(i.getDay()||7)),t=i.getTime(),i.setMonth(0),i.setDate(1),Math.floor(Math.round((t-i)/864e5)/7)+1},parseDate:function(t,i,s){if(null==t||null==i)throw\"Invalid arguments\";if(i=\"object\"==typeof i?\"\"+i:i+\"\",\"\"===i)return null;var n,a,o,r,h=0,l=(s?s.shortYearCutoff:null)||this._defaults.shortYearCutoff,u=\"string\"!=typeof l?l:(new Date).getFullYear()%100+parseInt(l,10),d=(s?s.dayNamesShort:null)||this._defaults.dayNamesShort,c=(s?s.dayNames:null)||this._defaults.dayNames,p=(s?s.monthNamesShort:null)||this._defaults.monthNamesShort,f=(s?s.monthNames:null)||this._defaults.monthNames,m=-1,g=-1,v=-1,y=-1,b=!1,_=function(e){var i=t.length>n+1&&t.charAt(n+1)===e;return i&&n++,i},x=function(e){var t=_(e),s=\"@\"===e?14:\"!\"===e?20:\"y\"===e&&t?4:\"o\"===e?3:2,n=\"y\"===e?s:1,a=RegExp(\"^\\\\d{\"+n+\",\"+s+\"}\"),o=i.substring(h).match(a);if(!o)throw\"Missing number at position \"+h;return h+=o[0].length,parseInt(o[0],10)},w=function(t,s,n){var a=-1,o=e.map(_(t)?n:s,function(e,t){return[[t,e]]}).sort(function(e,t){return-(e[1].length-t[1].length)});if(e.each(o,function(e,t){var s=t[1];return i.substr(h,s.length).toLowerCase()===s.toLowerCase()?(a=t[0],h+=s.length,!1):void 0}),-1!==a)return a+1;throw\"Unknown name at position \"+h},k=function(){if(i.charAt(h)!==t.charAt(n))throw\"Unexpected literal at position \"+h;h++};for(n=0;t.length>n;n++)if(b)\"'\"!==t.charAt(n)||_(\"'\")?k():b=!1;else switch(t.charAt(n)){case\"d\":v=x(\"d\");break;case\"D\":w(\"D\",d,c);break;case\"o\":y=x(\"o\");break;case\"m\":g=x(\"m\");break;case\"M\":g=w(\"M\",p,f);break;case\"y\":m=x(\"y\");break;case\"@\":r=new Date(x(\"@\")),m=r.getFullYear(),g=r.getMonth()+1,v=r.getDate();break;case\"!\":r=new Date((x(\"!\")-this._ticksTo1970)/1e4),m=r.getFullYear(),g=r.getMonth()+1,v=r.getDate();break;case\"'\":_(\"'\")?k():b=!0;break;default:k()}if(i.length>h&&(o=i.substr(h),!/^\\s+/.test(o)))throw\"Extra/unparsed characters found in date: \"+o;if(-1===m?m=(new Date).getFullYear():100>m&&(m+=(new Date).getFullYear()-(new Date).getFullYear()%100+(u>=m?0:-100)),y>-1)for(g=1,v=y;;){if(a=this._getDaysInMonth(m,g-1),a>=v)break;g++,v-=a}if(r=this._daylightSavingAdjust(new Date(m,g-1,v)),r.getFullYear()!==m||r.getMonth()+1!==g||r.getDate()!==v)throw\"Invalid date\";return r},ATOM:\"yy-mm-dd\",COOKIE:\"D, dd M yy\",ISO_8601:\"yy-mm-dd\",RFC_822:\"D, d M y\",RFC_850:\"DD, dd-M-y\",RFC_1036:\"D, d M y\",RFC_1123:\"D, d M yy\",RFC_2822:\"D, d M yy\",RSS:\"D, d M y\",TICKS:\"!\",TIMESTAMP:\"@\",W3C:\"yy-mm-dd\",_ticksTo1970:1e7*60*60*24*(718685+Math.floor(492.5)-Math.floor(19.7)+Math.floor(4.925)),formatDate:function(e,t,i){if(!t)return\"\";var s,n=(i?i.dayNamesShort:null)||this._defaults.dayNamesShort,a=(i?i.dayNames:null)||this._defaults.dayNames,o=(i?i.monthNamesShort:null)||this._defaults.monthNamesShort,r=(i?i.monthNames:null)||this._defaults.monthNames,h=function(t){var i=e.length>s+1&&e.charAt(s+1)===t;return i&&s++,i},l=function(e,t,i){var s=\"\"+t;if(h(e))for(;i>s.length;)s=\"0\"+s;return s},u=function(e,t,i,s){return h(e)?s[t]:i[t]},d=\"\",c=!1;if(t)for(s=0;e.length>s;s++)if(c)\"'\"!==e.charAt(s)||h(\"'\")?d+=e.charAt(s):c=!1;else switch(e.charAt(s)){case\"d\":d+=l(\"d\",t.getDate(),2);break;case\"D\":d+=u(\"D\",t.getDay(),n,a);break;case\"o\":d+=l(\"o\",Math.round((new Date(t.getFullYear(),t.getMonth(),t.getDate()).getTime()-new Date(t.getFullYear(),0,0).getTime())/864e5),3);break;case\"m\":d+=l(\"m\",t.getMonth()+1,2);break;case\"M\":d+=u(\"M\",t.getMonth(),o,r);break;case\"y\":d+=h(\"y\")?t.getFullYear():(10>t.getYear()%100?\"0\":\"\")+t.getYear()%100;break;case\"@\":d+=t.getTime();break;case\"!\":d+=1e4*t.getTime()+this._ticksTo1970;break;case\"'\":h(\"'\")?d+=\"'\":c=!0;break;default:d+=e.charAt(s)}return d},_possibleChars:function(e){var t,i=\"\",s=!1,n=function(i){var s=e.length>t+1&&e.charAt(t+1)===i;return s&&t++,s};for(t=0;e.length>t;t++)if(s)\"'\"!==e.charAt(t)||n(\"'\")?i+=e.charAt(t):s=!1;else switch(e.charAt(t)){case\"d\":case\"m\":case\"y\":case\"@\":i+=\"0123456789\";break;case\"D\":case\"M\":return null;case\"'\":n(\"'\")?i+=\"'\":s=!0;break;default:i+=e.charAt(t)}return i},_get:function(e,t){return void 0!==e.settings[t]?e.settings[t]:this._defaults[t]},_setDateFromField:function(e,t){if(e.input.val()!==e.lastVal){var i=this._get(e,\"dateFormat\"),s=e.lastVal=e.input?e.input.val():null,n=this._getDefaultDate(e),a=n,o=this._getFormatConfig(e);try{a=this.parseDate(i,s,o)||n}catch(r){s=t?\"\":s}e.selectedDay=a.getDate(),e.drawMonth=e.selectedMonth=a.getMonth(),e.drawYear=e.selectedYear=a.getFullYear(),e.currentDay=s?a.getDate():0,e.currentMonth=s?a.getMonth():0,e.currentYear=s?a.getFullYear():0,this._adjustInstDate(e)}},_getDefaultDate:function(e){return this._restrictMinMax(e,this._determineDate(e,this._get(e,\"defaultDate\"),new Date))},_determineDate:function(t,i,s){var n=function(e){var t=new Date;return t.setDate(t.getDate()+e),t},a=function(i){try{return e.datepicker.parseDate(e.datepicker._get(t,\"dateFormat\"),i,e.datepicker._getFormatConfig(t))}catch(s){}for(var n=(i.toLowerCase().match(/^c/)?e.datepicker._getDate(t):null)||new Date,a=n.getFullYear(),o=n.getMonth(),r=n.getDate(),h=/([+\\-]?[0-9]+)\\s*(d|D|w|W|m|M|y|Y)?/g,l=h.exec(i);l;){switch(l[2]||\"d\"){case\"d\":case\"D\":r+=parseInt(l[1],10);break;case\"w\":case\"W\":r+=7*parseInt(l[1],10);break;case\"m\":case\"M\":o+=parseInt(l[1],10),r=Math.min(r,e.datepicker._getDaysInMonth(a,o));break;case\"y\":case\"Y\":a+=parseInt(l[1],10),r=Math.min(r,e.datepicker._getDaysInMonth(a,o))}l=h.exec(i)}return new Date(a,o,r)},o=null==i||\"\"===i?s:\"string\"==typeof i?a(i):\"number\"==typeof i?isNaN(i)?s:n(i):new Date(i.getTime());return o=o&&\"Invalid Date\"==\"\"+o?s:o,o&&(o.setHours(0),o.setMinutes(0),o.setSeconds(0),o.setMilliseconds(0)),this._daylightSavingAdjust(o)},_daylightSavingAdjust:function(e){return e?(e.setHours(e.getHours()>12?e.getHours()+2:0),e):null},_setDate:function(e,t,i){var s=!t,n=e.selectedMonth,a=e.selectedYear,o=this._restrictMinMax(e,this._determineDate(e,t,new Date));e.selectedDay=e.currentDay=o.getDate(),e.drawMonth=e.selectedMonth=e.currentMonth=o.getMonth(),e.drawYear=e.selectedYear=e.currentYear=o.getFullYear(),n===e.selectedMonth&&a===e.selectedYear||i||this._notifyChange(e),this._adjustInstDate(e),e.input&&e.input.val(s?\"\":this._formatDate(e))},_getDate:function(e){var t=!e.currentYear||e.input&&\"\"===e.input.val()?null:this._daylightSavingAdjust(new Date(e.currentYear,e.currentMonth,e.currentDay));return t},_attachHandlers:function(t){var i=this._get(t,\"stepMonths\"),s=\"#\"+t.id.replace(/\\\\\\\\/g,\"\\\\\");t.dpDiv.find(\"[data-handler]\").map(function(){var t={prev:function(){e.datepicker._adjustDate(s,-i,\"M\")},next:function(){e.datepicker._adjustDate(s,+i,\"M\")},hide:function(){e.datepicker._hideDatepicker()},today:function(){e.datepicker._gotoToday(s)},selectDay:function(){return e.datepicker._selectDay(s,+this.getAttribute(\"data-month\"),+this.getAttribute(\"data-year\"),this),!1},selectMonth:function(){return e.datepicker._selectMonthYear(s,this,\"M\"),!1},selectYear:function(){return e.datepicker._selectMonthYear(s,this,\"Y\"),!1}};e(this).bind(this.getAttribute(\"data-event\"),t[this.getAttribute(\"data-handler\")])})},_generateHTML:function(e){var t,i,s,n,a,o,r,h,l,u,d,c,p,f,m,g,v,y,b,_,x,w,k,T,D,S,M,C,N,A,P,I,H,z,F,E,O,j,W,L=new Date,R=this._daylightSavingAdjust(new Date(L.getFullYear(),L.getMonth(),L.getDate())),Y=this._get(e,\"isRTL\"),B=this._get(e,\"showButtonPanel\"),J=this._get(e,\"hideIfNoPrevNext\"),q=this._get(e,\"navigationAsDateFormat\"),K=this._getNumberOfMonths(e),V=this._get(e,\"showCurrentAtPos\"),U=this._get(e,\"stepMonths\"),Q=1!==K[0]||1!==K[1],G=this._daylightSavingAdjust(e.currentDay?new Date(e.currentYear,e.currentMonth,e.currentDay):new Date(9999,9,9)),X=this._getMinMaxDate(e,\"min\"),$=this._getMinMaxDate(e,\"max\"),Z=e.drawMonth-V,et=e.drawYear;if(0>Z&&(Z+=12,et--),$)for(t=this._daylightSavingAdjust(new Date($.getFullYear(),$.getMonth()-K[0]*K[1]+1,$.getDate())),t=X&&X>t?X:t;this._daylightSavingAdjust(new Date(et,Z,1))>t;)Z--,0>Z&&(Z=11,et--);for(e.drawMonth=Z,e.drawYear=et,i=this._get(e,\"prevText\"),i=q?this.formatDate(i,this._daylightSavingAdjust(new Date(et,Z-U,1)),this._getFormatConfig(e)):i,s=this._canAdjustMonth(e,-1,et,Z)?\"<a class='ui-datepicker-prev ui-corner-all' data-handler='prev' data-event='click' title='\"+i+\"'><span class='ui-icon ui-icon-circle-triangle-\"+(Y?\"e\":\"w\")+\"'>\"+i+\"</span></a>\":J?\"\":\"<a class='ui-datepicker-prev ui-corner-all ui-state-disabled' title='\"+i+\"'><span class='ui-icon ui-icon-circle-triangle-\"+(Y?\"e\":\"w\")+\"'>\"+i+\"</span></a>\",n=this._get(e,\"nextText\"),n=q?this.formatDate(n,this._daylightSavingAdjust(new Date(et,Z+U,1)),this._getFormatConfig(e)):n,a=this._canAdjustMonth(e,1,et,Z)?\"<a class='ui-datepicker-next ui-corner-all' data-handler='next' data-event='click' title='\"+n+\"'><span class='ui-icon ui-icon-circle-triangle-\"+(Y?\"w\":\"e\")+\"'>\"+n+\"</span></a>\":J?\"\":\"<a class='ui-datepicker-next ui-corner-all ui-state-disabled' title='\"+n+\"'><span class='ui-icon ui-icon-circle-triangle-\"+(Y?\"w\":\"e\")+\"'>\"+n+\"</span></a>\",o=this._get(e,\"currentText\"),r=this._get(e,\"gotoCurrent\")&&e.currentDay?G:R,o=q?this.formatDate(o,r,this._getFormatConfig(e)):o,h=e.inline?\"\":\"<button type='button' class='ui-datepicker-close ui-state-default ui-priority-primary ui-corner-all' data-handler='hide' data-event='click'>\"+this._get(e,\"closeText\")+\"</button>\",l=B?\"<div class='ui-datepicker-buttonpane ui-widget-content'>\"+(Y?h:\"\")+(this._isInRange(e,r)?\"<button type='button' class='ui-datepicker-current ui-state-default ui-priority-secondary ui-corner-all' data-handler='today' data-event='click'>\"+o+\"</button>\":\"\")+(Y?\"\":h)+\"</div>\":\"\",u=parseInt(this._get(e,\"firstDay\"),10),u=isNaN(u)?0:u,d=this._get(e,\"showWeek\"),c=this._get(e,\"dayNames\"),p=this._get(e,\"dayNamesMin\"),f=this._get(e,\"monthNames\"),m=this._get(e,\"monthNamesShort\"),g=this._get(e,\"beforeShowDay\"),v=this._get(e,\"showOtherMonths\"),y=this._get(e,\"selectOtherMonths\"),b=this._getDefaultDate(e),_=\"\",w=0;K[0]>w;w++){for(k=\"\",this.maxRows=4,T=0;K[1]>T;T++){if(D=this._daylightSavingAdjust(new Date(et,Z,e.selectedDay)),S=\" ui-corner-all\",M=\"\",Q){if(M+=\"<div class='ui-datepicker-group\",K[1]>1)switch(T){case 0:M+=\" ui-datepicker-group-first\",S=\" ui-corner-\"+(Y?\"right\":\"left\");break;case K[1]-1:M+=\" ui-datepicker-group-last\",S=\" ui-corner-\"+(Y?\"left\":\"right\");break;default:M+=\" ui-datepicker-group-middle\",S=\"\"}M+=\"'>\"}for(M+=\"<div class='ui-datepicker-header ui-widget-header ui-helper-clearfix\"+S+\"'>\"+(/all|left/.test(S)&&0===w?Y?a:s:\"\")+(/all|right/.test(S)&&0===w?Y?s:a:\"\")+this._generateMonthYearHeader(e,Z,et,X,$,w>0||T>0,f,m)+\"</div><table class='ui-datepicker-calendar'><thead>\"+\"<tr>\",C=d?\"<th class='ui-datepicker-week-col'>\"+this._get(e,\"weekHeader\")+\"</th>\":\"\",x=0;7>x;x++)N=(x+u)%7,C+=\"<th scope='col'\"+((x+u+6)%7>=5?\" class='ui-datepicker-week-end'\":\"\")+\">\"+\"<span title='\"+c[N]+\"'>\"+p[N]+\"</span></th>\";for(M+=C+\"</tr></thead><tbody>\",A=this._getDaysInMonth(et,Z),et===e.selectedYear&&Z===e.selectedMonth&&(e.selectedDay=Math.min(e.selectedDay,A)),P=(this._getFirstDayOfMonth(et,Z)-u+7)%7,I=Math.ceil((P+A)/7),H=Q?this.maxRows>I?this.maxRows:I:I,this.maxRows=H,z=this._daylightSavingAdjust(new Date(et,Z,1-P)),F=0;H>F;F++){for(M+=\"<tr>\",E=d?\"<td class='ui-datepicker-week-col'>\"+this._get(e,\"calculateWeek\")(z)+\"</td>\":\"\",x=0;7>x;x++)O=g?g.apply(e.input?e.input[0]:null,[z]):[!0,\"\"],j=z.getMonth()!==Z,W=j&&!y||!O[0]||X&&X>z||$&&z>$,E+=\"<td class='\"+((x+u+6)%7>=5?\" ui-datepicker-week-end\":\"\")+(j?\" ui-datepicker-other-month\":\"\")+(z.getTime()===D.getTime()&&Z===e.selectedMonth&&e._keyEvent||b.getTime()===z.getTime()&&b.getTime()===D.getTime()?\" \"+this._dayOverClass:\"\")+(W?\" \"+this._unselectableClass+\" ui-state-disabled\":\"\")+(j&&!v?\"\":\" \"+O[1]+(z.getTime()===G.getTime()?\" \"+this._currentClass:\"\")+(z.getTime()===R.getTime()?\" ui-datepicker-today\":\"\"))+\"'\"+(j&&!v||!O[2]?\"\":\" title='\"+O[2].replace(/'/g,\"&#39;\")+\"'\")+(W?\"\":\" data-handler='selectDay' data-event='click' data-month='\"+z.getMonth()+\"' data-year='\"+z.getFullYear()+\"'\")+\">\"+(j&&!v?\"&#xa0;\":W?\"<span class='ui-state-default'>\"+z.getDate()+\"</span>\":\"<a class='ui-state-default\"+(z.getTime()===R.getTime()?\" ui-state-highlight\":\"\")+(z.getTime()===G.getTime()?\" ui-state-active\":\"\")+(j?\" ui-priority-secondary\":\"\")+\"' href='#'>\"+z.getDate()+\"</a>\")+\"</td>\",z.setDate(z.getDate()+1),z=this._daylightSavingAdjust(z);M+=E+\"</tr>\"}Z++,Z>11&&(Z=0,et++),M+=\"</tbody></table>\"+(Q?\"</div>\"+(K[0]>0&&T===K[1]-1?\"<div class='ui-datepicker-row-break'></div>\":\"\"):\"\"),k+=M}_+=k}return _+=l,e._keyEvent=!1,_},_generateMonthYearHeader:function(e,t,i,s,n,a,o,r){var h,l,u,d,c,p,f,m,g=this._get(e,\"changeMonth\"),v=this._get(e,\"changeYear\"),y=this._get(e,\"showMonthAfterYear\"),b=\"<div class='ui-datepicker-title'>\",_=\"\";if(a||!g)_+=\"<span class='ui-datepicker-month'>\"+o[t]+\"</span>\";else{for(h=s&&s.getFullYear()===i,l=n&&n.getFullYear()===i,_+=\"<select class='ui-datepicker-month' data-handler='selectMonth' data-event='change'>\",u=0;12>u;u++)(!h||u>=s.getMonth())&&(!l||n.getMonth()>=u)&&(_+=\"<option value='\"+u+\"'\"+(u===t?\" selected='selected'\":\"\")+\">\"+r[u]+\"</option>\");_+=\"</select>\"}if(y||(b+=_+(!a&&g&&v?\"\":\"&#xa0;\")),!e.yearshtml)if(e.yearshtml=\"\",a||!v)b+=\"<span class='ui-datepicker-year'>\"+i+\"</span>\";else{for(d=this._get(e,\"yearRange\").split(\":\"),c=(new Date).getFullYear(),p=function(e){var t=e.match(/c[+\\-].*/)?i+parseInt(e.substring(1),10):e.match(/[+\\-].*/)?c+parseInt(e,10):parseInt(e,10);return isNaN(t)?c:t},f=p(d[0]),m=Math.max(f,p(d[1]||\"\")),f=s?Math.max(f,s.getFullYear()):f,m=n?Math.min(m,n.getFullYear()):m,e.yearshtml+=\"<select class='ui-datepicker-year' data-handler='selectYear' data-event='change'>\";m>=f;f++)e.yearshtml+=\"<option value='\"+f+\"'\"+(f===i?\" selected='selected'\":\"\")+\">\"+f+\"</option>\";e.yearshtml+=\"</select>\",b+=e.yearshtml,e.yearshtml=null}return b+=this._get(e,\"yearSuffix\"),y&&(b+=(!a&&g&&v?\"\":\"&#xa0;\")+_),b+=\"</div>\"},_adjustInstDate:function(e,t,i){var s=e.drawYear+(\"Y\"===i?t:0),n=e.drawMonth+(\"M\"===i?t:0),a=Math.min(e.selectedDay,this._getDaysInMonth(s,n))+(\"D\"===i?t:0),o=this._restrictMinMax(e,this._daylightSavingAdjust(new Date(s,n,a)));e.selectedDay=o.getDate(),e.drawMonth=e.selectedMonth=o.getMonth(),e.drawYear=e.selectedYear=o.getFullYear(),(\"M\"===i||\"Y\"===i)&&this._notifyChange(e)},_restrictMinMax:function(e,t){var i=this._getMinMaxDate(e,\"min\"),s=this._getMinMaxDate(e,\"max\"),n=i&&i>t?i:t;return s&&n>s?s:n},_notifyChange:function(e){var t=this._get(e,\"onChangeMonthYear\");t&&t.apply(e.input?e.input[0]:null,[e.selectedYear,e.selectedMonth+1,e])},_getNumberOfMonths:function(e){var t=this._get(e,\"numberOfMonths\");return null==t?[1,1]:\"number\"==typeof t?[1,t]:t},_getMinMaxDate:function(e,t){return this._determineDate(e,this._get(e,t+\"Date\"),null)},_getDaysInMonth:function(e,t){return 32-this._daylightSavingAdjust(new Date(e,t,32)).getDate()},_getFirstDayOfMonth:function(e,t){return new Date(e,t,1).getDay()},_canAdjustMonth:function(e,t,i,s){var n=this._getNumberOfMonths(e),a=this._daylightSavingAdjust(new Date(i,s+(0>t?t:n[0]*n[1]),1));return 0>t&&a.setDate(this._getDaysInMonth(a.getFullYear(),a.getMonth())),this._isInRange(e,a)},_isInRange:function(e,t){var i,s,n=this._getMinMaxDate(e,\"min\"),a=this._getMinMaxDate(e,\"max\"),o=null,r=null,h=this._get(e,\"yearRange\");return h&&(i=h.split(\":\"),s=(new Date).getFullYear(),o=parseInt(i[0],10),r=parseInt(i[1],10),i[0].match(/[+\\-].*/)&&(o+=s),i[1].match(/[+\\-].*/)&&(r+=s)),(!n||t.getTime()>=n.getTime())&&(!a||t.getTime()<=a.getTime())&&(!o||t.getFullYear()>=o)&&(!r||r>=t.getFullYear())},_getFormatConfig:function(e){var t=this._get(e,\"shortYearCutoff\");return t=\"string\"!=typeof t?t:(new Date).getFullYear()%100+parseInt(t,10),{shortYearCutoff:t,dayNamesShort:this._get(e,\"dayNamesShort\"),dayNames:this._get(e,\"dayNames\"),monthNamesShort:this._get(e,\"monthNamesShort\"),monthNames:this._get(e,\"monthNames\")}},_formatDate:function(e,t,i,s){t||(e.currentDay=e.selectedDay,e.currentMonth=e.selectedMonth,e.currentYear=e.selectedYear);var n=t?\"object\"==typeof t?t:this._daylightSavingAdjust(new Date(s,i,t)):this._daylightSavingAdjust(new Date(e.currentYear,e.currentMonth,e.currentDay));return this.formatDate(this._get(e,\"dateFormat\"),n,this._getFormatConfig(e))}}),e.fn.datepicker=function(t){if(!this.length)return this;e.datepicker.initialized||(e(document).mousedown(e.datepicker._checkExternalClick),e.datepicker.initialized=!0),0===e(\"#\"+e.datepicker._mainDivId).length&&e(\"body\").append(e.datepicker.dpDiv);var i=Array.prototype.slice.call(arguments,1);return\"string\"!=typeof t||\"isDisabled\"!==t&&\"getDate\"!==t&&\"widget\"!==t?\"option\"===t&&2===arguments.length&&\"string\"==typeof arguments[1]?e.datepicker[\"_\"+t+\"Datepicker\"].apply(e.datepicker,[this[0]].concat(i)):this.each(function(){\"string\"==typeof t?e.datepicker[\"_\"+t+\"Datepicker\"].apply(e.datepicker,[this].concat(i)):e.datepicker._attachDatepicker(this,t)}):e.datepicker[\"_\"+t+\"Datepicker\"].apply(e.datepicker,[this[0]].concat(i))},e.datepicker=new n,e.datepicker.initialized=!1,e.datepicker.uuid=(new Date).getTime(),e.datepicker.version=\"1.11.4\",e.datepicker,e.widget(\"ui.draggable\",e.ui.mouse,{version:\"1.11.4\",widgetEventPrefix:\"drag\",options:{addClasses:!0,appendTo:\"parent\",axis:!1,connectToSortable:!1,containment:!1,cursor:\"auto\",cursorAt:!1,grid:!1,handle:!1,helper:\"original\",iframeFix:!1,opacity:!1,refreshPositions:!1,revert:!1,revertDuration:500,scope:\"default\",scroll:!0,scrollSensitivity:20,scrollSpeed:20,snap:!1,snapMode:\"both\",snapTolerance:20,stack:!1,zIndex:!1,drag:null,start:null,stop:null},_create:function(){\"original\"===this.options.helper&&this._setPositionRelative(),this.options.addClasses&&this.element.addClass(\"ui-draggable\"),this.options.disabled&&this.element.addClass(\"ui-draggable-disabled\"),this._setHandleClassName(),this._mouseInit()},_setOption:function(e,t){this._super(e,t),\"handle\"===e&&(this._removeHandleClassName(),this._setHandleClassName())},_destroy:function(){return(this.helper||this.element).is(\".ui-draggable-dragging\")?(this.destroyOnClear=!0,void 0):(this.element.removeClass(\"ui-draggable ui-draggable-dragging ui-draggable-disabled\"),this._removeHandleClassName(),this._mouseDestroy(),void 0)},_mouseCapture:function(t){var i=this.options;return this._blurActiveElement(t),this.helper||i.disabled||e(t.target).closest(\".ui-resizable-handle\").length>0?!1:(this.handle=this._getHandle(t),this.handle?(this._blockFrames(i.iframeFix===!0?\"iframe\":i.iframeFix),!0):!1)},_blockFrames:function(t){this.iframeBlocks=this.document.find(t).map(function(){var t=e(this);return e(\"<div>\").css(\"position\",\"absolute\").appendTo(t.parent()).outerWidth(t.outerWidth()).outerHeight(t.outerHeight()).offset(t.offset())[0]})},_unblockFrames:function(){this.iframeBlocks&&(this.iframeBlocks.remove(),delete this.iframeBlocks)},_blurActiveElement:function(t){var i=this.document[0];if(this.handleElement.is(t.target))try{i.activeElement&&\"body\"!==i.activeElement.nodeName.toLowerCase()&&e(i.activeElement).blur()}catch(s){}},_mouseStart:function(t){var i=this.options;return this.helper=this._createHelper(t),this.helper.addClass(\"ui-draggable-dragging\"),this._cacheHelperProportions(),e.ui.ddmanager&&(e.ui.ddmanager.current=this),this._cacheMargins(),this.cssPosition=this.helper.css(\"position\"),this.scrollParent=this.helper.scrollParent(!0),this.offsetParent=this.helper.offsetParent(),this.hasFixedAncestor=this.helper.parents().filter(function(){return\"fixed\"===e(this).css(\"position\")}).length>0,this.positionAbs=this.element.offset(),this._refreshOffsets(t),this.originalPosition=this.position=this._generatePosition(t,!1),this.originalPageX=t.pageX,this.originalPageY=t.pageY,i.cursorAt&&this._adjustOffsetFromHelper(i.cursorAt),this._setContainment(),this._trigger(\"start\",t)===!1?(this._clear(),!1):(this._cacheHelperProportions(),e.ui.ddmanager&&!i.dropBehaviour&&e.ui.ddmanager.prepareOffsets(this,t),this._normalizeRightBottom(),this._mouseDrag(t,!0),e.ui.ddmanager&&e.ui.ddmanager.dragStart(this,t),!0)},_refreshOffsets:function(e){this.offset={top:this.positionAbs.top-this.margins.top,left:this.positionAbs.left-this.margins.left,scroll:!1,parent:this._getParentOffset(),relative:this._getRelativeOffset()},this.offset.click={left:e.pageX-this.offset.left,top:e.pageY-this.offset.top}},_mouseDrag:function(t,i){if(this.hasFixedAncestor&&(this.offset.parent=this._getParentOffset()),this.position=this._generatePosition(t,!0),this.positionAbs=this._convertPositionTo(\"absolute\"),!i){var s=this._uiHash();if(this._trigger(\"drag\",t,s)===!1)return this._mouseUp({}),!1;this.position=s.position}return this.helper[0].style.left=this.position.left+\"px\",this.helper[0].style.top=this.position.top+\"px\",e.ui.ddmanager&&e.ui.ddmanager.drag(this,t),!1},_mouseStop:function(t){var i=this,s=!1;return e.ui.ddmanager&&!this.options.dropBehaviour&&(s=e.ui.ddmanager.drop(this,t)),this.dropped&&(s=this.dropped,this.dropped=!1),\"invalid\"===this.options.revert&&!s||\"valid\"===this.options.revert&&s||this.options.revert===!0||e.isFunction(this.options.revert)&&this.options.revert.call(this.element,s)?e(this.helper).animate(this.originalPosition,parseInt(this.options.revertDuration,10),function(){i._trigger(\"stop\",t)!==!1&&i._clear()}):this._trigger(\"stop\",t)!==!1&&this._clear(),!1},_mouseUp:function(t){return this._unblockFrames(),e.ui.ddmanager&&e.ui.ddmanager.dragStop(this,t),this.handleElement.is(t.target)&&this.element.focus(),e.ui.mouse.prototype._mouseUp.call(this,t)},cancel:function(){return this.helper.is(\".ui-draggable-dragging\")?this._mouseUp({}):this._clear(),this},_getHandle:function(t){return this.options.handle?!!e(t.target).closest(this.element.find(this.options.handle)).length:!0},_setHandleClassName:function(){this.handleElement=this.options.handle?this.element.find(this.options.handle):this.element,this.handleElement.addClass(\"ui-draggable-handle\")},_removeHandleClassName:function(){this.handleElement.removeClass(\"ui-draggable-handle\")},_createHelper:function(t){var i=this.options,s=e.isFunction(i.helper),n=s?e(i.helper.apply(this.element[0],[t])):\"clone\"===i.helper?this.element.clone().removeAttr(\"id\"):this.element;return n.parents(\"body\").length||n.appendTo(\"parent\"===i.appendTo?this.element[0].parentNode:i.appendTo),s&&n[0]===this.element[0]&&this._setPositionRelative(),n[0]===this.element[0]||/(fixed|absolute)/.test(n.css(\"position\"))||n.css(\"position\",\"absolute\"),n},_setPositionRelative:function(){/^(?:r|a|f)/.test(this.element.css(\"position\"))||(this.element[0].style.position=\"relative\")},_adjustOffsetFromHelper:function(t){\"string\"==typeof t&&(t=t.split(\" \")),e.isArray(t)&&(t={left:+t[0],top:+t[1]||0}),\"left\"in t&&(this.offset.click.left=t.left+this.margins.left),\"right\"in t&&(this.offset.click.left=this.helperProportions.width-t.right+this.margins.left),\"top\"in t&&(this.offset.click.top=t.top+this.margins.top),\"bottom\"in t&&(this.offset.click.top=this.helperProportions.height-t.bottom+this.margins.top)},_isRootNode:function(e){return/(html|body)/i.test(e.tagName)||e===this.document[0]},_getParentOffset:function(){var t=this.offsetParent.offset(),i=this.document[0];return\"absolute\"===this.cssPosition&&this.scrollParent[0]!==i&&e.contains(this.scrollParent[0],this.offsetParent[0])&&(t.left+=this.scrollParent.scrollLeft(),t.top+=this.scrollParent.scrollTop()),this._isRootNode(this.offsetParent[0])&&(t={top:0,left:0}),{top:t.top+(parseInt(this.offsetParent.css(\"borderTopWidth\"),10)||0),left:t.left+(parseInt(this.offsetParent.css(\"borderLeftWidth\"),10)||0)}},_getRelativeOffset:function(){if(\"relative\"!==this.cssPosition)return{top:0,left:0};var e=this.element.position(),t=this._isRootNode(this.scrollParent[0]);return{top:e.top-(parseInt(this.helper.css(\"top\"),10)||0)+(t?0:this.scrollParent.scrollTop()),left:e.left-(parseInt(this.helper.css(\"left\"),10)||0)+(t?0:this.scrollParent.scrollLeft())}},_cacheMargins:function(){this.margins={left:parseInt(this.element.css(\"marginLeft\"),10)||0,top:parseInt(this.element.css(\"marginTop\"),10)||0,right:parseInt(this.element.css(\"marginRight\"),10)||0,bottom:parseInt(this.element.css(\"marginBottom\"),10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var t,i,s,n=this.options,a=this.document[0];return this.relativeContainer=null,n.containment?\"window\"===n.containment?(this.containment=[e(window).scrollLeft()-this.offset.relative.left-this.offset.parent.left,e(window).scrollTop()-this.offset.relative.top-this.offset.parent.top,e(window).scrollLeft()+e(window).width()-this.helperProportions.width-this.margins.left,e(window).scrollTop()+(e(window).height()||a.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top],void 0):\"document\"===n.containment?(this.containment=[0,0,e(a).width()-this.helperProportions.width-this.margins.left,(e(a).height()||a.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top],void 0):n.containment.constructor===Array?(this.containment=n.containment,void 0):(\"parent\"===n.containment&&(n.containment=this.helper[0].parentNode),i=e(n.containment),s=i[0],s&&(t=/(scroll|auto)/.test(i.css(\"overflow\")),this.containment=[(parseInt(i.css(\"borderLeftWidth\"),10)||0)+(parseInt(i.css(\"paddingLeft\"),10)||0),(parseInt(i.css(\"borderTopWidth\"),10)||0)+(parseInt(i.css(\"paddingTop\"),10)||0),(t?Math.max(s.scrollWidth,s.offsetWidth):s.offsetWidth)-(parseInt(i.css(\"borderRightWidth\"),10)||0)-(parseInt(i.css(\"paddingRight\"),10)||0)-this.helperProportions.width-this.margins.left-this.margins.right,(t?Math.max(s.scrollHeight,s.offsetHeight):s.offsetHeight)-(parseInt(i.css(\"borderBottomWidth\"),10)||0)-(parseInt(i.css(\"paddingBottom\"),10)||0)-this.helperProportions.height-this.margins.top-this.margins.bottom],this.relativeContainer=i),void 0):(this.containment=null,void 0)\r\n},_convertPositionTo:function(e,t){t||(t=this.position);var i=\"absolute\"===e?1:-1,s=this._isRootNode(this.scrollParent[0]);return{top:t.top+this.offset.relative.top*i+this.offset.parent.top*i-(\"fixed\"===this.cssPosition?-this.offset.scroll.top:s?0:this.offset.scroll.top)*i,left:t.left+this.offset.relative.left*i+this.offset.parent.left*i-(\"fixed\"===this.cssPosition?-this.offset.scroll.left:s?0:this.offset.scroll.left)*i}},_generatePosition:function(e,t){var i,s,n,a,o=this.options,r=this._isRootNode(this.scrollParent[0]),h=e.pageX,l=e.pageY;return r&&this.offset.scroll||(this.offset.scroll={top:this.scrollParent.scrollTop(),left:this.scrollParent.scrollLeft()}),t&&(this.containment&&(this.relativeContainer?(s=this.relativeContainer.offset(),i=[this.containment[0]+s.left,this.containment[1]+s.top,this.containment[2]+s.left,this.containment[3]+s.top]):i=this.containment,e.pageX-this.offset.click.left<i[0]&&(h=i[0]+this.offset.click.left),e.pageY-this.offset.click.top<i[1]&&(l=i[1]+this.offset.click.top),e.pageX-this.offset.click.left>i[2]&&(h=i[2]+this.offset.click.left),e.pageY-this.offset.click.top>i[3]&&(l=i[3]+this.offset.click.top)),o.grid&&(n=o.grid[1]?this.originalPageY+Math.round((l-this.originalPageY)/o.grid[1])*o.grid[1]:this.originalPageY,l=i?n-this.offset.click.top>=i[1]||n-this.offset.click.top>i[3]?n:n-this.offset.click.top>=i[1]?n-o.grid[1]:n+o.grid[1]:n,a=o.grid[0]?this.originalPageX+Math.round((h-this.originalPageX)/o.grid[0])*o.grid[0]:this.originalPageX,h=i?a-this.offset.click.left>=i[0]||a-this.offset.click.left>i[2]?a:a-this.offset.click.left>=i[0]?a-o.grid[0]:a+o.grid[0]:a),\"y\"===o.axis&&(h=this.originalPageX),\"x\"===o.axis&&(l=this.originalPageY)),{top:l-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+(\"fixed\"===this.cssPosition?-this.offset.scroll.top:r?0:this.offset.scroll.top),left:h-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+(\"fixed\"===this.cssPosition?-this.offset.scroll.left:r?0:this.offset.scroll.left)}},_clear:function(){this.helper.removeClass(\"ui-draggable-dragging\"),this.helper[0]===this.element[0]||this.cancelHelperRemoval||this.helper.remove(),this.helper=null,this.cancelHelperRemoval=!1,this.destroyOnClear&&this.destroy()},_normalizeRightBottom:function(){\"y\"!==this.options.axis&&\"auto\"!==this.helper.css(\"right\")&&(this.helper.width(this.helper.width()),this.helper.css(\"right\",\"auto\")),\"x\"!==this.options.axis&&\"auto\"!==this.helper.css(\"bottom\")&&(this.helper.height(this.helper.height()),this.helper.css(\"bottom\",\"auto\"))},_trigger:function(t,i,s){return s=s||this._uiHash(),e.ui.plugin.call(this,t,[i,s,this],!0),/^(drag|start|stop)/.test(t)&&(this.positionAbs=this._convertPositionTo(\"absolute\"),s.offset=this.positionAbs),e.Widget.prototype._trigger.call(this,t,i,s)},plugins:{},_uiHash:function(){return{helper:this.helper,position:this.position,originalPosition:this.originalPosition,offset:this.positionAbs}}}),e.ui.plugin.add(\"draggable\",\"connectToSortable\",{start:function(t,i,s){var n=e.extend({},i,{item:s.element});s.sortables=[],e(s.options.connectToSortable).each(function(){var i=e(this).sortable(\"instance\");i&&!i.options.disabled&&(s.sortables.push(i),i.refreshPositions(),i._trigger(\"activate\",t,n))})},stop:function(t,i,s){var n=e.extend({},i,{item:s.element});s.cancelHelperRemoval=!1,e.each(s.sortables,function(){var e=this;e.isOver?(e.isOver=0,s.cancelHelperRemoval=!0,e.cancelHelperRemoval=!1,e._storedCSS={position:e.placeholder.css(\"position\"),top:e.placeholder.css(\"top\"),left:e.placeholder.css(\"left\")},e._mouseStop(t),e.options.helper=e.options._helper):(e.cancelHelperRemoval=!0,e._trigger(\"deactivate\",t,n))})},drag:function(t,i,s){e.each(s.sortables,function(){var n=!1,a=this;a.positionAbs=s.positionAbs,a.helperProportions=s.helperProportions,a.offset.click=s.offset.click,a._intersectsWith(a.containerCache)&&(n=!0,e.each(s.sortables,function(){return this.positionAbs=s.positionAbs,this.helperProportions=s.helperProportions,this.offset.click=s.offset.click,this!==a&&this._intersectsWith(this.containerCache)&&e.contains(a.element[0],this.element[0])&&(n=!1),n})),n?(a.isOver||(a.isOver=1,s._parent=i.helper.parent(),a.currentItem=i.helper.appendTo(a.element).data(\"ui-sortable-item\",!0),a.options._helper=a.options.helper,a.options.helper=function(){return i.helper[0]},t.target=a.currentItem[0],a._mouseCapture(t,!0),a._mouseStart(t,!0,!0),a.offset.click.top=s.offset.click.top,a.offset.click.left=s.offset.click.left,a.offset.parent.left-=s.offset.parent.left-a.offset.parent.left,a.offset.parent.top-=s.offset.parent.top-a.offset.parent.top,s._trigger(\"toSortable\",t),s.dropped=a.element,e.each(s.sortables,function(){this.refreshPositions()}),s.currentItem=s.element,a.fromOutside=s),a.currentItem&&(a._mouseDrag(t),i.position=a.position)):a.isOver&&(a.isOver=0,a.cancelHelperRemoval=!0,a.options._revert=a.options.revert,a.options.revert=!1,a._trigger(\"out\",t,a._uiHash(a)),a._mouseStop(t,!0),a.options.revert=a.options._revert,a.options.helper=a.options._helper,a.placeholder&&a.placeholder.remove(),i.helper.appendTo(s._parent),s._refreshOffsets(t),i.position=s._generatePosition(t,!0),s._trigger(\"fromSortable\",t),s.dropped=!1,e.each(s.sortables,function(){this.refreshPositions()}))})}}),e.ui.plugin.add(\"draggable\",\"cursor\",{start:function(t,i,s){var n=e(\"body\"),a=s.options;n.css(\"cursor\")&&(a._cursor=n.css(\"cursor\")),n.css(\"cursor\",a.cursor)},stop:function(t,i,s){var n=s.options;n._cursor&&e(\"body\").css(\"cursor\",n._cursor)}}),e.ui.plugin.add(\"draggable\",\"opacity\",{start:function(t,i,s){var n=e(i.helper),a=s.options;n.css(\"opacity\")&&(a._opacity=n.css(\"opacity\")),n.css(\"opacity\",a.opacity)},stop:function(t,i,s){var n=s.options;n._opacity&&e(i.helper).css(\"opacity\",n._opacity)}}),e.ui.plugin.add(\"draggable\",\"scroll\",{start:function(e,t,i){i.scrollParentNotHidden||(i.scrollParentNotHidden=i.helper.scrollParent(!1)),i.scrollParentNotHidden[0]!==i.document[0]&&\"HTML\"!==i.scrollParentNotHidden[0].tagName&&(i.overflowOffset=i.scrollParentNotHidden.offset())},drag:function(t,i,s){var n=s.options,a=!1,o=s.scrollParentNotHidden[0],r=s.document[0];o!==r&&\"HTML\"!==o.tagName?(n.axis&&\"x\"===n.axis||(s.overflowOffset.top+o.offsetHeight-t.pageY<n.scrollSensitivity?o.scrollTop=a=o.scrollTop+n.scrollSpeed:t.pageY-s.overflowOffset.top<n.scrollSensitivity&&(o.scrollTop=a=o.scrollTop-n.scrollSpeed)),n.axis&&\"y\"===n.axis||(s.overflowOffset.left+o.offsetWidth-t.pageX<n.scrollSensitivity?o.scrollLeft=a=o.scrollLeft+n.scrollSpeed:t.pageX-s.overflowOffset.left<n.scrollSensitivity&&(o.scrollLeft=a=o.scrollLeft-n.scrollSpeed))):(n.axis&&\"x\"===n.axis||(t.pageY-e(r).scrollTop()<n.scrollSensitivity?a=e(r).scrollTop(e(r).scrollTop()-n.scrollSpeed):e(window).height()-(t.pageY-e(r).scrollTop())<n.scrollSensitivity&&(a=e(r).scrollTop(e(r).scrollTop()+n.scrollSpeed))),n.axis&&\"y\"===n.axis||(t.pageX-e(r).scrollLeft()<n.scrollSensitivity?a=e(r).scrollLeft(e(r).scrollLeft()-n.scrollSpeed):e(window).width()-(t.pageX-e(r).scrollLeft())<n.scrollSensitivity&&(a=e(r).scrollLeft(e(r).scrollLeft()+n.scrollSpeed)))),a!==!1&&e.ui.ddmanager&&!n.dropBehaviour&&e.ui.ddmanager.prepareOffsets(s,t)}}),e.ui.plugin.add(\"draggable\",\"snap\",{start:function(t,i,s){var n=s.options;s.snapElements=[],e(n.snap.constructor!==String?n.snap.items||\":data(ui-draggable)\":n.snap).each(function(){var t=e(this),i=t.offset();this!==s.element[0]&&s.snapElements.push({item:this,width:t.outerWidth(),height:t.outerHeight(),top:i.top,left:i.left})})},drag:function(t,i,s){var n,a,o,r,h,l,u,d,c,p,f=s.options,m=f.snapTolerance,g=i.offset.left,v=g+s.helperProportions.width,y=i.offset.top,b=y+s.helperProportions.height;for(c=s.snapElements.length-1;c>=0;c--)h=s.snapElements[c].left-s.margins.left,l=h+s.snapElements[c].width,u=s.snapElements[c].top-s.margins.top,d=u+s.snapElements[c].height,h-m>v||g>l+m||u-m>b||y>d+m||!e.contains(s.snapElements[c].item.ownerDocument,s.snapElements[c].item)?(s.snapElements[c].snapping&&s.options.snap.release&&s.options.snap.release.call(s.element,t,e.extend(s._uiHash(),{snapItem:s.snapElements[c].item})),s.snapElements[c].snapping=!1):(\"inner\"!==f.snapMode&&(n=m>=Math.abs(u-b),a=m>=Math.abs(d-y),o=m>=Math.abs(h-v),r=m>=Math.abs(l-g),n&&(i.position.top=s._convertPositionTo(\"relative\",{top:u-s.helperProportions.height,left:0}).top),a&&(i.position.top=s._convertPositionTo(\"relative\",{top:d,left:0}).top),o&&(i.position.left=s._convertPositionTo(\"relative\",{top:0,left:h-s.helperProportions.width}).left),r&&(i.position.left=s._convertPositionTo(\"relative\",{top:0,left:l}).left)),p=n||a||o||r,\"outer\"!==f.snapMode&&(n=m>=Math.abs(u-y),a=m>=Math.abs(d-b),o=m>=Math.abs(h-g),r=m>=Math.abs(l-v),n&&(i.position.top=s._convertPositionTo(\"relative\",{top:u,left:0}).top),a&&(i.position.top=s._convertPositionTo(\"relative\",{top:d-s.helperProportions.height,left:0}).top),o&&(i.position.left=s._convertPositionTo(\"relative\",{top:0,left:h}).left),r&&(i.position.left=s._convertPositionTo(\"relative\",{top:0,left:l-s.helperProportions.width}).left)),!s.snapElements[c].snapping&&(n||a||o||r||p)&&s.options.snap.snap&&s.options.snap.snap.call(s.element,t,e.extend(s._uiHash(),{snapItem:s.snapElements[c].item})),s.snapElements[c].snapping=n||a||o||r||p)}}),e.ui.plugin.add(\"draggable\",\"stack\",{start:function(t,i,s){var n,a=s.options,o=e.makeArray(e(a.stack)).sort(function(t,i){return(parseInt(e(t).css(\"zIndex\"),10)||0)-(parseInt(e(i).css(\"zIndex\"),10)||0)});o.length&&(n=parseInt(e(o[0]).css(\"zIndex\"),10)||0,e(o).each(function(t){e(this).css(\"zIndex\",n+t)}),this.css(\"zIndex\",n+o.length))}}),e.ui.plugin.add(\"draggable\",\"zIndex\",{start:function(t,i,s){var n=e(i.helper),a=s.options;n.css(\"zIndex\")&&(a._zIndex=n.css(\"zIndex\")),n.css(\"zIndex\",a.zIndex)},stop:function(t,i,s){var n=s.options;n._zIndex&&e(i.helper).css(\"zIndex\",n._zIndex)}}),e.ui.draggable,e.widget(\"ui.resizable\",e.ui.mouse,{version:\"1.11.4\",widgetEventPrefix:\"resize\",options:{alsoResize:!1,animate:!1,animateDuration:\"slow\",animateEasing:\"swing\",aspectRatio:!1,autoHide:!1,containment:!1,ghost:!1,grid:!1,handles:\"e,s,se\",helper:!1,maxHeight:null,maxWidth:null,minHeight:10,minWidth:10,zIndex:90,resize:null,start:null,stop:null},_num:function(e){return parseInt(e,10)||0},_isNumber:function(e){return!isNaN(parseInt(e,10))},_hasScroll:function(t,i){if(\"hidden\"===e(t).css(\"overflow\"))return!1;var s=i&&\"left\"===i?\"scrollLeft\":\"scrollTop\",n=!1;return t[s]>0?!0:(t[s]=1,n=t[s]>0,t[s]=0,n)},_create:function(){var t,i,s,n,a,o=this,r=this.options;if(this.element.addClass(\"ui-resizable\"),e.extend(this,{_aspectRatio:!!r.aspectRatio,aspectRatio:r.aspectRatio,originalElement:this.element,_proportionallyResizeElements:[],_helper:r.helper||r.ghost||r.animate?r.helper||\"ui-resizable-helper\":null}),this.element[0].nodeName.match(/^(canvas|textarea|input|select|button|img)$/i)&&(this.element.wrap(e(\"<div class='ui-wrapper' style='overflow: hidden;'></div>\").css({position:this.element.css(\"position\"),width:this.element.outerWidth(),height:this.element.outerHeight(),top:this.element.css(\"top\"),left:this.element.css(\"left\")})),this.element=this.element.parent().data(\"ui-resizable\",this.element.resizable(\"instance\")),this.elementIsWrapper=!0,this.element.css({marginLeft:this.originalElement.css(\"marginLeft\"),marginTop:this.originalElement.css(\"marginTop\"),marginRight:this.originalElement.css(\"marginRight\"),marginBottom:this.originalElement.css(\"marginBottom\")}),this.originalElement.css({marginLeft:0,marginTop:0,marginRight:0,marginBottom:0}),this.originalResizeStyle=this.originalElement.css(\"resize\"),this.originalElement.css(\"resize\",\"none\"),this._proportionallyResizeElements.push(this.originalElement.css({position:\"static\",zoom:1,display:\"block\"})),this.originalElement.css({margin:this.originalElement.css(\"margin\")}),this._proportionallyResize()),this.handles=r.handles||(e(\".ui-resizable-handle\",this.element).length?{n:\".ui-resizable-n\",e:\".ui-resizable-e\",s:\".ui-resizable-s\",w:\".ui-resizable-w\",se:\".ui-resizable-se\",sw:\".ui-resizable-sw\",ne:\".ui-resizable-ne\",nw:\".ui-resizable-nw\"}:\"e,s,se\"),this._handles=e(),this.handles.constructor===String)for(\"all\"===this.handles&&(this.handles=\"n,e,s,w,se,sw,ne,nw\"),t=this.handles.split(\",\"),this.handles={},i=0;t.length>i;i++)s=e.trim(t[i]),a=\"ui-resizable-\"+s,n=e(\"<div class='ui-resizable-handle \"+a+\"'></div>\"),n.css({zIndex:r.zIndex}),\"se\"===s&&n.addClass(\"ui-icon ui-icon-gripsmall-diagonal-se\"),this.handles[s]=\".ui-resizable-\"+s,this.element.append(n);this._renderAxis=function(t){var i,s,n,a;t=t||this.element;for(i in this.handles)this.handles[i].constructor===String?this.handles[i]=this.element.children(this.handles[i]).first().show():(this.handles[i].jquery||this.handles[i].nodeType)&&(this.handles[i]=e(this.handles[i]),this._on(this.handles[i],{mousedown:o._mouseDown})),this.elementIsWrapper&&this.originalElement[0].nodeName.match(/^(textarea|input|select|button)$/i)&&(s=e(this.handles[i],this.element),a=/sw|ne|nw|se|n|s/.test(i)?s.outerHeight():s.outerWidth(),n=[\"padding\",/ne|nw|n/.test(i)?\"Top\":/se|sw|s/.test(i)?\"Bottom\":/^e$/.test(i)?\"Right\":\"Left\"].join(\"\"),t.css(n,a),this._proportionallyResize()),this._handles=this._handles.add(this.handles[i])},this._renderAxis(this.element),this._handles=this._handles.add(this.element.find(\".ui-resizable-handle\")),this._handles.disableSelection(),this._handles.mouseover(function(){o.resizing||(this.className&&(n=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i)),o.axis=n&&n[1]?n[1]:\"se\")}),r.autoHide&&(this._handles.hide(),e(this.element).addClass(\"ui-resizable-autohide\").mouseenter(function(){r.disabled||(e(this).removeClass(\"ui-resizable-autohide\"),o._handles.show())}).mouseleave(function(){r.disabled||o.resizing||(e(this).addClass(\"ui-resizable-autohide\"),o._handles.hide())})),this._mouseInit()},_destroy:function(){this._mouseDestroy();var t,i=function(t){e(t).removeClass(\"ui-resizable ui-resizable-disabled ui-resizable-resizing\").removeData(\"resizable\").removeData(\"ui-resizable\").unbind(\".resizable\").find(\".ui-resizable-handle\").remove()};return this.elementIsWrapper&&(i(this.element),t=this.element,this.originalElement.css({position:t.css(\"position\"),width:t.outerWidth(),height:t.outerHeight(),top:t.css(\"top\"),left:t.css(\"left\")}).insertAfter(t),t.remove()),this.originalElement.css(\"resize\",this.originalResizeStyle),i(this.originalElement),this},_mouseCapture:function(t){var i,s,n=!1;for(i in this.handles)s=e(this.handles[i])[0],(s===t.target||e.contains(s,t.target))&&(n=!0);return!this.options.disabled&&n},_mouseStart:function(t){var i,s,n,a=this.options,o=this.element;return this.resizing=!0,this._renderProxy(),i=this._num(this.helper.css(\"left\")),s=this._num(this.helper.css(\"top\")),a.containment&&(i+=e(a.containment).scrollLeft()||0,s+=e(a.containment).scrollTop()||0),this.offset=this.helper.offset(),this.position={left:i,top:s},this.size=this._helper?{width:this.helper.width(),height:this.helper.height()}:{width:o.width(),height:o.height()},this.originalSize=this._helper?{width:o.outerWidth(),height:o.outerHeight()}:{width:o.width(),height:o.height()},this.sizeDiff={width:o.outerWidth()-o.width(),height:o.outerHeight()-o.height()},this.originalPosition={left:i,top:s},this.originalMousePosition={left:t.pageX,top:t.pageY},this.aspectRatio=\"number\"==typeof a.aspectRatio?a.aspectRatio:this.originalSize.width/this.originalSize.height||1,n=e(\".ui-resizable-\"+this.axis).css(\"cursor\"),e(\"body\").css(\"cursor\",\"auto\"===n?this.axis+\"-resize\":n),o.addClass(\"ui-resizable-resizing\"),this._propagate(\"start\",t),!0},_mouseDrag:function(t){var i,s,n=this.originalMousePosition,a=this.axis,o=t.pageX-n.left||0,r=t.pageY-n.top||0,h=this._change[a];return this._updatePrevProperties(),h?(i=h.apply(this,[t,o,r]),this._updateVirtualBoundaries(t.shiftKey),(this._aspectRatio||t.shiftKey)&&(i=this._updateRatio(i,t)),i=this._respectSize(i,t),this._updateCache(i),this._propagate(\"resize\",t),s=this._applyChanges(),!this._helper&&this._proportionallyResizeElements.length&&this._proportionallyResize(),e.isEmptyObject(s)||(this._updatePrevProperties(),this._trigger(\"resize\",t,this.ui()),this._applyChanges()),!1):!1},_mouseStop:function(t){this.resizing=!1;var i,s,n,a,o,r,h,l=this.options,u=this;return this._helper&&(i=this._proportionallyResizeElements,s=i.length&&/textarea/i.test(i[0].nodeName),n=s&&this._hasScroll(i[0],\"left\")?0:u.sizeDiff.height,a=s?0:u.sizeDiff.width,o={width:u.helper.width()-a,height:u.helper.height()-n},r=parseInt(u.element.css(\"left\"),10)+(u.position.left-u.originalPosition.left)||null,h=parseInt(u.element.css(\"top\"),10)+(u.position.top-u.originalPosition.top)||null,l.animate||this.element.css(e.extend(o,{top:h,left:r})),u.helper.height(u.size.height),u.helper.width(u.size.width),this._helper&&!l.animate&&this._proportionallyResize()),e(\"body\").css(\"cursor\",\"auto\"),this.element.removeClass(\"ui-resizable-resizing\"),this._propagate(\"stop\",t),this._helper&&this.helper.remove(),!1},_updatePrevProperties:function(){this.prevPosition={top:this.position.top,left:this.position.left},this.prevSize={width:this.size.width,height:this.size.height}},_applyChanges:function(){var e={};return this.position.top!==this.prevPosition.top&&(e.top=this.position.top+\"px\"),this.position.left!==this.prevPosition.left&&(e.left=this.position.left+\"px\"),this.size.width!==this.prevSize.width&&(e.width=this.size.width+\"px\"),this.size.height!==this.prevSize.height&&(e.height=this.size.height+\"px\"),this.helper.css(e),e},_updateVirtualBoundaries:function(e){var t,i,s,n,a,o=this.options;a={minWidth:this._isNumber(o.minWidth)?o.minWidth:0,maxWidth:this._isNumber(o.maxWidth)?o.maxWidth:1/0,minHeight:this._isNumber(o.minHeight)?o.minHeight:0,maxHeight:this._isNumber(o.maxHeight)?o.maxHeight:1/0},(this._aspectRatio||e)&&(t=a.minHeight*this.aspectRatio,s=a.minWidth/this.aspectRatio,i=a.maxHeight*this.aspectRatio,n=a.maxWidth/this.aspectRatio,t>a.minWidth&&(a.minWidth=t),s>a.minHeight&&(a.minHeight=s),a.maxWidth>i&&(a.maxWidth=i),a.maxHeight>n&&(a.maxHeight=n)),this._vBoundaries=a},_updateCache:function(e){this.offset=this.helper.offset(),this._isNumber(e.left)&&(this.position.left=e.left),this._isNumber(e.top)&&(this.position.top=e.top),this._isNumber(e.height)&&(this.size.height=e.height),this._isNumber(e.width)&&(this.size.width=e.width)},_updateRatio:function(e){var t=this.position,i=this.size,s=this.axis;return this._isNumber(e.height)?e.width=e.height*this.aspectRatio:this._isNumber(e.width)&&(e.height=e.width/this.aspectRatio),\"sw\"===s&&(e.left=t.left+(i.width-e.width),e.top=null),\"nw\"===s&&(e.top=t.top+(i.height-e.height),e.left=t.left+(i.width-e.width)),e},_respectSize:function(e){var t=this._vBoundaries,i=this.axis,s=this._isNumber(e.width)&&t.maxWidth&&t.maxWidth<e.width,n=this._isNumber(e.height)&&t.maxHeight&&t.maxHeight<e.height,a=this._isNumber(e.width)&&t.minWidth&&t.minWidth>e.width,o=this._isNumber(e.height)&&t.minHeight&&t.minHeight>e.height,r=this.originalPosition.left+this.originalSize.width,h=this.position.top+this.size.height,l=/sw|nw|w/.test(i),u=/nw|ne|n/.test(i);return a&&(e.width=t.minWidth),o&&(e.height=t.minHeight),s&&(e.width=t.maxWidth),n&&(e.height=t.maxHeight),a&&l&&(e.left=r-t.minWidth),s&&l&&(e.left=r-t.maxWidth),o&&u&&(e.top=h-t.minHeight),n&&u&&(e.top=h-t.maxHeight),e.width||e.height||e.left||!e.top?e.width||e.height||e.top||!e.left||(e.left=null):e.top=null,e},_getPaddingPlusBorderDimensions:function(e){for(var t=0,i=[],s=[e.css(\"borderTopWidth\"),e.css(\"borderRightWidth\"),e.css(\"borderBottomWidth\"),e.css(\"borderLeftWidth\")],n=[e.css(\"paddingTop\"),e.css(\"paddingRight\"),e.css(\"paddingBottom\"),e.css(\"paddingLeft\")];4>t;t++)i[t]=parseInt(s[t],10)||0,i[t]+=parseInt(n[t],10)||0;return{height:i[0]+i[2],width:i[1]+i[3]}},_proportionallyResize:function(){if(this._proportionallyResizeElements.length)for(var e,t=0,i=this.helper||this.element;this._proportionallyResizeElements.length>t;t++)e=this._proportionallyResizeElements[t],this.outerDimensions||(this.outerDimensions=this._getPaddingPlusBorderDimensions(e)),e.css({height:i.height()-this.outerDimensions.height||0,width:i.width()-this.outerDimensions.width||0})},_renderProxy:function(){var t=this.element,i=this.options;this.elementOffset=t.offset(),this._helper?(this.helper=this.helper||e(\"<div style='overflow:hidden;'></div>\"),this.helper.addClass(this._helper).css({width:this.element.outerWidth()-1,height:this.element.outerHeight()-1,position:\"absolute\",left:this.elementOffset.left+\"px\",top:this.elementOffset.top+\"px\",zIndex:++i.zIndex}),this.helper.appendTo(\"body\").disableSelection()):this.helper=this.element},_change:{e:function(e,t){return{width:this.originalSize.width+t}},w:function(e,t){var i=this.originalSize,s=this.originalPosition;return{left:s.left+t,width:i.width-t}},n:function(e,t,i){var s=this.originalSize,n=this.originalPosition;return{top:n.top+i,height:s.height-i}},s:function(e,t,i){return{height:this.originalSize.height+i}},se:function(t,i,s){return e.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[t,i,s]))},sw:function(t,i,s){return e.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[t,i,s]))},ne:function(t,i,s){return e.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[t,i,s]))},nw:function(t,i,s){return e.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[t,i,s]))}},_propagate:function(t,i){e.ui.plugin.call(this,t,[i,this.ui()]),\"resize\"!==t&&this._trigger(t,i,this.ui())},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}}),e.ui.plugin.add(\"resizable\",\"animate\",{stop:function(t){var i=e(this).resizable(\"instance\"),s=i.options,n=i._proportionallyResizeElements,a=n.length&&/textarea/i.test(n[0].nodeName),o=a&&i._hasScroll(n[0],\"left\")?0:i.sizeDiff.height,r=a?0:i.sizeDiff.width,h={width:i.size.width-r,height:i.size.height-o},l=parseInt(i.element.css(\"left\"),10)+(i.position.left-i.originalPosition.left)||null,u=parseInt(i.element.css(\"top\"),10)+(i.position.top-i.originalPosition.top)||null;i.element.animate(e.extend(h,u&&l?{top:u,left:l}:{}),{duration:s.animateDuration,easing:s.animateEasing,step:function(){var s={width:parseInt(i.element.css(\"width\"),10),height:parseInt(i.element.css(\"height\"),10),top:parseInt(i.element.css(\"top\"),10),left:parseInt(i.element.css(\"left\"),10)};n&&n.length&&e(n[0]).css({width:s.width,height:s.height}),i._updateCache(s),i._propagate(\"resize\",t)}})}}),e.ui.plugin.add(\"resizable\",\"containment\",{start:function(){var t,i,s,n,a,o,r,h=e(this).resizable(\"instance\"),l=h.options,u=h.element,d=l.containment,c=d instanceof e?d.get(0):/parent/.test(d)?u.parent().get(0):d;c&&(h.containerElement=e(c),/document/.test(d)||d===document?(h.containerOffset={left:0,top:0},h.containerPosition={left:0,top:0},h.parentData={element:e(document),left:0,top:0,width:e(document).width(),height:e(document).height()||document.body.parentNode.scrollHeight}):(t=e(c),i=[],e([\"Top\",\"Right\",\"Left\",\"Bottom\"]).each(function(e,s){i[e]=h._num(t.css(\"padding\"+s))}),h.containerOffset=t.offset(),h.containerPosition=t.position(),h.containerSize={height:t.innerHeight()-i[3],width:t.innerWidth()-i[1]},s=h.containerOffset,n=h.containerSize.height,a=h.containerSize.width,o=h._hasScroll(c,\"left\")?c.scrollWidth:a,r=h._hasScroll(c)?c.scrollHeight:n,h.parentData={element:c,left:s.left,top:s.top,width:o,height:r}))},resize:function(t){var i,s,n,a,o=e(this).resizable(\"instance\"),r=o.options,h=o.containerOffset,l=o.position,u=o._aspectRatio||t.shiftKey,d={top:0,left:0},c=o.containerElement,p=!0;c[0]!==document&&/static/.test(c.css(\"position\"))&&(d=h),l.left<(o._helper?h.left:0)&&(o.size.width=o.size.width+(o._helper?o.position.left-h.left:o.position.left-d.left),u&&(o.size.height=o.size.width/o.aspectRatio,p=!1),o.position.left=r.helper?h.left:0),l.top<(o._helper?h.top:0)&&(o.size.height=o.size.height+(o._helper?o.position.top-h.top:o.position.top),u&&(o.size.width=o.size.height*o.aspectRatio,p=!1),o.position.top=o._helper?h.top:0),n=o.containerElement.get(0)===o.element.parent().get(0),a=/relative|absolute/.test(o.containerElement.css(\"position\")),n&&a?(o.offset.left=o.parentData.left+o.position.left,o.offset.top=o.parentData.top+o.position.top):(o.offset.left=o.element.offset().left,o.offset.top=o.element.offset().top),i=Math.abs(o.sizeDiff.width+(o._helper?o.offset.left-d.left:o.offset.left-h.left)),s=Math.abs(o.sizeDiff.height+(o._helper?o.offset.top-d.top:o.offset.top-h.top)),i+o.size.width>=o.parentData.width&&(o.size.width=o.parentData.width-i,u&&(o.size.height=o.size.width/o.aspectRatio,p=!1)),s+o.size.height>=o.parentData.height&&(o.size.height=o.parentData.height-s,u&&(o.size.width=o.size.height*o.aspectRatio,p=!1)),p||(o.position.left=o.prevPosition.left,o.position.top=o.prevPosition.top,o.size.width=o.prevSize.width,o.size.height=o.prevSize.height)},stop:function(){var t=e(this).resizable(\"instance\"),i=t.options,s=t.containerOffset,n=t.containerPosition,a=t.containerElement,o=e(t.helper),r=o.offset(),h=o.outerWidth()-t.sizeDiff.width,l=o.outerHeight()-t.sizeDiff.height;t._helper&&!i.animate&&/relative/.test(a.css(\"position\"))&&e(this).css({left:r.left-n.left-s.left,width:h,height:l}),t._helper&&!i.animate&&/static/.test(a.css(\"position\"))&&e(this).css({left:r.left-n.left-s.left,width:h,height:l})}}),e.ui.plugin.add(\"resizable\",\"alsoResize\",{start:function(){var t=e(this).resizable(\"instance\"),i=t.options;e(i.alsoResize).each(function(){var t=e(this);t.data(\"ui-resizable-alsoresize\",{width:parseInt(t.width(),10),height:parseInt(t.height(),10),left:parseInt(t.css(\"left\"),10),top:parseInt(t.css(\"top\"),10)})})},resize:function(t,i){var s=e(this).resizable(\"instance\"),n=s.options,a=s.originalSize,o=s.originalPosition,r={height:s.size.height-a.height||0,width:s.size.width-a.width||0,top:s.position.top-o.top||0,left:s.position.left-o.left||0};e(n.alsoResize).each(function(){var t=e(this),s=e(this).data(\"ui-resizable-alsoresize\"),n={},a=t.parents(i.originalElement[0]).length?[\"width\",\"height\"]:[\"width\",\"height\",\"top\",\"left\"];e.each(a,function(e,t){var i=(s[t]||0)+(r[t]||0);i&&i>=0&&(n[t]=i||null)}),t.css(n)})},stop:function(){e(this).removeData(\"resizable-alsoresize\")}}),e.ui.plugin.add(\"resizable\",\"ghost\",{start:function(){var t=e(this).resizable(\"instance\"),i=t.options,s=t.size;t.ghost=t.originalElement.clone(),t.ghost.css({opacity:.25,display:\"block\",position:\"relative\",height:s.height,width:s.width,margin:0,left:0,top:0}).addClass(\"ui-resizable-ghost\").addClass(\"string\"==typeof i.ghost?i.ghost:\"\"),t.ghost.appendTo(t.helper)},resize:function(){var t=e(this).resizable(\"instance\");t.ghost&&t.ghost.css({position:\"relative\",height:t.size.height,width:t.size.width})},stop:function(){var t=e(this).resizable(\"instance\");t.ghost&&t.helper&&t.helper.get(0).removeChild(t.ghost.get(0))}}),e.ui.plugin.add(\"resizable\",\"grid\",{resize:function(){var t,i=e(this).resizable(\"instance\"),s=i.options,n=i.size,a=i.originalSize,o=i.originalPosition,r=i.axis,h=\"number\"==typeof s.grid?[s.grid,s.grid]:s.grid,l=h[0]||1,u=h[1]||1,d=Math.round((n.width-a.width)/l)*l,c=Math.round((n.height-a.height)/u)*u,p=a.width+d,f=a.height+c,m=s.maxWidth&&p>s.maxWidth,g=s.maxHeight&&f>s.maxHeight,v=s.minWidth&&s.minWidth>p,y=s.minHeight&&s.minHeight>f;s.grid=h,v&&(p+=l),y&&(f+=u),m&&(p-=l),g&&(f-=u),/^(se|s|e)$/.test(r)?(i.size.width=p,i.size.height=f):/^(ne)$/.test(r)?(i.size.width=p,i.size.height=f,i.position.top=o.top-c):/^(sw)$/.test(r)?(i.size.width=p,i.size.height=f,i.position.left=o.left-d):((0>=f-u||0>=p-l)&&(t=i._getPaddingPlusBorderDimensions(this)),f-u>0?(i.size.height=f,i.position.top=o.top-c):(f=u-t.height,i.size.height=f,i.position.top=o.top+a.height-f),p-l>0?(i.size.width=p,i.position.left=o.left-d):(p=l-t.width,i.size.width=p,i.position.left=o.left+a.width-p))}}),e.ui.resizable,e.widget(\"ui.dialog\",{version:\"1.11.4\",options:{appendTo:\"body\",autoOpen:!0,buttons:[],closeOnEscape:!0,closeText:\"Close\",dialogClass:\"\",draggable:!0,hide:null,height:\"auto\",maxHeight:null,maxWidth:null,minHeight:150,minWidth:150,modal:!1,position:{my:\"center\",at:\"center\",of:window,collision:\"fit\",using:function(t){var i=e(this).css(t).offset().top;0>i&&e(this).css(\"top\",t.top-i)}},resizable:!0,show:null,title:null,width:300,beforeClose:null,close:null,drag:null,dragStart:null,dragStop:null,focus:null,open:null,resize:null,resizeStart:null,resizeStop:null},sizeRelatedOptions:{buttons:!0,height:!0,maxHeight:!0,maxWidth:!0,minHeight:!0,minWidth:!0,width:!0},resizableRelatedOptions:{maxHeight:!0,maxWidth:!0,minHeight:!0,minWidth:!0},_create:function(){this.originalCss={display:this.element[0].style.display,width:this.element[0].style.width,minHeight:this.element[0].style.minHeight,maxHeight:this.element[0].style.maxHeight,height:this.element[0].style.height},this.originalPosition={parent:this.element.parent(),index:this.element.parent().children().index(this.element)},this.originalTitle=this.element.attr(\"title\"),this.options.title=this.options.title||this.originalTitle,this._createWrapper(),this.element.show().removeAttr(\"title\").addClass(\"ui-dialog-content ui-widget-content\").appendTo(this.uiDialog),this._createTitlebar(),this._createButtonPane(),this.options.draggable&&e.fn.draggable&&this._makeDraggable(),this.options.resizable&&e.fn.resizable&&this._makeResizable(),this._isOpen=!1,this._trackFocus()},_init:function(){this.options.autoOpen&&this.open()},_appendTo:function(){var t=this.options.appendTo;return t&&(t.jquery||t.nodeType)?e(t):this.document.find(t||\"body\").eq(0)},_destroy:function(){var e,t=this.originalPosition;this._untrackInstance(),this._destroyOverlay(),this.element.removeUniqueId().removeClass(\"ui-dialog-content ui-widget-content\").css(this.originalCss).detach(),this.uiDialog.stop(!0,!0).remove(),this.originalTitle&&this.element.attr(\"title\",this.originalTitle),e=t.parent.children().eq(t.index),e.length&&e[0]!==this.element[0]?e.before(this.element):t.parent.append(this.element)},widget:function(){return this.uiDialog},disable:e.noop,enable:e.noop,close:function(t){var i,s=this;if(this._isOpen&&this._trigger(\"beforeClose\",t)!==!1){if(this._isOpen=!1,this._focusedElement=null,this._destroyOverlay(),this._untrackInstance(),!this.opener.filter(\":focusable\").focus().length)try{i=this.document[0].activeElement,i&&\"body\"!==i.nodeName.toLowerCase()&&e(i).blur()}catch(n){}this._hide(this.uiDialog,this.options.hide,function(){s._trigger(\"close\",t)})}},isOpen:function(){return this._isOpen},moveToTop:function(){this._moveToTop()},_moveToTop:function(t,i){var s=!1,n=this.uiDialog.siblings(\".ui-front:visible\").map(function(){return+e(this).css(\"z-index\")}).get(),a=Math.max.apply(null,n);return a>=+this.uiDialog.css(\"z-index\")&&(this.uiDialog.css(\"z-index\",a+1),s=!0),s&&!i&&this._trigger(\"focus\",t),s},open:function(){var t=this;return this._isOpen?(this._moveToTop()&&this._focusTabbable(),void 0):(this._isOpen=!0,this.opener=e(this.document[0].activeElement),this._size(),this._position(),this._createOverlay(),this._moveToTop(null,!0),this.overlay&&this.overlay.css(\"z-index\",this.uiDialog.css(\"z-index\")-1),this._show(this.uiDialog,this.options.show,function(){t._focusTabbable(),t._trigger(\"focus\")}),this._makeFocusTarget(),this._trigger(\"open\"),void 0)},_focusTabbable:function(){var e=this._focusedElement;e||(e=this.element.find(\"[autofocus]\")),e.length||(e=this.element.find(\":tabbable\")),e.length||(e=this.uiDialogButtonPane.find(\":tabbable\")),e.length||(e=this.uiDialogTitlebarClose.filter(\":tabbable\")),e.length||(e=this.uiDialog),e.eq(0).focus()},_keepFocus:function(t){function i(){var t=this.document[0].activeElement,i=this.uiDialog[0]===t||e.contains(this.uiDialog[0],t);i||this._focusTabbable()}t.preventDefault(),i.call(this),this._delay(i)},_createWrapper:function(){this.uiDialog=e(\"<div>\").addClass(\"ui-dialog ui-widget ui-widget-content ui-corner-all ui-front \"+this.options.dialogClass).hide().attr({tabIndex:-1,role:\"dialog\"}).appendTo(this._appendTo()),this._on(this.uiDialog,{keydown:function(t){if(this.options.closeOnEscape&&!t.isDefaultPrevented()&&t.keyCode&&t.keyCode===e.ui.keyCode.ESCAPE)return t.preventDefault(),this.close(t),void 0;\r\nif(t.keyCode===e.ui.keyCode.TAB&&!t.isDefaultPrevented()){var i=this.uiDialog.find(\":tabbable\"),s=i.filter(\":first\"),n=i.filter(\":last\");t.target!==n[0]&&t.target!==this.uiDialog[0]||t.shiftKey?t.target!==s[0]&&t.target!==this.uiDialog[0]||!t.shiftKey||(this._delay(function(){n.focus()}),t.preventDefault()):(this._delay(function(){s.focus()}),t.preventDefault())}},mousedown:function(e){this._moveToTop(e)&&this._focusTabbable()}}),this.element.find(\"[aria-describedby]\").length||this.uiDialog.attr({\"aria-describedby\":this.element.uniqueId().attr(\"id\")})},_createTitlebar:function(){var t;this.uiDialogTitlebar=e(\"<div>\").addClass(\"ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix\").prependTo(this.uiDialog),this._on(this.uiDialogTitlebar,{mousedown:function(t){e(t.target).closest(\".ui-dialog-titlebar-close\")||this.uiDialog.focus()}}),this.uiDialogTitlebarClose=e(\"<button type='button'></button>\").button({label:this.options.closeText,icons:{primary:\"ui-icon-closethick\"},text:!1}).addClass(\"ui-dialog-titlebar-close\").appendTo(this.uiDialogTitlebar),this._on(this.uiDialogTitlebarClose,{click:function(e){e.preventDefault(),this.close(e)}}),t=e(\"<span>\").uniqueId().addClass(\"ui-dialog-title\").prependTo(this.uiDialogTitlebar),this._title(t),this.uiDialog.attr({\"aria-labelledby\":t.attr(\"id\")})},_title:function(e){this.options.title||e.html(\"&#160;\"),e.text(this.options.title)},_createButtonPane:function(){this.uiDialogButtonPane=e(\"<div>\").addClass(\"ui-dialog-buttonpane ui-widget-content ui-helper-clearfix\"),this.uiButtonSet=e(\"<div>\").addClass(\"ui-dialog-buttonset\").appendTo(this.uiDialogButtonPane),this._createButtons()},_createButtons:function(){var t=this,i=this.options.buttons;return this.uiDialogButtonPane.remove(),this.uiButtonSet.empty(),e.isEmptyObject(i)||e.isArray(i)&&!i.length?(this.uiDialog.removeClass(\"ui-dialog-buttons\"),void 0):(e.each(i,function(i,s){var n,a;s=e.isFunction(s)?{click:s,text:i}:s,s=e.extend({type:\"button\"},s),n=s.click,s.click=function(){n.apply(t.element[0],arguments)},a={icons:s.icons,text:s.showText},delete s.icons,delete s.showText,e(\"<button></button>\",s).button(a).appendTo(t.uiButtonSet)}),this.uiDialog.addClass(\"ui-dialog-buttons\"),this.uiDialogButtonPane.appendTo(this.uiDialog),void 0)},_makeDraggable:function(){function t(e){return{position:e.position,offset:e.offset}}var i=this,s=this.options;this.uiDialog.draggable({cancel:\".ui-dialog-content, .ui-dialog-titlebar-close\",handle:\".ui-dialog-titlebar\",containment:\"document\",start:function(s,n){e(this).addClass(\"ui-dialog-dragging\"),i._blockFrames(),i._trigger(\"dragStart\",s,t(n))},drag:function(e,s){i._trigger(\"drag\",e,t(s))},stop:function(n,a){var o=a.offset.left-i.document.scrollLeft(),r=a.offset.top-i.document.scrollTop();s.position={my:\"left top\",at:\"left\"+(o>=0?\"+\":\"\")+o+\" \"+\"top\"+(r>=0?\"+\":\"\")+r,of:i.window},e(this).removeClass(\"ui-dialog-dragging\"),i._unblockFrames(),i._trigger(\"dragStop\",n,t(a))}})},_makeResizable:function(){function t(e){return{originalPosition:e.originalPosition,originalSize:e.originalSize,position:e.position,size:e.size}}var i=this,s=this.options,n=s.resizable,a=this.uiDialog.css(\"position\"),o=\"string\"==typeof n?n:\"n,e,s,w,se,sw,ne,nw\";this.uiDialog.resizable({cancel:\".ui-dialog-content\",containment:\"document\",alsoResize:this.element,maxWidth:s.maxWidth,maxHeight:s.maxHeight,minWidth:s.minWidth,minHeight:this._minHeight(),handles:o,start:function(s,n){e(this).addClass(\"ui-dialog-resizing\"),i._blockFrames(),i._trigger(\"resizeStart\",s,t(n))},resize:function(e,s){i._trigger(\"resize\",e,t(s))},stop:function(n,a){var o=i.uiDialog.offset(),r=o.left-i.document.scrollLeft(),h=o.top-i.document.scrollTop();s.height=i.uiDialog.height(),s.width=i.uiDialog.width(),s.position={my:\"left top\",at:\"left\"+(r>=0?\"+\":\"\")+r+\" \"+\"top\"+(h>=0?\"+\":\"\")+h,of:i.window},e(this).removeClass(\"ui-dialog-resizing\"),i._unblockFrames(),i._trigger(\"resizeStop\",n,t(a))}}).css(\"position\",a)},_trackFocus:function(){this._on(this.widget(),{focusin:function(t){this._makeFocusTarget(),this._focusedElement=e(t.target)}})},_makeFocusTarget:function(){this._untrackInstance(),this._trackingInstances().unshift(this)},_untrackInstance:function(){var t=this._trackingInstances(),i=e.inArray(this,t);-1!==i&&t.splice(i,1)},_trackingInstances:function(){var e=this.document.data(\"ui-dialog-instances\");return e||(e=[],this.document.data(\"ui-dialog-instances\",e)),e},_minHeight:function(){var e=this.options;return\"auto\"===e.height?e.minHeight:Math.min(e.minHeight,e.height)},_position:function(){var e=this.uiDialog.is(\":visible\");e||this.uiDialog.show(),this.uiDialog.position(this.options.position),e||this.uiDialog.hide()},_setOptions:function(t){var i=this,s=!1,n={};e.each(t,function(e,t){i._setOption(e,t),e in i.sizeRelatedOptions&&(s=!0),e in i.resizableRelatedOptions&&(n[e]=t)}),s&&(this._size(),this._position()),this.uiDialog.is(\":data(ui-resizable)\")&&this.uiDialog.resizable(\"option\",n)},_setOption:function(e,t){var i,s,n=this.uiDialog;\"dialogClass\"===e&&n.removeClass(this.options.dialogClass).addClass(t),\"disabled\"!==e&&(this._super(e,t),\"appendTo\"===e&&this.uiDialog.appendTo(this._appendTo()),\"buttons\"===e&&this._createButtons(),\"closeText\"===e&&this.uiDialogTitlebarClose.button({label:\"\"+t}),\"draggable\"===e&&(i=n.is(\":data(ui-draggable)\"),i&&!t&&n.draggable(\"destroy\"),!i&&t&&this._makeDraggable()),\"position\"===e&&this._position(),\"resizable\"===e&&(s=n.is(\":data(ui-resizable)\"),s&&!t&&n.resizable(\"destroy\"),s&&\"string\"==typeof t&&n.resizable(\"option\",\"handles\",t),s||t===!1||this._makeResizable()),\"title\"===e&&this._title(this.uiDialogTitlebar.find(\".ui-dialog-title\")))},_size:function(){var e,t,i,s=this.options;this.element.show().css({width:\"auto\",minHeight:0,maxHeight:\"none\",height:0}),s.minWidth>s.width&&(s.width=s.minWidth),e=this.uiDialog.css({height:\"auto\",width:s.width}).outerHeight(),t=Math.max(0,s.minHeight-e),i=\"number\"==typeof s.maxHeight?Math.max(0,s.maxHeight-e):\"none\",\"auto\"===s.height?this.element.css({minHeight:t,maxHeight:i,height:\"auto\"}):this.element.height(Math.max(0,s.height-e)),this.uiDialog.is(\":data(ui-resizable)\")&&this.uiDialog.resizable(\"option\",\"minHeight\",this._minHeight())},_blockFrames:function(){this.iframeBlocks=this.document.find(\"iframe\").map(function(){var t=e(this);return e(\"<div>\").css({position:\"absolute\",width:t.outerWidth(),height:t.outerHeight()}).appendTo(t.parent()).offset(t.offset())[0]})},_unblockFrames:function(){this.iframeBlocks&&(this.iframeBlocks.remove(),delete this.iframeBlocks)},_allowInteraction:function(t){return e(t.target).closest(\".ui-dialog\").length?!0:!!e(t.target).closest(\".ui-datepicker\").length},_createOverlay:function(){if(this.options.modal){var t=!0;this._delay(function(){t=!1}),this.document.data(\"ui-dialog-overlays\")||this._on(this.document,{focusin:function(e){t||this._allowInteraction(e)||(e.preventDefault(),this._trackingInstances()[0]._focusTabbable())}}),this.overlay=e(\"<div>\").addClass(\"ui-widget-overlay ui-front\").appendTo(this._appendTo()),this._on(this.overlay,{mousedown:\"_keepFocus\"}),this.document.data(\"ui-dialog-overlays\",(this.document.data(\"ui-dialog-overlays\")||0)+1)}},_destroyOverlay:function(){if(this.options.modal&&this.overlay){var e=this.document.data(\"ui-dialog-overlays\")-1;e?this.document.data(\"ui-dialog-overlays\",e):this.document.unbind(\"focusin\").removeData(\"ui-dialog-overlays\"),this.overlay.remove(),this.overlay=null}}}),e.widget(\"ui.droppable\",{version:\"1.11.4\",widgetEventPrefix:\"drop\",options:{accept:\"*\",activeClass:!1,addClasses:!0,greedy:!1,hoverClass:!1,scope:\"default\",tolerance:\"intersect\",activate:null,deactivate:null,drop:null,out:null,over:null},_create:function(){var t,i=this.options,s=i.accept;this.isover=!1,this.isout=!0,this.accept=e.isFunction(s)?s:function(e){return e.is(s)},this.proportions=function(){return arguments.length?(t=arguments[0],void 0):t?t:t={width:this.element[0].offsetWidth,height:this.element[0].offsetHeight}},this._addToManager(i.scope),i.addClasses&&this.element.addClass(\"ui-droppable\")},_addToManager:function(t){e.ui.ddmanager.droppables[t]=e.ui.ddmanager.droppables[t]||[],e.ui.ddmanager.droppables[t].push(this)},_splice:function(e){for(var t=0;e.length>t;t++)e[t]===this&&e.splice(t,1)},_destroy:function(){var t=e.ui.ddmanager.droppables[this.options.scope];this._splice(t),this.element.removeClass(\"ui-droppable ui-droppable-disabled\")},_setOption:function(t,i){if(\"accept\"===t)this.accept=e.isFunction(i)?i:function(e){return e.is(i)};else if(\"scope\"===t){var s=e.ui.ddmanager.droppables[this.options.scope];this._splice(s),this._addToManager(i)}this._super(t,i)},_activate:function(t){var i=e.ui.ddmanager.current;this.options.activeClass&&this.element.addClass(this.options.activeClass),i&&this._trigger(\"activate\",t,this.ui(i))},_deactivate:function(t){var i=e.ui.ddmanager.current;this.options.activeClass&&this.element.removeClass(this.options.activeClass),i&&this._trigger(\"deactivate\",t,this.ui(i))},_over:function(t){var i=e.ui.ddmanager.current;i&&(i.currentItem||i.element)[0]!==this.element[0]&&this.accept.call(this.element[0],i.currentItem||i.element)&&(this.options.hoverClass&&this.element.addClass(this.options.hoverClass),this._trigger(\"over\",t,this.ui(i)))},_out:function(t){var i=e.ui.ddmanager.current;i&&(i.currentItem||i.element)[0]!==this.element[0]&&this.accept.call(this.element[0],i.currentItem||i.element)&&(this.options.hoverClass&&this.element.removeClass(this.options.hoverClass),this._trigger(\"out\",t,this.ui(i)))},_drop:function(t,i){var s=i||e.ui.ddmanager.current,n=!1;return s&&(s.currentItem||s.element)[0]!==this.element[0]?(this.element.find(\":data(ui-droppable)\").not(\".ui-draggable-dragging\").each(function(){var i=e(this).droppable(\"instance\");return i.options.greedy&&!i.options.disabled&&i.options.scope===s.options.scope&&i.accept.call(i.element[0],s.currentItem||s.element)&&e.ui.intersect(s,e.extend(i,{offset:i.element.offset()}),i.options.tolerance,t)?(n=!0,!1):void 0}),n?!1:this.accept.call(this.element[0],s.currentItem||s.element)?(this.options.activeClass&&this.element.removeClass(this.options.activeClass),this.options.hoverClass&&this.element.removeClass(this.options.hoverClass),this._trigger(\"drop\",t,this.ui(s)),this.element):!1):!1},ui:function(e){return{draggable:e.currentItem||e.element,helper:e.helper,position:e.position,offset:e.positionAbs}}}),e.ui.intersect=function(){function e(e,t,i){return e>=t&&t+i>e}return function(t,i,s,n){if(!i.offset)return!1;var a=(t.positionAbs||t.position.absolute).left+t.margins.left,o=(t.positionAbs||t.position.absolute).top+t.margins.top,r=a+t.helperProportions.width,h=o+t.helperProportions.height,l=i.offset.left,u=i.offset.top,d=l+i.proportions().width,c=u+i.proportions().height;switch(s){case\"fit\":return a>=l&&d>=r&&o>=u&&c>=h;case\"intersect\":return a+t.helperProportions.width/2>l&&d>r-t.helperProportions.width/2&&o+t.helperProportions.height/2>u&&c>h-t.helperProportions.height/2;case\"pointer\":return e(n.pageY,u,i.proportions().height)&&e(n.pageX,l,i.proportions().width);case\"touch\":return(o>=u&&c>=o||h>=u&&c>=h||u>o&&h>c)&&(a>=l&&d>=a||r>=l&&d>=r||l>a&&r>d);default:return!1}}}(),e.ui.ddmanager={current:null,droppables:{\"default\":[]},prepareOffsets:function(t,i){var s,n,a=e.ui.ddmanager.droppables[t.options.scope]||[],o=i?i.type:null,r=(t.currentItem||t.element).find(\":data(ui-droppable)\").addBack();e:for(s=0;a.length>s;s++)if(!(a[s].options.disabled||t&&!a[s].accept.call(a[s].element[0],t.currentItem||t.element))){for(n=0;r.length>n;n++)if(r[n]===a[s].element[0]){a[s].proportions().height=0;continue e}a[s].visible=\"none\"!==a[s].element.css(\"display\"),a[s].visible&&(\"mousedown\"===o&&a[s]._activate.call(a[s],i),a[s].offset=a[s].element.offset(),a[s].proportions({width:a[s].element[0].offsetWidth,height:a[s].element[0].offsetHeight}))}},drop:function(t,i){var s=!1;return e.each((e.ui.ddmanager.droppables[t.options.scope]||[]).slice(),function(){this.options&&(!this.options.disabled&&this.visible&&e.ui.intersect(t,this,this.options.tolerance,i)&&(s=this._drop.call(this,i)||s),!this.options.disabled&&this.visible&&this.accept.call(this.element[0],t.currentItem||t.element)&&(this.isout=!0,this.isover=!1,this._deactivate.call(this,i)))}),s},dragStart:function(t,i){t.element.parentsUntil(\"body\").bind(\"scroll.droppable\",function(){t.options.refreshPositions||e.ui.ddmanager.prepareOffsets(t,i)})},drag:function(t,i){t.options.refreshPositions&&e.ui.ddmanager.prepareOffsets(t,i),e.each(e.ui.ddmanager.droppables[t.options.scope]||[],function(){if(!this.options.disabled&&!this.greedyChild&&this.visible){var s,n,a,o=e.ui.intersect(t,this,this.options.tolerance,i),r=!o&&this.isover?\"isout\":o&&!this.isover?\"isover\":null;r&&(this.options.greedy&&(n=this.options.scope,a=this.element.parents(\":data(ui-droppable)\").filter(function(){return e(this).droppable(\"instance\").options.scope===n}),a.length&&(s=e(a[0]).droppable(\"instance\"),s.greedyChild=\"isover\"===r)),s&&\"isover\"===r&&(s.isover=!1,s.isout=!0,s._out.call(s,i)),this[r]=!0,this[\"isout\"===r?\"isover\":\"isout\"]=!1,this[\"isover\"===r?\"_over\":\"_out\"].call(this,i),s&&\"isout\"===r&&(s.isout=!1,s.isover=!0,s._over.call(s,i)))}})},dragStop:function(t,i){t.element.parentsUntil(\"body\").unbind(\"scroll.droppable\"),t.options.refreshPositions||e.ui.ddmanager.prepareOffsets(t,i)}},e.ui.droppable;var y=\"ui-effects-\",b=e;e.effects={effect:{}},function(e,t){function i(e,t,i){var s=d[t.type]||{};return null==e?i||!t.def?null:t.def:(e=s.floor?~~e:parseFloat(e),isNaN(e)?t.def:s.mod?(e+s.mod)%s.mod:0>e?0:e>s.max?s.max:e)}function s(i){var s=l(),n=s._rgba=[];return i=i.toLowerCase(),f(h,function(e,a){var o,r=a.re.exec(i),h=r&&a.parse(r),l=a.space||\"rgba\";return h?(o=s[l](h),s[u[l].cache]=o[u[l].cache],n=s._rgba=o._rgba,!1):t}),n.length?(\"0,0,0,0\"===n.join()&&e.extend(n,a.transparent),s):a[i]}function n(e,t,i){return i=(i+1)%1,1>6*i?e+6*(t-e)*i:1>2*i?t:2>3*i?e+6*(t-e)*(2/3-i):e}var a,o=\"backgroundColor borderBottomColor borderLeftColor borderRightColor borderTopColor color columnRuleColor outlineColor textDecorationColor textEmphasisColor\",r=/^([\\-+])=\\s*(\\d+\\.?\\d*)/,h=[{re:/rgba?\\(\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*(?:,\\s*(\\d?(?:\\.\\d+)?)\\s*)?\\)/,parse:function(e){return[e[1],e[2],e[3],e[4]]}},{re:/rgba?\\(\\s*(\\d+(?:\\.\\d+)?)\\%\\s*,\\s*(\\d+(?:\\.\\d+)?)\\%\\s*,\\s*(\\d+(?:\\.\\d+)?)\\%\\s*(?:,\\s*(\\d?(?:\\.\\d+)?)\\s*)?\\)/,parse:function(e){return[2.55*e[1],2.55*e[2],2.55*e[3],e[4]]}},{re:/#([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})/,parse:function(e){return[parseInt(e[1],16),parseInt(e[2],16),parseInt(e[3],16)]}},{re:/#([a-f0-9])([a-f0-9])([a-f0-9])/,parse:function(e){return[parseInt(e[1]+e[1],16),parseInt(e[2]+e[2],16),parseInt(e[3]+e[3],16)]}},{re:/hsla?\\(\\s*(\\d+(?:\\.\\d+)?)\\s*,\\s*(\\d+(?:\\.\\d+)?)\\%\\s*,\\s*(\\d+(?:\\.\\d+)?)\\%\\s*(?:,\\s*(\\d?(?:\\.\\d+)?)\\s*)?\\)/,space:\"hsla\",parse:function(e){return[e[1],e[2]/100,e[3]/100,e[4]]}}],l=e.Color=function(t,i,s,n){return new e.Color.fn.parse(t,i,s,n)},u={rgba:{props:{red:{idx:0,type:\"byte\"},green:{idx:1,type:\"byte\"},blue:{idx:2,type:\"byte\"}}},hsla:{props:{hue:{idx:0,type:\"degrees\"},saturation:{idx:1,type:\"percent\"},lightness:{idx:2,type:\"percent\"}}}},d={\"byte\":{floor:!0,max:255},percent:{max:1},degrees:{mod:360,floor:!0}},c=l.support={},p=e(\"<p>\")[0],f=e.each;p.style.cssText=\"background-color:rgba(1,1,1,.5)\",c.rgba=p.style.backgroundColor.indexOf(\"rgba\")>-1,f(u,function(e,t){t.cache=\"_\"+e,t.props.alpha={idx:3,type:\"percent\",def:1}}),l.fn=e.extend(l.prototype,{parse:function(n,o,r,h){if(n===t)return this._rgba=[null,null,null,null],this;(n.jquery||n.nodeType)&&(n=e(n).css(o),o=t);var d=this,c=e.type(n),p=this._rgba=[];return o!==t&&(n=[n,o,r,h],c=\"array\"),\"string\"===c?this.parse(s(n)||a._default):\"array\"===c?(f(u.rgba.props,function(e,t){p[t.idx]=i(n[t.idx],t)}),this):\"object\"===c?(n instanceof l?f(u,function(e,t){n[t.cache]&&(d[t.cache]=n[t.cache].slice())}):f(u,function(t,s){var a=s.cache;f(s.props,function(e,t){if(!d[a]&&s.to){if(\"alpha\"===e||null==n[e])return;d[a]=s.to(d._rgba)}d[a][t.idx]=i(n[e],t,!0)}),d[a]&&0>e.inArray(null,d[a].slice(0,3))&&(d[a][3]=1,s.from&&(d._rgba=s.from(d[a])))}),this):t},is:function(e){var i=l(e),s=!0,n=this;return f(u,function(e,a){var o,r=i[a.cache];return r&&(o=n[a.cache]||a.to&&a.to(n._rgba)||[],f(a.props,function(e,i){return null!=r[i.idx]?s=r[i.idx]===o[i.idx]:t})),s}),s},_space:function(){var e=[],t=this;return f(u,function(i,s){t[s.cache]&&e.push(i)}),e.pop()},transition:function(e,t){var s=l(e),n=s._space(),a=u[n],o=0===this.alpha()?l(\"transparent\"):this,r=o[a.cache]||a.to(o._rgba),h=r.slice();return s=s[a.cache],f(a.props,function(e,n){var a=n.idx,o=r[a],l=s[a],u=d[n.type]||{};null!==l&&(null===o?h[a]=l:(u.mod&&(l-o>u.mod/2?o+=u.mod:o-l>u.mod/2&&(o-=u.mod)),h[a]=i((l-o)*t+o,n)))}),this[n](h)},blend:function(t){if(1===this._rgba[3])return this;var i=this._rgba.slice(),s=i.pop(),n=l(t)._rgba;return l(e.map(i,function(e,t){return(1-s)*n[t]+s*e}))},toRgbaString:function(){var t=\"rgba(\",i=e.map(this._rgba,function(e,t){return null==e?t>2?1:0:e});return 1===i[3]&&(i.pop(),t=\"rgb(\"),t+i.join()+\")\"},toHslaString:function(){var t=\"hsla(\",i=e.map(this.hsla(),function(e,t){return null==e&&(e=t>2?1:0),t&&3>t&&(e=Math.round(100*e)+\"%\"),e});return 1===i[3]&&(i.pop(),t=\"hsl(\"),t+i.join()+\")\"},toHexString:function(t){var i=this._rgba.slice(),s=i.pop();return t&&i.push(~~(255*s)),\"#\"+e.map(i,function(e){return e=(e||0).toString(16),1===e.length?\"0\"+e:e}).join(\"\")},toString:function(){return 0===this._rgba[3]?\"transparent\":this.toRgbaString()}}),l.fn.parse.prototype=l.fn,u.hsla.to=function(e){if(null==e[0]||null==e[1]||null==e[2])return[null,null,null,e[3]];var t,i,s=e[0]/255,n=e[1]/255,a=e[2]/255,o=e[3],r=Math.max(s,n,a),h=Math.min(s,n,a),l=r-h,u=r+h,d=.5*u;return t=h===r?0:s===r?60*(n-a)/l+360:n===r?60*(a-s)/l+120:60*(s-n)/l+240,i=0===l?0:.5>=d?l/u:l/(2-u),[Math.round(t)%360,i,d,null==o?1:o]},u.hsla.from=function(e){if(null==e[0]||null==e[1]||null==e[2])return[null,null,null,e[3]];var t=e[0]/360,i=e[1],s=e[2],a=e[3],o=.5>=s?s*(1+i):s+i-s*i,r=2*s-o;return[Math.round(255*n(r,o,t+1/3)),Math.round(255*n(r,o,t)),Math.round(255*n(r,o,t-1/3)),a]},f(u,function(s,n){var a=n.props,o=n.cache,h=n.to,u=n.from;l.fn[s]=function(s){if(h&&!this[o]&&(this[o]=h(this._rgba)),s===t)return this[o].slice();var n,r=e.type(s),d=\"array\"===r||\"object\"===r?s:arguments,c=this[o].slice();return f(a,function(e,t){var s=d[\"object\"===r?e:t.idx];null==s&&(s=c[t.idx]),c[t.idx]=i(s,t)}),u?(n=l(u(c)),n[o]=c,n):l(c)},f(a,function(t,i){l.fn[t]||(l.fn[t]=function(n){var a,o=e.type(n),h=\"alpha\"===t?this._hsla?\"hsla\":\"rgba\":s,l=this[h](),u=l[i.idx];return\"undefined\"===o?u:(\"function\"===o&&(n=n.call(this,u),o=e.type(n)),null==n&&i.empty?this:(\"string\"===o&&(a=r.exec(n),a&&(n=u+parseFloat(a[2])*(\"+\"===a[1]?1:-1))),l[i.idx]=n,this[h](l)))})})}),l.hook=function(t){var i=t.split(\" \");f(i,function(t,i){e.cssHooks[i]={set:function(t,n){var a,o,r=\"\";if(\"transparent\"!==n&&(\"string\"!==e.type(n)||(a=s(n)))){if(n=l(a||n),!c.rgba&&1!==n._rgba[3]){for(o=\"backgroundColor\"===i?t.parentNode:t;(\"\"===r||\"transparent\"===r)&&o&&o.style;)try{r=e.css(o,\"backgroundColor\"),o=o.parentNode}catch(h){}n=n.blend(r&&\"transparent\"!==r?r:\"_default\")}n=n.toRgbaString()}try{t.style[i]=n}catch(h){}}},e.fx.step[i]=function(t){t.colorInit||(t.start=l(t.elem,i),t.end=l(t.end),t.colorInit=!0),e.cssHooks[i].set(t.elem,t.start.transition(t.end,t.pos))}})},l.hook(o),e.cssHooks.borderColor={expand:function(e){var t={};return f([\"Top\",\"Right\",\"Bottom\",\"Left\"],function(i,s){t[\"border\"+s+\"Color\"]=e}),t}},a=e.Color.names={aqua:\"#00ffff\",black:\"#000000\",blue:\"#0000ff\",fuchsia:\"#ff00ff\",gray:\"#808080\",green:\"#008000\",lime:\"#00ff00\",maroon:\"#800000\",navy:\"#000080\",olive:\"#808000\",purple:\"#800080\",red:\"#ff0000\",silver:\"#c0c0c0\",teal:\"#008080\",white:\"#ffffff\",yellow:\"#ffff00\",transparent:[null,null,null,0],_default:\"#ffffff\"}}(b),function(){function t(t){var i,s,n=t.ownerDocument.defaultView?t.ownerDocument.defaultView.getComputedStyle(t,null):t.currentStyle,a={};if(n&&n.length&&n[0]&&n[n[0]])for(s=n.length;s--;)i=n[s],\"string\"==typeof n[i]&&(a[e.camelCase(i)]=n[i]);else for(i in n)\"string\"==typeof n[i]&&(a[i]=n[i]);return a}function i(t,i){var s,a,o={};for(s in i)a=i[s],t[s]!==a&&(n[s]||(e.fx.step[s]||!isNaN(parseFloat(a)))&&(o[s]=a));return o}var s=[\"add\",\"remove\",\"toggle\"],n={border:1,borderBottom:1,borderColor:1,borderLeft:1,borderRight:1,borderTop:1,borderWidth:1,margin:1,padding:1};e.each([\"borderLeftStyle\",\"borderRightStyle\",\"borderBottomStyle\",\"borderTopStyle\"],function(t,i){e.fx.step[i]=function(e){(\"none\"!==e.end&&!e.setAttr||1===e.pos&&!e.setAttr)&&(b.style(e.elem,i,e.end),e.setAttr=!0)}}),e.fn.addBack||(e.fn.addBack=function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}),e.effects.animateClass=function(n,a,o,r){var h=e.speed(a,o,r);return this.queue(function(){var a,o=e(this),r=o.attr(\"class\")||\"\",l=h.children?o.find(\"*\").addBack():o;l=l.map(function(){var i=e(this);return{el:i,start:t(this)}}),a=function(){e.each(s,function(e,t){n[t]&&o[t+\"Class\"](n[t])})},a(),l=l.map(function(){return this.end=t(this.el[0]),this.diff=i(this.start,this.end),this}),o.attr(\"class\",r),l=l.map(function(){var t=this,i=e.Deferred(),s=e.extend({},h,{queue:!1,complete:function(){i.resolve(t)}});return this.el.animate(this.diff,s),i.promise()}),e.when.apply(e,l.get()).done(function(){a(),e.each(arguments,function(){var t=this.el;e.each(this.diff,function(e){t.css(e,\"\")})}),h.complete.call(o[0])})})},e.fn.extend({addClass:function(t){return function(i,s,n,a){return s?e.effects.animateClass.call(this,{add:i},s,n,a):t.apply(this,arguments)}}(e.fn.addClass),removeClass:function(t){return function(i,s,n,a){return arguments.length>1?e.effects.animateClass.call(this,{remove:i},s,n,a):t.apply(this,arguments)}}(e.fn.removeClass),toggleClass:function(t){return function(i,s,n,a,o){return\"boolean\"==typeof s||void 0===s?n?e.effects.animateClass.call(this,s?{add:i}:{remove:i},n,a,o):t.apply(this,arguments):e.effects.animateClass.call(this,{toggle:i},s,n,a)}}(e.fn.toggleClass),switchClass:function(t,i,s,n,a){return e.effects.animateClass.call(this,{add:i,remove:t},s,n,a)}})}(),function(){function t(t,i,s,n){return e.isPlainObject(t)&&(i=t,t=t.effect),t={effect:t},null==i&&(i={}),e.isFunction(i)&&(n=i,s=null,i={}),(\"number\"==typeof i||e.fx.speeds[i])&&(n=s,s=i,i={}),e.isFunction(s)&&(n=s,s=null),i&&e.extend(t,i),s=s||i.duration,t.duration=e.fx.off?0:\"number\"==typeof s?s:s in e.fx.speeds?e.fx.speeds[s]:e.fx.speeds._default,t.complete=n||i.complete,t}function i(t){return!t||\"number\"==typeof t||e.fx.speeds[t]?!0:\"string\"!=typeof t||e.effects.effect[t]?e.isFunction(t)?!0:\"object\"!=typeof t||t.effect?!1:!0:!0}e.extend(e.effects,{version:\"1.11.4\",save:function(e,t){for(var i=0;t.length>i;i++)null!==t[i]&&e.data(y+t[i],e[0].style[t[i]])},restore:function(e,t){var i,s;for(s=0;t.length>s;s++)null!==t[s]&&(i=e.data(y+t[s]),void 0===i&&(i=\"\"),e.css(t[s],i))},setMode:function(e,t){return\"toggle\"===t&&(t=e.is(\":hidden\")?\"show\":\"hide\"),t},getBaseline:function(e,t){var i,s;switch(e[0]){case\"top\":i=0;break;case\"middle\":i=.5;break;case\"bottom\":i=1;break;default:i=e[0]/t.height}switch(e[1]){case\"left\":s=0;break;case\"center\":s=.5;break;case\"right\":s=1;break;default:s=e[1]/t.width}return{x:s,y:i}},createWrapper:function(t){if(t.parent().is(\".ui-effects-wrapper\"))return t.parent();var i={width:t.outerWidth(!0),height:t.outerHeight(!0),\"float\":t.css(\"float\")},s=e(\"<div></div>\").addClass(\"ui-effects-wrapper\").css({fontSize:\"100%\",background:\"transparent\",border:\"none\",margin:0,padding:0}),n={width:t.width(),height:t.height()},a=document.activeElement;try{a.id}catch(o){a=document.body}return t.wrap(s),(t[0]===a||e.contains(t[0],a))&&e(a).focus(),s=t.parent(),\"static\"===t.css(\"position\")?(s.css({position:\"relative\"}),t.css({position:\"relative\"})):(e.extend(i,{position:t.css(\"position\"),zIndex:t.css(\"z-index\")}),e.each([\"top\",\"left\",\"bottom\",\"right\"],function(e,s){i[s]=t.css(s),isNaN(parseInt(i[s],10))&&(i[s]=\"auto\")}),t.css({position:\"relative\",top:0,left:0,right:\"auto\",bottom:\"auto\"})),t.css(n),s.css(i).show()},removeWrapper:function(t){var i=document.activeElement;return t.parent().is(\".ui-effects-wrapper\")&&(t.parent().replaceWith(t),(t[0]===i||e.contains(t[0],i))&&e(i).focus()),t},setTransition:function(t,i,s,n){return n=n||{},e.each(i,function(e,i){var a=t.cssUnit(i);a[0]>0&&(n[i]=a[0]*s+a[1])}),n}}),e.fn.extend({effect:function(){function i(t){function i(){e.isFunction(a)&&a.call(n[0]),e.isFunction(t)&&t()}var n=e(this),a=s.complete,r=s.mode;(n.is(\":hidden\")?\"hide\"===r:\"show\"===r)?(n[r](),i()):o.call(n[0],s,i)}var s=t.apply(this,arguments),n=s.mode,a=s.queue,o=e.effects.effect[s.effect];return e.fx.off||!o?n?this[n](s.duration,s.complete):this.each(function(){s.complete&&s.complete.call(this)}):a===!1?this.each(i):this.queue(a||\"fx\",i)},show:function(e){return function(s){if(i(s))return e.apply(this,arguments);var n=t.apply(this,arguments);return n.mode=\"show\",this.effect.call(this,n)}}(e.fn.show),hide:function(e){return function(s){if(i(s))return e.apply(this,arguments);var n=t.apply(this,arguments);return n.mode=\"hide\",this.effect.call(this,n)}}(e.fn.hide),toggle:function(e){return function(s){if(i(s)||\"boolean\"==typeof s)return e.apply(this,arguments);var n=t.apply(this,arguments);return n.mode=\"toggle\",this.effect.call(this,n)}}(e.fn.toggle),cssUnit:function(t){var i=this.css(t),s=[];return e.each([\"em\",\"px\",\"%\",\"pt\"],function(e,t){i.indexOf(t)>0&&(s=[parseFloat(i),t])}),s}})}(),function(){var t={};e.each([\"Quad\",\"Cubic\",\"Quart\",\"Quint\",\"Expo\"],function(e,i){t[i]=function(t){return Math.pow(t,e+2)}}),e.extend(t,{Sine:function(e){return 1-Math.cos(e*Math.PI/2)},Circ:function(e){return 1-Math.sqrt(1-e*e)},Elastic:function(e){return 0===e||1===e?e:-Math.pow(2,8*(e-1))*Math.sin((80*(e-1)-7.5)*Math.PI/15)},Back:function(e){return e*e*(3*e-2)},Bounce:function(e){for(var t,i=4;((t=Math.pow(2,--i))-1)/11>e;);return 1/Math.pow(4,3-i)-7.5625*Math.pow((3*t-2)/22-e,2)}}),e.each(t,function(t,i){e.easing[\"easeIn\"+t]=i,e.easing[\"easeOut\"+t]=function(e){return 1-i(1-e)},e.easing[\"easeInOut\"+t]=function(e){return.5>e?i(2*e)/2:1-i(-2*e+2)/2}})}(),e.effects,e.effects.effect.blind=function(t,i){var s,n,a,o=e(this),r=/up|down|vertical/,h=/up|left|vertical|horizontal/,l=[\"position\",\"top\",\"bottom\",\"left\",\"right\",\"height\",\"width\"],u=e.effects.setMode(o,t.mode||\"hide\"),d=t.direction||\"up\",c=r.test(d),p=c?\"height\":\"width\",f=c?\"top\":\"left\",m=h.test(d),g={},v=\"show\"===u;o.parent().is(\".ui-effects-wrapper\")?e.effects.save(o.parent(),l):e.effects.save(o,l),o.show(),s=e.effects.createWrapper(o).css({overflow:\"hidden\"}),n=s[p](),a=parseFloat(s.css(f))||0,g[p]=v?n:0,m||(o.css(c?\"bottom\":\"right\",0).css(c?\"top\":\"left\",\"auto\").css({position:\"absolute\"}),g[f]=v?a:n+a),v&&(s.css(p,0),m||s.css(f,a+n)),s.animate(g,{duration:t.duration,easing:t.easing,queue:!1,complete:function(){\"hide\"===u&&o.hide(),e.effects.restore(o,l),e.effects.removeWrapper(o),i()}})},e.effects.effect.bounce=function(t,i){var s,n,a,o=e(this),r=[\"position\",\"top\",\"bottom\",\"left\",\"right\",\"height\",\"width\"],h=e.effects.setMode(o,t.mode||\"effect\"),l=\"hide\"===h,u=\"show\"===h,d=t.direction||\"up\",c=t.distance,p=t.times||5,f=2*p+(u||l?1:0),m=t.duration/f,g=t.easing,v=\"up\"===d||\"down\"===d?\"top\":\"left\",y=\"up\"===d||\"left\"===d,b=o.queue(),_=b.length;for((u||l)&&r.push(\"opacity\"),e.effects.save(o,r),o.show(),e.effects.createWrapper(o),c||(c=o[\"top\"===v?\"outerHeight\":\"outerWidth\"]()/3),u&&(a={opacity:1},a[v]=0,o.css(\"opacity\",0).css(v,y?2*-c:2*c).animate(a,m,g)),l&&(c/=Math.pow(2,p-1)),a={},a[v]=0,s=0;p>s;s++)n={},n[v]=(y?\"-=\":\"+=\")+c,o.animate(n,m,g).animate(a,m,g),c=l?2*c:c/2;l&&(n={opacity:0},n[v]=(y?\"-=\":\"+=\")+c,o.animate(n,m,g)),o.queue(function(){l&&o.hide(),e.effects.restore(o,r),e.effects.removeWrapper(o),i()}),_>1&&b.splice.apply(b,[1,0].concat(b.splice(_,f+1))),o.dequeue()},e.effects.effect.clip=function(t,i){var s,n,a,o=e(this),r=[\"position\",\"top\",\"bottom\",\"left\",\"right\",\"height\",\"width\"],h=e.effects.setMode(o,t.mode||\"hide\"),l=\"show\"===h,u=t.direction||\"vertical\",d=\"vertical\"===u,c=d?\"height\":\"width\",p=d?\"top\":\"left\",f={};e.effects.save(o,r),o.show(),s=e.effects.createWrapper(o).css({overflow:\"hidden\"}),n=\"IMG\"===o[0].tagName?s:o,a=n[c](),l&&(n.css(c,0),n.css(p,a/2)),f[c]=l?a:0,f[p]=l?0:a/2,n.animate(f,{queue:!1,duration:t.duration,easing:t.easing,complete:function(){l||o.hide(),e.effects.restore(o,r),e.effects.removeWrapper(o),i()}})},e.effects.effect.drop=function(t,i){var s,n=e(this),a=[\"position\",\"top\",\"bottom\",\"left\",\"right\",\"opacity\",\"height\",\"width\"],o=e.effects.setMode(n,t.mode||\"hide\"),r=\"show\"===o,h=t.direction||\"left\",l=\"up\"===h||\"down\"===h?\"top\":\"left\",u=\"up\"===h||\"left\"===h?\"pos\":\"neg\",d={opacity:r?1:0};e.effects.save(n,a),n.show(),e.effects.createWrapper(n),s=t.distance||n[\"top\"===l?\"outerHeight\":\"outerWidth\"](!0)/2,r&&n.css(\"opacity\",0).css(l,\"pos\"===u?-s:s),d[l]=(r?\"pos\"===u?\"+=\":\"-=\":\"pos\"===u?\"-=\":\"+=\")+s,n.animate(d,{queue:!1,duration:t.duration,easing:t.easing,complete:function(){\"hide\"===o&&n.hide(),e.effects.restore(n,a),e.effects.removeWrapper(n),i()}})},e.effects.effect.explode=function(t,i){function s(){b.push(this),b.length===d*c&&n()}function n(){p.css({visibility:\"visible\"}),e(b).remove(),m||p.hide(),i()}var a,o,r,h,l,u,d=t.pieces?Math.round(Math.sqrt(t.pieces)):3,c=d,p=e(this),f=e.effects.setMode(p,t.mode||\"hide\"),m=\"show\"===f,g=p.show().css(\"visibility\",\"hidden\").offset(),v=Math.ceil(p.outerWidth()/c),y=Math.ceil(p.outerHeight()/d),b=[];for(a=0;d>a;a++)for(h=g.top+a*y,u=a-(d-1)/2,o=0;c>o;o++)r=g.left+o*v,l=o-(c-1)/2,p.clone().appendTo(\"body\").wrap(\"<div></div>\").css({position:\"absolute\",visibility:\"visible\",left:-o*v,top:-a*y}).parent().addClass(\"ui-effects-explode\").css({position:\"absolute\",overflow:\"hidden\",width:v,height:y,left:r+(m?l*v:0),top:h+(m?u*y:0),opacity:m?0:1}).animate({left:r+(m?0:l*v),top:h+(m?0:u*y),opacity:m?1:0},t.duration||500,t.easing,s)},e.effects.effect.fade=function(t,i){var s=e(this),n=e.effects.setMode(s,t.mode||\"toggle\");s.animate({opacity:n},{queue:!1,duration:t.duration,easing:t.easing,complete:i})},e.effects.effect.fold=function(t,i){var s,n,a=e(this),o=[\"position\",\"top\",\"bottom\",\"left\",\"right\",\"height\",\"width\"],r=e.effects.setMode(a,t.mode||\"hide\"),h=\"show\"===r,l=\"hide\"===r,u=t.size||15,d=/([0-9]+)%/.exec(u),c=!!t.horizFirst,p=h!==c,f=p?[\"width\",\"height\"]:[\"height\",\"width\"],m=t.duration/2,g={},v={};e.effects.save(a,o),a.show(),s=e.effects.createWrapper(a).css({overflow:\"hidden\"}),n=p?[s.width(),s.height()]:[s.height(),s.width()],d&&(u=parseInt(d[1],10)/100*n[l?0:1]),h&&s.css(c?{height:0,width:u}:{height:u,width:0}),g[f[0]]=h?n[0]:u,v[f[1]]=h?n[1]:0,s.animate(g,m,t.easing).animate(v,m,t.easing,function(){l&&a.hide(),e.effects.restore(a,o),e.effects.removeWrapper(a),i()})},e.effects.effect.highlight=function(t,i){var s=e(this),n=[\"backgroundImage\",\"backgroundColor\",\"opacity\"],a=e.effects.setMode(s,t.mode||\"show\"),o={backgroundColor:s.css(\"backgroundColor\")};\"hide\"===a&&(o.opacity=0),e.effects.save(s,n),s.show().css({backgroundImage:\"none\",backgroundColor:t.color||\"#ffff99\"}).animate(o,{queue:!1,duration:t.duration,easing:t.easing,complete:function(){\"hide\"===a&&s.hide(),e.effects.restore(s,n),i()}})},e.effects.effect.size=function(t,i){var s,n,a,o=e(this),r=[\"position\",\"top\",\"bottom\",\"left\",\"right\",\"width\",\"height\",\"overflow\",\"opacity\"],h=[\"position\",\"top\",\"bottom\",\"left\",\"right\",\"overflow\",\"opacity\"],l=[\"width\",\"height\",\"overflow\"],u=[\"fontSize\"],d=[\"borderTopWidth\",\"borderBottomWidth\",\"paddingTop\",\"paddingBottom\"],c=[\"borderLeftWidth\",\"borderRightWidth\",\"paddingLeft\",\"paddingRight\"],p=e.effects.setMode(o,t.mode||\"effect\"),f=t.restore||\"effect\"!==p,m=t.scale||\"both\",g=t.origin||[\"middle\",\"center\"],v=o.css(\"position\"),y=f?r:h,b={height:0,width:0,outerHeight:0,outerWidth:0};\"show\"===p&&o.show(),s={height:o.height(),width:o.width(),outerHeight:o.outerHeight(),outerWidth:o.outerWidth()},\"toggle\"===t.mode&&\"show\"===p?(o.from=t.to||b,o.to=t.from||s):(o.from=t.from||(\"show\"===p?b:s),o.to=t.to||(\"hide\"===p?b:s)),a={from:{y:o.from.height/s.height,x:o.from.width/s.width},to:{y:o.to.height/s.height,x:o.to.width/s.width}},(\"box\"===m||\"both\"===m)&&(a.from.y!==a.to.y&&(y=y.concat(d),o.from=e.effects.setTransition(o,d,a.from.y,o.from),o.to=e.effects.setTransition(o,d,a.to.y,o.to)),a.from.x!==a.to.x&&(y=y.concat(c),o.from=e.effects.setTransition(o,c,a.from.x,o.from),o.to=e.effects.setTransition(o,c,a.to.x,o.to))),(\"content\"===m||\"both\"===m)&&a.from.y!==a.to.y&&(y=y.concat(u).concat(l),o.from=e.effects.setTransition(o,u,a.from.y,o.from),o.to=e.effects.setTransition(o,u,a.to.y,o.to)),e.effects.save(o,y),o.show(),e.effects.createWrapper(o),o.css(\"overflow\",\"hidden\").css(o.from),g&&(n=e.effects.getBaseline(g,s),o.from.top=(s.outerHeight-o.outerHeight())*n.y,o.from.left=(s.outerWidth-o.outerWidth())*n.x,o.to.top=(s.outerHeight-o.to.outerHeight)*n.y,o.to.left=(s.outerWidth-o.to.outerWidth)*n.x),o.css(o.from),(\"content\"===m||\"both\"===m)&&(d=d.concat([\"marginTop\",\"marginBottom\"]).concat(u),c=c.concat([\"marginLeft\",\"marginRight\"]),l=r.concat(d).concat(c),o.find(\"*[width]\").each(function(){var i=e(this),s={height:i.height(),width:i.width(),outerHeight:i.outerHeight(),outerWidth:i.outerWidth()};\r\nf&&e.effects.save(i,l),i.from={height:s.height*a.from.y,width:s.width*a.from.x,outerHeight:s.outerHeight*a.from.y,outerWidth:s.outerWidth*a.from.x},i.to={height:s.height*a.to.y,width:s.width*a.to.x,outerHeight:s.height*a.to.y,outerWidth:s.width*a.to.x},a.from.y!==a.to.y&&(i.from=e.effects.setTransition(i,d,a.from.y,i.from),i.to=e.effects.setTransition(i,d,a.to.y,i.to)),a.from.x!==a.to.x&&(i.from=e.effects.setTransition(i,c,a.from.x,i.from),i.to=e.effects.setTransition(i,c,a.to.x,i.to)),i.css(i.from),i.animate(i.to,t.duration,t.easing,function(){f&&e.effects.restore(i,l)})})),o.animate(o.to,{queue:!1,duration:t.duration,easing:t.easing,complete:function(){0===o.to.opacity&&o.css(\"opacity\",o.from.opacity),\"hide\"===p&&o.hide(),e.effects.restore(o,y),f||(\"static\"===v?o.css({position:\"relative\",top:o.to.top,left:o.to.left}):e.each([\"top\",\"left\"],function(e,t){o.css(t,function(t,i){var s=parseInt(i,10),n=e?o.to.left:o.to.top;return\"auto\"===i?n+\"px\":s+n+\"px\"})})),e.effects.removeWrapper(o),i()}})},e.effects.effect.scale=function(t,i){var s=e(this),n=e.extend(!0,{},t),a=e.effects.setMode(s,t.mode||\"effect\"),o=parseInt(t.percent,10)||(0===parseInt(t.percent,10)?0:\"hide\"===a?0:100),r=t.direction||\"both\",h=t.origin,l={height:s.height(),width:s.width(),outerHeight:s.outerHeight(),outerWidth:s.outerWidth()},u={y:\"horizontal\"!==r?o/100:1,x:\"vertical\"!==r?o/100:1};n.effect=\"size\",n.queue=!1,n.complete=i,\"effect\"!==a&&(n.origin=h||[\"middle\",\"center\"],n.restore=!0),n.from=t.from||(\"show\"===a?{height:0,width:0,outerHeight:0,outerWidth:0}:l),n.to={height:l.height*u.y,width:l.width*u.x,outerHeight:l.outerHeight*u.y,outerWidth:l.outerWidth*u.x},n.fade&&(\"show\"===a&&(n.from.opacity=0,n.to.opacity=1),\"hide\"===a&&(n.from.opacity=1,n.to.opacity=0)),s.effect(n)},e.effects.effect.puff=function(t,i){var s=e(this),n=e.effects.setMode(s,t.mode||\"hide\"),a=\"hide\"===n,o=parseInt(t.percent,10)||150,r=o/100,h={height:s.height(),width:s.width(),outerHeight:s.outerHeight(),outerWidth:s.outerWidth()};e.extend(t,{effect:\"scale\",queue:!1,fade:!0,mode:n,complete:i,percent:a?o:100,from:a?h:{height:h.height*r,width:h.width*r,outerHeight:h.outerHeight*r,outerWidth:h.outerWidth*r}}),s.effect(t)},e.effects.effect.pulsate=function(t,i){var s,n=e(this),a=e.effects.setMode(n,t.mode||\"show\"),o=\"show\"===a,r=\"hide\"===a,h=o||\"hide\"===a,l=2*(t.times||5)+(h?1:0),u=t.duration/l,d=0,c=n.queue(),p=c.length;for((o||!n.is(\":visible\"))&&(n.css(\"opacity\",0).show(),d=1),s=1;l>s;s++)n.animate({opacity:d},u,t.easing),d=1-d;n.animate({opacity:d},u,t.easing),n.queue(function(){r&&n.hide(),i()}),p>1&&c.splice.apply(c,[1,0].concat(c.splice(p,l+1))),n.dequeue()},e.effects.effect.shake=function(t,i){var s,n=e(this),a=[\"position\",\"top\",\"bottom\",\"left\",\"right\",\"height\",\"width\"],o=e.effects.setMode(n,t.mode||\"effect\"),r=t.direction||\"left\",h=t.distance||20,l=t.times||3,u=2*l+1,d=Math.round(t.duration/u),c=\"up\"===r||\"down\"===r?\"top\":\"left\",p=\"up\"===r||\"left\"===r,f={},m={},g={},v=n.queue(),y=v.length;for(e.effects.save(n,a),n.show(),e.effects.createWrapper(n),f[c]=(p?\"-=\":\"+=\")+h,m[c]=(p?\"+=\":\"-=\")+2*h,g[c]=(p?\"-=\":\"+=\")+2*h,n.animate(f,d,t.easing),s=1;l>s;s++)n.animate(m,d,t.easing).animate(g,d,t.easing);n.animate(m,d,t.easing).animate(f,d/2,t.easing).queue(function(){\"hide\"===o&&n.hide(),e.effects.restore(n,a),e.effects.removeWrapper(n),i()}),y>1&&v.splice.apply(v,[1,0].concat(v.splice(y,u+1))),n.dequeue()},e.effects.effect.slide=function(t,i){var s,n=e(this),a=[\"position\",\"top\",\"bottom\",\"left\",\"right\",\"width\",\"height\"],o=e.effects.setMode(n,t.mode||\"show\"),r=\"show\"===o,h=t.direction||\"left\",l=\"up\"===h||\"down\"===h?\"top\":\"left\",u=\"up\"===h||\"left\"===h,d={};e.effects.save(n,a),n.show(),s=t.distance||n[\"top\"===l?\"outerHeight\":\"outerWidth\"](!0),e.effects.createWrapper(n).css({overflow:\"hidden\"}),r&&n.css(l,u?isNaN(s)?\"-\"+s:-s:s),d[l]=(r?u?\"+=\":\"-=\":u?\"-=\":\"+=\")+s,n.animate(d,{queue:!1,duration:t.duration,easing:t.easing,complete:function(){\"hide\"===o&&n.hide(),e.effects.restore(n,a),e.effects.removeWrapper(n),i()}})},e.effects.effect.transfer=function(t,i){var s=e(this),n=e(t.to),a=\"fixed\"===n.css(\"position\"),o=e(\"body\"),r=a?o.scrollTop():0,h=a?o.scrollLeft():0,l=n.offset(),u={top:l.top-r,left:l.left-h,height:n.innerHeight(),width:n.innerWidth()},d=s.offset(),c=e(\"<div class='ui-effects-transfer'></div>\").appendTo(document.body).addClass(t.className).css({top:d.top-r,left:d.left-h,height:s.innerHeight(),width:s.innerWidth(),position:a?\"fixed\":\"absolute\"}).animate(u,t.duration,t.easing,function(){c.remove(),i()})},e.widget(\"ui.progressbar\",{version:\"1.11.4\",options:{max:100,value:0,change:null,complete:null},min:0,_create:function(){this.oldValue=this.options.value=this._constrainedValue(),this.element.addClass(\"ui-progressbar ui-widget ui-widget-content ui-corner-all\").attr({role:\"progressbar\",\"aria-valuemin\":this.min}),this.valueDiv=e(\"<div class='ui-progressbar-value ui-widget-header ui-corner-left'></div>\").appendTo(this.element),this._refreshValue()},_destroy:function(){this.element.removeClass(\"ui-progressbar ui-widget ui-widget-content ui-corner-all\").removeAttr(\"role\").removeAttr(\"aria-valuemin\").removeAttr(\"aria-valuemax\").removeAttr(\"aria-valuenow\"),this.valueDiv.remove()},value:function(e){return void 0===e?this.options.value:(this.options.value=this._constrainedValue(e),this._refreshValue(),void 0)},_constrainedValue:function(e){return void 0===e&&(e=this.options.value),this.indeterminate=e===!1,\"number\"!=typeof e&&(e=0),this.indeterminate?!1:Math.min(this.options.max,Math.max(this.min,e))},_setOptions:function(e){var t=e.value;delete e.value,this._super(e),this.options.value=this._constrainedValue(t),this._refreshValue()},_setOption:function(e,t){\"max\"===e&&(t=Math.max(this.min,t)),\"disabled\"===e&&this.element.toggleClass(\"ui-state-disabled\",!!t).attr(\"aria-disabled\",t),this._super(e,t)},_percentage:function(){return this.indeterminate?100:100*(this.options.value-this.min)/(this.options.max-this.min)},_refreshValue:function(){var t=this.options.value,i=this._percentage();this.valueDiv.toggle(this.indeterminate||t>this.min).toggleClass(\"ui-corner-right\",t===this.options.max).width(i.toFixed(0)+\"%\"),this.element.toggleClass(\"ui-progressbar-indeterminate\",this.indeterminate),this.indeterminate?(this.element.removeAttr(\"aria-valuenow\"),this.overlayDiv||(this.overlayDiv=e(\"<div class='ui-progressbar-overlay'></div>\").appendTo(this.valueDiv))):(this.element.attr({\"aria-valuemax\":this.options.max,\"aria-valuenow\":t}),this.overlayDiv&&(this.overlayDiv.remove(),this.overlayDiv=null)),this.oldValue!==t&&(this.oldValue=t,this._trigger(\"change\")),t===this.options.max&&this._trigger(\"complete\")}}),e.widget(\"ui.selectable\",e.ui.mouse,{version:\"1.11.4\",options:{appendTo:\"body\",autoRefresh:!0,distance:0,filter:\"*\",tolerance:\"touch\",selected:null,selecting:null,start:null,stop:null,unselected:null,unselecting:null},_create:function(){var t,i=this;this.element.addClass(\"ui-selectable\"),this.dragged=!1,this.refresh=function(){t=e(i.options.filter,i.element[0]),t.addClass(\"ui-selectee\"),t.each(function(){var t=e(this),i=t.offset();e.data(this,\"selectable-item\",{element:this,$element:t,left:i.left,top:i.top,right:i.left+t.outerWidth(),bottom:i.top+t.outerHeight(),startselected:!1,selected:t.hasClass(\"ui-selected\"),selecting:t.hasClass(\"ui-selecting\"),unselecting:t.hasClass(\"ui-unselecting\")})})},this.refresh(),this.selectees=t.addClass(\"ui-selectee\"),this._mouseInit(),this.helper=e(\"<div class='ui-selectable-helper'></div>\")},_destroy:function(){this.selectees.removeClass(\"ui-selectee\").removeData(\"selectable-item\"),this.element.removeClass(\"ui-selectable ui-selectable-disabled\"),this._mouseDestroy()},_mouseStart:function(t){var i=this,s=this.options;this.opos=[t.pageX,t.pageY],this.options.disabled||(this.selectees=e(s.filter,this.element[0]),this._trigger(\"start\",t),e(s.appendTo).append(this.helper),this.helper.css({left:t.pageX,top:t.pageY,width:0,height:0}),s.autoRefresh&&this.refresh(),this.selectees.filter(\".ui-selected\").each(function(){var s=e.data(this,\"selectable-item\");s.startselected=!0,t.metaKey||t.ctrlKey||(s.$element.removeClass(\"ui-selected\"),s.selected=!1,s.$element.addClass(\"ui-unselecting\"),s.unselecting=!0,i._trigger(\"unselecting\",t,{unselecting:s.element}))}),e(t.target).parents().addBack().each(function(){var s,n=e.data(this,\"selectable-item\");return n?(s=!t.metaKey&&!t.ctrlKey||!n.$element.hasClass(\"ui-selected\"),n.$element.removeClass(s?\"ui-unselecting\":\"ui-selected\").addClass(s?\"ui-selecting\":\"ui-unselecting\"),n.unselecting=!s,n.selecting=s,n.selected=s,s?i._trigger(\"selecting\",t,{selecting:n.element}):i._trigger(\"unselecting\",t,{unselecting:n.element}),!1):void 0}))},_mouseDrag:function(t){if(this.dragged=!0,!this.options.disabled){var i,s=this,n=this.options,a=this.opos[0],o=this.opos[1],r=t.pageX,h=t.pageY;return a>r&&(i=r,r=a,a=i),o>h&&(i=h,h=o,o=i),this.helper.css({left:a,top:o,width:r-a,height:h-o}),this.selectees.each(function(){var i=e.data(this,\"selectable-item\"),l=!1;i&&i.element!==s.element[0]&&(\"touch\"===n.tolerance?l=!(i.left>r||a>i.right||i.top>h||o>i.bottom):\"fit\"===n.tolerance&&(l=i.left>a&&r>i.right&&i.top>o&&h>i.bottom),l?(i.selected&&(i.$element.removeClass(\"ui-selected\"),i.selected=!1),i.unselecting&&(i.$element.removeClass(\"ui-unselecting\"),i.unselecting=!1),i.selecting||(i.$element.addClass(\"ui-selecting\"),i.selecting=!0,s._trigger(\"selecting\",t,{selecting:i.element}))):(i.selecting&&((t.metaKey||t.ctrlKey)&&i.startselected?(i.$element.removeClass(\"ui-selecting\"),i.selecting=!1,i.$element.addClass(\"ui-selected\"),i.selected=!0):(i.$element.removeClass(\"ui-selecting\"),i.selecting=!1,i.startselected&&(i.$element.addClass(\"ui-unselecting\"),i.unselecting=!0),s._trigger(\"unselecting\",t,{unselecting:i.element}))),i.selected&&(t.metaKey||t.ctrlKey||i.startselected||(i.$element.removeClass(\"ui-selected\"),i.selected=!1,i.$element.addClass(\"ui-unselecting\"),i.unselecting=!0,s._trigger(\"unselecting\",t,{unselecting:i.element})))))}),!1}},_mouseStop:function(t){var i=this;return this.dragged=!1,e(\".ui-unselecting\",this.element[0]).each(function(){var s=e.data(this,\"selectable-item\");s.$element.removeClass(\"ui-unselecting\"),s.unselecting=!1,s.startselected=!1,i._trigger(\"unselected\",t,{unselected:s.element})}),e(\".ui-selecting\",this.element[0]).each(function(){var s=e.data(this,\"selectable-item\");s.$element.removeClass(\"ui-selecting\").addClass(\"ui-selected\"),s.selecting=!1,s.selected=!0,s.startselected=!0,i._trigger(\"selected\",t,{selected:s.element})}),this._trigger(\"stop\",t),this.helper.remove(),!1}}),e.widget(\"ui.selectmenu\",{version:\"1.11.4\",defaultElement:\"<select>\",options:{appendTo:null,disabled:null,icons:{button:\"ui-icon-triangle-1-s\"},position:{my:\"left top\",at:\"left bottom\",collision:\"none\"},width:null,change:null,close:null,focus:null,open:null,select:null},_create:function(){var e=this.element.uniqueId().attr(\"id\");this.ids={element:e,button:e+\"-button\",menu:e+\"-menu\"},this._drawButton(),this._drawMenu(),this.options.disabled&&this.disable()},_drawButton:function(){var t=this;this.label=e(\"label[for='\"+this.ids.element+\"']\").attr(\"for\",this.ids.button),this._on(this.label,{click:function(e){this.button.focus(),e.preventDefault()}}),this.element.hide(),this.button=e(\"<span>\",{\"class\":\"ui-selectmenu-button ui-widget ui-state-default ui-corner-all\",tabindex:this.options.disabled?-1:0,id:this.ids.button,role:\"combobox\",\"aria-expanded\":\"false\",\"aria-autocomplete\":\"list\",\"aria-owns\":this.ids.menu,\"aria-haspopup\":\"true\"}).insertAfter(this.element),e(\"<span>\",{\"class\":\"ui-icon \"+this.options.icons.button}).prependTo(this.button),this.buttonText=e(\"<span>\",{\"class\":\"ui-selectmenu-text\"}).appendTo(this.button),this._setText(this.buttonText,this.element.find(\"option:selected\").text()),this._resizeButton(),this._on(this.button,this._buttonEvents),this.button.one(\"focusin\",function(){t.menuItems||t._refreshMenu()}),this._hoverable(this.button),this._focusable(this.button)},_drawMenu:function(){var t=this;this.menu=e(\"<ul>\",{\"aria-hidden\":\"true\",\"aria-labelledby\":this.ids.button,id:this.ids.menu}),this.menuWrap=e(\"<div>\",{\"class\":\"ui-selectmenu-menu ui-front\"}).append(this.menu).appendTo(this._appendTo()),this.menuInstance=this.menu.menu({role:\"listbox\",select:function(e,i){e.preventDefault(),t._setSelection(),t._select(i.item.data(\"ui-selectmenu-item\"),e)},focus:function(e,i){var s=i.item.data(\"ui-selectmenu-item\");null!=t.focusIndex&&s.index!==t.focusIndex&&(t._trigger(\"focus\",e,{item:s}),t.isOpen||t._select(s,e)),t.focusIndex=s.index,t.button.attr(\"aria-activedescendant\",t.menuItems.eq(s.index).attr(\"id\"))}}).menu(\"instance\"),this.menu.addClass(\"ui-corner-bottom\").removeClass(\"ui-corner-all\"),this.menuInstance._off(this.menu,\"mouseleave\"),this.menuInstance._closeOnDocumentClick=function(){return!1},this.menuInstance._isDivider=function(){return!1}},refresh:function(){this._refreshMenu(),this._setText(this.buttonText,this._getSelectedItem().text()),this.options.width||this._resizeButton()},_refreshMenu:function(){this.menu.empty();var e,t=this.element.find(\"option\");t.length&&(this._parseOptions(t),this._renderMenu(this.menu,this.items),this.menuInstance.refresh(),this.menuItems=this.menu.find(\"li\").not(\".ui-selectmenu-optgroup\"),e=this._getSelectedItem(),this.menuInstance.focus(null,e),this._setAria(e.data(\"ui-selectmenu-item\")),this._setOption(\"disabled\",this.element.prop(\"disabled\")))},open:function(e){this.options.disabled||(this.menuItems?(this.menu.find(\".ui-state-focus\").removeClass(\"ui-state-focus\"),this.menuInstance.focus(null,this._getSelectedItem())):this._refreshMenu(),this.isOpen=!0,this._toggleAttr(),this._resizeMenu(),this._position(),this._on(this.document,this._documentClick),this._trigger(\"open\",e))},_position:function(){this.menuWrap.position(e.extend({of:this.button},this.options.position))},close:function(e){this.isOpen&&(this.isOpen=!1,this._toggleAttr(),this.range=null,this._off(this.document),this._trigger(\"close\",e))},widget:function(){return this.button},menuWidget:function(){return this.menu},_renderMenu:function(t,i){var s=this,n=\"\";e.each(i,function(i,a){a.optgroup!==n&&(e(\"<li>\",{\"class\":\"ui-selectmenu-optgroup ui-menu-divider\"+(a.element.parent(\"optgroup\").prop(\"disabled\")?\" ui-state-disabled\":\"\"),text:a.optgroup}).appendTo(t),n=a.optgroup),s._renderItemData(t,a)})},_renderItemData:function(e,t){return this._renderItem(e,t).data(\"ui-selectmenu-item\",t)},_renderItem:function(t,i){var s=e(\"<li>\");return i.disabled&&s.addClass(\"ui-state-disabled\"),this._setText(s,i.label),s.appendTo(t)},_setText:function(e,t){t?e.text(t):e.html(\"&#160;\")},_move:function(e,t){var i,s,n=\".ui-menu-item\";this.isOpen?i=this.menuItems.eq(this.focusIndex):(i=this.menuItems.eq(this.element[0].selectedIndex),n+=\":not(.ui-state-disabled)\"),s=\"first\"===e||\"last\"===e?i[\"first\"===e?\"prevAll\":\"nextAll\"](n).eq(-1):i[e+\"All\"](n).eq(0),s.length&&this.menuInstance.focus(t,s)},_getSelectedItem:function(){return this.menuItems.eq(this.element[0].selectedIndex)},_toggle:function(e){this[this.isOpen?\"close\":\"open\"](e)},_setSelection:function(){var e;this.range&&(window.getSelection?(e=window.getSelection(),e.removeAllRanges(),e.addRange(this.range)):this.range.select(),this.button.focus())},_documentClick:{mousedown:function(t){this.isOpen&&(e(t.target).closest(\".ui-selectmenu-menu, #\"+this.ids.button).length||this.close(t))}},_buttonEvents:{mousedown:function(){var e;window.getSelection?(e=window.getSelection(),e.rangeCount&&(this.range=e.getRangeAt(0))):this.range=document.selection.createRange()},click:function(e){this._setSelection(),this._toggle(e)},keydown:function(t){var i=!0;switch(t.keyCode){case e.ui.keyCode.TAB:case e.ui.keyCode.ESCAPE:this.close(t),i=!1;break;case e.ui.keyCode.ENTER:this.isOpen&&this._selectFocusedItem(t);break;case e.ui.keyCode.UP:t.altKey?this._toggle(t):this._move(\"prev\",t);break;case e.ui.keyCode.DOWN:t.altKey?this._toggle(t):this._move(\"next\",t);break;case e.ui.keyCode.SPACE:this.isOpen?this._selectFocusedItem(t):this._toggle(t);break;case e.ui.keyCode.LEFT:this._move(\"prev\",t);break;case e.ui.keyCode.RIGHT:this._move(\"next\",t);break;case e.ui.keyCode.HOME:case e.ui.keyCode.PAGE_UP:this._move(\"first\",t);break;case e.ui.keyCode.END:case e.ui.keyCode.PAGE_DOWN:this._move(\"last\",t);break;default:this.menu.trigger(t),i=!1}i&&t.preventDefault()}},_selectFocusedItem:function(e){var t=this.menuItems.eq(this.focusIndex);t.hasClass(\"ui-state-disabled\")||this._select(t.data(\"ui-selectmenu-item\"),e)},_select:function(e,t){var i=this.element[0].selectedIndex;this.element[0].selectedIndex=e.index,this._setText(this.buttonText,e.label),this._setAria(e),this._trigger(\"select\",t,{item:e}),e.index!==i&&this._trigger(\"change\",t,{item:e}),this.close(t)},_setAria:function(e){var t=this.menuItems.eq(e.index).attr(\"id\");this.button.attr({\"aria-labelledby\":t,\"aria-activedescendant\":t}),this.menu.attr(\"aria-activedescendant\",t)},_setOption:function(e,t){\"icons\"===e&&this.button.find(\"span.ui-icon\").removeClass(this.options.icons.button).addClass(t.button),this._super(e,t),\"appendTo\"===e&&this.menuWrap.appendTo(this._appendTo()),\"disabled\"===e&&(this.menuInstance.option(\"disabled\",t),this.button.toggleClass(\"ui-state-disabled\",t).attr(\"aria-disabled\",t),this.element.prop(\"disabled\",t),t?(this.button.attr(\"tabindex\",-1),this.close()):this.button.attr(\"tabindex\",0)),\"width\"===e&&this._resizeButton()},_appendTo:function(){var t=this.options.appendTo;return t&&(t=t.jquery||t.nodeType?e(t):this.document.find(t).eq(0)),t&&t[0]||(t=this.element.closest(\".ui-front\")),t.length||(t=this.document[0].body),t},_toggleAttr:function(){this.button.toggleClass(\"ui-corner-top\",this.isOpen).toggleClass(\"ui-corner-all\",!this.isOpen).attr(\"aria-expanded\",this.isOpen),this.menuWrap.toggleClass(\"ui-selectmenu-open\",this.isOpen),this.menu.attr(\"aria-hidden\",!this.isOpen)},_resizeButton:function(){var e=this.options.width;e||(e=this.element.show().outerWidth(),this.element.hide()),this.button.outerWidth(e)},_resizeMenu:function(){this.menu.outerWidth(Math.max(this.button.outerWidth(),this.menu.width(\"\").outerWidth()+1))},_getCreateOptions:function(){return{disabled:this.element.prop(\"disabled\")}},_parseOptions:function(t){var i=[];t.each(function(t,s){var n=e(s),a=n.parent(\"optgroup\");i.push({element:n,index:t,value:n.val(),label:n.text(),optgroup:a.attr(\"label\")||\"\",disabled:a.prop(\"disabled\")||n.prop(\"disabled\")})}),this.items=i},_destroy:function(){this.menuWrap.remove(),this.button.remove(),this.element.show(),this.element.removeUniqueId(),this.label.attr(\"for\",this.ids.element)}}),e.widget(\"ui.slider\",e.ui.mouse,{version:\"1.11.4\",widgetEventPrefix:\"slide\",options:{animate:!1,distance:0,max:100,min:0,orientation:\"horizontal\",range:!1,step:1,value:0,values:null,change:null,slide:null,start:null,stop:null},numPages:5,_create:function(){this._keySliding=!1,this._mouseSliding=!1,this._animateOff=!0,this._handleIndex=null,this._detectOrientation(),this._mouseInit(),this._calculateNewMax(),this.element.addClass(\"ui-slider ui-slider-\"+this.orientation+\" ui-widget\"+\" ui-widget-content\"+\" ui-corner-all\"),this._refresh(),this._setOption(\"disabled\",this.options.disabled),this._animateOff=!1},_refresh:function(){this._createRange(),this._createHandles(),this._setupEvents(),this._refreshValue()},_createHandles:function(){var t,i,s=this.options,n=this.element.find(\".ui-slider-handle\").addClass(\"ui-state-default ui-corner-all\"),a=\"<span class='ui-slider-handle ui-state-default ui-corner-all' tabindex='0'></span>\",o=[];for(i=s.values&&s.values.length||1,n.length>i&&(n.slice(i).remove(),n=n.slice(0,i)),t=n.length;i>t;t++)o.push(a);this.handles=n.add(e(o.join(\"\")).appendTo(this.element)),this.handle=this.handles.eq(0),this.handles.each(function(t){e(this).data(\"ui-slider-handle-index\",t)})},_createRange:function(){var t=this.options,i=\"\";t.range?(t.range===!0&&(t.values?t.values.length&&2!==t.values.length?t.values=[t.values[0],t.values[0]]:e.isArray(t.values)&&(t.values=t.values.slice(0)):t.values=[this._valueMin(),this._valueMin()]),this.range&&this.range.length?this.range.removeClass(\"ui-slider-range-min ui-slider-range-max\").css({left:\"\",bottom:\"\"}):(this.range=e(\"<div></div>\").appendTo(this.element),i=\"ui-slider-range ui-widget-header ui-corner-all\"),this.range.addClass(i+(\"min\"===t.range||\"max\"===t.range?\" ui-slider-range-\"+t.range:\"\"))):(this.range&&this.range.remove(),this.range=null)},_setupEvents:function(){this._off(this.handles),this._on(this.handles,this._handleEvents),this._hoverable(this.handles),this._focusable(this.handles)},_destroy:function(){this.handles.remove(),this.range&&this.range.remove(),this.element.removeClass(\"ui-slider ui-slider-horizontal ui-slider-vertical ui-widget ui-widget-content ui-corner-all\"),this._mouseDestroy()},_mouseCapture:function(t){var i,s,n,a,o,r,h,l,u=this,d=this.options;return d.disabled?!1:(this.elementSize={width:this.element.outerWidth(),height:this.element.outerHeight()},this.elementOffset=this.element.offset(),i={x:t.pageX,y:t.pageY},s=this._normValueFromMouse(i),n=this._valueMax()-this._valueMin()+1,this.handles.each(function(t){var i=Math.abs(s-u.values(t));(n>i||n===i&&(t===u._lastChangedValue||u.values(t)===d.min))&&(n=i,a=e(this),o=t)}),r=this._start(t,o),r===!1?!1:(this._mouseSliding=!0,this._handleIndex=o,a.addClass(\"ui-state-active\").focus(),h=a.offset(),l=!e(t.target).parents().addBack().is(\".ui-slider-handle\"),this._clickOffset=l?{left:0,top:0}:{left:t.pageX-h.left-a.width()/2,top:t.pageY-h.top-a.height()/2-(parseInt(a.css(\"borderTopWidth\"),10)||0)-(parseInt(a.css(\"borderBottomWidth\"),10)||0)+(parseInt(a.css(\"marginTop\"),10)||0)},this.handles.hasClass(\"ui-state-hover\")||this._slide(t,o,s),this._animateOff=!0,!0))},_mouseStart:function(){return!0},_mouseDrag:function(e){var t={x:e.pageX,y:e.pageY},i=this._normValueFromMouse(t);return this._slide(e,this._handleIndex,i),!1},_mouseStop:function(e){return this.handles.removeClass(\"ui-state-active\"),this._mouseSliding=!1,this._stop(e,this._handleIndex),this._change(e,this._handleIndex),this._handleIndex=null,this._clickOffset=null,this._animateOff=!1,!1},_detectOrientation:function(){this.orientation=\"vertical\"===this.options.orientation?\"vertical\":\"horizontal\"},_normValueFromMouse:function(e){var t,i,s,n,a;return\"horizontal\"===this.orientation?(t=this.elementSize.width,i=e.x-this.elementOffset.left-(this._clickOffset?this._clickOffset.left:0)):(t=this.elementSize.height,i=e.y-this.elementOffset.top-(this._clickOffset?this._clickOffset.top:0)),s=i/t,s>1&&(s=1),0>s&&(s=0),\"vertical\"===this.orientation&&(s=1-s),n=this._valueMax()-this._valueMin(),a=this._valueMin()+s*n,this._trimAlignValue(a)},_start:function(e,t){var i={handle:this.handles[t],value:this.value()};return this.options.values&&this.options.values.length&&(i.value=this.values(t),i.values=this.values()),this._trigger(\"start\",e,i)},_slide:function(e,t,i){var s,n,a;this.options.values&&this.options.values.length?(s=this.values(t?0:1),2===this.options.values.length&&this.options.range===!0&&(0===t&&i>s||1===t&&s>i)&&(i=s),i!==this.values(t)&&(n=this.values(),n[t]=i,a=this._trigger(\"slide\",e,{handle:this.handles[t],value:i,values:n}),s=this.values(t?0:1),a!==!1&&this.values(t,i))):i!==this.value()&&(a=this._trigger(\"slide\",e,{handle:this.handles[t],value:i}),a!==!1&&this.value(i))},_stop:function(e,t){var i={handle:this.handles[t],value:this.value()};this.options.values&&this.options.values.length&&(i.value=this.values(t),i.values=this.values()),this._trigger(\"stop\",e,i)},_change:function(e,t){if(!this._keySliding&&!this._mouseSliding){var i={handle:this.handles[t],value:this.value()};this.options.values&&this.options.values.length&&(i.value=this.values(t),i.values=this.values()),this._lastChangedValue=t,this._trigger(\"change\",e,i)}},value:function(e){return arguments.length?(this.options.value=this._trimAlignValue(e),this._refreshValue(),this._change(null,0),void 0):this._value()},values:function(t,i){var s,n,a;if(arguments.length>1)return this.options.values[t]=this._trimAlignValue(i),this._refreshValue(),this._change(null,t),void 0;if(!arguments.length)return this._values();if(!e.isArray(arguments[0]))return this.options.values&&this.options.values.length?this._values(t):this.value();for(s=this.options.values,n=arguments[0],a=0;s.length>a;a+=1)s[a]=this._trimAlignValue(n[a]),this._change(null,a);this._refreshValue()},_setOption:function(t,i){var s,n=0;switch(\"range\"===t&&this.options.range===!0&&(\"min\"===i?(this.options.value=this._values(0),this.options.values=null):\"max\"===i&&(this.options.value=this._values(this.options.values.length-1),this.options.values=null)),e.isArray(this.options.values)&&(n=this.options.values.length),\"disabled\"===t&&this.element.toggleClass(\"ui-state-disabled\",!!i),this._super(t,i),t){case\"orientation\":this._detectOrientation(),this.element.removeClass(\"ui-slider-horizontal ui-slider-vertical\").addClass(\"ui-slider-\"+this.orientation),this._refreshValue(),this.handles.css(\"horizontal\"===i?\"bottom\":\"left\",\"\");break;case\"value\":this._animateOff=!0,this._refreshValue(),this._change(null,0),this._animateOff=!1;break;case\"values\":for(this._animateOff=!0,this._refreshValue(),s=0;n>s;s+=1)this._change(null,s);this._animateOff=!1;break;case\"step\":case\"min\":case\"max\":this._animateOff=!0,this._calculateNewMax(),this._refreshValue(),this._animateOff=!1;break;case\"range\":this._animateOff=!0,this._refresh(),this._animateOff=!1}},_value:function(){var e=this.options.value;return e=this._trimAlignValue(e)},_values:function(e){var t,i,s;if(arguments.length)return t=this.options.values[e],t=this._trimAlignValue(t);if(this.options.values&&this.options.values.length){for(i=this.options.values.slice(),s=0;i.length>s;s+=1)i[s]=this._trimAlignValue(i[s]);return i}return[]},_trimAlignValue:function(e){if(this._valueMin()>=e)return this._valueMin();if(e>=this._valueMax())return this._valueMax();var t=this.options.step>0?this.options.step:1,i=(e-this._valueMin())%t,s=e-i;return 2*Math.abs(i)>=t&&(s+=i>0?t:-t),parseFloat(s.toFixed(5))},_calculateNewMax:function(){var e=this.options.max,t=this._valueMin(),i=this.options.step,s=Math.floor(+(e-t).toFixed(this._precision())/i)*i;e=s+t,this.max=parseFloat(e.toFixed(this._precision()))},_precision:function(){var e=this._precisionOf(this.options.step);return null!==this.options.min&&(e=Math.max(e,this._precisionOf(this.options.min))),e},_precisionOf:function(e){var t=\"\"+e,i=t.indexOf(\".\");return-1===i?0:t.length-i-1},_valueMin:function(){return this.options.min},_valueMax:function(){return this.max},_refreshValue:function(){var t,i,s,n,a,o=this.options.range,r=this.options,h=this,l=this._animateOff?!1:r.animate,u={};this.options.values&&this.options.values.length?this.handles.each(function(s){i=100*((h.values(s)-h._valueMin())/(h._valueMax()-h._valueMin())),u[\"horizontal\"===h.orientation?\"left\":\"bottom\"]=i+\"%\",e(this).stop(1,1)[l?\"animate\":\"css\"](u,r.animate),h.options.range===!0&&(\"horizontal\"===h.orientation?(0===s&&h.range.stop(1,1)[l?\"animate\":\"css\"]({left:i+\"%\"},r.animate),1===s&&h.range[l?\"animate\":\"css\"]({width:i-t+\"%\"},{queue:!1,duration:r.animate})):(0===s&&h.range.stop(1,1)[l?\"animate\":\"css\"]({bottom:i+\"%\"},r.animate),1===s&&h.range[l?\"animate\":\"css\"]({height:i-t+\"%\"},{queue:!1,duration:r.animate}))),t=i}):(s=this.value(),n=this._valueMin(),a=this._valueMax(),i=a!==n?100*((s-n)/(a-n)):0,u[\"horizontal\"===this.orientation?\"left\":\"bottom\"]=i+\"%\",this.handle.stop(1,1)[l?\"animate\":\"css\"](u,r.animate),\"min\"===o&&\"horizontal\"===this.orientation&&this.range.stop(1,1)[l?\"animate\":\"css\"]({width:i+\"%\"},r.animate),\"max\"===o&&\"horizontal\"===this.orientation&&this.range[l?\"animate\":\"css\"]({width:100-i+\"%\"},{queue:!1,duration:r.animate}),\"min\"===o&&\"vertical\"===this.orientation&&this.range.stop(1,1)[l?\"animate\":\"css\"]({height:i+\"%\"},r.animate),\"max\"===o&&\"vertical\"===this.orientation&&this.range[l?\"animate\":\"css\"]({height:100-i+\"%\"},{queue:!1,duration:r.animate}))},_handleEvents:{keydown:function(t){var i,s,n,a,o=e(t.target).data(\"ui-slider-handle-index\");switch(t.keyCode){case e.ui.keyCode.HOME:case e.ui.keyCode.END:case e.ui.keyCode.PAGE_UP:case e.ui.keyCode.PAGE_DOWN:case e.ui.keyCode.UP:case e.ui.keyCode.RIGHT:case e.ui.keyCode.DOWN:case e.ui.keyCode.LEFT:if(t.preventDefault(),!this._keySliding&&(this._keySliding=!0,e(t.target).addClass(\"ui-state-active\"),i=this._start(t,o),i===!1))return}switch(a=this.options.step,s=n=this.options.values&&this.options.values.length?this.values(o):this.value(),t.keyCode){case e.ui.keyCode.HOME:n=this._valueMin();break;case e.ui.keyCode.END:n=this._valueMax();break;case e.ui.keyCode.PAGE_UP:n=this._trimAlignValue(s+(this._valueMax()-this._valueMin())/this.numPages);break;case e.ui.keyCode.PAGE_DOWN:n=this._trimAlignValue(s-(this._valueMax()-this._valueMin())/this.numPages);break;case e.ui.keyCode.UP:case e.ui.keyCode.RIGHT:if(s===this._valueMax())return;n=this._trimAlignValue(s+a);break;case e.ui.keyCode.DOWN:case e.ui.keyCode.LEFT:if(s===this._valueMin())return;n=this._trimAlignValue(s-a)}this._slide(t,o,n)},keyup:function(t){var i=e(t.target).data(\"ui-slider-handle-index\");this._keySliding&&(this._keySliding=!1,this._stop(t,i),this._change(t,i),e(t.target).removeClass(\"ui-state-active\"))}}}),e.widget(\"ui.sortable\",e.ui.mouse,{version:\"1.11.4\",widgetEventPrefix:\"sort\",ready:!1,options:{appendTo:\"parent\",axis:!1,connectWith:!1,containment:!1,cursor:\"auto\",cursorAt:!1,dropOnEmpty:!0,forcePlaceholderSize:!1,forceHelperSize:!1,grid:!1,handle:!1,helper:\"original\",items:\"> *\",opacity:!1,placeholder:!1,revert:!1,scroll:!0,scrollSensitivity:20,scrollSpeed:20,scope:\"default\",tolerance:\"intersect\",zIndex:1e3,activate:null,beforeStop:null,change:null,deactivate:null,out:null,over:null,receive:null,remove:null,sort:null,start:null,stop:null,update:null},_isOverAxis:function(e,t,i){return e>=t&&t+i>e},_isFloating:function(e){return/left|right/.test(e.css(\"float\"))||/inline|table-cell/.test(e.css(\"display\"))},_create:function(){this.containerCache={},this.element.addClass(\"ui-sortable\"),this.refresh(),this.offset=this.element.offset(),this._mouseInit(),this._setHandleClassName(),this.ready=!0},_setOption:function(e,t){this._super(e,t),\"handle\"===e&&this._setHandleClassName()},_setHandleClassName:function(){this.element.find(\".ui-sortable-handle\").removeClass(\"ui-sortable-handle\"),e.each(this.items,function(){(this.instance.options.handle?this.item.find(this.instance.options.handle):this.item).addClass(\"ui-sortable-handle\")})},_destroy:function(){this.element.removeClass(\"ui-sortable ui-sortable-disabled\").find(\".ui-sortable-handle\").removeClass(\"ui-sortable-handle\"),this._mouseDestroy();for(var e=this.items.length-1;e>=0;e--)this.items[e].item.removeData(this.widgetName+\"-item\");return this},_mouseCapture:function(t,i){var s=null,n=!1,a=this;return this.reverting?!1:this.options.disabled||\"static\"===this.options.type?!1:(this._refreshItems(t),e(t.target).parents().each(function(){return e.data(this,a.widgetName+\"-item\")===a?(s=e(this),!1):void 0}),e.data(t.target,a.widgetName+\"-item\")===a&&(s=e(t.target)),s?!this.options.handle||i||(e(this.options.handle,s).find(\"*\").addBack().each(function(){this===t.target&&(n=!0)}),n)?(this.currentItem=s,this._removeCurrentsFromItems(),!0):!1:!1)},_mouseStart:function(t,i,s){var n,a,o=this.options;if(this.currentContainer=this,this.refreshPositions(),this.helper=this._createHelper(t),this._cacheHelperProportions(),this._cacheMargins(),this.scrollParent=this.helper.scrollParent(),this.offset=this.currentItem.offset(),this.offset={top:this.offset.top-this.margins.top,left:this.offset.left-this.margins.left},e.extend(this.offset,{click:{left:t.pageX-this.offset.left,top:t.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()}),this.helper.css(\"position\",\"absolute\"),this.cssPosition=this.helper.css(\"position\"),this.originalPosition=this._generatePosition(t),this.originalPageX=t.pageX,this.originalPageY=t.pageY,o.cursorAt&&this._adjustOffsetFromHelper(o.cursorAt),this.domPosition={prev:this.currentItem.prev()[0],parent:this.currentItem.parent()[0]},this.helper[0]!==this.currentItem[0]&&this.currentItem.hide(),this._createPlaceholder(),o.containment&&this._setContainment(),o.cursor&&\"auto\"!==o.cursor&&(a=this.document.find(\"body\"),this.storedCursor=a.css(\"cursor\"),a.css(\"cursor\",o.cursor),this.storedStylesheet=e(\"<style>*{ cursor: \"+o.cursor+\" !important; }</style>\").appendTo(a)),o.opacity&&(this.helper.css(\"opacity\")&&(this._storedOpacity=this.helper.css(\"opacity\")),this.helper.css(\"opacity\",o.opacity)),o.zIndex&&(this.helper.css(\"zIndex\")&&(this._storedZIndex=this.helper.css(\"zIndex\")),this.helper.css(\"zIndex\",o.zIndex)),this.scrollParent[0]!==this.document[0]&&\"HTML\"!==this.scrollParent[0].tagName&&(this.overflowOffset=this.scrollParent.offset()),this._trigger(\"start\",t,this._uiHash()),this._preserveHelperProportions||this._cacheHelperProportions(),!s)for(n=this.containers.length-1;n>=0;n--)this.containers[n]._trigger(\"activate\",t,this._uiHash(this));\r\nreturn e.ui.ddmanager&&(e.ui.ddmanager.current=this),e.ui.ddmanager&&!o.dropBehaviour&&e.ui.ddmanager.prepareOffsets(this,t),this.dragging=!0,this.helper.addClass(\"ui-sortable-helper\"),this._mouseDrag(t),!0},_mouseDrag:function(t){var i,s,n,a,o=this.options,r=!1;for(this.position=this._generatePosition(t),this.positionAbs=this._convertPositionTo(\"absolute\"),this.lastPositionAbs||(this.lastPositionAbs=this.positionAbs),this.options.scroll&&(this.scrollParent[0]!==this.document[0]&&\"HTML\"!==this.scrollParent[0].tagName?(this.overflowOffset.top+this.scrollParent[0].offsetHeight-t.pageY<o.scrollSensitivity?this.scrollParent[0].scrollTop=r=this.scrollParent[0].scrollTop+o.scrollSpeed:t.pageY-this.overflowOffset.top<o.scrollSensitivity&&(this.scrollParent[0].scrollTop=r=this.scrollParent[0].scrollTop-o.scrollSpeed),this.overflowOffset.left+this.scrollParent[0].offsetWidth-t.pageX<o.scrollSensitivity?this.scrollParent[0].scrollLeft=r=this.scrollParent[0].scrollLeft+o.scrollSpeed:t.pageX-this.overflowOffset.left<o.scrollSensitivity&&(this.scrollParent[0].scrollLeft=r=this.scrollParent[0].scrollLeft-o.scrollSpeed)):(t.pageY-this.document.scrollTop()<o.scrollSensitivity?r=this.document.scrollTop(this.document.scrollTop()-o.scrollSpeed):this.window.height()-(t.pageY-this.document.scrollTop())<o.scrollSensitivity&&(r=this.document.scrollTop(this.document.scrollTop()+o.scrollSpeed)),t.pageX-this.document.scrollLeft()<o.scrollSensitivity?r=this.document.scrollLeft(this.document.scrollLeft()-o.scrollSpeed):this.window.width()-(t.pageX-this.document.scrollLeft())<o.scrollSensitivity&&(r=this.document.scrollLeft(this.document.scrollLeft()+o.scrollSpeed))),r!==!1&&e.ui.ddmanager&&!o.dropBehaviour&&e.ui.ddmanager.prepareOffsets(this,t)),this.positionAbs=this._convertPositionTo(\"absolute\"),this.options.axis&&\"y\"===this.options.axis||(this.helper[0].style.left=this.position.left+\"px\"),this.options.axis&&\"x\"===this.options.axis||(this.helper[0].style.top=this.position.top+\"px\"),i=this.items.length-1;i>=0;i--)if(s=this.items[i],n=s.item[0],a=this._intersectsWithPointer(s),a&&s.instance===this.currentContainer&&n!==this.currentItem[0]&&this.placeholder[1===a?\"next\":\"prev\"]()[0]!==n&&!e.contains(this.placeholder[0],n)&&(\"semi-dynamic\"===this.options.type?!e.contains(this.element[0],n):!0)){if(this.direction=1===a?\"down\":\"up\",\"pointer\"!==this.options.tolerance&&!this._intersectsWithSides(s))break;this._rearrange(t,s),this._trigger(\"change\",t,this._uiHash());break}return this._contactContainers(t),e.ui.ddmanager&&e.ui.ddmanager.drag(this,t),this._trigger(\"sort\",t,this._uiHash()),this.lastPositionAbs=this.positionAbs,!1},_mouseStop:function(t,i){if(t){if(e.ui.ddmanager&&!this.options.dropBehaviour&&e.ui.ddmanager.drop(this,t),this.options.revert){var s=this,n=this.placeholder.offset(),a=this.options.axis,o={};a&&\"x\"!==a||(o.left=n.left-this.offset.parent.left-this.margins.left+(this.offsetParent[0]===this.document[0].body?0:this.offsetParent[0].scrollLeft)),a&&\"y\"!==a||(o.top=n.top-this.offset.parent.top-this.margins.top+(this.offsetParent[0]===this.document[0].body?0:this.offsetParent[0].scrollTop)),this.reverting=!0,e(this.helper).animate(o,parseInt(this.options.revert,10)||500,function(){s._clear(t)})}else this._clear(t,i);return!1}},cancel:function(){if(this.dragging){this._mouseUp({target:null}),\"original\"===this.options.helper?this.currentItem.css(this._storedCSS).removeClass(\"ui-sortable-helper\"):this.currentItem.show();for(var t=this.containers.length-1;t>=0;t--)this.containers[t]._trigger(\"deactivate\",null,this._uiHash(this)),this.containers[t].containerCache.over&&(this.containers[t]._trigger(\"out\",null,this._uiHash(this)),this.containers[t].containerCache.over=0)}return this.placeholder&&(this.placeholder[0].parentNode&&this.placeholder[0].parentNode.removeChild(this.placeholder[0]),\"original\"!==this.options.helper&&this.helper&&this.helper[0].parentNode&&this.helper.remove(),e.extend(this,{helper:null,dragging:!1,reverting:!1,_noFinalSort:null}),this.domPosition.prev?e(this.domPosition.prev).after(this.currentItem):e(this.domPosition.parent).prepend(this.currentItem)),this},serialize:function(t){var i=this._getItemsAsjQuery(t&&t.connected),s=[];return t=t||{},e(i).each(function(){var i=(e(t.item||this).attr(t.attribute||\"id\")||\"\").match(t.expression||/(.+)[\\-=_](.+)/);i&&s.push((t.key||i[1]+\"[]\")+\"=\"+(t.key&&t.expression?i[1]:i[2]))}),!s.length&&t.key&&s.push(t.key+\"=\"),s.join(\"&\")},toArray:function(t){var i=this._getItemsAsjQuery(t&&t.connected),s=[];return t=t||{},i.each(function(){s.push(e(t.item||this).attr(t.attribute||\"id\")||\"\")}),s},_intersectsWith:function(e){var t=this.positionAbs.left,i=t+this.helperProportions.width,s=this.positionAbs.top,n=s+this.helperProportions.height,a=e.left,o=a+e.width,r=e.top,h=r+e.height,l=this.offset.click.top,u=this.offset.click.left,d=\"x\"===this.options.axis||s+l>r&&h>s+l,c=\"y\"===this.options.axis||t+u>a&&o>t+u,p=d&&c;return\"pointer\"===this.options.tolerance||this.options.forcePointerForContainers||\"pointer\"!==this.options.tolerance&&this.helperProportions[this.floating?\"width\":\"height\"]>e[this.floating?\"width\":\"height\"]?p:t+this.helperProportions.width/2>a&&o>i-this.helperProportions.width/2&&s+this.helperProportions.height/2>r&&h>n-this.helperProportions.height/2},_intersectsWithPointer:function(e){var t=\"x\"===this.options.axis||this._isOverAxis(this.positionAbs.top+this.offset.click.top,e.top,e.height),i=\"y\"===this.options.axis||this._isOverAxis(this.positionAbs.left+this.offset.click.left,e.left,e.width),s=t&&i,n=this._getDragVerticalDirection(),a=this._getDragHorizontalDirection();return s?this.floating?a&&\"right\"===a||\"down\"===n?2:1:n&&(\"down\"===n?2:1):!1},_intersectsWithSides:function(e){var t=this._isOverAxis(this.positionAbs.top+this.offset.click.top,e.top+e.height/2,e.height),i=this._isOverAxis(this.positionAbs.left+this.offset.click.left,e.left+e.width/2,e.width),s=this._getDragVerticalDirection(),n=this._getDragHorizontalDirection();return this.floating&&n?\"right\"===n&&i||\"left\"===n&&!i:s&&(\"down\"===s&&t||\"up\"===s&&!t)},_getDragVerticalDirection:function(){var e=this.positionAbs.top-this.lastPositionAbs.top;return 0!==e&&(e>0?\"down\":\"up\")},_getDragHorizontalDirection:function(){var e=this.positionAbs.left-this.lastPositionAbs.left;return 0!==e&&(e>0?\"right\":\"left\")},refresh:function(e){return this._refreshItems(e),this._setHandleClassName(),this.refreshPositions(),this},_connectWith:function(){var e=this.options;return e.connectWith.constructor===String?[e.connectWith]:e.connectWith},_getItemsAsjQuery:function(t){function i(){r.push(this)}var s,n,a,o,r=[],h=[],l=this._connectWith();if(l&&t)for(s=l.length-1;s>=0;s--)for(a=e(l[s],this.document[0]),n=a.length-1;n>=0;n--)o=e.data(a[n],this.widgetFullName),o&&o!==this&&!o.options.disabled&&h.push([e.isFunction(o.options.items)?o.options.items.call(o.element):e(o.options.items,o.element).not(\".ui-sortable-helper\").not(\".ui-sortable-placeholder\"),o]);for(h.push([e.isFunction(this.options.items)?this.options.items.call(this.element,null,{options:this.options,item:this.currentItem}):e(this.options.items,this.element).not(\".ui-sortable-helper\").not(\".ui-sortable-placeholder\"),this]),s=h.length-1;s>=0;s--)h[s][0].each(i);return e(r)},_removeCurrentsFromItems:function(){var t=this.currentItem.find(\":data(\"+this.widgetName+\"-item)\");this.items=e.grep(this.items,function(e){for(var i=0;t.length>i;i++)if(t[i]===e.item[0])return!1;return!0})},_refreshItems:function(t){this.items=[],this.containers=[this];var i,s,n,a,o,r,h,l,u=this.items,d=[[e.isFunction(this.options.items)?this.options.items.call(this.element[0],t,{item:this.currentItem}):e(this.options.items,this.element),this]],c=this._connectWith();if(c&&this.ready)for(i=c.length-1;i>=0;i--)for(n=e(c[i],this.document[0]),s=n.length-1;s>=0;s--)a=e.data(n[s],this.widgetFullName),a&&a!==this&&!a.options.disabled&&(d.push([e.isFunction(a.options.items)?a.options.items.call(a.element[0],t,{item:this.currentItem}):e(a.options.items,a.element),a]),this.containers.push(a));for(i=d.length-1;i>=0;i--)for(o=d[i][1],r=d[i][0],s=0,l=r.length;l>s;s++)h=e(r[s]),h.data(this.widgetName+\"-item\",o),u.push({item:h,instance:o,width:0,height:0,left:0,top:0})},refreshPositions:function(t){this.floating=this.items.length?\"x\"===this.options.axis||this._isFloating(this.items[0].item):!1,this.offsetParent&&this.helper&&(this.offset.parent=this._getParentOffset());var i,s,n,a;for(i=this.items.length-1;i>=0;i--)s=this.items[i],s.instance!==this.currentContainer&&this.currentContainer&&s.item[0]!==this.currentItem[0]||(n=this.options.toleranceElement?e(this.options.toleranceElement,s.item):s.item,t||(s.width=n.outerWidth(),s.height=n.outerHeight()),a=n.offset(),s.left=a.left,s.top=a.top);if(this.options.custom&&this.options.custom.refreshContainers)this.options.custom.refreshContainers.call(this);else for(i=this.containers.length-1;i>=0;i--)a=this.containers[i].element.offset(),this.containers[i].containerCache.left=a.left,this.containers[i].containerCache.top=a.top,this.containers[i].containerCache.width=this.containers[i].element.outerWidth(),this.containers[i].containerCache.height=this.containers[i].element.outerHeight();return this},_createPlaceholder:function(t){t=t||this;var i,s=t.options;s.placeholder&&s.placeholder.constructor!==String||(i=s.placeholder,s.placeholder={element:function(){var s=t.currentItem[0].nodeName.toLowerCase(),n=e(\"<\"+s+\">\",t.document[0]).addClass(i||t.currentItem[0].className+\" ui-sortable-placeholder\").removeClass(\"ui-sortable-helper\");return\"tbody\"===s?t._createTrPlaceholder(t.currentItem.find(\"tr\").eq(0),e(\"<tr>\",t.document[0]).appendTo(n)):\"tr\"===s?t._createTrPlaceholder(t.currentItem,n):\"img\"===s&&n.attr(\"src\",t.currentItem.attr(\"src\")),i||n.css(\"visibility\",\"hidden\"),n},update:function(e,n){(!i||s.forcePlaceholderSize)&&(n.height()||n.height(t.currentItem.innerHeight()-parseInt(t.currentItem.css(\"paddingTop\")||0,10)-parseInt(t.currentItem.css(\"paddingBottom\")||0,10)),n.width()||n.width(t.currentItem.innerWidth()-parseInt(t.currentItem.css(\"paddingLeft\")||0,10)-parseInt(t.currentItem.css(\"paddingRight\")||0,10)))}}),t.placeholder=e(s.placeholder.element.call(t.element,t.currentItem)),t.currentItem.after(t.placeholder),s.placeholder.update(t,t.placeholder)},_createTrPlaceholder:function(t,i){var s=this;t.children().each(function(){e(\"<td>&#160;</td>\",s.document[0]).attr(\"colspan\",e(this).attr(\"colspan\")||1).appendTo(i)})},_contactContainers:function(t){var i,s,n,a,o,r,h,l,u,d,c=null,p=null;for(i=this.containers.length-1;i>=0;i--)if(!e.contains(this.currentItem[0],this.containers[i].element[0]))if(this._intersectsWith(this.containers[i].containerCache)){if(c&&e.contains(this.containers[i].element[0],c.element[0]))continue;c=this.containers[i],p=i}else this.containers[i].containerCache.over&&(this.containers[i]._trigger(\"out\",t,this._uiHash(this)),this.containers[i].containerCache.over=0);if(c)if(1===this.containers.length)this.containers[p].containerCache.over||(this.containers[p]._trigger(\"over\",t,this._uiHash(this)),this.containers[p].containerCache.over=1);else{for(n=1e4,a=null,u=c.floating||this._isFloating(this.currentItem),o=u?\"left\":\"top\",r=u?\"width\":\"height\",d=u?\"clientX\":\"clientY\",s=this.items.length-1;s>=0;s--)e.contains(this.containers[p].element[0],this.items[s].item[0])&&this.items[s].item[0]!==this.currentItem[0]&&(h=this.items[s].item.offset()[o],l=!1,t[d]-h>this.items[s][r]/2&&(l=!0),n>Math.abs(t[d]-h)&&(n=Math.abs(t[d]-h),a=this.items[s],this.direction=l?\"up\":\"down\"));if(!a&&!this.options.dropOnEmpty)return;if(this.currentContainer===this.containers[p])return this.currentContainer.containerCache.over||(this.containers[p]._trigger(\"over\",t,this._uiHash()),this.currentContainer.containerCache.over=1),void 0;a?this._rearrange(t,a,null,!0):this._rearrange(t,null,this.containers[p].element,!0),this._trigger(\"change\",t,this._uiHash()),this.containers[p]._trigger(\"change\",t,this._uiHash(this)),this.currentContainer=this.containers[p],this.options.placeholder.update(this.currentContainer,this.placeholder),this.containers[p]._trigger(\"over\",t,this._uiHash(this)),this.containers[p].containerCache.over=1}},_createHelper:function(t){var i=this.options,s=e.isFunction(i.helper)?e(i.helper.apply(this.element[0],[t,this.currentItem])):\"clone\"===i.helper?this.currentItem.clone():this.currentItem;return s.parents(\"body\").length||e(\"parent\"!==i.appendTo?i.appendTo:this.currentItem[0].parentNode)[0].appendChild(s[0]),s[0]===this.currentItem[0]&&(this._storedCSS={width:this.currentItem[0].style.width,height:this.currentItem[0].style.height,position:this.currentItem.css(\"position\"),top:this.currentItem.css(\"top\"),left:this.currentItem.css(\"left\")}),(!s[0].style.width||i.forceHelperSize)&&s.width(this.currentItem.width()),(!s[0].style.height||i.forceHelperSize)&&s.height(this.currentItem.height()),s},_adjustOffsetFromHelper:function(t){\"string\"==typeof t&&(t=t.split(\" \")),e.isArray(t)&&(t={left:+t[0],top:+t[1]||0}),\"left\"in t&&(this.offset.click.left=t.left+this.margins.left),\"right\"in t&&(this.offset.click.left=this.helperProportions.width-t.right+this.margins.left),\"top\"in t&&(this.offset.click.top=t.top+this.margins.top),\"bottom\"in t&&(this.offset.click.top=this.helperProportions.height-t.bottom+this.margins.top)},_getParentOffset:function(){this.offsetParent=this.helper.offsetParent();var t=this.offsetParent.offset();return\"absolute\"===this.cssPosition&&this.scrollParent[0]!==this.document[0]&&e.contains(this.scrollParent[0],this.offsetParent[0])&&(t.left+=this.scrollParent.scrollLeft(),t.top+=this.scrollParent.scrollTop()),(this.offsetParent[0]===this.document[0].body||this.offsetParent[0].tagName&&\"html\"===this.offsetParent[0].tagName.toLowerCase()&&e.ui.ie)&&(t={top:0,left:0}),{top:t.top+(parseInt(this.offsetParent.css(\"borderTopWidth\"),10)||0),left:t.left+(parseInt(this.offsetParent.css(\"borderLeftWidth\"),10)||0)}},_getRelativeOffset:function(){if(\"relative\"===this.cssPosition){var e=this.currentItem.position();return{top:e.top-(parseInt(this.helper.css(\"top\"),10)||0)+this.scrollParent.scrollTop(),left:e.left-(parseInt(this.helper.css(\"left\"),10)||0)+this.scrollParent.scrollLeft()}}return{top:0,left:0}},_cacheMargins:function(){this.margins={left:parseInt(this.currentItem.css(\"marginLeft\"),10)||0,top:parseInt(this.currentItem.css(\"marginTop\"),10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var t,i,s,n=this.options;\"parent\"===n.containment&&(n.containment=this.helper[0].parentNode),(\"document\"===n.containment||\"window\"===n.containment)&&(this.containment=[0-this.offset.relative.left-this.offset.parent.left,0-this.offset.relative.top-this.offset.parent.top,\"document\"===n.containment?this.document.width():this.window.width()-this.helperProportions.width-this.margins.left,(\"document\"===n.containment?this.document.width():this.window.height()||this.document[0].body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top]),/^(document|window|parent)$/.test(n.containment)||(t=e(n.containment)[0],i=e(n.containment).offset(),s=\"hidden\"!==e(t).css(\"overflow\"),this.containment=[i.left+(parseInt(e(t).css(\"borderLeftWidth\"),10)||0)+(parseInt(e(t).css(\"paddingLeft\"),10)||0)-this.margins.left,i.top+(parseInt(e(t).css(\"borderTopWidth\"),10)||0)+(parseInt(e(t).css(\"paddingTop\"),10)||0)-this.margins.top,i.left+(s?Math.max(t.scrollWidth,t.offsetWidth):t.offsetWidth)-(parseInt(e(t).css(\"borderLeftWidth\"),10)||0)-(parseInt(e(t).css(\"paddingRight\"),10)||0)-this.helperProportions.width-this.margins.left,i.top+(s?Math.max(t.scrollHeight,t.offsetHeight):t.offsetHeight)-(parseInt(e(t).css(\"borderTopWidth\"),10)||0)-(parseInt(e(t).css(\"paddingBottom\"),10)||0)-this.helperProportions.height-this.margins.top])},_convertPositionTo:function(t,i){i||(i=this.position);var s=\"absolute\"===t?1:-1,n=\"absolute\"!==this.cssPosition||this.scrollParent[0]!==this.document[0]&&e.contains(this.scrollParent[0],this.offsetParent[0])?this.scrollParent:this.offsetParent,a=/(html|body)/i.test(n[0].tagName);return{top:i.top+this.offset.relative.top*s+this.offset.parent.top*s-(\"fixed\"===this.cssPosition?-this.scrollParent.scrollTop():a?0:n.scrollTop())*s,left:i.left+this.offset.relative.left*s+this.offset.parent.left*s-(\"fixed\"===this.cssPosition?-this.scrollParent.scrollLeft():a?0:n.scrollLeft())*s}},_generatePosition:function(t){var i,s,n=this.options,a=t.pageX,o=t.pageY,r=\"absolute\"!==this.cssPosition||this.scrollParent[0]!==this.document[0]&&e.contains(this.scrollParent[0],this.offsetParent[0])?this.scrollParent:this.offsetParent,h=/(html|body)/i.test(r[0].tagName);return\"relative\"!==this.cssPosition||this.scrollParent[0]!==this.document[0]&&this.scrollParent[0]!==this.offsetParent[0]||(this.offset.relative=this._getRelativeOffset()),this.originalPosition&&(this.containment&&(t.pageX-this.offset.click.left<this.containment[0]&&(a=this.containment[0]+this.offset.click.left),t.pageY-this.offset.click.top<this.containment[1]&&(o=this.containment[1]+this.offset.click.top),t.pageX-this.offset.click.left>this.containment[2]&&(a=this.containment[2]+this.offset.click.left),t.pageY-this.offset.click.top>this.containment[3]&&(o=this.containment[3]+this.offset.click.top)),n.grid&&(i=this.originalPageY+Math.round((o-this.originalPageY)/n.grid[1])*n.grid[1],o=this.containment?i-this.offset.click.top>=this.containment[1]&&i-this.offset.click.top<=this.containment[3]?i:i-this.offset.click.top>=this.containment[1]?i-n.grid[1]:i+n.grid[1]:i,s=this.originalPageX+Math.round((a-this.originalPageX)/n.grid[0])*n.grid[0],a=this.containment?s-this.offset.click.left>=this.containment[0]&&s-this.offset.click.left<=this.containment[2]?s:s-this.offset.click.left>=this.containment[0]?s-n.grid[0]:s+n.grid[0]:s)),{top:o-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+(\"fixed\"===this.cssPosition?-this.scrollParent.scrollTop():h?0:r.scrollTop()),left:a-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+(\"fixed\"===this.cssPosition?-this.scrollParent.scrollLeft():h?0:r.scrollLeft())}},_rearrange:function(e,t,i,s){i?i[0].appendChild(this.placeholder[0]):t.item[0].parentNode.insertBefore(this.placeholder[0],\"down\"===this.direction?t.item[0]:t.item[0].nextSibling),this.counter=this.counter?++this.counter:1;var n=this.counter;this._delay(function(){n===this.counter&&this.refreshPositions(!s)})},_clear:function(e,t){function i(e,t,i){return function(s){i._trigger(e,s,t._uiHash(t))}}this.reverting=!1;var s,n=[];if(!this._noFinalSort&&this.currentItem.parent().length&&this.placeholder.before(this.currentItem),this._noFinalSort=null,this.helper[0]===this.currentItem[0]){for(s in this._storedCSS)(\"auto\"===this._storedCSS[s]||\"static\"===this._storedCSS[s])&&(this._storedCSS[s]=\"\");this.currentItem.css(this._storedCSS).removeClass(\"ui-sortable-helper\")}else this.currentItem.show();for(this.fromOutside&&!t&&n.push(function(e){this._trigger(\"receive\",e,this._uiHash(this.fromOutside))}),!this.fromOutside&&this.domPosition.prev===this.currentItem.prev().not(\".ui-sortable-helper\")[0]&&this.domPosition.parent===this.currentItem.parent()[0]||t||n.push(function(e){this._trigger(\"update\",e,this._uiHash())}),this!==this.currentContainer&&(t||(n.push(function(e){this._trigger(\"remove\",e,this._uiHash())}),n.push(function(e){return function(t){e._trigger(\"receive\",t,this._uiHash(this))}}.call(this,this.currentContainer)),n.push(function(e){return function(t){e._trigger(\"update\",t,this._uiHash(this))}}.call(this,this.currentContainer)))),s=this.containers.length-1;s>=0;s--)t||n.push(i(\"deactivate\",this,this.containers[s])),this.containers[s].containerCache.over&&(n.push(i(\"out\",this,this.containers[s])),this.containers[s].containerCache.over=0);if(this.storedCursor&&(this.document.find(\"body\").css(\"cursor\",this.storedCursor),this.storedStylesheet.remove()),this._storedOpacity&&this.helper.css(\"opacity\",this._storedOpacity),this._storedZIndex&&this.helper.css(\"zIndex\",\"auto\"===this._storedZIndex?\"\":this._storedZIndex),this.dragging=!1,t||this._trigger(\"beforeStop\",e,this._uiHash()),this.placeholder[0].parentNode.removeChild(this.placeholder[0]),this.cancelHelperRemoval||(this.helper[0]!==this.currentItem[0]&&this.helper.remove(),this.helper=null),!t){for(s=0;n.length>s;s++)n[s].call(this,e);this._trigger(\"stop\",e,this._uiHash())}return this.fromOutside=!1,!this.cancelHelperRemoval},_trigger:function(){e.Widget.prototype._trigger.apply(this,arguments)===!1&&this.cancel()},_uiHash:function(t){var i=t||this;return{helper:i.helper,placeholder:i.placeholder||e([]),position:i.position,originalPosition:i.originalPosition,offset:i.positionAbs,item:i.currentItem,sender:t?t.element:null}}}),e.widget(\"ui.spinner\",{version:\"1.11.4\",defaultElement:\"<input>\",widgetEventPrefix:\"spin\",options:{culture:null,icons:{down:\"ui-icon-triangle-1-s\",up:\"ui-icon-triangle-1-n\"},incremental:!0,max:null,min:null,numberFormat:null,page:10,step:1,change:null,spin:null,start:null,stop:null},_create:function(){this._setOption(\"max\",this.options.max),this._setOption(\"min\",this.options.min),this._setOption(\"step\",this.options.step),\"\"!==this.value()&&this._value(this.element.val(),!0),this._draw(),this._on(this._events),this._refresh(),this._on(this.window,{beforeunload:function(){this.element.removeAttr(\"autocomplete\")}})},_getCreateOptions:function(){var t={},i=this.element;return e.each([\"min\",\"max\",\"step\"],function(e,s){var n=i.attr(s);void 0!==n&&n.length&&(t[s]=n)}),t},_events:{keydown:function(e){this._start(e)&&this._keydown(e)&&e.preventDefault()},keyup:\"_stop\",focus:function(){this.previous=this.element.val()},blur:function(e){return this.cancelBlur?(delete this.cancelBlur,void 0):(this._stop(),this._refresh(),this.previous!==this.element.val()&&this._trigger(\"change\",e),void 0)},mousewheel:function(e,t){if(t){if(!this.spinning&&!this._start(e))return!1;this._spin((t>0?1:-1)*this.options.step,e),clearTimeout(this.mousewheelTimer),this.mousewheelTimer=this._delay(function(){this.spinning&&this._stop(e)},100),e.preventDefault()}},\"mousedown .ui-spinner-button\":function(t){function i(){var e=this.element[0]===this.document[0].activeElement;e||(this.element.focus(),this.previous=s,this._delay(function(){this.previous=s}))}var s;s=this.element[0]===this.document[0].activeElement?this.previous:this.element.val(),t.preventDefault(),i.call(this),this.cancelBlur=!0,this._delay(function(){delete this.cancelBlur,i.call(this)}),this._start(t)!==!1&&this._repeat(null,e(t.currentTarget).hasClass(\"ui-spinner-up\")?1:-1,t)},\"mouseup .ui-spinner-button\":\"_stop\",\"mouseenter .ui-spinner-button\":function(t){return e(t.currentTarget).hasClass(\"ui-state-active\")?this._start(t)===!1?!1:(this._repeat(null,e(t.currentTarget).hasClass(\"ui-spinner-up\")?1:-1,t),void 0):void 0},\"mouseleave .ui-spinner-button\":\"_stop\"},_draw:function(){var e=this.uiSpinner=this.element.addClass(\"ui-spinner-input\").attr(\"autocomplete\",\"off\").wrap(this._uiSpinnerHtml()).parent().append(this._buttonHtml());this.element.attr(\"role\",\"spinbutton\"),this.buttons=e.find(\".ui-spinner-button\").attr(\"tabIndex\",-1).button().removeClass(\"ui-corner-all\"),this.buttons.height()>Math.ceil(.5*e.height())&&e.height()>0&&e.height(e.height()),this.options.disabled&&this.disable()},_keydown:function(t){var i=this.options,s=e.ui.keyCode;switch(t.keyCode){case s.UP:return this._repeat(null,1,t),!0;case s.DOWN:return this._repeat(null,-1,t),!0;case s.PAGE_UP:return this._repeat(null,i.page,t),!0;case s.PAGE_DOWN:return this._repeat(null,-i.page,t),!0}return!1},_uiSpinnerHtml:function(){return\"<span class='ui-spinner ui-widget ui-widget-content ui-corner-all'></span>\"},_buttonHtml:function(){return\"<a class='ui-spinner-button ui-spinner-up ui-corner-tr'><span class='ui-icon \"+this.options.icons.up+\"'>&#9650;</span>\"+\"</a>\"+\"<a class='ui-spinner-button ui-spinner-down ui-corner-br'>\"+\"<span class='ui-icon \"+this.options.icons.down+\"'>&#9660;</span>\"+\"</a>\"},_start:function(e){return this.spinning||this._trigger(\"start\",e)!==!1?(this.counter||(this.counter=1),this.spinning=!0,!0):!1},_repeat:function(e,t,i){e=e||500,clearTimeout(this.timer),this.timer=this._delay(function(){this._repeat(40,t,i)},e),this._spin(t*this.options.step,i)},_spin:function(e,t){var i=this.value()||0;this.counter||(this.counter=1),i=this._adjustValue(i+e*this._increment(this.counter)),this.spinning&&this._trigger(\"spin\",t,{value:i})===!1||(this._value(i),this.counter++)},_increment:function(t){var i=this.options.incremental;return i?e.isFunction(i)?i(t):Math.floor(t*t*t/5e4-t*t/500+17*t/200+1):1},_precision:function(){var e=this._precisionOf(this.options.step);return null!==this.options.min&&(e=Math.max(e,this._precisionOf(this.options.min))),e},_precisionOf:function(e){var t=\"\"+e,i=t.indexOf(\".\");return-1===i?0:t.length-i-1},_adjustValue:function(e){var t,i,s=this.options;return t=null!==s.min?s.min:0,i=e-t,i=Math.round(i/s.step)*s.step,e=t+i,e=parseFloat(e.toFixed(this._precision())),null!==s.max&&e>s.max?s.max:null!==s.min&&s.min>e?s.min:e},_stop:function(e){this.spinning&&(clearTimeout(this.timer),clearTimeout(this.mousewheelTimer),this.counter=0,this.spinning=!1,this._trigger(\"stop\",e))},_setOption:function(e,t){if(\"culture\"===e||\"numberFormat\"===e){var i=this._parse(this.element.val());return this.options[e]=t,this.element.val(this._format(i)),void 0}(\"max\"===e||\"min\"===e||\"step\"===e)&&\"string\"==typeof t&&(t=this._parse(t)),\"icons\"===e&&(this.buttons.first().find(\".ui-icon\").removeClass(this.options.icons.up).addClass(t.up),this.buttons.last().find(\".ui-icon\").removeClass(this.options.icons.down).addClass(t.down)),this._super(e,t),\"disabled\"===e&&(this.widget().toggleClass(\"ui-state-disabled\",!!t),this.element.prop(\"disabled\",!!t),this.buttons.button(t?\"disable\":\"enable\"))},_setOptions:h(function(e){this._super(e)}),_parse:function(e){return\"string\"==typeof e&&\"\"!==e&&(e=window.Globalize&&this.options.numberFormat?Globalize.parseFloat(e,10,this.options.culture):+e),\"\"===e||isNaN(e)?null:e},_format:function(e){return\"\"===e?\"\":window.Globalize&&this.options.numberFormat?Globalize.format(e,this.options.numberFormat,this.options.culture):e},_refresh:function(){this.element.attr({\"aria-valuemin\":this.options.min,\"aria-valuemax\":this.options.max,\"aria-valuenow\":this._parse(this.element.val())})},isValid:function(){var e=this.value();return null===e?!1:e===this._adjustValue(e)},_value:function(e,t){var i;\"\"!==e&&(i=this._parse(e),null!==i&&(t||(i=this._adjustValue(i)),e=this._format(i))),this.element.val(e),this._refresh()},_destroy:function(){this.element.removeClass(\"ui-spinner-input\").prop(\"disabled\",!1).removeAttr(\"autocomplete\").removeAttr(\"role\").removeAttr(\"aria-valuemin\").removeAttr(\"aria-valuemax\").removeAttr(\"aria-valuenow\"),this.uiSpinner.replaceWith(this.element)},stepUp:h(function(e){this._stepUp(e)}),_stepUp:function(e){this._start()&&(this._spin((e||1)*this.options.step),this._stop())},stepDown:h(function(e){this._stepDown(e)}),_stepDown:function(e){this._start()&&(this._spin((e||1)*-this.options.step),this._stop())},pageUp:h(function(e){this._stepUp((e||1)*this.options.page)}),pageDown:h(function(e){this._stepDown((e||1)*this.options.page)}),value:function(e){return arguments.length?(h(this._value).call(this,e),void 0):this._parse(this.element.val())},widget:function(){return this.uiSpinner}}),e.widget(\"ui.tabs\",{version:\"1.11.4\",delay:300,options:{active:null,collapsible:!1,event:\"click\",heightStyle:\"content\",hide:null,show:null,activate:null,beforeActivate:null,beforeLoad:null,load:null},_isLocal:function(){var e=/#.*$/;return function(t){var i,s;t=t.cloneNode(!1),i=t.href.replace(e,\"\"),s=location.href.replace(e,\"\");try{i=decodeURIComponent(i)}catch(n){}try{s=decodeURIComponent(s)}catch(n){}return t.hash.length>1&&i===s}}(),_create:function(){var t=this,i=this.options;this.running=!1,this.element.addClass(\"ui-tabs ui-widget ui-widget-content ui-corner-all\").toggleClass(\"ui-tabs-collapsible\",i.collapsible),this._processTabs(),i.active=this._initialActive(),e.isArray(i.disabled)&&(i.disabled=e.unique(i.disabled.concat(e.map(this.tabs.filter(\".ui-state-disabled\"),function(e){return t.tabs.index(e)}))).sort()),this.active=this.options.active!==!1&&this.anchors.length?this._findActive(i.active):e(),this._refresh(),this.active.length&&this.load(i.active)},_initialActive:function(){var t=this.options.active,i=this.options.collapsible,s=location.hash.substring(1);return null===t&&(s&&this.tabs.each(function(i,n){return e(n).attr(\"aria-controls\")===s?(t=i,!1):void 0}),null===t&&(t=this.tabs.index(this.tabs.filter(\".ui-tabs-active\"))),(null===t||-1===t)&&(t=this.tabs.length?0:!1)),t!==!1&&(t=this.tabs.index(this.tabs.eq(t)),-1===t&&(t=i?!1:0)),!i&&t===!1&&this.anchors.length&&(t=0),t},_getCreateEventData:function(){return{tab:this.active,panel:this.active.length?this._getPanelForTab(this.active):e()}},_tabKeydown:function(t){var i=e(this.document[0].activeElement).closest(\"li\"),s=this.tabs.index(i),n=!0;if(!this._handlePageNav(t)){switch(t.keyCode){case e.ui.keyCode.RIGHT:case e.ui.keyCode.DOWN:s++;break;case e.ui.keyCode.UP:case e.ui.keyCode.LEFT:n=!1,s--;break;case e.ui.keyCode.END:s=this.anchors.length-1;break;case e.ui.keyCode.HOME:s=0;break;case e.ui.keyCode.SPACE:return t.preventDefault(),clearTimeout(this.activating),this._activate(s),void 0;case e.ui.keyCode.ENTER:return t.preventDefault(),clearTimeout(this.activating),this._activate(s===this.options.active?!1:s),void 0;default:return}t.preventDefault(),clearTimeout(this.activating),s=this._focusNextTab(s,n),t.ctrlKey||t.metaKey||(i.attr(\"aria-selected\",\"false\"),this.tabs.eq(s).attr(\"aria-selected\",\"true\"),this.activating=this._delay(function(){this.option(\"active\",s)},this.delay))}},_panelKeydown:function(t){this._handlePageNav(t)||t.ctrlKey&&t.keyCode===e.ui.keyCode.UP&&(t.preventDefault(),this.active.focus())},_handlePageNav:function(t){return t.altKey&&t.keyCode===e.ui.keyCode.PAGE_UP?(this._activate(this._focusNextTab(this.options.active-1,!1)),!0):t.altKey&&t.keyCode===e.ui.keyCode.PAGE_DOWN?(this._activate(this._focusNextTab(this.options.active+1,!0)),!0):void 0},_findNextTab:function(t,i){function s(){return t>n&&(t=0),0>t&&(t=n),t}for(var n=this.tabs.length-1;-1!==e.inArray(s(),this.options.disabled);)t=i?t+1:t-1;return t},_focusNextTab:function(e,t){return e=this._findNextTab(e,t),this.tabs.eq(e).focus(),e},_setOption:function(e,t){return\"active\"===e?(this._activate(t),void 0):\"disabled\"===e?(this._setupDisabled(t),void 0):(this._super(e,t),\"collapsible\"===e&&(this.element.toggleClass(\"ui-tabs-collapsible\",t),t||this.options.active!==!1||this._activate(0)),\"event\"===e&&this._setupEvents(t),\"heightStyle\"===e&&this._setupHeightStyle(t),void 0)},_sanitizeSelector:function(e){return e?e.replace(/[!\"$%&'()*+,.\\/:;<=>?@\\[\\]\\^`{|}~]/g,\"\\\\$&\"):\"\"},refresh:function(){var t=this.options,i=this.tablist.children(\":has(a[href])\");t.disabled=e.map(i.filter(\".ui-state-disabled\"),function(e){return i.index(e)}),this._processTabs(),t.active!==!1&&this.anchors.length?this.active.length&&!e.contains(this.tablist[0],this.active[0])?this.tabs.length===t.disabled.length?(t.active=!1,this.active=e()):this._activate(this._findNextTab(Math.max(0,t.active-1),!1)):t.active=this.tabs.index(this.active):(t.active=!1,this.active=e()),this._refresh()},_refresh:function(){this._setupDisabled(this.options.disabled),this._setupEvents(this.options.event),this._setupHeightStyle(this.options.heightStyle),this.tabs.not(this.active).attr({\"aria-selected\":\"false\",\"aria-expanded\":\"false\",tabIndex:-1}),this.panels.not(this._getPanelForTab(this.active)).hide().attr({\"aria-hidden\":\"true\"}),this.active.length?(this.active.addClass(\"ui-tabs-active ui-state-active\").attr({\"aria-selected\":\"true\",\"aria-expanded\":\"true\",tabIndex:0}),this._getPanelForTab(this.active).show().attr({\"aria-hidden\":\"false\"})):this.tabs.eq(0).attr(\"tabIndex\",0)},_processTabs:function(){var t=this,i=this.tabs,s=this.anchors,n=this.panels;\r\nthis.tablist=this._getList().addClass(\"ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all\").attr(\"role\",\"tablist\").delegate(\"> li\",\"mousedown\"+this.eventNamespace,function(t){e(this).is(\".ui-state-disabled\")&&t.preventDefault()}).delegate(\".ui-tabs-anchor\",\"focus\"+this.eventNamespace,function(){e(this).closest(\"li\").is(\".ui-state-disabled\")&&this.blur()}),this.tabs=this.tablist.find(\"> li:has(a[href])\").addClass(\"ui-state-default ui-corner-top\").attr({role:\"tab\",tabIndex:-1}),this.anchors=this.tabs.map(function(){return e(\"a\",this)[0]}).addClass(\"ui-tabs-anchor\").attr({role:\"presentation\",tabIndex:-1}),this.panels=e(),this.anchors.each(function(i,s){var n,a,o,r=e(s).uniqueId().attr(\"id\"),h=e(s).closest(\"li\"),l=h.attr(\"aria-controls\");t._isLocal(s)?(n=s.hash,o=n.substring(1),a=t.element.find(t._sanitizeSelector(n))):(o=h.attr(\"aria-controls\")||e({}).uniqueId()[0].id,n=\"#\"+o,a=t.element.find(n),a.length||(a=t._createPanel(o),a.insertAfter(t.panels[i-1]||t.tablist)),a.attr(\"aria-live\",\"polite\")),a.length&&(t.panels=t.panels.add(a)),l&&h.data(\"ui-tabs-aria-controls\",l),h.attr({\"aria-controls\":o,\"aria-labelledby\":r}),a.attr(\"aria-labelledby\",r)}),this.panels.addClass(\"ui-tabs-panel ui-widget-content ui-corner-bottom\").attr(\"role\",\"tabpanel\"),i&&(this._off(i.not(this.tabs)),this._off(s.not(this.anchors)),this._off(n.not(this.panels)))},_getList:function(){return this.tablist||this.element.find(\"ol,ul\").eq(0)},_createPanel:function(t){return e(\"<div>\").attr(\"id\",t).addClass(\"ui-tabs-panel ui-widget-content ui-corner-bottom\").data(\"ui-tabs-destroy\",!0)},_setupDisabled:function(t){e.isArray(t)&&(t.length?t.length===this.anchors.length&&(t=!0):t=!1);for(var i,s=0;i=this.tabs[s];s++)t===!0||-1!==e.inArray(s,t)?e(i).addClass(\"ui-state-disabled\").attr(\"aria-disabled\",\"true\"):e(i).removeClass(\"ui-state-disabled\").removeAttr(\"aria-disabled\");this.options.disabled=t},_setupEvents:function(t){var i={};t&&e.each(t.split(\" \"),function(e,t){i[t]=\"_eventHandler\"}),this._off(this.anchors.add(this.tabs).add(this.panels)),this._on(!0,this.anchors,{click:function(e){e.preventDefault()}}),this._on(this.anchors,i),this._on(this.tabs,{keydown:\"_tabKeydown\"}),this._on(this.panels,{keydown:\"_panelKeydown\"}),this._focusable(this.tabs),this._hoverable(this.tabs)},_setupHeightStyle:function(t){var i,s=this.element.parent();\"fill\"===t?(i=s.height(),i-=this.element.outerHeight()-this.element.height(),this.element.siblings(\":visible\").each(function(){var t=e(this),s=t.css(\"position\");\"absolute\"!==s&&\"fixed\"!==s&&(i-=t.outerHeight(!0))}),this.element.children().not(this.panels).each(function(){i-=e(this).outerHeight(!0)}),this.panels.each(function(){e(this).height(Math.max(0,i-e(this).innerHeight()+e(this).height()))}).css(\"overflow\",\"auto\")):\"auto\"===t&&(i=0,this.panels.each(function(){i=Math.max(i,e(this).height(\"\").height())}).height(i))},_eventHandler:function(t){var i=this.options,s=this.active,n=e(t.currentTarget),a=n.closest(\"li\"),o=a[0]===s[0],r=o&&i.collapsible,h=r?e():this._getPanelForTab(a),l=s.length?this._getPanelForTab(s):e(),u={oldTab:s,oldPanel:l,newTab:r?e():a,newPanel:h};t.preventDefault(),a.hasClass(\"ui-state-disabled\")||a.hasClass(\"ui-tabs-loading\")||this.running||o&&!i.collapsible||this._trigger(\"beforeActivate\",t,u)===!1||(i.active=r?!1:this.tabs.index(a),this.active=o?e():a,this.xhr&&this.xhr.abort(),l.length||h.length||e.error(\"jQuery UI Tabs: Mismatching fragment identifier.\"),h.length&&this.load(this.tabs.index(a),t),this._toggle(t,u))},_toggle:function(t,i){function s(){a.running=!1,a._trigger(\"activate\",t,i)}function n(){i.newTab.closest(\"li\").addClass(\"ui-tabs-active ui-state-active\"),o.length&&a.options.show?a._show(o,a.options.show,s):(o.show(),s())}var a=this,o=i.newPanel,r=i.oldPanel;this.running=!0,r.length&&this.options.hide?this._hide(r,this.options.hide,function(){i.oldTab.closest(\"li\").removeClass(\"ui-tabs-active ui-state-active\"),n()}):(i.oldTab.closest(\"li\").removeClass(\"ui-tabs-active ui-state-active\"),r.hide(),n()),r.attr(\"aria-hidden\",\"true\"),i.oldTab.attr({\"aria-selected\":\"false\",\"aria-expanded\":\"false\"}),o.length&&r.length?i.oldTab.attr(\"tabIndex\",-1):o.length&&this.tabs.filter(function(){return 0===e(this).attr(\"tabIndex\")}).attr(\"tabIndex\",-1),o.attr(\"aria-hidden\",\"false\"),i.newTab.attr({\"aria-selected\":\"true\",\"aria-expanded\":\"true\",tabIndex:0})},_activate:function(t){var i,s=this._findActive(t);s[0]!==this.active[0]&&(s.length||(s=this.active),i=s.find(\".ui-tabs-anchor\")[0],this._eventHandler({target:i,currentTarget:i,preventDefault:e.noop}))},_findActive:function(t){return t===!1?e():this.tabs.eq(t)},_getIndex:function(e){return\"string\"==typeof e&&(e=this.anchors.index(this.anchors.filter(\"[href$='\"+e+\"']\"))),e},_destroy:function(){this.xhr&&this.xhr.abort(),this.element.removeClass(\"ui-tabs ui-widget ui-widget-content ui-corner-all ui-tabs-collapsible\"),this.tablist.removeClass(\"ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all\").removeAttr(\"role\"),this.anchors.removeClass(\"ui-tabs-anchor\").removeAttr(\"role\").removeAttr(\"tabIndex\").removeUniqueId(),this.tablist.unbind(this.eventNamespace),this.tabs.add(this.panels).each(function(){e.data(this,\"ui-tabs-destroy\")?e(this).remove():e(this).removeClass(\"ui-state-default ui-state-active ui-state-disabled ui-corner-top ui-corner-bottom ui-widget-content ui-tabs-active ui-tabs-panel\").removeAttr(\"tabIndex\").removeAttr(\"aria-live\").removeAttr(\"aria-busy\").removeAttr(\"aria-selected\").removeAttr(\"aria-labelledby\").removeAttr(\"aria-hidden\").removeAttr(\"aria-expanded\").removeAttr(\"role\")}),this.tabs.each(function(){var t=e(this),i=t.data(\"ui-tabs-aria-controls\");i?t.attr(\"aria-controls\",i).removeData(\"ui-tabs-aria-controls\"):t.removeAttr(\"aria-controls\")}),this.panels.show(),\"content\"!==this.options.heightStyle&&this.panels.css(\"height\",\"\")},enable:function(t){var i=this.options.disabled;i!==!1&&(void 0===t?i=!1:(t=this._getIndex(t),i=e.isArray(i)?e.map(i,function(e){return e!==t?e:null}):e.map(this.tabs,function(e,i){return i!==t?i:null})),this._setupDisabled(i))},disable:function(t){var i=this.options.disabled;if(i!==!0){if(void 0===t)i=!0;else{if(t=this._getIndex(t),-1!==e.inArray(t,i))return;i=e.isArray(i)?e.merge([t],i).sort():[t]}this._setupDisabled(i)}},load:function(t,i){t=this._getIndex(t);var s=this,n=this.tabs.eq(t),a=n.find(\".ui-tabs-anchor\"),o=this._getPanelForTab(n),r={tab:n,panel:o},h=function(e,t){\"abort\"===t&&s.panels.stop(!1,!0),n.removeClass(\"ui-tabs-loading\"),o.removeAttr(\"aria-busy\"),e===s.xhr&&delete s.xhr};this._isLocal(a[0])||(this.xhr=e.ajax(this._ajaxSettings(a,i,r)),this.xhr&&\"canceled\"!==this.xhr.statusText&&(n.addClass(\"ui-tabs-loading\"),o.attr(\"aria-busy\",\"true\"),this.xhr.done(function(e,t,n){setTimeout(function(){o.html(e),s._trigger(\"load\",i,r),h(n,t)},1)}).fail(function(e,t){setTimeout(function(){h(e,t)},1)})))},_ajaxSettings:function(t,i,s){var n=this;return{url:t.attr(\"href\"),beforeSend:function(t,a){return n._trigger(\"beforeLoad\",i,e.extend({jqXHR:t,ajaxSettings:a},s))}}},_getPanelForTab:function(t){var i=e(t).attr(\"aria-controls\");return this.element.find(this._sanitizeSelector(\"#\"+i))}}),e.widget(\"ui.tooltip\",{version:\"1.11.4\",options:{content:function(){var t=e(this).attr(\"title\")||\"\";return e(\"<a>\").text(t).html()},hide:!0,items:\"[title]:not([disabled])\",position:{my:\"left top+15\",at:\"left bottom\",collision:\"flipfit flip\"},show:!0,tooltipClass:null,track:!1,close:null,open:null},_addDescribedBy:function(t,i){var s=(t.attr(\"aria-describedby\")||\"\").split(/\\s+/);s.push(i),t.data(\"ui-tooltip-id\",i).attr(\"aria-describedby\",e.trim(s.join(\" \")))},_removeDescribedBy:function(t){var i=t.data(\"ui-tooltip-id\"),s=(t.attr(\"aria-describedby\")||\"\").split(/\\s+/),n=e.inArray(i,s);-1!==n&&s.splice(n,1),t.removeData(\"ui-tooltip-id\"),s=e.trim(s.join(\" \")),s?t.attr(\"aria-describedby\",s):t.removeAttr(\"aria-describedby\")},_create:function(){this._on({mouseover:\"open\",focusin:\"open\"}),this.tooltips={},this.parents={},this.options.disabled&&this._disable(),this.liveRegion=e(\"<div>\").attr({role:\"log\",\"aria-live\":\"assertive\",\"aria-relevant\":\"additions\"}).addClass(\"ui-helper-hidden-accessible\").appendTo(this.document[0].body)},_setOption:function(t,i){var s=this;return\"disabled\"===t?(this[i?\"_disable\":\"_enable\"](),this.options[t]=i,void 0):(this._super(t,i),\"content\"===t&&e.each(this.tooltips,function(e,t){s._updateContent(t.element)}),void 0)},_disable:function(){var t=this;e.each(this.tooltips,function(i,s){var n=e.Event(\"blur\");n.target=n.currentTarget=s.element[0],t.close(n,!0)}),this.element.find(this.options.items).addBack().each(function(){var t=e(this);t.is(\"[title]\")&&t.data(\"ui-tooltip-title\",t.attr(\"title\")).removeAttr(\"title\")})},_enable:function(){this.element.find(this.options.items).addBack().each(function(){var t=e(this);t.data(\"ui-tooltip-title\")&&t.attr(\"title\",t.data(\"ui-tooltip-title\"))})},open:function(t){var i=this,s=e(t?t.target:this.element).closest(this.options.items);s.length&&!s.data(\"ui-tooltip-id\")&&(s.attr(\"title\")&&s.data(\"ui-tooltip-title\",s.attr(\"title\")),s.data(\"ui-tooltip-open\",!0),t&&\"mouseover\"===t.type&&s.parents().each(function(){var t,s=e(this);s.data(\"ui-tooltip-open\")&&(t=e.Event(\"blur\"),t.target=t.currentTarget=this,i.close(t,!0)),s.attr(\"title\")&&(s.uniqueId(),i.parents[this.id]={element:this,title:s.attr(\"title\")},s.attr(\"title\",\"\"))}),this._registerCloseHandlers(t,s),this._updateContent(s,t))},_updateContent:function(e,t){var i,s=this.options.content,n=this,a=t?t.type:null;return\"string\"==typeof s?this._open(t,e,s):(i=s.call(e[0],function(i){n._delay(function(){e.data(\"ui-tooltip-open\")&&(t&&(t.type=a),this._open(t,e,i))})}),i&&this._open(t,e,i),void 0)},_open:function(t,i,s){function n(e){l.of=e,o.is(\":hidden\")||o.position(l)}var a,o,r,h,l=e.extend({},this.options.position);if(s){if(a=this._find(i))return a.tooltip.find(\".ui-tooltip-content\").html(s),void 0;i.is(\"[title]\")&&(t&&\"mouseover\"===t.type?i.attr(\"title\",\"\"):i.removeAttr(\"title\")),a=this._tooltip(i),o=a.tooltip,this._addDescribedBy(i,o.attr(\"id\")),o.find(\".ui-tooltip-content\").html(s),this.liveRegion.children().hide(),s.clone?(h=s.clone(),h.removeAttr(\"id\").find(\"[id]\").removeAttr(\"id\")):h=s,e(\"<div>\").html(h).appendTo(this.liveRegion),this.options.track&&t&&/^mouse/.test(t.type)?(this._on(this.document,{mousemove:n}),n(t)):o.position(e.extend({of:i},this.options.position)),o.hide(),this._show(o,this.options.show),this.options.show&&this.options.show.delay&&(r=this.delayedShow=setInterval(function(){o.is(\":visible\")&&(n(l.of),clearInterval(r))},e.fx.interval)),this._trigger(\"open\",t,{tooltip:o})}},_registerCloseHandlers:function(t,i){var s={keyup:function(t){if(t.keyCode===e.ui.keyCode.ESCAPE){var s=e.Event(t);s.currentTarget=i[0],this.close(s,!0)}}};i[0]!==this.element[0]&&(s.remove=function(){this._removeTooltip(this._find(i).tooltip)}),t&&\"mouseover\"!==t.type||(s.mouseleave=\"close\"),t&&\"focusin\"!==t.type||(s.focusout=\"close\"),this._on(!0,i,s)},close:function(t){var i,s=this,n=e(t?t.currentTarget:this.element),a=this._find(n);return a?(i=a.tooltip,a.closing||(clearInterval(this.delayedShow),n.data(\"ui-tooltip-title\")&&!n.attr(\"title\")&&n.attr(\"title\",n.data(\"ui-tooltip-title\")),this._removeDescribedBy(n),a.hiding=!0,i.stop(!0),this._hide(i,this.options.hide,function(){s._removeTooltip(e(this))}),n.removeData(\"ui-tooltip-open\"),this._off(n,\"mouseleave focusout keyup\"),n[0]!==this.element[0]&&this._off(n,\"remove\"),this._off(this.document,\"mousemove\"),t&&\"mouseleave\"===t.type&&e.each(this.parents,function(t,i){e(i.element).attr(\"title\",i.title),delete s.parents[t]}),a.closing=!0,this._trigger(\"close\",t,{tooltip:i}),a.hiding||(a.closing=!1)),void 0):(n.removeData(\"ui-tooltip-open\"),void 0)},_tooltip:function(t){var i=e(\"<div>\").attr(\"role\",\"tooltip\").addClass(\"ui-tooltip ui-widget ui-corner-all ui-widget-content \"+(this.options.tooltipClass||\"\")),s=i.uniqueId().attr(\"id\");return e(\"<div>\").addClass(\"ui-tooltip-content\").appendTo(i),i.appendTo(this.document[0].body),this.tooltips[s]={element:t,tooltip:i}},_find:function(e){var t=e.data(\"ui-tooltip-id\");return t?this.tooltips[t]:null},_removeTooltip:function(e){e.remove(),delete this.tooltips[e.attr(\"id\")]},_destroy:function(){var t=this;e.each(this.tooltips,function(i,s){var n=e.Event(\"blur\"),a=s.element;n.target=n.currentTarget=a[0],t.close(n,!0),e(\"#\"+i).remove(),a.data(\"ui-tooltip-title\")&&(a.attr(\"title\")||a.attr(\"title\",a.data(\"ui-tooltip-title\")),a.removeData(\"ui-tooltip-title\"))}),this.liveRegion.remove()}})});","module.exports = jQuery;"],"sourceRoot":""}