From e1a4e6b4bf0fbb090524a9da9a7c9d8486de5721 Mon Sep 17 00:00:00 2001 From: Rick Companje Date: Tue, 28 Apr 2015 12:47:44 +0200 Subject: [PATCH] @centreparcs --- js/api/SketchAPI.js | 4 + js/buttonbehaviors.js | 1 + www/filemanager.tgz | Bin 0 -> 4373 bytes www/filemanager/index.html | 2 +- www/filemanager/js/main.js | 8 +- www/index.html | 5 +- www/printmanager.tgz | Bin 0 -> 33234 bytes www/printmanager/css/style.css | 13 +++- www/printmanager/index.html | 19 +++-- www/printmanager/js/Doodle.js | 65 +++++++++++----- www/printmanager/js/Doodle2gcode.js | 11 --- www/printmanager/js/Viewer.js | 14 +++- www/printmanager/js/ViewerItem.js | 19 ++++- www/printmanager/js/jquery-ui.min.js | 13 ---- .../js/jquery.ui.touch-punch.min.js | 11 --- www/printmanager/js/main.js | 72 +++++++++++++++--- www/printmanager/js/mini_jquery-ui.min.js | 8 -- www/printmanager/js/touchSwipe.min.js | 1 - 18 files changed, 167 insertions(+), 99 deletions(-) create mode 100644 www/filemanager.tgz create mode 100644 www/printmanager.tgz delete mode 100644 www/printmanager/js/jquery-ui.min.js delete mode 100644 www/printmanager/js/jquery.ui.touch-punch.min.js delete mode 100644 www/printmanager/js/mini_jquery-ui.min.js delete mode 100755 www/printmanager/js/touchSwipe.min.js diff --git a/js/api/SketchAPI.js b/js/api/SketchAPI.js index c02c33c..11a2348 100644 --- a/js/api/SketchAPI.js +++ b/js/api/SketchAPI.js @@ -12,4 +12,8 @@ function SketchAPI() { API.get('sketch/?id='+id,success,fail); } + this.save = function(data,success,fail) { + API.post('sketch',{data:data},success,fail); + } + } \ No newline at end of file diff --git a/js/buttonbehaviors.js b/js/buttonbehaviors.js index a89ee12..b99fe0d 100644 --- a/js/buttonbehaviors.js +++ b/js/buttonbehaviors.js @@ -483,6 +483,7 @@ function initLimitedInterface() { btnPrint.hide(); btnStop.hide(); btnInfo.hide(); + $("#btnManager").hide(); $("#btnsPrevNext").hide(); $("#thermometerContainer").hide(); $("#progressbarCanvasContainerParent").hide(); diff --git a/www/filemanager.tgz b/www/filemanager.tgz new file mode 100644 index 0000000000000000000000000000000000000000..85de4bcd9cee3a350d3c9c04d1ebe4e6353c4752 GIT binary patch literal 4373 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 all - +
diff --git a/www/filemanager/js/main.js b/www/filemanager/js/main.js index 623120d..08b90b1 100644 --- a/www/filemanager/js/main.js +++ b/www/filemanager/js/main.js @@ -25,7 +25,7 @@ $("#btnDeselectAll").click(deselectAll); $("#uploads").change(upload); $("#btnDownload").click(download); $("#btnRefresh").click(refresh); -$("#btnPrint").click(print); +$("#btnCombine").click(combine); $("#btnUpload").click(function(e) { e.preventDefault(); @@ -175,7 +175,7 @@ function updateButtonStates() { $("#btnDeselectAll").attr("disabled",isBusy || noSelection); $("#btnSelectAll").attr("disabled",isBusy || numItems==0); $("#btnUpload").attr("disabled",isBusy || !noSelection); - $("#btnPrint").attr("disabled",isBusy || noSelection); + $("#btnCombine").attr("disabled",isBusy || noSelection); // $("#btnDelete").text("Delete" + (noSelection ? "" : " ("+numSelected+")")); // $("#btnDownload").text("Download" + (noSelection ? "" : " ("+numSelected+")")); // $("#btnPrint").text("Print" + (noSelection ? "..." : " ("+numSelected+")...")); @@ -273,11 +273,11 @@ function refresh() { location.reload(); } -function print() { +function combine() { var ids = []; $('.item.selected').each(function() { ids.push($(this).attr('data')); }); - location.href = '/printmanager/' + location.search + "&ids=" + ids.join(); + location.href = '/printmanager/?ids=' + ids.join(); //+ location.search + } diff --git a/www/index.html b/www/index.html index 947ee87..a0c2ab1 100644 --- a/www/index.html +++ b/www/index.html @@ -61,6 +61,7 @@
+

@@ -182,8 +183,8 @@ - - + + diff --git a/www/printmanager.tgz b/www/printmanager.tgz new file mode 100644 index 0000000000000000000000000000000000000000..a3c12236642b3f98bea54c3ef117610d483e95bc GIT binary patch literal 33234 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 MiUPBD3=vEW0O;Z%$N&HU literal 0 HcmV?d00001 diff --git a/www/printmanager/css/style.css b/www/printmanager/css/style.css index 7c72e0f..61ecd7e 100644 --- a/www/printmanager/css/style.css +++ b/www/printmanager/css/style.css @@ -16,6 +16,7 @@ button { #toolbar { padding-top: 10px; padding-left: 10px; + margin-right: 20px; float: left; width: 300px; height: 100%; @@ -38,18 +39,23 @@ button { float: right; } +#btnNext { + float: right; +} + #toolbar button { - display: block; + /*display: block;*/ margin-top: 10px; margin-right: 10px; } #svgContainer { /*margin-top: 10px;*/ - background-color: #fff; + border-radius: 10px; + background-color: #000; width: 640px; height: 640px; - border: 1px solid black; + border: 2px solid black; margin: 0 auto; position: relative; overflow: hidden; @@ -59,6 +65,7 @@ button { #svgContainer svg { border: 1px solid lightgrey; position: absolute; + /*background-color: rgba(255,255,255,.5);*/ } #printPreview { diff --git a/www/printmanager/index.html b/www/printmanager/index.html index a5de145..5ef683e 100644 --- a/www/printmanager/index.html +++ b/www/printmanager/index.html @@ -9,20 +9,25 @@
-

Management App

+

Print Management

+ You can combine multiple doodles to print them at once. Just move and scale these doodles on your tablet. When done, press Next. +


- + + + + + +
@@ -33,7 +38,7 @@ - + diff --git a/www/printmanager/js/Doodle.js b/www/printmanager/js/Doodle.js index 36b53f1..f074aac 100644 --- a/www/printmanager/js/Doodle.js +++ b/www/printmanager/js/Doodle.js @@ -6,6 +6,7 @@ var Doodle = function(svgData,settings) { var scale = 1; var rotation = 0; var twist = .1; + var id; if (settings!=undefined) { if (settings.height!=undefined) height = settings.height; @@ -15,27 +16,30 @@ var Doodle = function(svgData,settings) { } if (svgData!=undefined) { - setFromSvgPathDescription(svgData); - removeShortPaths(); //move this to main.js? - - // offset.x += path.getBoundingBox().getX(); - // offset.y += path.getBoundingBox().getY(); - - path.alignCorner(); //set left-top corner of path boundingbox to 0,0 - - // scale = 1; - - // console.log(path.getBoundingBox().getX(),offset); + if (svgData.charAt(0)=='<') { + setFromSvgFileData(svgData); + } else { + setFromSvgPathDescription(svgData); + } + removeShortPaths(); + path.alignCorner(); } + function setFromSvgFileData(svgData) { + if (!svgData) svgData = ""; + else if (typeof(svgData)!='string') svgData = ""; + // else if (svgData.indexOf("CDATA")==-1) svgData = ""; //only accept doodles with CDATA inside containing transforms + else svgData = svgData.split('d="')[1].split('"')[0]; + setFromSvgPathDescription(svgData); + } + + function getSvgFileData() { + return '' + + ''; + } function setFromSvgPathDescription(svgData) { - // if (!svgData) svgData = ""; - // else if (typeof(svgData)!='string') svgData = ""; - // // else if (svgData.indexOf("CDATA")==-1) svgData = ""; - // else svgData = svgData.split('d="')[1].split('"')[0]; - // console.log('svgData',svgData); - svgData+=' '; //add a trailing space //Parse Path Description @@ -98,9 +102,10 @@ var Doodle = function(svgData,settings) { setPath(path); } - function getSvgPathDescription() { + function getSvgPathDescription(p) { + if (!p) p = path; var d = ""; - var polylines = path.getPolylines(); + var polylines = p.getPolylines(); for (var i=0; i'; + } + + function getTransformedPath() { + var p = path.clone(); + //var box = p.getBoundingBox(); + p.scale(scale); + p.alignCorner(); + p.translate(offset.x,offset.y); + return p; } function removeShortPaths(minLength,minPoints) { @@ -164,13 +177,23 @@ var Doodle = function(svgData,settings) { function getScaleFunction(f) { return 1; //Math.sin(f*2*Math.PI)/4+1; } + + function setId(_id) { + id = _id; + } + + function getId() { + return id; + } return { getPath: getPath, setPath: setPath, + getTransformedPath: getTransformedPath, getSettings: getSettings, setFromSvgPathDescription: setFromSvgPathDescription, getSvgPathDescription: getSvgPathDescription, + getSvgFileData: getSvgFileData, getHeight: getHeight, getRotation: getRotation, getTwist: getTwist, @@ -179,6 +202,8 @@ var Doodle = function(svgData,settings) { setScale: setScale, getOffset: getOffset, setOffset: setOffset, + setId: setId, + getId: getId, } } diff --git a/www/printmanager/js/Doodle2gcode.js b/www/printmanager/js/Doodle2gcode.js index 7f10d8c..dffdbb0 100644 --- a/www/printmanager/js/Doodle2gcode.js +++ b/www/printmanager/js/Doodle2gcode.js @@ -52,8 +52,6 @@ var Doodle2gcode = function() { // var org = path.getOffset(); var box = path.getBoundingBox(); - - //center object on origin to apply transformations path.translate(-box.getX(),-box.getY()); path.translate(-box.getWidth()/2,-box.getHeight()/2); @@ -82,15 +80,6 @@ var Doodle2gcode = function() { path.scale(px2mm); path.translate(0,-dimensions.y); -// G1 X95.054 Y95.154 E4.83242 -// G1 F2400 E0.33242 ;retract voor travel -// G0 F9000 X98.641 Y93.617 -// ;TYPE:WALL-INNER -// G1 F2400 E4.83242 ;unretract na een travel en voor -// G1 F1200 X98.621 Y93.596 E4.83297 - - - for (var i=0; i'); + var svg = $(''); var viewbox = box.getX() + " " + box.getY() + " " + box.getWidth() + " " + box.getHeight(); var xDown = 0, yDown = 0; var xCur = 0, yCur = 0; @@ -20,7 +20,7 @@ var ViewerItem = function(doodle) { var box = path.getBoundingBox(); var scaledCenterX = box.getCenter().x * (1-doodle.getScale()); var scaledCenterY = box.getCenter().y * (1-doodle.getScale()); - svg[0].setAttribute("stroke-width", 1/doodle.getScale()); + svg[0].setAttribute("stroke-width", 2/doodle.getScale()); svg.css({ transform: "scale(" + doodle.getScale() + ")", left: doodle.getOffset().x - scaledCenterX + xCur - xDown, @@ -28,6 +28,11 @@ var ViewerItem = function(doodle) { }); } + function setColor(c) { + console.log('setColor',c); + svg[0].setAttribute("stroke", c); + } + function getDoodle() { return doodle; } @@ -88,7 +93,7 @@ var ViewerItem = function(doodle) { updateDrag(e.originalEvent.pageX,e.originalEvent.pageY); } }); - + svg.on("mouseup", function (e) { stopDrag(); }); @@ -96,6 +101,13 @@ var ViewerItem = function(doodle) { $(document).on("mouseup", function (e) { stopDrag(); }); + + $(document).on("keydown", function (e) { + if (dragging) { + if (e.keyCode==189) zoomBy(-.01); + if (e.keyCode==187) zoomBy(+.01); + } + }); svg.on("touchstart", function (e) { var event = e.originalEvent; @@ -132,5 +144,6 @@ var ViewerItem = function(doodle) { return { getDoodle: getDoodle, getSvg: getSvg, + setColor: setColor, } } \ No newline at end of file diff --git a/www/printmanager/js/jquery-ui.min.js b/www/printmanager/js/jquery-ui.min.js deleted file mode 100644 index 5824d12..0000000 --- a/www/printmanager/js/jquery-ui.min.js +++ /dev/null @@ -1,13 +0,0 @@ -/*! jQuery UI - v1.11.4 - 2015-03-11 -* http://jqueryui.com -* 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 -* Copyright 2015 jQuery Foundation and other contributors; Licensed MIT */ - -(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("
"))}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("").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("").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:"
",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("
"),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.widthi?"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("").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()",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); -i.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("").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()",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("