1 // WCF.Combined.min.js -- DO NOT EDIT
4 // - 3rdParty/jquery-ui.min.js
5 // - 3rdParty/jquery-ui/touchPunch.min.js
6 // - 3rdParty/jquery-ui/nestedSortable.min.js
11 // - WCF.Attachment.min.js
12 // - WCF.ColorPicker.min.js
13 // - WCF.Comment.min.js
14 // - WCF.ImageViewer.min.js
16 // - WCF.Location.min.js
17 // - WCF.Message.min.js
19 // - WCF.Search.Message.min.js
21 // - WCF.Moderation.min.js
23 // 3rdParty/jquery-ui.js
24 (function (window
, undefined) {/*! jQuery UI - v1.12.0 - 2016-07-17
26 * Includes: widget.js, position.js, data.js, disable-selection.js, form-reset-mixin.js, keycode.js, scroll-parent.js, widgets/draggable.js, widgets/droppable.js, widgets/resizable.js, widgets/selectable.js, widgets/sortable.js, widgets/mouse.js, effect.js, effects/effect-blind.js, effects/effect-bounce.js, effects/effect-drop.js, effects/effect-fade.js, effects/effect-fold.js, effects/effect-highlight.js, effects/effect-puff.js, effects/effect-pulsate.js, effects/effect-scale.js, effects/effect-shake.js, effects/effect-size.js, effects/effect-slide.js, effects/effect-transfer.js
27 * Copyright jQuery Foundation and other contributors; Licensed MIT */
29 (function(t
){"function"==typeof define
&&define
.amd
?define(["jquery"],t
):t(jQuery
)})(function(t
){t
.ui
=t
.ui
||{},t
.ui
.version
="1.12.0";var e
=0,i
=Array
.prototype.slice
;t
.cleanData=function(e
){return function(i
){var s
,n
,o
;for(o
=0;null!=(n
=i
[o
]);o
++)try{s
=t
._data(n
,"events"),s
&&s
.remove
&&t(n
).triggerHandler("remove")}catch(a
){}e(i
)}}(t
.cleanData
),t
.widget=function(e
,i
,s
){var n
,o
,a
,r
={},h
=e
.split(".")[0];e
=e
.split(".")[1];var l
=h
+"-"+e
;return s
||(s
=i
,i
=t
.Widget
),t
.isArray(s
)&&(s
=t
.extend
.apply(null,[{}].concat(s
))),t
.expr
[":"][l
.toLowerCase()]=function(e
){return!!t
.data(e
,l
)},t
[h
]=t
[h
]||{},n
=t
[h
][e
],o
=t
[h
][e
]=function(t
,e
){return this._createWidget
?(arguments
.length
&&this._createWidget(t
,e
),void 0):new o(t
,e
)},t
.extend(o
,n
,{version
:s
.version
,_proto
:t
.extend({},s
),_childConstructors
:[]}),a
=new i
,a
.options
=t
.widget
.extend({},a
.options
),t
.each(s
,function(e
,s
){return t
.isFunction(s
)?(r
[e
]=function(){function t(){return i
.prototype[e
].apply(this,arguments
)}function n(t
){return i
.prototype[e
].apply(this,t
)}return function(){var e
,i
=this._super
,o
=this._superApply
;return this._super
=t
,this._superApply
=n
,e
=s
.apply(this,arguments
),this._super
=i
,this._superApply
=o
,e
}}(),void 0):(r
[e
]=s
,void 0)}),o
.prototype=t
.widget
.extend(a
,{widgetEventPrefix
:n
?a
.widgetEventPrefix
||e
:e
},r
,{constructor:o
,namespace:h
,widgetName
:e
,widgetFullName
:l
}),n
?(t
.each(n
._childConstructors
,function(e
,i
){var s
=i
.prototype;t
.widget(s
.namespace+"."+s
.widgetName
,o
,i
._proto
)}),delete n
._childConstructors
):i
._childConstructors
.push(o
),t
.widget
.bridge(e
,o
),o
},t
.widget
.extend=function(e
){for(var s
,n
,o
=i
.call(arguments
,1),a
=0,r
=o
.length
;r
>a
;a
++)for(s
in o
[a
])n
=o
[a
][s
],o
[a
].hasOwnProperty(s
)&&void 0!==n
&&(e
[s
]=t
.isPlainObject(n
)?t
.isPlainObject(e
[s
])?t
.widget
.extend({},e
[s
],n
):t
.widget
.extend({},n
):n
);return e
},t
.widget
.bridge=function(e
,s
){var n
=s
.prototype.widgetFullName
||e
;t
.fn
[e
]=function(o
){var a
="string"==typeof o
,r
=i
.call(arguments
,1),h
=this;return a
?this.each(function(){var i
,s
=t
.data(this,n
);return"instance"===o
?(h
=s
,!1):s
?t
.isFunction(s
[o
])&&"_"!==o
.charAt(0)?(i
=s
[o
].apply(s
,r
),i
!==s
&&void 0!==i
?(h
=i
&&i
.jquery
?h
.pushStack(i
.get()):i
,!1):void 0):t
.error("no such method '"+o
+"' for "+e
+" widget instance"):t
.error("cannot call methods on "+e
+" prior to initialization; "+"attempted to call method '"+o
+"'")}):(r
.length
&&(o
=t
.widget
.extend
.apply(null,[o
].concat(r
))),this.each(function(){var e
=t
.data(this,n
);e
?(e
.option(o
||{}),e
._init
&&e
._init()):t
.data(this,n
,new s(o
,this))})),h
}},t
.Widget=function(){},t
.Widget
._childConstructors
=[],t
.Widget
.prototype={widgetName
:"widget",widgetEventPrefix
:"",defaultElement
:"<div>",options
:{classes
:{},disabled
:!1,create
:null},_createWidget:function(i
,s
){s
=t(s
||this.defaultElement
||this)[0],this.element
=t(s
),this.uuid
=e
++,this.eventNamespace
="."+this.widgetName
+this.uuid
,this.bindings
=t(),this.hoverable
=t(),this.focusable
=t(),this.classesElementLookup
={},s
!==this&&(t
.data(s
,this.widgetFullName
,this),this._on(!0,this.element
,{remove:function(t
){t
.target
===s
&&this.destroy()}}),this.document
=t(s
.style
?s
.ownerDocument
:s
.document
||s
),this.window
=t(this.document
[0].defaultView
||this.document
[0].parentWindow
)),this.options
=t
.widget
.extend({},this.options
,this._getCreateOptions(),i
),this._create(),this.options
.disabled
&&this._setOptionDisabled(this.options
.disabled
),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:function(){return{}},_getCreateEventData
:t
.noop
,_create
:t
.noop
,_init
:t
.noop
,destroy:function(){var e
=this;this._destroy(),t
.each(this.classesElementLookup
,function(t
,i
){e
._removeClass(i
,t
)}),this.element
.off(this.eventNamespace
).removeData(this.widgetFullName
),this.widget().off(this.eventNamespace
).removeAttr("aria-disabled"),this.bindings
.off(this.eventNamespace
)},_destroy
:t
.noop
,widget:function(){return this.element
},option:function(e
,i
){var s
,n
,o
,a
=e
;if(0===arguments
.length
)return t
.widget
.extend({},this.options
);if("string"==typeof e
)if(a
={},s
=e
.split("."),e
=s
.shift(),s
.length
){for(n
=a
[e
]=t
.widget
.extend({},this.options
[e
]),o
=0;s
.length
-1>o
;o
++)n
[s
[o
]]=n
[s
[o
]]||{},n
=n
[s
[o
]];if(e
=s
.pop(),1===arguments
.length
)return void 0===n
[e
]?null:n
[e
];n
[e
]=i
}else{if(1===arguments
.length
)return void 0===this.options
[e
]?null:this.options
[e
];a
[e
]=i
}return this._setOptions(a
),this},_setOptions:function(t
){var e
;for(e
in t
)this._setOption(e
,t
[e
]);return this},_setOption:function(t
,e
){return"classes"===t
&&this._setOptionClasses(e
),this.options
[t
]=e
,"disabled"===t
&&this._setOptionDisabled(e
),this},_setOptionClasses:function(e
){var i
,s
,n
;for(i
in e
)n
=this.classesElementLookup
[i
],e
[i
]!==this.options
.classes
[i
]&&n
&&n
.length
&&(s
=t(n
.get()),this._removeClass(n
,i
),s
.addClass(this._classes({element
:s
,keys
:i
,classes
:e
,add
:!0})))},_setOptionDisabled:function(t
){this._toggleClass(this.widget(),this.widgetFullName
+"-disabled",null,!!t
),t
&&(this._removeClass(this.hoverable
,null,"ui-state-hover"),this._removeClass(this.focusable
,null,"ui-state-focus"))},enable:function(){return this._setOptions({disabled
:!1})},disable:function(){return this._setOptions({disabled
:!0})},_classes:function(e
){function i(i
,o
){var a
,r
;for(r
=0;i
.length
>r
;r
++)a
=n
.classesElementLookup
[i
[r
]]||t(),a
=e
.add
?t(t
.unique(a
.get().concat(e
.element
.get()))):t(a
.not(e
.element
).get()),n
.classesElementLookup
[i
[r
]]=a
,s
.push(i
[r
]),o
&&e
.classes
[i
[r
]]&&s
.push(e
.classes
[i
[r
]])}var s
=[],n
=this;return e
=t
.extend({element
:this.element
,classes
:this.options
.classes
||{}},e
),e
.keys
&&i(e
.keys
.match(/\S+/g)||[],!0),e
.extra
&&i(e
.extra
.match(/\S+/g)||[]),s
.join(" ")},_removeClass:function(t
,e
,i
){return this._toggleClass(t
,e
,i
,!1)},_addClass:function(t
,e
,i
){return this._toggleClass(t
,e
,i
,!0)},_toggleClass:function(t
,e
,i
,s
){s
="boolean"==typeof s
?s
:i
;var n
="string"==typeof t
||null===t
,o
={extra
:n
?e
:i
,keys
:n
?t
:e
,element
:n
?this.element
:t
,add
:s
};return o
.element
.toggleClass(this._classes(o
),s
),this},_on:function(e
,i
,s
){var n
,o
=this;"boolean"!=typeof e
&&(s
=i
,i
=e
,e
=!1),s
?(i
=n
=t(i
),this.bindings
=this.bindings
.add(i
)):(s
=i
,i
=this.element
,n
=this.widget()),t
.each(s
,function(s
,a
){function r(){return e
||o
.options
.disabled
!==!0&&!t(this).hasClass("ui-state-disabled")?("string"==typeof a
?o
[a
]:a
).apply(o
,arguments
):void 0}"string"!=typeof a
&&(r
.guid
=a
.guid
=a
.guid
||r
.guid
||t
.guid
++);var h
=s
.match(/^([\w:-]*)\s*(.*)$/),l
=h
[1]+o
.eventNamespace
,c
=h
[2];c
?n
.on(l
,c
,r
):i
.on(l
,r
)})},_off:function(e
,i
){i
=(i
||"").split(" ").join(this.eventNamespace
+" ")+this.eventNamespace
,e
.off(i
).off(i
),this.bindings
=t(this.bindings
.not(e
).get()),this.focusable
=t(this.focusable
.not(e
).get()),this.hoverable
=t(this.hoverable
.not(e
).get())},_delay:function(t
,e
){function i(){return("string"==typeof t
?s
[t
]:t
).apply(s
,arguments
)}var s
=this;return setTimeout(i
,e
||0)},_hoverable:function(e
){this.hoverable
=this.hoverable
.add(e
),this._on(e
,{mouseenter:function(e
){this._addClass(t(e
.currentTarget
),null,"ui-state-hover")},mouseleave:function(e
){this._removeClass(t(e
.currentTarget
),null,"ui-state-hover")}})},_focusable:function(e
){this.focusable
=this.focusable
.add(e
),this._on(e
,{focusin:function(e
){this._addClass(t(e
.currentTarget
),null,"ui-state-focus")},focusout:function(e
){this._removeClass(t(e
.currentTarget
),null,"ui-state-focus")}})},_trigger:function(e
,i
,s
){var n
,o
,a
=this.options
[e
];if(s
=s
||{},i
=t
.Event(i
),i
.type
=(e
===this.widgetEventPrefix
?e
:this.widgetEventPrefix
+e
).toLowerCase(),i
.target
=this.element
[0],o
=i
.originalEvent
)for(n
in o
)n
in i
||(i
[n
]=o
[n
]);return this.element
.trigger(i
,s
),!(t
.isFunction(a
)&&a
.apply(this.element
[0],[i
].concat(s
))===!1||i
.isDefaultPrevented())}},t
.each({show
:"fadeIn",hide
:"fadeOut"},function(e
,i
){t
.Widget
.prototype["_"+e
]=function(s
,n
,o
){"string"==typeof n
&&(n
={effect
:n
});var a
,r
=n
?n
===!0||"number"==typeof n
?i
:n
.effect
||i
:e
;n
=n
||{},"number"==typeof n
&&(n
={duration
:n
}),a
=!t
.isEmptyObject(n
),n
.complete
=o
,n
.delay
&&s
.delay(n
.delay
),a
&&t
.effects
&&t
.effects
.effect
[r
]?s
[e
](n
):r
!==e
&&s
[r
]?s
[r
](n
.duration
,n
.easing
,o
):s
.queue(function(i
){t(this)[e
](),o
&&o
.call(s
[0]),i()})}}),t
.widget
,function(){function e(t
,e
,i
){return[parseFloat(t
[0])*(p
.test(t
[0])?e
/100:1),parseFloat(t[1])*(p.test(t[1])?i/100:1)]}function i(e
,i
){return parseInt(t
.css(e
,i
),10)||0}function s(e
){var i
=e
[0];return 9===i
.nodeType
?{width
:e
.width(),height
:e
.height(),offset
:{top
:0,left
:0}}:t
.isWindow(i
)?{width
:e
.width(),height
:e
.height(),offset
:{top
:e
.scrollTop(),left
:e
.scrollLeft()}}:i
.preventDefault
?{width
:0,height
:0,offset
:{top
:i
.pageY
,left
:i
.pageX
}}:{width
:e
.outerWidth(),height
:e
.outerHeight(),offset
:e
.offset()}}var n
,o
,a
=Math
.max
,r
=Math
.abs
,h
=Math
.round
,l
=/left|center|right/,c
=/top|center|bottom/,u
=/[\+\-]\d+(\.[\d]+)?%?/,d
=/^\w+/,p
=/%$/,f
=t
.fn
.position
;o=function(){var e
=t("<div>").css("position","absolute").appendTo("body").offset({top
:1.5,left
:1.5}),i
=1.5===e
.offset().top
;return e
.remove(),o=function(){return i
},i
},t
.position
={scrollbarWidth:function(){if(void 0!==n
)return n
;var e
,i
,s
=t("<div style='display:block;position:absolute;width:50px;height:50px;overflow:hidden;'><div style='height:100px;width:auto;'></div></div>"),o
=s
.children()[0];return t("body").append(s
),e
=o
.offsetWidth
,s
.css("overflow","scroll"),i
=o
.offsetWidth
,e
===i
&&(i
=s
[0].clientWidth
),s
.remove(),n
=e
-i
},getScrollInfo:function(e
){var i
=e
.isWindow
||e
.isDocument
?"":e
.element
.css("overflow-x"),s
=e
.isWindow
||e
.isDocument
?"":e
.element
.css("overflow-y"),n
="scroll"===i
||"auto"===i
&&e
.width
<e
.element
[0].scrollWidth
,o
="scroll"===s
||"auto"===s
&&e
.height
<e
.element
[0].scrollHeight
;return{width
:o
?t
.position
.scrollbarWidth():0,height
:n
?t
.position
.scrollbarWidth():0}},getWithinInfo:function(e
){var i
=t(e
||window
),s
=t
.isWindow(i
[0]),n
=!!i
[0]&&9===i
[0].nodeType
,o
=!s
&&!n
;return{element
:i
,isWindow
:s
,isDocument
:n
,offset
:o
?t(e
).offset():{left
:0,top
:0},scrollLeft
:i
.scrollLeft(),scrollTop
:i
.scrollTop(),width
:i
.outerWidth(),height
:i
.outerHeight()}}},t
.fn
.position=function(n
){if(!n
||!n
.of)return f
.apply(this,arguments
);n
=t
.extend({},n
);var p
,g
,m
,_
,v
,b
,y
=t(n
.of),w
=t
.position
.getWithinInfo(n
.within
),k
=t
.position
.getScrollInfo(w
),x
=(n
.collision
||"flip").split(" "),C
={};return b
=s(y
),y
[0].preventDefault
&&(n
.at
="left top"),g
=b
.width
,m
=b
.height
,_
=b
.offset
,v
=t
.extend({},_
),t
.each(["my","at"],function(){var t
,e
,i
=(n
[this]||"").split(" ");1===i
.length
&&(i
=l
.test(i
[0])?i
.concat(["center"]):c
.test(i
[0])?["center"].concat(i
):["center","center"]),i
[0]=l
.test(i
[0])?i
[0]:"center",i
[1]=c
.test(i
[1])?i
[1]:"center",t
=u
.exec(i
[0]),e
=u
.exec(i
[1]),C
[this]=[t
?t
[0]:0,e
?e
[0]:0],n
[this]=[d
.exec(i
[0])[0],d
.exec(i
[1])[0]]}),1===x
.length
&&(x
[1]=x
[0]),"right"===n
.at
[0]?v
.left
+=g
:"center"===n
.at
[0]&&(v
.left
+=g
/2),"bottom"===n.at[1]?v.top+=m:"center"===n.at[1]&&(v.top+=m/2),p
=e(C
.at
,g
,m
),v
.left
+=p
[0],v
.top
+=p
[1],this.each(function(){var s
,l
,c
=t(this),u
=c
.outerWidth(),d
=c
.outerHeight(),f
=i(this,"marginLeft"),b
=i(this,"marginTop"),D
=u
+f
+i(this,"marginRight")+k
.width
,I
=d
+b
+i(this,"marginBottom")+k
.height
,T
=t
.extend({},v
),P
=e(C
.my
,c
.outerWidth(),c
.outerHeight());"right"===n
.my
[0]?T
.left
-=u
:"center"===n
.my
[0]&&(T
.left
-=u
/2),"bottom"===n.my[1]?T.top-=d:"center"===n.my[1]&&(T.top-=d/2),T
.left
+=P
[0],T
.top
+=P
[1],o()||(T
.left
=h(T
.left
),T
.top
=h(T
.top
)),s
={marginLeft
:f
,marginTop
:b
},t
.each(["left","top"],function(e
,i
){t
.ui
.position
[x
[e
]]&&t
.ui
.position
[x
[e
]][i
](T
,{targetWidth
:g
,targetHeight
:m
,elemWidth
:u
,elemHeight
:d
,collisionPosition
:s
,collisionWidth
:D
,collisionHeight
:I
,offset
:[p
[0]+P
[0],p
[1]+P
[1]],my
:n
.my
,at
:n
.at
,within
:w
,elem
:c
})}),n
.using
&&(l=function(t
){var e
=_
.left
-T
.left
,i
=e
+g
-u
,s
=_
.top
-T
.top
,o
=s
+m
-d
,h
={target
:{element
:y
,left
:_
.left
,top
:_
.top
,width
:g
,height
:m
},element
:{element
:c
,left
:T
.left
,top
:T
.top
,width
:u
,height
:d
},horizontal
:0>i
?"left":e
>0?"right":"center",vertical
:0>o
?"top":s
>0?"bottom":"middle"};u
>g
&&g
>r(e
+i
)&&(h
.horizontal
="center"),d
>m
&&m
>r(s
+o
)&&(h
.vertical
="middle"),h
.important
=a(r(e
),r(i
))>a(r(s
),r(o
))?"horizontal":"vertical",n
.using
.call(this,t
,h
)}),c
.offset(t
.extend(T
,{using
:l
}))})},t
.ui
.position
={fit
:{left:function(t
,e
){var i
,s
=e
.within
,n
=s
.isWindow
?s
.scrollLeft
:s
.offset
.left
,o
=s
.width
,r
=t
.left
-e
.collisionPosition
.marginLeft
,h
=n
-r
,l
=r
+e
.collisionWidth
-o
-n
;e
.collisionWidth
>o
?h
>0&&0>=l
?(i
=t
.left
+h
+e
.collisionWidth
-o
-n
,t
.left
+=h
-i
):t
.left
=l
>0&&0>=h
?n
:h
>l
?n
+o
-e
.collisionWidth
:n
:h
>0?t
.left
+=h
:l
>0?t
.left
-=l
:t
.left
=a(t
.left
-r
,t
.left
)},top:function(t
,e
){var i
,s
=e
.within
,n
=s
.isWindow
?s
.scrollTop
:s
.offset
.top
,o
=e
.within
.height
,r
=t
.top
-e
.collisionPosition
.marginTop
,h
=n
-r
,l
=r
+e
.collisionHeight
-o
-n
;e
.collisionHeight
>o
?h
>0&&0>=l
?(i
=t
.top
+h
+e
.collisionHeight
-o
-n
,t
.top
+=h
-i
):t
.top
=l
>0&&0>=h
?n
:h
>l
?n
+o
-e
.collisionHeight
:n
:h
>0?t
.top
+=h
:l
>0?t
.top
-=l
:t
.top
=a(t
.top
-r
,t
.top
)}},flip
:{left:function(t
,e
){var i
,s
,n
=e
.within
,o
=n
.offset
.left
+n
.scrollLeft
,a
=n
.width
,h
=n
.isWindow
?n
.scrollLeft
:n
.offset
.left
,l
=t
.left
-e
.collisionPosition
.marginLeft
,c
=l
-h
,u
=l
+e
.collisionWidth
-a
-h
,d
="left"===e
.my
[0]?-e
.elemWidth
:"right"===e
.my
[0]?e
.elemWidth
:0,p
="left"===e
.at
[0]?e
.targetWidth
:"right"===e
.at
[0]?-e
.targetWidth
:0,f
=-2*e
.offset
[0];0>c
?(i
=t
.left
+d
+p
+f
+e
.collisionWidth
-a
-o
,(0>i
||r(c
)>i
)&&(t
.left
+=d
+p
+f
)):u
>0&&(s
=t
.left
-e
.collisionPosition
.marginLeft
+d
+p
+f
-h
,(s
>0||u
>r(s
))&&(t
.left
+=d
+p
+f
))},top:function(t
,e
){var i
,s
,n
=e
.within
,o
=n
.offset
.top
+n
.scrollTop
,a
=n
.height
,h
=n
.isWindow
?n
.scrollTop
:n
.offset
.top
,l
=t
.top
-e
.collisionPosition
.marginTop
,c
=l
-h
,u
=l
+e
.collisionHeight
-a
-h
,d
="top"===e
.my
[1],p
=d
?-e
.elemHeight
:"bottom"===e
.my
[1]?e
.elemHeight
:0,f
="top"===e
.at
[1]?e
.targetHeight
:"bottom"===e
.at
[1]?-e
.targetHeight
:0,g
=-2*e
.offset
[1];0>c
?(s
=t
.top
+p
+f
+g
+e
.collisionHeight
-a
-o
,(0>s
||r(c
)>s
)&&(t
.top
+=p
+f
+g
)):u
>0&&(i
=t
.top
-e
.collisionPosition
.marginTop
+p
+f
+g
-h
,(i
>0||u
>r(i
))&&(t
.top
+=p
+f
+g
))}},flipfit
:{left:function(){t
.ui
.position
.flip
.left
.apply(this,arguments
),t
.ui
.position
.fit
.left
.apply(this,arguments
)},top:function(){t
.ui
.position
.flip
.top
.apply(this,arguments
),t
.ui
.position
.fit
.top
.apply(this,arguments
)}}}}(),t
.ui
.position
,t
.extend(t
.expr
[":"],{data
:t
.expr
.createPseudo
?t
.expr
.createPseudo(function(e
){return function(i
){return!!t
.data(i
,e
)}}):function(e
,i
,s
){return!!t
.data(e
,s
[3])}}),t
.fn
.extend({disableSelection:function(){var t
="onselectstart"in document
.createElement("div")?"selectstart":"mousedown";return function(){return this.on(t
+".ui-disableSelection",function(t
){t
.preventDefault()})}}(),enableSelection:function(){return this.off(".ui-disableSelection")}}),t
.fn
.form=function(){return"string"==typeof this[0].form
?this.closest("form"):t(this[0].form
)},t
.ui
.formResetMixin
={_formResetHandler:function(){var e
=t(this);setTimeout(function(){var i
=e
.data("ui-form-reset-instances");t
.each(i
,function(){this.refresh()})})},_bindFormResetHandler:function(){if(this.form
=this.element
.form(),this.form
.length
){var t
=this.form
.data("ui-form-reset-instances")||[];t
.length
||this.form
.on("reset.ui-form-reset",this._formResetHandler
),t
.push(this),this.form
.data("ui-form-reset-instances",t
)}},_unbindFormResetHandler:function(){if(this.form
.length
){var e
=this.form
.data("ui-form-reset-instances");e
.splice(t
.inArray(this,e
),1),e
.length
?this.form
.data("ui-form-reset-instances",e
):this.form
.removeData("ui-form-reset-instances").off("reset.ui-form-reset")}}},t
.ui
.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},t
.fn
.scrollParent=function(e
){var i
=this.css("position"),s
="absolute"===i
,n
=e
?/(auto|scroll|hidden)/:/(auto|scroll)/,o
=this.parents().filter(function(){var e
=t(this);return s
&&"static"===e
.css("position")?!1:n
.test(e
.css("overflow")+e
.css("overflow-y")+e
.css("overflow-x"))}).eq(0);return"fixed"!==i
&&o
.length
?o
:t(this[0].ownerDocument
||document
)},t
.ui
.ie
=!!/msie [\w.]+/.exec(navigator
.userAgent
.toLowerCase());var s
=!1;t(document
).on("mouseup",function(){s
=!1}),t
.widget("ui.mouse",{version
:"1.12.0",options
:{cancel
:"input, textarea, button, select, option",distance
:1,delay
:0},_mouseInit:function(){var e
=this;this.element
.on("mousedown."+this.widgetName
,function(t
){return e
._mouseDown(t
)}).on("click."+this.widgetName
,function(i
){return!0===t
.data(i
.target
,e
.widgetName
+".preventClickEvent")?(t
.removeData(i
.target
,e
.widgetName
+".preventClickEvent"),i
.stopImmediatePropagation(),!1):void 0}),this.started
=!1},_mouseDestroy:function(){this.element
.off("."+this.widgetName
),this._mouseMoveDelegate
&&this.document
.off("mousemove."+this.widgetName
,this._mouseMoveDelegate
).off("mouseup."+this.widgetName
,this._mouseUpDelegate
)},_mouseDown:function(e
){if(!s
){this._mouseMoved
=!1,this._mouseStarted
&&this._mouseUp(e
),this._mouseDownEvent
=e
;var i
=this,n
=1===e
.which
,o
="string"==typeof this.options
.cancel
&&e
.target
.nodeName
?t(e
.target
).closest(this.options
.cancel
).length
:!1;return n
&&!o
&&this._mouseCapture(e
)?(this.mouseDelayMet
=!this.options
.delay
,this.mouseDelayMet
||(this._mouseDelayTimer
=setTimeout(function(){i
.mouseDelayMet
=!0},this.options
.delay
)),this._mouseDistanceMet(e
)&&this._mouseDelayMet(e
)&&(this._mouseStarted
=this._mouseStart(e
)!==!1,!this._mouseStarted
)?(e
.preventDefault(),!0):(!0===t
.data(e
.target
,this.widgetName
+".preventClickEvent")&&t
.removeData(e
.target
,this.widgetName
+".preventClickEvent"),this._mouseMoveDelegate=function(t
){return i
._mouseMove(t
)},this._mouseUpDelegate=function(t
){return i
._mouseUp(t
)},this.document
.on("mousemove."+this.widgetName
,this._mouseMoveDelegate
).on("mouseup."+this.widgetName
,this._mouseUpDelegate
),e
.preventDefault(),s
=!0,!0)):!0}},_mouseMove:function(e
){if(this._mouseMoved
){if(t
.ui
.ie
&&(!document
.documentMode
||9>document
.documentMode
)&&!e
.button
)return this._mouseUp(e
);if(!e
.which
)if(e
.originalEvent
.altKey
||e
.originalEvent
.ctrlKey
||e
.originalEvent
.metaKey
||e
.originalEvent
.shiftKey
)this.ignoreMissingWhich
=!0;else if(!this.ignoreMissingWhich
)return this._mouseUp(e
)}return(e
.which
||e
.button
)&&(this._mouseMoved
=!0),this._mouseStarted
?(this._mouseDrag(e
),e
.preventDefault()):(this._mouseDistanceMet(e
)&&this._mouseDelayMet(e
)&&(this._mouseStarted
=this._mouseStart(this._mouseDownEvent
,e
)!==!1,this._mouseStarted
?this._mouseDrag(e
):this._mouseUp(e
)),!this._mouseStarted
)},_mouseUp:function(e
){this.document
.off("mousemove."+this.widgetName
,this._mouseMoveDelegate
).off("mouseup."+this.widgetName
,this._mouseUpDelegate
),this._mouseStarted
&&(this._mouseStarted
=!1,e
.target
===this._mouseDownEvent
.target
&&t
.data(e
.target
,this.widgetName
+".preventClickEvent",!0),this._mouseStop(e
)),this._mouseDelayTimer
&&(clearTimeout(this._mouseDelayTimer
),delete this._mouseDelayTimer
),this.ignoreMissingWhich
=!1,s
=!1,e
.preventDefault()},_mouseDistanceMet:function(t
){return Math
.max(Math
.abs(this._mouseDownEvent
.pageX
-t
.pageX
),Math
.abs(this._mouseDownEvent
.pageY
-t
.pageY
))>=this.options
.distance
},_mouseDelayMet:function(){return this.mouseDelayMet
},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return!0}}),t
.ui
.plugin
={add:function(e
,i
,s
){var n
,o
=t
.ui
[e
].prototype;for(n
in s
)o
.plugins
[n
]=o
.plugins
[n
]||[],o
.plugins
[n
].push([i
,s
[n
]])},call:function(t
,e
,i
,s
){var n
,o
=t
.plugins
[e
];if(o
&&(s
||t
.element
[0].parentNode
&&11!==t
.element
[0].parentNode
.nodeType
))for(n
=0;o
.length
>n
;n
++)t
.options
[o
[n
][0]]&&o
[n
][1].apply(t
.element
,i
)}},t
.ui
.safeActiveElement=function(t
){var e
;try{e
=t
.activeElement
}catch(i
){e
=t
.body
}return e
||(e
=t
.body
),e
.nodeName
||(e
=t
.body
),e
},t
.ui
.safeBlur=function(e
){e
&&"body"!==e
.nodeName
.toLowerCase()&&t(e
).trigger("blur")},t
.widget("ui.draggable",t
.ui
.mouse
,{version
:"1.12.0",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._addClass("ui-draggable"),this._setHandleClassName(),this._mouseInit()},_setOption:function(t
,e
){this._super(t
,e
),"handle"===t
&&(this._removeHandleClassName(),this._setHandleClassName())},_destroy:function(){return(this.helper
||this.element
).is(".ui-draggable-dragging")?(this.destroyOnClear
=!0,void 0):(this._removeHandleClassName(),this._mouseDestroy(),void 0)},_mouseCapture:function(e
){var i
=this.options
;return this._blurActiveElement(e
),this.helper
||i
.disabled
||t(e
.target
).closest(".ui-resizable-handle").length
>0?!1:(this.handle
=this._getHandle(e
),this.handle
?(this._blockFrames(i
.iframeFix
===!0?"iframe":i
.iframeFix
),!0):!1)},_blockFrames:function(e
){this.iframeBlocks
=this.document
.find(e
).map(function(){var e
=t(this);return t("<div>").css("position","absolute").appendTo(e
.parent()).outerWidth(e
.outerWidth()).outerHeight(e
.outerHeight()).offset(e
.offset())[0]})},_unblockFrames:function(){this.iframeBlocks
&&(this.iframeBlocks
.remove(),delete this.iframeBlocks
)},_blurActiveElement:function(e
){var i
=t
.ui
.safeActiveElement(this.document
[0]),s
=t(e
.target
);this._getHandle(e
)&&s
.closest(i
).length
||t
.ui
.safeBlur(i
)},_mouseStart:function(e
){var i
=this.options
;return this.helper
=this._createHelper(e
),this._addClass(this.helper
,"ui-draggable-dragging"),this._cacheHelperProportions(),t
.ui
.ddmanager
&&(t
.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"===t(this).css("position")}).length
>0,this.positionAbs
=this.element
.offset(),this._refreshOffsets(e
),this.originalPosition
=this.position
=this._generatePosition(e
,!1),this.originalPageX
=e
.pageX
,this.originalPageY
=e
.pageY
,i
.cursorAt
&&this._adjustOffsetFromHelper(i
.cursorAt
),this._setContainment(),this._trigger("start",e
)===!1?(this._clear(),!1):(this._cacheHelperProportions(),t
.ui
.ddmanager
&&!i
.dropBehaviour
&&t
.ui
.ddmanager
.prepareOffsets(this,e
),this._mouseDrag(e
,!0),t
.ui
.ddmanager
&&t
.ui
.ddmanager
.dragStart(this,e
),!0)},_refreshOffsets:function(t
){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
:t
.pageX
-this.offset
.left
,top
:t
.pageY
-this.offset
.top
}},_mouseDrag:function(e
,i
){if(this.hasFixedAncestor
&&(this.offset
.parent
=this._getParentOffset()),this.position
=this._generatePosition(e
,!0),this.positionAbs
=this._convertPositionTo("absolute"),!i
){var s
=this._uiHash();if(this._trigger("drag",e
,s
)===!1)return this._mouseUp(new t
.Event("mouseup",e
)),!1;this.position
=s
.position
}return this.helper
[0].style
.left
=this.position
.left
+"px",this.helper
[0].style
.top
=this.position
.top
+"px",t
.ui
.ddmanager
&&t
.ui
.ddmanager
.drag(this,e
),!1},_mouseStop:function(e
){var i
=this,s
=!1;return t
.ui
.ddmanager
&&!this.options
.dropBehaviour
&&(s
=t
.ui
.ddmanager
.drop(this,e
)),this.dropped
&&(s
=this.dropped
,this.dropped
=!1),"invalid"===this.options
.revert
&&!s
||"valid"===this.options
.revert
&&s
||this.options
.revert
===!0||t
.isFunction(this.options
.revert
)&&this.options
.revert
.call(this.element
,s
)?t(this.helper
).animate(this.originalPosition
,parseInt(this.options
.revertDuration
,10),function(){i
._trigger("stop",e
)!==!1&&i
._clear()}):this._trigger("stop",e
)!==!1&&this._clear(),!1},_mouseUp:function(e
){return this._unblockFrames(),t
.ui
.ddmanager
&&t
.ui
.ddmanager
.dragStop(this,e
),this.handleElement
.is(e
.target
)&&this.element
.trigger("focus"),t
.ui
.mouse
.prototype._mouseUp
.call(this,e
)},cancel:function(){return this.helper
.is(".ui-draggable-dragging")?this._mouseUp(new t
.Event("mouseup",{target
:this.element
[0]})):this._clear(),this},_getHandle:function(e
){return this.options
.handle
?!!t(e
.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._addClass(this.handleElement
,"ui-draggable-handle")},_removeHandleClassName:function(){this._removeClass(this.handleElement
,"ui-draggable-handle")},_createHelper:function(e
){var i
=this.options
,s
=t
.isFunction(i
.helper
),n
=s
?t(i
.helper
.apply(this.element
[0],[e
])):"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(e
){"string"==typeof e
&&(e
=e
.split(" ")),t
.isArray(e
)&&(e
={left
:+e
[0],top
:+e
[1]||0}),"left"in e
&&(this.offset
.click
.left
=e
.left
+this.margins
.left
),"right"in e
&&(this.offset
.click
.left
=this.helperProportions
.width
-e
.right
+this.margins
.left
),"top"in e
&&(this.offset
.click
.top
=e
.top
+this.margins
.top
),"bottom"in e
&&(this.offset
.click
.top
=this.helperProportions
.height
-e
.bottom
+this.margins
.top
)},_isRootNode:function(t
){return/(html|body)/i.test(t
.tagName
)||t
===this.document
[0]},_getParentOffset:function(){var e
=this.offsetParent
.offset(),i
=this.document
[0];return"absolute"===this.cssPosition
&&this.scrollParent
[0]!==i
&&t
.contains(this.scrollParent
[0],this.offsetParent
[0])&&(e
.left
+=this.scrollParent
.scrollLeft(),e
.top
+=this.scrollParent
.scrollTop()),this._isRootNode(this.offsetParent
[0])&&(e
={top
:0,left
:0}),{top
:e
.top
+(parseInt(this.offsetParent
.css("borderTopWidth"),10)||0),left
:e
.left
+(parseInt(this.offsetParent
.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if("relative"!==this.cssPosition
)return{top
:0,left
:0};var t
=this.element
.position(),e
=this._isRootNode(this.scrollParent
[0]);return{top
:t
.top
-(parseInt(this.helper
.css("top"),10)||0)+(e
?0:this.scrollParent
.scrollTop()),left
:t
.left
-(parseInt(this.helper
.css("left"),10)||0)+(e
?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 e
,i
,s
,n
=this.options
,o
=this.document
[0];return this.relativeContainer
=null,n
.containment
?"window"===n
.containment
?(this.containment
=[t(window
).scrollLeft()-this.offset
.relative
.left
-this.offset
.parent
.left
,t(window
).scrollTop()-this.offset
.relative
.top
-this.offset
.parent
.top
,t(window
).scrollLeft()+t(window
).width()-this.helperProportions
.width
-this.margins
.left
,t(window
).scrollTop()+(t(window
).height()||o
.body
.parentNode
.scrollHeight
)-this.helperProportions
.height
-this.margins
.top
],void 0):"document"===n
.containment
?(this.containment
=[0,0,t(o
).width()-this.helperProportions
.width
-this.margins
.left
,(t(o
).height()||o
.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
=t(n
.containment
),s
=i
[0],s
&&(e
=/(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),(e
?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
,(e
?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)},_convertPositionTo:function(t
,e
){e
||(e
=this.position
);var i
="absolute"===t
?1:-1,s
=this._isRootNode(this.scrollParent
[0]);return{top
:e
.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
:e
.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(t
,e
){var i
,s
,n
,o
,a
=this.options
,r
=this._isRootNode(this.scrollParent
[0]),h
=t
.pageX
,l
=t
.pageY
;return r
&&this.offset
.scroll
||(this.offset
.scroll
={top
:this.scrollParent
.scrollTop(),left
:this.scrollParent
.scrollLeft()}),e
&&(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
,t
.pageX
-this.offset
.click
.left
<i
[0]&&(h
=i
[0]+this.offset
.click
.left
),t
.pageY
-this.offset
.click
.top
<i
[1]&&(l
=i
[1]+this.offset
.click
.top
),t
.pageX
-this.offset
.click
.left
>i
[2]&&(h
=i
[2]+this.offset
.click
.left
),t
.pageY
-this.offset
.click
.top
>i
[3]&&(l
=i
[3]+this.offset
.click
.top
)),a
.grid
&&(n
=a
.grid
[1]?this.originalPageY
+Math
.round((l
-this.originalPageY
)/a.grid[1])*a.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-a.grid[1]:n+a.grid[1]:n,o=a.grid[0]?this.originalPageX+Math.round((h-this.originalPageX)/a.grid
[0])*a
.grid
[0]:this.originalPageX
,h
=i
?o
-this.offset
.click
.left
>=i
[0]||o
-this.offset
.click
.left
>i
[2]?o
:o
-this.offset
.click
.left
>=i
[0]?o
-a
.grid
[0]:o
+a
.grid
[0]:o
),"y"===a
.axis
&&(h
=this.originalPageX
),"x"===a
.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._removeClass(this.helper
,"ui-draggable-dragging"),this.helper
[0]===this.element
[0]||this.cancelHelperRemoval
||this.helper
.remove(),this.helper
=null,this.cancelHelperRemoval
=!1,this.destroyOnClear
&&this.destroy()},_trigger:function(e
,i
,s
){return s
=s
||this._uiHash(),t
.ui
.plugin
.call(this,e
,[i
,s
,this],!0),/^(drag|start|stop)/.test(e
)&&(this.positionAbs
=this._convertPositionTo("absolute"),s
.offset
=this.positionAbs
),t
.Widget
.prototype._trigger
.call(this,e
,i
,s
)},plugins
:{},_uiHash:function(){return{helper
:this.helper
,position
:this.position
,originalPosition
:this.originalPosition
,offset
:this.positionAbs
}}}),t
.ui
.plugin
.add("draggable","connectToSortable",{start:function(e
,i
,s
){var n
=t
.extend({},i
,{item
:s
.element
});s
.sortables
=[],t(s
.options
.connectToSortable
).each(function(){var i
=t(this).sortable("instance");i
&&!i
.options
.disabled
&&(s
.sortables
.push(i
),i
.refreshPositions(),i
._trigger("activate",e
,n
))})},stop:function(e
,i
,s
){var n
=t
.extend({},i
,{item
:s
.element
});s
.cancelHelperRemoval
=!1,t
.each(s
.sortables
,function(){var t
=this;t
.isOver
?(t
.isOver
=0,s
.cancelHelperRemoval
=!0,t
.cancelHelperRemoval
=!1,t
._storedCSS
={position
:t
.placeholder
.css("position"),top
:t
.placeholder
.css("top"),left
:t
.placeholder
.css("left")},t
._mouseStop(e
),t
.options
.helper
=t
.options
._helper
):(t
.cancelHelperRemoval
=!0,t
._trigger("deactivate",e
,n
))})},drag:function(e
,i
,s
){t
.each(s
.sortables
,function(){var n
=!1,o
=this;o
.positionAbs
=s
.positionAbs
,o
.helperProportions
=s
.helperProportions
,o
.offset
.click
=s
.offset
.click
,o
._intersectsWith(o
.containerCache
)&&(n
=!0,t
.each(s
.sortables
,function(){return this.positionAbs
=s
.positionAbs
,this.helperProportions
=s
.helperProportions
,this.offset
.click
=s
.offset
.click
,this!==o
&&this._intersectsWith(this.containerCache
)&&t
.contains(o
.element
[0],this.element
[0])&&(n
=!1),n
})),n
?(o
.isOver
||(o
.isOver
=1,s
._parent
=i
.helper
.parent(),o
.currentItem
=i
.helper
.appendTo(o
.element
).data("ui-sortable-item",!0),o
.options
._helper
=o
.options
.helper
,o
.options
.helper=function(){return i
.helper
[0]},e
.target
=o
.currentItem
[0],o
._mouseCapture(e
,!0),o
._mouseStart(e
,!0,!0),o
.offset
.click
.top
=s
.offset
.click
.top
,o
.offset
.click
.left
=s
.offset
.click
.left
,o
.offset
.parent
.left
-=s
.offset
.parent
.left
-o
.offset
.parent
.left
,o
.offset
.parent
.top
-=s
.offset
.parent
.top
-o
.offset
.parent
.top
,s
._trigger("toSortable",e
),s
.dropped
=o
.element
,t
.each(s
.sortables
,function(){this.refreshPositions()
30 }),s
.currentItem
=s
.element
,o
.fromOutside
=s
),o
.currentItem
&&(o
._mouseDrag(e
),i
.position
=o
.position
)):o
.isOver
&&(o
.isOver
=0,o
.cancelHelperRemoval
=!0,o
.options
._revert
=o
.options
.revert
,o
.options
.revert
=!1,o
._trigger("out",e
,o
._uiHash(o
)),o
._mouseStop(e
,!0),o
.options
.revert
=o
.options
._revert
,o
.options
.helper
=o
.options
._helper
,o
.placeholder
&&o
.placeholder
.remove(),i
.helper
.appendTo(s
._parent
),s
._refreshOffsets(e
),i
.position
=s
._generatePosition(e
,!0),s
._trigger("fromSortable",e
),s
.dropped
=!1,t
.each(s
.sortables
,function(){this.refreshPositions()}))})}}),t
.ui
.plugin
.add("draggable","cursor",{start:function(e
,i
,s
){var n
=t("body"),o
=s
.options
;n
.css("cursor")&&(o
._cursor
=n
.css("cursor")),n
.css("cursor",o
.cursor
)},stop:function(e
,i
,s
){var n
=s
.options
;n
._cursor
&&t("body").css("cursor",n
._cursor
)}}),t
.ui
.plugin
.add("draggable","opacity",{start:function(e
,i
,s
){var n
=t(i
.helper
),o
=s
.options
;n
.css("opacity")&&(o
._opacity
=n
.css("opacity")),n
.css("opacity",o
.opacity
)},stop:function(e
,i
,s
){var n
=s
.options
;n
._opacity
&&t(i
.helper
).css("opacity",n
._opacity
)}}),t
.ui
.plugin
.add("draggable","scroll",{start:function(t
,e
,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(e
,i
,s
){var n
=s
.options
,o
=!1,a
=s
.scrollParentNotHidden
[0],r
=s
.document
[0];a
!==r
&&"HTML"!==a
.tagName
?(n
.axis
&&"x"===n
.axis
||(s
.overflowOffset
.top
+a
.offsetHeight
-e
.pageY
<n
.scrollSensitivity
?a
.scrollTop
=o
=a
.scrollTop
+n
.scrollSpeed
:e
.pageY
-s
.overflowOffset
.top
<n
.scrollSensitivity
&&(a
.scrollTop
=o
=a
.scrollTop
-n
.scrollSpeed
)),n
.axis
&&"y"===n
.axis
||(s
.overflowOffset
.left
+a
.offsetWidth
-e
.pageX
<n
.scrollSensitivity
?a
.scrollLeft
=o
=a
.scrollLeft
+n
.scrollSpeed
:e
.pageX
-s
.overflowOffset
.left
<n
.scrollSensitivity
&&(a
.scrollLeft
=o
=a
.scrollLeft
-n
.scrollSpeed
))):(n
.axis
&&"x"===n
.axis
||(e
.pageY
-t(r
).scrollTop()<n
.scrollSensitivity
?o
=t(r
).scrollTop(t(r
).scrollTop()-n
.scrollSpeed
):t(window
).height()-(e
.pageY
-t(r
).scrollTop())<n
.scrollSensitivity
&&(o
=t(r
).scrollTop(t(r
).scrollTop()+n
.scrollSpeed
))),n
.axis
&&"y"===n
.axis
||(e
.pageX
-t(r
).scrollLeft()<n
.scrollSensitivity
?o
=t(r
).scrollLeft(t(r
).scrollLeft()-n
.scrollSpeed
):t(window
).width()-(e
.pageX
-t(r
).scrollLeft())<n
.scrollSensitivity
&&(o
=t(r
).scrollLeft(t(r
).scrollLeft()+n
.scrollSpeed
)))),o
!==!1&&t
.ui
.ddmanager
&&!n
.dropBehaviour
&&t
.ui
.ddmanager
.prepareOffsets(s
,e
)}}),t
.ui
.plugin
.add("draggable","snap",{start:function(e
,i
,s
){var n
=s
.options
;s
.snapElements
=[],t(n
.snap
.constructor!==String
?n
.snap
.items
||":data(ui-draggable)":n
.snap
).each(function(){var e
=t(this),i
=e
.offset();this!==s
.element
[0]&&s
.snapElements
.push({item
:this,width
:e
.outerWidth(),height
:e
.outerHeight(),top
:i
.top
,left
:i
.left
})})},drag:function(e
,i
,s
){var n
,o
,a
,r
,h
,l
,c
,u
,d
,p
,f
=s
.options
,g
=f
.snapTolerance
,m
=i
.offset
.left
,_
=m
+s
.helperProportions
.width
,v
=i
.offset
.top
,b
=v
+s
.helperProportions
.height
;for(d
=s
.snapElements
.length
-1;d
>=0;d
--)h
=s
.snapElements
[d
].left
-s
.margins
.left
,l
=h
+s
.snapElements
[d
].width
,c
=s
.snapElements
[d
].top
-s
.margins
.top
,u
=c
+s
.snapElements
[d
].height
,h
-g
>_
||m
>l
+g
||c
-g
>b
||v
>u
+g
||!t
.contains(s
.snapElements
[d
].item
.ownerDocument
,s
.snapElements
[d
].item
)?(s
.snapElements
[d
].snapping
&&s
.options
.snap
.release
&&s
.options
.snap
.release
.call(s
.element
,e
,t
.extend(s
._uiHash(),{snapItem
:s
.snapElements
[d
].item
})),s
.snapElements
[d
].snapping
=!1):("inner"!==f
.snapMode
&&(n
=g
>=Math
.abs(c
-b
),o
=g
>=Math
.abs(u
-v
),a
=g
>=Math
.abs(h
-_
),r
=g
>=Math
.abs(l
-m
),n
&&(i
.position
.top
=s
._convertPositionTo("relative",{top
:c
-s
.helperProportions
.height
,left
:0}).top
),o
&&(i
.position
.top
=s
._convertPositionTo("relative",{top
:u
,left
:0}).top
),a
&&(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
||o
||a
||r
,"outer"!==f
.snapMode
&&(n
=g
>=Math
.abs(c
-v
),o
=g
>=Math
.abs(u
-b
),a
=g
>=Math
.abs(h
-m
),r
=g
>=Math
.abs(l
-_
),n
&&(i
.position
.top
=s
._convertPositionTo("relative",{top
:c
,left
:0}).top
),o
&&(i
.position
.top
=s
._convertPositionTo("relative",{top
:u
-s
.helperProportions
.height
,left
:0}).top
),a
&&(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
[d
].snapping
&&(n
||o
||a
||r
||p
)&&s
.options
.snap
.snap
&&s
.options
.snap
.snap
.call(s
.element
,e
,t
.extend(s
._uiHash(),{snapItem
:s
.snapElements
[d
].item
})),s
.snapElements
[d
].snapping
=n
||o
||a
||r
||p
)}}),t
.ui
.plugin
.add("draggable","stack",{start:function(e
,i
,s
){var n
,o
=s
.options
,a
=t
.makeArray(t(o
.stack
)).sort(function(e
,i
){return(parseInt(t(e
).css("zIndex"),10)||0)-(parseInt(t(i
).css("zIndex"),10)||0)});a
.length
&&(n
=parseInt(t(a
[0]).css("zIndex"),10)||0,t(a
).each(function(e
){t(this).css("zIndex",n
+e
)}),this.css("zIndex",n
+a
.length
))}}),t
.ui
.plugin
.add("draggable","zIndex",{start:function(e
,i
,s
){var n
=t(i
.helper
),o
=s
.options
;n
.css("zIndex")&&(o
._zIndex
=n
.css("zIndex")),n
.css("zIndex",o
.zIndex
)},stop:function(e
,i
,s
){var n
=s
.options
;n
._zIndex
&&t(i
.helper
).css("zIndex",n
._zIndex
)}}),t
.ui
.draggable
,t
.widget("ui.droppable",{version
:"1.12.0",widgetEventPrefix
:"drop",options
:{accept
:"*",addClasses
:!0,greedy
:!1,scope
:"default",tolerance
:"intersect",activate
:null,deactivate
:null,drop
:null,out
:null,over
:null},_create:function(){var e
,i
=this.options
,s
=i
.accept
;this.isover
=!1,this.isout
=!0,this.accept
=t
.isFunction(s
)?s:function(t
){return t
.is(s
)},this.proportions=function(){return arguments
.length
?(e
=arguments
[0],void 0):e
?e
:e
={width
:this.element
[0].offsetWidth
,height
:this.element
[0].offsetHeight
}},this._addToManager(i
.scope
),i
.addClasses
&&this._addClass("ui-droppable")},_addToManager:function(e
){t
.ui
.ddmanager
.droppables
[e
]=t
.ui
.ddmanager
.droppables
[e
]||[],t
.ui
.ddmanager
.droppables
[e
].push(this)},_splice:function(t
){for(var e
=0;t
.length
>e
;e
++)t
[e
]===this&&t
.splice(e
,1)},_destroy:function(){var e
=t
.ui
.ddmanager
.droppables
[this.options
.scope
];this._splice(e
)},_setOption:function(e
,i
){if("accept"===e
)this.accept
=t
.isFunction(i
)?i:function(t
){return t
.is(i
)};else if("scope"===e
){var s
=t
.ui
.ddmanager
.droppables
[this.options
.scope
];this._splice(s
),this._addToManager(i
)}this._super(e
,i
)},_activate:function(e
){var i
=t
.ui
.ddmanager
.current
;this._addActiveClass(),i
&&this._trigger("activate",e
,this.ui(i
))},_deactivate:function(e
){var i
=t
.ui
.ddmanager
.current
;this._removeActiveClass(),i
&&this._trigger("deactivate",e
,this.ui(i
))},_over:function(e
){var i
=t
.ui
.ddmanager
.current
;i
&&(i
.currentItem
||i
.element
)[0]!==this.element
[0]&&this.accept
.call(this.element
[0],i
.currentItem
||i
.element
)&&(this._addHoverClass(),this._trigger("over",e
,this.ui(i
)))},_out:function(e
){var i
=t
.ui
.ddmanager
.current
;i
&&(i
.currentItem
||i
.element
)[0]!==this.element
[0]&&this.accept
.call(this.element
[0],i
.currentItem
||i
.element
)&&(this._removeHoverClass(),this._trigger("out",e
,this.ui(i
)))},_drop:function(e
,i
){var s
=i
||t
.ui
.ddmanager
.current
,o
=!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
=t(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
)&&n(s
,t
.extend(i
,{offset
:i
.element
.offset()}),i
.options
.tolerance
,e
)?(o
=!0,!1):void 0}),o
?!1:this.accept
.call(this.element
[0],s
.currentItem
||s
.element
)?(this._removeActiveClass(),this._removeHoverClass(),this._trigger("drop",e
,this.ui(s
)),this.element
):!1):!1},ui:function(t
){return{draggable
:t
.currentItem
||t
.element
,helper
:t
.helper
,position
:t
.position
,offset
:t
.positionAbs
}},_addHoverClass:function(){this._addClass("ui-droppable-hover")},_removeHoverClass:function(){this._removeClass("ui-droppable-hover")},_addActiveClass:function(){this._addClass("ui-droppable-active")},_removeActiveClass:function(){this._removeClass("ui-droppable-active")}});var n
=t
.ui
.intersect=function(){function t(t
,e
,i
){return t
>=e
&&e
+i
>t
}return function(e
,i
,s
,n
){if(!i
.offset
)return!1;var o
=(e
.positionAbs
||e
.position
.absolute
).left
+e
.margins
.left
,a
=(e
.positionAbs
||e
.position
.absolute
).top
+e
.margins
.top
,r
=o
+e
.helperProportions
.width
,h
=a
+e
.helperProportions
.height
,l
=i
.offset
.left
,c
=i
.offset
.top
,u
=l
+i
.proportions().width
,d
=c
+i
.proportions().height
;switch(s
){case"fit":return o
>=l
&&u
>=r
&&a
>=c
&&d
>=h
;case"intersect":return o
+e
.helperProportions
.width
/2>l&&u>r-e.helperProportions.width/2&&a
+e
.helperProportions
.height
/2>c&&d>h-e.helperProportions.height/2;case"pointer":return t(n
.pageY
,c
,i
.proportions().height
)&&t(n
.pageX
,l
,i
.proportions().width
);case"touch":return(a
>=c
&&d
>=a
||h
>=c
&&d
>=h
||c
>a
&&h
>d
)&&(o
>=l
&&u
>=o
||r
>=l
&&u
>=r
||l
>o
&&r
>u
);default:return!1}}}();t
.ui
.ddmanager
={current
:null,droppables
:{"default":[]},prepareOffsets:function(e
,i
){var s
,n
,o
=t
.ui
.ddmanager
.droppables
[e
.options
.scope
]||[],a
=i
?i
.type
:null,r
=(e
.currentItem
||e
.element
).find(":data(ui-droppable)").addBack();t
:for(s
=0;o
.length
>s
;s
++)if(!(o
[s
].options
.disabled
||e
&&!o
[s
].accept
.call(o
[s
].element
[0],e
.currentItem
||e
.element
))){for(n
=0;r
.length
>n
;n
++)if(r
[n
]===o
[s
].element
[0]){o
[s
].proportions().height
=0;continue t
}o
[s
].visible
="none"!==o
[s
].element
.css("display"),o
[s
].visible
&&("mousedown"===a
&&o
[s
]._activate
.call(o
[s
],i
),o
[s
].offset
=o
[s
].element
.offset(),o
[s
].proportions({width
:o
[s
].element
[0].offsetWidth
,height
:o
[s
].element
[0].offsetHeight
}))}},drop:function(e
,i
){var s
=!1;return t
.each((t
.ui
.ddmanager
.droppables
[e
.options
.scope
]||[]).slice(),function(){this.options
&&(!this.options
.disabled
&&this.visible
&&n(e
,this,this.options
.tolerance
,i
)&&(s
=this._drop
.call(this,i
)||s
),!this.options
.disabled
&&this.visible
&&this.accept
.call(this.element
[0],e
.currentItem
||e
.element
)&&(this.isout
=!0,this.isover
=!1,this._deactivate
.call(this,i
)))}),s
},dragStart:function(e
,i
){e
.element
.parentsUntil("body").on("scroll.droppable",function(){e
.options
.refreshPositions
||t
.ui
.ddmanager
.prepareOffsets(e
,i
)})},drag:function(e
,i
){e
.options
.refreshPositions
&&t
.ui
.ddmanager
.prepareOffsets(e
,i
),t
.each(t
.ui
.ddmanager
.droppables
[e
.options
.scope
]||[],function(){if(!this.options
.disabled
&&!this.greedyChild
&&this.visible
){var s
,o
,a
,r
=n(e
,this,this.options
.tolerance
,i
),h
=!r
&&this.isover
?"isout":r
&&!this.isover
?"isover":null;h
&&(this.options
.greedy
&&(o
=this.options
.scope
,a
=this.element
.parents(":data(ui-droppable)").filter(function(){return t(this).droppable("instance").options
.scope
===o
}),a
.length
&&(s
=t(a
[0]).droppable("instance"),s
.greedyChild
="isover"===h
)),s
&&"isover"===h
&&(s
.isover
=!1,s
.isout
=!0,s
._out
.call(s
,i
)),this[h
]=!0,this["isout"===h
?"isover":"isout"]=!1,this["isover"===h
?"_over":"_out"].call(this,i
),s
&&"isout"===h
&&(s
.isout
=!1,s
.isover
=!0,s
._over
.call(s
,i
)))}})},dragStop:function(e
,i
){e
.element
.parentsUntil("body").off("scroll.droppable"),e
.options
.refreshPositions
||t
.ui
.ddmanager
.prepareOffsets(e
,i
)}},t
.uiBackCompat
!==!1&&t
.widget("ui.droppable",t
.ui
.droppable
,{options
:{hoverClass
:!1,activeClass
:!1},_addActiveClass:function(){this._super(),this.options
.activeClass
&&this.element
.addClass(this.options
.activeClass
)},_removeActiveClass:function(){this._super(),this.options
.activeClass
&&this.element
.removeClass(this.options
.activeClass
)},_addHoverClass:function(){this._super(),this.options
.hoverClass
&&this.element
.addClass(this.options
.hoverClass
)},_removeHoverClass:function(){this._super(),this.options
.hoverClass
&&this.element
.removeClass(this.options
.hoverClass
)}}),t
.ui
.droppable
,t
.widget("ui.resizable",t
.ui
.mouse
,{version
:"1.12.0",widgetEventPrefix
:"resize",options
:{alsoResize
:!1,animate
:!1,animateDuration
:"slow",animateEasing
:"swing",aspectRatio
:!1,autoHide
:!1,classes
:{"ui-resizable-se":"ui-icon ui-icon-gripsmall-diagonal-se"},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(t
){return parseFloat(t
)||0},_isNumber:function(t
){return!isNaN(parseFloat(t
))},_hasScroll:function(e
,i
){if("hidden"===t(e
).css("overflow"))return!1;var s
=i
&&"left"===i
?"scrollLeft":"scrollTop",n
=!1;return e
[s
]>0?!0:(e
[s
]=1,n
=e
[s
]>0,e
[s
]=0,n
)},_create:function(){var e
,i
=this.options
,s
=this;this._addClass("ui-resizable"),t
.extend(this,{_aspectRatio
:!!i
.aspectRatio
,aspectRatio
:i
.aspectRatio
,originalElement
:this.element
,_proportionallyResizeElements
:[],_helper
:i
.helper
||i
.ghost
||i
.animate
?i
.helper
||"ui-resizable-helper":null}),this.element
[0].nodeName
.match(/^(canvas|textarea|input|select|button|img)$/i)&&(this.element
.wrap(t("<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,e
={marginTop
:this.originalElement
.css("marginTop"),marginRight
:this.originalElement
.css("marginRight"),marginBottom
:this.originalElement
.css("marginBottom"),marginLeft
:this.originalElement
.css("marginLeft")},this.element
.css(e
),this.originalElement
.css("margin",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(e
),this._proportionallyResize()),this._setupHandles(),i
.autoHide
&&t(this.element
).on("mouseenter",function(){i
.disabled
||(s
._removeClass("ui-resizable-autohide"),s
._handles
.show())}).on("mouseleave",function(){i
.disabled
||s
.resizing
||(s
._addClass("ui-resizable-autohide"),s
._handles
.hide())}),this._mouseInit()},_destroy:function(){this._mouseDestroy();var e
,i=function(e
){t(e
).removeData("resizable").removeData("ui-resizable").off(".resizable").find(".ui-resizable-handle").remove()};return this.elementIsWrapper
&&(i(this.element
),e
=this.element
,this.originalElement
.css({position
:e
.css("position"),width
:e
.outerWidth(),height
:e
.outerHeight(),top
:e
.css("top"),left
:e
.css("left")}).insertAfter(e
),e
.remove()),this.originalElement
.css("resize",this.originalResizeStyle
),i(this.originalElement
),this},_setOption:function(t
,e
){switch(this._super(t
,e
),t
){case"handles":this._removeHandles(),this._setupHandles();break;default:}},_setupHandles:function(){var e
,i
,s
,n
,o
,a
=this.options
,r
=this;if(this.handles
=a
.handles
||(t(".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
=t(),this.handles
.constructor===String
)for("all"===this.handles
&&(this.handles
="n,e,s,w,se,sw,ne,nw"),s
=this.handles
.split(","),this.handles
={},i
=0;s
.length
>i
;i
++)e
=t
.trim(s
[i
]),n
="ui-resizable-"+e
,o
=t("<div>"),this._addClass(o
,"ui-resizable-handle "+n
),o
.css({zIndex
:a
.zIndex
}),this.handles
[e
]=".ui-resizable-"+e
,this.element
.append(o
);this._renderAxis=function(e
){var i
,s
,n
,o
;e
=e
||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
]=t(this.handles
[i
]),this._on(this.handles
[i
],{mousedown
:r
._mouseDown
})),this.elementIsWrapper
&&this.originalElement
[0].nodeName
.match(/^(textarea
|input
|select
|button
)$/i)&&(s=t(this.handles[i],this.element),o=/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(""),e.css(n,o),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.on("mouseover",function(){r.resizing||(this.className&&(o=this.className.match(/ui-resizable
-(se
|sw
|ne
|nw
|n
|e
|s
|w
)/i)),r.axis=o&&o[1]?o[1]:"se")}),a.autoHide&&(this._handles.hide(),this._addClass("ui-resizable-autohide"))},_removeHandles:function(){this._handles.remove()},_mouseCapture:function(e){var i,s,n=!1;for(i in this.handles)s=t(this.handles[i])[0],(s===e.target||t.contains(s,e.target))&&(n=!0);return!this.options.disabled&&n},_mouseStart:function(e){var i,s,n,o=this.options,a=this.element;return this.resizing=!0,this._renderProxy(),i=this._num(this.helper.css("left")),s=this._num(this.helper.css("top")),o.containment&&(i+=t(o.containment).scrollLeft()||0,s+=t(o.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:a.width(),height:a.height()},this.originalSize=this._helper?{width:a.outerWidth(),height:a.outerHeight()}:{width:a.width(),height:a.height()},this.sizeDiff={width:a.outerWidth()-a.width(),height:a.outerHeight()-a.height()},this.originalPosition={left:i,top:s},this.originalMousePosition={left:e.pageX,top:e.pageY},this.aspectRatio="number"==typeof o.aspectRatio?o.aspectRatio:this.originalSize.width/this.originalSize
.height
||1,n
=t(".ui-resizable-"+this.axis
).css("cursor"),t("body").css("cursor","auto"===n
?this.axis
+"-resize":n
),this._addClass("ui-resizable-resizing"),this._propagate("start",e
),!0},_mouseDrag:function(e
){var i
,s
,n
=this.originalMousePosition
,o
=this.axis
,a
=e
.pageX
-n
.left
||0,r
=e
.pageY
-n
.top
||0,h
=this._change
[o
];return this._updatePrevProperties(),h
?(i
=h
.apply(this,[e
,a
,r
]),this._updateVirtualBoundaries(e
.shiftKey
),(this._aspectRatio
||e
.shiftKey
)&&(i
=this._updateRatio(i
,e
)),i
=this._respectSize(i
,e
),this._updateCache(i
),this._propagate("resize",e
),s
=this._applyChanges(),!this._helper
&&this._proportionallyResizeElements
.length
&&this._proportionallyResize(),t
.isEmptyObject(s
)||(this._updatePrevProperties(),this._trigger("resize",e
,this.ui()),this._applyChanges()),!1):!1},_mouseStop:function(e
){this.resizing
=!1;var i
,s
,n
,o
,a
,r
,h
,l
=this.options
,c
=this;return this._helper
&&(i
=this._proportionallyResizeElements
,s
=i
.length
&&/textarea/i.test(i
[0].nodeName
),n
=s
&&this._hasScroll(i
[0],"left")?0:c
.sizeDiff
.height
,o
=s
?0:c
.sizeDiff
.width
,a
={width
:c
.helper
.width()-o
,height
:c
.helper
.height()-n
},r
=parseFloat(c
.element
.css("left"))+(c
.position
.left
-c
.originalPosition
.left
)||null,h
=parseFloat(c
.element
.css("top"))+(c
.position
.top
-c
.originalPosition
.top
)||null,l
.animate
||this.element
.css(t
.extend(a
,{top
:h
,left
:r
})),c
.helper
.height(c
.size
.height
),c
.helper
.width(c
.size
.width
),this._helper
&&!l
.animate
&&this._proportionallyResize()),t("body").css("cursor","auto"),this._removeClass("ui-resizable-resizing"),this._propagate("stop",e
),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 t
={};return this.position
.top
!==this.prevPosition
.top
&&(t
.top
=this.position
.top
+"px"),this.position
.left
!==this.prevPosition
.left
&&(t
.left
=this.position
.left
+"px"),this.size
.width
!==this.prevSize
.width
&&(t
.width
=this.size
.width
+"px"),this.size
.height
!==this.prevSize
.height
&&(t
.height
=this.size
.height
+"px"),this.helper
.css(t
),t
},_updateVirtualBoundaries:function(t
){var e
,i
,s
,n
,o
,a
=this.options
;o
={minWidth
:this._isNumber(a
.minWidth
)?a
.minWidth
:0,maxWidth
:this._isNumber(a
.maxWidth
)?a
.maxWidth
:1/0,minHeight:this._isNumber(a.minHeight)?a.minHeight:0,maxHeight:this._isNumber(a.maxHeight)?a.maxHeight:1/0},(this._aspectRatio
||t
)&&(e
=o
.minHeight
*this.aspectRatio
,s
=o
.minWidth
/this.aspectRatio,i=o.maxHeight*this.aspectRatio,n=o.maxWidth/this.aspectRatio
,e
>o
.minWidth
&&(o
.minWidth
=e
),s
>o
.minHeight
&&(o
.minHeight
=s
),o
.maxWidth
>i
&&(o
.maxWidth
=i
),o
.maxHeight
>n
&&(o
.maxHeight
=n
)),this._vBoundaries
=o
},_updateCache:function(t
){this.offset
=this.helper
.offset(),this._isNumber(t
.left
)&&(this.position
.left
=t
.left
),this._isNumber(t
.top
)&&(this.position
.top
=t
.top
),this._isNumber(t
.height
)&&(this.size
.height
=t
.height
),this._isNumber(t
.width
)&&(this.size
.width
=t
.width
)},_updateRatio:function(t
){var e
=this.position
,i
=this.size
,s
=this.axis
;return this._isNumber(t
.height
)?t
.width
=t
.height
*this.aspectRatio
:this._isNumber(t
.width
)&&(t
.height
=t
.width
/this.aspectRatio),"sw"===s&&(t.left=e.left+(i.width-t.width),t.top=null),"nw"===s&&(t.top=e.top+(i.height-t.height),t.left=e.left+(i.width-t.width)),t},_respectSize:function(t){var e=this._vBoundaries,i=this.axis,s=this._isNumber(t.width)&&e.maxWidth&&e.maxWidth<t.width,n=this._isNumber(t.height)&&e.maxHeight&&e.maxHeight<t.height,o=this._isNumber(t.width)&&e.minWidth&&e.minWidth>t.width,a=this._isNumber(t.height)&&e.minHeight&&e.minHeight>t.height,r=this.originalPosition.left+this.originalSize.width,h=this.originalPosition.top+this.originalSize.height,l=/sw|nw
|w
/.test(i),c=/nw
|ne
|n
/.test(i);return o&&(t.width=e.minWidth),a&&(t.height=e.minHeight),s&&(t.width=e.maxWidth),n&&(t.height=e.maxHeight),o&&l&&(t.left=r-e.minWidth),s&&l&&(t.left=r-e.maxWidth),a&&c&&(t.top=h-e.minHeight),n&&c&&(t.top=h-e.maxHeight),t.width||t.height||t.left||!t.top?t.width||t.height||t.top||!t.left||(t.left=null):t.top=null,t},_getPaddingPlusBorderDimensions:function(t){for(var e=0,i=[],s=[t.css("borderTopWidth"),t.css("borderRightWidth"),t.css("borderBottomWidth"),t.css("borderLeftWidth")],n=[t.css("paddingTop"),t.css("paddingRight"),t.css("paddingBottom"),t.css("paddingLeft")];4>e;e++)i[e]=parseFloat(s[e])||0,i[e]+=parseFloat(n[e])||0;return{height:i[0]+i[2],width:i[1]+i[3]}},_proportionallyResize:function(){if(this._proportionallyResizeElements.length)for(var t,e=0,i=this.helper||this.element;this._proportionallyResizeElements.length>e;e++)t=this._proportionallyResizeElements[e],this.outerDimensions||(this.outerDimensions=this._getPaddingPlusBorderDimensions(t)),t.css({height:i.height()-this.outerDimensions.height||0,width:i.width()-this.outerDimensions.width||0})},_renderProxy:function(){var e=this.element,i=this.options;this.elementOffset=e.offset(),this._helper?(this.helper=this.helper||t("<div style='overflow:hidden;'></div>"),this._addClass(this.helper,this._helper),this.helper.css({width:this.element.outerWidth(),height:this.element.outerHeight(),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(t,e){return{width:this.originalSize.width+e}},w:function(t,e){var i=this.originalSize,s=this.originalPosition;return{left:s.left+e,width:i.width-e}},n:function(t,e,i){var s=this.originalSize,n=this.originalPosition;return{top:n.top+i,height:s.height-i}},s:function(t,e,i){return{height:this.originalSize.height+i}},se:function(e,i,s){return t.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[e,i,s]))},sw:function(e,i,s){return t.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[e,i,s]))},ne:function(e,i,s){return t.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[e,i,s]))},nw:function(e,i,s){return t.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[e,i,s]))}},_propagate:function(e,i){t.ui.plugin.call(this,e,[i,this.ui()]),"resize
"!==e&&this._trigger(e,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}}}),t.ui.plugin.add("resizable
","animate
",{stop:function(e){var i=t(this).resizable("instance
"),s=i.options,n=i._proportionallyResizeElements,o=n.length&&/textarea/i.test(n[0].nodeName),a=o&&i._hasScroll(n[0],"left
")?0:i.sizeDiff.height,r=o?0:i.sizeDiff.width,h={width:i.size.width-r,height:i.size.height-a},l=parseFloat(i.element.css("left
"))+(i.position.left-i.originalPosition.left)||null,c=parseFloat(i.element.css("top
"))+(i.position.top-i.originalPosition.top)||null;i.element.animate(t.extend(h,c&&l?{top:c,left:l}:{}),{duration:s.animateDuration,easing:s.animateEasing,step:function(){var s={width:parseFloat(i.element.css("width
")),height:parseFloat(i.element.css("height
")),top:parseFloat(i.element.css("top
")),left:parseFloat(i.element.css("left
"))};n&&n.length&&t(n[0]).css({width:s.width,height:s.height}),i._updateCache(s),i._propagate("resize
",e)}})}}),t.ui.plugin.add("resizable
","containment
",{start:function(){var e,i,s,n,o,a,r,h=t(this).resizable("instance
"),l=h.options,c=h.element,u=l.containment,d=u instanceof t?u.get(0):/parent/.test(u)?c.parent().get(0):u;d&&(h.containerElement=t(d),/document/.test(u)||u===document?(h.containerOffset={left:0,top:0},h.containerPosition={left:0,top:0},h.parentData={element:t(document),left:0,top:0,width:t(document).width(),height:t(document).height()||document.body.parentNode.scrollHeight}):(e=t(d),i=[],t(["Top
","Right
","Left
","Bottom
"]).each(function(t,s){i[t]=h._num(e.css("padding
"+s))}),h.containerOffset=e.offset(),h.containerPosition=e.position(),h.containerSize={height:e.innerHeight()-i[3],width:e.innerWidth()-i[1]},s=h.containerOffset,n=h.containerSize.height,o=h.containerSize.width,a=h._hasScroll(d,"left
")?d.scrollWidth:o,r=h._hasScroll(d)?d.scrollHeight:n,h.parentData={element:d,left:s.left,top:s.top,width:a,height:r}))},resize:function(e){var i,s,n,o,a=t(this).resizable("instance
"),r=a.options,h=a.containerOffset,l=a.position,c=a._aspectRatio||e.shiftKey,u={top:0,left:0},d=a.containerElement,p=!0;d[0]!==document&&/static/.test(d.css("position
"))&&(u=h),l.left<(a._helper?h.left:0)&&(a.size.width=a.size.width+(a._helper?a.position.left-h.left:a.position.left-u.left),c&&(a.size.height=a.size.width/a.aspectRatio,p=!1),a.position.left=r.helper?h.left:0),l.top<(a._helper?h.top:0)&&(a.size.height=a.size.height+(a._helper?a.position.top-h.top:a.position.top),c&&(a.size.width=a.size.height*a.aspectRatio,p=!1),a.position.top=a._helper?h.top:0),n=a.containerElement.get(0)===a.element.parent().get(0),o=/relative|absolute/.test(a.containerElement.css("position
")),n&&o?(a.offset.left=a.parentData.left+a.position.left,a.offset.top=a.parentData.top+a.position.top):(a.offset.left=a.element.offset().left,a.offset.top=a.element.offset().top),i=Math.abs(a.sizeDiff.width+(a._helper?a.offset.left-u.left:a.offset.left-h.left)),s=Math.abs(a.sizeDiff.height+(a._helper?a.offset.top-u.top:a.offset.top-h.top)),i+a.size.width>=a.parentData.width&&(a.size.width=a.parentData.width-i,c&&(a.size.height=a.size.width/a.aspectRatio,p=!1)),s+a.size.height>=a.parentData.height&&(a.size.height=a.parentData.height-s,c&&(a.size.width=a.size.height*a.aspectRatio,p=!1)),p||(a.position.left=a.prevPosition.left,a.position.top=a.prevPosition.top,a.size.width=a.prevSize.width,a.size.height=a.prevSize.height)},stop:function(){var e=t(this).resizable("instance
"),i=e.options,s=e.containerOffset,n=e.containerPosition,o=e.containerElement,a=t(e.helper),r=a.offset(),h=a.outerWidth()-e.sizeDiff.width,l=a.outerHeight()-e.sizeDiff.height;e._helper&&!i.animate&&/relative/.test(o.css("position
"))&&t(this).css({left:r.left-n.left-s.left,width:h,height:l}),e._helper&&!i.animate&&/static/.test(o.css("position
"))&&t(this).css({left:r.left-n.left-s.left,width:h,height:l})}}),t.ui.plugin.add("resizable
","alsoResize
",{start:function(){var e=t(this).resizable("instance
"),i=e.options;t(i.alsoResize).each(function(){var e=t(this);e.data("ui
-resizable
-alsoresize
",{width:parseFloat(e.width()),height:parseFloat(e.height()),left:parseFloat(e.css("left
")),top:parseFloat(e.css("top
"))})})},resize:function(e,i){var s=t(this).resizable("instance
"),n=s.options,o=s.originalSize,a=s.originalPosition,r={height:s.size.height-o.height||0,width:s.size.width-o.width||0,top:s.position.top-a.top||0,left:s.position.left-a.left||0};t(n.alsoResize).each(function(){var e=t(this),s=t(this).data("ui
-resizable
-alsoresize
"),n={},o=e.parents(i.originalElement[0]).length?["width
","height
"]:["width
","height
","top
","left
"];t.each(o,function(t,e){var i=(s[e]||0)+(r[e]||0);i&&i>=0&&(n[e]=i||null)}),e.css(n)})},stop:function(){t(this).removeData("ui
-resizable
-alsoresize
")}}),t.ui.plugin.add("resizable
","ghost
",{start:function(){var e=t(this).resizable("instance
"),i=e.size;e.ghost=e.originalElement.clone(),e.ghost.css({opacity:.25,display:"block
",position:"relative
",height:i.height,width:i.width,margin:0,left:0,top:0}),e._addClass(e.ghost,"ui
-resizable
-ghost
"),t.uiBackCompat!==!1&&"string
"==typeof e.options.ghost&&e.ghost.addClass(this.options.ghost),e.ghost.appendTo(e.helper)},resize:function(){var e=t(this).resizable("instance
");e.ghost&&e.ghost.css({position:"relative
",height:e.size.height,width:e.size.width})},stop:function(){var e=t(this).resizable("instance
");e.ghost&&e.helper&&e.helper.get(0).removeChild(e.ghost.get(0))}}),t.ui.plugin.add("resizable
","grid
",{resize:function(){var e,i=t(this).resizable("instance
"),s=i.options,n=i.size,o=i.originalSize,a=i.originalPosition,r=i.axis,h="number
"==typeof s.grid?[s.grid,s.grid]:s.grid,l=h[0]||1,c=h[1]||1,u=Math.round((n.width-o.width)/l)*l,d=Math.round((n.height-o.height)/c)*c,p=o.width+u,f=o.height+d,g=s.maxWidth&&p>s.maxWidth,m=s.maxHeight&&f>s.maxHeight,_=s.minWidth&&s.minWidth>p,v=s.minHeight&&s.minHeight>f;s.grid=h,_&&(p+=l),v&&(f+=c),g&&(p-=l),m&&(f-=c),/^(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=a.top-d):/^(sw)$/.test(r)?(i.size.width=p,i.size.height=f,i.position.left=a.left-u):((0>=f-c||0>=p-l)&&(e=i._getPaddingPlusBorderDimensions(this)),f-c>0?(i.size.height=f,i.position.top=a.top-d):(f=c-e.height,i.size.height=f,i.position.top=a.top+o.height-f),p-l>0?(i.size.width=p,i.position.left=a.left-u):(p=l-e.width,i.size.width=p,i.position.left=a.left+o.width-p))}}),t.ui.resizable,t.widget("ui
.selectable
",t.ui.mouse,{version:"1.12.0",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 e=this;this._addClass("ui
-selectable
"),this.dragged=!1,this.refresh=function(){e.elementPos=t(e.element[0]).offset(),e.selectees=t(e.options.filter,e.element[0]),e._addClass(e.selectees,"ui
-selectee
"),e.selectees.each(function(){var i=t(this),s=i.offset(),n={left:s.left-e.elementPos.left,top:s.top-e.elementPos.top};t.data(this,"selectable
-item
",{element:this,$element:i,left:n.left,top:n.top,right:n.left+i.outerWidth(),bottom:n.top+i.outerHeight(),startselected:!1,selected:i.hasClass("ui
-selected
"),selecting:i.hasClass("ui
-selecting
"),unselecting:i.hasClass("ui
-unselecting
")})})},this.refresh(),this._mouseInit(),this.helper=t("<div
>"),this._addClass(this.helper,"ui
-selectable
-helper
")},_destroy:function(){this.selectees.removeData("selectable
-item
"),this._mouseDestroy()},_mouseStart:function(e){var i=this,s=this.options;this.opos=[e.pageX,e.pageY],this.elementPos=t(this.element[0]).offset(),this.options.disabled||(this.selectees=t(s.filter,this.element[0]),this._trigger("start
",e),t(s.appendTo).append(this.helper),this.helper.css({left:e.pageX,top:e.pageY,width:0,height:0}),s.autoRefresh&&this.refresh(),this.selectees.filter(".ui
-selected
").each(function(){var s=t.data(this,"selectable
-item
");s.startselected=!0,e.metaKey||e.ctrlKey||(i._removeClass(s.$element,"ui
-selected
"),s.selected=!1,i._addClass(s.$element,"ui
-unselecting
"),s.unselecting=!0,i._trigger("unselecting
",e,{unselecting:s.element}))}),t(e.target).parents().addBack().each(function(){var s,n=t.data(this,"selectable
-item
");return n?(s=!e.metaKey&&!e.ctrlKey||!n.$element.hasClass("ui
-selected
"),i._removeClass(n.$element,s?"ui
-unselecting
":"ui
-selected
")._addClass(n.$element,s?"ui
-selecting
":"ui
-unselecting
"),n.unselecting=!s,n.selecting=s,n.selected=s,s?i._trigger("selecting
",e,{selecting:n.element}):i._trigger("unselecting
",e,{unselecting:n.element}),!1):void 0}))},_mouseDrag:function(e){if(this.dragged=!0,!this.options.disabled){var i,s=this,n=this.options,o=this.opos[0],a=this.opos[1],r=e.pageX,h=e.pageY;return o>r&&(i=r,r=o,o=i),a>h&&(i=h,h=a,a=i),this.helper.css({left:o,top:a,width:r-o,height:h-a}),this.selectees.each(function(){var i=t.data(this,"selectable
-item
"),l=!1,c={};
31 i&&i.element!==s.element[0]&&(c.left=i.left+s.elementPos.left,c.right=i.right+s.elementPos.left,c.top=i.top+s.elementPos.top,c.bottom=i.bottom+s.elementPos.top,"touch
"===n.tolerance?l=!(c.left>r||o>c.right||c.top>h||a>c.bottom):"fit
"===n.tolerance&&(l=c.left>o&&r>c.right&&c.top>a&&h>c.bottom),l?(i.selected&&(s._removeClass(i.$element,"ui
-selected
"),i.selected=!1),i.unselecting&&(s._removeClass(i.$element,"ui
-unselecting
"),i.unselecting=!1),i.selecting||(s._addClass(i.$element,"ui
-selecting
"),i.selecting=!0,s._trigger("selecting
",e,{selecting:i.element}))):(i.selecting&&((e.metaKey||e.ctrlKey)&&i.startselected?(s._removeClass(i.$element,"ui
-selecting
"),i.selecting=!1,s._addClass(i.$element,"ui
-selected
"),i.selected=!0):(s._removeClass(i.$element,"ui
-selecting
"),i.selecting=!1,i.startselected&&(s._addClass(i.$element,"ui
-unselecting
"),i.unselecting=!0),s._trigger("unselecting
",e,{unselecting:i.element}))),i.selected&&(e.metaKey||e.ctrlKey||i.startselected||(s._removeClass(i.$element,"ui
-selected
"),i.selected=!1,s._addClass(i.$element,"ui
-unselecting
"),i.unselecting=!0,s._trigger("unselecting
",e,{unselecting:i.element})))))}),!1}},_mouseStop:function(e){var i=this;return this.dragged=!1,t(".ui
-unselecting
",this.element[0]).each(function(){var s=t.data(this,"selectable
-item
");i._removeClass(s.$element,"ui
-unselecting
"),s.unselecting=!1,s.startselected=!1,i._trigger("unselected
",e,{unselected:s.element})}),t(".ui
-selecting
",this.element[0]).each(function(){var s=t.data(this,"selectable
-item
");i._removeClass(s.$element,"ui
-selecting
")._addClass(s.$element,"ui
-selected
"),s.selecting=!1,s.selected=!0,s.startselected=!0,i._trigger("selected
",e,{selected:s.element})}),this._trigger("stop
",e),this.helper.remove(),!1}}),t.widget("ui
.sortable
",t.ui.mouse,{version:"1.12.0",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(t,e,i){return t>=e&&e+i>t},_isFloating:function(t){return/left|right/.test(t.css("float"))||/inline|table-cell/.test(t.css("display
"))},_create:function(){this.containerCache={},this._addClass("ui
-sortable
"),this.refresh(),this.offset=this.element.offset(),this._mouseInit(),this._setHandleClassName(),this.ready=!0},_setOption:function(t,e){this._super(t,e),"handle
"===t&&this._setHandleClassName()},_setHandleClassName:function(){var e=this;this._removeClass(this.element.find(".ui
-sortable
-handle
"),"ui
-sortable
-handle
"),t.each(this.items,function(){e._addClass(this.instance.options.handle?this.item.find(this.instance.options.handle):this.item,"ui
-sortable
-handle
")})},_destroy:function(){this._mouseDestroy();for(var t=this.items.length-1;t>=0;t--)this.items[t].item.removeData(this.widgetName+"-item
");return this},_mouseCapture:function(e,i){var s=null,n=!1,o=this;return this.reverting?!1:this.options.disabled||"static"===this.options.type?!1:(this._refreshItems(e),t(e.target).parents().each(function(){return t.data(this,o.widgetName+"-item
")===o?(s=t(this),!1):void 0}),t.data(e.target,o.widgetName+"-item
")===o&&(s=t(e.target)),s?!this.options.handle||i||(t(this.options.handle,s).find("*").addBack().each(function(){this===e.target&&(n=!0)}),n)?(this.currentItem=s,this._removeCurrentsFromItems(),!0):!1:!1)},_mouseStart:function(e,i,s){var n,o,a=this.options;if(this.currentContainer=this,this.refreshPositions(),this.helper=this._createHelper(e),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},t.extend(this.offset,{click:{left:e.pageX-this.offset.left,top:e.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(e),this.originalPageX=e.pageX,this.originalPageY=e.pageY,a.cursorAt&&this._adjustOffsetFromHelper(a.cursorAt),this.domPosition={prev:this.currentItem.prev()[0],parent:this.currentItem.parent()[0]},this.helper[0]!==this.currentItem[0]&&this.currentItem.hide(),this._createPlaceholder(),a.containment&&this._setContainment(),a.cursor&&"auto
"!==a.cursor&&(o=this.document.find("body
"),this.storedCursor=o.css("cursor
"),o.css("cursor
",a.cursor),this.storedStylesheet=t("<style
>*{ cursor
: "+a.cursor+" !important
; }</style>").appendTo(o)),a.opacity&&(this.helper.css("opacity")&&(this._storedOpacity=this.helper.css("opacity")),this.helper.css("opacity",a.opacity)),a.zIndex&&(this.helper.css("zIndex")&&(this._storedZIndex=this.helper.css("zIndex")),this.helper.css("zIndex",a.zIndex)),this.scrollParent[0]!==this.document[0]&&"HTML"!==this.scrollParent[0].tagName&&(this.overflowOffset=this.scrollParent.offset()),this._trigger("start",e,this._uiHash()),this._preserveHelperProportions||this._cacheHelperProportions(),!s)for(n=this.containers.length-1;n>=0;n--)this.containers[n]._trigger("activate",e,this._uiHash(this));return t.ui.ddmanager&&(t.ui.ddmanager.current=this),t.ui.ddmanager&&!a.dropBehaviour&&t.ui.ddmanager.prepareOffsets(this,e),this.dragging=!0,this._addClass(this.helper,"ui-sortable-helper"),this._mouseDrag(e),!0},_mouseDrag:function(e){var i,s,n,o,a=this.options,r=!1;for(this.position=this._generatePosition(e),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-e.pageY<a.scrollSensitivity?this.scrollParent[0].scrollTop=r=this.scrollParent[0].scrollTop+a.scrollSpeed:e.pageY-this.overflowOffset.top<a.scrollSensitivity&&(this.scrollParent[0].scrollTop=r=this.scrollParent[0].scrollTop-a.scrollSpeed),this.overflowOffset.left+this.scrollParent[0].offsetWidth-e.pageX<a.scrollSensitivity?this.scrollParent[0].scrollLeft=r=this.scrollParent[0].scrollLeft+a.scrollSpeed:e.pageX-this.overflowOffset.left<a.scrollSensitivity&&(this.scrollParent[0].scrollLeft=r=this.scrollParent[0].scrollLeft-a.scrollSpeed)):(e.pageY-this.document.scrollTop()<a.scrollSensitivity?r=this.document.scrollTop(this.document.scrollTop()-a.scrollSpeed):this.window.height()-(e.pageY-this.document.scrollTop())<a.scrollSensitivity&&(r=this.document.scrollTop(this.document.scrollTop()+a.scrollSpeed)),e.pageX-this.document.scrollLeft()<a.scrollSensitivity?r=this.document.scrollLeft(this.document.scrollLeft()-a.scrollSpeed):this.window.width()-(e.pageX-this.document.scrollLeft())<a.scrollSensitivity&&(r=this.document.scrollLeft(this.document.scrollLeft()+a.scrollSpeed))),r!==!1&&t.ui.ddmanager&&!a.dropBehaviour&&t.ui.ddmanager.prepareOffsets(this,e)),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],o=this._intersectsWithPointer(s),o&&s.instance===this.currentContainer&&n!==this.currentItem[0]&&this.placeholder[1===o?"next":"prev"]()[0]!==n&&!t.contains(this.placeholder[0],n)&&("semi-dynamic"===this.options.type?!t.contains(this.element[0],n):!0)){if(this.direction=1===o?"down":"up","pointer"!==this.options.tolerance&&!this._intersectsWithSides(s))break;this._rearrange(e,s),this._trigger("change",e,this._uiHash());break}return this._contactContainers(e),t.ui.ddmanager&&t.ui.ddmanager.drag(this,e),this._trigger("sort",e,this._uiHash()),this.lastPositionAbs=this.positionAbs,!1},_mouseStop:function(e,i){if(e){if(t.ui.ddmanager&&!this.options.dropBehaviour&&t.ui.ddmanager.drop(this,e),this.options.revert){var s=this,n=this.placeholder.offset(),o=this.options.axis,a={};o&&"x"!==o||(a.left=n.left-this.offset.parent.left-this.margins.left+(this.offsetParent[0]===this.document[0].body?0:this.offsetParent[0].scrollLeft)),o&&"y"!==o||(a.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,t(this.helper).animate(a,parseInt(this.options.revert,10)||500,function(){s._clear(e)})}else this._clear(e,i);return!1}},cancel:function(){if(this.dragging){this._mouseUp({target:null}),"original"===this.options.helper?(this.currentItem.css(this._storedCSS),this._removeClass(this.currentItem,"ui-sortable-helper")):this.currentItem.show();for(var e=this.containers.length-1;e>=0;e--)this.containers[e]._trigger("deactivate",null,this._uiHash(this)),this.containers[e].containerCache.over&&(this.containers[e]._trigger("out",null,this._uiHash(this)),this.containers[e].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(),t.extend(this,{helper:null,dragging:!1,reverting:!1,_noFinalSort:null}),this.domPosition.prev?t(this.domPosition.prev).after(this.currentItem):t(this.domPosition.parent).prepend(this.currentItem)),this},serialize:function(e){var i=this._getItemsAsjQuery(e&&e.connected),s=[];return e=e||{},t(i).each(function(){var i=(t(e.item||this).attr(e.attribute||"id")||"").match(e.expression||/(.+)[\-=_
](.+)/);i&&s.push((e.key||i[1]+"[]")+"="+(e.key&&e.expression?i[1]:i[2]))}),!s.length&&e.key&&s.push(e.key+"="),s.join("&")},toArray:function(e){var i=this._getItemsAsjQuery(e&&e.connected),s=[];return e=e||{},i.each(function(){s.push(t(e.item||this).attr(e.attribute||"id")||"")}),s},_intersectsWith:function(t){var e=this.positionAbs.left,i=e+this.helperProportions.width,s=this.positionAbs.top,n=s+this.helperProportions.height,o=t.left,a=o+t.width,r=t.top,h=r+t.height,l=this.offset.click.top,c=this.offset.click.left,u="x"===this.options.axis||s+l>r&&h>s+l,d="y"===this.options.axis||e+c>o&&a>e+c,p=u&&d;return"pointer"===this.options.tolerance||this.options.forcePointerForContainers||"pointer"!==this.options.tolerance&&this.helperProportions[this.floating?"width":"height"]>t[this.floating?"width":"height"]?p:e+this.helperProportions.width/2>o
&&a
>i
-this.helperProportions
.width
/2&&s+this.helperProportions.height/2>r
&&h
>n
-this.helperProportions
.height
/2},_intersectsWithPointer:function(t){var e,i,s="x"===this.options.axis||this._isOverAxis(this.positionAbs.top+this.offset.click.top,t.top,t.height),n="y"===this.options.axis||this._isOverAxis(this.positionAbs.left+this.offset.click.left,t.left,t.width),o=s&&n;return o?(e=this._getDragVerticalDirection(),i=this._getDragHorizontalDirection(),this.floating?"right"===i||"down"===e?2:1:e&&("down"===e?2:1)):!1},_intersectsWithSides:function(t){var e=this._isOverAxis(this.positionAbs.top+this.offset.click.top,t.top+t.height/2,t
.height
),i
=this._isOverAxis(this.positionAbs
.left
+this.offset
.click
.left
,t
.left
+t
.width
/2,t.width),s=this._getDragVerticalDirection(),n=this._getDragHorizontalDirection();return this.floating&&n?"right"===n&&i||"left"===n&&!i:s&&("down"===s&&e||"up"===s&&!e)},_getDragVerticalDirection:function(){var t=this.positionAbs.top-this.lastPositionAbs.top;return 0!==t&&(t>0?"down":"up")},_getDragHorizontalDirection:function(){var t=this.positionAbs.left-this.lastPositionAbs.left;return 0!==t&&(t>0?"right":"left")},refresh:function(t){return this._refreshItems(t),this._setHandleClassName(),this.refreshPositions(),this},_connectWith:function(){var t=this.options;return t.connectWith.constructor===String?[t.connectWith]:t.connectWith},_getItemsAsjQuery:function(e){function i(){r.push(this)}var s,n,o,a,r=[],h=[],l=this._connectWith();if(l&&e)for(s=l.length-1;s>=0;s--)for(o=t(l[s],this.document[0]),n=o.length-1;n>=0;n--)a=t.data(o[n],this.widgetFullName),a&&a!==this&&!a.options.disabled&&h.push([t.isFunction(a.options.items)?a.options.items.call(a.element):t(a.options.items,a.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),a]);for(h.push([t.isFunction(this.options.items)?this.options.items.call(this.element,null,{options:this.options,item:this.currentItem}):t(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 t(r)},_removeCurrentsFromItems:function(){var e=this.currentItem.find(":data("+this.widgetName+"-item)");this.items=t.grep(this.items,function(t){for(var i=0;e.length>i;i++)if(e[i]===t.item[0])return!1;return!0})},_refreshItems:function(e){this.items=[],this.containers=[this];var i,s,n,o,a,r,h,l,c=this.items,u=[[t.isFunction(this.options.items)?this.options.items.call(this.element[0],e,{item:this.currentItem}):t(this.options.items,this.element),this]],d=this._connectWith();if(d&&this.ready)for(i=d.length-1;i>=0;i--)for(n=t(d[i],this.document[0]),s=n.length-1;s>=0;s--)o=t.data(n[s],this.widgetFullName),o&&o!==this&&!o.options.disabled&&(u.push([t.isFunction(o.options.items)?o.options.items.call(o.element[0],e,{item:this.currentItem}):t(o.options.items,o.element),o]),this.containers.push(o));for(i=u.length-1;i>=0;i--)for(a=u[i][1],r=u[i][0],s=0,l=r.length;l>s;s++)h=t(r[s]),h.data(this.widgetName+"-item",a),c.push({item:h,instance:a,width:0,height:0,left:0,top:0})},refreshPositions:function(e){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,o;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?t(this.options.toleranceElement,s.item):s.item,e||(s.width=n.outerWidth(),s.height=n.outerHeight()),o=n.offset(),s.left=o.left,s.top=o.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--)o=this.containers[i].element.offset(),this.containers[i].containerCache.left=o.left,this.containers[i].containerCache.top=o.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(e){e=e||this;var i,s=e.options;s.placeholder&&s.placeholder.constructor!==String||(i=s.placeholder,s.placeholder={element:function(){var s=e.currentItem[0].nodeName.toLowerCase(),n=t("<"+s+">",e.document[0]);return e._addClass(n,"ui-sortable-placeholder",i||e.currentItem[0].className)._removeClass(n,"ui-sortable-helper"),"tbody"===s?e._createTrPlaceholder(e.currentItem.find("tr").eq(0),t("<tr>",e.document[0]).appendTo(n)):"tr"===s?e._createTrPlaceholder(e.currentItem,n):"img"===s&&n.attr("src",e.currentItem.attr("src")),i||n.css("visibility","hidden"),n},update:function(t,n){(!i||s.forcePlaceholderSize)&&(n.height()||n.height(e.currentItem.innerHeight()-parseInt(e.currentItem.css("paddingTop")||0,10)-parseInt(e.currentItem.css("paddingBottom")||0,10)),n.width()||n.width(e.currentItem.innerWidth()-parseInt(e.currentItem.css("paddingLeft")||0,10)-parseInt(e.currentItem.css("paddingRight")||0,10)))}}),e.placeholder=t(s.placeholder.element.call(e.element,e.currentItem)),e.currentItem.after(e.placeholder),s.placeholder.update(e,e.placeholder)},_createTrPlaceholder:function(e,i){var s=this;e.children().each(function(){t("<td> </td
>",s.document[0]).attr("colspan
",t(this).attr("colspan
")||1).appendTo(i)})},_contactContainers:function(e){var i,s,n,o,a,r,h,l,c,u,d=null,p=null;for(i=this.containers.length-1;i>=0;i--)if(!t.contains(this.currentItem[0],this.containers[i].element[0]))if(this._intersectsWith(this.containers[i].containerCache)){if(d&&t.contains(this.containers[i].element[0],d.element[0]))continue;d=this.containers[i],p=i}else this.containers[i].containerCache.over&&(this.containers[i]._trigger("out
",e,this._uiHash(this)),this.containers[i].containerCache.over=0);if(d)if(1===this.containers.length)this.containers[p].containerCache.over||(this.containers[p]._trigger("over
",e,this._uiHash(this)),this.containers[p].containerCache.over=1);else{for(n=1e4,o=null,c=d.floating||this._isFloating(this.currentItem),a=c?"left
":"top
",r=c?"width
":"height
",u=c?"pageX
":"pageY
",s=this.items.length-1;s>=0;s--)t.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()[a],l=!1,e[u]-h>this.items[s][r]/2&&(l=!0),n>Math.abs(e[u]-h)&&(n=Math.abs(e[u]-h),o=this.items[s],this.direction=l?"up
":"down
"));if(!o&&!this.options.dropOnEmpty)return;if(this.currentContainer===this.containers[p])return this.currentContainer.containerCache.over||(this.containers[p]._trigger("over
",e,this._uiHash()),this.currentContainer.containerCache.over=1),void 0;o?this._rearrange(e,o,null,!0):this._rearrange(e,null,this.containers[p].element,!0),this._trigger("change
",e,this._uiHash()),this.containers[p]._trigger("change
",e,this._uiHash(this)),this.currentContainer=this.containers[p],this.options.placeholder.update(this.currentContainer,this.placeholder),this.containers[p]._trigger("over
",e,this._uiHash(this)),this.containers[p].containerCache.over=1}},_createHelper:function(e){var i=this.options,s=t.isFunction(i.helper)?t(i.helper.apply(this.element[0],[e,this.currentItem])):"clone
"===i.helper?this.currentItem.clone():this.currentItem;return s.parents("body
").length||t("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(e){"string
"==typeof e&&(e=e.split(" ")),t.isArray(e)&&(e={left:+e[0],top:+e[1]||0}),"left
"in e&&(this.offset.click.left=e.left+this.margins.left),"right
"in e&&(this.offset.click.left=this.helperProportions.width-e.right+this.margins.left),"top
"in e&&(this.offset.click.top=e.top+this.margins.top),"bottom
"in e&&(this.offset.click.top=this.helperProportions.height-e.bottom+this.margins.top)},_getParentOffset:function(){this.offsetParent=this.helper.offsetParent();var e=this.offsetParent.offset();return"absolute
"===this.cssPosition&&this.scrollParent[0]!==this.document[0]&&t.contains(this.scrollParent[0],this.offsetParent[0])&&(e.left+=this.scrollParent.scrollLeft(),e.top+=this.scrollParent.scrollTop()),(this.offsetParent[0]===this.document[0].body||this.offsetParent[0].tagName&&"html
"===this.offsetParent[0].tagName.toLowerCase()&&t.ui.ie)&&(e={top:0,left:0}),{top:e.top+(parseInt(this.offsetParent.css("borderTopWidth
"),10)||0),left:e.left+(parseInt(this.offsetParent.css("borderLeftWidth
"),10)||0)}},_getRelativeOffset:function(){if("relative
"===this.cssPosition){var t=this.currentItem.position();return{top:t.top-(parseInt(this.helper.css("top
"),10)||0)+this.scrollParent.scrollTop(),left:t.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 e,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.height()||document.body.parentNode.scrollHeight:this.window.height()||this.document[0].body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top]),/^(document|window|parent)$/.test(n.containment)||(e=t(n.containment)[0],i=t(n.containment).offset(),s="hidden
"!==t(e).css("overflow
"),this.containment=[i.left+(parseInt(t(e).css("borderLeftWidth
"),10)||0)+(parseInt(t(e).css("paddingLeft
"),10)||0)-this.margins.left,i.top+(parseInt(t(e).css("borderTopWidth
"),10)||0)+(parseInt(t(e).css("paddingTop
"),10)||0)-this.margins.top,i.left+(s?Math.max(e.scrollWidth,e.offsetWidth):e.offsetWidth)-(parseInt(t(e).css("borderLeftWidth
"),10)||0)-(parseInt(t(e).css("paddingRight
"),10)||0)-this.helperProportions.width-this.margins.left,i.top+(s?Math.max(e.scrollHeight,e.offsetHeight):e.offsetHeight)-(parseInt(t(e).css("borderTopWidth
"),10)||0)-(parseInt(t(e).css("paddingBottom
"),10)||0)-this.helperProportions.height-this.margins.top])},_convertPositionTo:function(e,i){i||(i=this.position);var s="absolute
"===e?1:-1,n="absolute
"!==this.cssPosition||this.scrollParent[0]!==this.document[0]&&t.contains(this.scrollParent[0],this.offsetParent[0])?this.scrollParent:this.offsetParent,o=/(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():o?0:n.scrollTop())*s,left:i.left+this.offset.relative.left*s+this.offset.parent.left*s-("fixed
"===this.cssPosition?-this.scrollParent.scrollLeft():o?0:n.scrollLeft())*s}},_generatePosition:function(e){var i,s,n=this.options,o=e.pageX,a=e.pageY,r="absolute
"!==this.cssPosition||this.scrollParent[0]!==this.document[0]&&t.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&&(e.pageX-this.offset.click.left<this.containment[0]&&(o=this.containment[0]+this.offset.click.left),e.pageY-this.offset.click.top<this.containment[1]&&(a=this.containment[1]+this.offset.click.top),e.pageX-this.offset.click.left>this.containment[2]&&(o=this.containment[2]+this.offset.click.left),e.pageY-this.offset.click.top>this.containment[3]&&(a=this.containment[3]+this.offset.click.top)),n.grid&&(i=this.originalPageY+Math.round((a-this.originalPageY)/n.grid[1])*n.grid[1],a=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((o-this.originalPageX)/n.grid[0])*n.grid[0],o=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:a-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+("fixed
"===this.cssPosition?-this.scrollParent.scrollTop():h?0:r.scrollTop()),left:o-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+("fixed
"===this.cssPosition?-this.scrollParent.scrollLeft():h?0:r.scrollLeft())}},_rearrange:function(t,e,i,s){i?i[0].appendChild(this.placeholder[0]):e.item[0].parentNode.insertBefore(this.placeholder[0],"down
"===this.direction?e.item[0]:e.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(t,e){function i(t,e,i){return function(s){i._trigger(t,s,e._uiHash(e))}}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),this._removeClass(this.currentItem,"ui
-sortable
-helper
")}else this.currentItem.show();for(this.fromOutside&&!e&&n.push(function(t){this._trigger("receive
",t,this._uiHash(this.fromOutside))}),!this.fromOutside&&this.domPosition.prev===this.currentItem.prev().not(".ui
-sortable
-helper
")[0]&&this.domPosition.parent===this.currentItem.parent()[0]||e||n.push(function(t){this._trigger("update
",t,this._uiHash())}),this!==this.currentContainer&&(e||(n.push(function(t){this._trigger("remove
",t,this._uiHash())}),n.push(function(t){return function(e){t._trigger("receive
",e,this._uiHash(this))}}.call(this,this.currentContainer)),n.push(function(t){return function(e){t._trigger("update
",e,this._uiHash(this))}}.call(this,this.currentContainer)))),s=this.containers.length-1;s>=0;s--)e||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,e||this._trigger("beforeStop
",t,this._uiHash()),this.placeholder[0].parentNode.removeChild(this.placeholder[0]),this.cancelHelperRemoval||(this.helper[0]!==this.currentItem[0]&&this.helper.remove(),this.helper=null),!e){for(s=0;n.length>s;s++)n[s].call(this,t);this._trigger("stop
",t,this._uiHash())}return this.fromOutside=!1,!this.cancelHelperRemoval},_trigger:function(){t.Widget.prototype._trigger.apply(this,arguments)===!1&&this.cancel()},_uiHash:function(e){var i=e||this;return{helper:i.helper,placeholder:i.placeholder||t([]),position:i.position,originalPosition:i.originalPosition,offset:i.positionAbs,item:i.currentItem,sender:e?e.element:null}}});var o="ui
-effects
-",a="ui
-effects
-style
",r="ui
-effects
-animated
",h=t;t.effects={effect:{}},function(t,e){function i(t,e,i){var s=u[e.type]||{};return null==t?i||!e.def?null:e.def:(t=s.floor?~~t:parseFloat(t),isNaN(t)?e.def:s.mod?(t+s.mod)%s.mod:0>t?0:t>s.max?s.max:t)}function s(i){var s=l(),n=s._rgba=[];return i=i.toLowerCase(),f(h,function(t,o){var a,r=o.re.exec(i),h=r&&o.parse(r),l=o.space||"rgba
";return h?(a=s[l](h),s[c[l].cache]=a[c[l].cache],n=s._rgba=a._rgba,!1):e}),n.length?("0,0,0,0"===n.join()&&t.extend(n,o.transparent),s):o[i]}function n(t,e,i){return i=(i+1)%1,1>6*i?t+6*(e-t)*i:1>2*i?e:2>3*i?t+6*(e-t)*(2/3-i):t}var o,a="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(t){return[t[1],t[2],t[3],t[4]]}},{re:/rgba?\(\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,parse:function(t){return[2.55*t[1],2.55*t[2],2.55*t[3],t[4]]}},{re:/#([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})/,parse:function(t){return[parseInt(t[1],16),parseInt(t[2],16),parseInt(t[3],16)]}},{re:/#([a-f0-9])([a-f0-9])([a-f0-9])/,parse:function(t){return[parseInt(t[1]+t[1],16),parseInt(t[2]+t[2],16),parseInt(t[3]+t[3],16)]}},{re:/hsla?\(\s*(\d+(?:\.\d+)?)\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,space:"hsla
",parse:function(t){return[t[1],t[2]/100,t[3]/100,t[4]]}}],l=t.Color=function(e,i,s,n){return new t.Color.fn.parse(e,i,s,n)},c={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
"}}}},u={"byte":{floor:!0,max:255},percent:{max:1},degrees:{mod:360,floor:!0}},d=l.support={},p=t("<p
>")[0],f=t.each;p.style.cssText="background
-color
:rgba(1,1,1,.5)",d.rgba=p.style.backgroundColor.indexOf("rgba
")>-1,f(c,function(t,e){e.cache="_
"+t,e.props.alpha={idx:3,type:"percent
",def:1}}),l.fn=t.extend(l.prototype,{parse:function(n,a,r,h){if(n===e)return this._rgba=[null,null,null,null],this;(n.jquery||n.nodeType)&&(n=t(n).css(a),a=e);var u=this,d=t.type(n),p=this._rgba=[];return a!==e&&(n=[n,a,r,h],d="array
"),"string
"===d?this.parse(s(n)||o._default):"array
"===d?(f(c.rgba.props,function(t,e){p[e.idx]=i(n[e.idx],e)}),this):"object
"===d?(n instanceof l?f(c,function(t,e){n[e.cache]&&(u[e.cache]=n[e.cache].slice())}):f(c,function(e,s){var o=s.cache;f(s.props,function(t,e){if(!u[o]&&s.to){if("alpha
"===t||null==n[t])return;u[o]=s.to(u._rgba)}u[o][e.idx]=i(n[t],e,!0)}),u[o]&&0>t.inArray(null,u[o].slice(0,3))&&(u[o][3]=1,s.from&&(u._rgba=s.from(u[o])))}),this):e},is:function(t){var i=l(t),s=!0,n=this;return f(c,function(t,o){var a,r=i[o.cache];return r&&(a=n[o.cache]||o.to&&o.to(n._rgba)||[],f(o.props,function(t,i){return null!=r[i.idx]?s=r[i.idx]===a[i.idx]:e})),s}),s},_space:function(){var t=[],e=this;return f(c,function(i,s){e[s.cache]&&t.push(i)}),t.pop()},transition:function(t,e){var s=l(t),n=s._space(),o=c[n],a=0===this.alpha()?l("transparent
"):this,r=a[o.cache]||o.to(a._rgba),h=r.slice();return s=s[o.cache],f(o.props,function(t,n){var o=n.idx,a=r[o],l=s[o],c=u[n.type]||{};null!==l&&(null===a?h[o]=l:(c.mod&&(l-a>c.mod/2?a+=c.mod:a-l>c.mod/2&&(a-=c.mod)),h[o]=i((l-a)*e+a,n)))}),this[n](h)},blend:function(e){if(1===this._rgba[3])return this;var i=this._rgba.slice(),s=i.pop(),n=l(e)._rgba;return l(t.map(i,function(t,e){return(1-s)*n[e]+s*t}))},toRgbaString:function(){var e="rgba(",i=t.map(this._rgba,function(t,e){return null==t?e>2?1:0:t});return 1===i[3]&&(i.pop(),e="rgb("),e+i.join()+")"},toHslaString:function(){var e="hsla(",i=t.map(this.hsla(),function(t,e){return null==t&&(t=e>2?1:0),e&&3>e&&(t=Math.round(100*t)+"%"),t});return 1===i[3]&&(i.pop(),e="hsl("),e+i.join()+")"},toHexString:function(e){var i=this._rgba.slice(),s=i.pop();return e&&i.push(~~(255*s)),"#"+t.map(i,function(t){return t=(t||0).toString(16),1===t.length?"0"+t:t}).join("")},toString:function(){return 0===this._rgba[3]?"transparent
":this.toRgbaString()}}),l.fn.parse.prototype=l.fn,c.hsla.to=function(t){if(null==t[0]||null==t[1]||null==t[2])return[null,null,null,t[3]];var e,i,s=t[0]/255,n=t[1]/255,o=t[2]/255,a=t[3],r=Math.max(s,n,o),h=Math.min(s,n,o),l=r-h,c=r+h,u=.5*c;return e=h===r?0:s===r?60*(n-o)/l+360:n===r?60*(o-s)/l+120:60*(s-n)/l+240,i=0===l?0:.5>=u?l/c:l/(2-c),[Math.round(e)%360,i,u,null==a?1:a]},c.hsla.from=function(t){if(null==t[0]||null==t[1]||null==t[2])return[null,null,null,t[3]];var e=t[0]/360,i=t[1],s=t[2],o=t[3],a=.5>=s?s*(1+i):s+i-s*i,r=2*s-a;return[Math.round(255*n(r,a,e+1/3)),Math.round(255*n(r,a,e)),Math.round(255*n(r,a,e-1/3)),o]},f(c,function(s,n){var o=n.props,a=n.cache,h=n.to,c=n.from;l.fn[s]=function(s){if(h&&!this[a]&&(this[a]=h(this._rgba)),s===e)return this[a].slice();var n,r=t.type(s),u="array
"===r||"object
"===r?s:arguments,d=this[a].slice();return f(o,function(t,e){var s=u["object
"===r?t:e.idx];null==s&&(s=d[e.idx]),d[e.idx]=i(s,e)}),c?(n=l(c(d)),n[a]=d,n):l(d)},f(o,function(e,i){l.fn[e]||(l.fn[e]=function(n){var o,a=t.type(n),h="alpha
"===e?this._hsla?"hsla
":"rgba
":s,l=this[h](),c=l[i.idx];return"undefined"===a?c:("function"===a&&(n=n.call(this,c),a=t.type(n)),null==n&&i.empty?this:("string
"===a&&(o=r.exec(n),o&&(n=c+parseFloat(o[2])*("+"===o[1]?1:-1))),l[i.idx]=n,this[h](l)))})})}),l.hook=function(e){var i=e.split(" ");f(i,function(e,i){t.cssHooks[i]={set:function(e,n){var o,a,r="";if("transparent
"!==n&&("string
"!==t.type(n)||(o=s(n)))){if(n=l(o||n),!d.rgba&&1!==n._rgba[3]){for(a="backgroundColor
"===i?e.parentNode:e;(""===r||"transparent
"===r)&&a&&a.style;)try{r=t.css(a,"backgroundColor
"),a=a.parentNode
32 }catch(h){}n=n.blend(r&&"transparent
"!==r?r:"_default
")}n=n.toRgbaString()}try{e.style[i]=n}catch(h){}}},t.fx.step[i]=function(e){e.colorInit||(e.start=l(e.elem,i),e.end=l(e.end),e.colorInit=!0),t.cssHooks[i].set(e.elem,e.start.transition(e.end,e.pos))}})},l.hook(a),t.cssHooks.borderColor={expand:function(t){var e={};return f(["Top
","Right
","Bottom
","Left
"],function(i,s){e["border
"+s+"Color
"]=t}),e}},o=t.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
"}}(h),function(){function e(e){var i,s,n=e.ownerDocument.defaultView?e.ownerDocument.defaultView.getComputedStyle(e,null):e.currentStyle,o={};if(n&&n.length&&n[0]&&n[n[0]])for(s=n.length;s--;)i=n[s],"string
"==typeof n[i]&&(o[t.camelCase(i)]=n[i]);else for(i in n)"string
"==typeof n[i]&&(o[i]=n[i]);return o}function i(e,i){var s,o,a={};for(s in i)o=i[s],e[s]!==o&&(n[s]||(t.fx.step[s]||!isNaN(parseFloat(o)))&&(a[s]=o));return a}var s=["add
","remove
","toggle
"],n={border:1,borderBottom:1,borderColor:1,borderLeft:1,borderRight:1,borderTop:1,borderWidth:1,margin:1,padding:1};t.each(["borderLeftStyle
","borderRightStyle
","borderBottomStyle
","borderTopStyle
"],function(e,i){t.fx.step[i]=function(t){("none
"!==t.end&&!t.setAttr||1===t.pos&&!t.setAttr)&&(h.style(t.elem,i,t.end),t.setAttr=!0)}}),t.fn.addBack||(t.fn.addBack=function(t){return this.add(null==t?this.prevObject:this.prevObject.filter(t))}),t.effects.animateClass=function(n,o,a,r){var h=t.speed(o,a,r);return this.queue(function(){var o,a=t(this),r=a.attr("class")||"",l=h.children?a.find("*").addBack():a;l=l.map(function(){var i=t(this);return{el:i,start:e(this)}}),o=function(){t.each(s,function(t,e){n[e]&&a[e+"Class
"](n[e])})},o(),l=l.map(function(){return this.end=e(this.el[0]),this.diff=i(this.start,this.end),this}),a.attr("class",r),l=l.map(function(){var e=this,i=t.Deferred(),s=t.extend({},h,{queue:!1,complete:function(){i.resolve(e)}});return this.el.animate(this.diff,s),i.promise()}),t.when.apply(t,l.get()).done(function(){o(),t.each(arguments,function(){var e=this.el;t.each(this.diff,function(t){e.css(t,"")})}),h.complete.call(a[0])})})},t.fn.extend({addClass:function(e){return function(i,s,n,o){return s?t.effects.animateClass.call(this,{add:i},s,n,o):e.apply(this,arguments)}}(t.fn.addClass),removeClass:function(e){return function(i,s,n,o){return arguments.length>1?t.effects.animateClass.call(this,{remove:i},s,n,o):e.apply(this,arguments)}}(t.fn.removeClass),toggleClass:function(e){return function(i,s,n,o,a){return"boolean"==typeof s||void 0===s?n?t.effects.animateClass.call(this,s?{add:i}:{remove:i},n,o,a):e.apply(this,arguments):t.effects.animateClass.call(this,{toggle:i},s,n,o)}}(t.fn.toggleClass),switchClass:function(e,i,s,n,o){return t.effects.animateClass.call(this,{add:i,remove:e},s,n,o)}})}(),function(){function e(e,i,s,n){return t.isPlainObject(e)&&(i=e,e=e.effect),e={effect:e},null==i&&(i={}),t.isFunction(i)&&(n=i,s=null,i={}),("number
"==typeof i||t.fx.speeds[i])&&(n=s,s=i,i={}),t.isFunction(s)&&(n=s,s=null),i&&t.extend(e,i),s=s||i.duration,e.duration=t.fx.off?0:"number
"==typeof s?s:s in t.fx.speeds?t.fx.speeds[s]:t.fx.speeds._default,e.complete=n||i.complete,e}function i(e){return!e||"number
"==typeof e||t.fx.speeds[e]?!0:"string
"!=typeof e||t.effects.effect[e]?t.isFunction(e)?!0:"object
"!=typeof e||e.effect?!1:!0:!0}function s(t,e){var i=e.outerWidth(),s=e.outerHeight(),n=/^rect\((-?\d*\.?\d*px|-?\d+%|auto),?\s*(-?\d*\.?\d*px|-?\d+%|auto),?\s*(-?\d*\.?\d*px|-?\d+%|auto),?\s*(-?\d*\.?\d*px|-?\d+%|auto)\)$/,o=n.exec(t)||["",0,i,s,0];return{top:parseFloat(o[1])||0,right:"auto
"===o[2]?i:parseFloat(o[2]),bottom:"auto
"===o[3]?s:parseFloat(o[3]),left:parseFloat(o[4])||0}}t.expr&&t.expr.filters&&t.expr.filters.animated&&(t.expr.filters.animated=function(e){return function(i){return!!t(i).data(r)||e(i)}}(t.expr.filters.animated)),t.uiBackCompat!==!1&&t.extend(t.effects,{save:function(t,e){for(var i=0,s=e.length;s>i;i++)null!==e[i]&&t.data(o+e[i],t[0].style[e[i]])},restore:function(t,e){for(var i,s=0,n=e.length;n>s;s++)null!==e[s]&&(i=t.data(o+e[s]),t.css(e[s],i))},setMode:function(t,e){return"toggle
"===e&&(e=t.is(":hidden
")?"show
":"hide
"),e},createWrapper:function(e){if(e.parent().is(".ui
-effects
-wrapper
"))return e.parent();var i={width:e.outerWidth(!0),height:e.outerHeight(!0),"float":e.css("float")},s=t("<div
></div>").addClass("ui-effects-wrapper").css({fontSize:"100%",background:"transparent",border:"none",margin:0,padding:0}),n={width:e.width(),height:e.height()},o=document.activeElement;try{o.id}catch(a){o=document.body}return e.wrap(s),(e[0]===o||t.contains(e[0],o))&&t(o).trigger("focus"),s=e.parent(),"static"===e.css("position")?(s.css({position:"relative"}),e.css({position:"relative"})):(t.extend(i,{position:e.css("position"),zIndex:e.css("z-index")}),t.each(["top","left","bottom","right"],function(t,s){i[s]=e.css(s),isNaN(parseInt(i[s],10))&&(i[s]="auto")}),e.css({position:"relative",top:0,left:0,right:"auto",bottom:"auto"})),e.css(n),s.css(i).show()},removeWrapper:function(e){var i=document.activeElement;return e.parent().is(".ui-effects-wrapper")&&(e.parent().replaceWith(e),(e[0]===i||t.contains(e[0],i))&&t(i).trigger("focus")),e}}),t.extend(t.effects,{version:"1.12.0",define:function(e,i,s){return s||(s=i,i="effect"),t.effects.effect[e]=s,t.effects.effect[e].mode=i,s},scaledDimensions:function(t,e,i){if(0===e)return{height:0,width:0,outerHeight:0,outerWidth:0};var s="horizontal"!==i?(e||100)/100:1,n
="vertical"!==i
?(e
||100)/100:1;return{height:t.height()*n,width:t.width()*s,outerHeight:t.outerHeight()*n,outerWidth:t.outerWidth()*s}},clipToBox:function(t){return{width:t.clip.right-t.clip.left,height:t.clip.bottom-t.clip.top,left:t.clip.left,top:t.clip.top}},unshift:function(t,e,i){var s=t.queue();e>1&&s.splice.apply(s,[1,0].concat(s.splice(e,i))),t.dequeue()},saveStyle:function(t){t.data(a,t[0].style.cssText)},restoreStyle:function(t){t[0].style.cssText=t.data(a)||"",t.removeData(a)},mode:function(t,e){var i=t.is(":hidden");return"toggle"===e&&(e=i?"show":"hide"),(i?"hide"===e:"show"===e)&&(e="none"),e},getBaseline:function(t,e){var i,s;switch(t[0]){case"top":i=0;break;case"middle":i=.5;break;case"bottom":i=1;break;default:i=t[0]/e
.height
}switch(t
[1]){case"left":s
=0;break;case"center":s
=.5;break;case"right":s
=1;break;default:s
=t
[1]/e.width}return{x:s,y:i}},createPlaceholder:function(e){var i,s=e.css("position"),n=e.position();return e.css({marginTop:e.css("marginTop"),marginBottom:e.css("marginBottom"),marginLeft:e.css("marginLeft"),marginRight:e.css("marginRight")}).outerWidth(e.outerWidth()).outerHeight(e.outerHeight()),/^(static|relative
)/.test(s)&&(s="absolute",i=t("<"+e[0].nodeName+">").insertAfter(e).css({display:/^(inline
|ruby
)/.test(e.css("display"))?"inline-block":"block",visibility:"hidden",marginTop:e.css("marginTop"),marginBottom:e.css("marginBottom"),marginLeft:e.css("marginLeft"),marginRight:e.css("marginRight"),"float":e.css("float")}).outerWidth(e.outerWidth()).outerHeight(e.outerHeight()).addClass("ui-effects-placeholder"),e.data(o+"placeholder",i)),e.css({position:s,left:n.left,top:n.top}),i},removePlaceholder:function(t){var e=o+"placeholder",i=t.data(e);i&&(i.remove(),t.removeData(e))},cleanUp:function(e){t.effects.restoreStyle(e),t.effects.removePlaceholder(e)},setTransition:function(e,i,s,n){return n=n||{},t.each(i,function(t,i){var o=e.cssUnit(i);o[0]>0&&(n[i]=o[0]*s+o[1])}),n}}),t.fn.extend({effect:function(){function i(e){function i(){h.removeData(r),t.effects.cleanUp(h),"hide"===s.mode&&h.hide(),a()}function a(){t.isFunction(l)&&l.call(h[0]),t.isFunction(e)&&e()}var h=t(this);s.mode=u.shift(),t.uiBackCompat===!1||o?"none"===s.mode?(h[c](),a()):n.call(h[0],s,i):(h.is(":hidden")?"hide"===c:"show"===c)?(h[c](),a()):n.call(h[0],s,a)}var s=e.apply(this,arguments),n=t.effects.effect[s.effect],o=n.mode,a=s.queue,h=a||"fx",l=s.complete,c=s.mode,u=[],d=function(e){var i=t(this),s=t.effects.mode(i,c)||o;i.data(r,!0),u.push(s),o&&("show"===s||s===o&&"hide"===s)&&i.show(),o&&"none"===s||t.effects.saveStyle(i),t.isFunction(e)&&e()};return t.fx.off||!n?c?this[c](s.duration,l):this.each(function(){l&&l.call(this)}):a===!1?this.each(d).each(i):this.queue(h,d).queue(h,i)},show:function(t){return function(s){if(i(s))return t.apply(this,arguments);var n=e.apply(this,arguments);return n.mode="show",this.effect.call(this,n)}}(t.fn.show),hide:function(t){return function(s){if(i(s))return t.apply(this,arguments);var n=e.apply(this,arguments);return n.mode="hide",this.effect.call(this,n)}}(t.fn.hide),toggle:function(t){return function(s){if(i(s)||"boolean"==typeof s)return t.apply(this,arguments);var n=e.apply(this,arguments);return n.mode="toggle",this.effect.call(this,n)}}(t.fn.toggle),cssUnit:function(e){var i=this.css(e),s=[];return t.each(["em","px","%","pt"],function(t,e){i.indexOf(e)>0&&(s=[parseFloat(i),e])}),s},cssClip:function(t){return t?this.css("clip","rect("+t.top+"px "+t.right+"px "+t.bottom+"px "+t.left+"px)"):s(this.css("clip"),this)},transfer:function(e,i){var s=t(this),n=t(e.to),o="fixed"===n.css("position"),a=t("body"),r=o?a.scrollTop():0,h=o?a.scrollLeft():0,l=n.offset(),c={top:l.top-r,left:l.left-h,height:n.innerHeight(),width:n.innerWidth()},u=s.offset(),d=t("<div class='ui-effects-transfer'></div>").appendTo("body
").addClass(e.className).css({top:u.top-r,left:u.left-h,height:s.innerHeight(),width:s.innerWidth(),position:o?"fixed
":"absolute
"}).animate(c,e.duration,e.easing,function(){d.remove(),t.isFunction(i)&&i()})}}),t.fx.step.clip=function(e){e.clipInit||(e.start=t(e.elem).cssClip(),"string
"==typeof e.end&&(e.end=s(e.end,e.elem)),e.clipInit=!0),t(e.elem).cssClip({top:e.pos*(e.end.top-e.start.top)+e.start.top,right:e.pos*(e.end.right-e.start.right)+e.start.right,bottom:e.pos*(e.end.bottom-e.start.bottom)+e.start.bottom,left:e.pos*(e.end.left-e.start.left)+e.start.left})}}(),function(){var e={};t.each(["Quad
","Cubic
","Quart
","Quint
","Expo
"],function(t,i){e[i]=function(e){return Math.pow(e,t+2)}}),t.extend(e,{Sine:function(t){return 1-Math.cos(t*Math.PI/2)},Circ:function(t){return 1-Math.sqrt(1-t*t)},Elastic:function(t){return 0===t||1===t?t:-Math.pow(2,8*(t-1))*Math.sin((80*(t-1)-7.5)*Math.PI/15)},Back:function(t){return t*t*(3*t-2)},Bounce:function(t){for(var e,i=4;((e=Math.pow(2,--i))-1)/11>t;);return 1/Math.pow(4,3-i)-7.5625*Math.pow((3*e-2)/22-t,2)}}),t.each(e,function(e,i){t.easing["easeIn
"+e]=i,t.easing["easeOut
"+e]=function(t){return 1-i(1-t)},t.easing["easeInOut
"+e]=function(t){return.5>t?i(2*t)/2:1-i(-2*t+2)/2}})}();var l=t.effects;t.effects.define("blind
","hide
",function(e,i){var s={up:["bottom
","top
"],vertical:["bottom
","top
"],down:["top
","bottom
"],left:["right
","left
"],horizontal:["right
","left
"],right:["left
","right
"]},n=t(this),o=e.direction||"up
",a=n.cssClip(),r={clip:t.extend({},a)},h=t.effects.createPlaceholder(n);r.clip[s[o][0]]=r.clip[s[o][1]],"show
"===e.mode&&(n.cssClip(r.clip),h&&h.css(t.effects.clipToBox(r)),r.clip=a),h&&h.animate(t.effects.clipToBox(r),e.duration,e.easing),n.animate(r,{queue:!1,duration:e.duration,easing:e.easing,complete:i})}),t.effects.define("bounce
",function(e,i){var s,n,o,a=t(this),r=e.mode,h="hide
"===r,l="show
"===r,c=e.direction||"up
",u=e.distance,d=e.times||5,p=2*d+(l||h?1:0),f=e.duration/p,g=e.easing,m="up
"===c||"down
"===c?"top
":"left
",_="up
"===c||"left
"===c,v=0,b=a.queue().length;for(t.effects.createPlaceholder(a),o=a.css(m),u||(u=a["top
"===m?"outerHeight
":"outerWidth
"]()/3),l&&(n={opacity:1},n[m]=o,a.css("opacity
",0).css(m,_?2*-u:2*u).animate(n,f,g)),h&&(u/=Math.pow(2,d-1)),n={},n[m]=o;d>v;v++)s={},s[m]=(_?"-=":"+=")+u,a.animate(s,f,g).animate(n,f,g),u=h?2*u:u/2;h&&(s={opacity:0},s[m]=(_?"-=":"+=")+u,a.animate(s,f,g)),a.queue(i),t.effects.unshift(a,b,p+1)}),t.effects.define("drop
","hide
",function(e,i){var s,n=t(this),o=e.mode,a="show
"===o,r=e.direction||"left
",h="up
"===r||"down
"===r?"top
":"left
",l="up
"===r||"left
"===r?"-=":"+=",c="+="===l?"-=":"+=",u={opacity:0};t.effects.createPlaceholder(n),s=e.distance||n["top
"===h?"outerHeight
":"outerWidth
"](!0)/2,u[h]=l+s,a&&(n.css(u),u[h]=c+s,u.opacity=1),n.animate(u,{queue:!1,duration:e.duration,easing:e.easing,complete:i})}),t.effects.define("fade
","toggle
",function(e,i){var s="show
"===e.mode;t(this).css("opacity
",s?0:1).animate({opacity:s?1:0},{queue:!1,duration:e.duration,easing:e.easing,complete:i})}),t.effects.define("fold
","hide
",function(e,i){var s=t(this),n=e.mode,o="show
"===n,a="hide
"===n,r=e.size||15,h=/([0-9]+)%/.exec(r),l=!!e.horizFirst,c=l?["right
","bottom
"]:["bottom
","right
"],u=e.duration/2,d=t.effects.createPlaceholder(s),p=s.cssClip(),f={clip:t.extend({},p)},g={clip:t.extend({},p)},m=[p[c[0]],p[c[1]]],_=s.queue().length;h&&(r=parseInt(h[1],10)/100*m[a?0:1]),f.clip[c[0]]=r,g.clip[c[0]]=r,g.clip[c[1]]=0,o&&(s.cssClip(g.clip),d&&d.css(t.effects.clipToBox(g)),g.clip=p),s.queue(function(i){d&&d.animate(t.effects.clipToBox(f),u,e.easing).animate(t.effects.clipToBox(g),u,e.easing),i()}).animate(f,u,e.easing).animate(g,u,e.easing).queue(i),t.effects.unshift(s,_,4)}),t.effects.define("highlight
","show
",function(e,i){var s=t(this),n={backgroundColor:s.css("backgroundColor
")};"hide
"===e.mode&&(n.opacity=0),t.effects.saveStyle(s),s.css({backgroundImage:"none
",backgroundColor:e.color||"#ffff99
"}).animate(n,{queue:!1,duration:e.duration,easing:e.easing,complete:i})}),t.effects.define("size
",function(e,i){var s,n,o,a=t(this),r=["fontSize
"],h=["borderTopWidth
","borderBottomWidth
","paddingTop
","paddingBottom
"],l=["borderLeftWidth
","borderRightWidth
","paddingLeft
","paddingRight
"],c=e.mode,u="effect
"!==c,d=e.scale||"both
",p=e.origin||["middle
","center
"],f=a.css("position
"),g=a.position(),m=t.effects.scaledDimensions(a),_=e.from||m,v=e.to||t.effects.scaledDimensions(a,0);t.effects.createPlaceholder(a),"show
"===c&&(o=_,_=v,v=o),n={from:{y:_.height/m.height,x:_.width/m.width},to:{y:v.height/m.height,x:v.width/m.width}},("box
"===d||"both
"===d)&&(n.from.y!==n.to.y&&(_=t.effects.setTransition(a,h,n.from.y,_),v=t.effects.setTransition(a,h,n.to.y,v)),n.from.x!==n.to.x&&(_=t.effects.setTransition(a,l,n.from.x,_),v=t.effects.setTransition(a,l,n.to.x,v))),("content
"===d||"both
"===d)&&n.from.y!==n.to.y&&(_=t.effects.setTransition(a,r,n.from.y,_),v=t.effects.setTransition(a,r,n.to.y,v)),p&&(s=t.effects.getBaseline(p,m),_.top=(m.outerHeight-_.outerHeight)*s.y+g.top,_.left=(m.outerWidth-_.outerWidth)*s.x+g.left,v.top=(m.outerHeight-v.outerHeight)*s.y+g.top,v.left=(m.outerWidth-v.outerWidth)*s.x+g.left),a.css(_),("content
"===d||"both
"===d)&&(h=h.concat(["marginTop
","marginBottom
"]).concat(r),l=l.concat(["marginLeft
","marginRight
"]),a.find("*[width
]").each(function(){var i=t(this),s=t.effects.scaledDimensions(i),o={height:s.height*n.from.y,width:s.width*n.from.x,outerHeight:s.outerHeight*n.from.y,outerWidth:s.outerWidth*n.from.x},a={height:s.height*n.to.y,width:s.width*n.to.x,outerHeight:s.height*n.to.y,outerWidth:s.width*n.to.x};n.from.y!==n.to.y&&(o=t.effects.setTransition(i,h,n.from.y,o),a=t.effects.setTransition(i,h,n.to.y,a)),n.from.x!==n.to.x&&(o=t.effects.setTransition(i,l,n.from.x,o),a=t.effects.setTransition(i,l,n.to.x,a)),u&&t.effects.saveStyle(i),i.css(o),i.animate(a,e.duration,e.easing,function(){u&&t.effects.restoreStyle(i)})})),a.animate(v,{queue:!1,duration:e.duration,easing:e.easing,complete:function(){var e=a.offset();0===v.opacity&&a.css("opacity
",_.opacity),u||(a.css("position
","static"===f?"relative
":f).offset(e),t.effects.saveStyle(a)),i()}})}),t.effects.define("scale
",function(e,i){var s=t(this),n=e.mode,o=parseInt(e.percent,10)||(0===parseInt(e.percent,10)?0:"effect
"!==n?0:100),a=t.extend(!0,{from:t.effects.scaledDimensions(s),to:t.effects.scaledDimensions(s,o,e.direction||"both
"),origin:e.origin||["middle
","center
"]},e);e.fade&&(a.from.opacity=1,a.to.opacity=0),t.effects.effect.size.call(this,a,i)}),t.effects.define("puff
","hide
",function(e,i){var s=t.extend(!0,{},e,{fade:!0,percent:parseInt(e.percent,10)||150});t.effects.effect.scale.call(this,s,i)}),t.effects.define("pulsate
","show
",function(e,i){var s=t(this),n=e.mode,o="show
"===n,a="hide
"===n,r=o||a,h=2*(e.times||5)+(r?1:0),l=e.duration/h,c=0,u=1,d=s.queue().length;for((o||!s.is(":visible
"))&&(s.css("opacity
",0).show(),c=1);h>u;u++)s.animate({opacity:c},l,e.easing),c=1-c;s.animate({opacity:c},l,e.easing),s.queue(i),t.effects.unshift(s,d,h+1)}),t.effects.define("shake
",function(e,i){var s=1,n=t(this),o=e.direction||"left
",a=e.distance||20,r=e.times||3,h=2*r+1,l=Math.round(e.duration/h),c="up
"===o||"down
"===o?"top
":"left
",u="up
"===o||"left
"===o,d={},p={},f={},g=n.queue().length;for(t.effects.createPlaceholder(n),d[c]=(u?"-=":"+=")+a,p[c]=(u?"+=":"-=")+2*a,f[c]=(u?"-=":"+=")+2*a,n.animate(d,l,e.easing);r>s;s++)n.animate(p,l,e.easing).animate(f,l,e.easing);n.animate(p,l,e.easing).animate(d,l/2,e.easing).queue(i),t.effects.unshift(n,g,h+1)}),t.effects.define("slide
","show
",function(e,i){var s,n,o=t(this),a={up:["bottom
","top
"],down:["top
","bottom
"],left:["right
","left
"],right:["left
","right
"]},r=e.mode,h=e.direction||"left
",l="up
"===h||"down
"===h?"top
":"left
",c="up
"===h||"left
"===h,u=e.distance||o["top
"===l?"outerHeight
":"outerWidth
"](!0),d={};t.effects.createPlaceholder(o),s=o.cssClip(),n=o.position()[l],d[l]=(c?-1:1)*u+n,d.clip=o.cssClip(),d.clip[a[h][1]]=d.clip[a[h][0]],"show
"===r&&(o.cssClip(d.clip),o.css(l,d[l]),d.clip=s,d[l]=n),o.animate(d,{queue:!1,duration:e.duration,easing:e.easing,complete:i})});var l;t.uiBackCompat!==!1&&(l=t.effects.define("transfer
",function(e,i){t(this).transfer(e,i)}))}); })(this);
34 // 3rdParty/jquery-ui/touchPunch.js
35 (function (window, undefined) {/*!
36 * jQuery UI Touch Punch 0.2.3
38 * Copyright 2011–2014, Dave Furfero
39 * Dual licensed under the MIT or GPL Version 2 licenses.
45 !function(a){function f(a,b){if(!(a.originalEvent.touches.length>1)){a.preventDefault();var c=a.originalEvent.changedTouches[0],d=document.createEvent("MouseEvents
");d.initMouseEvent(b,!0,!0,window,1,c.screenX,c.screenY,c.clientX,c.clientY,!1,!1,!1,!1,0,null),a.target.dispatchEvent(d)}}if(a.support.touch="ontouchend
"in document,a.support.touch){var e,b=a.ui.mouse.prototype,c=b._mouseInit,d=b._mouseDestroy;b._touchStart=function(a){var b=this;!e&&b._mouseCapture(a.originalEvent.changedTouches[0])&&(e=!0,b._touchMoved=!1,f(a,"mouseover
"),f(a,"mousemove
"),f(a,"mousedown
"))},b._touchMove=function(a){e&&(this._touchMoved=!0,f(a,"mousemove
"))},b._touchEnd=function(a){e&&(f(a,"mouseup
"),f(a,"mouseout
"),this._touchMoved||f(a,"click
"),e=!1)},b._mouseInit=function(){var b=this;b.element.bind({touchstart:a.proxy(b,"_touchStart
"),touchmove:a.proxy(b,"_touchMove
"),touchend:a.proxy(b,"_touchEnd
")}),c.call(b)},b._mouseDestroy=function(){var b=this;b.element.unbind({touchstart:a.proxy(b,"_touchStart
"),touchmove:a.proxy(b,"_touchMove
"),touchend:a.proxy(b,"_touchEnd
")}),d.call(b)}}}(jQuery); })(this);
47 // 3rdParty/jquery-ui/nestedSortable.js
48 (function (window, undefined) {/*
49 * jQuery UI Nested Sortable
50 * v 1.3.5 / 21 jun 2012
51 * http://mjsarfatti.com/code/nestedSortable
54 * jquery.ui.sortable.js 1.8+
56 * Copyright (c) 2010-2012 Manuele J Sarfatti
57 * Licensed under the MIT License
58 * http://www.opensource.org/licenses/mit-license.php
60 (function(a){a.widget("mjs
.nestedSortable
",a.extend({},a.ui.sortable.prototype,{options:{tabSize:20,disableNesting:"mjs
-nestedSortable
-no
-nesting
",errorClass:"mjs
-nestedSortable
-error
",doNotClear:false,listType:"ol
",maxLevels:0,protectRoot:false,rootID:null,rtl:false,isAllowed:function(c,b){return true}},_create:function(){this.element.data("sortable
",this.element.data("nestedSortable
"));if(!this.element.is(this.options.listType)){throw new Error("nestedSortable
: Please check the listType option is
set to your actual list type
")}return a.ui.sortable.prototype._create.apply(this,arguments)},destroy:function(){this.element.removeData("nestedSortable
").unbind(".nestedSortable
");return a.ui.sortable.prototype.destroy.apply(this,arguments)},_mouseDrag:function(e){this.position=this._generatePosition(e);this.positionAbs=this._convertPositionTo("absolute
");if(!this.lastPositionAbs){this.lastPositionAbs=this.positionAbs}var j=this.options;if(this.options.scroll){var f=false;if(this.scrollParent[0]!=document&&this.scrollParent[0].tagName!="HTML
"){if((this.overflowOffset.top+this.scrollParent[0].offsetHeight)-e.pageY<j.scrollSensitivity){this.scrollParent[0].scrollTop=f=this.scrollParent[0].scrollTop+j.scrollSpeed}else{if(e.pageY-this.overflowOffset.top<j.scrollSensitivity){this.scrollParent[0].scrollTop=f=this.scrollParent[0].scrollTop-j.scrollSpeed}}if((this.overflowOffset.left+this.scrollParent[0].offsetWidth)-e.pageX<j.scrollSensitivity){this.scrollParent[0].scrollLeft=f=this.scrollParent[0].scrollLeft+j.scrollSpeed}else{if(e.pageX-this.overflowOffset.left<j.scrollSensitivity){this.scrollParent[0].scrollLeft=f=this.scrollParent[0].scrollLeft-j.scrollSpeed}}}else{if(e.pageY-a(document).scrollTop()<j.scrollSensitivity){f=a(document).scrollTop(a(document).scrollTop()-j.scrollSpeed)}else{if(a(window).height()-(e.pageY-a(document).scrollTop())<j.scrollSensitivity){f=a(document).scrollTop(a(document).scrollTop()+j.scrollSpeed)}}if(e.pageX-a(document).scrollLeft()<j.scrollSensitivity){f=a(document).scrollLeft(a(document).scrollLeft()-j.scrollSpeed)}else{if(a(window).width()-(e.pageX-a(document).scrollLeft())<j.scrollSensitivity){f=a(document).scrollLeft(a(document).scrollLeft()+j.scrollSpeed)}}}if(f!==false&&a.ui.ddmanager&&!j.dropBehaviour){a.ui.ddmanager.prepareOffsets(this,e)}}this.positionAbs=this._convertPositionTo("absolute
");var p=this.placeholder.offset().top;if(!this.options.axis||this.options.axis!="y
"){this.helper[0].style.left=this.position.left+"px
"}if(!this.options.axis||this.options.axis!="x
"){this.helper[0].style.top=this.position.top+"px
"}for(var n=this.items.length-1;n>=0;n--){var q=this.items[n],k=q.item[0],d=this._intersectsWithPointer(q);if(!d){continue}if(k!=this.currentItem[0]&&this.placeholder[d==1?"next
":"prev
"]()[0]!=k&&!a.contains(this.placeholder[0],k)&&(this.options.type=="semi
-dynamic
"?!a.contains(this.element[0],k):true)){a(k).mouseenter();this.direction=d==1?"down
":"up
";if(this.options.tolerance=="pointer
"||this._intersectsWithSides(q)){a(k).mouseleave();this._rearrange(e,q)}else{break}this._clearEmpty(k);this._trigger("change
",e,this._uiHash());break}}var h=(this.placeholder[0].parentNode.parentNode&&a(this.placeholder[0].parentNode.parentNode).closest(".ui
-sortable
").length)?a(this.placeholder[0].parentNode.parentNode):null,c=this._getLevel(this.placeholder),l=this._getChildLevels(this.helper);var m=this.placeholder[0].previousSibling?a(this.placeholder[0].previousSibling):null;if(m!=null){while(m[0].nodeName.toLowerCase()!="li
"||m[0]==this.currentItem[0]||m[0]==this.helper[0]){if(m[0].previousSibling){m=a(m[0].previousSibling)}else{m=null;break}}}var b=this.placeholder[0].nextSibling?a(this.placeholder[0].nextSibling):null;if(b!=null){while(b[0].nodeName.toLowerCase()!="li
"||b[0]==this.currentItem[0]||b[0]==this.helper[0]){if(b[0].nextSibling){b=a(b[0].nextSibling)}else{b=null;break}}}var g=document.createElement(j.listType);this.beyondMaxLevels=0;if(h!=null&&b==null&&(j.rtl&&(this.positionAbs.left+this.helper.outerWidth()>h.offset().left+h.outerWidth())||!j.rtl&&(this.positionAbs.left<h.offset().left))){h.after(this.placeholder[0]);this._clearEmpty(h[0]);this._trigger("change
",e,this._uiHash())}else{if(m!=null&&(j.rtl&&(this.positionAbs.left+this.helper.outerWidth()<m.offset().left+m.outerWidth()-j.tabSize)||!j.rtl&&(this.positionAbs.left>m.offset().left+j.tabSize))){this._isAllowed(m,c,c+l+1);if(!m.children(j.listType).length){m[0].appendChild(g)}if(p&&(p<=m.offset().top)){m.children(j.listType).prepend(this.placeholder)}else{m.children(j.listType)[0].appendChild(this.placeholder[0])}this._trigger("change
",e,this._uiHash())}else{this._isAllowed(h,c,c+l)}}this._contactContainers(e);if(a.ui.ddmanager){a.ui.ddmanager.drag(this,e)}this._trigger("sort
",e,this._uiHash());this.lastPositionAbs=this.positionAbs;return false},_mouseStop:function(d,e){if(this.beyondMaxLevels){this.placeholder.removeClass(this.options.errorClass);if(this.domPosition.prev){a(this.domPosition.prev).after(this.placeholder)}else{a(this.domPosition.parent).prepend(this.placeholder)}this._trigger("revert
",d,this._uiHash())}for(var b=this.items.length-1;b>=0;b--){var c=this.items[b].item[0];this._clearEmpty(c)}a.ui.sortable.prototype._mouseStop.apply(this,arguments)},serialize:function(c){var e=a.extend({},this.options,c),b=this._getItemsAsjQuery(e&&e.connected),d=[];a(b).each(function(){var g=(a(e.item||this).attr(e.attribute||"id
")||"").match(e.expression||(/(.+)[-=_](.+)/)),f=(a(e.item||this).parent(e.listType).parent(e.items).attr(e.attribute||"id
")||"").match(e.expression||(/(.+)[-=_](.+)/));if(g){d.push(((e.key||g[1])+"["+(e.key&&e.expression?g[1]:g[2])+"]")+"="+(f?(e.key&&e.expression?f[1]:f[2]):e.rootID))}});if(!d.length&&e.key){d.push(e.key+"=")}return d.join("&")},toHierarchy:function(e){var f=a.extend({},this.options,e),c=f.startDepthCount||0,d=[];a(this.element).children(f.items).each(function(){var g=b(this);d.push(g)});return d;function b(h){var i=(a(h).attr(f.attribute||"id
")||"").match(f.expression||(/(.+)[-=_](.+)/));if(i){var g={id:i[2]};if(a(h).children(f.listType).children(f.items).length>0){g.children=[];a(h).children(f.listType).children(f.items).each(function(){var j=b(this);g.children.push(j)})}return g}}},toArray:function(d){var g=a.extend({},this.options,d),b=g.startDepthCount||0,c=[],e=2;c.push({item_id:g.rootID,parent_id:"none
",depth:b,left:"1",right:(a(g.items,this.element).length+1)*2});a(this.element).children(g.items).each(function(){e=f(this,b+1,e)});c=c.sort(function(i,h){return(i.left-h.left)});return c;function f(k,m,l){var j=l+1,n,i;if(a(k).children(g.listType).children(g.items).length>0){m++;a(k).children(g.listType).children(g.items).each(function(){j=f(a(this),m,j)});m--}n=(a(k).attr(g.attribute||"id
")).match(g.expression||(/(.+)[-=_](.+)/));if(m===b+1){i=g.rootID}else{var h=(a(k).parent(g.listType).parent(g.items).attr(g.attribute||"id
")).match(g.expression||(/(.+)[-=_](.+)/));i=h[2]}if(n){c.push({item_id:n[2],parent_id:i,depth:m,left:l,right:j})}l=j+1;return l}},_clearEmpty:function(b){var c=a(b).children(this.options.listType);if(c.length&&!c.children().length&&!this.options.doNotClear){c.remove()}},_getLevel:function(b){var d=1;if(this.options.listType){var c=b.closest(this.options.listType);while(c&&c.length>0&&!c.is(".ui
-sortable
")){d++;c=c.parent().closest(this.options.listType)}}return d},_getChildLevels:function(d,f){var c=this,e=this.options,b=0;f=f||0;a(d).children(e.listType).children(e.items).each(function(g,h){b=Math.max(c._getChildLevels(h,f+1),b)});return f?b+1:b},_isAllowed:function(b,g,e){var f=this.options,d=a(this.domPosition.parent).hasClass("ui
-sortable
")?true:false,c=this.placeholder.closest(".ui
-sortable
").nestedSortable("option
","maxLevels
");if(!f.isAllowed(this.currentItem,b)||b&&b.hasClass(f.disableNesting)||f.protectRoot&&(b==null&&!d||d&&g>1)){this.placeholder.addClass(f.errorClass);if(c<e&&c!=0){this.beyondMaxLevels=e-c}else{this.beyondMaxLevels=1}}else{if(c<e&&c!=0){this.placeholder.addClass(f.errorClass);this.beyondMaxLevels=e-c}else{this.placeholder.removeClass(f.errorClass);this.beyondMaxLevels=0}}}}));a.mjs.nestedSortable.prototype.options=a.extend({},a.ui.sortable.prototype.options,a.mjs.nestedSortable.prototype.options)})(jQuery);
64 (function (window, undefined) {!function(){var e=!1,t=/xyz/.test(function(){xyz})?/\b_super\b/:/.*/;this.Class=function(){},Class.extend=function(n){function r(){!e&&this.init&&this.init.apply(this,arguments)}var i=this.prototype;e=!0;var o=new this;e=!1;for(var a in n)o[a]="function"==typeof n[a]&&"function"==typeof i[a]&&t.test(n[a])?function(e,t){return function(){var n=this._super;this._super=i[e];var r=t.apply(this,arguments);return this._super=n,r}}(a,n[a]):n[a];return r.prototype=o,r.prototype.constructor=r,r.extend=arguments.callee,r}}(),function(e,t){"use strict
";function n(){}function r(e,t){if(e){"object
"==typeof e&&(e=[].slice.call(e));for(var n=0,r=e.length;r>n;n++)t.call(e,e[n],n)}}function i(e,n){var r=Object.prototype.toString.call(n).slice(8,-1);return n!==t&&null!==n&&r===e}function o(e){return i("Function
",e)}function a(e){return i("Array
",e)}function l(e){var t=e.split("/"),n=t[t.length-1],r=n.indexOf("?");return-1!==r?n.substring(0,r):n}function u(e){e=e||n,e._done||(e(),e._done=1)}function s(e,t,r,i){var o="object"==typeof e?e:{test:e,success:t?a(t)?t:[t]:!1,failure:r?a(r)?r:[r]:!1,callback:i||n},l=!!o.test;return l&&o.success?(o.success.push(o.callback),N.load.apply(null,o.success)):l||!o.failure?i():(o.failure.push(o.callback),N.load.apply(null,o.failure)),N}function c(e){var t,n,r={};if("object"==typeof e)for(t in e)!e[t]||(r={name:t,url:e[t]});else r={name:l(e),url:e};return n=S[r.name],n&&n.url===r.url?n:(S[r.name]=r,r)}function d(e){e=e||S;for(var t in e)if(e.hasOwnProperty(t)&&e[t].state!==F)return!1;return!0}function p(e){e.state=P,r(e.onpreload,function(e){e.call()})}function f(e){e.state===t&&(e.state=I,e.onpreload=[],b({url:e.url,type:"cache"},function(){p(e)}))}function h(){var e=arguments,t=e[e.length-1],n=[].slice.call(e,1),i=n[0];return o(t)||(t=null),a(e[0])?(e[0].push(t),N.load.apply(null,e[0]),N):(i?(r(n,function(e){o(e)||!e||f(c(e))}),m(c(e[0]),o(i)?i:function(){N.load.apply(null,n)})):m(c(e[0])),N)}function g(){var e=arguments,t=e[e.length-1],n={};return o(t)||(t=null),a(e[0])?(e[0].push(t),N.load.apply(null,e[0]),N):(r(e,function(e){e!==t&&(e=c(e),n[e.name]=e)}),r(e,function(e){e!==t&&(e=c(e),m(e,function(){d(n)&&u(t)}))}),N)}function m(e,t){return t=t||n,e.state===F?void t():e.state===D?void N.ready(e.name,t):e.state===I?void e.onpreload.push(function(){m(e,t)}):(e.state=D,void b(e,function(){e.state=F,t(),r(k[e.name],function(e){u(e)}),O&&d()&&r(k.ALL,function(e){u(e)})}))}function v(e){e=e||"";var t=e.split("?")[0].split(".");return t[t.length-1].toLowerCase()}function b(t,r){function i(t){t=t||e.event,l.onload=l.onreadystatechange=l.onerror=null,r()}function o(n){n=n||e.event,("load"===n.type||/loaded|complete
/.test(l.readyState)&&(!x.documentMode||x.documentMode<9))&&(e.clearTimeout(t.errorTimeout),e.clearTimeout(t.cssTimeout),l.onload=l.onreadystatechange=l.onerror=null,r())}function a(){if(t.state!==F&&t.cssRetries<=20){for(var n=0,r=x.styleSheets.length;r>n;n++)if(x.styleSheets[n].href===l.href)return void o({type:"load"});t.cssRetries++,t.cssTimeout=e.setTimeout(a,250)}}var l,u,s;r=r||n,u=v(t.url),"css"===u?(l=x.createElement("link"),l.type="text/"+(t.type||"css
"),l.rel="stylesheet
",l.href=t.url,t.cssRetries=0,t.cssTimeout=e.setTimeout(a,500)):(l=x.createElement("script
"),l.type="text
/"+(t.type||"javascript"),l.src=t.url),l.onload=l.onreadystatechange=o,l.onerror=i,l.async=!1,l.defer=!1,t.errorTimeout=e.setTimeout(function(){i({type:"timeout"})},7e3),s=x.head||x.getElementsByTagName("head")[0],s.insertBefore(l,s.lastChild)}function w(){for(var e,t=x.getElementsByTagName("script"),n=0,r=t.length;r>n;n++)if(e=t[n].getAttribute("data-headjs-load"),!!e)return void N.load(e)}function y(e,t){var n,i,l;return e===x?(O?u(t):L.push(t),N):(o(e)&&(t=e,e="ALL"),a(e)?(n={},r(e,function(e){n[e]=S[e],N.ready(e,function(){d(n)&&u(t)})}),N):"string"==typeof e&&o(t)?(i=S[e],i&&i.state===F||"ALL"===e&&d()&&O?(u(t),N):(l=k[e],l?l.push(t):l=k[e]=[t],N)):N)}function T(){return x.body?void(O||(O=!0,w(),r(L,function(e){u(e)}))):(e.clearTimeout(N.readyTimeout),void(N.readyTimeout=e.setTimeout(T,50)))}function E(){x.addEventListener?(x.removeEventListener("DOMContentLoaded",E,!1),T()):"complete"===x.readyState&&(x.detachEvent("onreadystatechange",E),T())}var O,A,x=e.document,L=[],k={},S={},C="async"in x.createElement("script")||"MozAppearance"in x.documentElement.style||e.opera,M=e.head_conf&&e.head_conf.head||"head",N=e[M]=e[M]||function(){N.ready.apply(null,arguments)},I=1,P=2,D=3,F=4;if("complete"===x.readyState)T();else if(x.addEventListener)x.addEventListener("DOMContentLoaded",E,!1),e.addEventListener("load",T,!1);else{x.attachEvent("onreadystatechange",E),e.attachEvent("onload",T),A=!1;try{A=!e.frameElement&&x.documentElement}catch(e){}A&&A.doScroll&&function t(){if(!O){try{A.doScroll("left")}catch(n){return e.clearTimeout(N.readyTimeout),void(N.readyTimeout=e.setTimeout(t,50))}T()}}()}N.load=N.js=C?g:h,N.test=s,N.ready=y,N.ready(x,function(){d()&&r(k.ALL,function(e){u(e)}),N.feature&&N.feature("domloaded",!0)})}(window),function(e){"function"==typeof define&&define.amd&&define.amd.jQuery?define(["jquery"],e):e(jQuery)}(function(e){function t(t){return!t||void 0!==t.allowPageScroll||void 0===t.swipe&&void 0===t.swipeStatus||(t.allowPageScroll=s),void 0!==t.click&&void 0===t.tap&&(t.tap=t.click),t||(t={}),t=e.extend({},e.fn.swipe.defaults,t),this.each(function(){var r=e(this),i=r.data(k);i||(i=new n(this,t),r.data(k,i))})}function n(t,n){function S(t){if(!(se()||e(t.target).closest(n.excludedElements,Xe).length>0)){var r,i=t.originalEvent?t.originalEvent:t,o=A?i.touches[0]:i;return Qe=y,A?Ye=i.touches.length:t.preventDefault(),Fe=0,ze=null,Ue=null,Re=0,_e=0,je=0,Ve=1,qe=0,Be=he(),He=ve(),le(),!A||Ye===n.fingers||n.fingers===b||H()?(de(0,o),We=Le(),2==Ye&&(de(1,i.touches[1]),_e=je=ye(Be[0].start,Be[1].start)),(n.swipeStatus||n.pinchStatus)&&(r=F(i,Qe))):r=!1,r===!1?(Qe=O,F(i,Qe),r):(n.hold&&(et=setTimeout(e.proxy(function(){Xe.trigger("hold",[i.target]),n.hold&&(r=n.hold.call(Xe,i,i.target))},this),n.longTapThreshold)),ce(!0),null)}}function C(e){var t=e.originalEvent?e.originalEvent:e;if(Qe!==E&&Qe!==O&&!ue()){var r,i=A?t.touches[0]:t,o=pe(i);if(Ze=Le(),A&&(Ye=t.touches.length),n.hold&&clearTimeout(et),Qe=T,2==Ye&&(0==_e?(de(1,t.touches[1]),_e=je=ye(Be[0].start,Be[1].start)):(pe(t.touches[1]),je=ye(Be[0].end,Be[1].end),Ue=Ee(Be[0].end,Be[1].end)),Ve=Te(_e,je),qe=Math.abs(_e-je)),Ye===n.fingers||n.fingers===b||!A||H()){if(ze=xe(o.start,o.end),q(e,ze),Fe=Oe(o.start,o.end),Re=we(),ge(ze,Fe),(n.swipeStatus||n.pinchStatus)&&(r=F(t,Qe)),!n.triggerOnTouchEnd||n.triggerOnTouchLeave){var a=!0;if(n.triggerOnTouchLeave){var l=ke(this);a=Se(o.end,l)}!n.triggerOnTouchEnd&&a?Qe=D(T):n.triggerOnTouchLeave&&!a&&(Qe=D(E)),(Qe==O||Qe==E)&&F(t,Qe)}}else Qe=O,F(t,Qe);r===!1&&(Qe=O,F(t,Qe))}}function M(e){var t=e.originalEvent;return A&&t.touches.length>0?(ae(),!0):(ue()&&(Ye=Ke),Ze=Le(),Re=we(),_()||!R()?(Qe=O,F(t,Qe)):n.triggerOnTouchEnd||0==n.triggerOnTouchEnd&&Qe===T?(e.preventDefault(),Qe=E,F(t,Qe)):!n.triggerOnTouchEnd&&G()?(Qe=E,z(t,Qe,f)):Qe===T&&(Qe=O,F(t,Qe)),ce(!1),null)}function N(){Ye=0,Ze=0,We=0,_e=0,je=0,Ve=1,le(),ce(!1)}function I(e){var t=e.originalEvent;n.triggerOnTouchLeave&&(Qe=D(E),F(t,Qe))}function P(){Xe.unbind(Me,S),Xe.unbind(De,N),Xe.unbind(Ne,C),Xe.unbind(Ie,M),Pe&&Xe.unbind(Pe,I),ce(!1)}function D(e){var t=e,r=V(),i=R(),o=_();return!r||o?t=O:!i||e!=T||n.triggerOnTouchEnd&&!n.triggerOnTouchLeave?!i&&e==E&&n.triggerOnTouchLeave&&(t=O):t=E,t}function F(e,t){var n=void 0;return B()||Y()?n=z(e,t,d):(X()||H())&&n!==!1&&(n=z(e,t,p)),ie()&&n!==!1?n=z(e,t,h):oe()&&n!==!1?n=z(e,t,g):re()&&n!==!1&&(n=z(e,t,f)),t===O&&N(e),t===E&&(A?0==e.touches.length&&N(e):N(e)),n}function z(t,s,c){var m=void 0;if(c==d){if(Xe.trigger("swipeStatus",[s,ze||null,Fe||0,Re||0,Ye,Be]),n.swipeStatus&&(m=n.swipeStatus.call(Xe,t,s,ze||null,Fe||0,Re||0,Ye,Be),m===!1))return!1;if(s==E&&Q()){if(Xe.trigger("swipe",[ze,Fe,Re,Ye,Be]),n.swipe&&(m=n.swipe.call(Xe,t,ze,Fe,Re,Ye,Be),m===!1))return!1;switch(ze){case r:Xe.trigger("swipeLeft",[ze,Fe,Re,Ye,Be]),n.swipeLeft&&(m=n.swipeLeft.call(Xe,t,ze,Fe,Re,Ye,Be));break;case i:Xe.trigger("swipeRight",[ze,Fe,Re,Ye,Be]),n.swipeRight&&(m=n.swipeRight.call(Xe,t,ze,Fe,Re,Ye,Be));break;case o:Xe.trigger("swipeUp",[ze,Fe,Re,Ye,Be]),n.swipeUp&&(m=n.swipeUp.call(Xe,t,ze,Fe,Re,Ye,Be));break;case a:Xe.trigger("swipeDown",[ze,Fe,Re,Ye,Be]),n.swipeDown&&(m=n.swipeDown.call(Xe,t,ze,Fe,Re,Ye,Be))}}}if(c==p){if(Xe.trigger("pinchStatus",[s,Ue||null,qe||0,Re||0,Ye,Ve,Be]),n.pinchStatus&&(m=n.pinchStatus.call(Xe,t,s,Ue||null,qe||0,Re||0,Ye,Ve,Be),m===!1))return!1;if(s==E&&U())switch(Ue){case l:Xe.trigger("pinchIn",[Ue||null,qe||0,Re||0,Ye,Ve,Be]),n.pinchIn&&(m=n.pinchIn.call(Xe,t,Ue||null,qe||0,Re||0,Ye,Ve,Be));break;case u:Xe.trigger("pinchOut",[Ue||null,qe||0,Re||0,Ye,Ve,Be]),n.pinchOut&&(m=n.pinchOut.call(Xe,t,Ue||null,qe||0,Re||0,Ye,Ve,Be))}}return c==f?(s===O||s===E)&&(clearTimeout(Je),clearTimeout(et),K()&&!ee()?($e=Le(),Je=setTimeout(e.proxy(function(){$e=null,Xe.trigger("tap",[t.target]),n.tap&&(m=n.tap.call(Xe,t,t.target))},this),n.doubleTapThreshold)):($e=null,Xe.trigger("tap",[t.target]),n.tap&&(m=n.tap.call(Xe,t,t.target)))):c==h?(s===O||s===E)&&(clearTimeout(Je),$e=null,Xe.trigger("doubletap",[t.target]),n.doubleTap&&(m=n.doubleTap.call(Xe,t,t.target))):c==g&&(s===O||s===E)&&(clearTimeout(Je),$e=null,Xe.trigger("longtap",[t.target]),n.longTap&&(m=n.longTap.call(Xe,t,t.target))),m}function R(){var e=!0;return null!==n.threshold&&(e=Fe>=n.threshold),e}function _(){var e=!1;return null!==n.cancelThreshold&&null!==ze&&(e=me(ze)-Fe>=n.cancelThreshold),e}function j(){return null!==n.pinchThreshold?qe>=n.pinchThreshold:!0}function V(){var e;return e=n.maxTimeThreshold&&Re>=n.maxTimeThreshold?!1:!0}function q(e,t){if(n.allowPageScroll===s||H())e.preventDefault();else{var l=n.allowPageScroll===c;switch(t){case r:(n.swipeLeft&&l||!l&&n.allowPageScroll!=m)&&e.preventDefault();break;case i:(n.swipeRight&&l||!l&&n.allowPageScroll!=m)&&e.preventDefault();break;case o:(n.swipeUp&&l||!l&&n.allowPageScroll!=v)&&e.preventDefault();break;case a:(n.swipeDown&&l||!l&&n.allowPageScroll!=v)&&e.preventDefault()}}}function U(){var e=W(),t=Z(),n=j();return e&&t&&n}function H(){return!!(n.pinchStatus||n.pinchIn||n.pinchOut)}function X(){return!(!U()||!H())}function Q(){var e=V(),t=R(),n=W(),r=Z(),i=_(),o=!i&&r&&n&&t&&e;return o}function Y(){return!!(n.swipe||n.swipeStatus||n.swipeLeft||n.swipeRight||n.swipeUp||n.swipeDown)}function B(){return!(!Q()||!Y())}function W(){return Ye===n.fingers||n.fingers===b||!A}function Z(){return 0!==Be[0].end.x}function G(){return!!n.tap}function K(){return!!n.doubleTap}function $(){return!!n.longTap}function J(){if(null==$e)return!1;var e=Le();return K()&&e-$e<=n.doubleTapThreshold}function ee(){return J()}function te(){return(1===Ye||!A)&&(isNaN(Fe)||Fe<n.threshold)}function ne(){return Re>n.longTapThreshold&&w>Fe}function re(){return!(!te()||!G())}function ie(){return!(!J()||!K())}function oe(){return!(!ne()||!$())}function ae(){Ge=Le(),Ke=event.touches.length+1}function le(){Ge=0,Ke=0}function ue(){var e=!1;if(Ge){var t=Le()-Ge;t<=n.fingerReleaseThreshold&&(e=!0)}return e}function se(){return!(Xe.data(k+"_intouch")!==!0)}function ce(e){e===!0?(Xe.bind(Ne,C),Xe.bind(Ie,M),Pe&&Xe.bind(Pe,I)):(Xe.unbind(Ne,C,!1),Xe.unbind(Ie,M,!1),Pe&&Xe.unbind(Pe,I,!1)),Xe.data(k+"_intouch",e===!0)}function de(e,t){var n=void 0!==t.identifier?t.identifier:0;return Be[e].identifier=n,Be[e].start.x=Be[e].end.x=t.pageX||t.clientX,Be[e].start.y=Be[e].end.y=t.pageY||t.clientY,Be[e]}function pe(e){var t=void 0!==e.identifier?e.identifier:0,n=fe(t);return n.end.x=e.pageX||e.clientX,n.end.y=e.pageY||e.clientY,n}function fe(e){for(var t=0;t<Be.length;t++)if(Be[t].identifier==e)return Be[t]}function he(){for(var e=[],t=0;5>=t;t++)e.push({start:{x:0,y:0},end:{x:0,y:0},identifier:0});return e}function ge(e,t){t=Math.max(t,me(e)),He[e].distance=t}function me(e){return He[e]?He[e].distance:void 0}function ve(){var e={};return e[r]=be(r),e[i]=be(i),e[o]=be(o),e[a]=be(a),e}function be(e){return{direction:e,distance:0}}function we(){return Ze-We}function ye(e,t){var n=Math.abs(e.x-t.x),r=Math.abs(e.y-t.y);return Math.round(Math.sqrt(n*n+r*r))}function Te(e,t){var n=t/e
*1;return n
.toFixed(2)}function Ee(){return 1>Ve
?u
:l
}function Oe(e
,t
){return Math
.round(Math
.sqrt(Math
.pow(t
.x
-e
.x
,2)+Math
.pow(t
.y
-e
.y
,2)))}function Ae(e
,t
){var n
=e
.x
-t
.x
,r
=t
.y
-e
.y
,i
=Math
.atan2(r
,n
),o
=Math
.round(180*i
/Math.PI);return 0>o&&(o=360-Math.abs(o)),o}function xe(e,t){var n=Ae(e,t);return 45>=n&&n>=0?r:360>=n&&n>=315?r:n>=135&&225>=n?i:n>45&&135>n?a:o}function Le(){var e=new Date;return e.getTime()}function ke(t){t=e(t);var n=t.offset(),r={left:n.left,right:n.left+t.outerWidth(),top:n.top,bottom:n.top+t.outerHeight()};return r}function Se(e,t){return e.x>t.left&&e.x<t.right&&e.y>t.top&&e.y<t.bottom}var Ce=A||L||!n.fallbackToMouseEvents,Me=Ce?L?x?"MSPointerDown":"pointerdown":"touchstart":"mousedown",Ne=Ce?L?x?"MSPointerMove":"pointermove":"touchmove":"mousemove",Ie=Ce?L?x?"MSPointerUp":"pointerup":"touchend":"mouseup",Pe=Ce?null:"mouseleave",De=L?x?"MSPointerCancel":"pointercancel":"touchcancel",Fe=0,ze=null,Re=0,_e=0,je=0,Ve=1,qe=0,Ue=0,He=null,Xe=e(t),Qe="start",Ye=0,Be=null,We=0,Ze=0,Ge=0,Ke=0,$e=0,Je=null,et=null;try{Xe.bind(Me,S),Xe.bind(De,N)}catch(t){e.error("events not supported "+Me+","+De+" on jQuery.swipe")}this.enable=function(){return Xe.bind(Me,S),Xe.bind(De,N),Xe},this.disable=function(){return P(),Xe},this.destroy=function(){return P(),Xe.data(k,null),Xe},this.option=function(t,r){if(void 0!==n[t]){if(void 0===r)return n[t];n[t]=r}else e.error("Option "+t+" does not exist on jQuery.swipe.options");return null}}var r="left",i="right",o="up",a="down",l="in",u="out",s="none",c="auto",d="swipe",p="pinch",f="tap",h="doubletap",g="longtap",m="horizontal",v="vertical",b="all",w=10,y="start",T="move",E="end",O="cancel",A="ontouchstart"in window,x=window.navigator.msPointerEnabled&&!window.navigator.pointerEnabled,L=window.navigator.pointerEnabled||window.navigator.msPointerEnabled,k="TouchSwipe",S={fingers:1,threshold:75,cancelThreshold:null,pinchThreshold:20,maxTimeThreshold:null,fingerReleaseThreshold:250,longTapThreshold:500,doubleTapThreshold:200,swipe:null,swipeLeft:null,swipeRight:null,swipeUp:null,swipeDown:null,swipeStatus:null,pinchIn:null,pinchOut:null,pinchStatus:null,click:null,tap:null,doubleTap:null,longTap:null,hold:null,triggerOnTouchEnd:!0,triggerOnTouchLeave:!1,allowPageScroll:"auto",fallbackToMouseEvents:!0,excludedElements:"label, button, input, select, textarea, a, .noSwipe"};e.fn.swipe=function(n){var r=e(this),i=r.data(k);if(i&&"string"==typeof n){if(i[n])return i[n].apply(this,Array.prototype.slice.call(arguments,1));e.error("Method "+n+" does not exist on jQuery.swipe")}else if(!(i||"object"!=typeof n&&n))return t.apply(this,arguments);return r},e.fn.swipe.defaults=S,e.fn.swipe.phases={PHASE_START:y,PHASE_MOVE:T,PHASE_END:E,PHASE_CANCEL:O},e.fn.swipe.directions={LEFT:r,RIGHT:i,UP:o,DOWN:a,IN:l,OUT:u},e.fn.swipe.pageScroll={NONE:s,HORIZONTAL:m,VERTICAL:v,AUTO:c},e.fn.swipe.fingers={ONE:1,TWO:2,THREE:3,ALL:b}}),function(e){(jQuery.browser=jQuery.browser||{}).mobile=/(android
|bb
\d
+|meego
).+mobile
|avantgo
|bada
\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od|ad)|iris|kindle|lge |maemo|midp|mmp|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i.test(e
)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(e
.substr(0,4))}(navigator
.userAgent
||navigator
.vendor
||window
.opera
),function(e
){var t
={init:function(){var t
=["paddingTop","paddingRight","paddingBottom","paddingLeft","fontSize","lineHeight","fontFamily","width","fontWeight","border-top-width","border-right-width","border-bottom-width","border-left-width","-moz-box-sizing","-webkit-box-sizing","box-sizing"];return this.each(function(){function n(){for(var e
=0;e
<t
.length
;e
++)a
.css(t
[e
],o
.css(t
[e
]))}function r(){var e
=o
.val().replace(/</g,"<").replace(/>/g,">").replace(/&/g,"&").replace(/\n/g,"<br/>");a.html(e+" 
;"),i()}function i(){var e=a.height(),t="hidden
",n=l?e+c+u:e+c;n>p?(n=p,t="auto
"):d>n&&(n=d),o.height()!==n&&o.css({overflow:t,height:n+"px
"})}if("textarea
"!==this.type)return!1;var o=e(this).css({resize:"none
",overflow:"hidden
"}),a=e("<div
></div>").css({position:"absolute",display:"none","word-wrap":"break-word","white-space":"pre-wrap","border-style":"solid"}).appendTo(document.body);n();var l="border-box"==o.css("box-sizing")||"border-box"==o.css("-moz-box-sizing")||"border-box"==o.css("-webkit-box-sizing"),u=parseInt(o.css("border-top-width"))+parseInt(o.css("padding-top"))+parseInt(o.css("padding-bottom"))+parseInt(o.css("border-bottom-width")),s=parseInt(o.css("height"),10),c=parseInt(o.css("line-height"),10)||parseInt(o.css("font-size"),10),d=2*c>s?2*c:s,p=parseInt(o.css("max-height"),10)>-1?parseInt(o.css("max-height"),10):Number.MAX_VALUE;o.bind("keyup change cut paste",function(){r()}),e(window).bind("resize",function(){var e=parseInt(o.width(),10);a.width()!==e&&(a.css({width:e+"px"}),r())}),o.bind("blur",function(){i()}),o.bind("updateHeight",function(){n(),r()}),e(function(){r()})})}};e.fn.flexible=function(n){return t[n]?t[n].apply(this,Array.prototype.slice.call(arguments,1)):"object"!=typeof n&&n?void e.error("Method "+n+" does not exist on jQuery.flexible"):t.init.apply(this,arguments)}}(jQuery),function(e,t,n,r){"use strict";function i(e,t){for(var n=0,r=e.length;r>n;n++)g(e[n],t)}function o(e){for(var t,n=0,r=e.length;r>n;n++)t=e[n],E(t,_[l(t)])}function a(e){return function(t){ne(t)&&(g(t,e),i(t.querySelectorAll(j),e))}}function l(e){var t=e.getAttribute("is"),n=e.nodeName.toUpperCase(),r=q.call(R,t?D+t.toUpperCase():P+n);return t&&r>-1&&!u(n,t)?-1:r}function u(e,t){return-1<j.indexOf(e+'[is="'+t+'"]')}function s(e){var t=e.currentTarget,n=e.attrChange,r=e.attrName,i=e.target;he&&(!i||i===t)&&t.attributeChangedCallback&&"style"!==r&&t.attributeChangedCallback(r,n===e[k]?null:e.prevValue,n===e[C]?null:e.newValue)}function c(e){var t=a(e);return function(e){m.push(t,e.target)}}function d(e){fe&&(fe=!1,e.currentTarget.removeEventListener(N,d)),i((e.target||t).querySelectorAll(j),e.detail===x?x:A),te&&h()}function p(e,t){var n=this;oe.call(n,e,t),v.call(n,{target:n})}function f(e,t){$(e,t),y?y.observe(e,ue):(pe&&(e.setAttribute=p,e[O]=w(e),e.addEventListener(I,v)),e.addEventListener(M,s)),e.createdCallback&&he&&(e.created=!0,e.createdCallback(),e.created=!1)}function h(){for(var e,t=0,n=re.length;n>t;t++)e=re[t],V.contains(e)||(re.splice(t,1),g(e,x))}function g(e,t){var n,r=l(e);r>-1&&(T(e,_[r]),r=0,t!==A||e[A]?t===x&&!e[x]&&(e[A]=!1,e[x]=!0,r=1):(e[x]=!1,e[A]=!0,r=1,te&&q.call(re,e)<0&&re.push(e)),r&&(n=e[t+"Callback"])&&n.call(e))}if(!(r in t)){var m,v,b,w,y,T,E,O="__"+r+(1e5*Math.random()>>0),A="attached",x="detached",L="extends",k="ADDITION",S="MODIFICATION",C="REMOVAL",M="DOMAttrModified",N="DOMContentLoaded",I="DOMSubtreeModified",P="<",D="=",F=/^[A
-Z
][A
-Z0
-9]*(?:-[A
-Z0
-9]+)+$/,z=["ANNOTATION-XML","COLOR-PROFILE","FONT-FACE","FONT-FACE-SRC","FONT-FACE-URI","FONT-FACE-FORMAT","FONT-FACE-NAME","MISSING-GLYPH"],R=[],_=[],j="",V=t.documentElement,q=R.indexOf||function(e){for(var t=this.length;t--&&this[t]!==e;);return t},U=n.prototype,H=U.hasOwnProperty,X=U.isPrototypeOf,Q=n.defineProperty,Y=n.getOwnPropertyDescriptor,B=n.getOwnPropertyNames,W=n.getPrototypeOf,Z=n.setPrototypeOf,G=!!n.__proto__,K=n.create||function e(t){return t?(e.prototype=t,new e):this},$=Z||(G?function(e,t){return e.__proto__=t,e}:B&&Y?function(){function e(e,t){for(var n,r=B(t),i=0,o=r.length;o>i;i++)n=r[i],H.call(e,n)||Q(e,n,Y(t,n))}return function(t,n){do e(t,n);while((n=W(n))&&!X.call(n,t));return t}}():function(e,t){for(var n in t)e[n]=t[n];return e}),J=e.MutationObserver||e.WebKitMutationObserver,ee=(e.HTMLElement||e.Element||e.Node).prototype,te=!X.call(ee,V),ne=te?function(e){return 1===e.nodeType}:function(e){return X.call(ee,e)},re=te&&[],ie=ee.cloneNode,oe=ee.setAttribute,ae=ee.removeAttribute,le=t.createElement,ue=J&&{attributes:!0,characterData:!0,attributeOldValue:!0},se=J||function(){pe=!1,V.removeEventListener(M,se)},ce=e.requestAnimationFrame||e.webkitRequestAnimationFrame||e.mozRequestAnimationFrame||e.msRequestAnimationFrame||function(e){setTimeout(e,10)},de=!1,pe=!0,fe=!0,he=!0;Z||G?(T=function(e,t){X.call(t,e)||f(e,t)},E=f):(T=function(e,t){e[O]||(e[O]=n(!0),f(e,t))},E=T),te?(pe=!1,function(){var e=Y(ee,"addEventListener"),t=e.value,n=function(e){var t=new CustomEvent(M,{bubbles:!0});t.attrName=e,t.prevValue=this.getAttribute(e),t.newValue=null,t[C]=t.attrChange=2,ae.call(this,e),this.dispatchEvent(t)},r=function(e,t){var n=this.hasAttribute(e),r=n&&this.getAttribute(e),i=new CustomEvent(M,{bubbles:!0});oe.call(this,e,t),i.attrName=e,i.prevValue=n?r:null,i.newValue=t,n?i[S]=i.attrChange=1:i[k]=i.attrChange=0,this.dispatchEvent(i)},i=function(e){var t,n=e.currentTarget,r=n[O],i=e.propertyName;r.hasOwnProperty(i)&&(r=r[i],t=new CustomEvent(M,{bubbles:!0}),t.attrName=r.name,t.prevValue=r.value||null,t.newValue=r.value=n[i]||null,null==t.prevValue?t[k]=t.attrChange=0:t[S]=t.attrChange=1,n.dispatchEvent(t))};e.value=function(e,o,a){e===M&&this.attributeChangedCallback&&this.setAttribute!==r&&(this[O]={className:{name:"class",value:this.className}},this.setAttribute=r,this.removeAttribute=n,t.call(this,"propertychange",i)),t.call(this,e,o,a)},Q(ee,"addEventListener",e)}()):J||(V.addEventListener(M,se),V.setAttribute(O,1),V.removeAttribute(O),pe&&(v=function(e){var t,n,r,i=this;if(i===e.target){t=i[O],i[O]=n=w(i);for(r in n){if(!(r in t))return b(0,i,r,t[r],n[r],k);if(n[r]!==t[r])return b(1,i,r,t[r],n[r],S)}for(r in t)if(!(r in n))return b(2,i,r,t[r],n[r],C)}},b=function(e,t,n,r,i,o){var a={attrChange:e,currentTarget:t,attrName:n,prevValue:r,newValue:i};a[o]=e,s(a)},w=function(e){for(var t,n,r={},i=e.attributes,o=0,a=i.length;a>o;o++)t=i[o],n=t.name,"setAttribute"!==n&&(r[n]=t.value);return r})),t[r]=function(e,n){if(r=e.toUpperCase(),de||(de=!0,J?(y=function(e,t){function n(e,t){for(var n=0,r=e.length;r>n;t(e[n++]));}return new J(function(r){for(var i,o,a=0,l=r.length;l>a;a++)i=r[a],"childList"===i.type?(n(i.addedNodes,e),n(i.removedNodes,t)):(o=i.target,he&&o.attributeChangedCallback&&"style"!==i.attributeName&&o.attributeChangedCallback(i.attributeName,i.oldValue,o.getAttribute(i.attributeName)))})}(a(A),a(x)),y.observe(t,{childList:!0,subtree:!0})):(m=[],ce(function e(){for(;m.length;)m.shift().call(null,m.shift());ce(e)}),t.addEventListener("DOMNodeInserted",c(A)),t.addEventListener("DOMNodeRemoved",c(x))),t.addEventListener(N,d),t.addEventListener("readystatechange",d),t.createElement=function(e,n){var r=le.apply(t,arguments),i=""+e,o=q.call(R,(n?D:P)+(n||i).toUpperCase()),a=o>-1;return n&&(r.setAttribute("is",n=n.toLowerCase()),a&&(a=u(i.toUpperCase(),n))),he=!t.createElement.innerHTMLHelper,a&&E(r,_[o]),r},ee.cloneNode=function(e){var t=ie.call(this,!!e),n=l(t);return n>-1&&E(t,_[n]),e&&o(t.querySelectorAll(j)),t}),-2<q.call(R,D+r)+q.call(R,P+r))throw new Error("A "+e+" type is already registered");if(!F.test(r)||-1<q.call(z,r))throw new Error("The type "+e+" is invalid");var r,s=function(){return f?t.createElement(h,r):t.createElement(h)},p=n||U,f=H.call(p,L),h=f?n[L].toUpperCase():r,g=R.push((f?D:P)+r)-1;return j=j.concat(j.length?",":"",f?h+'[is="'+e.toLowerCase()+'"]':h),s.prototype=_[g]=H.call(p,"prototype")?p.prototype:K(ee),i(t.querySelectorAll(j),A),s}}}(window,document,Object,"registerElement"),!function(e,t,n){"use strict";function r(){return e.performance!==n&&e.performance.now!==n?e.performance.now():Date.now()}function i(e){return.5*(1-Math.cos(Math.PI*e))}function o(e){if("object"!=typeof e||e.behavior===n||"auto"===e.behavior||"instant"===e.behavior)return!0;if("smooth"===e.behavior)return!1;throw new TypeError(e.behavior+" is not a valid value for enumeration ScrollBehavior")}function a(e,t,n){e.scrollTop=n,e.scrollLeft=t}function l(t,o){function a(){var f,h,g,m=r(),v=(m-p)/c;return v
=v
>1?1:v
,f
=i(v
),h
=l
+(t
-l
)*f
,g
=u
+(o
-u
)*f
,d(h
,g
),h
===t
&&g
===o
?(l
=u
=p
=null,e
.cancelAnimationFrame(s
),n
):(s
=e
.requestAnimationFrame(a
),n
)}var l
=e
.scrollX
||e
.pageXOffset
,u
=e
.scrollY
||e
.pageYOffset
,p
=r();s
&&e
.cancelAnimationFrame(s
),s
=e
.requestAnimationFrame(a
)}function u(o
,u
){function d(){var t
,l
,u
,v
=r(),b
=(v
-m
)/c
;return b
=b
>1?1:b
,t
=i(b
),l
=p
+(h
-p
)*t
,u
=f
+(g
-f
)*t
,a(o
,l
,u
),l
===h
&&u
===g
?(p
=f
=m
=null,e
.cancelAnimationFrame(s
),n
):(s
=e
.requestAnimationFrame(d
),n
)}if(o
===t
.documentElement
||o
===t
.body
)return l(u
.left
,u
.top
),n
;var p
=o
.scrollLeft
,f
=o
.scrollTop
,h
=u
.left
,g
=u
.top
,m
=r();s
&&e
.cancelAnimationFrame(s
),s
=e
.requestAnimationFrame(d
)}if(!("scrollBehavior"in t
.documentElement
.style
)){var s
,c
=768,d
=e
.scrollTo
,p
=e
.scrollBy
,f
=e
.Element
.prototype.scrollIntoView
;e
.scroll
=e
.scrollTo=function(){return o(arguments
[0])?d
.call(e
,arguments
[0].left
||arguments
[0],arguments
[0].top
||arguments
[1]):l
.call(e
,~~arguments
[0].left
,~~arguments
[0].top
)},e
.scrollBy=function(){if(o(arguments
[0]))return p
.call(e
,arguments
[0].left
||arguments
[0],arguments
[0].top
||arguments
[1]);var t
=e
.scrollX
||e
.pageXOffset
,n
=e
.scrollY
||e
.pageYOffset
;return l(~~arguments
[0].left
+t
,~~arguments
[0].top
+n
)},Element
.prototype.scrollIntoView=function(){var n
,r
,i
,a
;return o(arguments
[0])?f
.call(this,arguments
[0]||!0):(a
=e
.getComputedStyle(t
.body
,null),r
=parseInt(a
.getPropertyValue("padding-left"),10),i
=parseInt(a
.getPropertyValue("padding-top"),10),n
={top
:this.offsetTop
-2*i
,left
:this.offsetLeft
-2*r
},u(t
.body
,n
))}}}(window
,document
); })(this);
67 (function (window
, undefined) {"use strict";function wcfEval(expression
){return eval(expression
)}!function(){var e
=jQuery
.fn
.data
;jQuery
.fn
.data=function(t
){if(t
)switch(typeof t
){case"object":for(var i
in t
)if(i
.match(/ID$/)){var n
=t
[i
];delete t
[i
],i
=i
.replace(/ID$/,"-id"),t
[i
]=n
}arguments
[0]=t
;break;case"string":t
.match(/ID$/)&&(arguments
[0]=t
.replace(/ID$/,"-id"))}var s
=e
.apply(this,arguments
);if(void 0===t
)for(var i
in s
)i
.match(/Id$/)&&(s
[i
.replace(/Id$/,"ID")]=s
[i
],delete s
[i
]);return s
},window
.console
||(window
.console
={});for(var t
=["log","info","warn","exception","assert","dir","dirxml","trace","group","groupEnd","groupCollapsed","profile","profileEnd","count","clear","time","timeEnd","timeStamp","table","error"],i
=0;i
<t
.length
;i
++)"undefined"==typeof console
[t
[i
]]&&(console
[t
[i
]]=function(){});"undefined"==typeof console
.debug
&&(console
.debug=function(e
){console
.log(e
)})}(),String
.prototype.hashCode=function(){var e
,t
=0;if(this.length
)for(var i
=0,n
=this.length
;n
>i
;i
++)e
=this.charCodeAt(i
),t
=(t
<<5)-t
+e
,t
&=t
;return t
},window
.shuffle=function(e
){for(var t
,i
,n
=e
.length
;0!==n
;)i
=Math
.floor(Math
.random()*n
),n
-=1,t
=e
[n
],e
[n
]=e
[i
],e
[i
]=t
;return this},function(e
){var t
=navigator
.userAgent
.toLowerCase(),i
=/(chrome)[ \/]([\w.]+)/.exec(t
)||/(webkit)[ \/]([\w.]+)/.exec(t
)||/(opera)(?:.*version|)[ \/]([\w.]+)/.exec(t
)||/(msie) ([\w.]+)/.exec(t
)||t
.indexOf("compatible")<0&&/(mozilla)(?:.*? rv:([\w.]+)|)/.exec(t
)||[],n
={browser
:i
[1]||"",version
:i
[2]||"0"},s
={};n
.browser
&&(s
[n
.browser
]=!0,s
.version
=n
.version
),s
.chrome
?s
.webkit
=!0:s
.webkit
&&(s
.safari
=!0),e
.browser
=e
.browser
||{},e
.browser
=$.extend(e
.browser
,s
),e
.browser
.touch
=!!("ontouchstart"in window
)||!!("msMaxTouchPoints"in window
.navigator
)&&window
.navigator
.msMaxTouchPoints
>0,e
.browser
.smartphone
="bottom"==$("html").css("caption-side"),e
.browser
.mozilla
&&t
.match(/trident/)&&(e
.browser
.mozilla
=!1,e
.browser
.msie
=!0),e
.browser
.iOS
=/\((ipad|iphone|ipod);/.test(t
),e
.browser
.iOS
&&$("html").addClass("iOS"),e
.browser
.android
=-1!==t
.indexOf("android"),e
.browser
.editor
="redactor",e
.browser
.ckeditor
=!1,e
.browser
.redactor
=!0,e
.browser
.iOS
&&(e
.fn
.focus=function(e
,t
){return arguments
.length
>0?this.on("focus",null,e
,t
):this.trigger("focus")})}(jQuery
),null==window
.WCF
&&(window
.WCF
={}),$.extend(!0,{removeArrayValue:function(e
,t
){return $.grep(e
,function(e
){return t
!==e
})},wcfEscapeID:function(e
){return e
.replace(/(:|\.)/g,"\\$1")},wcfIsset:function(e
){return!!$("#"+$.wcfEscapeID(e
)).length
},getLength:function(e
){var t
=0;for(var i
in e
)e
.hasOwnProperty(i
)&&t
++;return t
}}),$.fn
.extend({getTagName:function(){return this.length
?this.get(0).tagName
.toLowerCase():""},getDimensions:function(e
){var t
={},i
={},n
=!1;switch(this.is(":hidden")&&(t
=WCF
.getInlineCSS(this),n
=!0,this.css({display
:"block",visibility
:"hidden"})),e
){case"inner":i
={height
:this.innerHeight(),width
:this.innerWidth()};break;case"outer":i
={height
:this.outerHeight(),width
:this.outerWidth()};break;default:i
={height
:this.height(),width
:this.width()}}return n
&&WCF
.revertInlineCSS(this,t
,["display","visibility"]),i
},getOffsets:function(e
){var t
={},i
={},n
=!1;switch(this.is(":hidden")&&(t
=WCF
.getInlineCSS(this),n
=!0,this.css({display
:"block",visibility
:"hidden"})),e
){case"offset":i
=this.offset();break;case"position":default:i
=this.position()}return n
&&WCF
.revertInlineCSS(this,t
,["display","visibility"]),i
},makePositioned:function(e
,t
){"absolute"!=e
&&"fixed"!=e
&&(e
="absolute");var i
=this.getOffsets("position");return this.css({position
:e
,left
:i
.left
,margin
:0,top
:i
.top
}),t
&&this.remove().appentTo("body"),this},disable:function(){return this.attr("disabled","disabled")},enable:function(){return this.removeAttr("disabled")},wcfIdentify:function(){return window
.bc_wcfDomUtil
.identify(this[0])},getCaret:function(){if(this.is("input")){if("text"!=this.attr("type")&&"password"!=this.attr("type"))return-1}else if(!this.is("textarea"))return-1;var e
=0,t
=this.get(0);if(document
.selection
){this.focus();var i
=document
.selection
.createRange();i
.moveStart("character",-this.val().length
),e
=i
.text
.length
}else(t
.selectionStart
||"0"==t
.selectionStart
)&&(e
=parseInt(t
.selectionStart
));return e
},setCaret:function(e
){if(this.is("input")){if("text"!=this.attr("type")&&"password"!=this.attr("type"))return!1}else if(!this.is("textarea"))return!1;var t
=this.get(0);if(this.focus(),document
.selection
){var i
=document
.selection
.createRange();i
.moveStart("character",e
),i
.moveEnd("character",0),i
.select()}else(t
.selectionStart
||"0"==t
.selectionStart
)&&(t
.selectionStart
=e
,t
.selectionEnd
=e
);return!0},wcfDropIn:function(e
,t
,i
){return e
||(e
="up"),i
&&parseInt(i
)||(i
=200),this.show(WCF
.getEffect(this,"drop"),{direction
:e
},i
,t
)},wcfDropOut:function(e
,t
,i
){return e
||(e
="down"),i
&&parseInt(i
)||(i
=200),this.hide(WCF
.getEffect(this,"drop"),{direction
:e
},i
,t
)},wcfBlindIn:function(e
,t
,i
){return e
||(e
="vertical"),i
&&parseInt(i
)||(i
=200),this.show(WCF
.getEffect(this,"blind"),{direction
:e
},i
,t
)},wcfBlindOut:function(e
,t
,i
){return e
||(e
="vertical"),i
&&parseInt(i
)||(i
=200),this.hide(WCF
.getEffect(this,"blind"),{direction
:e
},i
,t
)},wcfHighlight:function(e
,t
){return this.effect("highlight",e
,600,t
)},wcfFadeIn:function(e
,t
){return t
&&parseInt(t
)||(t
=200),this.show(WCF
.getEffect(this,"fade"),{},t
,e
)},wcfFadeOut:function(e
,t
){return t
&&parseInt(t
)||(t
=200),this.hide(WCF
.getEffect(this,"fade"),{},t
,e
)},cssAsNumber:function(e
){if(this.length
){var t
=this.css(e
);if(void 0!==t
)return parseInt(t
.replace(/px$/,""))}return 0},perfectScrollbar:function(e
){var t
=require("perfect-scrollbar");return this.each(function(){if("object"==typeof e
||"undefined"==typeof e
){var i
=e
;$(this).data("psID")||t
.initialize(this,i
)}else{var n
=e
;"update"===n
?t
.update(this):"destroy"===n
&&t
.destroy(this)}return jQuery(this)})}}),$.extend(WCF
,{activeDialogs
:0,_idCounter
:0,getRandomID:function(){return window
.bc_wcfDomUtil
.getUniqueId()},inArray:function(e
,t
){return-1!=$.inArray(e
,t
)},getEffect:function(e
,t
){return e
.is("tr")?"highlight":t
},getInlineCSS:function(e
){var t
={},i
=e
.attr("style");if(!i
)return{};i
=i
.split(";");for(var n
=0,s
=i
.length
;s
>n
;n
++){var a
=$.trim(i
[n
]);""!=a
&&(a
=a
.split(":"),t
[$.trim(a
[0])]=$.trim(a
[1]))}return t
},revertInlineCSS:function(e
,t
,i
){for(var n
=0,s
=i
.length
;s
>n
;n
++){var a
=i
[n
];t
[a
]?e
.css(a
,t
[a
]):e
.css(a
,"")}},getUUID:function(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(e
){var t
=16*Math
.random()|0,i
="x"==e
?t
:3&t
|8;return i
.toString(16)})},base64toBlob:function(e
,t
,i
){t
=t
||"",i
=i
||512;for(var n
=atob(e
),s
=[],a
=0;a
<n
.length
;a
+=i
){for(var o
=n
.slice(a
,a
+i
),r
=new Array(o
.length
),l
=0;l
<o
.length
;l
++)r
[l
]=o
.charCodeAt(l
);var c
=new Uint8Array(r
);s
.push(c
)}return new Blob(s
,{type
:t
})},convertLegacyURL:function(e
){return URL_LEGACY_MODE
?e
:e
.replace(/^index\.php\/(.*?)\/\?/,function(e
,t
){for(var i
=t
.split(/([A-Z][a-z0-9]+)/),n
="",s
=0,a
=i
.length
;a
>s
;s
++){var o
=i
[s
].trim();o
.length
&&(n
.length
&&(n
+="-"),n
+=o
.toLowerCase())}return"index.php?"+n
+"/&"})}}),WCF
.Browser
={_isChrome
:null,isChrome:function(){return null===this._isChrome
&&(this._isChrome
=!1,/chrom(e
|ium
)/.test(navigator.userAgent.toLowerCase())&&(this._isChrome=!0)),this._isChrome}},WCF.Dropdown={init:function(){window.bc_wcfSimpleDropdown.initAll()},initDropdown:function(e,t){window.bc_wcfSimpleDropdown.init(e[0],t)},removeDropdown:function(e){window.bc_wcfSimpleDropdown.remove(e)},initDropdownFragment:function(e,t){window.bc_wcfSimpleDropdown.initFragment(e[0],t[0])},registerCallback:function(e,t){window.bc_wcfSimpleDropdown.registerCallback(e,t)},_toggle:function(e,t){window.bc_wcfSimpleDropdown._toggle(e,t)},toggleDropdown:function(e){window.bc_wcfSimpleDropdown._toggle(null,e)},getDropdown:function(e){var t=window.bc_wcfSimpleDropdown.getDropdown(e);return t?$(t):null},getDropdownMenu:function(e){var t=window.bc_wcfSimpleDropdown.getDropdownMenu(e);return t?$(t):null},setAlignmentByID:function(e){window.bc_wcfSimpleDropdown.setAlignmentById(e)},setAlignment:function(e,t){window.bc_wcfSimpleDropdown.setAlignment(e[0],t[0])},_closeAll:function(){window.bc_wcfSimpleDropdown.closeAll()},close:function(e){window.bc_wcfSimpleDropdown.close(e)},destroy:function(e){window.bc_wcfSimpleDropdown.destroy(e)}},WCF.Dropdown.Interactive={},WCF.Dropdown.Interactive.Handler={_dropdownContainer:null,_dropdownMenus:{},create:function(e,t,i){null===this._dropdownContainer&&(this._dropdownContainer=$('<div class="dropdownMenuContainer" />').appendTo(document.body),WCF.CloseOverlayHandler.addCallback("WCF.Dropdown.Interactive.Handler",$.proxy(this.closeAll,this)),window.addEventListener("scroll",function(){document.documentElement.classList.contains("pageOverlayActive")||this.closeAll()}.bind(this)));var n=new WCF.Dropdown.Interactive.Instance(this._dropdownContainer,e,t,i);return this._dropdownMenus[t]=n,n},open:function(e){return this._dropdownMenus[e]?(this._dropdownMenus[e].open(),!0):!1},close:function(e){return this._dropdownMenus[e]?(this._dropdownMenus[e].close(),!0):!1},closeAll:function(){for(var e in this._dropdownMenus)this._dropdownMenus.hasOwnProperty(e)&&this._dropdownMenus[e].close()},getOpenDropdown:function(){for(var e in this._dropdownMenus)if(this._dropdownMenus.hasOwnProperty(e)&&this._dropdownMenus[e].isOpen())return this._dropdownMenus[e];return null}},WCF.Dropdown.Interactive.Instance=Class.extend({_container:null,_itemList:null,_linkList:null,_options:{},_pointer:null,_triggerElement:null,init:function(e,t,i,n){this._options=n||{},this._triggerElement=t;var s=null;if(n.staticDropdown===!0)this._container=this._triggerElement.find(".interactiveDropdownStatic:eq(0)").data("source",i).click(function(e){e.stopPropagation()});else{this._container=$('<div
class="interactiveDropdown" data
-source
="'+i+'" />').click(function(e){e.stopPropagation()});var a=$('<div class="interactiveDropdownHeader" />').appendTo(this._container);$('<span
class="interactiveDropdownTitle">'+n.title+"</span>").appendTo(a),this._linkList=$('<ul
class="interactiveDropdownLinks inlineList"></ul
>').appendTo(a),s=$('<div
class="interactiveDropdownItemsContainer" />').appendTo(this._container),this._itemList=$('<ul class="interactiveDropdownItems" />').appendTo(s),$('<a href
="'+n.showAllLink+'" class="interactiveDropdownShowAll">'+WCF.Language.get("wcf.user.panel.showAll")+"</a>").appendTo(this._container)}this._pointer=$('<span
class="elementPointer"><span
/></span>').appendTo(this._container),require(["Environment"],function(e){"desktop"===e.platform()&&null!==s&&s.perfectScrollbar({suppressScrollX:!0})}),this._container.appendTo(e)},getContainer:function(){return this._container},getItemList:function(){return this._itemList},getLinkList:function(){return this._linkList},open:function(){WCF.Dropdown._closeAll(),this._triggerElement.addClass("open"),this._container.addClass("open");var e=elById("pageHeader");e&&e.classList.contains("searchBarOpen")&&e.classList.remove("searchBarOpen"),this.render()},close:function(){this._triggerElement.removeClass("open"),this._container.removeClass("open")},isOpen:function(){return this._triggerElement.hasClass("open")},toggle:function(){return this._container.hasClass("open")?(this.close(),!1):(WCF.Dropdown.Interactive.Handler.closeAll(),this.open(),!0)},resetItems:function(){this._itemList.empty(),this.close()},render:function(){window.matchMedia("(max-width: 767px)").matches?this._container.css({bottom:"",left:"",right:"",top:elById("pageHeader").clientHeight+"px"}):require(["Ui/Alignment
"],function(e){e.set(this._container[0],this._triggerElement[0],{horizontal:"right
",pointer:!0})}.bind(this))},rebuildScrollbar:function(){require(["Environment
"],function(e){if("desktop
"===e.platform()){var t=this._itemList.parent();t.perfectScrollbar("destroy
"),t.perfectScrollbar({suppressScrollX:!0})}}.bind(this))}}),WCF.Clipboard={init:function(e,t,i,n){require(["WoltLabSuite
/Core/Controller
/Clipboard"],function(i){i.setup({hasMarkedItems:t>0,pageClassName:e,pageObjectId:n})})},reload:function(){require(["WoltLabSuite/Core
/Controller/Clipboard
"],function(e){e.reload()})}},WCF.PeriodicalExecuter=Class.extend({_callback:null,_delay:0,_intervalID:null,_isExecuting:!1,init:function(e,t){return $.isFunction(e)?(this._callback=e,this._interval=t,void this.resume()):void console.debug("[WCF
.PeriodicalExecuter
] Given callback is invalid
, aborting
.")},_execute:function(){if(!this._isExecuting)try{this._isExecuting=!0,this._callback(this),this._isExecuting=!1}catch(e){throw this._isExecuting=!1,e}},stop:function(){this._intervalID&&clearInterval(this._intervalID)},resume:function(){this.restart()},restart:function(){this._intervalID&&this.stop(),this._intervalID=setInterval($.proxy(this._execute,this),this._interval)},setInterval:function(e){this._interval=e,this.restart()}}),WCF.LoadingOverlayHandler={show:function(){require(["WoltLabSuite
/Core/Ajax
/Status"],function(e){e.show()})},hide:function(){require(["WoltLabSuite/Core
/Ajax/Status
"],function(e){e.hide()})},updateIcon:function(e,t){var i=void 0===t||t?"addClass
":"removeClass
";e.find(".icon
")[i]("fa
-spinner
"),e.hasClass("icon
")&&e[i]("fa
-spinner
")}},WCF.Action={},WCF.Action.Proxy=Class.extend({_ajaxRequest:null,init:function(e){this._ajaxRequest=null,e=$.extend(!0,{autoSend:!1,data:{},dataType:"json
",after:null,init:null,jsonp:"callback
",async:!0,failure:null,showLoadingOverlay:!0,success:null,suppressErrors:!1,type:"POST
",url:"index
.php
?ajax
-proxy
/&t="+SECURITY_TOKEN,aborted:null,autoAbortPrevious:!1},e),"jsonp"===e.dataType?require(["AjaxJsonp"],function(t){t.send(e.url,e.success,e.failure,{parameterName:e.jsonp})}):require(["AjaxRequest"],function(t){this._ajaxRequest=new t({data:e.data,type:e.type,url:e.url,responseType:"json"===e.dataType?"application/json
":"",autoAbort:e.autoAbortPrevious,ignoreError:e.suppressErrors,silent:!e.showLoadingOverlay,failure:e.failure,finalize:e.after,success:e.success}),e.autoSend&&this._ajaxRequest.sendRequest()}.bind(this))},sendRequest:function(e){require(["AjaxRequest
"],function(){null!==this._ajaxRequest&&this._ajaxRequest.sendRequest(e)}.bind(this))},abortPrevious:function(){require(["AjaxRequest
"],function(){null!==this._ajaxRequest&&this._ajaxRequest.abortPrevious()}.bind(this))},setOption:function(e,t){require(["AjaxRequest
"],function(){null!==this._ajaxRequest&&this._ajaxRequest.setOption(e,t)}.bind(this))},showLoadingOverlayOnce:function(){},suppressErrors:function(){},_failure:function(){},_success:function(){},_after:function(){}}),WCF.Action.SimpleProxy=Class.extend({init:function(e,t){this.options=$.extend(!0,{action:"",className:"",elements:null,eventName:"click
"},e),this.callbacks=$.extend(!0,{after:null,failure:null,init:null,success:null},t),this.options.elements&&(this.proxy=new WCF.Action.Proxy(this.callbacks),this.options.elements.each($.proxy(function(e,t){$(t).bind(this.options.eventName,$.proxy(this._handleEvent,this))},this)))},_handleEvent:function(e){this.proxy.setOption("data
",{actionName:this.options.action,className:this.options.className,objectIDs:[$(e.target).data("objectID
")]}),this.proxy.sendRequest()}}),WCF.Action.Delete=Class.extend({_buttonSelector:"",_className:"",_containerSelector:"",_containers:[],init:function(e,t,i){this._containerSelector=t,this._className=e,this._buttonSelector=i?i:".jsDeleteButton
",this.proxy=new WCF.Action.Proxy({success:$.proxy(this._success,this)}),this._initElements(),WCF.DOMNodeInsertedHandler.addCallback("WCF
.Action
.Delete
"+this._className.hashCode(),$.proxy(this._initElements,this))},_initElements:function(){$(this._containerSelector).each(function(e,t){var i=$(t),n=i.wcfIdentify();if(!WCF.inArray(n,this._containers)){var s=i.find(this._buttonSelector);s.length&&(this._containers.push(n),s.click($.proxy(this._click,this)))}}.bind(this))},_click:function(e){var t=$(e.currentTarget);e.preventDefault(),t.data("confirmMessageHtml
")||t.data("confirmMessage
")?WCF.System.Confirmation.show(t.data(t.data("confirmMessageHtml
")?"confirmMessageHtml
":"confirmMessage
"),$.proxy(this._execute,this),{target:t},void 0,t.data("confirmMessageHtml
")?!0:!1):(WCF.LoadingOverlayHandler.updateIcon(t),this._sendRequest(t))},_didTriggerEffect:function(){},_execute:function(e,t){"cancel
"!==e&&(WCF.LoadingOverlayHandler.updateIcon(t.target),this._sendRequest(t.target))},_sendRequest:function(e){this.proxy.setOption("data
",{actionName:"delete",className:this._className,interfaceName:"wcf
\\data
\\IDeleteAction
",objectIDs:[$(e).data("objectID
")]}),this.proxy.sendRequest()},_success:function(e){this.triggerEffect(e.objectIDs)},triggerEffect:function(e){for(var t in this._containers){var i=$("#"+this._containers[t]),n=i.find(this._buttonSelector);if(WCF.inArray(n.data("objectID
"),e)){var s=this;i.wcfBlindOut("up
",function(){var e=$(this).remove();s._containers.splice(s._containers.indexOf(e.wcfIdentify()),1),s._didTriggerEffect(e),n.data("eventName
")&&WCF.System.Event.fireEvent("com
.woltlab
.wcf
.action
.delete",n.data("eventName
"),{button:n,container:e})})}}}}),WCF.Action.NestedDelete=WCF.Action.Delete.extend({triggerEffect:function(e){for(var t in this._containers){var i=$("#"+this._containers[t]);if(WCF.inArray(i.find(this._buttonSelector).data("objectID
"),e))if(i.has("ol
").has("li
").length)i.is(":only
-child
")?i.parent().replaceWith(i.find("> ol
")):i.replaceWith(i.find("> ol
> li
")),this._containers.splice(this._containers.indexOf(i.wcfIdentify()),1),this._didTriggerEffect(i);else{var n=this;i.wcfBlindOut("up
",function(){$(this).remove(),n._containers.splice(n._containers.indexOf($(this).wcfIdentify()),1),n._didTriggerEffect($(this))})}}}}),WCF.Action.Toggle=Class.extend({_buttonSelector:".jsToggleButton
",_className:"",_containerSelector:"",_containers:[],init:function(e,t,i){this._containerSelector=t,this._className=e,this._buttonSelector=i?i:".jsToggleButton
",this._containers=[];var n={success:$.proxy(this._success,this)};this.proxy=new WCF.Action.Proxy(n),this._initElements(),WCF.DOMNodeInsertedHandler.addCallback("WCF
.Action
.Toggle
"+this._className.hashCode(),$.proxy(this._initElements,this))},_initElements:function(){$(this._containerSelector).each($.proxy(function(e,t){var i=$(t),n=i.wcfIdentify();WCF.inArray(n,this._containers)||(this._containers.push(n),i.find(this._buttonSelector).click($.proxy(this._click,this)))},this))},_click:function(e){var t=$(e.currentTarget);e.preventDefault(),t.data("confirmMessageHtml
")||t.data("confirmMessage
")?WCF.System.Confirmation.show(t.data(t.data("confirmMessageHtml
")?"confirmMessageHtml
":"confirmMessage
"),$.proxy(this._execute,this),{target:t},void 0,t.data("confirmMessageHtml
")?!0:!1):(WCF.LoadingOverlayHandler.updateIcon(t),this._sendRequest(t))},_execute:function(e,t){"cancel
"!==e&&(WCF.LoadingOverlayHandler.updateIcon(t.target),this._sendRequest(t.target))},_sendRequest:function(e){this.proxy.setOption("data
",{actionName:"toggle
",className:this._className,interfaceName:"wcf
\\data
\\IToggleAction
",objectIDs:[$(e).data("objectID
")]}),this.proxy.sendRequest()},_success:function(e){this.triggerEffect(e.objectIDs)},triggerEffect:function(e){for(var t in this._containers){var i=$("#"+this._containers[t]),n=i.find(this._buttonSelector);WCF.inArray(n.data("objectID
"),e)&&(i.wcfHighlight(),this._toggleButton(i,n))}},_toggleButton:function(e,t){var i="";WCF.LoadingOverlayHandler.updateIcon(t,!1),t.hasClass("fa
-square
-o
")?(t.removeClass("fa
-square
-o
").addClass("fa
-check
-square
-o
"),i=t.data("disableTitle
")?t.data("disableTitle
"):WCF.Language.get("wcf
.global
.button
.disable
"),t.attr("title
",i)):(t.removeClass("fa
-check
-square
-o
").addClass("fa
-square
-o
"),i=t.data("enableTitle
")?t.data("enableTitle
"):WCF.Language.get("wcf
.global
.button
.enable
"),t.attr("title
",i)),e.toggleClass("disabled
")}}),WCF.Action.Scroll=Class.extend({_callback:null,_reference:null,_target:null,_threshold:0,init:function(e,t,i,n){return this._threshold=parseInt(e),0===this._threshold?void console.debug("[WCF
.Action
.Scroll
] Given threshold is invalid
, aborting
."):($.isFunction(t)&&(this._callback=t),null===this._callback?void console.debug("[WCF
.Action
.Scroll
] Given callback is invalid
, aborting
."):(this._reference=$(i?i:window),this._target=$(n?n:document),this.start(),void this._scroll()))},_scroll:function(){var e=this._target.height(),t=this._reference.scrollTop(),i=this._reference.height();e-(i+t)<this._threshold&&this._callback(this)},start:function(){this._reference.on("scroll
",$.proxy(this._scroll,this))},stop:function(){this._reference.off("scroll
")}}),WCF.Date={},WCF.Date.Picker={init:function(){}},WCF.Date.Util={gmdate:function(e){var t=e?e:new Date;return Math.round(Date.UTC(t.getUTCFullYear(),t.getUTCMonth(),t.getUTCDay(),t.getUTCHours(),t.getUTCMinutes(),t.getUTCSeconds())/1e3)},getTimezoneDate:function(e,t){var i=new Date(e),n=6e4*i.getTimezoneOffset();return new Date(e+n+t)}},WCF.Dictionary=Class.extend({_variables:{},init:function(){this._variables={}},add:function(e,t){this._variables[e]=t},addObject:function(e){for(var t in e)this.add(t,e[t])},addDictionary:function(e){e.each($.proxy(function(e){this.add(e.key,e.value)},this))},get:function(e){return this.isset(e)?this._variables[e]:null},isset:function(e){return this._variables.hasOwnProperty(e)},remove:function(e){delete this._variables[e]},each:function(e){if($.isFunction(e))for(var t in this._variables){var i=this._variables[t],n={key:t,value:i};e(n)}},count:function(){return $.getLength(this._variables)},isEmpty:function(){return!this.count()}}),null==window.WCF.Language&&(WCF.Language={add:function(e,t){require(["Language
"],function(i){i.add(e,t)})},addObject:function(e){require(["Language
"],function(t){t.addObject(e)})},get:function(e){throw new Error('Call to deprecated WCF.Language.get("'+e+'")')}}),WCF.MultipleLanguageInput=Class.extend({_availableLanguages:{},_button:null,_didInit:!1,_element:null,_insertedDataAfterInit:!1,_isEnabled:!1,_forceSelection:!1,_languageID:0,_list:null,_values:null,init:function(e,t,i,n){if(this._button=null,this._element=$("#"+$.wcfEscapeID(e)),this._forceSelection=t,this._values=i,this._availableLanguages=n,$.getLength(this._values))for(var s in this._values)this._values[s]=WCF.String.unescapeHTML(this._values[s]);if(this._languageID=LANGUAGE_ID,0==this._element.length)return void console.debug("[WCF
.MultipleLanguageInput
] element id
'"+e+"' is unknown
");var a=$.getLength(this._values)>0?!0:!1;this._insertedDataAfterInit=a,this._prepareElement(a),this._element.parents("form
").submit($.proxy(this._submit,this)),this._didInit=!0},_prepareElement:function(e){this._element.wrap('<div class="dropdown preInput
" />');var t=this._element.parent();this._button=$('<p class="button dropdownToggle
"><span>'+WCF.Language.get("wcf
.global
.button
.disabledI18n
")+"</span></p>").prependTo(t),this._list=$('<ul class="dropdownMenu
"></ul>').insertAfter(this._button),this._button.addClass(this._button.nextAll("textarea
").length?"dropdownCaptionTextarea
":"dropdownCaption
");for(var i in this._availableLanguages)$("<li
><span
>"+this._availableLanguages[i]+"</span
></li>").data("languageID",i).click($.proxy(this._changeLanguage,this)).appendTo(this._list);this._forceSelection||($('<li class="dropdownDivider" />').appendTo(this._list),$("<li><span>"+WCF.Language.get("wcf.global.button.disabledI18n")+"</span></li>").click($.proxy(this._disable,this)).appendTo(this._list)),WCF.Dropdown.initDropdown(this._button,e),(e||this._forceSelection)&&(this._isEnabled=!0,this._list.children("li").each($.proxy(function(e,t){var i=$(t);i.data("languageID")==this._languageID&&i.trigger("click")},this))),WCF.Dropdown.registerCallback(t.wcfIdentify(),$.proxy(this._handleAction,this))},_handleAction:function(e,t){"open"===t?this._enable():this._closeSelection()},_enable:function(){if(!this._isEnabled){var e=this._button.is("p")?this._button.children("span:eq(0)"):this._button;e.addClass("active"),this._isEnabled=!0}this._list.is(":visible")&&this._showSelection()},_showSelection:function(){this._isEnabled&&this._list.children("li").each($.proxy(function(e,t){var i=$(t),n=i.data("languageID");n&&(this._values[n]&&""!=this._values[n]?i.removeClass("missingValue"):i.addClass("missingValue"))},this))},_closeSelection:function(){this._disable()},_changeLanguage:function(e){var t=$(e.currentTarget);this._insertedDataAfterInit=!0,this._didInit&&(this._values[this._languageID]=this._element.val()),this._languageID=t.data("languageID"),this._element.val(this._values[this._languageID]?this._values[this._languageID]:""),this._list.children("li").removeClass("active"),t.addClass("active"),this._button.children("span").addClass("active").text(this._availableLanguages[this._languageID]),this._didInit&&this._element.blur().focus()},_disable:function(e){void 0===e&&this._insertedDataAfterInit&&(e=null),!this._forceSelection&&this._list&&null!==e&&(this._button.children("span").removeClass("active").text(WCF.Language.get("wcf.global.button.disabledI18n")),this._values[LANGUAGE_ID]?this._element.val(this._values[LANGUAGE_ID]):this._element.val(),e&&(this._list.children("li").removeClass("active"),$(e.currentTarget).addClass("active")),this._element.blur().focus(),this._insertedDataAfterInit=!1,this._isEnabled=!1,this._values={})},_submit:function(){if(!this._isEnabled)return 3735928559;this._languageID&&(this._values[this._languageID]=this._element.val());var e=$(this._element.parents("form")[0]),t=this._element.wcfIdentify();for(var i in this._availableLanguages)void 0===this._values[i]&&(this._values[i]=""),$('<input type
="hidden" name
="'+t+"_i18n
["+i+']" value
="'+WCF.String.escapeHTML(this._values[i])+'" />').appendTo(e);this._element.removeAttr("name")}}),WCF.Number={round:function(e,t){return t=Math.pow(10,t||0),Math.round(e*t)/t
}},WCF
.String
={addThousandsSeparator:function(e
){return String(e
).replace(/(^-?\d{1,3}|\d{3})(?=(?:\d{3})+(?:$|\.))/g,"$1"+WCF
.Language
.get("wcf.global.thousandsSeparator"))},escapeHTML:function(e
){return String(e
).replace(/&/g,"&").replace(/"/g,""
;").replace(/</g,"<
;").replace(/>/g,">
;")},escapeRegExp:function(e){return String(e).replace(/([.*+?^=!:${}()|[\]\/\\])/g,"\\$1")},formatNumeric:function(e,t){e=String(WCF.Number.round(e,t||2));var i=e.split(".");return e=this.addThousandsSeparator(i[0]),i.length>1&&(e+=WCF.Language.get("wcf
.global
.decimalPoint
")+i[1]),e=e.replace("-","−")},lcfirst:function(e){return String(e).substring(0,1).toLowerCase()+e.substring(1)},ucfirst:function(e){return String(e).substring(0,1).toUpperCase()+e.substring(1)},unescapeHTML:function(e){return String(e).replace(/&/g,"&").replace(/"/g,'"').replace(/</g,"<").replace(/>/g,">")}},WCF.TabMenu={init:function(){require(["WoltLabSuite/Core/Ui/TabMenu"],function(e){e.setup()})},reload:function(){this.init()}},WCF.Template=Class.extend({init:function(e){var t=new WCF.Dictionary,i=0;e=e.replace(/\\/g,"\\\\").replace(/'/g,"\\'").replace(/(\r\n|\n|\r)/g,"\\n"),e=e.replace(/\{literal
\}(.*?)\{\/literal\}/g,$.proxy(function(e
){var i
="@@@@@@@@@@@"+Math
.random()+"@@@@@@@@@@@";return t
.add(i
,e
.replace(/\{\/?literal\}/g,"")),i
},this)),e
=e
.replace(/\{\*.*?\*\}/g,"");var n=function(e
){for(var t
=e
.split(""),i
={},n
=!0,s
="",a
="",o
=!1,r
=!1,l
=!1,c
=0,u
=t
.length
;u
>c
;c
++){var h
=t
[c
];n
&&"="!=h
&&" "!=h
?s
+=h
:n
&&"="==h
?(n
=!1,r
=!1,o
=!1,l
=!1):n
||r
||o
||" "!=h
?n
||!r
||l
||"'"!=h
?n
||r
||o
||"'"!=h
?n
||!o
||l
||'"'!=h
?n
||r
||o
||'"'!=h
?n
||!o
&&!r
||l
||"\\"!=h
?n
||(l
=!1,a
+=h
):(l
=!0,a
+=h
):(o
=!0,a
+=h
):(o
=!1,a
+=h
):(r
=!0,a
+=h
):(r
=!1,a
+=h
):(n
=!0,i
[s
]=a
,a
=s
="")}if(i
[s
]=a
,o
||r
||l
)throw new Error('Syntax error in parameterList: "'+e
+'"');return i
},s=function(e
){return e
.replace(/\\n/g,"\n").replace(/\\\\/g,"\\").replace(/\\'/g,"'")};e=e.replace(/\{(\$[^\}]+?)\}/g,function(e,t){return t=s(t.replace(/\$([^.\[\(\)\]\s]+)/g,"(v
['$1'])")),"' + WCF.String.escapeHTML("+t+") + '"}).replace(/\{#(\$[^\}]+?)\}/g,function(e,t){return t=s(t.replace(/\$([^.\[\(\)\]\s]+)/g,"(v
['$1'])")),"' + WCF.String.formatNumeric("+t+") + '"}).replace(/\{@(\$[^\}]+?)\}/g,function(e,t){return t=s(t.replace(/\$([^.\[\(\)\]\s]+)/g,"(v
['$1'])")),"' + "+t+" + '"}).replace(/\{lang\}(.+?)\{\/lang\}/g,function(e,t){return"' + WCF.Language.get('"+t+"', v) + '"}).replace(/\{include (.+?)\}/g,function(e,t){t=t.replace(/\\\\/g,"\\").replace(/\\'/g,"'");var i=n(t);if("undefined"==typeof i.file)throw new Error("Missing file attribute in include-tag");return i.file=i.file.replace(/\$([^.\[\(\)\]\s]+)/g,"(v.$1)"),"' + "+i.file+".fetch(v
) + '"}).replace(/\{if (.+?)\}/g,function(e,t){return t=s(t.replace(/\$([^.\[\(\)\]\s]+)/g,"(v['$1'])")),"';\nif ("+t+") {\n $output
+= '"}).replace(/\{else ?if (.+?)\}/g,function(e,t){return t=s(t.replace(/\$([^.\[\(\)\]\s]+)/g,"(v['$1'])")),"';\n}\nelse if ("+t+") {\n $output
+= '"}).replace(/\{implode (.+?)\}/g,function(e,t){i++,t=t.replace(/\\\\/g,"\\").replace(/\\'/g,"'");var s=n(t);if("undefined"==typeof s.from)throw new Error("Missing from attribute in implode-tag");if("undefined"==typeof s.item)throw new Error("Missing item attribute in implode-tag");return"undefined"==typeof s.glue&&(s.glue="', '"),s.from=s.from.replace(/\$([^.\[\(\)\]\s
]+)/g,"(v.$1)"),"';\nvar $implode_"+i+" = false;\nfor ($implodeKey_"+i+" in "+s.from+") {\n v["+s.item+"] = "+s.from+"[$implodeKey_"+i+"];\n"+("undefined"!=typeof s.key?" v["+s.key+"] = $implodeKey_"+i+";\n":"")+" if ($implode_"+i+") $output += "+s.glue+";\n $implode_"+i+" = true;\n $output += '"}).replace(/\{foreach (.+?)\}/g,function(e,t){i++,t=t.replace(/\\\\/g,"\\").replace(/\\'/g,"'");var s=n(t);if("undefined"==typeof s.from)throw new Error("Missing
from attribute
in foreach
-tag
");if("undefined"==typeof s.item)throw new Error("Missing item attribute
in foreach
-tag
");return s.from=s.from.replace(/\$([^.\[\(\)\]\s]+)/g,"(v
.$1)"),"';\n$foreach_"+i+" = false;\nfor ($foreachKey_"+i+" in "+s.from+") {\n $foreach_"+i+" = true;\n break;\n}\nif ($foreach_"+i+") {\n for ($foreachKey_"+i+" in "+s.from+") {\n v["+s.item+"] = "+s.from+"[$foreachKey_"+i+"];\n"+("undefined"!=typeof s.key?" v["+s.key+"] = $foreachKey_"+i+";\n":"")+" $output += '"}).replace(/\{foreachelse\}/g,"';\n }\n}\nelse {\n {\n $output += '").replace(/\{\/foreach\}/g,"';\n }\n}\n$output += '").replace(/\{else\}/g,"';\n}\nelse {\n $output += '").replace(/\{\/(if|implode)\}/g,"';\n}\n$output += '");for(var a in WCF.Template.callbacks)e=WCF.Template.callbacks[a](e);e=e.replace("{ldelim
}","{").replace("{rdelim
}","}"),t.each(function(t){e=e.replace(t.key,t.value)}),e="$output
+= '"+e+"';";try{this.fetch=new Function("v
","v
= window
.$.extend({}, v
, { __wcf
: window
.WCF
, __window
: window
}); var $output
= ''; "+e+" return $output
;")}catch(t){throw console.debug("var $output
= ''; "+e+" return $output
;"),t}},fetch:function(){}}),WCF.Template.callbacks=[],WCF.ToggleOptions=Class.extend({_element:null,_showItems:[],_hideItems:[],_callback:null,init:function(e,t,i,n){this._element=$("#"+e),this._showItems=t,this._hideItems=i,void 0!==n&&(this._callback=n),this._element.click($.proxy(this._toggle,this)),this._toggle()},_toggle:function(){if(this._element.prop("checked
")){for(var e=0,t=this._showItems.length;t>e;e++){var i=this._showItems[e];$("#"+i).show()}for(var e=0,t=this._hideItems.length;t>e;e++){var i=this._hideItems[e];$("#"+i).hide()}null!==this._callback&&this._callback()}}}),WCF.Collapsible={},WCF.Collapsible.Simple={init:function(){$(".jsCollapsible
").each($.proxy(function(e,t){this._initButton(t)},this))},_initButton:function(e){var t=$(e),i=t.data("isOpen
");i||$("#"+t.data("collapsibleContainer
")).hide(),t.click($.proxy(this._toggle,this))},_toggle:function(e){var t=$(e.currentTarget),i=t.data("isOpen
"),n=$("#"+$.wcfEscapeID(t.data("collapsibleContainer
")));return i?(n.stop().wcfBlindOut("vertical
",$.proxy(function(){this._toggleImage(t)},this)),i=!1):(n.stop().wcfBlindIn("vertical
",$.proxy(function(){this._toggleImage(t)},this)),i=!0),t.data("isOpen
",i),e.stopPropagation(),!1},_toggleImage:function(e){var t=e.find("span
.icon
");e.data("isOpen
")?t.removeClass("fa
-chevron
-right
").addClass("fa
-chevron
-down
"):t.removeClass("fa
-chevron
-down
").addClass("fa
-chevron
-right
")}},WCF.Collapsible.Remote=Class.extend({_className:"",_containers:{},_containerData:{},_proxy:null,init:function(e){this._className=e,
68 this._proxy=new WCF.Action.Proxy({success:$.proxy(this._success,this)}),this._init(),WCF.DOMNodeInsertedHandler.addCallback("WCF
.Collapsible
.Remote
",$.proxy(this._init,this))},_init:function(){this._getContainers().each($.proxy(function(e,t){var i=$(t),n=i.wcfIdentify();void 0===this._containers[n]&&(this._containers[n]=i,this._initContainer(n))},this))},_initContainer:function(e){var t=this._getTarget(e),i=this._getButtonContainer(e),n=this._createButton(e,i);this._containerData[e]={button:n,buttonContainer:i,isOpen:this._containers[e].data("isOpen
"),target:t},this._containers[e].data("isOpen
")||$("#"+e).addClass("jsCollapsed
")},_getContainers:function(){},_getTarget:function(){},_getButtonContainer:function(){},_createButton:function(e,t){var i=(this._containers[e].data("isOpen
"),$('<span class="collapsibleButton jsTooltip pointer icon icon16 fa
-chevron
-down
" title="'+WCF.Language.get("wcf.global.button.collapsible")+'">').prependTo(t));return i.data("containerID
",e).click($.proxy(this._toggleContainer,this)),i},_toggleContainer:function(e){var t=$(e.currentTarget),i=t.data("containerID
"),n=this._containerData[i].isOpen,s=n?"open
":"close
",a=n?"close
":"open
";this._proxy.setOption("data
",{actionName:"loadContainer
",className:this._className,interfaceName:"wcf
\\data
\\ILoadableContainerAction
",objectIDs:[this._getObjectID(i)],parameters:$.extend(!0,{containerID:i,currentState:s,newState:a},this._getAdditionalParameters(i))}),this._proxy.sendRequest(),$("#"+i).toggleClass("jsCollapsed
")},_exchangeIcon:function(e,t){t=t||"spinner
",e.removeClass("fa
-chevron
-down fa
-chevron
-right fa
-spinner
").addClass("fa
-"+t)},_getObjectID:function(e){return $("#"+e).data("objectID
")},_getAdditionalParameters:function(){return{}},_updateContent:function(e,t){this._containerData[e].target.html(t)},_success:function(e){if(e.returnValues.containerID){var t=e.returnValues.containerID;if(this._containers[t]){this._containerData[t].isOpen=e.returnValues.isOpen?!0:!1;var i=e.returnValues.isOpen?"open
":"close
";this._updateContent(t,$.trim(e.returnValues.content),i)}}}}),WCF.Collapsible.SimpleRemote=WCF.Collapsible.Remote.extend({init:function(e){this._super(e),this._proxy=new WCF.Action.Proxy({showLoadingOverlay:!1})},_initContainer:function(e){this._super(e),this._containerData[e].isOpen||(this._containerData[e].target.hide(),this._exchangeIcon(this._containerData[e].button,"chevron
-right
"))},_toggleContainer:function(e){var t=$(e.currentTarget),i=t.data("containerID
"),n=this._containerData[i].isOpen,s=n?"open
":"close
",a=n?"close
":"open
";this._proxy.setOption("data
",{actionName:"toggleContainer
",className:this._className,interfaceName:"wcf
\\data
\\IToggleContainerAction
",objectIDs:[this._getObjectID(i)],parameters:$.extend(!0,{containerID:i,currentState:s,newState:a},this._getAdditionalParameters(i))}),this._proxy.sendRequest(),this._exchangeIcon(this._containerData[i].button,"open
"===a?"chevron
-down
":"chevron
-right
"),"open
"===a?this._containerData[i].target.show():this._containerData[i].target.hide(),$("#"+i).toggleClass("jsCollapsed
"),this._containerData[i].isOpen="open
"===a?!0:!1}}),WCF.User={userID:0,username:"",init:function(e,t){this.userID=e,this.username=t}},WCF.Effect={},WCF.Effect.Scroll=Class.extend({scrollTo:function(e,t,i){if(!e.length)return!0;var n=e.getOffsets("offset
").top,s=$(document).height(),a=$(window).height();return n>s-a&&(n=s-a,0>n&&(n=0)),i===!0?$("html
,body
").scrollTop(n):$("html
,body
").animate({scrollTop:n},400,function(e,t,i,n,s){return-n*((t=t/s-1)*t*t*t-1)+i}),!1}}),WCF.CloseOverlayHandler={addCallback:function(e,t){require(["Ui
/CloseOverlay
"],function(i){i.add(e,t)})},removeCallback:function(e){require(["Ui
/CloseOverlay"],function(t){t.remove(e)})},forceExecution:function(){require(["Ui/CloseOverlay
"],function(e){e.execute()})}},WCF.DOMNodeInsertedHandler={addCallback:function(e,t){require(["WoltLabSuite
/Core/Dom
/Change/Listener
"],function(e){e.add("__legacy__
",t)})},_executeCallbacks:function(){require(["WoltLabSuite
/Core/Dom
/Change/Listener
"],function(e){e.trigger()})},execute:function(){this._executeCallbacks()}},WCF.DOMNodeRemovedHandler={_callbacks:new WCF.Dictionary,_isExecuting:!1,_isListening:!1,addCallback:function(e,t){return this._bindListener(),this._callbacks.isset(e)?(console.debug("[WCF
.DOMNodeRemovedHandler
] identifier
'"+e+"' is already bound to a callback
"),!1):void this._callbacks.add(e,t)},removeCallback:function(e){this._callbacks.isset(e)&&this._callbacks.remove(e)},_bindListener:function(){if(!this._isListening){if(window.MutationObserver){var e=new MutationObserver(function(e){var t=!1;e.forEach(function(e){e.removedNodes.length&&(t=!0)}.bind(this)),t&&this._executeCallbacks({})}.bind(this));e.observe(document.body,{childList:!0,subtree:!0})}else $(document).bind("DOMNodeRemoved
",$.proxy(this._executeCallbacks,this));this._isListening=!0}},_executeCallbacks:function(e){this._isExecuting||(this._isExecuting=!0,this._callbacks.each(function(t){t.value(e)}),this._isExecuting=!1)}},WCF.Option={},WCF.Option.Handler=Class.extend({init:function(){this._initOptions(),WCF.DOMNodeInsertedHandler.addCallback("WCF
.Option
.Handler
",$.proxy(this._initOptions,this))},_initOptions:function(){$(".jsEnablesOptions
").each($.proxy(this._initOption,this))},_initOption:function(e,t){this._change(t),$(t).change($.proxy(this._handleChange,this))},_handleChange:function(e){this._change($(e.target))},_change:function(option){option=$(option);var disableOptions=eval(option.data("disableOptions
")),enableOptions=eval(option.data("enableOptions
"));switch(option.getTagName()){case"input
":switch(option.attr("type
")){case"checkbox
":this._execute(option.prop("checked
"),disableOptions,enableOptions);break;case"radio
":if(option.prop("checked
")){var isActive=!0;option.data("isBoolean
")&&1!=option.val()&&(isActive=!1),this._execute(isActive,disableOptions,enableOptions)}}break;case"select
":var $value=option.val(),relevantDisableOptions=[],relevantEnableOptions=[];if(disableOptions.length>0)for(var $index in disableOptions){var $item=disableOptions[$index];$item.value==$value?relevantDisableOptions.push($item.option):relevantEnableOptions.push($item.option)}if(enableOptions.length>0)for(var $index in enableOptions){var $item=enableOptions[$index];$item.value==$value?relevantEnableOptions.push($item.option):relevantDisableOptions.push($item.option)}this._execute(!0,relevantDisableOptions,relevantEnableOptions)}},_execute:function(e,t,i){if(t.length>0)for(var n=0,s=t.length;s>n;n++){var a=t[n];if($.wcfIsset(a))this._enableOption(a,!e);else{var o=$("."+a+"Input
");o.length&&this._enableOptions(o.children("dd
").find("input
, select
, textarea
"),!e)}}if(i.length>0)for(var n=0,s=i.length;s>n;n++){var a=i[n];if($.wcfIsset(a))this._enableOption(a,e);else{var o=$("."+a+"Input
");o.length&&this._enableOptions(o.children("dd
").find("input
, select
, textarea
"),e)}}},_enableOption:function(e,t){this._enableOptionElement($("#"+$.wcfEscapeID(e)),t)},_enableOptionElement:function(e,t){e=$(e);var i=e.getTagName();if("select
"==i||"input
"==i&&("checkbox
"==e.attr("type
")||"file
"==e.attr("type
")||"radio
"==e.attr("type
"))){if(t?e.enable():e.disable(),e.parents(".optionTypeBoolean
:eq(0)")){var n=$("#"+e.wcfIdentify()+"_no
");t?n.enable():n.disable()}}else t?e.removeAttr("readonly
"):e.attr("readonly
",!0);t?e.closest("dl
").removeClass("disabled
"):e.closest("dl
").addClass("disabled
")},_enableOptions:function(e,t){for(var i=0,n=e.length;n>i;i++)this._enableOptionElement(e[i],t)}}),WCF.PageVisibilityHandler={_callbacks:new WCF.Dictionary,_isListening:!1,_hiddenFieldName:"",addCallback:function(e,t){return this._bindListener(),this._callbacks.isset(e)?(console.debug("[WCF
.PageVisibilityHandler
] identifier
'"+e+"' is already bound to a callback
"),!1):void this._callbacks.add(e,t)},removeCallback:function(e){this._callbacks.isset(e)&&this._callbacks.remove(e)},_bindListener:function(){if(!this._isListening){var e=null;"undefined"!=typeof document.hidden?(this._hiddenFieldName="hidden
",e="visibilitychange
"):"undefined"!=typeof document.mozHidden?(this._hiddenFieldName="mozHidden
",e="mozvisibilitychange
"):"undefined"!=typeof document.msHidden?(this._hiddenFieldName="msHidden
",e="msvisibilitychange
"):"undefined"!=typeof document.webkitHidden&&(this._hiddenFieldName="webkitHidden
",e="webkitvisibilitychange
"),null===e?console.debug("[WCF
.PageVisibilityHandler
] This browser does not support the page visibility API
."):$(document).on(e,$.proxy(this._executeCallbacks,this)),this._isListening=!0}},_executeCallbacks:function(){if(!this._isExecuting){this._isExecuting=!0;var e=document[this._hiddenFieldName];this._callbacks.each(function(t){t.value(e)}),this._isExecuting=!1}}},WCF.Table={},WCF.Table.EmptyTableHandler=Class.extend({_options:{},_rowClassName:"",init:function(e,t,i){this._rowClassName=t,this._tableContainer=e,this._options=$.extend(!0,{emptyMessage:null,messageType:"info
",refreshPage:!1,updatePageNumber:!1},i||{}),WCF.DOMNodeRemovedHandler.addCallback("WCF
.Table
.EmptyTableHandler
."+t,$.proxy(this._remove,this))},_getRowCount:function(){return this._tableContainer.find("table tr
."+this._rowClassName).length},_handleEmptyTable:function(){if(this._options.emptyMessage)this._tableContainer.replaceWith($("<p
/>").addClass(this._options.messageType).text(this._options.emptyMessage));else if(this._options.refreshPage)if(this._options.updatePageNumber){var e=window.location.href.match(/(\?|&)pageNo
=(\d
+)/g);if(e){var t=e[e.length-1].match(/\d
+/g);this._options.updatePageNumber>0?t++:t--,window.location=window.location.href.replace(e[e.length-1],e[e.length-1][0]+"pageNo="+t)}}else window.location.reload();else this._tableContainer.remove()},_remove:function(e){if($.getLength(e)){var t=$(e.target);if(t.hasClass(this._rowClassName)){var i=t.parents("tbody:eq(0)");1==i.children("tr").length&&this._handleEmptyTable()}}else this._getRowCount()||this._handleEmptyTable()}}),WCF.Search={},WCF.Search.Base=Class.extend({_callback:null,_caretAt:-1,_className:"",_commaSeperated:!1,_delay:0,_excludedSearchValues:[],_itemCount:0,_itemIndex:-1,_list:null,_oldSearchString:[],_proxy:null,_searchInput:null,_triggerLength:3,_timer:null,init:function(e,t,i,n,s){return null===t||void 0===t||$.isFunction(t)?(this._callback=t?t:null,this._caretAt=-1,this._delay=0,this._excludedSearchValues=[],i&&(this._excludedSearchValues=i),this._searchInput=$(e),this._searchInput.length?(this._searchInput.keydown($.proxy(this._keyDown,this)).keyup($.proxy(this._keyUp,this)).wrap('<span class="dropdown" />'),$.browser.mozilla&&$.browser.touch&&this._searchInput.on("input",$.proxy(this._keyUp,this)),this._list=$('<ul
class="dropdownMenu" />').insertAfter(this._searchInput),this._commaSeperated=n?!0:!1,this._oldSearchString=[],this._itemCount=0,this._itemIndex=-1,this._proxy=new WCF.Action.Proxy({showLoadingOverlay:s!==!0?!1:!0,success:$.proxy(this._success,this),autoAbortPrevious:!0}),this._searchInput.is("input")&&this._searchInput.attr("autocomplete","off"),this._searchInput.blur($.proxy(this._blur,this)),void WCF.Dropdown.initDropdownFragment(this._searchInput.parent(),this._list)):void console.debug("[WCF.Search.Base] Selector '"+e+"' for search input is invalid, aborting.")):void console.debug("[WCF.Search.Base] The given callback is invalid, aborting.")},_blur:function(){var e=this;new WCF.PeriodicalExecuter(function(t){e._list.is(":visible")&&e._clearList(!1),t.stop()},250)},_keyDown:function(e){if(e.which===$.ui.keyCode.ENTER){var t=this._searchInput.parents(".dropdown");t.data("disableAutoFocus")?-1!==this._itemIndex&&e.preventDefault():(t.data("preventSubmit")||-1!==this._itemIndex)&&e.preventDefault()}},_keyUp:function(e){switch(e.which){case 37:case 39:return;case 38:return void this._selectPreviousItem();case 40:return void this._selectNextItem();case 13:return this._selectElement(e)}var t=this._getSearchString(e);if(""===t)this._clearList(!1);else if(t.length>=this._triggerLength){var i={data:{excludedSearchValues:this._excludedSearchValues,searchString:t}};if(this._delay){null!==this._timer&&this._timer.stop();var n=this;this._timer=new WCF.PeriodicalExecuter(function(){n._queryServer(i),n._timer.stop(),n._timer=null},this._delay)}else this._queryServer(i)}else this._clearList(!1)},_queryServer:function(e){this._searchInput.parents(".searchBar").addClass("loading"),this._proxy.setOption("data",{actionName:"getSearchResultList",className:this._className,interfaceName:"wcf\\data\\ISearchAction",parameters:this._getParameters(e)}),this._proxy.sendRequest()},setDelay:function(e){this._delay=e},_selectNextItem:function(){0!==this._itemCount&&(this._itemIndex++,this._itemIndex===this._itemCount&&(this._itemIndex=0),this._highlightSelectedElement())},_selectPreviousItem:function(){0!==this._itemCount&&(this._itemIndex--,-1===this._itemIndex&&(this._itemIndex=this._itemCount-1),this._highlightSelectedElement())},_highlightSelectedElement:function(){this._list.find("li").removeClass("dropdownNavigationItem"),this._list.find("li:eq("+this._itemIndex+")").addClass("dropdownNavigationItem")},_selectElement:function(){return 0===this._itemCount?!0:(this._list.find("li.dropdownNavigationItem").trigger("click"),!1)},_getSearchString:function(e){var t=$.trim(this._searchInput.val());if(this._commaSeperated){var i=e.keyCode||e.which;if(i==$.ui.keyCode.COMMA)return"";for(var n=t.split(","),s=n.length,a=0;s>a;a++)n[a]=$.trim(n[a]);for(var a=0;s>a;a++){var o=n[a];if(!this._oldSearchString[a]){t=o;break}if(o!=this._oldSearchString[a]){t=o,this._caretAt=a;break}}this._oldSearchString=n}return t},_getParameters:function(e){return e},_success:function(e){if(this._clearList(!1),this._searchInput.parents(".searchBar").removeClass("loading"),$.getLength(e.returnValues))for(var t in e.returnValues){var i=e.returnValues[t];this._createListItem(i)}else if(!this._handleEmptyResult())return;WCF.CloseOverlayHandler.addCallback("WCF.Search.Base",$.proxy(function(){this._clearList()},this));var n=this._searchInput.parents(".dropdown").wcfIdentify();WCF.Dropdown.getDropdownMenu(n).hasClass("dropdownOpen")||WCF.Dropdown.toggleDropdown(n),this._itemIndex=-1,WCF.Dropdown.getDropdown(n).data("disableAutoFocus")||this._selectNextItem()},_handleEmptyResult:function(){return!1},_createListItem:function(e){var t=$("<li><span>"+WCF.String.escapeHTML(e.label)+"</span></li>").appendTo(this._list);return t.data("objectID",e.objectID).data("label",e.label).click($.proxy(this._executeCallback,this)),this._itemCount++,t},_executeCallback:function(e){var t=!1,i=$(e.currentTarget);if(this._commaSeperated){var n=i.data("label");this._oldSearchString[this._caretAt]=n,this._searchInput.val(this._oldSearchString.join(", ")),$.browser.webkit&&this._searchInput.css({display:"block"});var s=this._searchInput.val().toLowerCase().indexOf(n.toLowerCase())+n.length;this._searchInput.focus().setCaret(s)}else null===this._callback?this._searchInput.val(i.data("label")):t=this._callback(i.data())===!0?!0:!1;this._clearList(t)},_clearList:function(e){e&&!this._commaSeperated&&this._searchInput.val(""),WCF.Dropdown.getDropdown(this._searchInput.parents(".dropdown").wcfIdentify()).removeClass("dropdownOpen"),WCF.Dropdown.getDropdownMenu(this._searchInput.parents(".dropdown").wcfIdentify()).removeClass("dropdownOpen"),this._list.end().empty(),WCF.CloseOverlayHandler.removeCallback("WCF.Search.Base"),this._itemCount=0,this._itemIndex=-1},addExcludedSearchValue:function(e){WCF.inArray(e,this._excludedSearchValues)||this._excludedSearchValues.push(e)},removeExcludedSearchValue:function(e){var t=$.inArray(e,this._excludedSearchValues);-1!=t&&this._excludedSearchValues.splice(t,1)}}),WCF.Search.User=WCF.Search.Base.extend({_className:"wcf\\data\\user\\UserAction",_includeUserGroups:!1,init:function(e,t,i,n,s){this._includeUserGroups=i,this._super(e,t,n,s)},_getParameters:function(e){return e.data.includeUserGroups=this._includeUserGroups?1:0,e},_createListItem:function(e){var t=this._super(e),i=null;if(e.icon?i=$(e.icon):this._includeUserGroups&&"group"===e.type&&(i=$('<span class="icon icon16 fa-users" />')),i){var n=t.find("span").detach(),s=$("<div />").addClass("box16").appendTo(t);s.append(i),s.append($("<div />").append(n))}return t.data("type",e.type),t}}),WCF.System={},WCF.System.Dependency={},WCF.System.Dependency.Manager={_callbacks:{},_loaded:[],_setupCallbacks:{},register:function(e,t){return $.isFunction(t)?void(WCF.inArray(e,this._loaded)?setTimeout(function(){t()},1):(this._callbacks[e]||(this._callbacks[e]=[]),this._callbacks[e].push(t))):void console.debug("[WCF.System.Dependency.Manager] Callback for identifier '"+e+"' is invalid, aborting.")},setup:function(e,t){return $.isFunction(t)?(this._setupCallbacks[e]||(this._setupCallbacks[e]=[]),void this._setupCallbacks[e].push(t)):void console.debug("[WCF.System.Dependency.Manager] Setup callback for identifier '"+e+"' is invalid, aborting.")},invoke:function(e){if(this._setupCallbacks[e]){for(var t=0,i=this._setupCallbacks[e].length;i>t;t++)this._setupCallbacks[e][t]();delete this._setupCallbacks[e]}if(this._loaded.push(e),this._callbacks[e]){for(var t=0,i=this._callbacks[e].length;i>t;t++)this._callbacks[e][t]();delete this._callbacks[e]}},reset:function(e){var t=this._loaded.indexOf(e);-1!==t&&this._loaded.splice(t,1)}},WCF.System.FlexibleMenu={init:function(){},registerMenu:function(e){require(["WoltLabSuite/Core/Ui/FlexibleMenu"],function(t){t.register(e)})},rebuild:function(e){require(["WoltLabSuite/Core/Ui/FlexibleMenu"],function(t){t.rebuild(e)})}},WCF.System.Mobile={},WCF.System.ObjectStore={_objects:{},add:function(e,t){void 0===this._objects[e]&&(this._objects[e]=[]),this._objects[e].push(t)},invoke:function(e,t){if(this._objects[e])for(var i=0;i<this._objects[e].length;i++)t(this._objects[e][i])}},WCF.System.Captcha={addCallback:function(e,t){require(["WoltLabSuite/Core/Controller/Captcha"],function(i){try{i.add(e,t)}catch(e){if(e instanceof TypeError)return void console.debug("[WCF.System.Captcha] Given callback is no function")}})},getData:function(e){var t,i=require("WoltLabSuite/Core/Controller/Captcha");try{t=i.getData(e)}catch(t){console.debug('[WCF
.System
.Captcha
] Unknow captcha id
"'+e+'"')}return t},removeCallback:function(e){require(["WoltLabSuite/Core/Controller/Captcha"],function(t){try{t.delete(e)}catch(e){}})}},WCF.System.Page={},WCF.System.Notification=Class.extend({_cssClassNames:"",_message:"",init:function(e,t){this._cssClassNames=t||"",this._message=e||""},show:function(e,t,i,n){require(["Ui/Notification"],function(t){t.show(i||this._message,e,n||this._cssClassNames)}.bind(this))}}),WCF.System.Confirmation={show:function(e,t,i,n,s){if("object"==typeof n){var a=$("<div />");a.append(n),n=a.html()}require(["Ui/Confirmation"],function(a){a.show({legacyCallback:t,message:e,parameters:i,template:n||"",messageIsHtml:s===!0})})}},WCF.System.DisableScrolling={_depth:0,_oldOverflow:null,disable:function(){$.browser.touch||(0===this._depth&&(this._oldOverflow=$(document.body).css("overflow"),$(document.body).css("overflow","hidden")),this._depth++)},enable:function(){0!==this._depth&&(this._depth--,0===this._depth&&$(document.body).css("overflow",this._oldOverflow))}},WCF.System.DisableZoom={_depth:0,_oldViewportSettings:null,disable:function(){if(0===this._depth){var e=$("meta[name=viewport]");this._oldViewportSettings=e.attr("content"),e.attr("content",this._oldViewportSettings+",maximum-scale=1")}this._depth++},enable:function(){0!==this._depth&&(this._depth--,0===this._depth&&$("meta[name=viewport]").attr("content",this._oldViewportSettings))}},WCF.System.Fullscreen={enterFullscreen:function(e){e.requestFullscreen?e.requestFullscreen():e.msRequestFullscreen?e.msRequestFullscreen():e.mozRequestFullScreen?e.mozRequestFullScreen():e.webkitRequestFullscreen&&e.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT)},toggleFullscreen:function(e){null===this.getFullscreenElement()?this.enterFullscreen(e):this.exitFullscreen()},getFullscreenElement:function(){return document.fullscreenElement?document.fullscreenElement:document.mozFullScreenElement?document.mozFullScreenElement:document.webkitFullscreenElement?document.webkitFullscreenElement:document.msFullscreenElement?document.msFullscreenElement:null},exitFullscreen:function(){document.exitFullscreen?document.exitFullscreen():document.msExitFullscreen?document.msExitFullscreen():document.mozCancelFullScreen?document.mozCancelFullScreen():document.webkitExitFullscreen&&document.webkitExitFullscreen()},isSupported:function(){return document.documentElement.requestFullscreen||document.documentElement.msRequestFullscreen||document.documentElement.mozRequestFullScreen||document.documentElement.webkitRequestFullscreen?!0:!1}},WCF.System.PageNavigation={init:function(e,t){require(["WoltLabSuite/Core/Ui/Page/JumpTo"],function(i){for(var n=elBySelAll(e),s=0,a=n.length;a>s;s++)i.init(n[s],t)})}},WCF.System.KeepAlive=Class.extend({init:function(e){new WCF.PeriodicalExecuter(function(e){new WCF.Action.Proxy({autoSend:!0,data:{actionName:"keepAlive",className:"wcf\\data\\session\\SessionAction"},failure:function(){e.stop()},showLoadingOverlay:!1,success:function(e){WCF.System.PushNotification.executeCallbacks(e)},suppressErrors:!0})},1e3*e)}}),WCF.System.PushNotification={_callbacks:{},addCallback:function(e,t){void 0===this._callbacks[e]&&(this._callbacks[e]=[]),this._callbacks[e].push(t)},executeCallbacks:function(e){for(var t in e.returnValues)if(void 0!==this._callbacks[t])for(var i=0;i<this._callbacks[t].length;i++)this._callbacks[t][i](e.returnValues[t])}},WCF.System.Event={addListener:function(e,t,i){return window.__wcf_bc_eventHandler.add(e,t,i)},removeListener:function(e,t,i){return window.__wcf_bc_eventHandler.remove(e,t,i)},removeAllListeners:function(e,t){return window.__wcf_bc_eventHandler.removeAll(e,t)},fireEvent:function(e,t,i){window.__wcf_bc_eventHandler.fire(e,t,i)}},WCF.System.Worker=Class.extend({_aborted:!1,_actionName:"",_callback:null,_className:"",_dialog:null,_proxy:null,_title:"",init:function(e,t,i,n,s){this._aborted=!1,this._actionName=e,this._callback=s||null,this._className=t,this._dialog=null,this._proxy=new WCF.Action.Proxy({autoSend:!0,data:{actionName:this._actionName,className:this._className,parameters:n||{}},showLoadingOverlay:!1,success:$.proxy(this._success,this)}),this._title=i},_success:function(e){if(null===this._dialog&&(this._dialog=$("<div />").hide().appendTo(document.body),this._dialog.wcfDialog({closeConfirmMessage:WCF.Language.get("wcf.worker.abort.confirmMessage"),closeViaModal:!1,onClose:$.proxy(function(){this._aborted=!0,this._proxy.abortPrevious(),window.location.reload()},this),title:this._title})),!this._aborted)if(e.returnValues.template&&this._dialog.html(e.returnValues.template),this._dialog.find("progress").attr("value",e.returnValues.progress).text(e.returnValues.progress+"%").next("span").text(e.returnValues.progress+"%"),e.returnValues.progress<100){var t=e.returnValues.parameters||{};t.loopCount=e.returnValues.loopCount,this._proxy.setOption("data",{actionName:this._actionName,className:this._className,parameters:t}),this._proxy.sendRequest()}else if(null!==this._callback)this._callback(this,e);else{this._dialog.find(".fa-spinner").removeClass("fa-spinner").addClass("fa-check green"),this._dialog.find(".contentHeader h1").text(WCF.Language.get("wcf.global.worker.completed"));var i=$('<div
class="formSubmit" />').appendTo(this._dialog);$('<button
class="buttonPrimary">'+WCF.Language.get("wcf.global.button.next")+"</button>").appendTo(i).focus().click(function(){e.returnValues.redirectURL?window.location=e.returnValues.redirectURL:window.location.reload()}),this._dialog.wcfDialog("render")}}}),WCF.InlineEditor=Class.extend({_callbacks:[],_dropdowns:{},_elements:{},_notification:null,_options:[],_proxy:null,_triggerElements:{},_updateData:[],init:function(e){var t=$(e);if(t.length){this._setOptions();for(var i="",n=0,s=this._options.length;s>n;n++)if(this._options[n].isQuickOption){i=this._options[n].optionName;break}var a=this;t.each(function(e,t){var n=$(t),s=n.wcfIdentify(),o=a._getTriggerElement(n);null!==o&&1===o.length&&(o.on(WCF_CLICK_EVENT,$.proxy(a._show,a)).data("elementID",s),i&&o.disableSelection().data("optionName",i).dblclick($.proxy(a._click,a)),a._elements[s]=n)}),this._proxy=new WCF.Action.Proxy({success:$.proxy(this._success,this)}),WCF.CloseOverlayHandler.addCallback("WCF.InlineEditor",$.proxy(this._closeAll,this)),this._notification=new WCF.System.Notification(WCF.Language.get("wcf.global.success"),"success")}},_closeAll:function(){for(var e in this._elements)this._hide(e)},_setOptions:function(){this._options=[]},registerCallback:function(e){$.isFunction(e)&&this._callbacks.push(e)},_getTriggerElement:function(){return null},_show:function(e){e.preventDefault();var t=$(e.currentTarget).data("elementID"),i=null;if(!this._dropdowns[t]){this._triggerElements[t]=i=this._getTriggerElement(this._elements[t]).addClass("dropdownToggle");var n=i[0].parentNode;n&&"LI"===n.nodeName&&1===n.childElementCount?n.classList.add("dropdown"):i.wrap('<span
class="dropdown" />'),this._dropdowns[t]=$('<ul
class="dropdownMenu" />').insertAfter(i)}this._dropdowns[t].empty();for(var s=!1,a="",o=0,r=this._options.length;r>o;o++){var l=this._options[o];if("divider"===l.optionName)""!==a&&"divider"!==a&&($('<li class="dropdownDivider" />').appendTo(this._dropdowns[t]),a=l.optionName);else if(this._validate(t,l.optionName)||this._validateCallbacks(t,l.optionName)){var c=$("<li><span>"+l.label+"</span></li>").appendTo(this._dropdowns[t]);c.data("elementID",t).data("optionName",l.optionName).data("isQuickOption",l.isQuickOption?!0:!1).click($.proxy(this._click,this)),s=!0,a=l.optionName}}if(s){var u=this._dropdowns[t].children().last();u.hasClass("dropdownDivider")&&u.remove();var h=null,d=0;if(this._dropdowns[t].children().each(function(e,t){var i=$(t);i.hasClass("dropdownDivider")||(i.data("isQuickOption")?h=i:d++)}),!d)return h.trigger("click"),this._triggerElements[t]&&WCF.Dropdown.close(this._triggerElements[t].parents(".dropdown").wcfIdentify()),!1}return null!==i&&WCF.Dropdown.initDropdown(i,!0),!1},_validate:function(){return!1},_validateCallbacks:function(e,t){var i=this._callbacks.length;if(i)for(var n=0;i>n;n++)if(this._callbacks[n].validate(this._elements[e],t))return!0;return!1},_success:function(e){var t=this._updateData.length;t&&(this._updateState(e),this._updateData=[])},_updateState:function(){},_click:function(e){var t=$(e.currentTarget),i=t.data("elementID"),n=t.data("optionName");this._execute(i,n)||this._executeCallback(i,n),this._hide(i)},_execute:function(){return!1},_executeCallback:function(e,t){var i=this._callbacks.length;if(i)for(var n=0;i>n;n++)if(this._callbacks[n].execute(this._elements[e],t))return!0;return!1},_hide:function(e){this._dropdowns[e]&&this._dropdowns[e].empty().removeClass("dropdownOpen")}}),WCF.Upload=Class.extend({_name:"__files[]",_buttonSelector:null,_fileListSelector:null,_fileUpload:null,_className:"",_iframe:null,_internalFileID:0,_options:{},_uploadMatrix:[],_supportsAJAXUpload:!0,_overlay:null,init:function(e,t,i,n){this._buttonSelector=e,this._fileListSelector=t,this._className=i,this._internalFileID=0,this._options=$.extend(!0,{action:"upload",multiple:!1,url:"index.php?ajax-upload/&t="+SECURITY_TOKEN},n||{}),this._options.url=WCF.convertLegacyURL(this._options.url),0===this._options.url.indexOf("index.php")&&(this._options.url=WSC_API_URL+this._options.url);var s=new XMLHttpRequest;this._supportsAJAXUpload=s&&"upload"in s&&"onprogress"in s.upload,this._createButton()},_createButton:function(){if(this._supportsAJAXUpload){this._fileUpload=$('<input type
="file" name
="'+this._name+'" '+(this._options.multiple?'multiple
="true" ':"")+"/>"),this._fileUpload.change($.proxy(this._upload,this));var e=$('<p
class="button uploadButton"><span
>'+WCF.Language.get("wcf.global.button.upload")+"</span></p>");e.prepend(this._fileUpload)}else{var e=$('<p
class="button uploadFallbackButton"><span
>'+WCF.Language.get("wcf.global.button.upload")+"</span></p>");e.click($.proxy(this._showOverlay,this))}this._insertButton(e)},_insertButton:function(e){this._buttonSelector.prepend(e)},_removeButton:function(){var e=".uploadButton";this._supportsAJAXUpload||(e=".uploadFallbackButton"),this._buttonSelector.find(e).remove()},_upload:function(e,t,i){var n=null,s=[];if(t)s.push(t);else if(i){var a="";switch(i.type){case"image/png":a=".png";break;case"image/jpeg":a=".jpg";break;case"image/gif":a=".gif"}s.push({name:"pasted-from-clipboard"+a})}else s=this._fileUpload.prop("files");if(s.length){var o=new FormData;if(n=this._createUploadMatrix(s),!this._uploadMatrix[n].length)return null;for(var r=0,l=s.length;l>r;r++)if(this._uploadMatrix[n][r]){var c=this._uploadMatrix[n][r].data("internalFileID");i?o.append("__files["+c+"]",i,s[r].name):o.append("__files["+c+"]",s[r])}o.append("actionName",this._options.action),o.append("className",this._className);var u=this._getParameters();for(var h in u)o.append("parameters["+h+"]",u[h]);var d=this;$.ajax({type:"POST",url:this._options.url,enctype:"multipart/form-data",data:o,contentType:!1,processData:!1,success:function(e){d._success(n,e)},error:$.proxy(this._error,this),xhr:function(){var e=$.ajaxSettings.xhr();return e&&e.upload.addEventListener("progress",function(e){d._progress(n,e)},!1),e}})}return n},_createUploadMatrix:function(e){if(e.length){var t=this._uploadMatrix.length;this._uploadMatrix[t]=[];for(var i=0,n=e.length;n>i;i++){var s=e[i],a=this._initFile(s);a.hasClass("uploadFailed")||(a.data("filename",s.name).data("internalFileID",this._internalFileID++),this._uploadMatrix[t][i]=a)}return t}return null},_success:function(){},_error:function(){},_progress:function(e,t){var i=Math.round(100*t.loaded/t.total);for(var n in this._uploadMatrix[e])this._uploadMatrix[e][n].find("progress").attr("value",i)},_getParameters:function(){return{}},_initFile:function(e){return $("<li>"+e.name+" ("+e.size+')<progress max
="100" /></li>').appendTo(this._fileListSelector)},_showOverlay:function(){if(null===this._iframe&&(this._iframe=$('<iframe name="__fileUploadIFrame" />').hide().appendTo(document.body)),!this._overlay){this._overlay=$('<div
><form enctype
="multipart/form-data" method
="post" action
="'+this._options.url+'" target
="__fileUploadIFrame" /></div>').hide().appendTo(document.body);var e=this._overlay.find("form");$('<dl class="wide"><dd><input type="file" id="__fileUpload" name="'+this._name+'" '+(this._options.multiple?'multiple="true" ':"")+"/></dd></dl>").appendTo(e),$('<div class="formSubmit
"><input type="submit
" value="Upload
" accesskey="s
" /></div></form>').appendTo(e),$('<input type="hidden
" name="isFallback
" value="1" />').appendTo(e),$('<input type="hidden
" name="actionName
" value="'+this._options.action+'" />').appendTo(e),$('<input type="hidden
" name="className
" value="'+this._className+'" />').appendTo(e);var t=this._getParameters();for(var i in t)$('<input type="hidden
" name="'+i+'" value="'+t[i]+'" />').appendTo(e);e.submit($.proxy(function(){var e={name:this._getFilename(),size:""},t=this._createUploadMatrix([e]),i=this;this._iframe.data("loading
",!0).off("load
").load(function(){i._evaluateResponse(t)}),this._overlay.wcfDialog("close
")},this))}this._overlay.wcfDialog({title:WCF.Language.get("wcf
.global
.button
.upload
")})},_evaluateResponse:function(e){var t=$.parseJSON(this._iframe.contents().find("pre
").html());this._success(e,t)},_getFilename:function(){return $("#__fileUpload
").val().split("\\").pop()}}),WCF.Upload.Parallel=WCF.Upload.extend({init:function(e,t,i,n){n=$.extend(!0,n||{},{multiple:!0}),this._super(e,t,i,n)},_upload:function(){for(var e=this._fileUpload.prop("files
"),t=0,i=e.length;i>t;t++){var n=e[t],s=new FormData,a=this._createUploadMatrix(n);if(this._uploadMatrix[a].length){s.append("__files
["+a+"]",n),s.append("actionName
",this._options.action),s.append("className
",this._className);var o=this._getParameters();for(var r in o)s.append("parameters
["+r+"]",o[r]);
70 this._sendRequest(a,s)}}},_sendRequest:function(e,t){var i=this;$.ajax({type:"POST
",url:this._options.url,enctype:"multipart
/form-data",data:t,contentType:!1,processData:!1,success:function(t){i._success(e,t)},error:$.proxy(this._error,this),xhr:function(){var t=$.ajaxSettings.xhr();return t&&t.upload.addEventListener("progress",function(t){i._progress(e,t)},!1),t}})},_createUploadMatrix:function(e){var t=this._initFile(e);return t.hasClass("uploadFailed")?null:(t.data("filename",e.name).data("internalFileID",this._internalFileID),this._uploadMatrix[this._internalFileID++]=t,this._internalFileID-1)},_success:function(){},_progress:function(e,t){var i=Math.round(100*t.loaded/t
.total
);this._uploadMatrix
[e
].find("progress").attr("value",i
)},_showOverlay:function(){if(null===this._iframe
&&(this._iframe
=$('<iframe name="__fileUploadIFrame" />').hide().appendTo(document
.body
)),!this._overlay
){this._overlay
=$('<div><form enctype="multipart/form-data" method="post" action="'+this._options
.url
+'" target="__fileUploadIFrame" /></div>').hide().appendTo(document
.body
);var e
=this._overlay
.find("form");$('<dl class="wide"><dd><input type="file" id="__fileUpload" name="'+this._name
+'" '+(this._options
.multiple
?'multiple="true" ':"")+"/></dd></dl>").appendTo(e
),$('<div class="formSubmit"><input type="submit" value="Upload" accesskey="s" /></div></form>').appendTo(e
),$('<input type="hidden" name="isFallback" value="1" />').appendTo(e
),$('<input type="hidden" name="actionName" value="'+this._options
.action
+'" />').appendTo(e
),$('<input type="hidden" name="className" value="'+this._className
+'" />').appendTo(e
);var t
=this._getParameters();for(var i
in t
)$('<input type="hidden" name="'+i
+'" value="'+t
[i
]+'" />').appendTo(e
);e
.submit($.proxy(function(){var e
={name
:this._getFilename(),size
:""},t
=this._createUploadMatrix(e
),i
=this;this._iframe
.data("loading",!0).off("load").load(function(){i
._evaluateResponse(t
)}),this._overlay
.wcfDialog("close")},this))}this._overlay
.wcfDialog({title
:WCF
.Language
.get("wcf.global.button.upload")})},_evaluateResponse:function(e
){var t
=$.parseJSON(this._iframe
.contents().find("pre").html());this._success(e
,t
)}}),WCF
.Sortable
={},WCF
.Sortable
.List
=Class
.extend({_additionalParameters
:{},_className
:"",_containerID
:"",_container
:null,_notification
:null,_offset
:0,_options
:{},_proxy
:null,_structure
:{},init:function(e
,t
,i
,n
,s
,a
){this._additionalParameters
=a
||{},this._containerID
=$.wcfEscapeID(e
),this._container
=$("#"+this._containerID
),this._className
=t
,this._offset
=i
?i
:0,this._proxy
=new WCF
.Action
.Proxy({success
:$.proxy(this._success
,this)}),this._structure
={},this._options
=$.extend(!0,{axis
:"y",connectWith
:"#"+this._containerID
+" .sortableList",disableNesting
:"sortableNoNesting",doNotClear
:!0,errorClass
:"sortableInvalidTarget",forcePlaceholderSize
:!0,helper
:"clone",items
:"li:not(.sortableNoSorting)",opacity
:.6,placeholder
:"sortablePlaceholder",tolerance
:"pointer",toleranceElement
:"> span"},n
||{});var o
=$("#"+this._containerID
+" .sortableList");if(o
.is("tbody")&&"clone"===this._options
.helper
){this._options
.helper
=this._tableRowHelper
.bind(this);var r
=o
.prev("thead");r
&&r
.find("th").each(function(e
,t
){t
=$(t
),t
.width(t
.width())})}if(s
?o
.sortable(this._options
):o
.nestedSortable(this._options
),this._className
){var l
=this._container
.find(".formSubmit");if(!l
.length
&&(l
=this._container
.next(".formSubmit"),!l
.length
))return void console
.debug("[WCF.Sortable.Simple] Unable to find form submit for saving, aborting.");l
.children('button[data-type="submit"]').click($.proxy(this._submit
,this))}},_tableRowHelper:function(e
,t
){return t
.children("td").each(function(e
,t
){t
=$(t
),t
.width(t
.width())}),t
},_submit:function(){this._structure
={},this._container
.find(".sortableList").each($.proxy(function(e
,t
){var i
=$(t
),n
=i
.data("objectID");void 0!==n
&&i
.children(this._options
.items
).each($.proxy(function(e
,t
){var i
=$(t
).data("objectID");this._structure
[n
]||(this._structure
[n
]=[]),this._structure
[n
].push(i
)},this))},this));var e
=$.extend(!0,{data
:{offset
:this._offset
,structure
:this._structure
}},this._additionalParameters
);this._proxy
.setOption("data",{actionName
:"updatePosition",className
:this._className
,interfaceName
:"wcf\\data\\ISortableAction",parameters
:e
}),this._proxy
.sendRequest()},_success:function(){null===this._notification
&&(this._notification
=new WCF
.System
.Notification(WCF
.Language
.get("wcf.global.success.edit"))),this._notification
.show()}}),WCF
.Popover
=Class
.extend({_activeElementID
:"",_identifier
:"",_popoverObj
:null,init:function(e
){var t
=!1;require(["Environment"],function(e
){"desktop"!==e
.platform()&&(t
=!0)}.bind(this)),t
||(this._activeElementID
="",this._identifier
=e
,require(["WoltLabSuite/Core/Controller/Popover"],function(t
){t
.init({attributeName
:"legacy",className
:e
,identifier
:this._identifier
,legacy
:!0,loadCallback
:this._legacyLoad
.bind(this)})}.bind(this)))},_initContainers:function(){},_legacyLoad:function(e
,t
){this._activeElementID
=e
,this._popoverObj
=t
,this._loadContent()},_insertContent:function(e
,t
){this._popoverObj
.setContent(this._identifier
,e
,t
)}}),WCF
.EditableItemList
=Class
.extend({_allowCustomInput
:!1,_className
:"",_data
:{},_form
:null,_itemList
:null,_objectID
:0,_objectTypeID
:0,_search
:null,_searchInput
:null,init:function(e
,t
){if(this._itemList
=$(e
),this._searchInput
=$(t
),this._data
={},!this._itemList
.length
||!this._searchInput
.length
)return void console
.debug("[WCF.EditableItemList] Item list and/or search input do not exist, aborting.");if(this._objectID
=this._getObjectID(),this._objectTypeID
=this._getObjectTypeID(),this._itemList
.find(".jsEditableItem").click($.proxy(this._click
,this)),this._itemList
.children("ul").length
||$("<ul />").appendTo(this._itemList
),this._itemList
=this._itemList
.children("ul"),this._form
=this._itemList
.parents("form").submit($.proxy(this._submit
,this)),this._allowCustomInput
){var i
=this;this._searchInput
.keydown($.proxy(this._keyDown
,this)).keypress($.proxy(this._keyPress
,this)).on("paste",function(){setTimeout(function(){i
._onPaste()},100)})}this._searchInput
.parents(".dropdown").data("preventSubmit",!0)},_keyDown:function(e
){return null===e
?this._keyPress(null):!0},_keyPress:function(e
){if(null===e
||44===e
.charCode
||e
.charCode
===$.ui
.keyCode
.ENTER
||$.browser
.mozilla
&&e
.keyCode
===$.ui
.keyCode
.ENTER
){if(null!==e
&&e
.charCode
===$.ui
.keyCode
.ENTER
&&this._search
&&-1!==this._search
._itemIndex
)return!1;var t
=$.trim(this._searchInput
.val());return e
&&44===e
.charCode
&&(t
=t
.substring(0,this._searchInput
.getCaret())),""===t
?!0:(this.addItem({objectID
:0,label
:t
}),this._searchInput
.val(e
&&44===e
.charCode
?$.trim(this._searchInput
.val().substr(this._searchInput
.getCaret())):""),null!==e
&&e
.stopPropagation(),!1)}return!0},_onPaste:function(){var e
=$.trim(this._searchInput
.val());e
=e
.split(",");for(var t
=0,i
=e
.length
;i
>t
;t
++){var n
=$.trim(e
[t
]);""!==n
&&this.addItem({objectID
:0,label
:n
})}this._searchInput
.val("")},load:function(){},_click:function(e
){var t
=$(e
.currentTarget
),i
=t
.data("objectID"),n
=t
.data("label");return this._search
&&this._search
.removeExcludedSearchValue(n
),this._removeItem(i
,n
),t
.remove(),e
.stopPropagation(),!1},_getObjectID:function(){return 0},_getObjectTypeID:function(){return 0},addItem:function(e
){if(this._data
[e
.objectID
]&&(0!==e
.objectID
||!this._allowCustomInput
))return!0;var t
=$('<li class="badge">'+WCF
.String
.escapeHTML(e
.label
)+"</li>").data("objectID",e
.objectID
).data("label",e
.label
).appendTo(this._itemList
);return t
.click($.proxy(this._click
,this)),this._search
&&this._search
.addExcludedSearchValue(e
.label
),this._addItem(e
.objectID
,e
.label
),!0},clearList:function(){this._itemList
.children("li").each($.proxy(function(e
,t
){var i
=$(t
);this._search
&&this._search
.removeExcludedSearchValue(i
.data("label")),i
.remove(),this._removeItem(i
.data("objectID"),i
.data("label"))},this))},_submit:function(){this._keyDown(null)},_addItem:function(e
,t
){this._data
[e
]=t
},_removeItem:function(e
){delete this._data
[e
]},getSearchInput:function(){return this._searchInput
}}),WCF
.Language
.Chooser
=Class
.extend({init:function(e
,t
,i
,n
,s
,a
){require(["WoltLabSuite/Core/Language/Chooser"],function(o
){o
.init(e
,t
,i
,n
,s
,a
)})}}),WCF
.Style
={},WCF
.UserPanel
=Class
.extend({_container
:null,_didLoad
:!1,_link
:null,_noItems
:"",_revertOnEmpty
:!0,init:function(e
){return this._container
=$("#"+e
),this._didLoad
=!1,this._revertOnEmpty
=!0,1!=this._container
.length
?void console
.debug("[WCF.UserPanel] Unable to find container identfied by '"+e
+"', aborting."):void this._convert()},_convert:function(){this._container
.addClass("dropdown"),this._link
=this._container
.children("a").remove();var e
=$('<a href="'+this._link
.attr("href")+'" class="dropdownToggle">'+this._link
.html()+"</a>").appendTo(this._container
).click($.proxy(this._click
,this)),t
=$('<ul class="dropdownMenu" />').appendTo(this._container
);$('<li class="jsDropdownPlaceholder"><span>'+WCF
.Language
.get("wcf.global.loading")+"</span></li>").appendTo(t
),this._addDefaultItems(t
),this._container
.dblclick($.proxy(function(){return window
.location
=this._link
.attr("href"),!1},this)),WCF
.Dropdown
.initDropdown(e
,!1)},_addDefaultItems:function(){},_addDivider:function(e
){$('<li class="dropdownDivider" />').appendTo(e
)},_click:function(e
){e
.preventDefault(),this._didLoad
||(new WCF
.Action
.Proxy({autoSend
:!0,data
:this._getParameters(),success
:$.proxy(this._success
,this)}),this._didLoad
=!0)},_getParameters:function(){return{}},_success:function(e
){var t
=WCF
.Dropdown
.getDropdownMenu(this._container
.wcfIdentify());t
.children(".jsDropdownPlaceholder").remove(),e
.returnValues
&&e
.returnValues
.template
?($(""+e
.returnValues
.template
).prependTo(t
),this._updateBadge(e
.returnValues
.totalCount
),this._after(t
)):($("<li><span>"+WCF
.Language
.get(this._noItems
)+"</span></li>").prependTo(t
),this._updateBadge(0))},_updateBadge:function(e
){if(e
=parseInt(e
)||0){var t
=this._container
.find(".badge");t
.length
||(t
=$('<span class="badge badgeUpdate" />').appendTo(this._container
.children(".dropdownToggle")),t
.before(" ")),t
.html(e
)}else this._container
.find(".badge").remove()},_after:function(){}}),jQuery
.fn
.extend({wcfDialog:function(e
){var t
=arguments
;return require(["Dom/Util","Ui/Dialog"],function(i
,n
){var s
=i
.identify(this[0]);"close"===e
?n
.close(s
):"render"===e
?n
.rebuild(s
):"option"===e
?3===t
.length
&&"title"===t
[1]&&"string"==typeof t
[2]&&n
.setTitle(s
,t
[2]):(this[0].parentNode
.nodeType
===Node
.DOCUMENT_FRAGMENT_NODE
&&document
.body
.appendChild(this[0]),n
.openStatic(s
,null,1===t
.length
&&"object"==typeof t
[0]?t
[0]:{}))}.bind(this)),this}}),$.widget("ui.wcfSlideshow",{_buttonList
:null,_count
:0,_index
:0,_itemList
:null,_items
:null,_timer
:null,_width
:0,options
:{cycle
:!0,cycleInterval
:5,itemGap
:50},_create:function(){this._itemList
=this.element
.children("ul"),this._items
=this._itemList
.children("li"),this._count
=this._items
.length
,this._index
=0,this._count
>1&&this._initSlideshow()},_initSlideshow:function(){var e
=$(this._items
.get(0)).outerHeight();this._items
.addClass("slideshowItem"),this._width
=this.element
.css("height",e
).innerWidth(),this._itemList
.addClass("slideshowItemList").css("left",0),this._items
.each($.proxy(function(t
,i
){$(i
).show().css({height
:e
,left
:(this._width
+this.options
.itemGap
)*t
,width
:this._width
})},this)),this.element
.css({height
:e
,width
:this._width
}).hover($.proxy(this._hoverIn
,this),$.proxy(this._hoverOut
,this)),this._buttonList
=$('<ul class="slideshowButtonList" />').appendTo(this.element
);for(var t
=0;t
<this._count
;t
++){var i
=$('<li><a><span class="icon icon16 fa-circle" /></a></li>').data("index",t
).click($.proxy(this._click
,this)).appendTo(this._buttonList
);0==t
&&i
.find(".icon").addClass("active")}this._resetTimer(),$(window
).resize($.proxy(this._resize
,this))},rebuildHeight:function(){var e
=$(this._items
.get(0)).css("height","auto"),t
=e
.outerHeight();this._items
.css("height",t
+"px"),this.element
.css("height",t
+"px")},_resize:function(){this._width
=this.element
.css("width","auto").innerWidth(),this._items
.each($.proxy(function(e
,t
){$(t
).css({left
:(this._width
+this.options
.itemGap
)*e
,width
:this._width
})},this)),this._index
--,this.moveTo(null)},_hoverIn:function(){null!==this._timer
&&this._timer
.stop()},_hoverOut:function(){this._resetTimer()},_resetTimer:function(){if(this.options
.cycle
){null!==this._timer
&&this._timer
.stop();var e
=this;this._timer
=new WCF
.PeriodicalExecuter(function(){e
.moveTo(null)},1e3
*this.options
.cycleInterval
)}},_click:function(e
){this.moveTo($(e
.currentTarget
).data("index")),this._resetTimer()},moveTo:function(e
){this._index
=null===e
?this._index
+1:e
,this._index
==this._count
&&(this._index
=0),$(this._buttonList
.find(".icon").removeClass("active").get(this._index
)).addClass("active"),this._itemList
.css("left",this._index
*(this._width
+this.options
.itemGap
)*-1),this._trigger("moveTo",null,{index
:this._index
})},getItem:function(e
){return this._items
[e
]?this._items
[e
]:null}}),jQuery
.fn
.extend({datepicker:function(e
){var t
=this[0],i
=Array
.prototype.slice
.call(arguments
,1);switch(e
){case"destroy":window
.__wcf_bc_datePicker
.destroy(t
);break;case"getDate":return window
.__wcf_bc_datePicker
.getDate(t
);case"option":if("onClose"===i
[0])return function(){};console
.warn("datepicker('option') supports only 'onClose'.");break;case"setDate":window
.__wcf_bc_datePicker
.setDate(t
,i
[0]);break;case"setOption":"onClose"===i
[0]?window
.__wcf_bc_datePicker
.setCloseCallback(t
,i
[1]):console
.warn("datepicker('setOption') supports only 'onClose'.");break;default:console
.debug("Unsupported method '"+e
+"' for datepicker()")}return this}}),jQuery
.fn
.extend({wcfTabs:function(e
){var t
=this[0],i
=Array
.prototype.slice
.call(arguments
,1);require(["Dom/Util","WoltLabSuite/Core/Ui/TabMenu"],function(n
,s
){var a
=s
.getTabMenu(n
.identify(t
));null!==a
&&a
[e
].apply(a
,i
)})}}),$.widget("ui.wcfPages",{_api
:null,SHOW_LINKS
:11,SHOW_SUB_LINKS
:20,options
:{activePage
:1,maxPage
:1},_create:function(){require(["WoltLabSuite/Core/Ui/Pagination"],function(e
){this._api
=new e(this.element
[0],{activePage
:this.options
.activePage
,maxPage
:this.options
.maxPage
,callbackShouldSwitch:function(e
){var t
=this._trigger("shouldSwitch",void 0,{nextPage
:e
});return t
!==!1}.bind(this),callbackSwitch:function(e
){this._trigger("switched",void 0,{activePage
:e
})}.bind(this)})}.bind(this))},destroy:function(){$.Widget
.prototype.destroy
.apply(this,arguments
),this._api
=null,this.element
[0].innerHTML
=""},_setOption:function(e
,t
){if("activePage"==e
&&t
!=this.options
[e
]&&t
>0&&t
<=this.options
.maxPage
){var i
=this._trigger("shouldSwitch",void 0,{nextPage
:t
});i
||void 0!==i
?this._api
.switchPage(t
):this._trigger("notSwitched",void 0,{activePage
:t
})}return this}}),WCF
.Category
={},WCF
.Category
.NestedList
=Class
.extend({_categories
:{},init:function(){var e
=this;$(".jsCategory").each(function(t
,i
){var n
=$(i
).data("parentCategoryID",null).change($.proxy(e
._updateSelection
,e
));e
._categories
[n
.val()]=n
;var s
=[];n
.parents("li").find(".jsChildCategory").each(function(t
,i
){var a
=$(i
).data("parentCategoryID",n
.val()).change($.proxy(e
._updateSelection
,e
));e
._categories
[a
.val()]=a
,s
.push(a
.val()),a
.is(":checked")&&n
.prop("checked","checked")}),n
.data("childCategoryIDs",s
)})},_updateSelection:function(e
){var t
=$(e
.currentTarget
),i
=t
.data("parentCategoryID");if(t
.is(":checked"))null!==i
&&this._categories
[i
].prop("checked","checked");else if(null===i
)for(var n
=t
.data("childCategoryIDs"),s
=0,a
=n
.length
;a
>s
;s
++)this._categories
[n
[s
]].prop("checked",!1)}}),WCF
.Category
.FlexibleCategoryList
=Class
.extend({_list
:null,_categories
:{},init:function(e
){return this._list
=$("#"+e
),this._buildStructure(),this._list
.find("input:checked").each(function(){$(this).trigger("change")}),this._list
.children("li").length
<2?void this._list
.addClass("flexibleCategoryListDisabled"):void 0},_buildStructure:function(){var e
=this;this._list
.find(".jsCategory").each(function(t
,i
){var n
=$(i
).change(e
._updateSelection
.bind(e
)),s
=parseInt(n
.val()),a
=[];n
.parents("li:eq(0)").find(".jsChildCategory").each(function(t
,i
){var s
=$(i
);s
.data("parentCategory",n
).change(e
._updateSelection
.bind(e
));var o
=parseInt(s
.val());a
.push(s
);var r
=[];s
.parents("li:eq(0)").find(".jsSubChildCategory").each(function(t
,i
){var n
=$(i
);n
.data("parentCategory",s
).change(e
._updateSelection
.bind(e
)),r
.push(n
)}),e
._categories
[o
]=r
}),e
._categories
[s
]=a
})},_updateSelection:function(e
){var t
=$(e
.currentTarget
),i
=parseInt(t
.val()),n
=t
.data("parentCategory");if(t
.is(":checked"))n
&&(n
.prop("checked","checked"),n
=n
.data("parentCategory"),n
&&n
.prop("checked","checked"));else{if(this._categories
[i
])for(var s
=0,a
=this._categories
[i
].length
;a
>s
;s
++){var o
=this._categories
[i
][s
];o
.prop("checked",!1);var r
=parseInt(o
.val());if(this._categories
[r
])for(var l
=0,c
=this._categories
[r
].length
;c
>l
;l
++)this._categories
[r
][l
].prop("checked",!1)}if(n
){for(var u
=parseInt(n
.val()),s
=0,a
=this._categories
[u
].length
;a
>s
;s
++)if(this._categories
[u
][s
].prop("checked"))return;if(n
=n
.data("parentCategory")){u
=parseInt(n
.val());for(var s
=0,a
=this._categories
[u
].length
;a
>s
;s
++)if(this._categories
[u
][s
].prop("checked"))return}}}}}),WCF
.Condition
={},WCF
.Notice
={}; })(this);
73 (function (window
, undefined) {"use strict";WCF
.Like
=Class
.extend({_allowForOwnContent
:!1,_canLike
:!1,_containers
:{},_containerData
:{},_enableDislikes
:!0,_isBusy
:!1,_likeDetails
:{},_proxy
:null,_showSummary
:!0,init:function(t
,e
,i
,a
){this._canLike
=t
,this._enableDislikes
=e
,this._isBusy
=!1,this._likeDetails
={},this._showSummary
=i
,this._allowForOwnContent
=a
;var s
=this._getContainers();this._initContainers(s
),this._proxy
=new WCF
.Action
.Proxy({success
:$.proxy(this._success
,this)});var n
=new Date
,o
=n
.toString().hashCode
+n
.getUTCMilliseconds();WCF
.DOMNodeInsertedHandler
.addCallback("WCF.Like"+o
,$.proxy(this._domNodeInserted
,this))},_domNodeInserted:function(){var t
=this._getContainers();this._initContainers(t
)},_initContainers:function(containers
){var $createdWidgets
=!1;containers
.each($.proxy(function(index
,container
){var $container
=$(container
),$containerID
=$container
.wcfIdentify();this._containers
[$containerID
]||(this._containers
[$containerID
]=$container
,this._containerData
[$containerID
]={likeButton
:null,badge
:null,dislikeButton
:null,likes
:$container
.data("like-likes"),dislikes
:$container
.data("like-dislikes"),objectType
:$container
.data("objectType"),objectID
:this._getObjectID($containerID
),users
:eval($container
.data("like-users")),liked
:$container
.data("like-liked")},this._createWidget($containerID
),$createdWidgets
=!0)},this)),$createdWidgets
&&new WCF
.PeriodicalExecuter(function(t
){t
.stop(),WCF
.DOMNodeInsertedHandler
.execute()},250)},_getContainers:function(){},_getWidgetContainer:function(){},_getObjectID:function(){},_addWidget:function(t
,e
){var i
=this._getWidgetContainer(t
);e
.appendTo(i
)},_buildWidget:function(t
,e
,i
,a
){var s
=$('<aside class="likesWidget"><ul></ul></aside>');this._canLike
&&(e
.appendTo(s
.find("ul")),i
.appendTo(s
.find("ul"))),a
.appendTo(s
),this._addWidget(t
,s
)},_createWidget:function(t
){var e
=$('<li class="wcfLikeButton"><a href="#" title="'+WCF
.Language
.get("wcf.like.button.like")+'" class="jsTooltip"><span class="icon icon16 fa-thumbs-o-up" /> <span class="invisible">'+WCF
.Language
.get("wcf.like.button.like")+"</span></a></li>"),i
=$('<li class="wcfDislikeButton"><a href="#" title="'+WCF
.Language
.get("wcf.like.button.dislike")+'" class="jsTooltip"><span class="icon icon16 fa-thumbs-o-down" /> <span class="invisible">'+WCF
.Language
.get("wcf.like.button.dislike")+"</span></a></li>");this._enableDislikes
||i
.hide(),this._allowForOwnContent
||WCF
.User
.userID
!=this._containers
[t
].data("userID")||(e
=$(""),i
=$(""));var a
=$('<a class="badge jsTooltip likesBadge" />').data("containerID",t
).click($.proxy(this._showLikeDetails
,this)),s
=null;this._showSummary
&&(s
=$('<p class="likesSummary"><span class="pointer" /></p>'),s
.children("span").data("containerID",t
).click($.proxy(this._showLikeDetails
,this))),this._buildWidget(t
,e
,i
,a
,s
),this._containerData
[t
].likeButton
=e
,this._containerData
[t
].dislikeButton
=i
,this._containerData
[t
].badge
=a
,this._containerData
[t
].summary
=s
,e
.data("containerID",t
).data("type","like").click($.proxy(this._click
,this)),i
.data("containerID",t
).data("type","dislike").click($.proxy(this._click
,this)),this._setActiveState(e
,i
,this._containerData
[t
].liked
),this._updateBadge(t
),this._showSummary
&&this._updateSummary(t
)},_showLikeDetails:function(t
,e
){var i
=null===t
?e
:$(t
.currentTarget
).data("containerID");void 0===this._likeDetails
[i
]&&(this._likeDetails
[i
]=new WCF
.User
.List("wcf\\data\\like\\LikeAction",WCF
.Language
.get("wcf.like.details"),{data
:{containerID
:i
,objectID
:this._containerData
[i
].objectID
,objectType
:this._containerData
[i
].objectType
}})),this._likeDetails
[i
].open()},_click:function(t
){t
.preventDefault();var e
=$(t
.currentTarget
);return null===e
?void console
.debug("[WCF.Like] Unable to find target button, aborting."):void this._sendRequest(e
.data("containerID"),e
.data("type"))},_sendRequest:function(t
,e
){this._isBusy
||(this._isBusy
=!0,this._proxy
.setOption("data",{actionName
:e
,className
:"wcf\\data\\like\\LikeAction",parameters
:{data
:{containerID
:t
,objectID
:this._containerData
[t
].objectID
,objectType
:this._containerData
[t
].objectType
}}}),this._proxy
.sendRequest())},_success:function(t
){var e
=t
.returnValues
.containerID
;if(this._containers
[e
])switch(t
.actionName
){case"dislike":case"like":this._containerData
[e
].likes
=parseInt(t
.returnValues
.likes
),this._containerData
[e
].dislikes
=parseInt(t
.returnValues
.dislikes
),this._containerData
[e
].users
=t
.returnValues
.users
,$.each(this._containerData
[e
].users
,function(t
,e
){e
.username
=WCF
.String
.escapeHTML(e
.username
)}),this._updateBadge(e
),this._showSummary
&&this._updateSummary(e
);var i
=this._containerData
[e
].likeButton
,a
=this._containerData
[e
].dislikeButton
,s
=0;t
.returnValues
.isLiked
?s
=1:t
.returnValues
.isDisliked
&&(s
=-1),this._setActiveState(i
,a
,s
),void 0!==this._likeDetails
[e
]&&delete this._likeDetails
[e
],this._isBusy
=!1}},_updateBadge:function(t
){if(this._containerData
[t
].likes
||this._containerData
[t
].dislikes
){this._containerData
[t
].badge
.show();var e
=this._containerData
[t
].likes
-this._containerData
[t
].dislikes
,i
=this._containerData
[t
].badge
;i
.removeClass("green red"),e
>0?(i
.text("+"+WCF
.String
.formatNumeric(e
)),i
.addClass("green")):0>e
?(i
.text(WCF
.String
.formatNumeric(e
)),i
.addClass("red")):i
.text("±0");var a
=this._containerData
[t
].likes
,s
=this._containerData
[t
].dislikes
;i
.data("tooltip",WCF
.Language
.get("wcf.like.tooltip",{likes
:a
,dislikes
:s
}))}else this._containerData
[t
].badge
.hide()},_updateSummary:function(t
){if(this._containerData
[t
].likes
){this._containerData
[t
].summary
.show();var e
=this._containerData
[t
].users
,i
=[];for(var a
in e
)i
.push(e
[a
].username
);var s
=this._containerData
[t
].likes
-i
.length
;this._containerData
[t
].summary
.children("span").html(WCF
.Language
.get("wcf.like.summary",{users
:i
,others
:s
}))}else this._containerData
[t
].summary
.hide()},_setActiveState:function(t
,e
,i
){t
.removeClass("active"),e
.removeClass("active"),1==i
?t
.addClass("active"):-1==i
&&e
.addClass("active")}}); })(this);
76 (function (window
, undefined) {"use strict";WCF
.ACL
={},WCF
.ACL
.List
=Class
.extend({_categoryName
:"",_container
:null,_containerElements
:{},_objectID
:0,_objectTypeID
:null,_options
:{},_proxy
:null,_search
:null,_values
:{group
:{},user
:{}},init:function(e
,t
,n
,i
,a
,s
){this._objectID
=i
||0,this._objectTypeID
=t
,this._categoryName
=n
,void 0===a
&&(a
=!0),this._values
={group
:{},user
:{}},this._proxy
=new WCF
.Action
.Proxy({showLoadingOverlay
:!1,success
:$.proxy(this._success
,this)}),this._container
=$(e
).hide().addClass("aclContainer");var r
=this._container
.children("dd"),c
=$('<ul class="aclList containerList" />').appendTo(r
),l
=$('<input type="text" class="long" placeholder="'+WCF
.Language
.get("wcf.acl.search."+(a
?"":"user.")+"description")+'" />').appendTo(r
),o
=$('<ul class="aclPermissionList containerList" />').hide().appendTo(r
);this._containerElements
={aclList
:c
,denyAll
:null,grantAll
:null,permissionList
:o
,searchInput
:l
},this._search
=new WCF
.Search
.User(l
,$.proxy(this.addObject
,this),a
);var h
=this._container
.parents("form:eq(0)");h
.submit($.proxy(this.submit
,this));var p
=h
.find("input[type=reset]:eq(0)");p
.length
&&p
.click($.proxy(this._reset
,this)),s
?this._success(s
):this._loadACL()},_reset:function(){this._values
={group
:{},user
:{}},this._containerElements
.aclList
.empty(),this._containerElements
.searchInput
.val(""),this._containerElements
.permissionList
.hide().find("input[type=checkbox]").prop("checked",!1)},_loadACL:function(){this._proxy
.setOption("data",{actionName
:"loadAll",className
:"wcf\\data\\acl\\option\\ACLOptionAction",parameters
:{categoryName
:this._categoryName
,objectID
:this._objectID
,objectTypeID
:this._objectTypeID
}}),this._proxy
.sendRequest()},addObject:function(e
){var t
=this._createListItem(e
.objectID
,e
.label
,e
.type
);this._savePermissions(),this._containerElements
.aclList
.children("li").removeClass("active"),t
.addClass("active"),this._search
.addExcludedSearchValue(e
.label
),this._containerElements
.permissionList
.find("input[type=checkbox]").prop("checked",!1),this._containerElements
.searchInput
.val(""),this._containerElements
.permissionList
.show(),WCF
.DOMNodeInsertedHandler
.execute()},_createListItem:function(e
,t
,n
){var i
=$('<li><span class="icon icon16 fa-user'+("group"===n
?"s":"")+'" /> <span class="aclLabel">'+t
+"</span></li>").appendTo(this._containerElements
.aclList
);return i
.data("objectID",e
).data("type",n
).data("label",t
).click($.proxy(this._click
,this)),$('<span class="icon icon16 fa-times jsTooltip pointer" title="'+WCF
.Language
.get("wcf.global.button.delete")+'" />').click($.proxy(this._removeItem
,this)).appendTo(i
),i
},_removeItem:function(e
){var t
=$(e
.currentTarget
).parent(),n
=t
.data("type"),i
=t
.data("objectID");this._search
.removeExcludedSearchValue(t
.data("label")),t
.remove(),this._values
[n
][i
]&&delete this._values
[n
][i
],this._selectFirstEntry()},_selectFirstEntry:function(){var e
=this._containerElements
.aclList
.children("li:eq(0)");e
.length
?this._select(e
,!1):this._reset()},_success:function(e
){if($.getLength(e
.returnValues
.options
)){var t
=0,n
={};for(var i
in e
.returnValues
.options
){var a
=e
.returnValues
.options
[i
],s
=$("<li><span>"+a
.label
+"</span></li>").data("optionID",i
).data("optionName",a
.optionName
),r
=$('<input type="checkbox" id="grant'+i
+'" />').appendTo(s
).wrap('<label for="grant'+i
+'" class="jsTooltip" title="'+WCF
.Language
.get("wcf.acl.option.grant")+'" />'),c
=$('<input type="checkbox" id="deny'+i
+'" />').appendTo(s
).wrap('<label for="deny'+i
+'" class="jsTooltip" title="'+WCF
.Language
.get("wcf.acl.option.deny")+'" />');r
.data("type","grant").data("optionID",i
).change($.proxy(this._change
,this)),c
.data("type","deny").data("optionID",i
).change($.proxy(this._change
,this)),n
[a
.categoryName
]||(n
[a
.categoryName
]=[]),""===a
.categoryName
?s
.appendTo(this._containerElements
.permissionList
):n
[a
.categoryName
].push(s
),t
++}if(t
>1){var s
=$('<li class="aclFullAccess"><span>'+WCF
.Language
.get("wcf.acl.option.fullAccess")+"</span></li>").prependTo(this._containerElements
.permissionList
);this._containerElements
.grantAll
=$('<input type="checkbox" id="grantAll_'+this._container
.attr("id")+'" />').appendTo(s
).wrap('<label class="jsTooltip" title="'+WCF
.Language
.get("wcf.acl.option.grant")+'" />'),this._containerElements
.denyAll
=$('<input type="checkbox" id="denyAll_'+this._container
.attr("id")+'" />').appendTo(s
).wrap('<label class="jsTooltip" title="'+WCF
.Language
.get("wcf.acl.option.deny")+'" />'),this._containerElements
.grantAll
.data("type","grant").change($.proxy(this._changeAll
,this)),this._containerElements
.denyAll
.data("type","deny").change($.proxy(this._changeAll
,this))}if($.getLength(n
))for(var l
in n
){var o
=n
[l
];e
.returnValues
.categories
[l
]&&$('<li class="aclCategory">'+e
.returnValues
.categories
[l
]+"</li>").appendTo(this._containerElements
.permissionList
);for(var h
=0,p
=o
.length
;p
>h
;h
++)o
[h
].appendTo(this._containerElements
.permissionList
)}this._parseData(e
,"group"),this._parseData(e
,"user"),this._container
.show(),this._selectFirstEntry()}},_parseData:function(e
,t
){if($.getLength(e
.returnValues
[t
].option
)){for(var n
in e
.returnValues
[t
].label
)this._createListItem(n
,e
.returnValues
[t
].label
[n
],t
),this._search
.addExcludedSearchValue(e
.returnValues
[t
].label
[n
]);this._values
[t
]=e
.returnValues
[t
].option
,WCF
.DOMNodeInsertedHandler
.execute()}},_click:function(e
){var t
=$(e
.currentTarget
);t
.hasClass("active")||this._select(t
,!0)},_select:function(e
,t
){t
&&this._savePermissions(),this._containerElements
.aclList
.children("li").removeClass("active"),e
.addClass("active"),this._setupPermissions(e
.data("type"),e
.data("objectID"))},_change:function(e
){var t
=$(e
.currentTarget
),n
=t
.data("optionID"),i
=t
.data("type");t
.is(":checked")?"deny"===i
?($("#grant"+n
).prop("checked",!1),null!==this._containerElements
.grantAll
&&this._containerElements
.grantAll
.prop("checked",!1)):($("#deny"+n
).prop("checked",!1),null!==this._containerElements
.denyAll
&&this._containerElements
.denyAll
.prop("checked",!1)):"deny"===i
&&null!==this._containerElements
.denyAll
?this._containerElements
.denyAll
.prop("checked",!1):"grant"===i
&&null!==this._containerElements
.grantAll
&&this._containerElements
.grantAll
.prop("checked",!1);var a
=!0;this._containerElements
.permissionList
.find("input[type=checkbox]").each($.proxy(function(e
,t
){var n
=$(t
);return n
.data("type")!==i
||n
.attr("id")===i
+"All_"+this._container
.attr("id")||n
.is(":checked")?void 0:(a
=!1,!1)},this)),"deny"==i
?null!==this._containerElements
.denyAll
&&(a
?this._containerElements
.denyAll
.prop("checked",!0):this._containerElements
.denyAll
.prop("checked",!1)):null!==this._containerElements
.grantAll
&&(a
?this._containerElements
.grantAll
.prop("checked",!0):this._containerElements
.grantAll
.prop("checked",!1))},_changeAll:function(e
){var t
=$(e
.currentTarget
),n
=t
.data("type");t
.is(":checked")?"deny"===n
?(this._containerElements
.grantAll
.prop("checked",!1),this._containerElements
.permissionList
.find("input[type=checkbox]").each($.proxy(function(e
,t
){var n
=$(t
);"deny"===n
.data("type")&&n
.attr("id")!=="denyAll_"+this._container
.attr("id")&&n
.prop("checked",!0).trigger("change")},this))):(this._containerElements
.denyAll
.prop("checked",!1),this._containerElements
.permissionList
.find("input[type=checkbox]").each($.proxy(function(e
,t
){var n
=$(t
);"grant"===n
.data("type")&&n
.attr("id")!=="grantAll_"+this._container
.attr("id")&&n
.prop("checked",!0).trigger("change")},this))):"deny"===n
?(this._containerElements
.grantAll
.prop("checked",!1),this._containerElements
.permissionList
.find("input[type=checkbox]").each($.proxy(function(e
,t
){var n
=$(t
);"deny"===n
.data("type")&&n
.attr("id")!=="denyAll_"+this._container
.attr("id")&&n
.prop("checked",!1).trigger("change")},this))):(this._containerElements
.denyAll
.prop("checked",!1),this._containerElements
.permissionList
.find("input[type=checkbox]").each($.proxy(function(e
,t
){var n
=$(t
);"grant"===n
.data("type")&&n
.attr("id")!=="grantAll_"+this._container
.attr("id")&&n
.prop("checked",!1).trigger("change")},this)))},_setupPermissions:function(e
,t
){if(this._containerElements
.permissionList
.find("input[type='checkbox']").prop("checked",!1),this._values
[e
]&&this._values
[e
][t
])for(var n
in this._values
[e
][t
])1==this._values
[e
][t
][n
]?$("#grant"+n
).prop("checked",!0).trigger("change"):$("#deny"+n
).prop("checked",!0).trigger("change");this._containerElements
.permissionList
.show()},_savePermissions:function(){var e
=this._containerElements
.aclList
.find("li.active");if(e
.length
){var t
=e
.data("objectID"),n
=e
.data("type");this._values
[n
][t
]={},this._containerElements
.permissionList
.find("input[type='checkbox']").each(function(e
,i
){var a
=$(i
);if(a
.attr("id")!="grantAll_"+this._container
.attr("id")&&a
.attr("id")!="denyAll_"+this._container
.attr("id")){var s
="deny"===a
.data("type")?0:1,r
=a
.data("optionID");a
.is(":checked")?(this._values
[n
][t
][r
]=s
,a
.prop("checked",!1)):this._values
[n
]&&this._values
[n
][t
]&&this._values
[n
][t
][r
]&&this._values
[n
][t
][r
]==s
&&delete this._values
[n
][t
][r
]}}.bind(this))}},submit:function(){this._savePermissions(),this._save("group"),this._save("user")},_save:function(e
){if($.getLength(this._values
[e
])){var t
=this._container
.parents("form:eq(0)");for(var n
in this._values
[e
]){var i
=this._values
[e
][n
];for(var a
in i
)$('<input type="hidden" name="aclValues['+e
+"]["+n
+"]["+a
+']" value="'+i
[a
]+'" />').appendTo(t
)}}}}); })(this);
79 (function (window
, undefined) {"use strict";WCF
.Attachment
={},WCF
.Attachment
.Upload
=WCF
.Upload
.extend({_autoInsert
:[],_insertAllButton
:null,_objectType
:"",_objectID
:0,_tmpHash
:"",_parentObjectID
:0,_editorId
:"",init:function(t
,e
,a
,i
,s
,n
,l
,r
){this._super(t
,e
,"wcf\\data\\attachment\\AttachmentAction",{multiple
:!0,maxUploads
:l
}),this._autoInsert
=[],this._objectType
=a
,this._objectID
=parseInt(i
),this._tmpHash
=s
,this._parentObjectID
=parseInt(n
),this._editorId
=r
,this._buttonSelector
.children("p.button").click($.proxy(this._validateLimit
,this)),this._fileListSelector
.find(".jsButtonInsertAttachment").click($.proxy(this._insert
,this)),this._fileListSelector
.find(".jsButtonAttachmentInsertThumbnail").click($.proxy(this._insert
,this)),this._fileListSelector
.find(".jsButtonAttachmentInsertFull").click($.proxy(this._insert
,this)),WCF
.DOMNodeRemovedHandler
.addCallback("WCF.Attachment.Upload",$.proxy(this._removeLimitError
,this)),WCF
.System
.Event
.addListener("com.woltlab.wcf.action.delete","attachment_"+this._editorId
,$.proxy(this._removeLimitError
,this)),this._makeSortable(),this._insertAllButton
=$('<p class="button jsButtonAttachmentInsertAll">'+WCF
.Language
.get("wcf.attachment.insertAll")+"</p>").hide().appendTo(this._buttonSelector
),this._insertAllButton
.click($.proxy(this._insertAll
,this)),this._fileListSelector
.children("li:not(.uploadFailed)").length
&&this._insertAllButton
.show(),this._editorId
&&(WCF
.System
.Event
.addListener("com.woltlab.wcf.redactor2","submit_"+this._editorId
,$.proxy(this._submitInline
,this)),WCF
.System
.Event
.addListener("com.woltlab.wcf.redactor2","reset_"+this._editorId
,$.proxy(this._reset
,this)),WCF
.System
.Event
.addListener("com.woltlab.wcf.redactor2","metacode_attach",function(t
){var e
=this._getImageAttachments(),a
=t
.attributes
[0]||0;if(e
.hasOwnProperty(a
)){var i
=t
.attributes
[2];i
=i
===!0||"true"===i
;var s
=elCreate("img");s
.className
="woltlabAttachment",s
.src
=e
[a
][i
?"thumbnailUrl":"url"],elData(s
,"attachment-id",a
);var n
=t
.attributes
[1]||"none";"left"===n
?s
.classList
.add("messageFloatObjectLeft"):"right"===n
&&s
.classList
.add("messageFloatObjectRight");var l
=t
.metacode
;l
.parentNode
.insertBefore(s
,l
),elRemove(l
),t
.cancel
=!0}}.bind(this)))},_editorUpload:function(t
){var e
;this._fileListSelector
.closest(".messageTabMenu").messageTabMenu("showTab","attachments",!0),e
=t
.file
?this._upload(void 0,t
.file
):this._upload(void 0,void 0,t
.blob
),this._autoInsert
.push(e
),t
.uploadID
=e
},_getImageAttachments:function(){var t
={};return this._fileListSelector
.children("li").each(function(e
,a
){var i
=$(a
);i
.data("isImage")&&(t
[~~i
.data("objectID")]={thumbnailUrl
:i
.find(".jsButtonAttachmentInsertThumbnail").data("url"),url
:i
.find(".jsButtonAttachmentInsertFull").data("url")})}),t
},_submitInline:function(t
){this._tmpHash
&&(t
.tmpHash
=this._tmpHash
)},_reset:function(){this._fileListSelector
.hide().empty(),this._insertAllButton
.hide(),this._validateLimit()},_validateLimit:function(){var t
=this._buttonSelector
.next("small.innerError"),e
=this._options
.maxUploads
-this._fileListSelector
.children("li:not(.uploadFailed)").length
,a
=this._fileUpload
?this._fileUpload
.prop("files").length
:0;if(0>=e
||a
>e
){var i
=0>=e
?WCF
.Language
.get("wcf.attachment.upload.error.reachedLimit"):WCF
.Language
.get("wcf.attachment.upload.error.reachedRemainingLimit").replace(/#remaining
#/,e);return t.length||(t=$('<small class="innerError" />').insertAfter(this._buttonSelector)),t.html(i),!1}return t.remove(),!0},_removeLimitError:function(t){var e=this._fileListSelector.children("li");e.filter(":not(.uploadFailed)").length||this._insertAllButton.hide(),e.length||setTimeout(function(){this._fileListSelector.wcfBlindOut()}.bind(this),250),this._editorId&&t.button&&WCF.System.Event.fireEvent("com.woltlab.wcf.redactor2","deleteAttachment_"+this._editorId,{attachmentId:t.button.data("objectID")})},_upload:function(t,e,a){var i=void 0;return this._validateLimit()&&(i=this._super(t,e,a)),this._fileUpload&&(this._removeButton(),this._createButton()),i},_createUploadMatrix:function(t){return this._fileListSelector.children("li.uploadFailed").remove(),this._super(t)},_getParameters:function(){return{objectType:this._objectType,objectID:this._objectID,tmpHash:this._tmpHash,parentObjectID:this._parentObjectID}},_initFile:function(t){var e=$('<li
class="box64"><span
class="icon icon48 fa-spinner" /><div><div><p>'+t.name+'</p><small
><progress max
="100"></progress></small></div><ul></ul></div></li>').data("filename",t.name);return this._fileListSelector.append(e),this._fileListSelector.show(),this._buttonSelector.data("maxSize")<t.size&&(e.find("progress").remove(),e.children(".fa-spinner").removeClass("fa-spinner").addClass("fa-ban"),e.find("div > div").append($('<small
class="innerError">'+WCF.Language.get("wcf.attachment.upload.error.tooLarge")+"</small>")),e.addClass("uploadFailed")),e},_success:function(t,e){var a;for(var i in this._uploadMatrix[t])if(this._uploadMatrix[t].hasOwnProperty(i)){var s=this._uploadMatrix[t][i];s.find("progress").remove();var n=s.data("filename"),l=s.data("internalFileID");if(e.returnValues&&e.returnValues.attachments[l]){a=e.returnValues.attachments[l],a.tinyURL?(s.children(".fa-spinner").replaceWith($('<img src
="'+a.tinyURL+'" alt
="" class="attachmentTinyThumbnail" />')),s.data("height",a.height),s.data("width",a.width),elData(s[0],"is-image",a.isImage)):s.children(".fa-spinner").removeClass("fa-spinner").addClass("fa-paperclip");var r=$('<a href
=""></a>');r.text(n).attr("href",a.url),0!=a.isImage&&r.addClass("jsImageViewer").attr("title",n),s.find("p").empty().append(r),s.find("small").append(a.formattedFilesize);var o=s.find("ul").addClass("buttonGroup"),c=$('<li><span class="button small jsDeleteButton" data-object-id="'+a.attachmentID+'" data-confirm-message="'+WCF.Language.get("wcf.attachment.delete.sure")+'" data-event-name="attachment_'+this._editorId+'">'+WCF.Language.get("wcf.global.button.delete")+"</span></li>");if(o.append(c),s.data("objectID",a.attachmentID),this._editorId)if(a.tinyURL){if(a.thumbnailURL){var d=$('<li><span class="button small jsButtonAttachmentInsertThumbnail" data-object-id="'+a.attachmentID+'" data-url="'+WCF.String.escapeHTML(a.thumbnailURL)+'">'+WCF.Language.get("wcf.attachment.insertThumbnail")+"</span></li>").appendTo(o);d.children("span.button").click($.proxy(this._insert,this))}var h=$('<li><span class="button small jsButtonAttachmentInsertFull" data-object-id="'+a.attachmentID+'" data-url="'+WCF.String.escapeHTML(a.url)+'">'+WCF.Language.get("wcf.attachment.insertFull")+"</span></li>").appendTo(o);h.children("span.button").click($.proxy(this._insert,this))}else{var u=$('<li><span class="button small jsButtonAttachmentInsertPlain" data-object-id="'+a.attachmentID+'">'+WCF.Language.get("wcf.attachment.insert")+"</span></li>");u.appendTo(o).children("span.button").click($.proxy(this._insert,this))}}else{s.children(".fa-spinner").removeClass("fa-spinner").addClass("fa-ban");var m="";m=e.returnValues&&e.returnValues.errors[l]?e.returnValues.errors[l].errorType:"uploadFailed",s.find("div > div").append($('<small class="innerError">'+WCF.Language.get("wcf.attachment.upload.error."+m)+"</small>")),s.addClass("uploadFailed
")}s.css("display
","block
"),WCF.inArray(t,this._autoInsert)&&(this._autoInsert.splice(this._autoInsert.indexOf(t),1),s.hasClass("uploadFailed
")||WCF.System.Event.fireEvent("com
.woltlab
.wcf
.attachment
","autoInsert_
"+this._editorId,{attachment:"[attach
="+e.returnValues.attachments[l].attachmentID+"][/attach]",uploadID:t}))}this._makeSortable(),this._fileListSelector.children("li:not(.uploadFailed)").length?this._insertAllButton.show():this._insertAllButton.hide(),WCF.DOMNodeInsertedHandler.execute()},_insert:function(t){WCF.System.Event.fireEvent("com.woltlab.wcf.redactor2","insertAttachment_"+this._editorId,{attachmentId:elData(t.currentTarget,"object-id"),url:elData(t.currentTarget,"url")})},_insertAll:function(){this._fileListSelector.children("li:not(.uploadFailed)").find(".jsButtonAttachmentInsertThumbnail, .jsButtonAttachmentInsertPlain").trigger("click")},_error:function(t){this._fileListSelector.find("li").each(function(e,a){var i=$(a);i.children(".fa-spinner").length&&(i.addClass("uploadFailed").children(".fa-spinner").removeClass("fa-spinner").addClass("fa-ban"),i.find("div > div").append($('<small class="innerError">'+(t.responseJSON&&t.responseJSON.message?t.responseJSON.message:WCF.Language.get("wcf.attachment.upload.error.uploadFailed"))+"</small>")))})},_makeSortable:function(){var t=this._fileListSelector.children("li
:not(.uploadFailed
)");if(t.length&&(t.addClass("sortableAttachment
").children("img
").addClass("sortableNode
"),!this._fileListSelector.hasClass("sortableList
"))){this._fileListSelector.addClass("sortableList
");var e=this;new WCF.Sortable.List(this._fileListSelector.parent().wcfIdentify(),"",0,{axis:!1,items:"li
.sortableAttachment
",toleranceElement:null,update:function(){var t=[];e._fileListSelector.children("li
:not(.uploadFailed
)").each(function(e,a){t.push($(a).data("objectID
"))}),t.length&&new WCF.Action.Proxy({autoSend:!0,data:{actionName:"updatePosition
",className:"wcf
\\data
\\attachment
\\AttachmentAction
",parameters:{attachmentIDs:t,objectID:e._objectID,objectType:e._objectType,tmpHash:e._tmpHash}}})}},!0)}}}); })(this);
82 (function (window, undefined) {"use strict
";WCF.ColorPicker=Class.extend({_bar:null,_barActive:!1,_barSelector:null,_dialog:null,_didInit:!1,_elementID:"",_gradient:null,_gradientActive:!1,_gradientSelector:null,_hex:null,_hsv:{},_newColor:null,_oldColor:null,_rgba:{},_rgbaRegExp:null,init:function(t){this._elementID="",this._hsv={h:0,s:100,v:100},this._position={};var a=$(t);return a.length?void a.click($.proxy(this._open,this)):void console.debug("[WCF
.ColorPicker
] Selector does not match any element
, aborting
.")},_open:function(t){this._didInit||(this._initColorPicker(),this._didInit=!0);var a=$(t.currentTarget);this._elementID=a.wcfIdentify(),this._parseColor(a);var s=this.hsvToRgb(this._hsv.h,this._hsv.s,this._hsv.v);this._oldColor.css({backgroundColor:"rgba("+s.r+", "+s.g+", "+s.b+", "+this._rgba.a.val()/100+")"}),this._dialog.wcfDialog({title:WCF.Language.get("wcf
.style
.colorPicker
")}),this._hex.focus()},_parseColor:function(t){if(t.data("hsv
")&&t.data("rgb
")){var a=t.data("hsv
");for(var s in a)this._hsv[s]=a[s];this._updateValues(t.data("rgb
"),!0,!0),this._rgba.a.val(parseInt(t.data("alpha
")))}else{null===this._rgbaRegExp&&(this._rgbaRegExp=new RegExp("^rgba
\\((\\d
{1,3}), ?(\\d
{1,3}), ?(\\d
{1,3}), ?(1|1\\.00?|0|0?\\.[0-9]{1,2})\\)$")),this._rgbaRegExp.exec(t.data("color
"));var i=RegExp.$4;0===i.indexOf(".")&&(i="0"+i),i*=100,this._updateValues({r:RegExp.$1,g:RegExp.$2,b:RegExp.$3,a:Math.round(i)},!0,!0)}},_initColorPicker:function(){this._dialog=$('<div id="colorPickerContainer
" />').hide().appendTo(document.body),this._gradient=$('<div id="colorPickerGradient
" />').appendTo(this._dialog),this._gradientSelector=$('<span id="colorPickerGradientSelector
"><span></span></span>').appendTo(this._gradient),this._bar=$('<div id="colorPickerBar
" />').appendTo(this._dialog),this._barSelector=$('<span id="colorPickerBarSelector
" />').appendTo(this._bar),this._gradient.mousedown($.proxy(this._mouseDownGradient,this)),this._bar.mousedown($.proxy(this._mouseDownBar,this));var t=this;$(document).mouseup(function(a){t._barActive?(t._barActive=!1,t._mouseBar(a)):t._gradientActive&&(t._gradientActive=!1,t._mouseGradient(a))}).mousemove(function(a){t._barActive?t._mouseBar(a):t._gradientActive&&t._mouseGradient(a)}),this._initColorPickerForm()},_initColorPickerForm:function(){var t=$('<div id="colorPickerForm
" />').appendTo(this._dialog);$("<small
>"+WCF.Language.get("wcf
.style
.colorPicker
.new")+"</small>").appendTo(t);var a=$('<ul class="colors" />').appendTo(t);this._newColor=$('<li
class="new"><span
/></li>').appendTo(a).children("span"),this._oldColor=$('<li
class="old"><span
/></li>').appendTo(a).children("span"),$("<small>"+WCF.Language.get("wcf.style.colorPicker.current")+"</small>").appendTo(t);var s=$('<ul
class="rgba" />').appendTo(t);this._createInputElement("r","R",0,255).appendTo(s),this._createInputElement("g","G",0,255).appendTo(s),this._createInputElement("b","B",0,255).appendTo(s),this._createInputElement("a","a",0,100).appendTo(s);var i=$('<ul
class="hex"><li
><label
><span
>#</span></label></li></ul>').appendTo(t);this._hex=$('<input type
="text" maxlength
="6" />').appendTo(i.find("label")),this._rgba.r.blur($.proxy(this._blurRgba,this)).keyup($.proxy(this._keyUpRGBA,this)),this._rgba.g.blur($.proxy(this._blurRgba,this)).keyup($.proxy(this._keyUpRGBA,this)),this._rgba.b.blur($.proxy(this._blurRgba,this)).keyup($.proxy(this._keyUpRGBA,this)),this._rgba.a.blur($.proxy(this._blurRgba,this)).keyup($.proxy(this._keyUpRGBA,this)),this._hex.blur($.proxy(this._blurHex,this)).keyup($.proxy(this._keyUpHex,this));var e=$('<div class="formSubmit" />').appendTo(this._dialog);$('<button
class="buttonPrimary">'+WCF.Language.get("wcf.style.colorPicker.button.apply")+"</button>").appendTo(e).click($.proxy(this._submit,this));var r=this;this._hex.on("paste",function(){r._hex.attr("maxlength","7"),setTimeout(function(){var t=r._hex.val();"#"==t.substring(0,1)&&(t=t.substr(1)),t.length>6&&(t=t.substring(0,6)),r._hex.attr("maxlength","6").val(t)},50)}),t.find("input").focus(function(){this.select()})},_keyUpRGBA:function(t){13==t.which&&(this._blurRgba(),this._submit())},_keyUpHex:function(t){13==t.which&&(this._blurHex(),this._submit())},_submit:function(){var t=this.hsvToRgb(this._hsv.h,this._hsv.s,this._hsv.v),a={};for(var s in this._hsv)a[s]=this._hsv[s];var i=$("#"+this._elementID);i.data("hsv",a).css({backgroundColor:"rgba("+t.r+", "+t.g+", "+t.b+", "+this._rgba.a.val()/100+")"}).data("alpha",parseInt(this._rgba.a.val())),i.data("rgb",{r:this._rgba.r.val(),g:this._rgba.g.val(),b:this._rgba.b.val()}),$("#"+i.data("store")).val("rgba("+this._rgba.r.val()+", "+this._rgba.g.val()+", "+this._rgba.b.val()+", "+this._rgba.a.val()/100+")").trigger("change"),this._dialog.wcfDialog("close")},_createInputElement:function(t,a,s,i){var e=$('<li
class="'+t+'" />'),r=$("<label />").appendTo(e);return $("<span>"+a+"</span>").appendTo(r),this._rgba[t]=$('<input type
="number" value
="0" min
="'+s+'" max
="'+i+'" step
="1" />').appendTo(r),e},_mouseDownGradient:function(t){this._gradientActive=!0,this._mouseGradient(t)},_mouseGradient:function(t){var a=this._gradient.getOffsets("offset"),s=Math.max(Math.min(t.pageX-a.left,255),0),i=Math.max(Math.min(t.pageY-a.top,255),0);this._hsv.s=100*Math.max(0,Math.min(1,s/255)),this._hsv
.v
=100*Math
.max(0,Math
.min(1,(255-i
)/255)),this._updateValues(null)},_mouseDownBar:function(t){this._barActive=!0,this._mouseBar(t)},_mouseBar:function(t){var a=this._bar.getOffsets("offset"),s=Math.max(Math.min(t.pageY-a.top,255),0);this._barSelector.css({top:s+"px"}),this._hsv.h=Math.max(0,Math.min(359,Math.round((255-s)/255*360))),this._updateValues(null)},_blurRgba:function(){for(var t
in this._rgba
){var a
=parseInt(this._rgba
[t
].val())||0;this._rgba
[t
].val("a"===t
?Math
.max(0,Math
.min(100,a
)):Math
.max(0,Math
.min(255,a
)))}this._updateValues({r
:this._rgba
.r
.val(),g
:this._rgba
.g
.val(),b
:this._rgba
.b
.val()},!0,!0)},_blurHex:function(){var t
=this.hexToRgb(this._hex
.val());t
!==Number
.NaN
&&this._updateValues(t
,!0,!0)},_updateValues:function(t
,a
,s
){a
=a
===!0?!0:!1,s
=s
===!0?!0:!1,null===t
&&(t
=this.hsvToRgb(this._hsv
.h
,this._hsv
.s
,this._hsv
.v
),0==this._rgba
.a
.val()&&(t
.a
=100)),void 0===t
.a
&&(t
.a
=this._rgba
.a
.val());for(var i
in t
)this._rgba
[i
].val(t
[i
]);if(this._hex
.val(this.rgbToHex(t
.r
,t
.g
,t
.b
)),a
||s
){var e
=this.rgbToHsv(t
.r
,t
.g
,t
.b
);a
&&(this._hsv
.h
=e
.h
),s
&&(this._hsv
.s
=e
.s
,this._hsv
.v
=e
.v
)}var r
=Math
.max(0,Math
.min(255,255-this._hsv
.h
/360*255));this._barSelector.css({top:r+"px"});var h=Math.max(0,Math.min(255,this._hsv.s/100*255)),r
=Math
.max(0,Math
.min(255,255-this._hsv
.v
/100*255));this._gradientSelector.css({left:h-6+"px",top:r-6+"px"}),this._newColor.css({backgroundColor:"rgba("+t.r+", "+t.g+", "+t.b+", "+t.a/100+")"});var n
=this.hsvToRgb(this._hsv
.h
,100,100);this._gradient
.css({backgroundColor
:"rgb("+n
.r
+", "+n
.g
+", "+n
.b
+")"})},hsvToRgb:function(t
,a
,s
){var i
,e
,r
,h
,n
,o
={r
:0,g
:0,b
:0};if(i
=Math
.floor(t
/60),e=t/60-i
,a
/=100,s/=100,r
=s
*(1-a
),h
=s
*(1-a
*e
),n
=s
*(1-a
*(1-e
)),0==a
)o
.r
=o
.g
=o
.b
=s
;else switch(i
){case 1:o
.r
=h
,o
.g
=s
,o
.b
=r
;break;case 2:o
.r
=r
,o
.g
=s
,o
.b
=n
;break;case 3:o
.r
=r
,o
.g
=h
,o
.b
=s
;break;case 4:o
.r
=n
,o
.g
=r
,o
.b
=s
;break;case 5:o
.r
=s
,o
.g
=r
,o
.b
=h
;break;case 0:case 6:o
.r
=s
,o
.g
=n
,o
.b
=r
}return{r
:Math
.round(255*o
.r
),g
:Math
.round(255*o
.g
),b
:Math
.round(255*o
.b
)}},rgbToHsv:function(t
,a
,s
){var i
,e
,r
,h
,n
,o
;if(t
/=255,a/=255,s
/=255,h=Math.max(Math.max(t,a),s),n=Math.min(Math.min(t,a),s),o=h-n,i=0,h!==n){switch(h){case t:i=60*(0+(a-s)/o);break;case a
:i
=60*(2+(s
-t
)/o);break;case s:i=60*(4+(t-a)/o)}0>i
&&(i
+=360)}return e
=0===h
?0:o
/h,r=h,{h:Math.round(i),s:Math.round(100*e),v:Math.round(100*r)}},hexToRgb:function(t){return/^#?([0-9a
-fA
-F
]{3}|[0-9a
-fA
-F
]{6})$/.test(t)?(t=t.split(""),"#"===t[0]&&t.shift(),3===t.length?{r:parseInt(t[0]+""+t[0],16),g:parseInt(t[1]+""+t[1],16),b:parseInt(t[2]+""+t[2],16)}:{r:parseInt(t[0]+""+t[1],16),g:parseInt(t[2]+""+t[3],16),b:parseInt(t[4]+""+t[5],16)}):Number.NaN},rgbToHex:function(t,a,s){return"0123456789ABCDEF".charAt((t-t%16)/16)+""+"0123456789ABCDEF".charAt(t
%16)+("0123456789ABCDEF".charAt((a
-a
%16)/16)+""+"0123456789ABCDEF".charAt(a%16))+("0123456789ABCDEF".charAt((s-s%16)/16)+""+"0123456789ABCDEF".charAt(s
%16))}}); })(this);
85 (function (window
, undefined) {"use strict";WCF
.Comment
={},WCF
.Comment
.Handler
=Class
.extend({_commentAdd
:null,_commentButtonList
:{},_comments
:{},_container
:null,_containerID
:"",_displayedComments
:0,_loadNextComments
:null,_loadNextResponses
:{},_proxy
:null,_responses
:{},_userAvatar
:"",_userAvatarSmall
:"",_commentData
:{},_guestDialog
:null,init:function(e
,t
,s
){this._commentAdd
=null,this._commentButtonList
={},this._comments
={},this._containerID
=e
,this._displayedComments
=0,this._loadNextComments
=null,this._loadNextResponses
={},this._responses
={},this._userAvatar
=t
,this._userAvatarSmall
=s
,this._container
=$("#"+$.wcfEscapeID(this._containerID
)),this._container
.length
||console
.debug("[WCF.Comment.Handler] Unable to find container identified by '"+this._containerID
+"'"),this._proxy
=new WCF
.Action
.Proxy({failure
:$.proxy(this._failure
,this),success
:$.proxy(this._success
,this)}),this._initComments(),this._initResponses(),this._container
.data("canAdd")&&this._initAddComment(),WCF
.DOMNodeInsertedHandler
.execute(),WCF
.DOMNodeInsertedHandler
.addCallback("WCF.Comment.Handler",$.proxy(this._domNodeInserted
,this)),WCF
.System
.ObjectStore
.add("WCF.Comment.Handler",this)},_handleLoadNextComments:function(){this._displayedComments
<this._container
.data("comments")?(null===this._loadNextComments
&&(this._loadNextComments
=$('<li class="commentLoadNext showMore"><button class="small">'+WCF
.Language
.get("wcf.comment.more")+"</button></li>").appendTo(this._container
),this._loadNextComments
.children("button").click($.proxy(this._loadComments
,this))),this._loadNextComments
.children("button").enable()):null!==this._loadNextComments
&&this._loadNextComments
.remove()},_handleLoadNextResponses:function(e
){var t
=this._comments
[e
];if(t
.data("displayedResponses",t
.find("ul.commentResponseList > li").length
),t
.data("displayedResponses")<t
.data("responses")){if(void 0===this._loadNextResponses
[e
]){var s
=t
.data("responses")-t
.data("displayedResponses");this._loadNextResponses
[e
]=$('<li class="jsCommentLoadNextResponses"><a>'+WCF
.Language
.get("wcf.comment.response.more",{count
:s
})+"</a></li>").appendTo(this._commentButtonList
[e
]),this._loadNextResponses
[e
].children("a").data("commentID",e
).click($.proxy(this._loadResponses
,this)),this._commentButtonList
[e
].parent().show()}}else if(void 0!==this._loadNextResponses
[e
]){var n
=this._loadNextResponses
[e
].next();this._loadNextResponses
[e
].remove(),n
.length
&&n
.trigger("click")}},_loadComments:function(){this._loadNextComments
.children("button").disable(),this._proxy
.setOption("data",{actionName
:"loadComments",className
:"wcf\\data\\comment\\CommentAction",parameters
:{data
:{objectID
:this._container
.data("objectID"),objectTypeID
:this._container
.data("objectTypeID"),lastCommentTime
:this._container
.data("lastCommentTime")}}}),this._proxy
.sendRequest()},_loadResponses:function(e
){this._loadResponsesExecute($(e
.currentTarget
).disable().data("commentID"),!1)},_loadResponsesExecute:function(e
,t
){this._proxy
.setOption("data",{actionName
:"loadResponses",className
:"wcf\\data\\comment\\response\\CommentResponseAction",parameters
:{data
:{commentID
:e
,lastResponseTime
:this._comments
[e
].data("lastResponseTime"),loadAllResponses
:t
?1:0}}}),this._proxy
.sendRequest()},_domNodeInserted:function(){this._initComments(),this._initResponses()},_initComments:function(){var e
=this,t
=!1;this._container
.find(".jsComment").each(function(s
,n
){var a
=$(n
).removeClass("jsComment"),o
=a
.data("commentID");e
._comments
[o
]=a
;var i
=a
.find("ul.commentResponseList");i
.length
||(i
=a
.find(".commentContent"));var r
=$('<div class="commentOptionContainer" />').hide().insertAfter(i
);e
._commentButtonList
[o
]=$('<ul class="inlineList dotSeparated" />').appendTo(r
),e
._handleLoadNextResponses(o
),e
._initComment(o
,a
),e
._displayedComments
++,t
=!0}),t
&&this._handleLoadNextComments()},_initComment:function(e
,t
){if(this._container
.data("canAdd")&&this._initAddResponse(e
,t
),t
.data("canEdit")){var s
=$('<li><a href="#" class="jsTooltip" title="'+WCF
.Language
.get("wcf.global.button.edit")+'"><span class="icon icon16 fa-pencil" /> <span class="invisible">'+WCF
.Language
.get("wcf.global.button.edit")+"</span></a></li>");s
.data("commentID",e
).appendTo(t
.find("ul.buttonList:eq(0)")).click($.proxy(this._prepareEdit
,this))}if(t
.data("canDelete")){var n
=$('<li><a href="#" class="jsTooltip" title="'+WCF
.Language
.get("wcf.global.button.delete")+'"><span class="icon icon16 fa-times" /> <span class="invisible">'+WCF
.Language
.get("wcf.global.button.delete")+"</span></a></li>");n
.data("commentID",e
).appendTo(t
.find("ul.buttonList:eq(0)")).click($.proxy(this._delete
,this))}},_initResponses:function(){var e
=this;this._container
.find(".jsCommentResponse").each(function(t
,s
){var n
=$(s
).removeClass("jsCommentResponse"),a
=n
.data("responseID");e
._responses
[a
]=n
,e
._initResponse(a
,n
)})},_initResponse:function(e
,t
){if(t
.data("canEdit")){var s
=$('<li><a href="#" class="jsTooltip" title="'+WCF
.Language
.get("wcf.global.button.edit")+'"><span class="icon icon16 fa-pencil" /> <span class="invisible">'+WCF
.Language
.get("wcf.global.button.edit")+"</span></a></li>"),n
=this;s
.data("responseID",e
).appendTo(t
.find("ul.buttonList:eq(0)")).click(function(e
){n
._prepareEdit(e
,!0)})}if(t
.data("canDelete")){var a
=$('<li><a href="#" class="jsTooltip" title="'+WCF
.Language
.get("wcf.global.button.delete")+'"><span class="icon icon16 fa-times" /> <span class="invisible">'+WCF
.Language
.get("wcf.global.button.delete")+"</span></a></li>"),n
=this;a
.data("responseID",e
).appendTo(t
.find("ul.buttonList:eq(0)")).click(function(e
){n
._delete(e
,!0)})}},_initAddComment:function(){this._commentAdd
=$('<li class="box48 jsCommentAdd">'+this._userAvatar
+"<div /></li>").prependTo(this._container
);var e
=this._commentAdd
.children("div"),t
=$('<textarea placeholder="'+WCF
.Language
.get("wcf.comment.add")+'" maxlength="65535" class="long" />').appendTo(e
).flexible();$('<button class="small">'+WCF
.Language
.get("wcf.global.button.submit")+"</button>").click($.proxy(this._save
,this)).appendTo(e
),t
.keyup($.proxy(this._keyUp
,this))},_initAddResponse:function(e
,t
){var s
=$('<li class="jsCommentShowAddResponse"><a>'+WCF
.Language
.get("wcf.comment.button.response.add")+"</a></li>").data("commentID",e
).click($.proxy(this._showAddResponse
,this)).appendTo(this._commentButtonList
[e
]),n
=$('<div class="box32 commentResponseAdd jsCommentResponseAdd">'+this._userAvatarSmall
+"<div /></div>").hide();n
.appendTo(this._commentButtonList
[e
].parent().show());var a
=n
.children("div"),o
=$('<textarea placeholder="'+WCF
.Language
.get("wcf.comment.response.add")+'" maxlength="65535" class="long" />').data("commentID",e
).appendTo(a
).flexible();$('<button class="small">'+WCF
.Language
.get("wcf.global.button.submit")+"</button>").click($.proxy(function(e
){this._save(e
,!0)},this)).appendTo(a
);var i
=this;o
.keyup(function(e
){i
._keyUp(e
,!0)}),t
.data("responsePlaceholder",s
).data("responseInput",n
)},_prepareEdit:function(e
,t
){e
.preventDefault();var s
=$(e
.currentTarget
),n
={objectID
:this._container
.data("objectID"),objectTypeID
:this._container
.data("objectTypeID")};t
===!0?n
.responseID
=s
.data("responseID"):n
.commentID
=s
.data("commentID"),this._proxy
.setOption("data",{actionName
:"prepareEdit",className
:"wcf\\data\\comment\\CommentAction",parameters
:{data
:n
}}),this._proxy
.sendRequest()},_showAddResponse:function(e
){var t
=$(e
.currentTarget
),s
=t
.data("commentID");t
.prev().hasClass("jsCommentLoadNextResponses")&&(this._loadResponsesExecute(s
,!0),t
.parent().children(".button").disable()),t
.remove();var n
=this._comments
[s
].data("responseInput").show();n
.find("textarea").focus(),n
.parents(".commentOptionContainer").addClass("jsAddResponseActive")},_keyUp:function(e
,t
){return e
.which
===$.ui
.keyCode
.ESCAPE
?void $(e
.currentTarget
).val("").trigger("blur",e
).trigger("updateHeight"):e
.which
===$.ui
.keyCode
.ENTER
&&e
.ctrlKey
?(this._save(null,t
,$(e
.currentTarget
)),!1):void 0},_save:function(e
,t
,s
){var n
=null===e
?s
:$(e
.currentTarget
).parent().children("textarea");n
.next("small.innerError").remove();var a
=$.trim(n
.val());if(""!=a
){var o
="addComment",i
={message
:a
,objectID
:this._container
.data("objectID"),objectTypeID
:this._container
.data("objectTypeID")};t
===!0&&(o
="addResponse",i
.commentID
=n
.data("commentID")),WCF
.User
.userID
?new WCF
.Action
.Proxy({autoSend
:!0,data
:{actionName
:o
,className
:"wcf\\data\\comment\\CommentAction",parameters
:{data
:i
}},success
:$.proxy(this._success
,this),failure:function(e
,t
,s
,a
){return e
.returnValues
&&e
.returnValues
.fieldName
&&"text"===e
.returnValues
.fieldName
&&e
.returnValues
.errorType
?($('<small class="innerError">'+e
.returnValues
.errorType
+"</small>").insertAfter(n
),!1):void this._failure(e
,t
,s
,a
)}.bind(this)}):(this._commentData
=i
,this._proxy
.setOption("data",{actionName
:"getGuestDialog",className
:"wcf\\data\\comment\\CommentAction",parameters
:{data
:{message
:a
,objectID
:this._container
.data("objectID"),objectTypeID
:this._container
.data("objectTypeID")}}}),this._proxy
.sendRequest())}},_delete:function(e
,t
){e
.preventDefault(),WCF
.System
.Confirmation
.show(WCF
.Language
.get("wcf.comment.delete.confirmMessage"),$.proxy(function(s
){if("confirm"===s
){var n
={objectID
:this._container
.data("objectID"),objectTypeID
:this._container
.data("objectTypeID")};t
!==!0?n
.commentID
=$(e
.currentTarget
).data("commentID"):n
.responseID
=$(e
.currentTarget
).data("responseID"),this._proxy
.setOption("data",{actionName
:"remove",className
:"wcf\\data\\comment\\CommentAction",parameters
:{data
:n
}}),this._proxy
.sendRequest()}},this))},_failure:function(){return!WCF
.User
.userID
&&this._guestDialog
&&this._guestDialog
.find('input[type="submit"]').enable(),!0},_success:function(e
){switch(e
.actionName
){case"addComment":e
.returnValues
.guestDialog
?this._createGuestDialog(e
.returnValues
.guestDialog
,e
.returnValues
.useCaptcha
):(this._commentAdd
.find("textarea").val("").blur().trigger("updateHeight"),$(e
.returnValues
.template
).insertAfter(this._commentAdd
).wcfFadeIn(),WCF
.User
.userID
||this._guestDialog
.wcfDialog("close"));break;case"addResponse":if(e
.returnValues
.guestDialog
)this._createGuestDialog(e
.returnValues
.guestDialog
,e
.returnValues
.useCaptcha
);else{var t
=this._comments
[e
.returnValues
.commentID
];t
.find(".jsCommentResponseAdd textarea").val("").blur().trigger("updateHeight");var s
=t
.find("ul.commentResponseList");s
.length
||(s
=$('<ul class="containerList commentResponseList" />').insertBefore(t
.find(".commentOptionContainer"))),$(e
.returnValues
.template
).appendTo(s
).wcfFadeIn(),WCF
.User
.userID
||this._guestDialog
.wcfDialog("close")}break;case"edit":this._update(e
);break;case"loadComments":this._insertComments(e
);break;case"loadResponses":this._insertResponses(e
);break;case"prepareEdit":this._edit(e
);break;case"remove":this._remove(e
);break;case"getGuestDialog":this._createGuestDialog(e
.returnValues
.template
,e
.returnValues
.useCaptcha
)}WCF
.DOMNodeInsertedHandler
.execute()},_insertComments:function(e
){$(e
.returnValues
.template
).insertBefore(this._loadNextComments
),this._container
.data("lastCommentTime",e
.returnValues
.lastCommentTime
)},_insertResponses:function(e
){var t
=this._comments
[e
.returnValues
.commentID
];$(e
.returnValues
.template
).appendTo(t
.find("ul.commentResponseList")),t
.data("lastResponseTime",e
.returnValues
.lastResponseTime
),this._handleLoadNextResponses(e
.returnValues
.commentID
)},_remove:function(e
){if(e
.returnValues
.commentID
)this._comments
[e
.returnValues
.commentID
].remove(),delete this._comments
[e
.returnValues
.commentID
];else{var t
=this._responses
[e
.returnValues
.responseID
],s
=this._comments
[t
.parents("li.comment:eq(0)").data("commentID")];s
.data("responses",parseInt(s
.data("responses"))-1);var n
=t
.parent();t
.remove(),n
.children().length
||n
.empty(),delete this._responses
[e
.returnValues
.responseID
]}},_edit:function(e
){var t
;t
=e
.returnValues
.commentID
?this._comments
[e
.returnValues
.commentID
].find(".commentContent:eq(0) .userMessage:eq(0)"):this._responses
[e
.returnValues
.responseID
].find(".commentContent:eq(0) .userMessage:eq(0)"),t
.html($.proxy(function(t
,s
){var n
=$('<textarea class="long" maxlength="65535" />').val(e
.returnValues
.message
);return n
.data("__html",s
).keyup($.proxy(this._keyUpEdit
,this)),e
.returnValues
.commentID
?n
.data("commentID",e
.returnValues
.commentID
):n
.data("responseID",e
.returnValues
.responseID
),n
},this));var s
=t
.children("textarea");$('<button class="small">'+WCF
.Language
.get("wcf.global.button.submit")+"</button>").insertAfter(s
).click($.proxy(this._saveEdit
,this)),s
.focus().flexible(),t
.parent().find(".containerHeadline:eq(0)").hide(),t
.parent().find(".buttonGroupNavigation:eq(0)").hide()},_update:function(e
){var t
;t
=e
.returnValues
.commentID
?this._comments
[e
.returnValues
.commentID
].find(".commentContent:eq(0) .userMessage:eq(0) > textarea"):this._responses
[e
.returnValues
.responseID
].find(".commentContent:eq(0) .userMessage:eq(0) > textarea"),t
.data("__html",e
.returnValues
.message
),this._cancelEdit(t
)},_createGuestDialog:function(e
,t
){!!this._guestDialog
;this._guestDialog
||(this._guestDialog
=$('<div id="commentAddGuestDialog" />').hide().appendTo(document
.body
)),this._guestDialog
.html(e
),this._guestDialog
.data("useCaptcha",t
),this._guestDialog
.find('input[type="submit"]').click($.proxy(this._submit
,this)),this._guestDialog
.find('input[type="text"]').keydown($.proxy(this._keyDown
,this)),this._guestDialog
.wcfDialog({title
:WCF
.Language
.get("wcf.comment.guestDialog.title")})},_keyDown:function(e
){e
.which
===$.ui
.keyCode
.ENTER
&&this._submit()},_submit:function(){var e
={actionName
:this._commentData
.commentID
?"addResponse":"addComment",className
:"wcf\\data\\comment\\CommentAction"},t
=this._commentData
;t
.username
=this._guestDialog
.find('input[name="username"]').val(),e
.parameters
={data
:t
},e
=$.extend(WCF
.System
.Captcha
.getData("commentAdd"),e
),this._proxy
.setOption("data",e
),this._proxy
.sendRequest()},_keyUpEdit:function(e
){return e
.which
===$.ui
.keyCode
.ESCAPE
?void this._cancelEdit($(e
.currentTarget
)):e
.which
===$.ui
.keyCode
.ENTER
&&e
.ctrlKey
?(this._saveEdit(e
),!1):void 0},_saveEdit:function(e
){var t
=$(e
.currentTarget
);t
.is("button")&&(t
.prev("small.innerError").remove(),t
=t
.prev("textarea"));var s
=$.trim(t
.val());if(""!==s
){var n
={message
:s
,objectID
:this._container
.data("objectID"),objectTypeID
:this._container
.data("objectTypeID")};t
.data("commentID")?n
.commentID
=t
.data("commentID"):n
.responseID
=t
.data("responseID"),new WCF
.Action
.Proxy({autoSend
:!0,data
:{actionName
:"edit",className
:"wcf\\data\\comment\\CommentAction",parameters
:{data
:n
}},success
:$.proxy(this._success
,this),failure:function(e
,s
,n
,a
){return e
.returnValues
&&e
.returnValues
.fieldName
&&"text"===e
.returnValues
.fieldName
&&e
.returnValues
.errorType
?($('<small class="innerError">'+e
.returnValues
.errorType
+"</small>").insertAfter(t
),!1):void this._failure(e
,s
,n
,a
)}.bind(this)})}},_cancelEdit:function(e
){e
.parent().prev(".containerHeadline:eq(0)").show(),e
.parent().next(".buttonGroupNavigation:eq(0)").show(),e
.parent().html(e
.data("__html"))}}),WCF
.Comment
.Response
={}; })(this);
88 (function (window
, undefined) {"use strict";WCF
.ImageViewer
=Class
.extend({_triggerElement
:null,init:function(){this._triggerElement
=$('<span class="wcfImageViewerTriggerElement" />').data("disableSlideshow",!0).hide().appendTo(document
.body
),this._triggerElement
.wcfImageViewer({enableSlideshow
:0,imageSelector
:".jsImageViewerEnabled",staticViewer
:!0}),WCF
.DOMNodeInsertedHandler
.addCallback("WCF.ImageViewer",$.proxy(this._domNodeInserted
,this)),WCF
.DOMNodeInsertedHandler
.execute()},_domNodeInserted:function(){this._initImageSizeCheck(),this._rebuildImageViewer()},_rebuildImageViewer:function(){var i
=$("a.jsImageViewer");i
.length
&&i
.removeClass("jsImageViewer").addClass("jsImageViewerEnabled").click($.proxy(this._click
,this))},_click:function(i
){i
.preventDefault(),i
.stopPropagation(),$(i
.currentTarget
).closest(".popover").length
||this._triggerElement
.wcfImageViewer("open",null,$(i
.currentTarget
).wcfIdentify())},_initImageSizeCheck:function(){$(".jsResizeImage").each($.proxy(function(i
,e
){e
.complete
&&this._checkImageSize({currentTarget
:e
})},this)),$(".jsResizeImage").on("load",$.proxy(this._checkImageSize
,this))},_checkImageSize:function(i
){var e
=$(i
.currentTarget
);if(!e
.is(":visible"))return void e
.off("load");if(e
.removeClass("jsResizeImage"),!e
.closest(".messageSignature").length
){var t
=new Image
;t
.src
=e
.attr("src");var s
=e
.closest("div.messageText, div.messageTextPreview").width();s
<t
.width
?e
.parents("a").length
||(e
.wrap('<a href="'+e
.attr("src")+'" class="jsImageViewerEnabled embeddedImageLink" />'),e
.parent().click($.proxy(this._click
,this)),"right"==e
.css("float")?e
.parent().addClass("messageFloatObjectRight"):"left"==e
.css("float")&&e
.parent().addClass("messageFloatObjectLeft"),e
[0].style
.removeProperty("float"),e
[0].style
.removeProperty("margin")):e
.removeClass("embeddedAttachmentLink")}}}),$.widget("ui.wcfImageViewer",{_active
:-1,_activeImage
:null,_container
:null,_didInit
:!1,_disableSlideshow
:!1,_eventNamespace
:"",_images
:[],_isMobile
:!1,_isOpen
:!1,_items
:-1,_maxDimensions
:{height
:0,width
:0},_proxy
:null,_slideshowEnabled
:!1,_thumbnailContainerWidth
:0,_thumbnailMarginRight
:0,_thumbnailOffset
:0,_thumbnailWidth
:0,_timer
:null,_ui
:{buttonNext
:null,buttonPrevious
:null,header
:null,image
:null,imageContainer
:null,imageList
:null,slideshow
:{container
:null,enlarge
:null,next
:null,previous
:null,toggle
:null}},options
:{shiftBy
:5,enableSlideshow
:1,speed
:5,className
:"",imageSelector
:"",staticViewer
:!1},_create:function(){this._active
=-1,this._activeImage
=null,this._container
=null,this._didInit
=!1,this._disableSlideshow
=this.element
.data("disableSlideshow"),this._eventNamespace
=this.element
.wcfIdentify(),this._images
=[],this._isMobile
=!1,this._isOpen
=!1,this._items
=-1,this._maxDimensions
={height
:document
.documentElement
.clientHeight
,width
:document
.documentElement
.clientWidth
},this._proxy
=new WCF
.Action
.Proxy({success
:$.proxy(this._success
,this)}),this._slideshowEnabled
=!1,this._thumbnailContainerWidth
=0,this._thumbnailMarginRight
=0,this._thumbnailOffset
=0,this._thumbnaiLWidth
=0,this._timer
=null,this._ui
={},this.element
.click($.proxy(this.open
,this))},open:function(i
,e
){if(i
&&i
.preventDefault(),this._isOpen
)return!1;if(this.options
.staticViewer
){var t
=this._getStaticImages();this._initUI(),this._createThumbnails(t
,!0),this._render(!0,void 0,e
),this._isOpen
=!0,WCF
.System
.DisableScrolling
.disable(),WCF
.System
.DisableZoom
.disable(),$.browser
.touch
&&setTimeout($.proxy(function(){this._isMobile
&&!this._container
.hasClass("maximized")&&this._toggleView()},this),500)}else 0===this._images
.length
?this._loadNextImages(!0):(this._render(!1,this.element
.data("targetImageID")),this._items
>1&&this._slideshowEnabled
&&this.startSlideshow(),this._isOpen
=!0,WCF
.System
.DisableScrolling
.disable(),WCF
.System
.DisableZoom
.disable());return this._bindListener(),document
.documentElement
.classList
.add("pageOverlayActive"),!0},close:function(i
){return i
&&i
.preventDefault(),this._isOpen
?(this._container
.removeClass("open"),null!==this._timer
&&this._timer
.stop(),this._unbindListener(),this._isOpen
=!1,WCF
.System
.DisableScrolling
.enable(),WCF
.System
.DisableZoom
.enable(),document
.documentElement
.classList
.remove("pageOverlayActive"),!0):!1},startSlideshow:function(){return this._disableSlideshow
||this._slideshowEnabled
?!1:(null===this._timer
?this._timer
=new WCF
.PeriodicalExecuter($.proxy(function(){var i
=this._active
+1;i
==this._items
&&(i
=0),this.showImage(i
)},this),1e3
*this.options
.speed
):this._timer
.resume(),this._slideshowEnabled
=!0,this._ui
.slideshow
.toggle
.children("span").removeClass("fa-play").addClass("fa-pause"),!0)},stopSlideshow:function(i
){return this._slideshowEnabled
?(this._timer
.stop(),i
&&this._ui
.slideshow
.toggle
.children("span").removeClass("fa-pause").addClass("fa-play"),this._slideshowEnabled
=!1,!0):!1},_bindListener:function(){$(document
).on("keydown."+this._eventNamespace
,$.proxy(this._keyDown
,this)),$(window
).on("resize."+this._eventNamespace
,$.proxy(this._renderImage
,this))},_unbindListener:function(){$(document
).off("keydown."+this._eventNamespace
),$(window
).off("resize."+this._eventNamespace
)},_keyDown:function(i
){switch(i
.which
){case $.ui
.keyCode
.ESCAPE
:this.close();break;case $.ui
.keyCode
.LEFT
:this._previousImage();break;case $.ui
.keyCode
.RIGHT
:this._nextImage();break;case $.ui
.keyCode
.UP
:this._container
.hasClass("maximized")||this._toggleView();break;case $.ui
.keyCode
.DOWN
:this._container
.hasClass("maximized")&&this._toggleView();break;case $.ui
.keyCode
.ENTER
:var e
=this._ui
.header
.find("> div > h1 > a");1==e
.length
?window
.location
=e
.prop("href"):this._ui
.slideshow
.full
.trigger("click");break;case 80:this._ui
.slideshow
.toggle
.trigger("click");break;default:return!0}return!1},_render:function(i
,e
,t
){this._container
.addClass("open");var s
=null;if(i
&&(s
=this._ui
.imageList
.children("li:eq(0)"),this._thumbnailMarginRight
=parseInt(s
.css("marginRight").replace(/px$/,""))||0,this._thumbnailWidth
=s
.outerWidth(!0),this._thumbnailContainerWidth
=this._ui
.imageList
.parent().innerWidth(),this._items
>1&&this.options
.enableSlideshow
&&!e
&&!t
&&this.startSlideshow()),e
)this._ui
.imageList
.children("li").each($.proxy(function(i
,t
){var s
=$(t
);return s
.data("objectID")==e
?(s
.trigger("click"),this.moveToImage(s
.data("index")),!1):void 0},this));else if(t
){var a
=0;$(this.options
.imageSelector
).each(function(i
,e
){return $(e
).wcfIdentify()==t
?(a
=i
,!1):void 0});var n
=this._ui
.imageList
.children("li:eq("+a
+")");if(-1!==this._active
){var h
=!1;this._active
!=n
.data("index")&&(h
=!0),this._ui
.images
[this._activeImage
].prop("src")!=this._images
[this._active
].image
.url
&&(h
=!0),h
&&(this._active
=-1)}n
.trigger("click"),this.moveToImage(n
.data("index"))}else null!==s
&&s
.trigger("click");this._toggleButtons(),this._preload()},_preload:function(){if(this._images
.length
<this._items
){var i
=this._images
.length
*this._thumbnailWidth
;i
-this._thumbnailOffset
<this._thumbnailContainerWidth
&&this._loadNextImages(!1)}},_showImage:function(i
){this.showImage($(i
.currentTarget
).data("index"),!0)},showImage:function(i
,e
){if(this._active
==i
)return!1;this.stopSlideshow(e
||!1),-1!=this._active
&&this._images
[this._active
].listItem
.removeClass("active"),this._active
=i
;var t
=this._images
[i
];this._ui
.imageList
.children("li").removeClass("active"),t
.listItem
.addClass("active");var s
=this._ui
.imageContainer
.getDimensions("inner"),a
=this._activeImage
?0:1;null!==this._activeImage
&&this._ui
.images
[this._activeImage
].removeClass("active"),this._activeImage
=a
;var n
=this._active
;if(this._ui
.imageContainer
.addClass("loading"),this._ui
.images
[a
].off("load").prop("src","data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///ywAAAAAAQABAAACAUwAOw=="),this._ui
.images
[a
].on("load",$.proxy(function(){this._imageOnLoad(n
,a
)},this)),this._renderImage(a
,t
,s
),!this.options
.staticViewer
){var h
=this._ui
.header
.find("> div > a").prop("href",t
.user
.link
).prop("title",t
.user
.username
);h
.children("img").prop("src",t
.user
.avatarURL
)}var o
=WCF
.String
.escapeHTML(t
.image
.title
);if(t
.image
.link
&&(o
='<a href="'+t
.image
.link
+'">'+o
+"</a>"),this._ui
.header
.find("> div > h1").html(o
),!this.options
.staticViewer
){var l
=t
.series
&&t
.series
.title
?WCF
.String
.escapeHTML(t
.series
.title
):"";t
.series
.link
&&(l
='<a href="'+t
.series
.link
+'">'+l
+"</a>"),this._ui
.header
.find("> div > h2").html(l
)}return this._ui
.header
.find("> div > h3").text(WCF
.Language
.get("wcf.imageViewer.seriesIndex").replace(/{x
}/,t.listItem.data("index")+1).replace(/{y
}/,this._items)),this._ui.slideshow.full.data("link",t.image.fullURL?t.image.fullURL:t.image.url),this.moveToImage(t.listItem.data("index")),this._toggleButtons(),!0},_imageOnLoad:function(i,e){i==this._active&&(this._ui.imageContainer.removeClass("loading"),this._ui.images[e].addClass("active"),this.options.staticViewer&&this._renderImage(e,null),this.startSlideshow())},_renderImage:function(i,e,t){var s=!0;e||(i=this._activeImage,e=this._images[this._active],t={height:$(window).height()-(this._container.hasClass("maximized")||this._container.hasClass("wcfImageViewerMobile")?0:200),width:this._ui.imageContainer.innerWidth()},s=!1),t.height-=22,t.width-=20;var a=this._ui.images[i];if(a.prop("src")!==e.image.url&&a.prop("src",e.image.url),s&&a[0].complete&&a.trigger("load"),this.options.staticViewer&&!e.image.height&&a[0].complete)if($.browser.mozilla||$.browser.safari){var n=new Image;n.src=e.image.url,e.image.height=n.height,e.image.width=n.width}else a.css({height:"auto",width:"auto"}),e.image.height=a[0].height,e.image.width=a[0].width;var h=e.image.height,o=e.image.width,l=0;h>t.height&&(l=t.height/h
,h
=t
.height
,o
=Math
.floor(o
*l
)),o
>t
.width
&&(l
=t
.width
/o,o=t.width,h=Math.floor(h*l));var r=Math.floor((t.width-o)/2);this._ui
.images
[i
].css({height
:h
+"px",left
:r
+10+"px",marginTop
:-1*Math
.round(h
/2)+"px",width:o+"px"})},_initUI:function(){if(this._didInit)return!1;this._didInit=!0,this._container=$('<div class="wcfImageViewer'+(this.options.staticViewer?" wcfImageViewerStatic":"")+'" />').appendTo(document.body);var i=$("<div><img /><img /></div>").appendTo(this._container),e=$('<footer
><span
class="wcfImageViewerButtonPrevious icon fa-angle-double-left" /><div
><ul
/></div><span
class="wcfImageViewerButtonNext icon fa-angle-double-right" /></footer
>').appendTo(this._container),t=$("<ul />").appendTo(i),s=$('<li
class="wcfImageViewerSlideshowButtonPrevious"><span
class="icon icon48 fa-angle-left" /></li>').appendTo(t),a=$('<li class="wcfImageViewerSlideshowButtonToggle pointer"><span class="icon icon48 fa-play" /></li>').appendTo(t),n=$('<li class="wcfImageViewerSlideshowButtonNext"><span class="icon icon48 fa-angle-right" /></li>').appendTo(t),h=$('<li class="wcfImageViewerSlideshowButtonEnlarge pointer jsTooltip" title="'+WCF.Language.get("wcf.imageViewer.button.enlarge")+'"><span class="icon icon48 fa-expand" /></li>').appendTo(t),o=$('<li class="wcfImageViewerSlideshowButtonFull pointer jsTooltip" title="'+WCF.Language.get("wcf.imageViewer.button.full")+'"><span class="icon icon48 fa-external-link" /></li>').appendTo(t);return this._ui={buttonNext:e.children("span.wcfImageViewerButtonNext"),buttonPrevious:e.children("span.wcfImageViewerButtonPrevious"),header:$("<header><div"+(this.options.staticViewer?">":' class="box64"><a class="jsTooltip"><img /></a>')+"<h1 /><h2
/><h3 /></div></header
>").appendTo(this._container),imageContainer:i,images:[i.children("img
:eq(0)").on("webkitTransitionEnd transitionend msTransitionEnd oTransitionEnd
",function(){$(this).removeClass("animateTransformation
")}),i.children("img
:eq(1)").on("webkitTransitionEnd transitionend msTransitionEnd oTransitionEnd
",function(){$(this).removeClass("animateTransformation
")})],imageList:e.find("> div
> ul
"),slideshow:{container:t,enlarge:h,full:o,next:n,previous:s,toggle:a}},this._ui.buttonNext.click($.proxy(this._next,this)),this._ui.buttonPrevious.click($.proxy(this._previous,this)),n.click($.proxy(this._nextImage,this)),s.click($.proxy(this._previousImage,this)),h.click($.proxy(this._toggleView,this)),a.click($.proxy(function(){this._items<2||(this._slideshowEnabled?this.stopSlideshow(!0):(this._disableSlideshow=!1,this.startSlideshow()))},this)),o.click(function(i){window.location=$(i.currentTarget).data("link
")}),$('<span class="wcfImageViewerButtonClose icon icon48 fa
-times pointer jsTooltip
" title="'+WCF.Language.get("wcf.global.button.close")+'" />').appendTo(this._ui.header).click($.proxy(this.close,this)),$.browser.mobile||i.click(function(e){e.target===i[0]&&this.close()}.bind(this)),WCF.DOMNodeInsertedHandler.execute(),enquire.register("(max
-width
: 767px
)",{match:$.proxy(this._enableMobileView,this),unmatch:$.proxy(this._disableMobileView,this)}),!0},_enableMobileView:function(){this._container.addClass("wcfImageViewerMobile
");var i=this;this._ui.imageContainer.swipe({swipeLeft:function(e){i._container.hasClass("maximized
")&&i._nextImage(e)},swipeRight:function(e){i._container.hasClass("maximized
")&&i._previousImage(e)},tap:function(e,t){switch(t.tagName){case"DIV
":case"IMG
":i._toggleView()}}}),this._isMobile=!0},_disableMobileView:function(){this._container.removeClass("wcfImageViewerMobile
"),this._ui.imageContainer.swipe("destroy
"),this._isMobile=!1},_toggleView:function(){this._ui.images[this._activeImage].addClass("animateTransformation
"),this._container.toggleClass("maximized
"),this._ui.slideshow.enlarge.toggleClass("active
").children("span
").toggleClass("fa
-expand
").toggleClass("fa
-compress
"),this._renderImage(null,void 0,null)},_next:function(i,e){if(this._ui.buttonNext.hasClass("pointer
")){void 0==e&&this.stopSlideshow(!0);var t=Math.max(this._items*this._thumbnailWidth-this._thumbnailContainerWidth-this._thumbnailMarginRight,0);this._thumbnailOffset=Math.min(this._thumbnailOffset+this._thumbnailWidth*(e?e:this.options.shiftBy),t),this._ui.imageList.css("marginLeft
",-1*this._thumbnailOffset)}this._preload(),this._toggleButtons()},_previous:function(i,e){this._ui.buttonPrevious.hasClass("pointer
")&&(void 0==e&&this.stopSlideshow(!0),this._thumbnailOffset=Math.max(this._thumbnailOffset-this._thumbnailWidth*(e?e:this.options.shiftBy),0),this._ui.imageList.css("marginLeft
",-1*this._thumbnailOffset)),this._toggleButtons()},_nextImage:function(i){this._ui.slideshow.next.hasClass("pointer
")&&(this._disableSlideshow=!0,this.stopSlideshow(!0),this.showImage(this._active+1),i&&(i.preventDefault(),i.stopPropagation()))},_previousImage:function(i){this._ui.slideshow.previous.hasClass("pointer
")&&(this._disableSlideshow=!0,this.stopSlideshow(!0),this.showImage(this._active-1),i&&(i.preventDefault(),i.stopPropagation()))},moveToImage:function(i){var e=(i-3)*this._thumbnailWidth,t=e+5*this._thumbnailWidth,s=this._thumbnailOffset,a=this._thumbnailOffset+this._thumbnailContainerWidth,n=!1;if((s>e||t>a)&&(n=!0),n){var h=0;if(s>e){for(;s>e;)h++,s-=this._thumbnailWidth;this._previous(null,h)}else{for(;t>a;)h++,a+=this._thumbnailWidth;this._next(null,h)}}},_toggleButtons:function(){this._thumbnailOffset>0?this._ui.buttonPrevious.addClass("pointer
"):this._ui.buttonPrevious.removeClass("pointer
");var i=this._images.length*this._thumbnailWidth-this._thumbnailContainerWidth-this._thumbnailMarginRight;this._thumbnailOffset>=i?this._ui.buttonNext.removeClass("pointer
"):this._ui.buttonNext.addClass("pointer
"),this._active>0?this._ui.slideshow.previous.addClass("pointer
"):this._ui.slideshow.previous.removeClass("pointer
"),this._active+1<this._images.length?this._ui.slideshow.next.addClass("pointer
"):this._ui.slideshow.next.removeClass("pointer
"),this._items<2?this._ui.slideshow.toggle.removeClass("pointer
"):this._ui.slideshow.toggle.addClass("pointer
")},_createThumbnails:function(i){this.options.staticViewer&&(this._images=[],this._ui.imageList.empty());for(var e=0,t=i.length;t>e;e++){var s=i[e],a=$('<li class="loading pointer
"><img src="'+s.thumbnail.url+'" /></li>').appendTo(this._ui.imageList);a.data("index
",this._images.length).data("objectID
",s.objectID).click($.proxy(this._showImage,this));var n=a.children("img
");if(n.get(0).complete)a.removeClass("loading
"),this.options.staticViewer&&this._fixThumbnailDimensions(n);else{var h=this;n.on("load
",function(){var i=$(this);i.parent().removeClass("loading
"),h.options.staticViewer&&h._fixThumbnailDimensions(i)})}s.listItem=a,this._images.push(s)}},_fixThumbnailDimensions:function(i){var e=new Image;e.src=i.prop("src
");var t=e.height,s=e.width;if(t==s)t=s=80;else if(s>t){var a=80/s;s=80,t*=a}else{var a=80/t;t=80,s*=a}i.css({height:t+"px
",width:s+"px
"})},_loadNextImages:function(i){this._proxy.setOption("data
",{actionName:"loadNextImages
",className:this.options.className,interfaceName:"wcf
\\data
\\IImageViewerAction
",objectIDs:[this.element.data("objectID
")],parameters:{maximumHeight:this._maxDimensions.height,maximumWidth:this._maxDimensions.width,offset:this._images.length,targetImageID:i&&this.element.data("targetImageID
")?this.element.data("targetImageID
"):0}}),this._proxy.setOption("showLoadingOverlay
",!1),this._proxy.sendRequest()},_getStaticImages:function(){var i=[];return $(this.options.imageSelector).each(function(e,t){var s=$(t),a=s.find("> img
, .attachmentThumbnailImage
> img
").first();a.length||(a=s.parentsUntil(".formAttachmentList
").last().find(".attachmentTinyThumbnail
")),i.push({image:{fullURL:a.data("source
")?a.data("source
").replace(/\\\//g,"/"):s.prop("href
"),link:"",title:s.prop("title
"),url:s.prop("href
")},series:null,thumbnail:{url:a.prop("src
")},user:null})}),this._items=i.length,i},_success:function(i){i.returnValues.items&&(this._items=i.returnValues.items);var e=this._initUI();this._createThumbnails(i.returnValues.images);var t=i.returnValues.targetImageID?i.returnValues.targetImageID:0;this._render(e,t),this._isOpen||(this._isOpen=!0,WCF.System.DisableScrolling.disable(),WCF.System.DisableZoom.disable())}}); })(this);
91 (function (window, undefined) {"use strict
";WCF.Label={},WCF.Label.ACPList=Class.extend({_labelInput:null,_labelList:[],init:function(){this._labelInput=$("#label
").keydown($.proxy(this._keyPressed,this)).keyup($.proxy(this._keyPressed,this)).blur($.proxy(this._keyPressed,this)),$.browser.mozilla&&$.browser.touch&&this._labelInput.on("input
",$.proxy(this._keyPressed,this)),$("#labelList
").find('input[type="radio
"]').each($.proxy(function(t,e){var i=$(e);"custom
"!==i.prop("value
")&&this._labelList.push($(i.next("span
")))},this))},_keyPressed:function(){var t=this._labelInput.prop("value
");""===t&&(t=WCF.Language.get("wcf
.acp
.label
.defaultValue
"));for(var e=0,i=this._labelList.length;i>e;e++)this._labelList[e].text(t)}}),WCF.Label.ACPList.Connect=Class.extend({init:function(){var t=$("#connect
.structuredList li
");t.length&&t.each($.proxy(function(t,e){$(e).find('input[type="checkbox
"]').click($.proxy(this._click,this))},this))},_click:function(t){var e=$(t.currentTarget);if(e.is(":checked
")){e=e.parents("li
");for(var i=e.data("depth
");;){if(e=e.next(),!e.length)return!0;if(e.data("depth
")<=i)return!0;e.find('input[type="checkbox
"]').prop("checked
","checked
")}}}}),WCF.Label.Chooser=Class.extend({_container:null,_groups:{},_showWithoutSelection:!1,init:function(t,e,i,a){if(this._container=null,this._groups={},this._showWithoutSelection=a===!0,this._initContainers(e),$.getLength(t))for(var n in t){var l=this._groups[n];l&&WCF.Dropdown.getDropdownMenu(l.wcfIdentify()).find("> ul
> li
:not(.dropdownDivider
)").each($.proxy(function(e,i){var a=$(i),l=a.data("labelID
")||0;l&&t[n]==l&&this._selectLabel(a,!0)},this))}for(var o in this._containers){var s=this._containers[o];void 0===s.data("labelID
")&&s.data("labelID
",0)}this._container=$(e),i?$(i).click($.proxy(this._submit,this)):this._container.is("form
")&&this._container.submit($.proxy(this._submit,this))},_initContainers:function(t){$(t).find(".labelChooser
").each($.proxy(function(t,e){var i=$(e),a=i.data("groupID
");if(!this._groups[a]){var n=i.wcfIdentify(),l=WCF.Dropdown.getDropdownMenu(n);null===l&&(WCF.Dropdown.initDropdown(i.find(".dropdownToggle
")),l=WCF.Dropdown.getDropdownMenu(n));var o=l;if("div
"==l.getTagName()&&l.children(".scrollableDropdownMenu
").length&&(o=$("<ul
/>").appendTo(l),l=l.children(".scrollableDropdownMenu")),this._groups[a]=i,l.children("li").data("groupID",a).click($.proxy(this._click,this)),(!i.data("forceSelection")||this._showWithoutSelection)&&$('<li class="dropdownDivider" />').appendTo(o),this._showWithoutSelection&&$('<li data
-label
-id
="-1"><span
><span
class="badge label">'+WCF.Language.get("wcf.label.withoutSelection")+"</span></span></li>").data("groupID",a).appendTo(o).click($.proxy(this._click,this)),!i.data("forceSelection")){var s=$('<li data
-label
-id
="0"><span
><span
class="badge label">'+WCF.Language.get("wcf.label.none")+"</span></span></li>").data("groupID",a).appendTo(o);s.click($.proxy(this._click,this))}}},this))},_click:function(t){this._selectLabel($(t.currentTarget),!1)},_selectLabel:function(t,e){var i=this._groups[t.data("groupID")];e&&void 0!==i.data("labelID")||(t.data("labelID")?i.data("labelID",t.data("labelID")):i.data("labelID",0),t=t.find("span > span"),i.find(".dropdownToggle > span").removeClass().addClass(t.attr("class")).text(t.text()))},_submit:function(){var t=this._container.find(".formSubmit");t.find('input
[type
="hidden"]').each(function(t,e){var i=$(e);0===i.attr("name").indexOf("labelIDs[")&&i.remove()});for(var e in this._groups){var i=this._groups[e];i.data("labelID")&&$('<input type
="hidden" name
="labelIDs['+e+']" value
="'+i.data("labelID
")+'" />').appendTo(t)}}}); })(this);
94 (function (window, undefined) {"use strict";WCF.Location={},WCF.Location.Util={getLocation:function(t,e){var o=WCF.Location.GoogleMaps.Settings.get("accessUserLocation");navigator.geolocation&&null!==o&&o?navigator.geolocation.getCurrentPosition(function(e){t(e.coords.latitude,e.coords.longitude)},function(){t(void 0,void 0)},{timeout:e||5e3}):t(void 0,void 0)}},WCF.Location.GoogleMaps={},WCF.Location.GoogleMaps.Settings={_settings:{},get:function(t){return void 0===t?this._settings:void 0!==this._settings[t]?this._settings[t]:null},set:function(t,e){if($.isPlainObject(t))for(var o in t)this._settings[o]=t[o];else this._settings[t]=e}},WCF.Location.GoogleMaps.Map=Class.extend({_map:null,_markers:[],init:function(t,e){this._mapContainer=$("#"+t),this._mapOptions=$.extend(!0,this._getDefaultMapOptions(),e),this._map=new google.maps.Map(this._mapContainer[0],this._mapOptions),this._markers=[],this._mapContainer.parents(".sidebar").length&&enquire.register("(max-width: 767px)",{setup:$.proxy(this._addSidebarMapListener,this),deferSetup:!0}),this.refresh()},_addInfoWindowEventListener:function(t,e){google.maps.event.addListener(t,"click",$.proxy(function(){e.open(this._map,t)},this))},_addSidebarMapListener:function(){$(".content > .mobileSidebarToggleButton").click($.proxy(this.refresh,this))},_getDefaultMapOptions:function(){var t={};switch(t.center=new google.maps.LatLng(WCF.Location.GoogleMaps.Settings.get("defaultLatitude"),WCF.Location.GoogleMaps.Settings.get("defaultLongitude")),t.disableDoubleClickZoom=WCF.Location.GoogleMaps.Settings.get("disableDoubleClickZoom"),t.draggable=WCF.Location.GoogleMaps.Settings.get("draggable"),WCF.Location.GoogleMaps.Settings.get("mapType")){case"map":t.mapTypeId=google.maps.MapTypeId.ROADMAP;break;case"satellite":t.mapTypeId=google.maps.MapTypeId.SATELLITE;break;case"physical":t.mapTypeId=google.maps.MapTypeId.TERRAIN;break;case"hybrid":default:t.mapTypeId=google.maps.MapTypeId.HYBRID}if(t.mapTypeControl="off"!=WCF.Location.GoogleMaps.Settings.get("mapTypeControl"),t.mapTypeControl)switch(WCF.Location.GoogleMaps.Settings.get("mapTypeControl")){case"dropdown":t.mapTypeControlOptions={style:google.maps.MapTypeControlStyle.DROPDOWN_MENU};break;case"horizontalBar":t.mapTypeControlOptions={style:google.maps.MapTypeControlStyle.HORIZONTAL_BAR};break;default:t.mapTypeControlOptions={style:google.maps.MapTypeControlStyle.DEFAULT}}return t.scaleControl=WCF.Location.GoogleMaps.Settings.get("scaleControl"),t.scrollwheel=WCF.Location.GoogleMaps.Settings.get("scrollwheel"),t.zoom=WCF.Location.GoogleMaps.Settings.get("zoom"),t},addDraggableMarker:function(t,e){var o=new google.maps.Marker({clickable:!1,draggable:!0,map:this._map,position:new google.maps.LatLng(t,e),zIndex:1});return this._markers.push(o),o},addMarker:function(t,e,o,s,i){var a=new google.maps.Marker({map:this._map,position:new google.maps.LatLng(t,e),title:o});if(s&&a.setIcon(s),i){var n=new google.maps.InfoWindow({content:i});this._addInfoWindowEventListener(a,n),a.infoWindow=n}return this._markers.push(a),a},getMarkers:function(){return this._markers},getMap:function(){return this._map},refresh:function(){var t=this._map.getCenter();google.maps.event.trigger(this._map,"resize"),this._map.setCenter(t)},refreshBounds:function(){var t=null,e=null,o=null,s=null;for(var i in this._markers){var a=this._markers[i],n=a.getPosition().lat(),r=a.getPosition().lng();null===t?(t=e=n,o=s=r):(t>n?t=n:n>e&&(e=n),o>n?o=n:r>s&&(s=r))}this._map.fitBounds(new google.maps.LatLngBounds(new google.maps.LatLng(t,o),new google.maps.LatLng(e,s)))},removeMarkers:function(){for(var t in this._markers)this._markers[t].setMap(null);this._markers=[]},setBounds:function(t,e){this._map.fitBounds(new google.maps.LatLngBounds(new google.maps.LatLng(e.latitude,e.longitude),new google.maps.LatLng(t.latitude,t.longitude)))},setCenter:function(t,e){this._map.setCenter(new google.maps.LatLng(t,e))}}),WCF.Location.GoogleMaps.LargeMap=WCF.Location.GoogleMaps.Map.extend({_actionClassName:null,_additionalParameters:{},_locationSearch:null,_locationSearchInputSelector:null,_markerClusterer:null,_objectIDs:[],_previousNorthEast:null,_previousSouthWest:null,init:function(t,e,o,s,i){this._super(t,e),this._actionClassName=o,this._locationSearchInputSelector=s||"",this._additionalParameters=i||{},this._objectIDs=[],this._locationSearchInputSelector&&(this._locationSearch=new WCF.Location.GoogleMaps.LocationSearch(s,$.proxy(this._centerMap,this))),this._markerClusterer=new MarkerClusterer(this._map,this._markers,{maxZoom:17,imagePath:WCF.Location.GoogleMaps.Settings.get("markerClustererImagePath")+"m"}),this._markerSpiderfier=new OverlappingMarkerSpiderfier(this._map,{keepSpiderfied:!0,markersWontHide:!0,markersWontMove:!0}),this._markerSpiderfier.addListener("click",$.proxy(function(t){t.infoWindow&&t.infoWindow.open(this._map,t)},this)),this._proxy=new WCF.Action.Proxy({showLoadingOverlay:!1,success:$.proxy(this._success,this)}),this._previousNorthEast=null,this._previousSouthWest=null,google.maps.event.addListener(this._map,"idle",$.proxy(this._loadMarkers,this))},_addInfoWindowEventListener:function(){},_centerMap:function(t){this.setCenter(t.location.lat(),t.location.lng()),$(this._locationSearchInputSelector).val(t.label)},_loadMarkers:function(){var t=this._map.getBounds().getNorthEast(),e=this._map.getBounds().getSouthWest();return this._previousNorthEast&&this._previousNorthEast.lat()>=t.lat()&&this._previousNorthEast.lng()>=t.lng()&&this._previousSouthWest.lat()<=e.lat()&&this._previousSouthWest.lng()<=e.lng()?!1:(this._previousNorthEast=t,this._previousSouthWest=e,this._proxy.setOption("data",{actionName:"getMapMarkers",className:this._actionClassName,parameters:$.extend(this._additionalParameters,{excludedObjectIDs:this._objectIDs,eastLongitude:t.lng(),northLatitude:t.lat(),southLatitude:e.lat(),westLongitude:e.lng()})}),this._proxy.sendRequest(),!0)},_success:function(t){if(t.returnValues&&t.returnValues.markers)for(var e in t.returnValues.markers){var o=t.returnValues.markers[e];this.addMarker(o.latitude,o.longitude,o.title,null,o.infoWindow),o.objectID?this._objectIDs.push(o.objectID):o.objectIDs&&(this._objectIDs=this._objectIDs.concat(o.objectIDs))}},addMarker:function(t,e,o,s,i){var a=this._super(t,e,o,s,i);return this._markerClusterer.addMarker(a),this._markerSpiderfier.addMarker(a),a}}),WCF.Location.GoogleMaps.SuggestionMap=WCF.Location.GoogleMaps.LargeMap.extend({_locationSuggestionsButton:null,_suggestionSelectionCallback:null,init:function(t,e,o,s,i){this._super(t,e,o,s,i);var a=$('<div
class="gmnoprint googleMapsCustomControlContainer"><div
class="gm-style-mtc"><div
class="googleMapsCustomControl">'+WCF.Language.get("wcf.map.showLocationSuggestions")+"</div></div></div>");this._locationSuggestionsButton=a.find(".googleMapsCustomControl").click($.proxy(this._toggleLocationSuggestions,this)),this._map.controls[google.maps.ControlPosition.TOP_RIGHT].push(a.get(0))},_loadMarkers:function(){this._locationSuggestionsButton.hasClass("active")&&(this._super()||(this._loadSuggestions=!1))},_success:function(t,e,o){var s=this._markers.length;this._super(t,e,o),this._loadSuggestions&&s==this._markers.length&&(this._loadSuggestions=!1,new WCF.System.Notification(WCF.Language.get("wcf.map.noLocationSuggestions"),"info").show())},_toggleLocationSuggestions:function(){var t=!this._locationSuggestionsButton.hasClass("active");t&&(this._loadSuggestions=!0),this.showSuggestions(t)},addMarker:function(t,e,o,s,i){var a=$(i),n=$('<a
class="googleMapsUseLocationSuggestionLink" />').text(WCF.Language.get("wcf.map.useLocationSuggestion")).click(this._suggestionSelectionCallback);a.append($("<p />").append(n));var r=this._super(t,e,o,"//mt.google.com/vt/icon/name=icons/spotlight/spotlight-waypoint-a.png",a.get(0));return n.data("marker",r),r},setSuggestionSelectionCallback:function(t){this._suggestionSelectionCallback=t},showSuggestions:function(t){void 0===t&&(t=!0),this._locationSuggestionsButton.toggleClass("active",t);for(var e=[],o=0,s=this._markers.length;s>o;o++){var i=this._markers[o];i.draggable||(i.setVisible(t),t&&e.push(i))}this._markerClusterer.clearMarkers(),t&&this._markerClusterer.addMarkers(e),this._loadMarkers()}}),WCF.Location.GoogleMaps.LocationSearch=WCF.Search.Base.extend({_geocoder:null,init:function(t,e,o,s,i){this._super(t,e,o,s,i),this.setDelay(500),this._geocoder=new google.maps.Geocoder},_createListItem:function(t){var e=$("<li><span>"+WCF.String.escapeHTML(t.formatted_address)+"</span></li>").appendTo(this._list);return e.data("location",t.geometry.location).data("label",t.formatted_address).click($.proxy(this._executeCallback,this)),this._itemCount++,e},_keyUp:function(t){switch(t.which){case $.ui.keyCode.LEFT:case $.ui.keyCode.RIGHT:return;case $.ui.keyCode.UP:return void this._selectPreviousItem();case $.ui.keyCode.DOWN:return void this._selectNextItem();case $.ui.keyCode.ENTER:return this._selectElement(t)}var e=this._getSearchString(t);""===e?this._clearList(!0):e.length>=this._triggerLength?this._delay?(null!==this._timer&&this._timer.stop(),this._timer=new WCF.PeriodicalExecuter($.proxy(function(){this._geocoder.geocode({address:e},$.proxy(this._success,this)),this._timer.stop(),this._timer=null},this),this._delay)):this._geocoder.geocode({address:e},$.proxy(this._success,this)):this._clearList(!1)},_success:function(t,e){if(this._clearList(!1),e==google.maps.GeocoderStatus.OK){if($.getLength(t)){var o=0;for(var s in t)if(this._createListItem(t[s]),10==++o)break}else if(!this._handleEmptyResult())return;WCF.CloseOverlayHandler.addCallback("WCF.Search.Base",$.proxy(function(){this._clearList()},this));var i=this._searchInput.parents(".dropdown").wcfIdentify();WCF.Dropdown.getDropdownMenu(i).hasClass("dropdownOpen")||WCF.Dropdown.toggleDropdown(i),this._itemIndex=-1,WCF.Dropdown.getDropdown(i).data("disableAutoFocus")||this._selectNextItem()}}}),WCF.Location.GoogleMaps.LocationInput=Class.extend({_locationSearch:null,_map:null,_marker:null,init:function(t,e,o,s,i,a){this._searchInput=o,a?(this._map=new WCF.Location.GoogleMaps.SuggestionMap(t,e,a),this._map.setSuggestionSelectionCallback($.proxy(this._useSuggestion,this))):this._map=new WCF.Location.GoogleMaps.Map(t,e),this._locationSearch=new WCF.Location.GoogleMaps.LocationSearch(o,$.proxy(this._setMarkerByLocation,this)),s&&i?this._marker=this._map.addDraggableMarker(s,i):(this._marker=this._map.addDraggableMarker(WCF.Location.GoogleMaps.Settings.get("defaultLatitude"),WCF.Location.GoogleMaps.Settings.get("defaultLongitude")),WCF.Location.Util.getLocation($.proxy(function(t,e){void 0!==t&&void 0!==e&&(WCF.Location.GoogleMaps.Util.moveMarker(this._marker,t,e),WCF.Location.GoogleMaps.Util.focusMarker(this._marker))},this))),this._marker.addListener("dragend",$.proxy(this._updateLocation,this))},_useSuggestion:function(t){var e=$(t.currentTarget).data("marker");this._marker.setPosition(e.getPosition()),this._updateLocation(),this._map.showSuggestions(!1)},_updateLocation:function(){WCF.Location.GoogleMaps.Util.reverseGeocoding($.proxy(function(t){null!==t&&$(this._searchInput).val(t)},this),this._marker)},_setMarkerByLocation:function(t){this._marker.setPosition(t.location),WCF.Location.GoogleMaps.Util.focusMarker(this._marker),$(this._searchInput).val(t.label)},getMap:function(){return this._map},getMarker:function(){return this._marker}}),WCF.Location.GoogleMaps.Util={_geocoder:null,focusMarker:function(t){t.getMap().setCenter(t.getPosition())},getMarkerPosition:function(t){return{latitude:t.getPosition().lat(),longitude:t.getPosition().lng()}},moveMarker:function(t,e,o,s){t.setPosition(new google.maps.LatLng(e,o)),s&&google.maps.event.trigger(t,"dragend")},reverseGeocoding:function(t,e,o,s,i){e&&(o=e.getPosition().lat(),s=e.getPosition().lng()),null===this._geocoder&&(this._geocoder=new google.maps.Geocoder);var a=new google.maps.LatLng(o,s);this._geocoder.geocode({latLng:a},function(e,o){t(o==google.maps.GeocoderStatus.OK?i?e:e[0].formatted_address:null)})}}; })(this);
97 (function (window, undefined) {"use strict";WCF.Message={},WCF.Message.BBCode={},WCF.Message.BBCode.CodeViewer=Class.extend({_dialog:null,init:function(){this._dialog=null,this._initCodeBoxes(),WCF.DOMNodeInsertedHandler.addCallback("WCF.Message.BBCode.CodeViewer",$.proxy(this._initCodeBoxes,this)),WCF.DOMNodeInsertedHandler.execute()},_initCodeBoxes:function(){$(".codeBox:not(.jsCodeViewer)").each($.proxy(function(e,t){var i=$(t).addClass("jsCodeViewer");$('<span
class="codeBoxPlainSource icon icon24 fa-files-o pointer jsTooltip" title
="'+WCF.Language.get("wcf
.message
.bbcode
.code
.copy
")+'" />').appendTo(i.find(".codeBoxHeader")).click($.proxy(this._click,this))},this))},_click:function(e){var t="";$(e.currentTarget).parents("div").next("ol").children("li").each(function(e,i){t&&(t+="\n"),t+=$(i).text().replace(/\n+$/,"")}),null===this._dialog?(this._dialog=$('<div><textarea cols="60" rows="12" readonly></textarea
></div>').hide().appendTo(document.body),this._dialog.children("textarea").val(t),this._dialog.wcfDialog({title:WCF.Language.get("wcf.message.bbcode.code.copy")})):(this._dialog.children("textarea").val(t),this._dialog.wcfDialog("open")),this._dialog.children("textarea").select()}}),WCF.Message.EditHistory=Class.extend({_oldIDInputs:null,_newIDInputs:null,_containerSelector:"",_buttonSelector:".jsRevertButton",init:function(e,t,i,s){this._oldIDInputs=e,this._newIDInputs=t,this._containerSelector=i,this._buttonSelector=s?s:".jsRevertButton",this.proxy=new WCF.Action.Proxy({success:$.proxy(this._success,this)}),this._initInputs(),this._initElements()},_initInputs:function(){var e=this;this._newIDInputs.change(function(){var t=parseInt($(this).val());"current"===$(this).val()&&(t=1/0),e
._oldIDInputs
.each(function(){var e
=parseInt($(this).val());"current"===$(this).val()&&(e
=1/0),e>=t?$(this).disable():$(this).enable()})}),this._oldIDInputs.change(function(){var t=parseInt($(this).val());"current"===$(this).val()&&(t=1/0),e
._newIDInputs
.each(function(){var e
=parseInt($(this).val());"current"===$(this).val()&&(e
=1/0),t>=e?$(this).disable():$(this).enable()})}),this._oldIDInputs.filter(":checked").change(),this._newIDInputs.filter(":checked").change()},_initElements:function(){var e=this;$(this._containerSelector).each(function(t,i){var s=$(i);s.find(e._buttonSelector).click($.proxy(e._click,e))})},_click:function(e){var t=$(e.currentTarget);if(e.preventDefault(),t.data("confirmMessage")){var i=this;WCF.System.Confirmation.show(t.data("confirmMessage"),function(e){"cancel"!==e&&i._sendRequest(t)},void 0,void 0,!0)}else this._sendRequest(t)},_sendRequest:function(e){this.proxy.setOption("data",{actionName:"revert",className:"wcf\\data\\edit\\history\\entry\\EditHistoryEntryAction",objectIDs:[$(e).data("objectID")]}),this.proxy.sendRequest()},_success:function(){window.location.reload(!0)}}),WCF.Message.FormGuard=Class.extend({init:function(){var e=$("form.jsFormGuard").removeClass("jsFormGuard").submit(function(){$(this).find(".formSubmit input[type=submit]").disable()});$(window).on("unload",function(){e.find(".formSubmit input[type=submit]").enable()})}}),WCF.Message.Preview=Class.extend({_className:"",_messageFieldID:"",_messageField:null,_proxy:null,_previewButton:null,_previewButtonLabel:"",init:function(e,t,i){return this._className=e,this._messageFieldID=$.wcfEscapeID(t),this._textarea=$("#"+this._messageFieldID),this._textarea.length?(i=$.wcfEscapeID(i),this._previewButton=$("#"+i),this._previewButton.length?(this._previewButton.click($.proxy(this._click,this)),void(this._proxy=new WCF.Action.Proxy({failure:$.proxy(this._failure,this),success:$.proxy(this._success,this)}))):void console.debug("[WCF.Message.Preview] Unable to find preview button identified by '"+i+"'")):void console.debug("[WCF.Message.Preview] Unable to find message field identified by '"+this._messageFieldID+"'")},_click:function(e){var t=this._getMessage();return null===t?void console.debug("[WCF.Message.Preview] Unable to access Redactor instance of '"+this._messageFieldID+"'"):(this._proxy.setOption("data",{actionName:"getMessagePreview",className:this._className,parameters:this._getParameters(t)}),this._proxy.sendRequest(),this._previewButtonLabel=this._previewButton.html(),this._previewButton.html(WCF.Language.get("wcf.global.loading")).disable(),e.stopPropagation(),!1)},_getParameters:function(e){var t={};return $("#settings_"+this._messageFieldID).find("input[type=checkbox]").each(function(e,i){var s=$(i);s.is(":checked")&&(t[s.prop("name")]=s.prop("value"))}),{data:{message:e},options:t}},_getMessage:function(){return this._textarea.redactor("code.get")},_success:function(e){this._previewButton.html(this._previewButtonLabel).enable(),this._textarea.parent().children("small.innerError").remove(),this._handleResponse(e)},_handleResponse:function(){},_failure:function(e){if(null===e||void 0===e.returnValues||void 0===e.returnValues.errorType)return!0;this._previewButton.html(this._previewButtonLabel).enable();var t=this._textarea.parent().children("small.innerError").empty();return t.length||(t=$('<small class="innerError" />').appendTo(this._textarea.parent())),t.html("empty"===e.returnValues.errorType?WCF.Language.get("wcf.global.form.error.empty"):e.returnValues.errorMessage),!1}}),WCF.Message.DefaultPreview=WCF.Message.Preview.extend({_dialog:null,_options:{},init:function(e){if(arguments.length>1&&"string"==typeof e)throw new Error("Outdated API call, please update your implementation.");if(this._options=$.extend({disallowedBBCodesPermission:"user.message.disallowedBBCodes",messageFieldID:"",previewButtonID:"",messageObjectType:"",messageObjectID:0},e),!this._options.messageObjectType)throw new Error("Field 'messageObjectType
' cannot be empty.");this._super("wcf\\data\\bbcode\\MessagePreviewAction",this._options.messageFieldID,this._options.previewButtonID)},_handleResponse:function(e){require(["WoltLabSuite/Core/Ui/Dialog"],function(t){t.open(this,'<div
class="htmlContent">'+e.returnValues.message+"</div>")}.bind(this))},_getParameters:function(e){var t=this._super(e);for(var i in this._options)this._options.hasOwnProperty(i)&&"messageFieldID"!==i&&"previewButtonID"!==i&&(t[i]=this._options[i]);return t},_dialogSetup:function(){return{id:"messagePreview",options:{title:WCF.Language.get("wcf.global.preview")},source:null}}}),WCF.Message.Multilingualism=Class.extend({_availableLanguages:{},_languageID:0,_languageInput:null,init:function(e,t,i){if(this._availableLanguages=t,this._languageID=e||0,this._languageInput=$("#languageID"),this._updateLabel(),this._languageInput.find(".dropdownMenu > li").click($.proxy(this._click,this)),!i){var s=this._languageInput.find(".dropdownMenu");$('<li
class="dropdownDivider" />').appendTo(s),$('<li><span><span class="badge">'+this._availableLanguages[0]+"</span></span></li>").click($.proxy(this._disable,this)).appendTo(s)}this._languageInput.parents("form
").submit($.proxy(this._submit,this))},_click:function(e){this._languageID=$(e.currentTarget).data("languageID
"),this._updateLabel()},_disable:function(){this._languageID=0,this._updateLabel()},_updateLabel:function(){this._languageInput.find(".dropdownToggle
> span
").text(this._availableLanguages[this._languageID])},_submit:function(){this._languageInput.next("input
[name
=languageID
]").prop("value
",this._languageID)}}),WCF.Message.SmileyCategories=Class.extend({_cache:[],_proxy:null,_wysiwygSelector:"",init:function(e){this._proxy=new WCF.Action.Proxy({success:$.proxy(this._success,this)}),this._wysiwygSelector=e,$("#smilies
-"+this._wysiwygSelector).on("messagetabmenushow
",$.proxy(this._click,this))},_click:function(e,t){e.preventDefault();var i=parseInt(t.activeTab.tab.data("smileyCategoryID
"));if(i&&!t.activeTab.container.children("ul
.smileyList
").length){if(void 0!==this._cache[i])return void t.activeTab.container.html(this._cache[i]);this._proxy.setOption("data
",{actionName:"getSmilies
",className:"wcf
\\data
\\smiley
\\category
\\SmileyCategoryAction
",objectIDs:[i]}),this._proxy.sendRequest()}},_success:function(e){var t=parseInt(e.returnValues.smileyCategoryID);this._cache[t]=e.returnValues.template,$("#smilies
-"+this._wysiwygSelector+"-"+t).html(e.returnValues.template)}}),WCF.Message.Smilies=Class.extend({_editorId:"",init:function(e){this._editorId=e,$(".messageTabMenu
[data
-wysiwyg
-container
-id
="+this._editorId+"]").on("mousedown
",".jsSmiley
",this._smileyClick.bind(this))},_smileyClick:function(e){e.preventDefault(),require(["EventHandler
"],function(t){t.fire("com
.woltlab
.wcf
.redactor2
","insertSmiley_
"+this._editorId,{code:elData(e.currentTarget,"smiley
-code
"),path:elData(e.currentTarget,"smiley
-path
")})}.bind(this))}}),WCF.Message.InlineEditor=Class.extend({_container:{},_containerID:0,_dropdowns:{},_messageContainerSelector:".jsMessage
",_messageEditorIDPrefix:"messageEditor
",init:function(e){require(["WoltLabSuite
/Core/Ui
/Message/InlineEditor
"],function(t){new t({className:this._getClassName(),containerId:e,editorPrefix:this._messageEditorIDPrefix,messageSelector:this._messageContainerSelector,callbackDropdownInit:this._callbackDropdownInit.bind(this)})}.bind(this))},_click:function(e,t){t=null===e?~~t:~~elData(e.currentTarget,"container
-id
"),require(["WoltLabSuite
/Core/Ui
/Message/InlineEditor
"],function(e){e.legacyEdit(t)}.bind(this)),e&&e.preventDefault()},_initDropdownMenu:function(){},_callbackDropdownInit:function(e,t){return this._initDropdownMenu($(e).wcfIdentify(),$(t)),null},_getClassName:function(){return""}}),WCF.Message.Submit={_buttons:{},registerButton:function(e,t){WCF.Browser.isChrome()&&(this._buttons[e]=$(t))},execute:function(e){this._buttons[e]&&this._buttons[e].trigger("click
")}},WCF.Message.Quote={},WCF.Message.Quote.Handler=Class.extend({_activeContainerID:"",_className:"",_containers:{},_containerSelector:"",_copyQuote:null,_message:"",_messageBodySelector:"",_objectID:0,_objectType:"",_proxy:null,_quoteManager:null,init:function(e,t,i,s,n,a,o){return this._className=t,""==this._className?void console.debug("[WCF
.Message
.QuoteManager
] Empty
class name given
, aborting
."):(this._objectType=i,""==this._objectType?void console.debug("[WCF
.Message
.QuoteManager
] Empty object type name given
, aborting
."):(this._containerSelector=s,this._message="",this._messageBodySelector=n,this._messageContentSelector=a,this._objectID=0,this._proxy=new WCF.Action.Proxy({success:$.proxy(this._success,this)}),this._initContainers(),o=o&&e.supportPaste()?!0:!1,this._initCopyQuote(o),$(document).mouseup($.proxy(this._mouseUp,this)),this._quoteManager=e,this._quoteManager.register(this._objectType,this),void WCF.DOMNodeInsertedHandler.addCallback("WCF
.Message
.Quote
.Handler
"+i.hashCode(),$.proxy(this._initContainers,this))))},_initContainers:function(){var e=this;$(this._containerSelector).each(function(t,i){var s=$(i),n=s.wcfIdentify();if(!e._containers[n]){if(e._containers[n]=s,s.hasClass("jsInvalidQuoteTarget
"))return!0;e._messageBodySelector&&(s=s.find(e._messageBodySelector).data("containerID
",n)),s.mousedown($.proxy(e._mouseDown,e)),e._containers[n].find(".jsQuoteMessage
").click($.proxy(e._saveFullQuote,e))}})},_mouseDown:function(e){this._copyQuote.removeClass("active
");var t=$(e.currentTarget);if(this._messageBodySelector&&(t=this._containers[t.data("containerID
")]),t.hasClass("jsInvalidQuoteTarget
"))return void(this._activeContainerID="");for(var i=e.target;i!==t[0];){if("BLOCKQUOTE
"===i.tagName)return void(this._activeContainerID="");i=i.parentElement}this._activeContainerID=t.wcfIdentify()},_getNodeText:function(e){var t=function(e){switch(e.tagName){case"BLOCKQUOTE
":case"IMG
":case"SCRIPT
":return NodeFilter.FILTER_REJECT;default:return NodeFilter.FILTER_ACCEPT}};t.acceptNode=t;for(var i=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT|NodeFilter.SHOW_TEXT,t,!0),s="";i.nextNode();){var n=i.currentNode;if(n.nodeType===Node.ELEMENT_NODE)switch(n.tagName){case"BR
":case"LI
":case"UL
":s+="\n";break;case"TD
":$.browser.msie||(s+="\n");break;case"P
":s+="\n\n"}else s+=n.nodeValue.replace(/\n/g,"")}return s},_mouseUp:function(e){if(""==this._activeContainerID)return void this._copyQuote.removeClass("active
");var t=this._containers[this._activeContainerID],i=this._getSelectedText(),s=$.trim(i);if(""==s)return void this._copyQuote.removeClass("active
");for(var n=this._messageBodySelector?t.find(this._messageContentSelector)[0]:t[0],a=e.target;a!==t[0];){if(null===a||"BLOCKQUOTE
"===a.tagName)return void this._copyQuote.removeClass("active
");a=a.parentElement}var o=window.getSelection().getRangeAt(0);if(!this._elementInsideContainer(o.startContainer,n)||!this._elementInsideContainer(o.endContainer,n))return void this._copyQuote.removeClass("active
");var r=this._getNodeText(n);if(-1!==this._normalize(r).indexOf(this._normalize(s))){this._copyQuote.addClass("active
");var l=this._getBoundingRectangle(t,window.getSelection()),c=this._copyQuote.getDimensions("outer
"),u=(l.right-l.left)/2-c.width/2+l.left;this._copyQuote.css({top:l.top-c.height-7+"px
",left:u+"px
"}),this._copyQuote.removeClass("active
"),this._activeContainerID="";var d=this;window.setTimeout(function(){var e=$.trim(d._getSelectedText());""!=e&&(d._copyQuote.addClass("active
"),d._message=e,d._objectID=t.data("objectID
"))},10)}},_elementInsideContainer:function(e,t){for(e.nodeType===Node.TEXT_NODE&&(e=e.parentNode);e;){if(e===t)return!0;e=e.parentNode}return!1},_normalize:function(e){return e.replace(/\r?\n|\r/g,"\n").replace(/\s/g," ").replace(/\s{2,}/g," ")},_getOffset:function(e,t){e.collapse(t);var i=WCF.getRandomID(),s=document.createElement("span
");s.innerHTML='<span id="'+i+'"></span>';for(var n,a=document.createDocumentFragment();n=s.firstChild;)a.appendChild(n);e.insertNode(a),s=$("#"+i);var o=s.offset();return o.top=o.top-$(window).scrollTop(),s.remove(),o},_getBoundingRectangle:function(e,t){var i=null;if(t.rangeCount>0){var s=t.getRangeAt(0).getBoundingClientRect();i={left:s.left,right:s.right,top:s.top+$(document).scrollTop()}}return i},_saveSelection:function(e){var t=window.getSelection().getRangeAt(0),i=t.cloneRange();i.selectNodeContents(e),i.setEnd(t.startContainer,t.startOffset);var s=i.toString().length;return{start:s,end:s+t.toString().length}},_restoreSelection:function(e,t){var i=0,s=document.createRange();s.setStart(e,0),s.collapse(!0);for(var n,a=[e],o=!1,r=!1;!r&&(n=a.pop());)if(n.nodeType==Node.TEXT_NODE){var l=i+n.length;!o&&t.start>=i&&t.start<=l&&(s.setStart(n,t.start-i),o=!0),o&&t.end>=i&&t.end<=l&&(s.setEnd(n,t.end-i),r=!0),i=l}else for(var c=n.childNodes.length;c--;)a.push(n.childNodes[c]);var u=window.getSelection();u.removeAllRanges(),u.addRange(s)},_initCopyQuote:function(e){if(this._copyQuote=$("#quoteManagerCopy
"),!this._copyQuote.length){this._copyQuote=$('<div id="quoteManagerCopy
" class="balloonTooltip interactive
"><span class="jsQuoteManagerStore
">'+WCF.Language.get("wcf
.message
.quote
.quoteSelected
")+"</span
></div>").appendTo(document.body);var t=this._copyQuote.children("span.jsQuoteManagerStore").click($.proxy(this._saveQuote,this));e&&$('<span class="jsQuoteManagerQuoteAndInsert">'+WCF.Language.get("wcf.message.quote.quoteAndReply")+"</span>").click($.proxy(this._saveAndInsertQuote,this)).insertAfter(t)}},_getSelectedText:function(){var e=window.getSelection();return e.rangeCount?this._getNodeText(e.getRangeAt(0).cloneContents()):""},_saveFullQuote:function(e){e.preventDefault();var t=$(e.currentTarget);this._proxy.setOption("data
",{actionName:"saveFullQuote
",className:this._className,interfaceName:"wcf
\\data
\\IMessageQuoteAction
",objectIDs:[t.data("objectID
")]}),this._proxy.sendRequest(),t.data("isQuoted
")?t.data("isQuoted
",!1).children("a
").removeClass("active
"):t.data("isQuoted
",!0).children("a
").addClass("active
");var i=t.parents(".buttonGroupNavigation
");i.hasClass("jsMobileButtonGroupNavigation
")&&i.children(".dropdownLabel
").trigger("click
")},_saveQuote:function(e){this._proxy.setOption("data
",{actionName:"saveQuote
",className:this._className,interfaceName:"wcf
\\data
\\IMessageQuoteAction
",objectIDs:[this._objectID],parameters:{message:this._message,renderQuote:e===!0}}),this._proxy.sendRequest()},_saveAndInsertQuote:function(){this._saveQuote(!0)},_success:function(e){if(void 0!==e.returnValues.count){void 0!==e.returnValues.fullQuoteMessageIDs&&(e.returnValues.fullQuoteObjectIDs=e.returnValues.fullQuoteMessageIDs);var t=void 0!==e.returnValues.fullQuoteObjectIDs?e.returnValues.fullQuoteObjectIDs:{};this._quoteManager.updateCount(e.returnValues.count,t)}switch(e.actionName){case"saveQuote
":case"saveFullQuote
":e.returnValues.renderedQuote&&WCF.System.Event.fireEvent("com
.woltlab
.wcf
.message
.quote
","insert
",{forceInsert:"saveQuote
"===e.actionName,quote:e.returnValues.renderedQuote})}},updateFullQuoteObjectIDs:function(e){for(var t in this._containers)this._containers[t].find(".jsQuoteMessage
").each(function(t,i){var s=$(i).data("isQuoted
",0);s.children("a
").removeClass("active
"),WCF.inArray(s.data("objectID
"),e)&&s.data("isQuoted
",1).children("a
").addClass("active
")})}}),WCF.Message.Quote.Manager=Class.extend({_buttons:{},_count:0,_dialog:null,_editorId:"",_editorIdAlternative:"",_form:null,_handlers:{},_hasTemplate:!1,_insertQuotes:!0,_proxy:null,_removeOnSubmit:[],_supportPaste:!1,init:function(e,t,i,s){if(this._buttons={insert:null,remove:null},this._count=parseInt(e)||0,this._dialog=null,this._editorId="",this._editorIdAlternative="",this._form=null,this._handlers={},this._hasTemplate=!1,this._insertQuotes=!0,this._removeOnSubmit=[],this._supportPaste=!1,t){var n=$("#"+t);n.length&&(this._editorId=t,this._supportPaste=!0,this._form=n.parents("form
:eq(0)"),this._form.length?(this._form.submit(this._submit.bind(this)),this._removeOnSubmit=s||[]):(this._form=null,this._supportPaste=i===!0))}this._proxy=new WCF.Action.Proxy({showLoadingOverlay:!1,success:$.proxy(this._success,this),url:"index
.php
?message
-quote
/&t="+SECURITY_TOKEN}),this._toggleShowQuotes(),WCF.System.Event.addListener("com.woltlab.wcf.quote","reload",this.countQuotes.bind(this)),WCF.System.Event.addListener("com.woltlab.wcf.message.quote","insert",function(e){WCF.System.Event.fireEvent("com.woltlab.wcf.redactor2","insertQuote_"+(this._editorIdAlternative?this._editorIdAlternative:this._editorId),{author:e.quote.username,content:e.quote.text,isText:!e.quote.isFullQuote,link:e.quote.link})}.bind(this))},setAlternativeEditor:function(e){"object"==typeof e&&(e=e[0].id),this._editorIdAlternative=e},clearAlternativeEditor:function(){this._editorIdAlternative=""},register:function(e,t){this._handlers[e]=t},updateCount:function(e,t){this._count=parseInt(e)||0,this._toggleShowQuotes();for(var i in this._handlers)if(this._handlers.hasOwnProperty(i)){var s=t[i]||[];this._handlers[i].updateFullQuoteObjectIDs(s)}},insertQuotes:function(e,t,i){return this._insertQuotes?void new WCF.Action.Proxy({autoSend:!0,data:{actionName:"getRenderedQuotes",className:e,interfaceName:"wcf\\data\\IMessageQuoteAction",parameters:{parentObjectID:t}},success:i}):void(this._insertQuotes=!0)},_toggleShowQuotes:function(){require(["WoltLabSuite/Core
/Ui/Page
/Action"],function(e){var t="showQuotes";if(this._count){var i=e.get(t);void 0===i&&(i=elCreate("a"),i.addEventListener(WCF_CLICK_EVENT,this._click.bind(this)),e.add(t,i)),i.textContent=WCF.Language.get("wcf.message.quote.showQuotes").replace(/#count
#/,this._count),e.show(t)}else e.hide(t);this._hasTemplate=!1}.bind(this))},_click:function(){this._hasTemplate?this._dialog.wcfDialog("open"):(this._proxy.showLoadingOverlayOnce(),this._proxy.setOption("data",{actionName:"getQuotes",supportPaste:this._supportPaste}),this._proxy.sendRequest())},renderDialog:function(e){null===this._dialog&&(this._dialog=$("#messageQuoteList"),this._dialog.length||(this._dialog=$('<div id="messageQuoteList" />').hide().appendTo(document.body))),this._dialog.html(e);var t=$('<div
class="formSubmit" />').appendTo(this._dialog);this._supportPaste&&(this._buttons.insert=$('<button class="buttonPrimary">'+WCF.Language.get("wcf.message.quote.insertAllQuotes")+"</button
>").click($.proxy(this._insertSelected,this)).appendTo(t)),this._buttons.remove=$("<button
>"+WCF.Language.get("wcf
.message
.quote
.removeAllQuotes
")+"</button>").click($.proxy(this._removeSelected,this)).appendTo(t),this._dialog.wcfDialog({title:WCF.Language.get("wcf.message.quote.manageQuotes")}),this._dialog.wcfDialog("render"),this._hasTemplate=!0;var i=this._dialog.find(".jsInsertQuote");if(this._supportPaste?i.click($.proxy(this._insertQuote,this)):i.hide(),this._dialog.find("input.jsCheckbox").change($.proxy(this._changeButtons,this)),this._removeOnSubmit.length){var s=this;this._dialog.find("input.jsRemoveQuote").each(function(e,t){var i=$(t).change($.proxy(this._change,this));WCF.inArray(i.parent("li").attr("data-quote-id"),s._removeOnSubmit)&&i.attr("checked","checked")})}},_changeButtons:function(){this._dialog.find("input.jsCheckbox:checked").length?(this._supportPaste&&this._buttons.insert.html(WCF.Language.get("wcf.message.quote.insertSelectedQuotes")),this._buttons.remove.html(WCF.Language.get("wcf.message.quote.removeSelectedQuotes"))):(this._supportPaste&&this._buttons.insert.html(WCF.Language.get("wcf.message.quote.insertAllQuotes")),this._buttons.remove.html(WCF.Language.get("wcf.message.quote.removeAllQuotes")))},_change:function(e){var t=$(e.currentTarget),i=t.parent("li").attr("data-quote-id");if(t.prop("checked"))this._removeOnSubmit.push(i);else{var s=this._removeOnSubmit.indexOf(i);-1!==s&&this._removeOnSubmit.splice(s,1)}},_insertSelected:function(){this._dialog.find("input.jsCheckbox:checked").length||this._dialog.find("input.jsCheckbox").prop("checked","checked"),this._dialog.find("input.jsCheckbox:checked").each($.proxy(function(e,t){this._insertQuote(null,t)},this)),this._dialog.wcfDialog("close")},_insertQuote:function(e,t){var i=$(e?e.currentTarget:t).parents("li:eq(0)"),s=i.children(".jsFullQuote")[0].textContent.trim(),n=i.parents(".message:eq(0)"),a=n.data("username"),o=n.data("link"),r=!elDataBool(i[0],"is-full-quote");WCF.System.Event.fireEvent("com.woltlab.wcf.redactor2","insertQuote_"+(this._editorIdAlternative?this._editorIdAlternative:this._editorId),{author:a,content:s,isText:r,link:o}),this._removeOnSubmit.push(i.data("quote-id")),null!==e&&this._dialog.wcfDialog("close")},_removeSelected:function(){this._dialog.find("input.jsCheckbox:checked").length||this._dialog.find("input.jsCheckbox").prop("checked","checked");var e=[];if(this._dialog.find("input.jsCheckbox:checked").each(function(t,i){e.push($(i).parents("li").attr("data-quote-id"))}),e.length){var t=[];for(var i in this._handlers)this._handlers.hasOwnProperty(i)&&t.push(i);this._proxy.setOption("data",{actionName:"remove",getFullQuoteObjectIDs:this._handlers.length>0,objectTypes:t,quoteIDs:e}),this._proxy.sendRequest(),this._dialog.wcfDialog("close")}},_submit:function(){if(this._supportPaste&&this._removeOnSubmit.length>0)for(var e=this._form.find(".formSubmit"),t=0,i=this._removeOnSubmit.length;i>t;t++)$('<input type="hidden" name="__removeQuoteIDs[]" value="'+this._removeOnSubmit[t]+'" />').appendTo(e)},getQuotesMarkedForRemoval:function(){return this._removeOnSubmit},markQuotesForRemoval:function(){this._removeOnSubmit.length&&(this._proxy.setOption("data",{actionName:"markForRemoval",quoteIDs:this._removeOnSubmit}),this._proxy.suppressErrors(),this._proxy.sendRequest())},removeMarkedQuotes:function(){this._removeOnSubmit.length&&(this._proxy.setOption("data",{actionName:"removeMarkedQuotes",getFullQuoteObjectIDs:this._handlers.length>0}),this._proxy.sendRequest())},countQuotes:function(){var e=[];for(var t in this._handlers)this._handlers.hasOwnProperty(t)&&e.push(t);this._proxy.setOption("data",{actionName:"count",getFullQuoteObjectIDs:e.length>0,objectTypes:e}),this._proxy.sendRequest()},_success:function(e){if(null!==e){if(void 0!==e.count){var t=void 0!==e.fullQuoteObjectIDs?e.fullQuoteObjectIDs:{};this.updateCount(e.count,t)}void 0!==e.template&&(""==$.trim(e.template)?this.updateCount(0,{}):this.renderDialog(e.template))}},supportPaste:function(){return this._supportPaste}}),WCF.Message.Share={},WCF.Message.Share.Content=Class.extend({_cache:{},_dialog:null,init:function(){this._cache={},this._dialog=null,this._initLinks(),WCF.DOMNodeInsertedHandler.addCallback("WCF.Message.Share.Content",$.proxy(this._initLinks,this))},_initLinks:function(){$("a.jsButtonShare").removeClass("jsButtonShare").click($.proxy(this._click,this))},_click:function(e){e.preventDefault();var t=$(e.currentTarget),i=t.prop("href"),s=t.data("linkTitle")?t.data("linkTitle"):i,n=i.hashCode();if(void 0===this._cache[n]){var a=!1;null===this._dialog?(this._dialog=$("<div />").hide().appendTo(document.body),a=!0):this._dialog.empty();var o=$('<section
class="section"><h2
class="sectionTitle"><label
for="__sharePermalink">'+WCF.Language.get("wcf.message.share.permalink")+"</label></h2></section>").appendTo(this._dialog);$('<input type
="text" id
="__sharePermalink" class="long" readonly
/>').attr("value",i).appendTo(o);var o=$('<section class="section"><h2 class="sectionTitle"><label for="__sharePermalinkBBCode">'+WCF.Language.get("wcf.message.share.permalink.bbcode")+"</label></h2></section>").appendTo(this._dialog);$('<input type="text
" id="__sharePermalinkBBCode
" class="long" readonly />').attr("value
","[url
='"+i+"']"+s+"[/url
]").appendTo(o);var o=$('<section class="section
"><h2 class="sectionTitle
"><label for="__sharePermalinkHTML
">'+WCF.Language.get("wcf
.message
.share
.permalink
.html
")+"</label></h2
></section>").appendTo(this._dialog);$('<input type="text" id="__sharePermalinkHTML" class="long" readonly />').attr("value",'<a href
="'+i+'">'+WCF.String.escapeHTML(s)+"</a>").appendTo(o),this._cache[n]=this._dialog.html(),this._dialog.wcfDialog(a?{title:WCF.Language.get("wcf.message.share")}:"open")}else this._dialog.html(this._cache[n]).wcfDialog("open");this._enableSelection()},_enableSelection:function(){var e=this._dialog.find("input").click(function(){$(this).select()});navigator.userAgent.match(/iP(ad|hone|od)/)&&e.keydown(function(){return!1}).removeAttr("readonly").click(function(){this.setSelectionRange(0,9999)})}}),WCF.Message.Share.Page=Class.extend({init:function(){require(["WoltLabSuite/Core/Ui/Message/Share"],function(e){e.init()})}}),WCF.Message.UserMention=Class.extend({init:function(){throw new Error("Support for mentions in Redactor are now enabled by adding the attribute 'data
-support
-mention
=\"true\"' to the textarea element.")}}),$.widget("wcf.messageTabMenu",{_span:null,_tabs:[],_tabsByName:{},options:{collapsible:!0},_create:function(){var e=this.element.find("> nav"),t=e.find("> ul > li:not(.jsFlexibleMenuDropdown)"),i=this.element.find("> div, > fieldset");if(t.length!=i.length)return void console.debug("[wcf.messageTabMenu] Amount of tabs does not equal amount of tab containers, aborting.");this._span=$("<span />").appendTo(e);var s=this.element.data("preselect");i.each(function(e,i){return null!==elBySel(".innerError",i)?(s=$(t[e]).data("name"),!1):void 0}),this._tabs=[],this._tabsByName={};for(var n=0;n<t.length;n++){var a=$(t[n]),o=$(i[n]),r=a.data("name");if(void 0===r){var l=a.children("a").prop("href");void 0!==l&&l.match(/#([a-zA-Z_-]+)$/)&&(r=RegExp.$1),void 0===r&&(r=a.wcfIdentify(),console.debug("[wcf.messageTabMenu] Missing name attribute, assuming generic ID '"+r+"'"))}this._tabs.push({container:o,name:r,tab:a}),this._tabsByName[r]=n;var c=a.children("a").data("index",n).click($.proxy(this._showTab,this));s==r&&c.trigger("click")}s===!0&&this._tabs.length&&this._tabs[0].tab.children("a").trigger("click");var u=this.element.data("collapsible");void 0!==u&&(this.options.collapsible=u)},destroy:function(){$.Widget.prototype.destroy.apply(this,arguments),this.element.remove()},_showTab:function(e,t,i){var s=null===e?t:$(e.currentTarget).data("index");i=this.options.collapsible&&i!==!0?!1:!0;for(var n=null,a=0;a<this._tabs.length;a++){var o=this._tabs[a];if(a==s){if(!o.tab.hasClass("active")){o.tab.addClass("active"),o.container.addClass("active"),n=o;continue}if(i===!0)continue}o.tab.removeClass("active"),o.container.removeClass("active")}null!==e&&(e.preventDefault(),e.stopPropagation()),null!==n&&this._trigger("show",{},{activeTab:n}),this._span.css({transform:"translateX("+n.tab[0].offsetLeft+"px)",width:n.tab[0].clientWidth+"px"}),$(window).trigger("resize")},showTab:function(e,t){return $.isNumeric(e)||void 0!==this._tabsByName[e]&&(e=this._tabsByName[e]),void 0===this._tabs[e]?void console.debug("[wcf.messageTabMenu] Cannot locate tab identified by '"+e+"'"):void this._showTab(null,e,t)},getTab:function(e){return void 0!==this._tabsByName[e]?this._tabs[this._tabsByName[e]].tab:null},getContainer:function(e){return void 0!==this._tabsByName[e]?this._tabs[this._tabsByName[e]].container:null}}); })(this);
100 (function (window, undefined) {"use strict";WCF.Poll={},WCF.Poll.Management=Class.extend({_container:null,_count:0,_editorId:"",_maxOptions:0,init:function(t,e,i,n){return this._count=0,this._maxOptions=i||-1,this._container=$("#"+t).children("ol:eq(0)"),this._container.length?(e=e||[],this._createOptionList(e),n?(this._editorId=n,WCF.System.Event.addListener("com.woltlab.wcf.redactor2","reset_"+n,this._reset.bind(this)),WCF.System.Event.addListener("com.woltlab.wcf.redactor2","submit_"+n,this._submit.bind(this)),WCF.System.Event.addListener("com.woltlab.wcf.redactor2","validate_"+n,this._validate.bind(this))):this._container.closest("form").submit($.proxy(this._submit,this)),void new WCF.Sortable.List(t,"",void 0,{toleranceElement:"> div"},!0)):void console.debug("[WCF.Poll.Management] Invalid container id given, aborting.")},_createOptionList:function(t){for(var e=0,i=t.length;i>e;e++){var n=t[e];this._createOption(n.optionValue,n.optionID)}this._createOption()},_createOption:function(t,e,i){t=t||"",e=parseInt(e)||0,i=i||null;var n=$('<li
class="sortableNode" />').data("optionID",e);null===i?n.appendTo(this._container):n.insertAfter(i);var o=$('<div class="pollOptionInput" />').appendTo(n);$('<span
class="icon icon16 fa-plus jsTooltip jsAddOption pointer" title
="'+WCF.Language.get("wcf
.poll
.button
.addOption
")+'" />').click($.proxy(this._addOption,this)).appendTo(o),$('<span class="icon icon16 fa-times jsTooltip jsDeleteOption pointer" title="'+WCF.Language.get("wcf.poll.button.removeOption")+'" />').click($.proxy(this._removeOption,this)).appendTo(o);var s=$('<input type
="text" value
="'+t+'" maxlength
="255" />').keydown($.proxy(this._keyDown,this)).appendTo(o);s.click(function(){document.activeElement!==this&&this.focus()}),null!==i&&s.focus(),WCF.DOMNodeInsertedHandler.execute(),this._count++,this._count===this._maxOptions&&this._container.find("span.jsAddOption").removeClass("pointer").addClass("disabled")},_keyDown:function(t){return 13!==t.which?!0:($(t.currentTarget).prev(".sortableButtonContainer").children(".jsAddOption").trigger("click"),t.preventDefault(),t.stopPropagation(),!1)},_addOption:function(t){if(this._count===this._maxOptions)return!1;var e=$(t.currentTarget).closest("li",this._container[0]);this._createOption(void 0,void 0,e)},_removeOption:function(t){$(t.currentTarget).closest("li",this._container[0]).remove(),this._count--,this._container.find("span.jsAddOption").addClass("pointer").removeClass("disabled"),0==this._container.children("li").length&&this._createOption()},_submit:function(t){var e=[];if(this._container.children("li").each(function(t,i){var n=$(i),o=$.trim(n.find("input").val());""!=o&&e.push(n.data("optionID")+"_"+o)}),"object"==typeof t.originalEvent&&t.originalEvent instanceof Event){if(e.length)for(var i=this._container.parents("form").find(".formSubmit"),n=0,o=e.length;o>n;n++)$('<input type="hidden" name="pollOptions['+n+']">').val(e[n]).appendTo(i)}else{t.poll={pollOptions:e};var s=this._container.parents(".messageTabMenuContent:eq(0)");s.find("input").each(function(e,i){i.name&&("checkbox"!==i.type||i.checked)&&(t.poll[i.name]=i.value)})}},_reset:function(){for(var t=this._container[0];t.childElementCount>1;)t.removeChild(t.children[1]);elBySel("input",t.children[0]).value="";var e=this._container.parents(".messageTabMenuContent:eq(0)");e.find("input").each(function(t,e){e.name&&("checkbox"===e.type?e.checked=!1:"text"===e.type?e.value="":"number"===e.type&&(e.value=e.min))}),require(["WoltLabSuite/Core
/Date/Picker
"],function(t){t.clear("pollEndTime_
"+this._editorId)}.bind(this))},_validate:function(t){var e=elById("pollQuestion_
"+this._editorId);if(""!==e.value.trim()){var i=0;if(elBySelAll('li input[type="text
"]',this._container[0],function(t){""!==t.value.trim()&&i++}),0===i)t.api.throwError(this._container[0],WCF.Language.get("wcf
.global
.form
.error
.empty
")),t.valid=!1;else{var n=elById("pollMaxVotes_
"+this._editorId),o=~~n.value;o&&o>i&&(t.api.throwError(n,WCF.Language.get("wcf
.poll
.maxVotes
.error
.invalid
")),t.valid=!1)}}}}),WCF.Poll.Manager=Class.extend({_cache:{},_canViewParticipants:{},_canViewResult:{},_canVote:{},_inputElements:{},_participants:{},_polls:{},_proxy:null,init:function(t){var e=$(t);if(!e.length)return void console.debug("[WCF
.Poll
.Manager
] Given selector
'"+t+"' does not match
, aborting
.");this._cache={},this._canViewParticipants={},this._canViewResult={},this._inputElements={},this._participants={},this._polls={},this._proxy=new WCF.Action.Proxy({success:$.proxy(this._success,this),url:"index
.php
?poll
/&t
="+SECURITY_TOKEN});var i=this;e.each(function(t,e){var n=$(e),o=n.data("pollID
");void 0===i._polls[o]&&(i._cache[o]={result:"",vote:""},i._polls[o]=n,i._canViewParticipants[o]=n.data("canViewParticipants
")?!0:!1,i._canViewResult[o]=n.data("canViewResult
")?!0:!1,i._canVote[o]=n.data("canVote
")?!0:!1,i._bindListeners(o),n.data("inVote
")&&i._prepareVote(o),i._toggleButtons(o))})},_bindListeners:function(t){this._polls[t].find(".jsButtonPollShowParticipants
").data("pollID
",t).click($.proxy(this._showParticipants,this)),this._polls[t].find(".jsButtonPollShowResult
").data("pollID
",t).click($.proxy(this._showResult,this)),this._polls[t].find(".jsButtonPollShowVote
").data("pollID
",t).click($.proxy(this._showVote,this)),this._polls[t].find(".jsButtonPollVote
").data("pollID
",t).click($.proxy(this._vote,this))},_showResult:function(t,e){var i=null===t?e:$(t.currentTarget).data("pollID
");this._canViewResult[i]&&this._polls[i].data("inVote
")&&(this._cache[i].result?(this._polls[i].find(".pollInnerContainer
").html(this._cache[i].result),this._polls[i].data("inVote
",!1),this._toggleButtons(i)):(this._proxy.setOption("data
",{actionName:"getResult
",pollID:i}),this._proxy.sendRequest()))},_showParticipants:function(t){var e=$(t.currentTarget).data("pollID
");this._participants[e]||(this._participants[e]=new WCF.User.List("wcf
\\data
\\poll
\\PollAction
",this._polls[e].data("question
"),{pollID:e})),this._participants[e].open()},_showVote:function(t,e){var i=null===t?e:$(t.currentTarget).data("pollID
");this._canVote[i]&&(this._polls[i].data("inVote
")||(this._cache[i].vote?(this._polls[i].find(".pollInnerContainer
").html(this._cache[i].vote),this._polls[i].data("inVote
",!0),this._prepareVote(i),this._toggleButtons(i)):(this._proxy.setOption("data
",{actionName:"getVote
",pollID:i}),this._proxy.sendRequest())))},_success:function(t){if(t&&t.actionName){var e=t.pollID;switch(t.resultTemplate&&(this._cache[e].result=t.resultTemplate),t.voteTemplate&&(this._cache[e].vote=t.voteTemplate),t.actionName){case"getResult
":this._showResult(null,e);break;case"getVote
":this._showVote(null,e);break;case"vote
":this._canViewResult[e]=!0,this._canVote[e]=t.canVote?!0:!1,this._showResult(null,e)}}},_prepareVote:function(t){this._polls[t].find(".jsButtonPollVote
").disable();var e=this._polls[t].find(".pollInnerContainer
> .jsPollVote
"),i=this;this._inputElements[t]=e.find("input
").change(function(){i._handleVoteButton(t)}),this._handleVoteButton(t);var n=e.data("maxVotes
");this._inputElements[t].filter("[type
=checkbox
]").length&&(this._inputElements[t].change(function(){i._enforceMaxVotes(t,n)}),this._enforceMaxVotes(t,n))},_enforceMaxVotes:function(t,e){var i=this._inputElements[t];i.filter(":checked
").length==e?i.filter(":not(:checked
)").disable():i.enable()},_handleVoteButton:function(t){var e=this._inputElements[t],i=this._polls[t].find(".jsButtonPollVote
");e.filter(":checked
").length?i.enable():i.disable()},_toggleButtons:function(t){var e=this._polls[t].children(".formSubmit
");e.find(".jsButtonPollShowParticipants
, .jsButtonPollShowResult
, .jsButtonPollShowVote
, .jsButtonPollVote
").hide();var i=!0;this._polls[t].data("inVote
")?(i=!1,e.find(".jsButtonPollVote
").show(),this._canViewResult[t]&&e.find(".jsButtonPollShowResult
").show()):(this._canVote[t]&&(i=!1,e.find(".jsButtonPollShowVote
").show()),this._canViewParticipants[t]&&(i=!1,e.find(".jsButtonPollShowParticipants
").show())),i&&e.hide()},_vote:function(t){var e=$(t.currentTarget).data("pollID
");if(this._canVote[e]){var i=[];this._inputElements[e].each(function(t,e){var n=$(e);n.is(":checked
")&&i.push(n.data("optionID
"))}),i.length&&(this._proxy.setOption("data
",{actionName:"vote
",optionIDs:i,pollID:e}),this._proxy.sendRequest())}}}); })(this);
102 // WCF.Search.Message.js
103 (function (window, undefined) {"use strict
";WCF.Search.Message={},WCF.Search.Message.KeywordList=WCF.Search.Base.extend({_className:"wcf
\\data
\\search
\\keyword
\\SearchKeywordAction
",_divider:null,_forceSubmit:!1,init:function(e,i,s){if(!$.isFunction(i))return void console.debug("[WCF
.Search
.Message
.KeywordList
] The given callback is invalid
, aborting
.");this._callback=i,this._excludedSearchValues=[],s&&(this._excludedSearchValues=s),this._searchInput=$(e).keyup($.proxy(this._keyUp,this)).keydown($.proxy(function(e){13===e.which&&this._itemCount&&-1!==this._itemIndex&&e.preventDefault()},this));var t=WCF.Dropdown.getDropdownMenu(this._searchInput.parents(".dropdown
").wcfIdentify()),r=t.find("li
.dropdownDivider
").last();this._divider=$('<li class="dropdownDivider
" />').hide().insertBefore(r),this._list=$('<li class="dropdownList
"><ul /></li>').hide().insertBefore(r).children("ul
"),t.find("input
, label
").on("click
",function(e){e.stopPropagation()}),this._proxy=new WCF.Action.Proxy({showLoadingOverlay:!1,success:$.proxy(this._success,this)})},_createListItem:function(e){this._divider.show(),this._list.parent().show(),this._super(e)},_clearList:function(e){e&&this._searchInput.val(""),this._divider.hide(),this._list.empty().parent().hide(),WCF.CloseOverlayHandler.removeCallback("WCF
.Search
.Base
"),this._itemCount=0,this._itemIndex=-1}}); })(this);
106 (function (window, undefined) {"use strict
";WCF.User.Login=Class.extend({_loginSubmitButton:null,_password:null,_passwordContainer:null,_useCookies:null,_useCookiesContainer:null,init:function(t){this._loginSubmitButton=$("#loginSubmitButton
"),this._password=$("#password
"),this._passwordContainer=this._password.parents("dl
"),this._useCookies=$("#useCookies
"),this._useCookiesContainer=this._useCookies.parents("dl
");var e=$("#loginForm
");e.find("input
[name
=action
]").change($.proxy(this._change,this)),t&&WCF.User.QuickLogin.init()},_change:function(t){"register
"===$(t.currentTarget).val()?this._setState(!1,WCF.Language.get("wcf
.user
.button
.register
")):this._setState(!0,WCF.Language.get("wcf
.user
.button
.login
"))},_setState:function(t,e){t?(this._password.enable(),this._passwordContainer.removeClass("disabled
"),this._useCookies.enable(),this._useCookiesContainer.removeClass("disabled
")):(this._password.disable(),this._passwordContainer.addClass("disabled
"),this._useCookies.disable(),this._useCookiesContainer.addClass("disabled
")),this._loginSubmitButton.val(e)}}),WCF.User.Panel={},WCF.User.Panel.Abstract=Class.extend({_badge:null,_dropdown:null,_identifier:"",_loadData:!0,_markAllAsReadLink:null,_options:{},_proxy:null,_triggerElement:null,init:function(t,e,i){if(this._dropdown=null,this._loadData=!0,this._identifier=e,this._triggerElement=t,this._options=i,this._proxy=new WCF.Action.Proxy({showLoadingOverlay:!1,success:$.proxy(this._success,this)}),this._triggerElement.click($.proxy(this.toggle,this)),this._options.showAllLink&&this._triggerElement.dblclick($.proxy(this._dblClick,this)),this._options.staticDropdown===!0)this._loadData=!1;else{var s=this._triggerElement.find("span
.badge
");s.length&&(this._badge=s)}},toggle:function(t){if(t instanceof Event&&t.preventDefault(),null===this._dropdown&&(this._dropdown=this._initDropdown()),this._dropdown.toggle()){if(!this._loadData&&null!==this._badge){var e=parseInt(this._badge.text())||0;e&&!this._dropdown.getItemList().children(".interactiveDropdownItemOutstanding
").length&&(this._loadData=!0)}this._loadData&&(this._loadData=!1,this._load())}return!1},_dblClick:function(t){return t.preventDefault(),window.location=this._options.showAllLink,!1},_initDropdown:function(){var t=WCF.Dropdown.Interactive.Handler.create(this._triggerElement,this._identifier,this._options);return $('<li class="loading
"><span class="icon icon24 fa
-spinner
" /> <span>'+WCF.Language.get("wcf
.global
.loading
")+"</span
></li>").appendTo(t.getItemList()),t},_load:function(){},_success:function(t){if(void 0!==t.returnValues.template){var e=this._dropdown.getItemList().empty();if($(t.returnValues.template).appendTo(e),e.children().length||$('<li class="noItems">'+this._options.noItems+"</li>").appendTo(e),this._options.enableMarkAsRead){var i=this._dropdown.getItemList().children(".interactiveDropdownItemOutstanding
");if(null===this._markAllAsReadLink&&i.length&&this._options.markAllAsReadConfirmMessage){var s=this._markAllAsReadLink=$('<li class="interactiveDropdownItemMarkAllAsRead
"><a href="#" title="'+WCF.Language.get("wcf.user.panel.markAllAsRead")+'" class="jsTooltip
"><span class="icon icon24 fa
-check
" /></a></li>').appendTo(this._dropdown.getLinkList());s.click(function(){return this._dropdown.close(),WCF.System.Confirmation.show(this._options.markAllAsReadConfirmMessage,function(t){"confirm
"===t&&this._markAllAsRead()}.bind(this)),!1}.bind(this))}i.each(function(t,e){var i=$(e).addClass("interactiveDropdownItemOutstandingIcon
"),s=i.data("objectID
"),a=$('<div class="interactiveDropdownItemMarkAsRead
"><a href="#" title="'+WCF.Language.get("wcf.user.panel.markAsRead")+'" class="jsTooltip
"><span class="icon icon16 fa
-check
" /></a></div>').appendTo(i);a.click(function(t){return this._markAsRead(t,s),!1}.bind(this))}.bind(this))}this._dropdown.getItemList().children().each(function(t,e){var i=$(e),s=i.data("link
");s&&($.browser.msie?i.click(function(t){return"A
"!==t.target.tagName?(window.location=s,!1):void 0}):(i.addClass("interactiveDropdownItemShadow
"),$('<a href="'+s+'" class="interactiveDropdownItemShadowLink
" />').appendTo(i)),i.data("linkReplaceAll
")&&i.find("> .box48 a
:not(.userLink
)").prop("href
",s))}),this._dropdown.rebuildScrollbar()}if(void 0!==t.returnValues.totalCount&&this.updateBadge(t.returnValues.totalCount),this._options.enableMarkAsRead)if(t.returnValues.markAsRead){var a=this._dropdown.getItemList().children("li
[data
-object
-id
="+t.returnValues.markAsRead+"]");a.length&&(a.removeClass("interactiveDropdownItemOutstanding
").data("isRead
",!0),a.children(".interactiveDropdownItemMarkAsRead
").remove())}else t.returnValues.markAllAsRead&&(this.resetItems(),this.updateBadge(0))},_markAsRead:function(){},_markAllAsRead:function(){},updateBadge:function(t){t=parseInt(t)||0,t?(null===this._badge&&(this._badge=$('<span class="badge badgeUpdate
" />').appendTo(this._triggerElement.children("a
")),this._badge.before(" ")),this._badge.text(t)):null!==this._badge&&(this._badge.remove(),this._badge=null),this._options.enableMarkAsRead&&(t||null===this._markAllAsReadLink||(this._markAllAsReadLink.remove(),this._markAllAsReadLink=null)),WCF.System.Event.fireEvent("com
.woltlab
.wcf
.userMenu
","updateBadge
",{count:t,identifier:this._identifier})},resetItems:function(){null!==this._dropdown&&this._dropdown.resetItems()}}),WCF.User.Panel.Notification=WCF.User.Panel.Abstract.extend({_favico:null,init:function(t){t.enableMarkAsRead=!0,this._super($("#userNotifications
"),"userNotifications
",t);try{if(this._favico=new Favico({animation:"none
",type:"circle
"}),null!==this._badge){var e=parseInt(this._badge.text())||0;this._favico.badge(e)}}catch(t){console.debug("[WCF
.User
.Panel
.Notification
] Failed to initialized Favico
: "+t.message)}WCF.System.PushNotification.addCallback("userNotificationCount
",$.proxy(this.updateUserNotificationCount,this)),require(["EventHandler
"],function(t){t.add("com
.woltlab
.wcf
.UserMenuMobile
","more
",function(t){"com
.woltlab
.wcf
.notifications
"===t.identifier&&this.toggle()}.bind(this))}.bind(this))},_initDropdown:function(){var t=this._super();return $('<li><a href="'+this._options.settingsLink+'" title="'+WCF.Language.get("wcf.user.panel.settings")+'" class="jsTooltip
"><span class="icon icon24 fa
-cog
" /></a></li>').appendTo(t.getLinkList()),t},_load:function(){this._proxy.setOption("data
",{actionName:"getOutstandingNotifications
",className:"wcf
\\data
\\user
\\notification
\\UserNotificationAction
"}),this._proxy.sendRequest()},_markAsRead:function(t,e){this._proxy.setOption("data
",{actionName:"markAsConfirmed
",className:"wcf
\\data
\\user
\\notification
\\UserNotificationAction
",objectIDs:[e]}),this._proxy.sendRequest()},_markAllAsRead:function(){this._proxy.setOption("data
",{actionName:"markAllAsConfirmed
",className:"wcf
\\data
\\user
\\notification
\\UserNotificationAction
"}),this._proxy.sendRequest()},resetItems:function(){this._super(),this._markAllAsReadLink&&(this._markAllAsReadLink.remove(),this._markAllAsReadLink=null)},updateBadge:function(t){t=parseInt(t)||0,null!==this._favico&&this._favico.badge(t),this._super(t)},updateUserNotificationCount:function(t){null!==this._dropdown&&this._dropdown.resetItems(),this.updateBadge(t)}}),WCF.User.Panel.UserMenu=WCF.User.Panel.Abstract.extend({init:function(){this._super($("#userMenu
"),"userMenu
",{pointerOffset:"13px
",staticDropdown:!0})}}),WCF.User.QuickLogin={init:function(){require(["EventHandler
","Ui
/Dialog
"],function(t,e){for(var i=document.getElementById("loginForm
"),s=function(t){t instanceof Event&&(t.preventDefault(),t.stopPropagation()),i.style.removeProperty("display
"),e.openStatic("loginForm
",null,{title:WCF.Language.get("wcf
.user
.login
")})},a=document.getElementsByClassName("loginLink
"),n=0,o=a.length;o>n;n++)a[n].addEventListener(WCF_CLICK_EVENT,s);var r=i.querySelector("#loginForm input
[name
=url
]");null!==r&&r.setAttribute("value
",window.location.protocol+"//"+window.location.host+r.getAttribute("value")),t.add("com.woltlab.wcf.UserMenuMobile","more",function(t){"com.woltlab.wcf.login"===t.identifier&&(t.handler.close(!0),s())})})}},WCF.User.Profile={},WCF.User.Profile.ActivityPointList={_cache:{},_dialog:null,_didInit:!1,_proxy:null,init:function(){this._didInit||(this._cache={},this._dialog=null,this._proxy=new WCF.Action.Proxy({success:$.proxy(this._success,this)}),this._init(),WCF.DOMNodeInsertedHandler.addCallback("WCF.User.Profile.ActivityPointList",$.proxy(this._init,this)),this._didInit=!0)},_init:function(){$(".activityPointsDisplay").removeClass("activityPointsDisplay").click($.proxy(this._click,this))},_click:function(t){t.preventDefault();var e=$(t.currentTarget).data("userID");void 0===this._cache[e]?(this._proxy.setOption("data",{actionName:"getDetailedActivityPointList",className:"wcf\\data\\user\\UserProfileAction",objectIDs:[e]}),this._proxy.sendRequest()):this._show(e)},_show:function(t){null===this._dialog?(this._dialog=$("<div>"+this._cache[t]+"</div>").hide().appendTo(document.body),this._dialog.wcfDialog({title:WCF.Language.get("wcf.user.activityPoint")})):(this._dialog.html(this._cache[t]),this._dialog.wcfDialog("open"))},_success:function(t){this._cache[t.returnValues.userID]=t.returnValues.template,this._show(t.returnValues.userID)}},WCF.User.Profile.TabMenu=Class.extend({_hasContent:{},_profileContent:null,_proxy:null,_userID:0,init:function(t){this._profileContent=$("#profileContent"),this._userID=t;var e=this._profileContent.data("active"),i=!1;this._profileContent.find("div.tabMenuContent").each($.proxy(function(t,s){var a=$(s).wcfIdentify();e===a?this._hasContent[a]=!0:(this._hasContent[a]=!1,i=!0)},this)),i&&(this._proxy=new WCF.Action.Proxy({success:$.proxy(this._success,this)}),this._profileContent.on("wcftabsbeforeactivate",$.proxy(this._loadContent,this)),this._profileContent.find("> nav.tabMenu > ul > li").each($.proxy(function(t,e){var i=$(e);return i.hasClass("ui-state-active")?(t&&this._loadContent(null,{newPanel:$("#"+i.attr("aria-controls"))}),!1):void 0},this))),$('.userProfileUser .contentDescription a[href$="#likes"]').click(function(t){t.preventDefault(),require(["Ui/TabMenu"],function(t){t.getTabMenu("profileContent").select("likes")})}.bind(this))},_loadContent:function(t,e){var i=$(e.newPanel),s=i.attr("id");this._hasContent[s]||(this._proxy.setOption("data",{actionName:"getContent",className:"wcf\\data\\user\\profile\\menu\\item\\UserProfileMenuItemAction",parameters:{data:{containerID:s,menuItem:i.data("menuItem"),userID:this._userID}}}),this._proxy.sendRequest())},_success:function(t){var e=t.returnValues.containerID;this._hasContent[e]=!0,require(["Dom/Util"],function(i){i.insertHtml(t.returnValues.template,elById(e),"append")})}}),WCF.User.Profile.Editor=Class.extend({_actionName:"",_buttons:{},_cachedTemplate:"",_proxy:null,_tab:null,_userID:0,init:function(t,e){this._actionName="",this._cachedTemplate="",this._tab=$("#about"),this._userID=t,this._proxy=new WCF.Action.Proxy({success:$.proxy(this._success,this)}),this._initButtons(),e&&this._beginEdit()},_initButtons:function(){this._buttons={beginEdit:$(".jsButtonEditProfile:eq(0)").click(this._beginEdit.bind(this))}},_beginEdit:function(t){t&&t.preventDefault(),this._actionName="beginEdit",this._buttons.beginEdit.parent().addClass("active"),$("#profileContent").wcfTabs("select","about"),this._proxy.setOption("data",{actionName:"beginEdit",className:"wcf\\data\\user\\UserProfileAction",objectIDs:[this._userID]}),this._proxy.sendRequest()},_save:function(){this._actionName="save";var t=/values\[([a-zA-Z0-9._-]+)\]/,e={};this._tab.find("input, textarea, select").each(function(i,s){var a=$(s),n=null;switch(a.getTagName()){case"input":var o=a.attr("type");if(("radio"===o||"checkbox"===o)&&!a.prop("checked"))return;break;case"textarea":a.data("redactor")&&(n=a.redactor("code.get"))}var r=a.attr("name");if(t.test(r)){var l=RegExp.$1;null===n&&(n=a.val()),"checkbox"===a.attr("type")&&/\[\]$/.test(r)?(Array.isArray(e[l])||(e[l]=[]),e[l].push(n)):e[l]=n}}),this._proxy.setOption("data",{actionName:"save",className:"wcf\\data\\user\\UserProfileAction",objectIDs:[this._userID],parameters:{values:e}}),this._proxy.sendRequest()},_restore:function(){this._actionName="restore",this._buttons.beginEdit.parent().removeClass("active"),this._destroyEditor(),this._tab.html(this._cachedTemplate).children().css({height:"auto"})},_success:function(t){switch(this._actionName){case"beginEdit":this._prepareEdit(t);break;case"save":t.returnValues.success?(this._cachedTemplate=t.returnValues.template,this._restore()):this._prepareEdit(t,!0)}},_prepareEdit:function(t,e){this._destroyEditor();var i=this;this._tab.html(function(s,a){return e!==!0&&(i._cachedTemplate=a),t.returnValues.template}),this._tab.find("input[type=text]").attr("autocomplete","off"),this._tab.find(".formSubmit > button[data-type=save]").click($.proxy(this._save,this)),this._tab.find(".formSubmit > button[data-type=restore]").click($.proxy(this._restore,this)),this._tab.find("input").keyup(function(t){return t.which===$.ui.keyCode.ENTER?(i._save(),t.preventDefault(),!1):void 0})},_destroyEditor:function(){this._tab.find("textarea").each(function(t,e){var i=$(e);i.data("redactor")&&i.redactor("core.destroy")})}}),WCF.User.Registration={},WCF.User.Registration.Validation=Class.extend({_actionName:"",_className:"",_confirmElement:null,_element:null,_errorMessages:{},_options:{},_proxy:null,init:function(t,e,i){this._element=t,this._element.blur($.proxy(this._blur,this)),this._confirmElement=e||null,null!==this._confirmElement&&this._confirmElement.blur($.proxy(this._blurConfirm,this)),i=i||{},this._setOptions(i),this._proxy=new WCF.Action.Proxy({success:$.proxy(this._success,this),showLoadingOverlay:!1}),this._setErrorMessages()},_setOptions:function(){},_setErrorMessages:function(){this._errorMessages={ajaxError:"",notEqual:""}},_blur:function(){var t=this._element.val();if(!t)return this._showError(this._element,WCF.Language.get("wcf.global.form.error.empty"));if(null!==this._confirmElement){var e=this._confirmElement.val();if(""!=e&&t!=e)return this._showError(this._confirmElement,this._errorMessages.notEqual)}this._validateOptions()&&(this._proxy.setOption("data",{actionName:this._actionName,className:this._className,parameters:this._getParameters()}),this._proxy.sendRequest())},_getParameters:function(){return{}},_validateOptions:function(){return!0},_blurConfirm:function(t){var e=this._confirmElement.val();return e?void this._blur(t):this._showError(this._confirmElement,WCF.Language.get("wcf.global.form.error.empty"))},_success:function(t){t.returnValues.isValid?(this._showSuccess(this._element),null!==this._confirmElement&&this._confirmElement.val()&&this._showSuccess(this._confirmElement)):this._showError(this._element,WCF.Language.get(this._errorMessages.ajaxError+t.returnValues.error))},_showError:function(t,e){t.parent().parent().addClass("formError").removeClass("formSuccess");var i=t.parent().find("small.innerError");i.length||(i=$("<small />").addClass("innerError").insertAfter(t)),i.text(e)},_showSuccess:function(t){t.parent().parent().addClass("formSuccess").removeClass("formError"),t.next("small.innerError").remove()}}),WCF.User.Registration.Validation.Username=WCF.User.Registration.Validation.extend({_actionName:"validateUsername",_className:"wcf\\data\\user\\UserRegistrationAction",_setOptions:function(t){this._options=$.extend(!0,{minlength:3,maxlength:25},t)},_setErrorMessages:function(){this._errorMessages={ajaxError:"wcf.user.username.error."}},_validateOptions:function(){var t=this._element.val();return t.length<this._options.minlength||t.length>this._options.maxlength?(this._showError(this._element,WCF.Language.get("wcf.user.username.error.invalid")),!1):!0},_getParameters:function(){return{username:this._element.val()}}}),WCF.User.Registration.Validation.EmailAddress=WCF.User.Registration.Validation.extend({_actionName:"validateEmailAddress",_className:"wcf\\data\\user\\UserRegistrationAction",_getParameters:function(){return{email:this._element.val()}},_setErrorMessages:function(){this._errorMessages={ajaxError:"wcf.user.email.error.",notEqual:WCF.Language.get("wcf.user.confirmEmail.error.notEqual")}}}),WCF.User.Registration.Validation.Password=WCF.User.Registration.Validation.extend({_actionName:"validatePassword",_className:"wcf\\data\\user\\UserRegistrationAction",_getParameters:function(){return{password:this._element.val()}},_setErrorMessages:function(){this._errorMessages={ajaxError:"wcf.user.password.error.",notEqual:WCF.Language.get("wcf.user.confirmPassword.error.notEqual")}}}),WCF.User.Registration.LostPassword=Class.extend({_email:null,_username:null,init:function(){this._email=$("#emailInput"),this._username=$("#usernameInput"),this._email.keyup($.proxy(this._checkEmail,this)),this._username.keyup($.proxy(this._checkUsername,this)),$.browser.mozilla&&$.browser.touch&&(this._email.on("input",$.proxy(this._checkEmail,this)),this._username.on("input",$.proxy(this._checkUsername,this))),this._checkEmail(),this._checkUsername()},_checkEmail:function(){""==this._email.val()?(this._username.enable(),this._username.parents("dl:eq(0)").removeClass("disabled")):(this._username.disable(),this._username.parents("dl:eq(0)").addClass("disabled"))},_checkUsername:function(){""==this._username.val()?(this._email.enable(),this._email.parents("dl:eq(0)").removeClass("disabled")):(this._email.disable(),this._email.parents("dl:eq(0)").addClass("disabled"))}}),WCF.Notification={},WCF.Notification.List=Class.extend({_proxy:null,init:function(){this._proxy=new WCF.Action.Proxy({success:$.proxy(this._success,this)}),$(".contentHeaderNavigation .jsMarkAllAsConfirmed").click(function(){WCF.System.Confirmation.show(WCF.Language.get("wcf.user.notification.markAllAsConfirmed.confirmMessage"),function(t){"confirm"===t&&new WCF.Action.Proxy({autoSend:!0,data:{actionName:"markAllAsConfirmed",className:"wcf\\data\\user\\notification\\UserNotificationAction"},success:function(){window.location.reload()}})})}),this._convertList()},_convertList:function(){$(".userNotificationItemList > .notificationItem").each(function(t,e){var i=$(e);if(!i.data("isRead")){i.find("a:not(.userLink)").prop("href",i.data("link"));var s=$('<a href="#" class="icon icon24 fa-check notificationItemMarkAsConfirmed jsTooltip" title="'+WCF.Language.get("wcf.user.notification.markAsConfirmed")+'" />').appendTo(i);s.click($.proxy(this._markAsConfirmed,this))}i.find("a:not(.notificationItemMarkAsConfirmed)").length||i.find(".details > p:eq(0)").html(function(t,e){return'<a href="'+i.data("link")+'">'+e+"</a>"})}.bind(this)),WCF.DOMNodeInsertedHandler.execute()},_markAsConfirmed:function(t){t.preventDefault();var e=$(t.currentTarget).parents(".notificationItem:eq(0)").data("objectID");return this._proxy.setOption("data",{actionName:"markAsConfirmed",className:"wcf\\data\\user\\notification\\UserNotificationAction",objectIDs:[e]}),this._proxy.sendRequest(),!1},_success:function(t){var e=$(".userNotificationItemList > .notificationItem[data-object-id="+t.returnValues.markAsRead+"]");e.data("isRead",!0),e.find(".newContentBadge").remove(),e.find(".notificationItemMarkAsConfirmed").remove(),e.removeClass("notificationUnconfirmed")}}),WCF.User.SignaturePreview=WCF.Message.Preview.extend({_handleResponse:function(t){var e=$("#previewContainer");e.length||(e=$('<section class="section" id="previewContainer"><h2 class="sectionTitle">'+WCF.Language.get("wcf.global.preview")+"</h2><div></div></section>").insertBefore($("#signatureContainer")).wcfFadeIn()),e.children("div").first().html(t.returnValues.message)}}),WCF.User.RecentActivityLoader=Class.extend({_container:null,_filteredByFollowedUsers:!1,_loadButton:null,_proxy:null,_userID:0,init:function(t,e){return this._container=$("#recentActivities"),this._filteredByFollowedUsers=e===!0,this._userID=t,null===this._userID||this._userID?(this._proxy=new WCF.Action.Proxy({success:$.proxy(this._success,this)}),this._container.children("li").length?(this._loadButton=$('<li class="showMore"><button class="small">'+WCF.Language.get("wcf.user.recentActivity.more")+"</button></li>").appendTo(this._container),this._loadButton=this._loadButton.children("button").click($.proxy(this._click,this))):$('<li class="showMore"><small>'+WCF.Language.get("wcf.user.recentActivity.noMoreEntries")+"</small></li>").appendTo(this._container),void(WCF.User.userID&&$(".jsRecentActivitySwitchContext .button").click($.proxy(this._switchContext,this)))):void console.debug("[WCF.User.RecentActivityLoader] Invalid parameter 'userID' given.")},_click:function(){this._loadButton.enable();var t={lastEventID:this._container.data("lastEventID"),lastEventTime:this._container.data("lastEventTime")};this._userID?t.userID=this._userID:this._filteredByFollowedUsers&&(t.filteredByFollowedUsers=1),this._proxy.setOption("data",{actionName:"load",className:"wcf\\data\\user\\activity\\event\\UserActivityEventAction",parameters:t}),this._proxy.sendRequest()},_switchContext:function(t){t.preventDefault(),$(t.currentTarget).hasClass("active")||new WCF.Action.Proxy({autoSend:!0,data:{actionName:"switchContext",className:"wcf\\data\\user\\activity\\event\\UserActivityEventAction"},success:function(){window.location.hash="#dashboardBoxRecentActivity",window.location.reload()}})},_success:function(t){t.returnValues.template?($(t.returnValues.template).insertBefore(this._loadButton.parent()),this._container.data("lastEventTime",t.returnValues.lastEventTime),this._container.data("lastEventID",t.returnValues.lastEventID),this._loadButton.enable()):($("<small>"+WCF.Language.get("wcf.user.recentActivity.noMoreEntries")+"</small>").appendTo(this._loadButton.parent()),this._loadButton.remove())}}),WCF.User.LikeLoader=Class.extend({_container:null,_likeType:"received",_likeValue:1,_loadButton:null,_noMoreEntries:null,_proxy:null,_userID:0,init:function(t){if(this._container=$("#likeList"),this._userID=t,!this._userID)return void console.debug("[WCF.User.RecentActivityLoader] Invalid parameter 'userID' given.");this._proxy=new WCF.Action.Proxy({success:$.proxy(this._success,this)});var e=$('<li class="likeListMore showMore"><button class="small">'+WCF.Language.get("wcf.like.likes.more")+"</button><small>"+WCF.Language.get("wcf.like.likes.noMoreEntries")+"</small></li>").appendTo(this._container);this._loadButton=e.children("button").click($.proxy(this._click,this)),this._noMoreEntries=e.children("small").hide(),2==this._container.find("> li").length&&(this._loadButton.hide(),this._noMoreEntries.show()),$("#likeType .button").click($.proxy(this._clickLikeType,this)),$("#likeValue .button").click($.proxy(this._clickLikeValue,this))},_clickLikeType:function(t){var e=$(t.currentTarget);this._likeType!=e.data("likeType")&&(this._likeType=e.data("likeType"),$("#likeType .button").removeClass("active"),e.addClass("active"),this._reload())},_clickLikeValue:function(t){var e=$(t.currentTarget);this._likeValue!=e.data("likeValue")&&(this._likeValue=e.data("likeValue"),$("#likeValue .button").removeClass("active"),e.addClass("active"),$("#likeType > li:first-child > .button").text(WCF.Language.get("wcf.like."+(-1==this._likeValue?"dis":"")+"likesReceived")),$("#likeType > li:last-child > .button").text(WCF.Language.get("wcf.like."+(-1==this._likeValue?"dis":"")+"likesGiven")),this._container.find("> li.likeListMore button").text(WCF.Language.get("wcf.like."+(-1==this._likeValue?"dis":"")+"likes.more")),this._container.find("> li.likeListMore small").text(WCF.Language.get("wcf.like."+(-1==this._likeValue?"dis":"")+"likes.noMoreEntries")),this._reload())},_reload:function(){this._container.find("> li:not(:first-child):not(:last-child)").remove(),this._container.data("lastLikeTime",0),this._click()},_click:function(){this._loadButton.enable();var t={lastLikeTime:this._container.data("lastLikeTime"),userID:this._userID,likeType:this._likeType,likeValue:this._likeValue};this._proxy.setOption("data",{actionName:"load",className:"wcf\\data\\like\\LikeAction",parameters:t}),this._proxy.sendRequest()},_success:function(t){t.returnValues.template?($(t.returnValues.template).insertBefore(this._loadButton.parent()),this._container.data("lastLikeTime",t.returnValues.lastLikeTime),this._noMoreEntries.hide(),this._loadButton.show().enable()):(this._noMoreEntries.show(),this._loadButton.hide())}}),WCF.User.ProfilePreview=WCF.Popover.extend({_proxy:null,_userProfiles:{},init:function(){this._super(".userLink"),this._proxy=new WCF.Action.Proxy({showLoadingOverlay:!1}),WCF.System.ObjectStore.add("WCF.User.ProfilePreview",this)},_loadContent:function(){var t=$("#"+this._activeElementID),e=t.data("userID");if(this._userProfiles[e])this._insertContent(this._activeElementID,this._userProfiles[e],!0);else{this._proxy.setOption("data",{actionName:"getUserProfile",className:"wcf\\data\\user\\UserProfileAction",objectIDs:[e]});var i=this._activeElementID,s=this;this._proxy.setOption("success",function(t){s._userProfiles[e]=t.returnValues.template,s._insertContent(i,t.returnValues.template,!0)}),this._proxy.setOption("failure",function(t){return s._userProfiles[e]=t.message,s._insertContent(i,t.message,!0),!1}),this._proxy.sendRequest()}},purge:function(t){delete this._userProfiles[t],this._data={}}}),WCF.User.Action={},WCF.User.Action.Follow=Class.extend({_containerList:null,_followButtonSelector:".jsFollowButton",_userID:0,init:function(t,e){t.length&&(this._containerList=t,e&&(this._followButtonSelector=e),this._proxy=new WCF.Action.Proxy({success:$.proxy(this._success,this)}),this._containerList.each($.proxy(function(t,e){$(e).find(this._followButtonSelector).click($.proxy(this._click,this))},this)))},_click:function(t){t.preventDefault();var e=$(t.target);e.is("a")||(e=e.closest("a")),this._userID=e.data("objectID"),this._proxy.setOption("data",{actionName:e.data("following")?"unfollow":"follow",className:"wcf\\data\\user\\follow\\UserFollowAction",parameters:{data:{userID:this._userID}}}),this._proxy.sendRequest()},_success:function(t){this._containerList.each($.proxy(function(e,i){var s=$(i).find(this._followButtonSelector).get(0);return s&&$(s).data("objectID")==this._userID?(s=$(s),t.returnValues.following?s.data("tooltip",WCF.Language.get("wcf.user.button.unfollow")).children(".icon").removeClass("fa-plus").addClass("fa-minus"):s.data("tooltip",WCF.Language.get("wcf.user.button.follow")).children(".icon").removeClass("fa-minus").addClass("fa-plus"),s.data("following",t.returnValues.following),!1):void 0},this));var e=new WCF.System.Notification;e.show()}}),WCF.User.Action.Ignore=Class.extend({_containerList:null,_ignoreButtonSelector:".jsIgnoreButton",_userID:0,init:function(t,e){t.length&&(this._containerList=t,e&&(this._ignoreButtonSelector=e),this._proxy=new WCF.Action.Proxy({success:$.proxy(this._success,this)}),this._containerList.each($.proxy(function(t,e){$(e).find(this._ignoreButtonSelector).click($.proxy(this._click,this))},this)))},_click:function(t){t.preventDefault();var e=$(t.target);e.is("a")||(e=e.closest("a")),this._userID=e.data("objectID"),this._proxy.setOption("data",{actionName:e.data("ignored")?"unignore":"ignore",className:"wcf\\data\\user\\ignore\\UserIgnoreAction",parameters:{data:{userID:this._userID}}}),this._proxy.sendRequest()},_success:function(t){this._containerList.each($.proxy(function(e,i){var s=$(i).find(this._ignoreButtonSelector).get(0);return s&&$(s).data("objectID")==this._userID?(s=$(s),t.returnValues.isIgnoredUser?s.data("tooltip",WCF.Language.get("wcf.user.button.unignore")).children(".icon").removeClass("fa-ban").addClass("fa-circle-o"):s.data("tooltip",WCF.Language.get("wcf.user.button.ignore")).children(".icon").removeClass("fa-circle-o").addClass("fa-ban"),s.data("ignored",t.returnValues.isIgnoredUser),!1):void 0},this));var e=new WCF.System.Notification;e.show();var i=this;WCF.System.ObjectStore.invoke("WCF.User.ProfilePreview",function(t){t.purge(i._userID)})}}),WCF.User.Avatar={},WCF.User.Avatar.Upload=WCF.Upload.extend({_userID:0,init:function(t){this._super($("#avatarUpload > dd > div"),void 0,"wcf\\data\\user\\avatar\\UserAvatarAction"),this._userID=t||0,$("#avatarForm input[type=radio]").change(function(){"custom"==$(this).val()?$("#avatarUpload > dd > div").show():$("#avatarUpload > dd > div").hide()}),$("#avatarForm input[type=radio][value=custom]:checked").length||$("#avatarUpload > dd > div").hide()},_initFile:function(){return $("#avatarUpload > dt > img")},_success:function(t,e){if(e.returnValues.url){this._updateImage(e.returnValues.url),$("#avatarUpload > dd > .innerError").remove();var i=new WCF.System.Notification(WCF.Language.get("wcf.user.avatar.upload.success"));i.show()}else e.returnValues.errorType&&this._getInnerErrorElement().text(WCF.Language.get("wcf.user.avatar.upload.error."+e.returnValues.errorType))},_updateImage:function(t){$("#avatarUpload > dt > img").remove();var e=$('<img src="'+t+'" class="userAvatarImage" alt="" />').css({height:"auto","max-height":"96px","max-width":"96px",width:"auto"});$("#avatarUpload > dt").prepend(e),WCF.DOMNodeInsertedHandler.execute()},_getInnerErrorElement:function(){var t=$("#avatarUpload > dd > .innerError");return t.length||(t=$('<small class="innerError"></span>'),$("#avatarUpload > dd").append(t)),t},_getParameters:function(){return{userID:this._userID}}}),WCF.User.List=Class.extend({_additionalParameters:{},_cache:{},_className:"",_dialog:null,_dialogTitle:"",_pageCount:0,_pageNo:1,_proxy:null,init:function(t,e,i){this._additionalParameters=i||{},this._cache={},this._className=t,this._dialog=null,this._dialogTitle=e,this._pageCount=0,this._pageNo=1,this._proxy=new WCF.Action.Proxy({success:$.proxy(this._success,this)})},open:function(){this._pageNo=1,this._showPage()},_showPage:function(t,e){if(e&&e.activePage&&(this._pageNo=e.activePage),0!=this._pageCount&&(this._pageNo<1||this._pageNo>this._pageCount))return void console.debug("[WCF.User.List] Cannot access page "+this._pageNo+" of "+this._pageCount);if(this._cache[this._pageNo]){var i=!1;null===this._dialog&&(this._dialog=$('<div id="userList'+this._className.hashCode()+'" />').hide().appendTo(document.body),i=!0),this._dialog.empty(),this._dialog.html(this._cache[this._pageNo]),this._pageCount>1?this._dialog.find(".jsPagination").wcfPages({activePage:this._pageNo,maxPage:this._pageCount}).on("wcfpagesswitched",$.proxy(this._showPage,this)):this._dialog.find(".jsPagination").hide(),i?this._dialog.wcfDialog({title:this._dialogTitle}):this._dialog.wcfDialog("open").wcfDialog("render"),WCF.DOMNodeInsertedHandler.execute()}else this._additionalParameters.pageNo=this._pageNo,this._proxy.setOption("data",{actionName:"getGroupedUserList",className:this._className,interfaceName:"wcf\\data\\IGroupedUserListAction",parameters:this._additionalParameters}),this._proxy.sendRequest()},_success:function(t){t.returnValues.pageCount&&(this._pageCount=t.returnValues.pageCount),this._cache[this._pageNo]=t.returnValues.template,this._showPage()}}),WCF.User.ObjectWatch={},WCF.User.ObjectWatch.Subscribe=Class.extend({_buttonSelector:".jsSubscribeButton",_buttons:{},_dialog:null,_notification:null,_reloadOnUnsubscribe:!1,init:function(t){this._buttons={},this._notification=null,this._reloadOnUnsubscribe=t===!0,this._proxy=new WCF.Action.Proxy({success:$.proxy(this._success,this)}),$(this._buttonSelector).each($.proxy(function(t,e){var i=$(e);i.addClass("pointer");var s=i.data("objectType"),a=i.data("objectID");void 0===this._buttons[s]&&(this._buttons[s]={}),this._buttons[s][a]=i.click($.proxy(this._click,this))},this)),WCF.System.Event.addListener("com.woltlab.wcf.objectWatch","update",$.proxy(this._updateSubscriptionStatus,this))},_click:function(t){t.preventDefault();var e=$(t.currentTarget);this._proxy.setOption("data",{actionName:"manageSubscription",className:"wcf\\data\\user\\object\\watch\\UserObjectWatchAction",parameters:{objectID:e.data("objectID"),objectType:e.data("objectType")}}),this._proxy.sendRequest()},_success:function(t){if("manageSubscription"===t.actionName){null===this._dialog?(this._dialog=$("<div>"+t.returnValues.template+"</div>").hide().appendTo(document.body),
107 this._dialog
.wcfDialog({title
:WCF
.Language
.get("wcf.user.objectWatch.manageSubscription")})):(this._dialog
.html(t
.returnValues
.template
),this._dialog
.wcfDialog("open")),this._dialog
.find(".formSubmit > .jsButtonSave").data("objectID",t
.returnValues
.objectID
).data("objectType",t
.returnValues
.objectType
).click($.proxy(this._save
,this));var e
=this._dialog
.find("input[name=enableNotification]").disable();this._dialog
.find("input[name=subscribe]").change(function(t
){var i
=$(t
.currentTarget
);1==i
.val()?e
.enable():e
.disable()});var i
=this._dialog
.find("input[name=subscribe]:checked");i
.length
&&1==i
.val()&&e
.enable()}else"saveSubscription"===t
.actionName
&&this._dialog
.is(":visible")&&(this._dialog
.wcfDialog("close"),this._updateSubscriptionStatus({isSubscribed
:t
.returnValues
.subscribe
,objectID
:t
.returnValues
.objectID
}),null===this._notification
&&(this._notification
=new WCF
.System
.Notification(WCF
.Language
.get("wcf.global.success.edit"))),this._notification
.show())},_save:function(t
){var e
=this._buttons
[$(t
.currentTarget
).data("objectType")][$(t
.currentTarget
).data("objectID")],i
=this._dialog
.find("input[name=subscribe]:checked").val(),s
=this._dialog
.find("input[name=enableNotification]").is(":checked")?1:0;this._proxy
.setOption("data",{actionName
:"saveSubscription",className
:"wcf\\data\\user\\object\\watch\\UserObjectWatchAction",parameters
:{enableNotification
:s
,objectID
:e
.data("objectID"),objectType
:e
.data("objectType"),subscribe
:i
}}),this._proxy
.sendRequest()},_updateSubscriptionStatus:function(t
){var e
=$(this._buttonSelector
+"[data-object-id="+t
.objectID
+"]"),i
=e
.children(".icon");if(t
.isSubscribed
)i
.removeClass("fa-bookmark-o").addClass("fa-bookmark"),e
.data("isSubscribed",!0);else if(e
.data("removeOnUnsubscribe")?e
.parent().remove():(i
.removeClass("fa-bookmark").addClass("fa-bookmark-o"),e
.data("isSubscribed",!1)),this._reloadOnUnsubscribe
)return void window
.location
.reload();WCF
.System
.Event
.fireEvent("com.woltlab.wcf.objectWatch","updatedSubscription",t
)}}); })(this);
110 (function (window
, undefined) {"use strict";WCF
.Moderation
={},WCF
.Moderation
.Management
=Class
.extend({_buttonSelector
:"",_className
:"",_confirmationTemplate
:{},_dialog
:null,_languageItem
:"",_proxy
:null,_queueID
:0,_redirectURL
:"",init:function(e
,t
,i
){return this._buttonSelector
?this._className
?(this._dialog
=null,this._queueID
=e
,this._redirectURL
=t
,this._languageItem
=i
,this._proxy
=new WCF
.Action
.Proxy({failure
:$.proxy(this._failure
,this),success
:$.proxy(this._success
,this)}),$(this._buttonSelector
).click($.proxy(this._click
,this)),void $("#moderationAssignUser").click($.proxy(this._clickAssignedUser
,this))):void console
.debug("[WCF.Moderation.Management] Missing class name, aborting."):void console
.debug("[WCF.Moderation.Management] Missing button selector, aborting.")},_click:function(e
){var t
=$(e
.currentTarget
).wcfIdentify(),i
="";this._confirmationTemplate
[t
]&&(i
=this._confirmationTemplate
[t
]),WCF
.System
.Confirmation
.show(WCF
.Language
.get(this._languageItem
.replace(/{actionName}/,t
)),$.proxy(function(e
){if("confirm"===e
){var a
={actionName
:t
,className
:this._className
,objectIDs
:[this._queueID
]};this._confirmationTemplate
[t
]&&(a
.parameters
={},i
.find("input, textarea").each(function(e
,t
){var i
=$(t
),o
=i
.val();"input"===i
.getTagName()&&"checkbox"===i
.attr("type")&&(i
.is(":checked")||(o
=null)),null!==o
&&(a
.parameters
[i
.attr("name")]=o
)})),this._proxy
.setOption("data",a
),this._proxy
.sendRequest(),$(this._buttonSelector
).disable()}},this),{},i
)},_clickAssignedUser:function(){this._proxy
.setOption("data",{actionName
:"getAssignUserForm",className
:"wcf\\data\\moderation\\queue\\ModerationQueueAction",objectIDs
:[this._queueID
]}),this._proxy
.sendRequest()},_success:function(e
){switch(e
.actionName
){case"getAssignUserForm":null===this._dialog
?(this._dialog
=$("<div />").hide().appendTo(document
.body
),this._dialog
.html(e
.returnValues
.template
).wcfDialog({title
:WCF
.Language
.get("wcf.moderation.assignedUser")})):this._dialog
.html(e
.returnValues
.template
).wcfDialog("open"),this._dialog
.find("button[data-type=submit]").click($.proxy(this._assignUser
,this));break;case"assignUser":var t
=$("#moderationAssignedUserContainer > dd > span").empty();e
.returnValues
.userID
?$('<a href="'+e
.returnValues
.link
+'" data-user-id="'+e
.returnValues
.userID
+'" class="userLink">'+WCF
.String
.escapeHTML(e
.returnValues
.username
)+"</a>").appendTo(t
):t
.append(e
.returnValues
.username
),t
.append(" "),e
.returnValues
.newStatus
&&$("#moderationStatusContainer > dd").text(WCF
.Language
.get("wcf.moderation.status."+e
.returnValues
.newStatus
)),this._dialog
.wcfDialog("close"),(new WCF
.System
.Notification
).show();break;default:var i
=new WCF
.System
.Notification(WCF
.Language
.get("wcf.global.success")),a
=this;i
.show(function(){window
.location
=a
._redirectURL
})}},_failure:function(e
){if(e
.returnValues
&&e
.returnValues
.fieldName
&&"assignedUsername"==e
.returnValues
.fieldName
){this._dialog
.find("small.innerError").remove();var t
="";switch(e
.returnValues
.errorType
){case"empty":t
=WCF
.Language
.get("wcf.global.form.error.empty");break;case"notAffected":t
=WCF
.Language
.get("wcf.moderation.assignedUser.error.notAffected");break;default:t
=WCF
.Language
.get("wcf.user.username.error."+e
.returnValues
.errorType
,{username
:this._dialog
.find("#assignedUsername").val()})}return $('<small class="innerError">'+t
+"</small>").insertAfter(this._dialog
.find("#assignedUsername")),!1}return!0},_assignUser:function(){var e
=this._dialog
.find("input[name=assignedUserID]:checked").val(),t
="";return-1==e
&&(t
=$.trim(this._dialog
.find("#assignedUsername").val())),-1==e
&&0==t
.length
?(this._dialog
.find("small.innerError").remove(),void $('<small class="innerError">'+WCF
.Language
.get("wcf.global.form.error.empty")+"</small>").insertAfter(this._dialog
.find("#assignedUsername"))):(this._proxy
.setOption("data",{actionName
:"assignUser",className
:"wcf\\data\\moderation\\queue\\ModerationQueueAction",objectIDs
:[this._queueID
],parameters
:{assignedUserID
:e
,assignedUsername
:t
}}),void this._proxy
.sendRequest())}}),WCF
.Moderation
.Queue
={},WCF
.Moderation
.Queue
.MarkAsRead
=Class
.extend({_proxy
:null,init:function(){this._proxy
=new WCF
.Action
.Proxy({success
:$.proxy(this._success
,this)}),$(document
).on("dblclick",".moderationList .new .columnAvatar",$.proxy(this._dblclick
,this))},_dblclick:function(e
){this._proxy
.setOption("data",{actionName
:"markAsRead",className
:"wcf\\data\\moderation\\queue\\ModerationQueueAction",objectIDs
:[$(e
.currentTarget
).parents("tr:eq(0)").data("queueID")]}),this._proxy
.sendRequest()},_success:function(e
){$(".moderationList .new").each(function(t
,i
){var a
=$(i
);WCF
.inArray(a
.data("queueID"),e
.objectIDs
)&&(a
.removeClass("new"),a
.find(".columnAvatar").off("dblclick"))})}}),WCF
.Moderation
.Queue
.MarkAllAsRead
=Class
.extend({_proxy
:null,init:function(){this._proxy
=new WCF
.Action
.Proxy({success
:$.proxy(this._success
,this)}),$(".markAllAsReadButton").click($.proxy(this._click
,this))},_click:function(e
){e
.preventDefault(),this._proxy
.setOption("data",{actionName
:"markAllAsRead",className
:"wcf\\data\\moderation\\queue\\ModerationQueueAction"}),this._proxy
.sendRequest()},_success:function(){var e
=$(".moderationList");e
.find(".new").removeClass("new"),e
.find(".columnAvatar").off("dblclick")}}),WCF
.Moderation
.Activation
={},WCF
.Moderation
.Activation
.Management
=WCF
.Moderation
.Management
.extend({init:function(e
,t
){this._buttonSelector
="#enableContent, #removeContent",this._className
="wcf\\data\\moderation\\queue\\ModerationQueueActivationAction",this._super(e
,t
,"wcf.moderation.activation.{actionName}.confirmMessage")}}),WCF
.Moderation
.Report
={},WCF
.Moderation
.Report
.Content
=Class
.extend({_buttons
:{},_buttonSelector
:"",_dialog
:null,_notification
:null,_objectID
:0,_objectType
:"",_proxy
:null,init:function(e
,t
){this._objectType
=e
,this._buttonSelector
=t
,this._buttons
={},this._notification
=null,this._objectID
=0,this._proxy
=new WCF
.Action
.Proxy({success
:$.proxy(this._success
,this)}),this._initButtons(),WCF
.DOMNodeInsertedHandler
.addCallback("WCF.Moderation.Report"+this._objectType
.hashCode(),$.proxy(this._initButtons
,this))},_initButtons:function(){var e
=this;$(this._buttonSelector
).each(function(t
,i
){var a
=$(i
),o
=a
.wcfIdentify();e
._buttons
[o
]||(e
._buttons
[o
]=a
,a
.click($.proxy(e
._click
,e
)))})},_click:function(e
){e
.preventDefault(),this._objectID
=$(e
.currentTarget
).data("objectID"),this._proxy
.setOption("data",{actionName
:"prepareReport",className
:"wcf\\data\\moderation\\queue\\ModerationQueueReportAction",parameters
:{objectID
:this._objectID
,objectType
:this._objectType
}}),this._proxy
.sendRequest()},_success:function(e
){e
.returnValues
.reported
?(null===this._notification
&&(this._notification
=new WCF
.System
.Notification(WCF
.Language
.get("wcf.moderation.report.success"))),this._dialog
.wcfDialog("close"),this._notification
.show()):e
.returnValues
.template
&&(this._showDialog(e
.returnValues
.template
),e
.returnValues
.alreadyReported
||this._dialog
.find(".jsSubmitReport").click($.proxy(this._submit
,this)))},_showDialog:function(e
){null===this._dialog
&&(this._dialog
=$("#moderationReport"),this._dialog
.length
||(this._dialog
=$('<div id="moderationReport" />').hide().appendTo(document
.body
))),this._dialog
.html(e
).wcfDialog({title
:WCF
.Language
.get("wcf.moderation.report.reportContent")}).wcfDialog("render")},_submit:function(){var e
=this._dialog
.find(".jsReportMessage").val();return""==$.trim(e
)?(this._dialog
.find(".section > dl").addClass("formError"),void(this._dialog
.find(".innerError").length
||this._dialog
.find(".jsReportMessage").after($('<small class="innerError">'+WCF
.Language
.get("wcf.global.form.error.empty")+"</small>")))):(this._proxy
.setOption("data",{actionName
:"report",className
:"wcf\\data\\moderation\\queue\\ModerationQueueReportAction",parameters
:{message
:e
,objectID
:this._objectID
,objectType
:this._objectType
}}),void this._proxy
.sendRequest())}}),WCF
.Moderation
.Report
.Management
=WCF
.Moderation
.Management
.extend({init:function(e
,t
){this._buttonSelector
="#removeContent, #removeReport",this._className
="wcf\\data\\moderation\\queue\\ModerationQueueReportAction",this._super(e
,t
,"wcf.moderation.report.{actionName}.confirmMessage"),this._confirmationTemplate
.removeContent
=$('<div class="section"><dl><dt><label for="message">'+WCF
.Language
.get("wcf.moderation.report.removeContent.reason")+'</label></dt><dd><textarea name="message" id="message" cols="40" rows="3" /></dd></dl></div>')}}),WCF
.User
.Panel
.Moderation
=WCF
.User
.Panel
.Abstract
.extend({init:function(e
){e
.enableMarkAsRead
=!0,this._super($("#outstandingModeration"),"outstandingModeration",e
),require(["EventHandler"],function(e
){e
.add("com.woltlab.wcf.UserMenuMobile","more",function(e
){"com.woltlab.wcf.moderation"===e
.identifier
&&this.toggle()}.bind(this))}.bind(this))},_initDropdown:function(){var e
=this._super();return $('<li><a href="'+this._options
.deletedContentLink
+'" title="'+this._options
.deletedContent
+'" class="jsTooltip"><span class="icon icon24 fa-trash-o" /></a></li>').appendTo(e
.getLinkList()),e
},_load:function(){this._proxy
.setOption("data",{actionName
:"getOutstandingQueues",className
:"wcf\\data\\moderation\\queue\\ModerationQueueAction"}),this._proxy
.sendRequest()},_markAsRead:function(e
,t
){this._proxy
.setOption("data",{actionName
:"markAsRead",className
:"wcf\\data\\moderation\\queue\\ModerationQueueAction",objectIDs
:[t
]}),this._proxy
.sendRequest()},_markAllAsRead:function(){this._proxy
.setOption("data",{actionName
:"markAllAsRead",className
:"wcf\\data\\moderation\\queue\\ModerationQueueAction"}),this._proxy
.sendRequest()},resetItems:function(){this._super(),this._loadData
=!0}}); })(this);