1 // WCF.Combined.min.js -- DO NOT EDIT
4 // - 3rdParty/jquery.ui.touch-punch.min.js
5 // - 3rdParty/jquery-ui.nestedSortable.min.js
6 // - 3rdParty/jquery-ui.timepicker.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
20 // - WCF.Tagging.min.js
22 // - WCF.Moderation.min.js
24 // 3rdParty/jquery.ui.touch-punch.js
25 (function (window
, undefined) {/*!
26 * jQuery UI Touch Punch 0.2.3
28 * Copyright 2011–2014, Dave Furfero
29 * Dual licensed under the MIT or GPL Version 2 licenses.
35 !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);
37 // 3rdParty/jquery-ui.nestedSortable.js
38 (function (window
, undefined) {/*
39 * jQuery UI Nested Sortable
40 * v 1.3.5 / 21 jun 2012
41 * http://mjsarfatti.com/code/nestedSortable
44 * jquery.ui.sortable.js 1.8+
46 * Copyright (c) 2010-2012 Manuele J Sarfatti
47 * Licensed under the MIT License
48 * http://www.opensource.org/licenses/mit-license.php
50 (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
);
53 // 3rdParty/jquery-ui.timepicker.js
54 (function (window
, undefined) {/*! jQuery Timepicker Addon - v1.4.5 - 2014-05-26
55 * http://trentrichardson.com/examples/timepicker
56 * Copyright (c) 2014 Trent Richardson; Licensed MIT */
57 (function($){if($.ui
.timepicker
=$.ui
.timepicker
||{},!$.ui
.timepicker
.version
){$.extend($.ui
,{timepicker
:{version
:"1.4.5"}});var Timepicker=function(){this.regional
=[],this.regional
[""]={currentText
:"Now",closeText
:"Done",amNames
:["AM","A"],pmNames
:["PM","P"],timeFormat
:"HH:mm",timeSuffix
:"",timeOnlyTitle
:"Choose Time",timeText
:"Time",hourText
:"Hour",minuteText
:"Minute",secondText
:"Second",millisecText
:"Millisecond",microsecText
:"Microsecond",timezoneText
:"Time Zone",isRTL
:!1},this._defaults
={showButtonPanel
:!0,timeOnly
:!1,timeOnlyShowDate
:!1,showHour
:null,showMinute
:null,showSecond
:null,showMillisec
:null,showMicrosec
:null,showTimezone
:null,showTime
:!0,stepHour
:1,stepMinute
:1,stepSecond
:1,stepMillisec
:1,stepMicrosec
:1,hour
:0,minute
:0,second
:0,millisec
:0,microsec
:0,timezone
:null,hourMin
:0,minuteMin
:0,secondMin
:0,millisecMin
:0,microsecMin
:0,hourMax
:23,minuteMax
:59,secondMax
:59,millisecMax
:999,microsecMax
:999,minDateTime
:null,maxDateTime
:null,maxTime
:null,minTime
:null,onSelect
:null,hourGrid
:0,minuteGrid
:0,secondGrid
:0,millisecGrid
:0,microsecGrid
:0,alwaysSetTime
:!0,separator
:" ",altFieldTimeOnly
:!0,altTimeFormat
:null,altSeparator
:null,altTimeSuffix
:null,altRedirectFocus
:!0,pickerTimeFormat
:null,pickerTimeSuffix
:null,showTimepicker
:!0,timezoneList
:null,addSliderAccess
:!1,sliderAccessArgs
:null,controlType
:"slider",defaultValue
:null,parse
:"strict"},$.extend(this._defaults
,this.regional
[""])};$.extend(Timepicker
.prototype,{$input
:null,$altInput
:null,$timeObj
:null,inst
:null,hour_slider
:null,minute_slider
:null,second_slider
:null,millisec_slider
:null,microsec_slider
:null,timezone_select
:null,maxTime
:null,minTime
:null,hour
:0,minute
:0,second
:0,millisec
:0,microsec
:0,timezone
:null,hourMinOriginal
:null,minuteMinOriginal
:null,secondMinOriginal
:null,millisecMinOriginal
:null,microsecMinOriginal
:null,hourMaxOriginal
:null,minuteMaxOriginal
:null,secondMaxOriginal
:null,millisecMaxOriginal
:null,microsecMaxOriginal
:null,ampm
:"",formattedDate
:"",formattedTime
:"",formattedDateTime
:"",timezoneList
:null,units
:["hour","minute","second"],support
:{},control
:null,setDefaults:function(e
){return extendRemove(this._defaults
,e
||{}),this},_newInst:function($input
,opts
){var tp_inst
=new Timepicker
,inlineSettings
={},fns
={},overrides
,i
;for(var attrName
in this._defaults
)if(this._defaults
.hasOwnProperty(attrName
)){var attrValue
=$input
.attr("time:"+attrName
);if(attrValue
)try{inlineSettings
[attrName
]=eval(attrValue
)}catch(err
){inlineSettings
[attrName
]=attrValue
}}overrides
={beforeShow:function(e
,t
){return $.isFunction(tp_inst
._defaults
.evnts
.beforeShow
)?tp_inst
._defaults
.evnts
.beforeShow
.call($input
[0],e
,t
,tp_inst
):void 0},onChangeMonthYear:function(e
,t
,i
){tp_inst
._updateDateTime(i
),$.isFunction(tp_inst
._defaults
.evnts
.onChangeMonthYear
)&&tp_inst
._defaults
.evnts
.onChangeMonthYear
.call($input
[0],e
,t
,i
,tp_inst
)},onClose:function(e
,t
){tp_inst
.timeDefined
===!0&&""!==$input
.val()&&tp_inst
._updateDateTime(t
),$.isFunction(tp_inst
._defaults
.evnts
.onClose
)&&tp_inst
._defaults
.evnts
.onClose
.call($input
[0],e
,t
,tp_inst
)}};for(i
in overrides
)overrides
.hasOwnProperty(i
)&&(fns
[i
]=opts
[i
]||null);tp_inst
._defaults
=$.extend({},this._defaults
,inlineSettings
,opts
,overrides
,{evnts
:fns
,timepicker
:tp_inst
}),tp_inst
.amNames
=$.map(tp_inst
._defaults
.amNames
,function(e
){return e
.toUpperCase()}),tp_inst
.pmNames
=$.map(tp_inst
._defaults
.pmNames
,function(e
){return e
.toUpperCase()}),tp_inst
.support
=detectSupport(tp_inst
._defaults
.timeFormat
+(tp_inst
._defaults
.pickerTimeFormat
?tp_inst
._defaults
.pickerTimeFormat
:"")+(tp_inst
._defaults
.altTimeFormat
?tp_inst
._defaults
.altTimeFormat
:"")),"string"==typeof tp_inst
._defaults
.controlType
?("slider"===tp_inst
._defaults
.controlType
&&$.ui
.slider
===void 0&&(tp_inst
._defaults
.controlType
="select"),tp_inst
.control
=tp_inst
._controls
[tp_inst
._defaults
.controlType
]):tp_inst
.control
=tp_inst
._defaults
.controlType
;var timezoneList
=[-720,-660,-600,-570,-540,-480,-420,-360,-300,-270,-240,-210,-180,-120,-60,0,60,120,180,210,240,270,300,330,345,360,390,420,480,525,540,570,600,630,660,690,720,765,780,840];null!==tp_inst
._defaults
.timezoneList
&&(timezoneList
=tp_inst
._defaults
.timezoneList
);var tzl
=timezoneList
.length
,tzi
=0,tzv
=null;if(tzl
>0&&"object"!=typeof timezoneList
[0])for(;tzl
>tzi
;tzi
++)tzv
=timezoneList
[tzi
],timezoneList
[tzi
]={value
:tzv
,label
:$.timepicker
.timezoneOffsetString(tzv
,tp_inst
.support
.iso8601
)};return tp_inst
._defaults
.timezoneList
=timezoneList
,tp_inst
.timezone
=null!==tp_inst
._defaults
.timezone
?$.timepicker
.timezoneOffsetNumber(tp_inst
._defaults
.timezone
):-1*(new Date
).getTimezoneOffset(),tp_inst
.hour
=tp_inst
._defaults
.hour
<tp_inst
._defaults
.hourMin
?tp_inst
._defaults
.hourMin
:tp_inst
._defaults
.hour
>tp_inst
._defaults
.hourMax
?tp_inst
._defaults
.hourMax
:tp_inst
._defaults
.hour
,tp_inst
.minute
=tp_inst
._defaults
.minute
<tp_inst
._defaults
.minuteMin
?tp_inst
._defaults
.minuteMin
:tp_inst
._defaults
.minute
>tp_inst
._defaults
.minuteMax
?tp_inst
._defaults
.minuteMax
:tp_inst
._defaults
.minute
,tp_inst
.second
=tp_inst
._defaults
.second
<tp_inst
._defaults
.secondMin
?tp_inst
._defaults
.secondMin
:tp_inst
._defaults
.second
>tp_inst
._defaults
.secondMax
?tp_inst
._defaults
.secondMax
:tp_inst
._defaults
.second
,tp_inst
.millisec
=tp_inst
._defaults
.millisec
<tp_inst
._defaults
.millisecMin
?tp_inst
._defaults
.millisecMin
:tp_inst
._defaults
.millisec
>tp_inst
._defaults
.millisecMax
?tp_inst
._defaults
.millisecMax
:tp_inst
._defaults
.millisec
,tp_inst
.microsec
=tp_inst
._defaults
.microsec
<tp_inst
._defaults
.microsecMin
?tp_inst
._defaults
.microsecMin
:tp_inst
._defaults
.microsec
>tp_inst
._defaults
.microsecMax
?tp_inst
._defaults
.microsecMax
:tp_inst
._defaults
.microsec
,tp_inst
.ampm
="",tp_inst
.$input
=$input
,tp_inst
._defaults
.altField
&&(tp_inst
.$altInput
=$(tp_inst
._defaults
.altField
),tp_inst
._defaults
.altRedirectFocus
===!0&&tp_inst
.$altInput
.css({cursor
:"pointer"}).focus(function(){$input
.trigger("focus")})),(0===tp_inst
._defaults
.minDate
||0===tp_inst
._defaults
.minDateTime
)&&(tp_inst
._defaults
.minDate
=new Date
),(0===tp_inst
._defaults
.maxDate
||0===tp_inst
._defaults
.maxDateTime
)&&(tp_inst
._defaults
.maxDate
=new Date
),void 0!==tp_inst
._defaults
.minDate
&&tp_inst
._defaults
.minDate
instanceof Date
&&(tp_inst
._defaults
.minDateTime
=new Date(tp_inst
._defaults
.minDate
.getTime())),void 0!==tp_inst
._defaults
.minDateTime
&&tp_inst
._defaults
.minDateTime
instanceof Date
&&(tp_inst
._defaults
.minDate
=new Date(tp_inst
._defaults
.minDateTime
.getTime())),void 0!==tp_inst
._defaults
.maxDate
&&tp_inst
._defaults
.maxDate
instanceof Date
&&(tp_inst
._defaults
.maxDateTime
=new Date(tp_inst
._defaults
.maxDate
.getTime())),void 0!==tp_inst
._defaults
.maxDateTime
&&tp_inst
._defaults
.maxDateTime
instanceof Date
&&(tp_inst
._defaults
.maxDate
=new Date(tp_inst
._defaults
.maxDateTime
.getTime())),tp_inst
.$input
.bind("focus",function(){tp_inst
._onFocus()}),tp_inst
},_addTimePicker:function(e
){var t
=this.$altInput
&&this._defaults
.altFieldTimeOnly
?this.$input
.val()+" "+this.$altInput
.val():this.$input
.val();this.timeDefined
=this._parseTime(t
),this._limitMinMaxDateTime(e
,!1),this._injectTimePicker()},_parseTime:function(e
,t
){if(this.inst
||(this.inst
=$.datepicker
._getInst(this.$input
[0])),t
||!this._defaults
.timeOnly
){var i
=$.datepicker
._get(this.inst
,"dateFormat");try{var s
=parseDateTimeInternal(i
,this._defaults
.timeFormat
,e
,$.datepicker
._getFormatConfig(this.inst
),this._defaults
);if(!s
.timeObj
)return!1;$.extend(this,s
.timeObj
)}catch(a
){return $.timepicker
.log("Error parsing the date/time string: "+a
+"\ndate/time string = "+e
+"\ntimeFormat = "+this._defaults
.timeFormat
+"\ndateFormat = "+i
),!1}return!0}var n
=$.datepicker
.parseTime(this._defaults
.timeFormat
,e
,this._defaults
);return n
?($.extend(this,n
),!0):!1},_injectTimePicker:function(){var e
=this.inst
.dpDiv
,t
=this.inst
.settings
,i
=this,s
="",a
="",n
=null,r
={},l
={},o
=null,c
=0,u
=0;if(0===e
.find("div.ui-timepicker-div").length
&&t
.showTimepicker
){var m
=' style="display:none;"',d
='<div class="ui-timepicker-div'+(t
.isRTL
?" ui-timepicker-rtl":"")+'"><dl>'+'<dt class="ui_tpicker_time_label"'+(t
.showTime
?"":m
)+">"+t
.timeText
+"</dt>"+'<dd class="ui_tpicker_time"'+(t
.showTime
?"":m
)+"></dd>";for(c
=0,u
=this.units
.length
;u
>c
;c
++){if(s
=this.units
[c
],a
=s
.substr(0,1).toUpperCase()+s
.substr(1),n
=null!==t
["show"+a
]?t
["show"+a
]:this.support
[s
],r
[s
]=parseInt(t
[s
+"Max"]-(t
[s
+"Max"]-t
[s
+"Min"])%t
["step"+a
],10),l
[s
]=0,d
+='<dt class="ui_tpicker_'+s
+'_label"'+(n
?"":m
)+">"+t
[s
+"Text"]+"</dt>"+'<dd class="ui_tpicker_'+s
+'"><div class="ui_tpicker_'+s
+'_slider"'+(n
?"":m
)+"></div>",n
&&t
[s
+"Grid"]>0){if(d
+='<div style="padding-left: 1px"><table class="ui-tpicker-grid-label"><tr>',"hour"===s
)for(var h
=t
[s
+"Min"];r
[s
]>=h
;h
+=parseInt(t
[s
+"Grid"],10)){l
[s
]++;var p
=$.datepicker
.formatTime(this.support
.ampm
?"hht":"HH",{hour
:h
},t
);d
+='<td data-for="'+s
+'">'+p
+"</td>"}else for(var _
=t
[s
+"Min"];r
[s
]>=_
;_
+=parseInt(t
[s
+"Grid"],10))l
[s
]++,d
+='<td data-for="'+s
+'">'+(10>_
?"0":"")+_
+"</td>";d
+="</tr></table></div>"}d
+="</dd>"}var f
=null!==t
.showTimezone
?t
.showTimezone
:this.support
.timezone
;d
+='<dt class="ui_tpicker_timezone_label"'+(f
?"":m
)+">"+t
.timezoneText
+"</dt>",d
+='<dd class="ui_tpicker_timezone" '+(f
?"":m
)+"></dd>",d
+="</dl></div>";var g
=$(d
);for(t
.timeOnly
===!0&&(g
.prepend('<div class="ui-widget-header ui-helper-clearfix ui-corner-all"><div class="ui-datepicker-title">'+t
.timeOnlyTitle
+"</div>"+"</div>"),e
.find(".ui-datepicker-header, .ui-datepicker-calendar").hide()),c
=0,u
=i
.units
.length
;u
>c
;c
++)s
=i
.units
[c
],a
=s
.substr(0,1).toUpperCase()+s
.substr(1),n
=null!==t
["show"+a
]?t
["show"+a
]:this.support
[s
],i
[s
+"_slider"]=i
.control
.create(i
,g
.find(".ui_tpicker_"+s
+"_slider"),s
,i
[s
],t
[s
+"Min"],r
[s
],t
["step"+a
]),n
&&t
[s
+"Grid"]>0&&(o
=100*l
[s
]*t
[s
+"Grid"]/(r[s]-t[s+"Min"]),g.find(".ui_tpicker_"+s+" table").css({width:o+"%",marginLeft:t.isRTL?"0":o/(-2*l
[s
])+"%",marginRight
:t
.isRTL
?o
/(-2*l[s])+"%":"0",borderCollapse:"collapse"}).find("td").click(function(){var e=$(this),t=e.html(),a=parseInt(t.replace(/[^0-9]/g),10),n=t.replace(/[^apm
]/gi),r=e.data("for");"hour"===r&&(-1!==n.indexOf("p")&&12>a?a+=12:-1!==n.indexOf("a")&&12===a&&(a=0)),i.control.value(i,i[r+"_slider"],s,a),i._onTimeChange(),i._onSelectHandler()}).css({cursor:"pointer",width:100/l[s
]+"%",textAlign
:"center",overflow
:"hidden"}));if(this.timezone_select
=g
.find(".ui_tpicker_timezone").append("<select></select>").find("select"),$.fn
.append
.apply(this.timezone_select
,$.map(t
.timezoneList
,function(e
){return $("<option />").val("object"==typeof e
?e
.value
:e
).text("object"==typeof e
?e
.label
:e
)})),this.timezone
!==void 0&&null!==this.timezone
&&""!==this.timezone
){var M
=-1*new Date(this.inst
.selectedYear
,this.inst
.selectedMonth
,this.inst
.selectedDay
,12).getTimezoneOffset();M
===this.timezone
?selectLocalTimezone(i
):this.timezone_select
.val(this.timezone
)}else this.hour
!==void 0&&null!==this.hour
&&""!==this.hour
?this.timezone_select
.val(t
.timezone
):selectLocalTimezone(i
);this.timezone_select
.change(function(){i
._onTimeChange(),i
._onSelectHandler()});var v
=e
.find(".ui-datepicker-buttonpane");if(v
.length
?v
.before(g
):e
.append(g
),this.$timeObj
=g
.find(".ui_tpicker_time"),null!==this.inst
){var k
=this.timeDefined
;this._onTimeChange(),this.timeDefined
=k
}if(this._defaults
.addSliderAccess
){var T
=this._defaults
.sliderAccessArgs
,D
=this._defaults
.isRTL
;T
.isRTL
=D
,setTimeout(function(){if(0===g
.find(".ui-slider-access").length
){g
.find(".ui-slider:visible").sliderAccess(T
);var e
=g
.find(".ui-slider-access:eq(0)").outerWidth(!0);e
&&g
.find("table:visible").each(function(){var t
=$(this),i
=t
.outerWidth(),s
=(""+t
.css(D
?"marginRight":"marginLeft")).replace("%",""),a
=i
-e
,n
=s
*a
/i+"%",r={width:a,marginRight:0,marginLeft:0};r[D?"marginRight":"marginLeft"]=n,t.css(r)})}},10)}i._limitMinMaxDateTime(this.inst,!0)}},_limitMinMaxDateTime:function(e,t){var i=this._defaults,s=new Date(e.selectedYear,e.selectedMonth,e.selectedDay);if(this._defaults.showTimepicker){if(null!==$.datepicker._get(e,"minDateTime")&&void 0!==$.datepicker._get(e,"minDateTime")&&s){var a=$.datepicker._get(e,"minDateTime"),n=new Date(a.getFullYear(),a.getMonth(),a.getDate(),0,0,0,0);(null===this.hourMinOriginal||null===this.minuteMinOriginal||null===this.secondMinOriginal||null===this.millisecMinOriginal||null===this.microsecMinOriginal)&&(this.hourMinOriginal=i.hourMin,this.minuteMinOriginal=i.minuteMin,this.secondMinOriginal=i.secondMin,this.millisecMinOriginal=i.millisecMin,this.microsecMinOriginal=i.microsecMin),e.settings.timeOnly||n.getTime()===s.getTime()?(this._defaults.hourMin=a.getHours(),this.hour<=this._defaults.hourMin?(this.hour=this._defaults.hourMin,this._defaults.minuteMin=a.getMinutes(),this.minute<=this._defaults.minuteMin?(this.minute=this._defaults.minuteMin,this._defaults.secondMin=a.getSeconds(),this.second<=this._defaults.secondMin?(this.second=this._defaults.secondMin,this._defaults.millisecMin=a.getMilliseconds(),this.millisec<=this._defaults.millisecMin?(this.millisec=this._defaults.millisecMin,this._defaults.microsecMin=a.getMicroseconds()):(this.microsec<this._defaults.microsecMin&&(this.microsec=this._defaults.microsecMin),this._defaults.microsecMin=this.microsecMinOriginal)):(this._defaults.millisecMin=this.millisecMinOriginal,this._defaults.microsecMin=this.microsecMinOriginal)):(this._defaults.secondMin=this.secondMinOriginal,this._defaults.millisecMin=this.millisecMinOriginal,this._defaults.microsecMin=this.microsecMinOriginal)):(this._defaults.minuteMin=this.minuteMinOriginal,this._defaults.secondMin=this.secondMinOriginal,this._defaults.millisecMin=this.millisecMinOriginal,this._defaults.microsecMin=this.microsecMinOriginal)):(this._defaults.hourMin=this.hourMinOriginal,this._defaults.minuteMin=this.minuteMinOriginal,this._defaults.secondMin=this.secondMinOriginal,this._defaults.millisecMin=this.millisecMinOriginal,this._defaults.microsecMin=this.microsecMinOriginal)}if(null!==$.datepicker._get(e,"maxDateTime")&&void 0!==$.datepicker._get(e,"maxDateTime")&&s){var r=$.datepicker._get(e,"maxDateTime"),l=new Date(r.getFullYear(),r.getMonth(),r.getDate(),0,0,0,0);(null===this.hourMaxOriginal||null===this.minuteMaxOriginal||null===this.secondMaxOriginal||null===this.millisecMaxOriginal)&&(this.hourMaxOriginal=i.hourMax,this.minuteMaxOriginal=i.minuteMax,this.secondMaxOriginal=i.secondMax,this.millisecMaxOriginal=i.millisecMax,this.microsecMaxOriginal=i.microsecMax),e.settings.timeOnly||l.getTime()===s.getTime()?(this._defaults.hourMax=r.getHours(),this.hour>=this._defaults.hourMax?(this.hour=this._defaults.hourMax,this._defaults.minuteMax=r.getMinutes(),this.minute>=this._defaults.minuteMax?(this.minute=this._defaults.minuteMax,this._defaults.secondMax=r.getSeconds(),this.second>=this._defaults.secondMax?(this.second=this._defaults.secondMax,this._defaults.millisecMax=r.getMilliseconds(),this.millisec>=this._defaults.millisecMax?(this.millisec=this._defaults.millisecMax,this._defaults.microsecMax=r.getMicroseconds()):(this.microsec>this._defaults.microsecMax&&(this.microsec=this._defaults.microsecMax),this._defaults.microsecMax=this.microsecMaxOriginal)):(this._defaults.millisecMax=this.millisecMaxOriginal,this._defaults.microsecMax=this.microsecMaxOriginal)):(this._defaults.secondMax=this.secondMaxOriginal,this._defaults.millisecMax=this.millisecMaxOriginal,this._defaults.microsecMax=this.microsecMaxOriginal)):(this._defaults.minuteMax=this.minuteMaxOriginal,this._defaults.secondMax=this.secondMaxOriginal,this._defaults.millisecMax=this.millisecMaxOriginal,this._defaults.microsecMax=this.microsecMaxOriginal)):(this._defaults.hourMax=this.hourMaxOriginal,this._defaults.minuteMax=this.minuteMaxOriginal,this._defaults.secondMax=this.secondMaxOriginal,this._defaults.millisecMax=this.millisecMaxOriginal,this._defaults.microsecMax=this.microsecMaxOriginal)}if(null!==e.settings.minTime){var o=new Date("01/01/1970 "+e.settings.minTime);this.hour<o.getHours()?(this.hour=this._defaults.hourMin=o.getHours(),this.minute=this._defaults.minuteMin=o.getMinutes()):this.hour===o.getHours()&&this.minute<o.getMinutes()?this.minute=this._defaults.minuteMin=o.getMinutes():this._defaults.hourMin<o.getHours()?(this._defaults.hourMin=o.getHours(),this._defaults.minuteMin=o.getMinutes()):this._defaults.minuteMin=this._defaults.hourMin===o.getHours()===this.hour&&this._defaults.minuteMin<o.getMinutes()?o.getMinutes():0}if(null!==e.settings.maxTime){var c=new Date("01/01/1970 "+e.settings.maxTime);this.hour>c.getHours()?(this.hour=this._defaults.hourMax=c.getHours(),this.minute=this._defaults.minuteMax=c.getMinutes()):this.hour===c.getHours()&&this.minute>c.getMinutes()?this.minute=this._defaults.minuteMax=c.getMinutes():this._defaults.hourMax>c.getHours()?(this._defaults.hourMax=c.getHours(),this._defaults.minuteMax=c.getMinutes()):this._defaults.minuteMax=this._defaults.hourMax===c.getHours()===this.hour&&this._defaults.minuteMax>c.getMinutes()?c.getMinutes():59}if(void 0!==t&&t===!0){var u=parseInt(this._defaults.hourMax-(this._defaults.hourMax-this._defaults.hourMin)%this._defaults.stepHour,10),m=parseInt(this._defaults.minuteMax-(this._defaults.minuteMax-this._defaults.minuteMin)%this._defaults.stepMinute,10),d=parseInt(this._defaults.secondMax-(this._defaults.secondMax-this._defaults.secondMin)%this._defaults.stepSecond,10),h=parseInt(this._defaults.millisecMax-(this._defaults.millisecMax-this._defaults.millisecMin)%this._defaults.stepMillisec,10),p=parseInt(this._defaults.microsecMax-(this._defaults.microsecMax-this._defaults.microsecMin)%this._defaults.stepMicrosec,10);this.hour_slider&&(this.control.options(this,this.hour_slider,"hour",{min:this._defaults.hourMin,max:u,step:this._defaults.stepHour}),this.control.value(this,this.hour_slider,"hour",this.hour-this.hour%this._defaults.stepHour)),this.minute_slider&&(this.control.options(this,this.minute_slider,"minute",{min:this._defaults.minuteMin,max:m,step:this._defaults.stepMinute}),this.control.value(this,this.minute_slider,"minute",this.minute-this.minute%this._defaults.stepMinute)),this.second_slider&&(this.control.options(this,this.second_slider,"second",{min:this._defaults.secondMin,max:d,step:this._defaults.stepSecond}),this.control.value(this,this.second_slider,"second",this.second-this.second%this._defaults.stepSecond)),this.millisec_slider&&(this.control.options(this,this.millisec_slider,"millisec",{min:this._defaults.millisecMin,max:h,step:this._defaults.stepMillisec}),this.control.value(this,this.millisec_slider,"millisec",this.millisec-this.millisec%this._defaults.stepMillisec)),this.microsec_slider&&(this.control.options(this,this.microsec_slider,"microsec",{min:this._defaults.microsecMin,max:p,step:this._defaults.stepMicrosec}),this.control.value(this,this.microsec_slider,"microsec",this.microsec-this.microsec%this._defaults.stepMicrosec))}}},_onTimeChange:function(){if(this._defaults.showTimepicker){var e=this.hour_slider?this.control.value(this,this.hour_slider,"hour"):!1,t=this.minute_slider?this.control.value(this,this.minute_slider,"minute"):!1,i=this.second_slider?this.control.value(this,this.second_slider,"second"):!1,s=this.millisec_slider?this.control.value(this,this.millisec_slider,"millisec"):!1,a=this.microsec_slider?this.control.value(this,this.microsec_slider,"microsec"):!1,n=this.timezone_select?this.timezone_select.val():!1,r=this._defaults,l=r.pickerTimeFormat||r.timeFormat,o=r.pickerTimeSuffix||r.timeSuffix;"object"==typeof e&&(e=!1),"object"==typeof t&&(t=!1),"object"==typeof i&&(i=!1),"object"==typeof s&&(s=!1),"object"==typeof a&&(a=!1),"object"==typeof n&&(n=!1),e!==!1&&(e=parseInt(e,10)),t!==!1&&(t=parseInt(t,10)),i!==!1&&(i=parseInt(i,10)),s!==!1&&(s=parseInt(s,10)),a!==!1&&(a=parseInt(a,10)),n!==!1&&(n=""+n);var c=r[12>e?"amNames":"pmNames"][0],u=e!==parseInt(this.hour,10)||t!==parseInt(this.minute,10)||i!==parseInt(this.second,10)||s!==parseInt(this.millisec,10)||a!==parseInt(this.microsec,10)||this.ampm.length>0&&12>e!=(-1!==$.inArray(this.ampm.toUpperCase(),this.amNames))||null!==this.timezone&&n!==""+this.timezone;u&&(e!==!1&&(this.hour=e),t!==!1&&(this.minute=t),i!==!1&&(this.second=i),s!==!1&&(this.millisec=s),a!==!1&&(this.microsec=a),n!==!1&&(this.timezone=n),this.inst||(this.inst=$.datepicker._getInst(this.$input[0])),this._limitMinMaxDateTime(this.inst,!0)),this.support.ampm&&(this.ampm=c),this.formattedTime=$.datepicker.formatTime(r.timeFormat,this,r),this.$timeObj&&(l===r.timeFormat?this.$timeObj.text(this.formattedTime+o):this.$timeObj.text($.datepicker.formatTime(l,this,r)+o)),this.timeDefined=!0,u&&this._updateDateTime()}},_onSelectHandler:function(){var e=this._defaults.onSelect||this.inst.settings.onSelect,t=this.$input?this.$input[0]:null;e&&t&&e.apply(t,[this.formattedDateTime,this])},_updateDateTime:function(e){e=this.inst||e;var t=e.currentYear>0?new Date(e.currentYear,e.currentMonth,e.currentDay):new Date(e.selectedYear,e.selectedMonth,e.selectedDay),i=$.datepicker._daylightSavingAdjust(t),s=$.datepicker._get(e,"dateFormat"),a=$.datepicker._getFormatConfig(e),n=null!==i&&this.timeDefined;this.formattedDate=$.datepicker.formatDate(s,null===i?new Date:i,a);var r=this.formattedDate;if(""===e.lastVal&&(e.currentYear=e.selectedYear,e.currentMonth=e.selectedMonth,e.currentDay=e.selectedDay),this._defaults.timeOnly===!0&&this._defaults.timeOnlyShowDate===!1?r=this.formattedTime:(this._defaults.timeOnly!==!0&&(this._defaults.alwaysSetTime||n)||this._defaults.timeOnly===!0&&this._defaults.timeOnlyShowDate===!0)&&(r+=this._defaults.separator+this.formattedTime+this._defaults.timeSuffix),this.formattedDateTime=r,this._defaults.showTimepicker)if(this.$altInput&&this._defaults.timeOnly===!1&&this._defaults.altFieldTimeOnly===!0)this.$altInput.val(this.formattedTime),this.$input.val(this.formattedDate);else if(this.$altInput){this.$input.val(r);var l="",o=null!==this._defaults.altSeparator?this._defaults.altSeparator:this._defaults.separator,c=null!==this._defaults.altTimeSuffix?this._defaults.altTimeSuffix:this._defaults.timeSuffix;this._defaults.timeOnly||(l=this._defaults.altFormat?$.datepicker.formatDate(this._defaults.altFormat,null===i?new Date:i,a):this.formattedDate,l&&(l+=o)),l+=null!==this._defaults.altTimeFormat?$.datepicker.formatTime(this._defaults.altTimeFormat,this,this._defaults)+c:this.formattedTime+c,this.$altInput.val(l)}else this.$input.val(r);else this.$input.val(this.formattedDate);this.$input.trigger("change")},_onFocus:function(){if(!this.$input.val()&&this._defaults.defaultValue){this.$input.val(this._defaults.defaultValue);var e=$.datepicker._getInst(this.$input.get(0)),t=$.datepicker._get(e,"timepicker");if(t&&t._defaults.timeOnly&&e.input.val()!==e.lastVal)try{$.datepicker._updateDatepicker(e)}catch(i){$.timepicker.log(i)}}},_controls:{slider:{create:function(e,t,i,s,a,n,r){var l=e._defaults.isRTL;return t.prop("slide",null).slider({orientation:"horizontal",value:l?-1*s:s,min:l?-1*n:a,max:l?-1*a:n,step:r,slide:function(t,s){e.control.value(e,$(this),i,l?-1*s.value:s.value),e._onTimeChange()},stop:function(){e._onSelectHandler()}})},options:function(e,t,i,s,a){if(e._defaults.isRTL){if("string"==typeof s)return"min"===s||"max"===s?void 0!==a?t.slider(s,-1*a):Math.abs(t.slider(s)):t.slider(s);var n=s.min,r=s.max;return s.min=s.max=null,void 0!==n&&(s.max=-1*n),void 0!==r&&(s.min=-1*r),t.slider(s)}return"string"==typeof s&&void 0!==a?t.slider(s,a):t.slider(s)},value:function(e,t,i,s){return e._defaults.isRTL?void 0!==s?t.slider("value",-1*s):Math.abs(t.slider("value")):void 0!==s?t.slider("value",s):t.slider("value")}},select:{create:function(e,t,i,s,a,n,r){for(var l='<select class="ui-timepicker-select" data-unit="'+i+'" data-min="'+a+'" data-max="'+n+'" data-step="'+r+'">',o=e._defaults.pickerTimeFormat||e._defaults.timeFormat,c=a;n>=c;c+=r)l+='<option value="'+c+'"'+(c===s?" selected":"")+">",l+="hour"===i?$.datepicker.formatTime($.trim(o.replace(/[^ht
]/gi,"")),{hour:c},e._defaults):"millisec"===i||"microsec"===i||c>=10?c:"0"+(""+c),l+="</option>";return l+="</select>",t.children("select").remove(),$(l).appendTo(t).change(function(){e._onTimeChange(),e._onSelectHandler()}),t},options:function(e,t,i,s,a){var n={},r=t.children("select");if("string"==typeof s){if(void 0===a)return r.data(s);n[s]=a}else n=s;return e.control.create(e,t,r.data("unit"),r.val(),n.min||r.data("min"),n.max||r.data("max"),n.step||r.data("step"))},value:function(e,t,i,s){var a=t.children("select");return void 0!==s?a.val(s):a.val()}}}}),$.fn.extend({timepicker:function(e){e=e||{};var t=Array.prototype.slice.call(arguments);return"object"==typeof e&&(t[0]=$.extend(e,{timeOnly:!0})),$(this).each(function(){$.fn.datetimepicker.apply($(this),t)})},datetimepicker:function(e){e=e||{};var t=arguments;return"string"==typeof e?"getDate"===e||"option"===e&&2===t.length&&"string"==typeof t[1]?$.fn.datepicker.apply($(this[0]),t):this.each(function(){var e=$(this);e.datepicker.apply(e,t)}):this.each(function(){var t=$(this);t.datepicker($.timepicker._newInst(t,e)._defaults)})}}),$.datepicker.parseDateTime=function(e,t,i,s,a){var n=parseDateTimeInternal(e,t,i,s,a);if(n.timeObj){var r=n.timeObj;n.date.setHours(r.hour,r.minute,r.second,r.millisec),n.date.setMicroseconds(r.microsec)}return n.date},$.datepicker.parseTime=function(e,t,i){var s=extendRemove(extendRemove({},$.timepicker._defaults),i||{});-1!==e.replace(/\'.*?\'/g,"").indexOf("Z");var a=function(e,t,i){var s,a=function(e,t){var i=[];return e&&$.merge(i,e),t&&$.merge(i,t),i=$.map(i,function(e){return e.replace(/[.*+?|()\[\]{}\\]/g,"\\$&")}),"("+i.join("|")+")?"},n=function(e){var t=e.toLowerCase().match(/(h
{1,2}|m
{1,2}|s
{1,2}|l
{1}|c
{1}|t
{1,2}|z
|'.*?')/g),i={h:-1,m:-1,s:-1,l:-1,c:-1,t:-1,z:-1};if(t)for(var s=0;t.length>s;s++)-1===i[(""+t[s]).charAt(0)]&&(i[(""+t[s]).charAt(0)]=s+1);return i},r="^"+(""+e).replace(/([hH
]{1,2}|mm
?|ss
?|[tT
]{1,2}|[zZ
]|[lc
]|'.*?')/g,function(e){var t=e.length;switch(e.charAt(0).toLowerCase()){case"h":return 1===t?"(\\d?\\d)":"(\\d{"+t+"})";case"m":return 1===t?"(\\d?\\d)":"(\\d{"+t+"})";case"s":return 1===t?"(\\d?\\d)":"(\\d{"+t+"})";case"l":return"(\\d?\\d?\\d)";case"c":return"(\\d?\\d?\\d)";case"z":return"(z|[-+]\\d\\d:?\\d\\d|\\S+)?";case"t":return a(i.amNames,i.pmNames);default:return"("+e.replace(/\'/g,"").replace(/(\.|\$|\^|\\|\/|\(|\)|\[|\]|\?|\+|\*)/g,function(e
){return"\\"+e
})+")?"}}).replace(/\s/g,"\\s?")+i
.timeSuffix
+"$",l
=n(e
),o
="";s
=t
.match(RegExp(r
,"i"));var c
={hour
:0,minute
:0,second
:0,millisec
:0,microsec
:0};return s
?(-1!==l
.t
&&(void 0===s
[l
.t
]||0===s
[l
.t
].length
?(o
="",c
.ampm
=""):(o
=-1!==$.inArray(s
[l
.t
].toUpperCase(),i
.amNames
)?"AM":"PM",c
.ampm
=i
["AM"===o
?"amNames":"pmNames"][0])),-1!==l
.h
&&(c
.hour
="AM"===o
&&"12"===s
[l
.h
]?0:"PM"===o
&&"12"!==s
[l
.h
]?parseInt(s
[l
.h
],10)+12:Number(s
[l
.h
])),-1!==l
.m
&&(c
.minute
=Number(s
[l
.m
])),-1!==l
.s
&&(c
.second
=Number(s
[l
.s
])),-1!==l
.l
&&(c
.millisec
=Number(s
[l
.l
])),-1!==l
.c
&&(c
.microsec
=Number(s
[l
.c
])),-1!==l
.z
&&void 0!==s
[l
.z
]&&(c
.timezone
=$.timepicker
.timezoneOffsetNumber(s
[l
.z
])),c
):!1},n=function(e
,t
,i
){try{var s
=new Date("2012-01-01 "+t
);if(isNaN(s
.getTime())&&(s
=new Date("2012-01-01T"+t
),isNaN(s
.getTime())&&(s
=new Date("01/01/2012 "+t
),isNaN(s
.getTime()))))throw"Unable to parse time with native Date: "+t
;return{hour
:s
.getHours(),minute
:s
.getMinutes(),second
:s
.getSeconds(),millisec
:s
.getMilliseconds(),microsec
:s
.getMicroseconds(),timezone
:-1*s
.getTimezoneOffset()}}catch(n
){try{return a(e
,t
,i
)}catch(r
){$.timepicker
.log("Unable to parse \ntimeString: "+t
+"\ntimeFormat: "+e
)}}return!1};return"function"==typeof s
.parse
?s
.parse(e
,t
,s
):"loose"===s
.parse
?n(e
,t
,s
):a(e
,t
,s
)},$.datepicker
.formatTime=function(e
,t
,i
){i
=i
||{},i
=$.extend({},$.timepicker
._defaults
,i
),t
=$.extend({hour
:0,minute
:0,second
:0,millisec
:0,microsec
:0,timezone
:null},t
);var s
=e
,a
=i
.amNames
[0],n
=parseInt(t
.hour
,10);return n
>11&&(a
=i
.pmNames
[0]),s
=s
.replace(/(?:HH?|hh?|mm?|ss?|[tT]{1,2}|[zZ]|[lc]|'.*?')/g,function(e
){switch(e
){case"HH":return("0"+n
).slice(-2);case"H":return n
;case"hh":return("0"+convert24to12(n
)).slice(-2);case"h":return convert24to12(n
);case"mm":return("0"+t
.minute
).slice(-2);case"m":return t
.minute
;case"ss":return("0"+t
.second
).slice(-2);case"s":return t
.second
;case"l":return("00"+t
.millisec
).slice(-3);case"c":return("00"+t
.microsec
).slice(-3);case"z":return $.timepicker
.timezoneOffsetString(null===t
.timezone
?i
.timezone
:t
.timezone
,!1);case"Z":return $.timepicker
.timezoneOffsetString(null===t
.timezone
?i
.timezone
:t
.timezone
,!0);case"T":return a
.charAt(0).toUpperCase();case"TT":return a
.toUpperCase();case"t":return a
.charAt(0).toLowerCase();case"tt":return a
.toLowerCase();default:return e
.replace(/'/g,"")}})},$.datepicker._base_selectDate=$.datepicker._selectDate,$.datepicker._selectDate=function(e,t){var i=this._getInst($(e)[0]),s=this._get(i,"timepicker");s&&i.settings.showTimepicker?(s._limitMinMaxDateTime(i,!0),i.inline=i.stay_open=!0,this._base_selectDate(e,t),i.inline=i.stay_open=!1,this._notifyChange(i),this._updateDatepicker(i)):this._base_selectDate(e,t)},$.datepicker._base_updateDatepicker=$.datepicker._updateDatepicker,$.datepicker._updateDatepicker=function(e){var t=e.input[0];if(!($.datepicker._curInst&&$.datepicker._curInst!==e&&$.datepicker._datepickerShowing&&$.datepicker._lastInput!==t||"boolean"==typeof e.stay_open&&e.stay_open!==!1)){this._base_updateDatepicker(e);var i=this._get(e,"timepicker");i&&i._addTimePicker(e)}},$.datepicker._base_doKeyPress=$.datepicker._doKeyPress,$.datepicker._doKeyPress=function(e){var t=$.datepicker._getInst(e.target),i=$.datepicker._get(t,"timepicker");if(i&&$.datepicker._get(t,"constrainInput")){var s=i.support.ampm,a=null!==i._defaults.showTimezone?i._defaults.showTimezone:i.support.timezone,n=$.datepicker._possibleChars($.datepicker._get(t,"dateFormat")),r=(""+i._defaults.timeFormat).replace(/[hms
]/g,"").replace(/TT
/g,s?"APM":"").replace(/Tt
/g,s?"AaPpMm":"").replace(/tT
/g,s?"AaPpMm":"").replace(/T
/g,s?"AP":"").replace(/tt
/g,s?"apm":"").replace(/t
/g
,s
?"ap":"")+" "+i
._defaults
.separator
+i
._defaults
.timeSuffix
+(a
?i
._defaults
.timezoneList
.join(""):"")+i
._defaults
.amNames
.join("")+i
._defaults
.pmNames
.join("")+n
,l
=String
.fromCharCode(void 0===e
.charCode
?e
.keyCode
:e
.charCode
);return e
.ctrlKey
||" ">l
||!n
||r
.indexOf(l
)>-1}return $.datepicker
._base_doKeyPress(e
)},$.datepicker
._base_updateAlternate
=$.datepicker
._updateAlternate
,$.datepicker
._updateAlternate=function(e
){var t
=this._get(e
,"timepicker");if(t
){var i
=t
._defaults
.altField
;if(i
){var s
=(t
._defaults
.altFormat
||t
._defaults
.dateFormat
,this._getDate(e
)),a
=$.datepicker
._getFormatConfig(e
),n
="",r
=t
._defaults
.altSeparator
?t
._defaults
.altSeparator
:t
._defaults
.separator
,l
=t
._defaults
.altTimeSuffix
?t
._defaults
.altTimeSuffix
:t
._defaults
.timeSuffix
,o
=null!==t
._defaults
.altTimeFormat
?t
._defaults
.altTimeFormat
:t
._defaults
.timeFormat
;n
+=$.datepicker
.formatTime(o
,t
,t
._defaults
)+l
,t
._defaults
.timeOnly
||t
._defaults
.altFieldTimeOnly
||null===s
||(n
=t
._defaults
.altFormat
?$.datepicker
.formatDate(t
._defaults
.altFormat
,s
,a
)+r
+n
:t
.formattedDate
+r
+n
),$(i
).val(e
.input
.val()?n
:"")}}else $.datepicker
._base_updateAlternate(e
)},$.datepicker
._base_doKeyUp
=$.datepicker
._doKeyUp
,$.datepicker
._doKeyUp=function(e
){var t
=$.datepicker
._getInst(e
.target
),i
=$.datepicker
._get(t
,"timepicker");if(i
&&i
._defaults
.timeOnly
&&t
.input
.val()!==t
.lastVal
)try{$.datepicker
._updateDatepicker(t
)}catch(s
){$.timepicker
.log(s
)}return $.datepicker
._base_doKeyUp(e
)},$.datepicker
._base_gotoToday
=$.datepicker
._gotoToday
,$.datepicker
._gotoToday=function(e
){var t
=this._getInst($(e
)[0]),i
=t
.dpDiv
;this._base_gotoToday(e
);var s
=this._get(t
,"timepicker");selectLocalTimezone(s
);var a
=new Date
;this._setTime(t
,a
),$(".ui-datepicker-today",i
).click()},$.datepicker
._disableTimepickerDatepicker=function(e
){var t
=this._getInst(e
);if(t
){var i
=this._get(t
,"timepicker");$(e
).datepicker("getDate"),i
&&(t
.settings
.showTimepicker
=!1,i
._defaults
.showTimepicker
=!1,i
._updateDateTime(t
))}},$.datepicker
._enableTimepickerDatepicker=function(e
){var t
=this._getInst(e
);if(t
){var i
=this._get(t
,"timepicker");$(e
).datepicker("getDate"),i
&&(t
.settings
.showTimepicker
=!0,i
._defaults
.showTimepicker
=!0,i
._addTimePicker(t
),i
._updateDateTime(t
))}},$.datepicker
._setTime=function(e
,t
){var i
=this._get(e
,"timepicker");if(i
){var s
=i
._defaults
;i
.hour
=t
?t
.getHours():s
.hour
,i
.minute
=t
?t
.getMinutes():s
.minute
,i
.second
=t
?t
.getSeconds():s
.second
,i
.millisec
=t
?t
.getMilliseconds():s
.millisec
,i
.microsec
=t
?t
.getMicroseconds():s
.microsec
,i
._limitMinMaxDateTime(e
,!0),i
._onTimeChange(),i
._updateDateTime(e
)
58 }},$.datepicker
._setTimeDatepicker=function(e
,t
,i
){var s
=this._getInst(e
);if(s
){var a
=this._get(s
,"timepicker");if(a
){this._setDateFromField(s
);var n
;t
&&("string"==typeof t
?(a
._parseTime(t
,i
),n
=new Date
,n
.setHours(a
.hour
,a
.minute
,a
.second
,a
.millisec
),n
.setMicroseconds(a
.microsec
)):(n
=new Date(t
.getTime()),n
.setMicroseconds(t
.getMicroseconds())),"Invalid Date"==""+n
&&(n
=void 0),this._setTime(s
,n
))}}},$.datepicker
._base_setDateDatepicker
=$.datepicker
._setDateDatepicker
,$.datepicker
._setDateDatepicker=function(e
,t
){var i
=this._getInst(e
),s
=t
;if(i
){"string"==typeof t
&&(s
=new Date(t
),s
.getTime()||(this._base_setDateDatepicker
.apply(this,arguments
),s
=$(e
).datepicker("getDate")));var a
,n
=this._get(i
,"timepicker");s
instanceof Date
?(a
=new Date(s
.getTime()),a
.setMicroseconds(s
.getMicroseconds())):a
=s
,n
&&a
&&(n
.support
.timezone
||null!==n
._defaults
.timezone
||(n
.timezone
=-1*a
.getTimezoneOffset()),s
=$.timepicker
.timezoneAdjust(s
,n
.timezone
),a
=$.timepicker
.timezoneAdjust(a
,n
.timezone
)),this._updateDatepicker(i
),this._base_setDateDatepicker
.apply(this,arguments
),this._setTimeDatepicker(e
,a
,!0)}},$.datepicker
._base_getDateDatepicker
=$.datepicker
._getDateDatepicker
,$.datepicker
._getDateDatepicker=function(e
,t
){var i
=this._getInst(e
);if(i
){var s
=this._get(i
,"timepicker");if(s
){void 0===i
.lastVal
&&this._setDateFromField(i
,t
);var a
=this._getDate(i
);return a
&&s
._parseTime($(e
).val(),s
.timeOnly
)&&(a
.setHours(s
.hour
,s
.minute
,s
.second
,s
.millisec
),a
.setMicroseconds(s
.microsec
),null!=s
.timezone
&&(s
.support
.timezone
||null!==s
._defaults
.timezone
||(s
.timezone
=-1*a
.getTimezoneOffset()),a
=$.timepicker
.timezoneAdjust(a
,s
.timezone
))),a
}return this._base_getDateDatepicker(e
,t
)}},$.datepicker
._base_parseDate
=$.datepicker
.parseDate
,$.datepicker
.parseDate=function(e
,t
,i
){var s
;try{s
=this._base_parseDate(e
,t
,i
)}catch(a
){if(!(a
.indexOf(":")>=0))throw a
;s
=this._base_parseDate(e
,t
.substring(0,t
.length
-(a
.length
-a
.indexOf(":")-2)),i
),$.timepicker
.log("Error parsing the date string: "+a
+"\ndate string = "+t
+"\ndate format = "+e
)}return s
},$.datepicker
._base_formatDate
=$.datepicker
._formatDate
,$.datepicker
._formatDate=function(e
){var t
=this._get(e
,"timepicker");return t
?(t
._updateDateTime(e
),t
.$input
.val()):this._base_formatDate(e
)},$.datepicker
._base_optionDatepicker
=$.datepicker
._optionDatepicker
,$.datepicker
._optionDatepicker=function(e
,t
,i
){var s
,a
=this._getInst(e
);if(!a
)return null;var n
=this._get(a
,"timepicker");if(n
){var r
,l
=null,o
=null,c
=null,u
=n
._defaults
.evnts
,m
={};if("string"==typeof t
){if("minDate"===t
||"minDateTime"===t
)l
=i
;else if("maxDate"===t
||"maxDateTime"===t
)o
=i
;else if("onSelect"===t
)c
=i
;else if(u
.hasOwnProperty(t
)){if(i
===void 0)return u
[t
];m
[t
]=i
,s
={}}}else if("object"==typeof t
){t
.minDate
?l
=t
.minDate
:t
.minDateTime
?l
=t
.minDateTime
:t
.maxDate
?o
=t
.maxDate
:t
.maxDateTime
&&(o
=t
.maxDateTime
);for(r
in u
)u
.hasOwnProperty(r
)&&t
[r
]&&(m
[r
]=t
[r
])}for(r
in m
)m
.hasOwnProperty(r
)&&(u
[r
]=m
[r
],s
||(s
=$.extend({},t
)),delete s
[r
]);if(s
&&isEmptyObject(s
))return;l
?(l
=0===l
?new Date
:new Date(l
),n
._defaults
.minDate
=l
,n
._defaults
.minDateTime
=l
):o
?(o
=0===o
?new Date
:new Date(o
),n
._defaults
.maxDate
=o
,n
._defaults
.maxDateTime
=o
):c
&&(n
._defaults
.onSelect
=c
)}return void 0===i
?this._base_optionDatepicker
.call($.datepicker
,e
,t
):this._base_optionDatepicker
.call($.datepicker
,e
,s
||t
,i
)};var isEmptyObject=function(e
){var t
;for(t
in e
)if(e
.hasOwnProperty(t
))return!1;return!0},extendRemove=function(e
,t
){$.extend(e
,t
);for(var i
in t
)(null===t
[i
]||void 0===t
[i
])&&(e
[i
]=t
[i
]);return e
},detectSupport=function(e
){var t
=e
.replace(/'.*?'/g,"").toLowerCase(),i=function(e
,t
){return-1!==e
.indexOf(t
)?!0:!1};return{hour
:i(t
,"h"),minute
:i(t
,"m"),second
:i(t
,"s"),millisec
:i(t
,"l"),microsec
:i(t
,"c"),timezone
:i(t
,"z"),ampm
:i(t
,"t")&&i(e
,"h"),iso8601
:i(e
,"Z")}},convert24to12=function(e
){return e
%=12,0===e
&&(e
=12),e
+""},computeEffectiveSetting=function(e
,t
){return e
&&e
[t
]?e
[t
]:$.timepicker
._defaults
[t
]},splitDateTime=function(e
,t
){var i
=computeEffectiveSetting(t
,"separator"),s
=computeEffectiveSetting(t
,"timeFormat"),a
=s
.split(i
),n
=a
.length
,r
=e
.split(i
),l
=r
.length
;return l
>1?{dateString
:r
.splice(0,l
-n
).join(i
),timeString
:r
.splice(0,n
).join(i
)}:{dateString
:e
,timeString
:""}},parseDateTimeInternal=function(e
,t
,i
,s
,a
){var n
,r
,l
;if(r
=splitDateTime(i
,a
),n
=$.datepicker
._base_parseDate(e
,r
.dateString
,s
),""===r
.timeString
)return{date
:n
};if(l
=$.datepicker
.parseTime(t
,r
.timeString
,a
),!l
)throw"Wrong time format";return{date
:n
,timeObj
:l
}},selectLocalTimezone=function(e
,t
){if(e
&&e
.timezone_select
){var i
=t
||new Date
;e
.timezone_select
.val(-i
.getTimezoneOffset())}};$.timepicker
=new Timepicker
,$.timepicker
.timezoneOffsetString=function(e
,t
){if(isNaN(e
)||e
>840||-720>e
)return e
;var i
=e
,s
=i
%60,a
=(i
-s
)/60,n=t?":":"",r=(i>=0?"+":"-")+("0"+Math.abs(a)).slice(-2)+n+("0"+Math.abs(s)).slice(-2);return"+00:00"===r?"Z":r},$.timepicker.timezoneOffsetNumber=function(e){var t=(""+e).replace(":","");return"Z"===t.toUpperCase()?0:/^(\-|\+)\d
{4}$/.test(t)?("-"===t.substr(0,1)?-1:1)*(60*parseInt(t.substr(1,2),10)+parseInt(t.substr(3,2),10)):e},$.timepicker.timezoneAdjust=function(e,t){var i=$.timepicker.timezoneOffsetNumber(t);return isNaN(i)||e.setMinutes(e.getMinutes()+-e.getTimezoneOffset()-i),e},$.timepicker.timeRange=function(e,t,i){return $.timepicker.handleRange("timepicker",e,t,i)},$.timepicker.datetimeRange=function(e,t,i){$.timepicker.handleRange("datetimepicker",e,t,i)},$.timepicker.dateRange=function(e,t,i){$.timepicker.handleRange("datepicker",e,t,i)},$.timepicker.handleRange=function(e,t,i,s){function a(a,n){var r=t[e]("getDate"),l=i[e]("getDate"),o=a[e]("getDate");if(null!==r){var c=new Date(r.getTime()),u=new Date(r.getTime());c.setMilliseconds(c.getMilliseconds()+s.minInterval),u.setMilliseconds(u.getMilliseconds()+s.maxInterval),s.minInterval>0&&c>l?i[e]("setDate",c):s.maxInterval>0&&l>u?i[e]("setDate",u):r>l&&n[e]("setDate",o)}}function n(t,i,a){if(t.val()){var n=t[e].call(t,"getDate");null!==n&&s.minInterval>0&&("minDate"===a&&n.setMilliseconds(n.getMilliseconds()+s.minInterval),"maxDate"===a&&n.setMilliseconds(n.getMilliseconds()-s.minInterval)),n.getTime&&i[e].call(i,"option",a,n)}}s=$.extend({},{minInterval:0,maxInterval:0,start:{},end:{}},s);var r=!1;return"timepicker"===e&&(r=!0,e="datetimepicker"),$.fn[e].call(t,$.extend({timeOnly:r,onClose:function(){a($(this),i)},onSelect:function(){n($(this),i,"minDate")}},s,s.start)),$.fn[e].call(i,$.extend({timeOnly:r,onClose:function(){a($(this),t)},onSelect:function(){n($(this),t,"maxDate")}},s,s.end)),a(t,i),n(t,i,"minDate"),n(i,t,"maxDate"),$([t.get(0),i.get(0)])},$.timepicker.log=function(e){window.console&&window.console.log(e)},$.timepicker._util={_extendRemove:extendRemove,_isEmptyObject:isEmptyObject,_convert24to12:convert24to12,_detectSupport:detectSupport,_selectLocalTimezone:selectLocalTimezone,_computeEffectiveSetting:computeEffectiveSetting,_splitDateTime:splitDateTime,_parseDateTimeInternal:parseDateTimeInternal},Date.prototype.getMicroseconds||(Date.prototype.microseconds=0,Date.prototype.getMicroseconds=function(){return this.microseconds},Date.prototype.setMicroseconds=function(e){return this.setMilliseconds(this.getMilliseconds()+Math.floor(e/1e3
)),this.microseconds
=e
%1e3
,this}),$.timepicker
.version
="1.4.5"}})(jQuery
); })(this);
61 (function (window
, undefined) {(function(){var d
=false,c
=/xyz/.test(function(){xyz
})?/\b_super\b/:/.*/;this.Class=function(){};Class
.extend=function(j
){function a(){if(!d
&&this.init
){this.init
.apply(this,arguments
)}}var i
=this.prototype;d
=true;var h
=new this;d
=false;for(var b
in j
){h
[b
]=typeof j
[b
]=="function"&&typeof i
[b
]=="function"&&c
.test(j
[b
])?function(f
,e
){return function(){var k
=this._super
;this._super
=i
[f
];var g
=e
.apply(this,arguments
);this._super
=k
;return g
}}(b
,j
[b
]):j
[b
]}a
.prototype=h
;a
.prototype.constructor=a
;a
.extend
=arguments
.callee
;return a
}})();
62 /*! matchMedia() polyfill - Test a CSS media type/query in JS. Authors & copyright (c) 2012: Scott Jehl, Paul Irish, Nicholas Zakas, David Knight. Dual MIT/BSD license */
63 window
.matchMedia
||(window
.matchMedia=function(){var c
=window
.styleMedia
||window
.media
;if(!c
){var a
=document
.createElement("style"),d
=document
.getElementsByTagName("script")[0],b
=null;a
.type
="text/css";a
.id
="matchmediajs-test";d
.parentNode
.insertBefore(a
,d
);b
="getComputedStyle" in window
&&window
.getComputedStyle(a
,null)||a
.currentStyle
;c
={matchMedium:function(f
){var g
="@media "+f
+"{ #matchmediajs-test { width: 1px; } }";if(a
.styleSheet
){a
.styleSheet
.cssText
=g
}else{a
.textContent
=g
}return b
.width
==="1px"}}}return function(e
){return{matches
:c
.matchMedium(e
||"all"),media
:e
||"all"}}}());
64 /*! matchMedia() polyfill addListener/removeListener extension. Author & copyright (c) 2012: Scott Jehl. Dual MIT/BSD license */
65 (function(){if(window
.matchMedia
&&window
.matchMedia("all").addListener
){return false}var f
=window
.matchMedia
,b
=f("only all").matches
,g
=false,d
=0,a
=[],c=function(e
){clearTimeout(d
);d
=setTimeout(function(){for(var j
=0,p
=a
.length
;j
<p
;j
++){var l
=a
[j
].mql
,k
=a
[j
].listeners
||[],m
=f(l
.media
).matches
;if(m
!==l
.matches
){l
.matches
=m
;for(var i
=0,h
=k
.length
;i
<h
;i
++){k
[i
].call(window
,l
)}}}},30)};window
.matchMedia=function(i
){var j
=f(i
),h
=[],e
=0;j
.addListener=function(k
){if(!b
){return}if(!g
){g
=true;window
.addEventListener("resize",c
,true)}if(e
===0){e
=a
.push({mql
:j
,listeners
:h
})}h
.push(k
)};j
.removeListener=function(l
){for(var k
=0,m
=h
.length
;k
<m
;k
++){if(h
[k
]===l
){h
.splice(k
,1)}}};return j
}})();
67 * enquire.js v2.1.0 - Awesome Media Queries in JavaScript
68 * Copyright (c) 2013 Nick Williams - http://wicky.nillia.ms/enquire.js
69 * License: MIT (http://www.opensource.org/licenses/mit-license.php)
71 (function(b
,a
,d
){var c
=a
.matchMedia
;"undefined"!=typeof module
&&module
.exports
?module
.exports
=d(c
):"function"==typeof define
&&define
.amd
?define(function(){return a
[b
]=d(c
)}):a
[b
]=d(c
)})("enquire",this,function(b
){function a(k
,j
){var o
,m
=0,l
=k
.length
;for(m
;l
>m
&&(o
=j(k
[m
],m
),o
!==!1);m
++){}}function h(e
){return"[object Array]"===Object
.prototype.toString
.apply(e
)}function f(e
){return"function"==typeof e
}function c(e
){this.options
=e
,!e
.deferSetup
&&this.setup()}function g(j
,l
){this.query
=j
,this.isUnconditional
=l
,this.handlers
=[],this.mql
=b(j
);var k
=this;this.listener=function(e
){k
.mql
=e
,k
.assess()},this.mql
.addListener(this.listener
)}function d(){if(!b
){throw Error("matchMedia not present, legacy browsers require a polyfill")}this.queries
={},this.browserIsIncapable
=!b("only all").matches
}return c
.prototype={setup:function(){this.options
.setup
&&this.options
.setup(),this.initialised
=!0},on:function(){!this.initialised
&&this.setup(),this.options
.match
&&this.options
.match()},off:function(){this.options
.unmatch
&&this.options
.unmatch()},destroy:function(){this.options
.destroy
?this.options
.destroy():this.off()},equals:function(e
){return this.options
===e
||this.options
.match
===e
}},g
.prototype={addHandler:function(j
){var e
=new c(j
);this.handlers
.push(e
),this.matches()&&e
.on()},removeHandler:function(e
){var i
=this.handlers
;a(i
,function(j
,k
){return j
.equals(e
)?(j
.destroy(),!i
.splice(k
,1)):void 0})},matches:function(){return this.mql
.matches
||this.isUnconditional
},clear:function(){a(this.handlers
,function(e
){e
.destroy()}),this.mql
.removeListener(this.listener
),this.handlers
.length
=0},assess:function(){var e
=this.matches()?"on":"off";a(this.handlers
,function(j
){j
[e
]()})}},d
.prototype={register:function(i
,k
,l
){var j
=this.queries
,e
=l
&&this.browserIsIncapable
;return j
[i
]||(j
[i
]=new g(i
,e
)),f(k
)&&(k
={match
:k
}),h(k
)||(k
=[k
]),a(k
,function(m
){j
[i
].addHandler(m
)}),this},unregister:function(j
,e
){var k
=this.queries
[j
];return k
&&(e
?k
.removeHandler(e
):(k
.clear(),delete this.queries
[j
])),this}},new d
});
72 /*! head.load - v1.0.3 */
73 (function(S
,L
){function I(){}function K(d
,b
){if(d
){typeof d
=="object"&&(d
=[].slice
.call(d
));for(var a
=0,c
=d
.length
;a
<c
;a
++){b
.call(d
,d
[a
],a
)}}}function C(c
,a
){var b
=Object
.prototype.toString
.call(a
).slice(8,-1);return a
!==L
&&a
!==null&&b
===c
}function M(a
){return C("Function",a
)}function ag(a
){return C("Array",a
)}function P(d
){var b
=d
.split("/"),a
=b
[b
.length
-1],c
=a
.indexOf("?");return c
!==-1?a
.substring(0,c
):a
}function Z(a
){(a
=a
||I
,a
._done
)||(a(),a
._done
=1)}function E(h
,b
,c
,a
){var d
=typeof h
=="object"?h
:{test
:h
,success
:!b
?!1:ag(b
)?b
:[b
],failure
:!c
?!1:ag(c
)?c
:[c
],callback
:a
||I
},g
=!!d
.test
;return g
&&!!d
.success
?(d
.success
.push(d
.callback
),W
.load
.apply(null,d
.success
)):g
||!d
.failure
?a():(d
.failure
.push(d
.callback
),W
.load
.apply(null,d
.failure
)),W
}function J(d
){var b
={},a
,c
;if(typeof d
=="object"){for(a
in d
){!d
[a
]||(b
={name
:a
,url
:d
[a
]})}}else{b
={name
:P(d
),url
:d
}}return(c
=ae
[b
.name
],c
&&c
.url
===b
.url
)?c
:(ae
[b
.name
]=b
,b
)}function H(b
){b
=b
||ae
;for(var a
in b
){if(b
.hasOwnProperty(a
)&&b
[a
].state
!==T
){return !1}}return !0}function q(a
){a
.state
=B
;K(a
.onpreload
,function(b
){b
.call()})}function R(a
){a
.state
===L
&&(a
.state
=V
,a
.onpreload
=[],F({url
:a
.url
,type
:"cache"},function(){q(a
)}))}function A(){var d
=arguments
,a
=d
[d
.length
-1],b
=[].slice
.call(d
,1),c
=b
[0];return(M(a
)||(a
=null),ag(d
[0]))?(d
[0].push(a
),W
.load
.apply(null,d
[0]),W
):(c
?(K(b
,function(e
){M(e
)||!e
||R(J(e
))}),af(J(d
[0]),M(c
)?c:function(){W
.load
.apply(null,b
)})):af(J(d
[0])),W
)}function D(){var c
=arguments
,a
=c
[c
.length
-1],b
={};return(M(a
)||(a
=null),ag(c
[0]))?(c
[0].push(a
),W
.load
.apply(null,c
[0]),W
):(K(c
,function(d
){d
!==a
&&(d
=J(d
),b
[d
.name
]=d
)}),K(c
,function(d
){d
!==a
&&(d
=J(d
),af(d
,function(){H(b
)&&Z(a
)}))}),W
)}function af(b
,a
){if(a
=a
||I
,b
.state
===T
){a();return}if(b
.state
===aa
){W
.ready(b
.name
,a
);return}if(b
.state
===V
){b
.onpreload
.push(function(){af(b
,a
)});return}b
.state
=aa
;F(b
,function(){b
.state
=T
;a();K(X
[b
.name
],function(c
){Z(c
)});Q
&&H()&&K(X
.ALL
,function(c
){Z(c
)})})}function j(b
){b
=b
||"";var a
=b
.split("?")[0].split(".");return a
[a
.length
-1].toLowerCase()}function F(c
,b
){function l(e
){e
=e
||S
.event
;a
.onload
=a
.onreadystatechange
=a
.onerror
=null;b()}function n(e
){e
=e
||S
.event
;(e
.type
==="load"||/loaded
|complete
/.test(a.readyState)&&(!N.documentMode||N.documentMode<9))&&(S.clearTimeout(c.errorTimeout),S.clearTimeout(c.cssTimeout),a.onload=a.onreadystatechange=a.onerror=null,b())}function g(){if(c.state!==T&&c.cssRetries<=20){for(var e=0,h=N.styleSheets.length;e<h;e++){if(N.styleSheets[e].href===a.href){n({type:"load"});return}}c.cssRetries++;c.cssTimeout=S.setTimeout(g,250)}}var a,d,k;b=b||I;d=j(c.url);d==="css"?(a=N.createElement("link"),a.type="text/"+(c.type||"css
"),a.rel="stylesheet
",a.href=c.url,c.cssRetries=0,c.cssTimeout=S.setTimeout(g,500)):(a=N.createElement("script
"),a.type="text
/"+(c.type||"javascript"),a.src=c.url);a.onload=a.onreadystatechange=n;a.onerror=l;a.async=!1;a.defer=!1;c.errorTimeout=S.setTimeout(function(){l({type:"timeout"})},7000);k=N.head||N.getElementsByTagName("head")[0];k.insertBefore(a,k.lastChild)}function x(){for(var b,a=N.getElementsByTagName("script"),d=0,c=a.length;d<c;d++){if(b=a[d].getAttribute("data-headjs-load"),!!b){W.load(b);return}}}function z(f,b){var a,d,c;return f===N?(Q?Z(b):ad.push(b),W):(M(f)&&(b=f,f="ALL"),ag(f))?(a={},K(f,function(e){a[e]=ae[e];W.ready(e,function(){H(a)&&Z(b)})}),W):typeof f!="string"||!M(b)?W:(d=ae[f],d&&d.state===T||f==="ALL"&&H()&&Q)?(Z(b),W):(c=X[f],c?c.push(b):c=X[f]=[b],W)}function ab(){if(!N.body){S.clearTimeout(W.readyTimeout);W.readyTimeout=S.setTimeout(ab,50);return}Q||(Q=!0,x(),K(ad,function(a){Z(a)}))}function U(){N.addEventListener?(N.removeEventListener("DOMContentLoaded",U,!1),ab()):N.readyState==="complete"&&(N.detachEvent("onreadystatechange",U),ab())}var N=S.document,ad=[],X={},ae={},G="async" in N.createElement("script")||"MozAppearance" in N.documentElement.style||S.opera,Q,Y=S.head_conf&&S.head_conf.head||"head",W=S[Y]=S[Y]||function(){W.ready.apply(null,arguments)},V=1,B=2,aa=3,T=4,O;if(N.readyState==="complete"){ab()}else{if(N.addEventListener){N.addEventListener("DOMContentLoaded",U,!1),S.addEventListener("load",ab,!1)}else{N.attachEvent("onreadystatechange",U);S.attachEvent("onload",ab);O=!1;try{O=!S.frameElement&&N.documentElement}catch(ac){}O&&O.doScroll&&function m(){if(!Q){try{O.doScroll("left")}catch(a){S.clearTimeout(W.readyTimeout);W.readyTimeout=S.setTimeout(m,50);return}ab()}}()}}W.load=W.js=G?D:A;W.test=E;W.ready=z;W.ready(N,function(){H()&&K(X.ALL,function(a){Z(a)});W.feature&&W.feature("domloaded",!0)})})(window);!function(){var e=function(e){function t(e){if(e.paused||e.ended||w){return !1}try{l.clearRect(0,0,s,h),l.drawImage(e,0,0,s,h)}catch(o){}p=setTimeout(t,O.duration,e),L.setIcon(c)}function o(e){var t=/^#?([a
-f
\d
])([a
-f
\d
])([a
-f
\d
])$/i;e=e.replace(t,function(e,t,o,n){return t+t+o+o+n+n});var o=/^#?([a
-f
\d
]{2})([a
-f
\d
]{2})([a
-f
\d
]{2})$/i
.exec(e
);return o
?{r
:parseInt(o
[1],16),g
:parseInt(o
[2],16),b
:parseInt(o
[3],16)}:!1}function n(e
,t
){var o
,n
={};for(o
in e
){n
[o
]=e
[o
]}for(o
in t
){n
[o
]=t
[o
]}return n
}function i(){return document
.hidden
||document
.msHidden
||document
.webkitHidden
||document
.mozHidden
}e
=e
?e
:{};var r
,a
,h
,s
,c
,l
,f
,d
,u
,y
,g
,w
,m
,x
,p
,b
={bgColor
:"#d00",textColor
:"#fff",fontFamily
:"sans-serif",fontStyle
:"bold",type
:"circle",position
:"down",animation
:"slide",elementId
:!1};m
={},m
.ff
="undefined"!=typeof InstallTrigger
,m
.chrome
=!!window
.chrome
,m
.opera
=!!window
.opera
||navigator
.userAgent
.indexOf("Opera")>=0,m
.ie
=
75 !1,m
.safari
=Object
.prototype.toString
.call(window
.HTMLElement
).indexOf("Constructor")>0,m
.supported
=m
.chrome
||m
.ff
||m
.opera
;var v
=[];g=function(){},d
=w
=!1;var C=function(){r
=n(b
,e
),r
.bgColor
=o(r
.bgColor
),r
.textColor
=o(r
.textColor
),r
.position
=r
.position
.toLowerCase(),r
.animation
=O
.types
[""+r
.animation
]?r
.animation
:b
.animation
;var t
=r
.position
.indexOf("up")>-1,i
=r
.position
.indexOf("left")>-1;if(t
||i
){for(var d
=0;d
<O
.types
[""+r
.animation
].length
;d
++){var u
=O
.types
[""+r
.animation
][d
];t
&&(u
.y
=u
.y
<0.6?u
.y
-0.4:u
.y
-2*u
.y
+(1-u
.w
)),i
&&(u
.x
=u
.x
<0.6?u
.x
-0.4:u
.x
-2*u
.x
+(1-u
.h
)),O
.types
[""+r
.animation
][d
]=u
}}r
.type
=I
[""+r
.type
]?r
.type
:b
.type
;try{a
=L
.getIcon(),c
=document
.createElement("canvas"),f
=document
.createElement("img"),a
.hasAttribute("href")?(f
.setAttribute("src",a
.getAttribute("href")),f
.onload=function(){h
=f
.height
>0?f
.height
:32,s
=f
.width
>0?f
.width
:32,c
.height
=h
,c
.width
=s
,l
=c
.getContext("2d"),M
.ready()}):(f
.setAttribute("src",""),h
=32,s
=32,f
.height
=h
,f
.width
=s
,c
.height
=h
,c
.width
=s
,l
=c
.getContext("2d"),M
.ready())}catch(y
){throw"Error initializing favico. Message: "+y
.message
}},M
={};M
.ready=function(){d
=!0,M
.reset(),g()},M
.reset=function(){d
&&(v
=[],u
=!1,l
.clearRect(0,0,s
,h
),l
.drawImage(f
,0,0,s
,h
),L
.setIcon(c
),window
.clearTimeout(x
),window
.clearTimeout(p
))},M
.start=function(){if(d
&&!y
){var e=function(){u
=v
[0],y
=!1,v
.length
>0&&(v
.shift(),M
.start())};if(v
.length
>0){y
=!0;var t=function(){["type","animation","bgColor","textColor","fontFamily","fontStyle"].forEach(function(e
){e
in v
[0].options
&&(r
[e
]=v
[0].options
[e
])}),O
.run(v
[0].options
,function(){e()},!1)};u
?O
.run(u
.options
,function(){t()},!0):t()}}};var I
={},E=function(e
){return e
.n
="number"==typeof e
.n
?Math
.abs(0|e
.n
):e
.n
,e
.x
=s
*e
.x
,e
.y
=h
*e
.y
,e
.w
=s
*e
.w
,e
.h
=h
*e
.h
,e
.len
=(""+e
.n
).length
,e
};I
.circle=function(e
){e
=E(e
);var t
=!1;2===e
.len
?(e
.x
=e
.x
-0.4*e
.w
,e
.w
=1.4*e
.w
,t
=!0):e
.len
>=3&&(e
.x
=e
.x
-0.65*e
.w
,e
.w
=1.65*e
.w
,t
=!0),l
.clearRect(0,0,s
,h
),l
.drawImage(f
,0,0,s
,h
),l
.beginPath(),l
.font
=r
.fontStyle
+" "+Math
.floor(e
.h
*(e
.n
>99?0.85:1))+"px "+r
.fontFamily
,l
.textAlign
="center",t
?(l
.moveTo(e
.x
+e
.w
/2,e.y),l.lineTo(e.x+e.w-e.h/2,e
.y
),l
.quadraticCurveTo(e
.x
+e
.w
,e
.y
,e
.x
+e
.w
,e
.y
+e
.h
/2),l.lineTo(e.x+e.w,e.y+e.h-e.h/2),l
.quadraticCurveTo(e
.x
+e
.w
,e
.y
+e
.h
,e
.x
+e
.w
-e
.h
/2,e.y+e.h),l.lineTo(e.x+e.h/2,e
.y
+e
.h
),l
.quadraticCurveTo(e
.x
,e
.y
+e
.h
,e
.x
,e
.y
+e
.h
-e
.h
/2),l.lineTo(e.x,e.y+e.h/2),l
.quadraticCurveTo(e
.x
,e
.y
,e
.x
+e
.h
/2,e.y)):l.arc(e.x+e.w/2,e
.y
+e
.h
/2,e.h/2,0,2*Math
.PI
),l
.fillStyle
="rgba("+r
.bgColor
.r
+","+r
.bgColor
.g
+","+r
.bgColor
.b
+","+e
.o
+")",l
.fill(),l
.closePath(),l
.beginPath(),l
.stroke(),l
.fillStyle
="rgba("+r
.textColor
.r
+","+r
.textColor
.g
+","+r
.textColor
.b
+","+e
.o
+")","number"==typeof e
.n
&&e
.n
>999?l
.fillText((e
.n
>9999?9:Math
.floor(e
.n
/1000))+"k+",Math.floor(e.x+e.w/2),Math
.floor(e
.y
+e
.h
-0.2*e
.h
)):l
.fillText(e
.n
,Math
.floor(e
.x
+e
.w
/2),Math.floor(e.y+e.h-0.15*e.h)),l.closePath()},I.rectangle=function(e){e=E(e);var t=!1;2===e.len?(e.x=e.x-0.4*e.w,e.w=1.4*e.w,t=!0):e.len>=3&&(e.x=e.x-0.65*e.w,e.w=1.65*e.w,t=!0),l.clearRect(0,0,s,h),l.drawImage(f,0,0,s,h),l.beginPath(),l.font=r.fontStyle+" "+Math.floor(e.h*(e.n>99?0.9:1))+"px "+r.fontFamily,l.textAlign="center",l.fillStyle="rgba("+r.bgColor.r+","+r.bgColor.g+","+r.bgColor.b+","+e.o+")",l.fillRect(e.x,e.y,e.w,e.h),l.fillStyle="rgba("+r.textColor.r+","+r.textColor.g+","+r.textColor.b+","+e.o+")","number"==typeof e.n&&e.n>999?l.fillText((e.n>9999?9:Math.floor(e.n/1000))+"k+",Math
.floor(e
.x
+e
.w
/2),Math.floor(e.y+e.h-0.2*e.h)):l.fillText(e.n,Math.floor(e.x+e.w/2),Math
.floor(e
.y
+e
.h
-0.15*e
.h
)),l
.closePath()};var T=function(e
,t
){t
=("string"==typeof t
?{animation
:t
}:t
)||{},g=function(){try{if("number"==typeof e
?e
>0:""!==e
){var n
={type
:"badge",options
:{n
:e
}};if("animation" in t
&&O
.types
[""+t
.animation
]&&(n
.options
.animation
=""+t
.animation
),"type" in t
&&I
[""+t
.type
]&&(n
.options
.type
=""+t
.type
),["bgColor","textColor"].forEach(function(e
){e
in t
&&(n
.options
[e
]=o(t
[e
]))}),["fontStyle","fontFamily"].forEach(function(e
){e
in t
&&(n
.options
[e
]=t
[e
])}),v
.push(n
),v
.length
>100){throw"Too many badges requests in queue."}M
.start()}else{M
.reset()}}catch(i
){throw"Error setting badge. Message: "+i
.message
}},d
&&g()},A=function(e
){g=function(){try{var t
=e
.width
,o
=e
.height
,n
=document
.createElement("img"),i
=o
/h>t/s?t
/s:o/h
;n
.setAttribute("src",e
.getAttribute("src")),n
.height
=o
/i,n.width=t/i,l
.clearRect(0,0,s
,h
),l
.drawImage(n
,0,0,s
,h
),L
.setIcon(c
)}catch(r
){throw"Error setting image. Message: "+r
.message
}},d
&&g()},U=function(e
){g=function(){try{if("stop"===e
){return w
=!0,M
.reset(),w
=!1,void 0}e
.addEventListener("play",function(){t(this)},!1)}catch(o
){throw"Error setting video. Message: "+o
.message
}},d
&&g()},R=function(e
){if(window
.URL
&&window
.URL
.createObjectURL
||(window
.URL
=window
.URL
||{},window
.URL
.createObjectURL=function(e
){return e
}),m
.supported
){var o
=!1;navigator
.getUserMedia
=navigator
.getUserMedia
||navigator
.oGetUserMedia
||navigator
.msGetUserMedia
||navigator
.mozGetUserMedia
||navigator
.webkitGetUserMedia
,g=function(){try{if("stop"===e
){return w
=!0,M
.reset(),w
=!1,void 0}o
=document
.createElement("video"),o
.width
=s
,o
.height
=h
,navigator
.getUserMedia({video
:!0,audio
:!1},function(e
){o
.src
=URL
.createObjectURL(e
),o
.play(),t(o
)},function(){})}catch(n
){throw"Error setting webcam. Message: "+n
.message
}},d
&&g()}},L
={};L
.getIcon=function(){var e
=!1,t
="",o=function(){for(var e
=document
.getElementsByTagName("head")[0].getElementsByTagName("link"),t
=e
.length
,o
=t
-1;o
>=0;o
--){if(/(^|\s)icon(\s|$)/i.test(e
[o
].getAttribute("rel"))){return e
[o
]}}return !1};if(r
.elementId
?(e
=document
.getElementById(r
.elementId
),e
.setAttribute("href",e
.getAttribute("src"))):(e
=o(),e
===!1&&(e
=document
.createElement("link"),e
.setAttribute("rel","icon"),document
.getElementsByTagName("head")[0].appendChild(e
))),t
=r
.elementId
?e
.src
:e
.href
,"data:"!==t
.substr(0,5)&&-1===t
.indexOf(document
.location
.hostname
)){throw new Error("Error setting favicon. Favicon image is on different domain (Icon: "+t
+", Domain: "+document
.location
.hostname
+")")}return e
.setAttribute("type","image/png"),e
},L
.setIcon=function(e
){var t
=e
.toDataURL("image/png");if(r
.elementId
){document
.getElementById(r
.elementId
).setAttribute("src",t
)}else{if(m
.ff
||m
.opera
){var o
=a
;a
=document
.createElement("link"),m
.opera
&&a
.setAttribute("rel","icon"),a
.setAttribute("rel","icon"),a
.setAttribute("type","image/png"),document
.getElementsByTagName("head")[0].appendChild(a
),a
.setAttribute("href",t
),o
.parentNode
&&o
.parentNode
.removeChild(o
)}else{a
.setAttribute("href",t
)}}};var O
={};return O
.duration
=40,O
.types
={},O
.types
.fade
=[{x
:0.4,y
:0.4,w
:0.6,h
:0.6,o
:0},{x
:0.4,y
:0.4,w
:0.6,h
:0.6,o
:0.1},{x
:0.4,y
:0.4,w
:0.6,h
:0.6,o
:0.2},{x
:0.4,y
:0.4,w
:0.6,h
:0.6,o
:0.3},{x
:0.4,y
:0.4,w
:0.6,h
:0.6,o
:0.4},{x
:0.4,y
:0.4,w
:0.6,h
:0.6,o
:0.5},{x
:0.4,y
:0.4,w
:0.6,h
:0.6,o
:0.6},{x
:0.4,y
:0.4,w
:0.6,h
:0.6,o
:0.7},{x
:0.4,y
:0.4,w
:0.6,h
:0.6,o
:0.8},{x
:0.4,y
:0.4,w
:0.6,h
:0.6,o
:0.9},{x
:0.4,y
:0.4,w
:0.6,h
:0.6,o
:1}],O
.types
.none
=[{x
:0.4,y
:0.4,w
:0.6,h
:0.6,o
:1}],O
.types
.pop
=[{x
:1,y
:1,w
:0,h
:0,o
:1},{x
:0.9,y
:0.9,w
:0.1,h
:0.1,o
:1},{x
:0.8,y
:0.8,w
:0.2,h
:0.2,o
:1},{x
:0.7,y
:0.7,w
:0.3,h
:0.3,o
:1},{x
:0.6,y
:0.6,w
:0.4,h
:0.4,o
:1},{x
:0.5,y
:0.5,w
:0.5,h
:0.5,o
:1},{x
:0.4,y
:0.4,w
:0.6,h
:0.6,o
:1}],O
.types
.popFade
=[{x
:0.75,y
:0.75,w
:0,h
:0,o
:0},{x
:0.65,y
:0.65,w
:0.1,h
:0.1,o
:0.2},{x
:0.6,y
:0.6,w
:0.2,h
:0.2,o
:0.4},{x
:0.55,y
:0.55,w
:0.3,h
:0.3,o
:0.6},{x
:0.5,y
:0.5,w
:0.4,h
:0.4,o
:0.8},{x
:0.45,y
:0.45,w
:0.5,h
:0.5,o
:0.9},{x
:0.4,y
:0.4,w
:0.6,h
:0.6,o
:1}],O
.types
.slide
=[{x
:0.4,y
:1,w
:0.6,h
:0.6,o
:1},{x
:0.4,y
:0.9,w
:0.6,h
:0.6,o
:1},{x
:0.4,y
:0.9,w
:0.6,h
:0.6,o
:1},{x
:0.4,y
:0.8,w
:0.6,h
:0.6,o
:1},{x
:0.4,y
:0.7,w
:0.6,h
:0.6,o
:1},{x
:0.4,y
:0.6,w
:0.6,h
:0.6,o
:1},{x
:0.4,y
:0.5,w
:0.6,h
:0.6,o
:1},{x
:0.4,y
:0.4,w
:0.6,h
:0.6,o
:1}],O
.run=function(e
,t
,o
,a
){var h
=O
.types
[i()?"none":r
.animation
];return a
=o
===!0?"undefined"!=typeof a
?a
:h
.length
-1:"undefined"!=typeof a
?a
:0,t
=t
?t:function(){},a
<h
.length
&&a
>=0?(I
[r
.type
](n(e
,h
[a
])),x
=setTimeout(function(){o
?a
-=1:a
+=1,O
.run(e
,t
,o
,a
)},O
.duration
),L
.setIcon(c
),void 0):(t(),void 0)},C(),{badge
:T
,video
:U
,image
:A
,webcam
:R
,reset
:M
.reset
,browser
:{supported
:m
.supported
}}};"undefined"!=typeof define
&&define
.amd
?define([],function(){return e
}):"undefined"!=typeof module
&&module
.exports
?module
.exports
=e
:this.Favico
=e
}();(function(b
){if(typeof define
==="function"&&define
.amd
&&define
.amd
.jQuery
){define(["jquery"],b
)}else{b(jQuery
)}}(function(ac
){var S
="left",T
="right",ad
="up",G
="down",af
="in",E
="out",V
="none",L
="auto",W
="swipe",K
="pinch",R
="tap",Y
="doubletap",ag
="longtap",F
="hold",M
="horizontal",J
="vertical",Z
="all",O
=10,ab
="start",X
="move",aa
="end",Q
="cancel",ah
="ontouchstart" in window
,I
=window
.navigator
.msPointerEnabled
&&!window
.navigator
.pointerEnabled
,ae
=window
.navigator
.pointerEnabled
||window
.navigator
.msPointerEnabled
,P
="TouchSwipe";var U
={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
:true,triggerOnTouchLeave
:false,allowPageScroll
:"auto",fallbackToMouseEvents
:true,excludedElements
:"label, button, input, select, textarea, a, .noSwipe"};ac
.fn
.swipe=function(a
){var b
=ac(this),c
=b
.data(P
);if(c
&&typeof a
==="string"){if(c
[a
]){return c
[a
].apply(this,Array
.prototype.slice
.call(arguments
,1))}else{ac
.error("Method "+a
+" does not exist on jQuery.swipe")}}else{if(!c
&&(typeof a
==="object"||!a
)){return H
.apply(this,arguments
)}}return b
};ac
.fn
.swipe
.defaults
=U
;ac
.fn
.swipe
.phases
={PHASE_START
:ab
,PHASE_MOVE
:X
,PHASE_END
:aa
,PHASE_CANCEL
:Q
};ac
.fn
.swipe
.directions
={LEFT
:S
,RIGHT
:T
,UP
:ad
,DOWN
:G
,IN
:af
,OUT
:E
};ac
.fn
.swipe
.pageScroll
={NONE
:V
,HORIZONTAL
:M
,VERTICAL
:J
,AUTO
:L
};ac
.fn
.swipe
.fingers
={ONE
:1,TWO
:2,THREE
:3,ALL
:Z
};function H(a
){if(a
&&(a
.allowPageScroll
===undefined&&(a
.swipe
!==undefined||a
.swipeStatus
!==undefined))){a
.allowPageScroll
=V
}if(a
.click
!==undefined&&a
.tap
===undefined){a
.tap
=a
.click
}if(!a
){a
={}}a
=ac
.extend({},ac
.fn
.swipe
.defaults
,a
);return this.each(function(){var b
=ac(this);var c
=b
.data(P
);if(!c
){c
=new N(this,a
);b
.data(P
,c
)}})}function N(bR
,C
){var u
=(ah
||ae
||!C
.fallbackToMouseEvents
),s
=u
?(ae
?(I
?"MSPointerDown":"pointerdown"):"touchstart"):"mousedown",w
=u
?(ae
?(I
?"MSPointerMove":"pointermove"):"touchmove"):"mousemove",g
=u
?(ae
?(I
?"MSPointerUp":"pointerup"):"touchend"):"mouseup",i
=u
?null:"mouseleave",bI
=(ae
?(I
?"MSPointerCancel":"pointercancel"):"touchcancel");var bf
=0,bw
=null,bk
=0,bU
=0,bm
=0,x
=1,aw
=0,bC
=0,p
=null;var bu
=ac(bR
);var b
="start";var e
=0;var bv
=null;var h
=0,bT
=0,bQ
=0,bi
=0,o
=0;var bp
=null,bg
=null;try{bu
.bind(s
,by
);bu
.bind(bI
,bM
)}catch(bb
){ac
.error("events not supported "+s
+","+bI
+" on jQuery.swipe")}this.enable=function(){bu
.bind(s
,by
);bu
.bind(bI
,bM
);return bu
};this.disable=function(){bB();return bu
};this.destroy=function(){bB();bu
.data(P
,null);return bu
};this.option=function(ai
,aj
){if(C
[ai
]!==undefined){if(aj
===undefined){return C
[ai
]}else{C
[ai
]=aj
}}else{ac
.error("Option "+ai
+" does not exist on jQuery.swipe.options")}return null};function by(aj
){if(bK()){return}if(ac(aj
.target
).closest(C
.excludedElements
,bu
).length
>0){return}var ai
=aj
.originalEvent
?aj
.originalEvent
:aj
;var ak
,al
=ah
?ai
.touches
[0]:ai
;b
=ab
;if(ah
){e
=ai
.touches
.length
}else{aj
.preventDefault()}bf
=0;bw
=null;bC
=null;bk
=0;bU
=0;bm
=0;x
=1;aw
=0;bv
=bc();p
=bl();j();if(!ah
||(e
===C
.fingers
||C
.fingers
===Z
)||bo()){bd(0,al
);h
=au();if(e
==2){bd(1,ai
.touches
[1]);bU
=bm
=D(bv
[0].start
,bv
[1].start
)}if(C
.swipeStatus
||C
.pinchStatus
){ak
=n(ai
,b
)}}else{ak
=false}if(ak
===false){b
=Q
;n(ai
,b
);return ak
}else{if(C
.hold
){bg
=setTimeout(ac
.proxy(function(){bu
.trigger("hold",[ai
.target
]);if(C
.hold
){ak
=C
.hold
.call(bu
,ai
,ai
.target
)}},this),C
.longTapThreshold
)}ay(true)}return null}function bS(al
){var ai
=al
.originalEvent
?al
.originalEvent
:al
;if(b
===aa
||b
===Q
||a0()){return}var am
,an
=ah
?ai
.touches
[0]:ai
;var ak
=bE(an
);bT
=au();if(ah
){e
=ai
.touches
.length
}if(C
.hold
){clearTimeout(bg
)}b
=X
;if(e
==2){if(bU
==0){bd(1,ai
.touches
[1]);bU
=bm
=D(bv
[0].start
,bv
[1].start
)}else{bE(ai
.touches
[1]);bm
=D(bv
[0].end
,bv
[1].end
);bC
=av(bv
[0].end
,bv
[1].end
)}x
=bO(bU
,bm
);aw
=Math
.abs(bU
-bm
)}if((e
===C
.fingers
||C
.fingers
===Z
)||!ah
||bo()){bw
=bA(ak
.start
,ak
.end
);ba(al
,bw
);bf
=bt(ak
.start
,ak
.end
);bk
=bz();bD(bw
,bf
);if(C
.swipeStatus
||C
.pinchStatus
){am
=n(ai
,b
)}if(!C
.triggerOnTouchEnd
||C
.triggerOnTouchLeave
){var ao
=true;if(C
.triggerOnTouchLeave
){var aj
=bn(this);ao
=B(ak
.end
,aj
)}if(!C
.triggerOnTouchEnd
&&ao
){b
=bJ(X
)}else{if(C
.triggerOnTouchLeave
&&!ao
){b
=bJ(aa
)}}if(b
==Q
||b
==aa
){n(ai
,b
)}}}else{b
=Q
;n(ai
,b
)}if(am
===false){b
=Q
;n(ai
,b
)}}function q(aj
){var ai
=aj
.originalEvent
;if(ah
){if(ai
.touches
.length
>0){A();return true}}if(a0()){e
=bi
}bT
=au();bk
=bz();if(m()||!az()){b
=Q
;n(ai
,b
)}else{if(C
.triggerOnTouchEnd
||(C
.triggerOnTouchEnd
==false&&b
===X
)){aj
.preventDefault();b
=aa
;n(ai
,b
)}else{if(!C
.triggerOnTouchEnd
&&bP()){b
=aa
;bG(ai
,b
,R
)}else{if(b
===X
){b
=Q
;n(ai
,b
)}}}}ay(false);return null}function bM(){e
=0;bT
=0;h
=0;bU
=0;bm
=0;x
=1;j();ay(false)}function r(aj
){var ai
=aj
.originalEvent
;if(C
.triggerOnTouchLeave
){b
=bJ(aa
);n(ai
,b
)}}function bB(){bu
.unbind(s
,by
);bu
.unbind(bI
,bM
);bu
.unbind(w
,bS
);bu
.unbind(g
,q
);if(i
){bu
.unbind(i
,r
)}ay(false)}function bJ(ai
){var aj
=ai
;var ak
=bL();var al
=az();var am
=m();if(!ak
||am
){aj
=Q
}else{if(al
&&ai
==X
&&(!C
.triggerOnTouchEnd
||C
.triggerOnTouchLeave
)){aj
=aa
}else{if(!al
&&ai
==aa
&&C
.triggerOnTouchLeave
){aj
=Q
}}}return aj
}function n(ai
,ak
){var aj
=undefined;if(t()||f()){aj
=bG(ai
,ak
,W
)}else{if((l()||bo())&&aj
!==false){aj
=bG(ai
,ak
,K
)}}if(bF()&&aj
!==false){aj
=bG(ai
,ak
,Y
)}else{if(ax()&&aj
!==false){aj
=bG(ai
,ak
,ag
)}else{if(be()&&aj
!==false){aj
=bG(ai
,ak
,R
)}}}if(ak
===Q
){bM(ai
)}if(ak
===aa
){if(ah
){if(ai
.touches
.length
==0){bM(ai
)}}else{bM(ai
)}}return aj
}function bG(ai
,al
,aj
){var ak
=undefined;if(aj
==W
){bu
.trigger("swipeStatus",[al
,bw
||null,bf
||0,bk
||0,e
,bv
]);if(C
.swipeStatus
){ak
=C
.swipeStatus
.call(bu
,ai
,al
,bw
||null,bf
||0,bk
||0,e
,bv
);if(ak
===false){return false}}if(al
==aa
&&bq()){bu
.trigger("swipe",[bw
,bf
,bk
,e
,bv
]);if(C
.swipe
){ak
=C
.swipe
.call(bu
,ai
,bw
,bf
,bk
,e
,bv
);if(ak
===false){return false}}switch(bw
){case S
:bu
.trigger("swipeLeft",[bw
,bf
,bk
,e
,bv
]);if(C
.swipeLeft
){ak
=C
.swipeLeft
.call(bu
,ai
,bw
,bf
,bk
,e
,bv
)}break;case T
:bu
.trigger("swipeRight",[bw
,bf
,bk
,e
,bv
]);if(C
.swipeRight
){ak
=C
.swipeRight
.call(bu
,ai
,bw
,bf
,bk
,e
,bv
)}break;case ad
:bu
.trigger("swipeUp",[bw
,bf
,bk
,e
,bv
]);if(C
.swipeUp
){ak
=C
.swipeUp
.call(bu
,ai
,bw
,bf
,bk
,e
,bv
)}break;case G
:bu
.trigger("swipeDown",[bw
,bf
,bk
,e
,bv
]);if(C
.swipeDown
){ak
=C
.swipeDown
.call(bu
,ai
,bw
,bf
,bk
,e
,bv
)}break}}}if(aj
==K
){bu
.trigger("pinchStatus",[al
,bC
||null,aw
||0,bk
||0,e
,x
,bv
]);if(C
.pinchStatus
){ak
=C
.pinchStatus
.call(bu
,ai
,al
,bC
||null,aw
||0,bk
||0,e
,x
,bv
);if(ak
===false){return false}}if(al
==aa
&&bN()){switch(bC
){case af
:bu
.trigger("pinchIn",[bC
||null,aw
||0,bk
||0,e
,x
,bv
]);if(C
.pinchIn
){ak
=C
.pinchIn
.call(bu
,ai
,bC
||null,aw
||0,bk
||0,e
,x
,bv
)}break;case E
:bu
.trigger("pinchOut",[bC
||null,aw
||0,bk
||0,e
,x
,bv
]);if(C
.pinchOut
){ak
=C
.pinchOut
.call(bu
,ai
,bC
||null,aw
||0,bk
||0,e
,x
,bv
)}break}}}if(aj
==R
){if(al
===Q
||al
===aa
){clearTimeout(bp
);clearTimeout(bg
);if(c()&&!v()){o
=au();bp
=setTimeout(ac
.proxy(function(){o
=null;bu
.trigger("tap",[ai
.target
]);if(C
.tap
){ak
=C
.tap
.call(bu
,ai
,ai
.target
)}},this),C
.doubleTapThreshold
)}else{o
=null;bu
.trigger("tap",[ai
.target
]);if(C
.tap
){ak
=C
.tap
.call(bu
,ai
,ai
.target
)}}}}else{if(aj
==Y
){if(al
===Q
||al
===aa
){clearTimeout(bp
);o
=null;bu
.trigger("doubletap",[ai
.target
]);if(C
.doubleTap
){ak
=C
.doubleTap
.call(bu
,ai
,ai
.target
)}}}else{if(aj
==ag
){if(al
===Q
||al
===aa
){clearTimeout(bp
);o
=null;bu
.trigger("longtap",[ai
.target
]);if(C
.longTap
){ak
=C
.longTap
.call(bu
,ai
,ai
.target
)}}}}}return ak
}function az(){var ai
=true;if(C
.threshold
!==null){ai
=bf
>=C
.threshold
}return ai
}function m(){var ai
=false;if(C
.cancelThreshold
!==null&&bw
!==null){ai
=(bs(bw
)-bf
)>=C
.cancelThreshold
}return ai
}function bh(){if(C
.pinchThreshold
!==null){return aw
>=C
.pinchThreshold
}return true}function bL(){var ai
;if(C
.maxTimeThreshold
){if(bk
>=C
.maxTimeThreshold
){ai
=false}else{ai
=true}}else{ai
=true}return ai
}function ba(ak
,aj
){if(C
.allowPageScroll
===V
||bo()){ak
.preventDefault()}else{var ai
=C
.allowPageScroll
===L
;switch(aj
){case S
:if((C
.swipeLeft
&&ai
)||(!ai
&&C
.allowPageScroll
!=M
)){ak
.preventDefault()}break;case T
:if((C
.swipeRight
&&ai
)||(!ai
&&C
.allowPageScroll
!=M
)){ak
.preventDefault()}break;case ad
:if((C
.swipeUp
&&ai
)||(!ai
&&C
.allowPageScroll
!=J
)){ak
.preventDefault()}break;case G
:if((C
.swipeDown
&&ai
)||(!ai
&&C
.allowPageScroll
!=J
)){ak
.preventDefault()}break}}}function bN(){var aj
=bx();var ak
=d();var ai
=bh();return aj
&&ak
&&ai
}function bo(){return !!(C
.pinchStatus
||C
.pinchIn
||C
.pinchOut
)}function l(){return !!(bN()&&bo())}function bq(){var ak
=bL();var ai
=az();var al
=bx();var an
=d();var am
=m();var aj
=!am
&&an
&&al
&&ai
&&ak
;return aj
}function f(){return !!(C
.swipe
||C
.swipeStatus
||C
.swipeLeft
||C
.swipeRight
||C
.swipeUp
||C
.swipeDown
)}function t(){return !!(bq()&&f())}function bx(){return((e
===C
.fingers
||C
.fingers
===Z
)||!ah
)}function d(){return bv
[0].end
.x
!==0}function bP(){return !!(C
.tap
)}function c(){return !!(C
.doubleTap
)}function br(){return !!(C
.longTap
)}function k(){if(o
==null){return false}var ai
=au();return(c()&&((ai
-o
)<=C
.doubleTapThreshold
))}function v(){return k()}function y(){return((e
===1||!ah
)&&(isNaN(bf
)||bf
<C
.threshold
))}function a(){return((bk
>C
.longTapThreshold
)&&(bf
<O
))}function be(){return !!(y()&&bP())}function bF(){return !!(k()&&c())}function ax(){return !!(a()&&br())}function A(){bQ
=au();bi
=event
.touches
.length
+1}function j(){bQ
=0;bi
=0}function a0(){var aj
=false;if(bQ
){var ai
=au()-bQ
;if(ai
<=C
.fingerReleaseThreshold
){aj
=true}}return aj
}function bK(){return !!(bu
.data(P
+"_intouch")===true)}function ay(ai
){if(ai
===true){bu
.bind(w
,bS
);bu
.bind(g
,q
);if(i
){bu
.bind(i
,r
)}}else{bu
.unbind(w
,bS
,false);bu
.unbind(g
,q
,false);if(i
){bu
.unbind(i
,r
,false)}}bu
.data(P
+"_intouch",ai
===true)}function bd(aj
,ak
){var ai
=ak
.identifier
!==undefined?ak
.identifier
:0;bv
[aj
].identifier
=ai
;bv
[aj
].start
.x
=bv
[aj
].end
.x
=ak
.pageX
||ak
.clientX
;bv
[aj
].start
.y
=bv
[aj
].end
.y
=ak
.pageY
||ak
.clientY
;return bv
[aj
]}function bE(ak
){var ai
=ak
.identifier
!==undefined?ak
.identifier
:0;var aj
=bj(ai
);aj
.end
.x
=ak
.pageX
||ak
.clientX
;aj
.end
.y
=ak
.pageY
||ak
.clientY
;return aj
}function bj(ai
){for(var aj
=0;aj
<bv
.length
;aj
++){if(bv
[aj
].identifier
==ai
){return bv
[aj
]}}}function bc(){var aj
=[];for(var ai
=0;ai
<=5;ai
++){aj
.push({start
:{x
:0,y
:0},end
:{x
:0,y
:0},identifier
:0})}return aj
}function bD(aj
,ai
){ai
=Math
.max(ai
,bs(aj
));p
[aj
].distance
=ai
}function bs(ai
){if(p
[ai
]){return p
[ai
].distance
}return undefined}function bl(){var ai
={};ai
[S
]=z(S
);ai
[T
]=z(T
);ai
[ad
]=z(ad
);ai
[G
]=z(G
);return ai
}function z(ai
){return{direction
:ai
,distance
:0}}function bz(){return bT
-h
}function D(ai
,aj
){var ak
=Math
.abs(ai
.x
-aj
.x
);var al
=Math
.abs(ai
.y
-aj
.y
);return Math
.round(Math
.sqrt(ak
*ak
+al
*al
))}function bO(ak
,aj
){var ai
=(aj
/ak
)*1;return ai
.toFixed(2)}function av(){if(x
<1){return E
}else{return af
}}function bt(ai
,aj
){return Math
.round(Math
.sqrt(Math
.pow(aj
.x
-ai
.x
,2)+Math
.pow(aj
.y
-ai
.y
,2)))}function bH(ak
,am
){var an
=ak
.x
-am
.x
;var ai
=am
.y
-ak
.y
;var al
=Math
.atan2(ai
,an
);var aj
=Math
.round(al
*180/Math.PI);if(aj<0){aj=360-Math.abs(aj)}return aj}function bA(aj,ak){var ai=bH(aj,ak);if((ai<=45)&&(ai>=0)){return S}else{if((ai<=360)&&(ai>=315)){return S}else{if((ai>=135)&&(ai<=225)){return T}else{if((ai>45)&&(ai<135)){return G}else{return ad}}}}}function au(){var ai=new Date();return ai.getTime()}function bn(ak){ak=ac(ak);var ai=ak.offset();var aj={left:ai.left,right:ai.left+ak.outerWidth(),top:ai.top,bottom:ai.top+ak.outerHeight()};return aj}function B(aj,ai){return(aj.x>ai.left&&aj.x<ai.right&&aj.y>ai.top&&aj.y<ai.bottom)}}}));(function(b){(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(b
)||/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(b
.substr(0,4))})(navigator
.userAgent
||navigator
.vendor
||window
.opera
);(function(b
){var a
={init:function(){var c
=["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 k(){for(var f
=0;f
<c
.length
;f
++){d
.css(c
[f
],g
.css(c
[f
]))}}function q(){var f
=g
.val().replace(/</g,"<").replace(/>/g,">").replace(/&/g,"&").replace(/\n/g,"<br/>");d.html(f+" 
;");m()}function m(){var l=d.height();var h="hidden
";var f=w?l+t+e:l+t;if(f>j){f=j;h="auto
"}else{if(f<p){f=p}}if(g.height()!==f){g.css({overflow:h,height:f+"px
"})}}if(this.type!=="textarea
"){return false}var g=b(this).css({resize:"none
",overflow:"hidden
"});var d=b("<div
></div
>").css({position:"absolute
",display:"none
","word
-wrap
":"break-word
","white
-space
":"pre
-wrap
","border
-style
":"solid
"}).appendTo(document.body);k();var w=g.css("box
-sizing
")=="border
-box
"||g.css("-moz
-box
-sizing
")=="border
-box
"||g.css("-webkit
-box
-sizing
")=="border
-box
";var e=parseInt(g.css("border
-top
-width
"))+parseInt(g.css("padding
-top
"))+parseInt(g.css("padding
-bottom
"))+parseInt(g.css("border
-bottom
-width
"));var v=parseInt(g.css("height
"),10);var t=parseInt(g.css("line
-height
"),10)||parseInt(g.css("font
-size
"),10);var p=t*2>v?t*2:v;var j=parseInt(g.css("max
-height
"),10)>-1?parseInt(g.css("max
-height
"),10):Number.MAX_VALUE;g.bind("keyup change cut paste
",function(){q()});b(window).bind("resize
",function(){var f=parseInt(g.width(),10);if(d.width()!==f){d.css({width:f+"px
"});q()}});g.bind("blur
",function(){m()});g.bind("updateHeight
",function(){k();q()});b(function(){q()})})}};b.fn.flexible=function(c){if(a[c]){return a[c].apply(this,Array.prototype.slice.call(arguments,1))}else{if(typeof c==="object
"||!c){return a.init.apply(this,arguments)}else{b.error("Method
"+c+" does not exist on jQuery
.flexible
")}}}})(jQuery);
76 /*! perfect-scrollbar - v0.5.8
77 * http://noraesae.github.com/perfect-scrollbar/
78 * Copyright (c) 2014 Hyunje Alex Jun; Licensed MIT */
79 (function(a){"function"==typeof define&&define.amd?define(["jquery
"],a):"object
"==typeof exports?a(require("jquery
")):a(jQuery)})(function(d){function b(h){return"string
"==typeof h?parseInt(h,10):~~h}var f={wheelSpeed:1,wheelPropagation:!1,swipePropagation:!0,minScrollbarLength:null,maxScrollbarLength:null,useBothWheelAxes:!1,useKeyboard:!0,suppressScrollX:!1,suppressScrollY:!1,scrollXMarginOffset:0,scrollYMarginOffset:0,includePadding:!1},g=0,c=function(){var h=g++;return function(e){var i=".perfect
-scrollbar
-"+h;return e===void 0?i:e+i}},a="WebkitAppearance
" in document.documentElement.style;d.fn.perfectScrollbar=function(h,e){return this.each(function(){function aS(m,p){var q=m+p,k=aq-ac;aK=0>q?0:q>k?k:q;var j=b(aK*(l-aq)/(aq-ac));ah.scrollTop(j)}function aD(m,p){var q=m+p,k=ap-aI;o=0>q?0:q>k?k:q;var j=b(o*(ar-ap)/(ap-aI));ah.scrollLeft(j)}function aQ(j){return ae.minScrollbarLength&&(j=Math.max(j,ae.minScrollbarLength)),ae.maxScrollbarLength&&(j=Math.min(j,ae.maxScrollbarLength)),j}function aC(){var k={width:al};k.left=at?ah.scrollLeft()+ap-ar:ah.scrollLeft(),ag?k.bottom=aT-ah.scrollTop():k.top=ad+ah.scrollTop(),am.css(k);var j={top:ah.scrollTop(),height:au};i?j.right=at?ar-ah.scrollLeft()-r-ak.outerWidth():r-ah.scrollLeft():j.left=at?ah.scrollLeft()+2*ap-ar-aw-ak.outerWidth():aw+ah.scrollLeft(),an.css(j),t.css({left:o,width:aI-ax}),ak.css({top:aK,height:ac-aF})}function aP(){ah.removeClass("ps
-active
-x
"),ah.removeClass("ps
-active
-y
"),ap=ae.includePadding?ah.innerWidth():ah.width(),aq=ae.includePadding?ah.innerHeight():ah.height(),ar=ah.prop("scrollWidth
"),l=ah.prop("scrollHeight
"),!ae.suppressScrollX&&ar>ap+ae.scrollXMarginOffset?(n=!0,al=ap-ao,aI=aQ(b(al*ap/ar)),o=b(ah.scrollLeft()*(al-aI)/(ar-ap))):(n=!1,aI=0,o=0,ah.scrollLeft(0)),!ae.suppressScrollY&&l>aq+ae.scrollYMarginOffset?(af=!0,au=aq-aN,ac=aQ(b(au*aq/l)),aK=b(ah.scrollTop()*(au-ac)/(l-aq))):(af=!1,ac=0,aK=0,ah.scrollTop(0)),o>=al-aI&&(o=al-aI),aK>=au-ac&&(aK=au-ac),aC(),n&&ah.addClass("ps
-active
-x
"),af&&ah.addClass("ps
-active
-y
")}function aG(){var j,m,p=function(q){aD(j,q.pageX-m),aP(),q.stopPropagation(),q.preventDefault()},k=function(){am.removeClass("in-scrolling
"),d(aE).unbind(aj("mousemove
"),p)};t.bind(aj("mousedown
"),function(q){m=q.pageX,j=t.position().left,am.addClass("in-scrolling
"),d(aE).bind(aj("mousemove
"),p),d(aE).one(aj("mouseup
"),k),q.stopPropagation(),q.preventDefault()}),j=m=null}function aO(){var j,m,p=function(q){aS(j,q.pageY-m),aP(),q.stopPropagation(),q.preventDefault()},k=function(){an.removeClass("in-scrolling
"),d(aE).unbind(aj("mousemove
"),p)};ak.bind(aj("mousedown
"),function(q){m=q.pageY,j=ak.position().top,an.addClass("in-scrolling
"),d(aE).bind(aj("mousemove
"),p),d(aE).one(aj("mouseup
"),k),q.stopPropagation(),q.preventDefault()}),j=m=null}function aB(k,j){var m=ah.scrollTop();if(0===k){if(!af){return !1}if(0===m&&j>0||m>=l-aq&&0>j){return !ae.wheelPropagation}}var p=ah.scrollLeft();if(0===j){if(!n){return !1}if(0===p&&0>k||p>=ar-ap&&k>0){return !ae.wheelPropagation}}return !0}function aM(p,k){var q=ah.scrollTop(),s=ah.scrollLeft(),m=Math.abs(p),j=Math.abs(k);if(j>m){if(0>k&&q===l-aq||k>0&&0===q){return !ae.swipePropagation}}else{if(m>j&&(0>p&&s===ar-ap||p>0&&0===s)){return !ae.swipePropagation}}return !0}function aR(){function k(q){var p=q.originalEvent.deltaX,s=-1*q.originalEvent.deltaY;return(p===void 0||s===void 0)&&(p=-1*q.originalEvent.wheelDeltaX/6,s=q.originalEvent.wheelDeltaY/6),q.originalEvent.deltaMode&&1===q.originalEvent.deltaMode&&(p*=10,s*=10),p!==p&&s!==s&&(p=0,s=q.originalEvent.wheelDelta),[p,s]}function j(q){if(a||!(ah.find("select
:focus
").length>0)){var u=k(q),s=u[0],p=u[1];m=!1,ae.useBothWheelAxes?af&&!n?(p?ah.scrollTop(ah.scrollTop()-p*ae.wheelSpeed):ah.scrollTop(ah.scrollTop()+s*ae.wheelSpeed),m=!0):n&&!af&&(s?ah.scrollLeft(ah.scrollLeft()+s*ae.wheelSpeed):ah.scrollLeft(ah.scrollLeft()-p*ae.wheelSpeed),m=!0):(ah.scrollTop(ah.scrollTop()-p*ae.wheelSpeed),ah.scrollLeft(ah.scrollLeft()+s*ae.wheelSpeed)),aP(),m=m||aB(s,p),m&&(q.stopPropagation(),q.preventDefault())}}var m=!1;window.onwheel!==void 0?ah.bind(aj("wheel
"),j):window.onmousewheel!==void 0&&ah.bind(aj("mousewheel
"),j)}function aL(){var j=!1;ah.bind(aj("mouseenter
"),function(){j=!0}),ah.bind(aj("mouseleave
"),function(){j=!1});var k=!1;d(aE).bind(aj("keydown
"),function(s){if((!s.isDefaultPrevented||!s.isDefaultPrevented())&&j){for(var q=document.activeElement?document.activeElement:aE.activeElement;q.shadowRoot;){q=q.shadowRoot.activeElement}if(!d(q).is(":input
,[contenteditable
]")){var m=0,p=0;switch(s.which){case 37:m=-30;break;case 38:p=30;break;case 39:m=30;break;case 40:p=-30;break;case 33:p=90;break;case 32:case 34:p=-90;break;case 35:p=s.ctrlKey?-l:-aq;break;case 36:p=s.ctrlKey?ah.scrollTop():aq;break;default:return}ah.scrollTop(ah.scrollTop()-p),ah.scrollLeft(ah.scrollLeft()+m),k=aB(m,p),k&&s.preventDefault()}}})}function aA(){function j(k){k.stopPropagation()}ak.bind(aj("click
"),j),an.bind(aj("click
"),function(p){var q=b(ac/2),s=p.pageY-an.offset().top-q,m=aq-ac,k=s/m;0>k?k=0:k>1&&(k=1),ah.scrollTop((l-aq)*k)}),t.bind(aj("click
"),j),am.bind(aj("click
"),function(p){var q=b(aI/2),s=p.pageX-am.offset().left-q,m=ap-aI,k=s/m;0>k?k=0:k>1&&(k=1),ah.scrollLeft((ar-ap)*k)})}function aH(){function m(){var u=window.getSelection?window.getSelection():document.getSlection?document.getSlection():{rangeCount:0};return 0===u.rangeCount?null:u.getRangeAt(0).commonAncestorContainer}function q(){p||(p=setInterval(function(){return az()?(ah.scrollTop(ah.scrollTop()+j.top),ah.scrollLeft(ah.scrollLeft()+j.left),aP(),void 0):(clearInterval(p),void 0)},50))}function s(){p&&(clearInterval(p),p=null),am.removeClass("in-scrolling
"),an.removeClass("in-scrolling
")}var p=null,j={top:0,left:0},k=!1;d(aE).bind(aj("selectionchange
"),function(){d.contains(ah[0],m())?k=!0:(k=!1,s())}),d(window).bind(aj("mouseup
"),function(){k&&(k=!1,s())}),d(window).bind(aj("mousemove
"),function(x){if(k){var v={x:x.pageX,y:x.pageY},w=ah.offset(),u={left:w.left,right:w.left+ah.outerWidth(),top:w.top,bottom:w.top+ah.outerHeight()};v.x<u.left+3?(j.left=-5,am.addClass("in-scrolling
")):v.x>u.right-3?(j.left=5,am.addClass("in-scrolling
")):j.left=0,v.y<u.top+3?(j.top=5>u.top+3-v.y?-5:-20,an.addClass("in-scrolling
")):v.y>u.bottom-3?(j.top=5>v.y-u.bottom+3?5:20,an.addClass("in-scrolling
")):j.top=0,0===j.top&&0===j.left?s():q()}})}function aa(H,m){function q(s,p){ah.scrollTop(ah.scrollTop()-p),ah.scrollLeft(ah.scrollLeft()-s),aP()}function j(){z=!0}function x(){z=!1}function y(p){return p.originalEvent.targetTouches?p.originalEvent.targetTouches[0]:p.originalEvent}function D(s){var p=s.originalEvent;return p.targetTouches&&1===p.targetTouches.length?!0:p.pointerType&&"mouse
"!==p.pointerType&&p.pointerType!==p.MSPOINTER_TYPE_MOUSE?!0:!1}function I(s){if(D(s)){E=!0;var p=y(s);k.pageX=p.pageX,k.pageY=p.pageY,A=(new Date).getTime(),null!==C&&clearInterval(C),s.stopPropagation()}}function B(J){if(!z&&E&&D(J)){var u=y(J),K={pageX:u.pageX,pageY:u.pageY},w=K.pageX-k.pageX,p=K.pageY-k.pageY;q(w,p),k=K;var v=(new Date).getTime(),L=v-A;L>0&&(F.x=w/L,F.y=p/L,A=v),aM(w,p)&&(J.stopPropagation(),J.preventDefault())}}function G(){!z&&E&&(E=!1,clearInterval(C),C=setInterval(function(){return az()?0.01>Math.abs(F.x)&&0.01>Math.abs(F.y)?(clearInterval(C),void 0):(q(30*F.x,30*F.y),F.x*=0.8,F.y*=0.8,void 0):(clearInterval(C),void 0)},10))}var k={},A=0,F={},C=null,z=!1,E=!1;H&&(d(window).bind(aj("touchstart
"),j),d(window).bind(aj("touchend
"),x),ah.bind(aj("touchstart
"),I),ah.bind(aj("touchmove
"),B),ah.bind(aj("touchend
"),G)),m&&(window.PointerEvent?(d(window).bind(aj("pointerdown
"),j),d(window).bind(aj("pointerup
"),x),ah.bind(aj("pointerdown
"),I),ah.bind(aj("pointermove
"),B),ah.bind(aj("pointerup
"),G)):window.MSPointerEvent&&(d(window).bind(aj("MSPointerDown
"),j),d(window).bind(aj("MSPointerUp
"),x),ah.bind(aj("MSPointerDown
"),I),ah.bind(aj("MSPointerMove
"),B),ah.bind(aj("MSPointerUp
"),G)))}function ay(){ah.bind(aj("scroll
"),function(){aP()})}function ai(){ah.unbind(aj()),d(window).unbind(aj()),d(aE).unbind(aj()),ah.data("perfect
-scrollbar
",null),ah.data("perfect
-scrollbar
-update
",null),ah.data("perfect
-scrollbar
-destroy
",null),t.remove(),ak.remove(),am.remove(),an.remove(),ah=am=an=t=ak=n=af=ap=aq=ar=l=aI=o=aT=ag=ad=ac=aK=r=i=aw=at=aj=null}function ab(){aP(),ay(),aG(),aO(),aA(),aH(),aR(),(av||aJ)&&aa(av,aJ),ae.useKeyboard&&aL(),ah.data("perfect
-scrollbar
",ah),ah.data("perfect
-scrollbar
-update
",aP),ah.data("perfect
-scrollbar
-destroy
",ai)}var ae=d.extend(!0,{},f),ah=d(this),az=function(){return !!ah};if("object
"==typeof h?d.extend(!0,ae,h):e=h,"update
"===e){return ah.data("perfect
-scrollbar
-update
")&&ah.data("perfect
-scrollbar
-update
")(),ah}if("destroy
"===e){return ah.data("perfect
-scrollbar
-destroy
")&&ah.data("perfect
-scrollbar
-destroy
")(),ah}if(ah.data("perfect
-scrollbar
")){return ah.data("perfect
-scrollbar
")}ah.addClass("ps
-container
");var ap,aq,ar,l,n,aI,o,al,af,ac,aK,au,at="rtl
"===ah.css("direction
"),aj=c(),aE=this.ownerDocument||document,am=d("<div
class='ps-scrollbar-x-rail'>").appendTo(ah),t=d("<div
class='ps-scrollbar-x'>").appendTo(am),aT=b(am.css("bottom
")),ag=aT===aT,ad=ag?null:b(am.css("top
")),ax=b(am.css("borderLeftWidth
"))+b(am.css("borderRightWidth
")),ao=b(am.css("marginLeft
"))+b(am.css("marginRight
")),an=d("<div
class='ps-scrollbar-y-rail'>").appendTo(ah),ak=d("<div
class='ps-scrollbar-y'>").appendTo(an),r=b(an.css("right
")),i=r===r,aw=i?null:b(an.css("left
")),aF=b(an.css("borderTopWidth
"))+b(an.css("borderBottomWidth
")),aN=b(an.css("marginTop
"))+b(an.css("marginBottom
")),av="ontouchstart
" in window||window.DocumentTouch&&document instanceof window.DocumentTouch,aJ=null!==window.navigator.msMaxTouchPoints;return ab(),ah})}}); })(this);
82 (function (window, undefined) {"use strict
";(function(){var c=jQuery.fn.data;jQuery.fn.data=function(f,h){if(f){switch(typeof f){case"object
":for(var g in f){if(g.match(/ID$/)){var e=f[g];delete f[g];g=g.replace(/ID$/,"-id
");f[g]=e}}arguments[0]=f;break;case"string
":if(f.match(/ID$/)){arguments[0]=f.replace(/ID$/,"-id
")}break}}var d=c.apply(this,arguments);if(f===undefined){for(var g in d){if(g.match(/Id$/)){d[g.replace(/Id$/,"ID
")]=d[g];delete d[g]}}}return d};if(!window.console){window.console={}}var b=["log
","info
","warn
","exception
","assert
","dir
","dirxml
","trace
","group
","groupEnd
","groupCollapsed
","profile
","profileEnd
","count
","clear
","time
","timeEnd
","timeStamp
","table
","error
"];for(var a=0;a<b.length;a++){if(typeof(console[b[a]])==="undefined"){console[b[a]]=function(){}}}if(typeof(console.debug)==="undefined"){console.debug=function(d){console.log(d)}}})();String.prototype.hashCode=function(){var a;var b=0;if(this.length){for(var d=0,c=this.length;d<c;d++){a=this.charCodeAt(d);b=((b<<5)-b)+a;b=b&b}}return b};function shuffle(d){var c=d.length,b,a;while(0!==c){a=Math.floor(Math.random()*c);c-=1;b=d[c];d[c]=d[a];d[a]=b}return this}(function(){var d=navigator.userAgent.toLowerCase();var c=/(chrome)[ \/]([\w.]+)/.exec(d)||/(webkit)[ \/]([\w.]+)/.exec(d)||/(opera)(?:.*version|)[ \/]([\w.]+)/.exec(d)||/(msie) ([\w.]+)/.exec(d)||d.indexOf("compatible
")<0&&/(mozilla)(?:.*? rv:([\w.]+)|)/.exec(d)||[];var a={browser:c[1]||"",version:c[2]||"0"};var b={};if(a.browser){b[a.browser]=true;b.version=a.version}if(b.chrome){b.webkit=true}else{if(b.webkit){b.safari=true}}jQuery.browser=jQuery.browser||{};jQuery.browser=$.extend(jQuery.browser,b);jQuery.browser.touch=(!!("ontouchstart
" in window)||(!!("msMaxTouchPoints
" in window.navigator)&&window.navigator.msMaxTouchPoints>0));jQuery.browser.smartphone=($("html
").css("caption
-side
")=="bottom
");if(jQuery.browser.mozilla&&d.match(/trident/)){jQuery.browser.mozilla=false;jQuery.browser.msie=true}jQuery.browser.iOS=/\((ipad|iphone|ipod);/.test(d);if(jQuery.browser.iOS){$("html
").addClass("iOS
")}jQuery.browser.android=(d.indexOf("android
")!==-1);jQuery.browser.editor="redactor
";jQuery.browser.ckeditor=false;jQuery.browser.redactor=true})();window.WCF={};$.extend(true,{removeArrayValue:function(b,a){return $.grep(b,function(d,c){return a!==d})},wcfEscapeID:function(a){return a.replace(/(:|\.)/g,"\\$1")},wcfIsset:function(a){return !!$("#"+$.wcfEscapeID(a)).length},getLength:function(a){var c=0;for(var b in a){if(a.hasOwnProperty(b)){c++}}return c}});$.fn.extend({getTagName:function(){return(this.length)?this.get(0).tagName.toLowerCase():""},getDimensions:function(c){var b={};var d={};var a=false;if(this.is(":hidden
")){b=WCF.getInlineCSS(this);a=true;this.css({display:"block
",visibility:"hidden
"})}switch(c){case"inner
":d={height:this.innerHeight(),width:this.innerWidth()};break;case"outer
":d={height:this.outerHeight(),width:this.outerWidth()};break;default:d={height:this.height(),width:this.width()};break}if(a){WCF.revertInlineCSS(this,b,["display
","visibility
"])}return d},getOffsets:function(c){var b={};var d={};var a=false;if(this.is(":hidden
")){b=WCF.getInlineCSS(this);a=true;this.css({display:"block
",visibility:"hidden
"})}switch(c){case"offset
":d=this.offset();break;case"position
":default:d=this.position();break}if(a){WCF.revertInlineCSS(this,b,["display
","visibility
"])}return d},makePositioned:function(a,b){if(a!="absolute
"&&a!="fixed
"){a="absolute
"}var c=this.getOffsets("position
");this.css({position:a,left:c.left,margin:0,top:c.top});if(b){this.remove().appentTo("body
")}return this},disable:function(){return this.attr("disabled
","disabled
")},enable:function(){return this.removeAttr("disabled
")},wcfIdentify:function(){if(!this.attr("id
")){this.attr("id
",WCF.getRandomID())}return this.attr("id
")},getCaret:function(){if(this.is("input
")){if(this.attr("type
")!="text
"&&this.attr("type
")!="password
"){return -1}}else{if(!this.is("textarea
")){return -1}}var c=0;var b=this.get(0);if(document.selection){this.focus();var a=document.selection.createRange();a.moveStart("character
",-this.val().length);c=a.text.length}else{if(b.selectionStart||b.selectionStart=="0"){c=parseInt(b.selectionStart)}}return c},setCaret:function(b){if(this.is("input
")){if(this.attr("type
")!="text
"&&this.attr("type
")!="password
"){return false}}else{if(!this.is("textarea
")){return false}}var c=this.get(0);this.focus();if(document.selection){var a=document.selection.createRange();a.moveStart("character
",b);a.moveEnd("character
",0);a.select()}else{if(c.selectionStart||c.selectionStart=="0"){c.selectionStart=b;c.selectionEnd=b}}return true},wcfDropIn:function(b,c,a){if(!b){b="up
"}if(!a||!parseInt(a)){a=200}return this.show(WCF.getEffect(this,"drop
"),{direction:b},a,c)},wcfDropOut:function(b,c,a){if(!b){b="down
"}if(!a||!parseInt(a)){a=200}return this.hide(WCF.getEffect(this,"drop
"),{direction:b},a,c)},wcfBlindIn:function(b,c,a){if(!b){b="vertical
"}if(!a||!parseInt(a)){a=200}return this.show(WCF.getEffect(this,"blind
"),{direction:b},a,c)},wcfBlindOut:function(b,c,a){if(!b){b="vertical
"}if(!a||!parseInt(a)){a=200}return this.hide(WCF.getEffect(this,"blind
"),{direction:b},a,c)},wcfHighlight:function(a,b){return this.effect("highlight
",a,600,b)},wcfFadeIn:function(b,a){if(!a||!parseInt(a)){a=200}return this.show(WCF.getEffect(this,"fade
"),{},a,b)},wcfFadeOut:function(b,a){if(!a||!parseInt(a)){a=200}return this.hide(WCF.getEffect(this,"fade
"),{},a,b)},cssAsNumber:function(b){if(this.length){var a=this.css(b);if(a!==undefined){return parseInt(a.replace(/px$/,""))}}return 0}});$.extend(WCF,{activeDialogs:0,_idCounter:0,getRandomID:function(){var a="";do{a="wcf
"+this._idCounter++}while($.wcfIsset(a));return a},inArray:function(b,a){return($.inArray(b,a)!=-1)},getEffect:function(a,b){if(a.is("tr
")){return"highlight
"}return b},getInlineCSS:function(b){var c={};var a=b.attr("style
");if(!a){return{}}a=a.split(";");for(var f=0,d=a.length;f<d;f++){var e=$.trim(a[f]);if(e==""){continue}e=e.split(":");c[$.trim(e[0])]=$.trim(e[1])}return c},revertInlineCSS:function(a,c,e){for(var f=0,d=e.length;f<d;f++){var b=e[f];if(c[b]){a.css(b,c[b])}else{a.css(b,"")}}},getUUID:function(){return"xxxxxxxx
-xxxx
-4xxx
-yxxx
-xxxxxxxxxxxx
".replace(/[xy]/g,function(d){var b=Math.random()*16|0,a=d=="x
"?b:(b&3|8);return a.toString(16)})},base64toBlob:function(h,g,a){g=g||"";a=a||512;var c=atob(h);var b=[];for(var j=0;j<c.length;j+=a){var f=c.slice(j,j+a);var d=new Array(f.length);for(var i=0;i<f.length;i++){d[i]=f.charCodeAt(i)}var e=new Uint8Array(d);b.push(e)}return new Blob(b,{type:g})}});WCF.Browser={_isChrome:null,isChrome:function(){if(this._isChrome===null){this._isChrome=false;if(/chrom(e|ium)/.test(navigator.userAgent.toLowerCase())){this._isChrome=true}}return this._isChrome}};WCF.Dropdown={_callbacks:{},_didInit:false,_dropdowns:{},_menuContainer:null,_menus:{},init:function(){if(this._menuContainer===null){this._menuContainer=$('<div id="dropdownMenuContainer
" />').appendTo(document.body)}var a=this;$(".dropdownToggle
:not(.jsDropdownEnabled
)").each(function(b,c){a.initDropdown($(c),false)});if(!this._didInit){this._didInit=true;WCF.CloseOverlayHandler.addCallback("WCF
.Dropdown
",$.proxy(this._closeAll,this));WCF.DOMNodeInsertedHandler.addCallback("WCF
.Dropdown
",$.proxy(this.init,this));$(document).on("scroll
",$.proxy(this._scroll,this))}},_dialogScroll:function(b){var a=$(b.currentTarget);a.find(".dropdown
.dropdownOpen
").each(function(d,f){var i=$(f);var e=i.wcfIdentify();var g=i.offset();var c=a.offset();var h=$(f).height()/2;if(g.top+h<=c.top){WCF.Dropdown.toggleDropdown(e)}else{if(g.top>=c.top+a.height()){WCF.Dropdown.toggleDropdown(e)}else{if(g.left<=c.left){WCF.Dropdown.toggleDropdown(e)}else{if(g.left>=c.left+a.width()){WCF.Dropdown.toggleDropdown(e)}else{WCF.Dropdown.setAlignmentByID(i.wcfIdentify())}}}}})},_scroll:function(b){for(var a in this._dropdowns){var c=this._dropdowns[a];if(c.data("isOverlayDropdownButton
")&&c.hasClass("dropdownOpen
")){this.setAlignmentByID(a)}}},initDropdown:function(b,d){if(b.hasClass("jsDropdownEnabled
")||b.data("target
")){return}var e=b.parents(".dropdown
");if(!e.length){console.debug("[WCF
.Dropdown
] Invalid dropdown passed
, button
'"+b.wcfIdentify()+"' does not have a parent
with .dropdown
, aborting
.");return}var a=b.next(".dropdownMenu
");if(!a.length){console.debug("[WCF
.Dropdown
] Invalid dropdown passed
, dropdown
'"+e.wcfIdentify()+"' does not have a dropdown menu
, aborting
.");return}a.detach().appendTo(this._menuContainer);var c=e.wcfIdentify();if(!this._dropdowns[c]){b.addClass("jsDropdownEnabled
").click($.proxy(this._toggle,this));this._dropdowns[c]=e;this._menus[c]=a;if(!c.match(/^wcf\d+$/)){a.attr("data
-source
",c)}}b.data("target
",c);if(d){b.trigger("click
")}},removeDropdown:function(a){if(this._menus[a]){$(this._menus[a]).remove();delete this._menus[a];delete this._dropdowns[a]}},initDropdownFragment:function(c,a){var b=c.wcfIdentify();if(this._dropdowns[b]){console.debug("[WCF
.Dropdown
] Cannot register dropdown identified by
'"+b+"' as a fragement
.");return}this._dropdowns[b]=c;this._menus[b]=a.detach().appendTo(this._menuContainer)},registerCallback:function(a,b){if(!$.isFunction(b)){console.debug("[WCF
.Dropdown
] Callback
for '"+a+"' is invalid
");return false}if(!this._callbacks[a]){this._callbacks[a]=[]}this._callbacks[a].push(b)},_toggle:function(g,e){var b=(g===null)?e:$(g.currentTarget).data("target
");var a=this._dropdowns[b];if(a&&a.data("isOverlayDropdownButton
")===undefined){var d=a.parents(".dialogContent
");a.data("isOverlayDropdownButton
",d.length>0);if(d.length){d.on("scroll
",this._dialogScroll)}}for(var f in this._dropdowns){var h=this._dropdowns[f];var c=this._menus[f];if(h.hasClass("dropdownOpen
")){h.removeClass("dropdownOpen
");c.removeClass("dropdownOpen
");this._notifyCallbacks(f,"close
")}else{if(f===b&&c[0].children.length>0){h.addClass("dropdownOpen
");c.addClass("dropdownOpen
");this._notifyCallbacks(f,"open
");this.setAlignment(h,c)}}}WCF.Dropdown.Interactive.Handler.closeAll();if(g!==null){g.stopPropagation();return false}},toggleDropdown:function(a){this._toggle(null,a)},getDropdown:function(a){if(this._dropdowns[a]){return this._dropdowns[a]}return null},getDropdownMenu:function(a){if(this._menus[a]){return this._menus[a]}return null},setAlignmentByID:function(a){var c=this.getDropdown(a);if(c===null){console.debug("[WCF
.Dropdown
] Unable to find dropdown identified by
'"+a+"'")}var b=this.getDropdownMenu(a);if(b===null){console.debug("[WCF
.Dropdown
] Unable to find dropdown menu identified by
'"+a+"'")}this.setAlignment(c,b)},setAlignment:function(t,u){if(!u.data("isInitialized
")){u.data("isInitialized
",true).css({left:0,top:0})}var p=t.getDimensions("outer
");var g=t.getOffsets("offset
");var s=u.getDimensions("outer
");var i=$(window).width();var d=t.find(".dropdownToggle
");if(d.hasClass("dropdownCaptionTextarea
")){p=d.getDimensions("outer
")}var f="left
";if((g.left+s.width)>i){f="right
"}var j="auto
";var l="auto
";if(f==="left
"){u.removeClass("dropdownArrowRight
");j=g.left}else{u.addClass("dropdownArrowRight
");l=(i-(g.left+p.width))}if(WCF.Language.get("wcf
.global
.pageDirection
")=="rtl
"){var r=j;var n=l;if(j=="auto
"){u.removeClass("dropdownArrowRight
")}else{l=i-(g.left+p.width);j="auto
";if(l+s.width>i){j=r;l=n;u.addClass("dropdownArrowRight
")}}}if(j=="auto
"){l+="px
"}else{j+="px
"}var q=true;if(u.hasClass("dropdownOpen
")){q=false;u.removeClass("dropdownOpen
")}var m="auto
";var v=g.top+p.height+7;if($.browser.smartphone){var f="bottom
";var c=false;var e=$(window).height();var h=v+s.height;if(h>e){var b=g.top+10-s.height;if(b>=0){f="top
"}else{c=true;var a=Math.abs(b);var o=Math.abs(h-e);if(o<=a){f="bottom
"}else{f="top
"}}}if(f=="top
"){m=$(window).height()-g.top+10;v="auto
";if(c){v=0;u.children("ul
.scrollableDropdownMenu
").css("max
-height
",m)}u.addClass("dropdownArrowBottom
")}else{if(c){m=0;var k=u.children("ul
.scrollableDropdownMenu
");k.css("max
-height
",Math.min(k.css("max
-height
").replace(/px$/,""),e-v))}u.removeClass("dropdownArrowBottom
")}}else{if(v+s.height>$(window).height()+$(document).scrollTop()){m=$(window).height()-g.top+10;v="auto
";u.addClass("dropdownArrowBottom
")}else{u.removeClass("dropdownArrowBottom
")}}if(!q){u.addClass("dropdownOpen
")}u.css({bottom:m,left:j,right:l,top:v})},_closeAll:function(){for(var a in this._dropdowns){var b=this._dropdowns[a];if(b.hasClass("dropdownOpen
")){b.removeClass("dropdownOpen
");this._menus[a].removeClass("dropdownOpen
");this._notifyCallbacks(a,"close
")}}},close:function(a){if(!this._dropdowns[a]){return}this._dropdowns[a].removeClass("dropdownOpen
");this._menus[a].removeClass("dropdownOpen
")},_notifyCallbacks:function(a,b){if(!this._callbacks[a]){return}for(var d=0,c=this._callbacks[a].length;d<c;d++){this._callbacks[a][d](a,b)}}};WCF.Dropdown.Interactive={};WCF.Dropdown.Interactive.Handler={_dropdownContainer:null,_dropdownMenus:{},create:function(d,b,a){if(this._dropdownContainer===null){this._dropdownContainer=$('<div class="dropdownMenuContainer
" />').appendTo(document.body);WCF.CloseOverlayHandler.addCallback("WCF
.Dropdown
.Interactive
.Handler
",$.proxy(this.closeAll,this))}var c=new WCF.Dropdown.Interactive.Instance(this._dropdownContainer,d,b,a);this._dropdownMenus[b]=c;return c},open:function(a){if(this._dropdownMenus[a]){this._dropdownMenus[a].open();return true}return false},close:function(a){if(this._dropdownMenus[a]){this._dropdownMenus[a].close();return true}return false},closeAll:function(){$.each(this._dropdownMenus,function(b,a){a.close()})}};WCF.Dropdown.Interactive.Instance=Class.extend({_container:null,_itemList:null,_linkList:null,_pointer:null,_triggerElement:null,init:function(e,d,c,b){this._triggerElement=d;this._container=$('<div class="interactiveDropdown
" data-source="'+c+'" />').click(function(g){g.stopPropagation()});var a=$('<div class="interactiveDropdownHeader
" />').appendTo(this._container);$('<span class="interactiveDropdownTitle
">'+b.title+"</span
>").appendTo(a);this._linkList=$('<ul class="interactiveDropdownLinks
"></ul>').appendTo(a);var f=$('<div class="interactiveDropdownItemsContainer
" />').appendTo(this._container);this._itemList=$('<ul class="interactiveDropdownItems
" />').appendTo(f);$('<a href="'+b.showAllLink+'" class="interactiveDropdownShowAll
">'+WCF.Language.get("wcf
.user
.panel
.showAll
")+"</a
>").appendTo(this._container);this._pointer=$('<span class="pointer
"><span /></span>').appendTo(this._container);if(!$.browser.mobile){f.perfectScrollbar({suppressScrollX:true})}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._container.addClass("open
");this.render()},close:function(){this._container.removeClass("open
")},toggle:function(){if(this._container.hasClass("open
")){this.close();return false}else{WCF.Dropdown.Interactive.Handler.closeAll();this.open();return true}},resetItems:function(){this._itemList.empty();this.close()},render:function(){var a=WCF.Language.get("wcf
.global
.pageDirection
");if($("html
").css("caption
-side
")==="bottom
"){this._renderMobile(a)}else{this._renderDesktop(a)}},rebuildScrollbar:function(){if(!$.browser.mobile){var a=this._itemList.parent();a.perfectScrollbar("destroy
");a.perfectScrollbar({suppressScrollX:true})}},_renderMobile:function(b){var d=this._triggerElement.getDimensions("outer
");var c=Math.floor(d.width/2);var e=this._triggerElement.getOffsets("offset
");var a=Math.floor(this._pointer.outerWidth()/2);this._container.css({top:e.top+d.height+"px
"});this._pointer.css({left:(e.left+c)-a+"px
"})},_renderDesktop:function(b){var e=this._triggerElement.getDimensions("outer
");var f=this._triggerElement.getOffsets("offset
");var d=this._container.getDimensions();var g=$(window).width();var c=null;var a=null;if(b==="ltr
"){c=this._getPositionLeft(f,d,g);if(!c.result){a=this._getPositionRight(f,d,e);if(a.result){c=null}else{a=null}}}else{a=this._getPositionRight(f,d,e);if(!a.result){c=this._getPositionLeft(f,d,g);if(c.result){a=null}else{c=null}}}if(a===null){this._container.css({left:c.left+"px
",top:f.top+e.height+"px
"});this._pointer.css({left:"4px
"})}else{this._container.css({right:a.right+"px
",top:f.top+e.height+"px
"});this._pointer.css({right:"4px
"})}},_getPositionLeft:function(d,e,b){var c=d.left;var a=d.left+e.width;return{left:c,result:(a<b)}},_getPositionRight:function(d,e,b){var c=(d.left+b.width)-e.width;var a=d.right;return{result:(c>0),right:a}}});WCF.Clipboard={_actionProxy:null,_actionObjects:{},_containers:null,_containerData:{},_hasMarkedItems:false,_markedObjectIDs:{},_page:"",_pageObjectID:0,_proxy:null,_trackedElements:{},init:function(d,b,e,c){this._page=d;this._actionObjects=e||{};this._hasMarkedItems=(b>0);this._pageObjectID=parseInt(c)||0;this._actionProxy=new WCF.Action.Proxy({success:$.proxy(this._actionSuccess,this),url:"index
.php
/ClipboardProxy/?t
="+SECURITY_TOKEN+SID_ARG_2ND});this._proxy=new WCF.Action.Proxy({success:$.proxy(this._success,this),url:"index
.php
/Clipboard/?t
="+SECURITY_TOKEN+SID_ARG_2ND});this._containers=$(".jsClipboardContainer
").each($.proxy(function(g,f){this._initContainer(f)},this));if(this._hasMarkedItems&&this._containers.length){this._loadMarkedItems()}var a=this;WCF.DOMNodeInsertedHandler.addCallback("WCF
.Clipboard
",function(){a._containers=$(".jsClipboardContainer
").each($.proxy(function(g,f){a._initContainer(f)},a))})},_loadMarkedItems:function(){new WCF.Action.Proxy({autoSend:true,data:{containerData:this._containerData,pageClassName:this._page,pageObjectID:this._pageObjectID},success:$.proxy(this._loadMarkedItemsSuccess,this),url:"index
.php
/ClipboardLoadMarkedItems/?t
="+SECURITY_TOKEN+SID_ARG_2ND})},reload:function(){if(this._containers===null){return}this._loadMarkedItems()},_loadMarkedItemsSuccess:function(d,f,c){this._resetMarkings();for(var a in d.markedItems){if(!this._markedObjectIDs[a]){this._markedObjectIDs[a]=[]}var b=d.markedItems[a];for(var e in b){this._markedObjectIDs[a].push(b[e])}this._containers.each($.proxy(function(h,g){var i=$(g);if(i.data("type
")!=a){return true}i.find("input
.jsClipboardItem
").each($.proxy(function(l,k){var j=$(k);if(WCF.inArray(j.data("objectID
"),this._markedObjectIDs[a])){j.prop("checked
",true);j.parents(".jsClipboardObject
").addClass("jsMarked
")}},this));i.find("input
.jsClipboardMarkAll
").each(function(l,k){var j=true;i.find("input
.jsClipboardItem
").each(function(n,o){var m=$(o);if(!m.prop("checked
")){j=false}});if(j){$(k).prop("checked
",true)}})},this))}this._success(d,f,c)},_resetMarkings:function(){this._containers.each($.proxy(function(b,a){var c=$(a);this._markedObjectIDs[c.data("type
")]=[];c.find("input
.jsClipboardItem
, input
.jsClipboardMarkAll
").prop("checked
",false);c.find(".jsClipboardObject
").removeClass("jsMarked
")},this))},_initContainer:function(a){var c=$(a);var b=c.wcfIdentify();if(!this._trackedElements[b]){c.find(".jsClipboardMarkAll
").data("hasContainer
",b).click($.proxy(this._markAll,this));this._markedObjectIDs[c.data("type
")]=[];this._containerData[c.data("type
")]={};$.each(c.data(),$.proxy(function(d,e){if(d.match(/^type(.+)/)){this._containerData[c.data("type
")][WCF.String.lcfirst(d.replace(/^type/,""))]=e}},this));this._trackedElements[b]=[]}c.find("input
.jsClipboardItem
").each($.proxy(function(f,e){var g=$(e);var d=g.wcfIdentify();if(!WCF.inArray(d,this._trackedElements[b])){this._trackedElements[b].push(d);g.data("hasContainer
",b).click($.proxy(this._click,this))}},this))},_click:function(f){var b=$(f.target);var e=b.data("objectID
");var h=(b.prop("checked
"))?true:false;var d=[e];if(b.data("hasContainer
")){var g=$("#"+b.data("hasContainer
"));var a=g.data("type
")}else{var a=b.data("type
")}if(h){this._markedObjectIDs[a].push(e);b.parents(".jsClipboardObject
").addClass("jsMarked
")}else{this._markedObjectIDs[a]=$.removeArrayValue(this._markedObjectIDs[a],e);b.parents(".jsClipboardObject
").removeClass("jsMarked
")}if(b.data("hasContainer
")){var c=true;g.find("input
.jsClipboardItem
").each(function(j,i){var k=$(i);if(!k.prop("checked
")){c=false}});g.find(".jsClipboardMarkAll
").each(function(i,j){if(c){$(j).prop("checked
",true)}else{$(j).prop("checked
",false)}})}this._saveState(a,d,h)},_markAll:function(d){var b=$(d.target);var c=[];var f=true;if(b.is("input
")){f=b.prop("checked
")}if(b.data("hasContainer
")){var e=$("#"+b.data("hasContainer
"));var a=e.data("type
")}else{var a=b.data("type
")}if(b.data("hasContainer
")){e.find("input
.jsClipboardItem
").each($.proxy(function(h,g){var j=$(g);var i=j.data("objectID
");if(f){if(!j.prop("checked
")){j.prop("checked
",true);this._markedObjectIDs[a].push(i);c.push(i)}}else{if(j.prop("checked
")){j.prop("checked
",false);this._markedObjectIDs[a]=$.removeArrayValue(this._markedObjectIDs[a],i);c.push(i)}}},this));if(f){e.find(".jsClipboardObject
").addClass("jsMarked
")}else{e.find(".jsClipboardObject
").removeClass("jsMarked
")}}this._saveState(a,c,f)},_saveState:function(b,c,a){this._proxy.setOption("data
",{action:(a)?"mark
":"unmark
",containerData:this._containerData,objectIDs:c,pageClassName:this._page,pageObjectID:this._pageObjectID,type:b});this._proxy.sendRequest()},_success:function(data,textStatus,jqXHR){var $containers={};$(".jsClipboardEditor
").each(function(index,container){var $container=$(container);var $types=eval($container.data("types
"));for(var $i=0,$length=$types.length;$i<$length;$i++){var $typeName=$types[$i];$containers[$typeName]=$container}var $containerID=$container.wcfIdentify();WCF.CloseOverlayHandler.removeCallback($containerID);$container.empty()});if(!data.items){return}for(var $typeName in data.items){if(!$containers[$typeName]){continue}var $container=$containers[$typeName];var $list=$container.children("ul
");if($list.length==0){$list=$("<ul
/>").appendTo($container)}var $editor=data.items[$typeName];var $label=$('<li class="dropdown"><span class="dropdownToggle button">'+$editor.label+"</span></li>").appendTo($list);var $itemList=$('<ol class="dropdownMenu"></ol>').appendTo($label);for(var $itemIndex in $editor.items){var $item=$editor.items[$itemIndex];var $listItem=$("<li><span>"+$item.label+"</span></li>").appendTo($itemList);$listItem.data("container",$container);$listItem.data("objectType",$typeName);$listItem.data("actionName",$item.actionName).data("parameters",$item.parameters);$listItem.data("internalData",$item.internalData).data("url",$item.url).data("type",$typeName);$listItem.click($.proxy(this._executeAction,this))}$('<li
class="dropdownDivider" />').appendTo($itemList);var $foo=$typeName;$("<li><span>"+WCF.Language.get("wcf.clipboard.item.unmarkAll")+"</span></li>").data("typeName",$typeName).appendTo($itemList).click($.proxy(function(event){var $typeName=$(event.currentTarget).data("typeName");this._proxy.setOption("data",{action:"unmarkAll",type:$typeName});this._proxy.setOption("success",$.proxy(function(data,textStatus,jqXHR){this._containers.each($.proxy(function(index,container){var $container=$(container);if($container.data("type")==$typeName){$container.find(".jsClipboardMarkAll, .jsClipboardItem").prop("checked",false);$container.find(".jsClipboardObject").removeClass("jsMarked");return false}},this));this._success(data,textStatus,jqXHR);this._proxy.setOption("success",$.proxy(this._success,this));this._loadMarkedItems()},this));this._proxy.sendRequest()},this));WCF.Dropdown.initDropdown($label.children(".dropdownToggle"),false)}},_closeLists:function(){$(".jsClipboardEditor ul").removeClass("dropdownOpen")},_executeAction:function(f){var d=$(f.currentTarget);var e=d.data("url");if(e){window.location.href=e}var a=true;if(d.data("parameters").className&&d.data("parameters").actionName){if(d.data("parameters").actionName==="unmarkAll"||d.data("parameters").objectIDs){var c=d.data("internalData")["confirmMessage"];if(c){var b=d.data("internalData")["template"];if(b){b=$(b)}WCF.System.Confirmation.show(c,$.proxy(function(h){if(h==="confirm"){var g={};if(b&&b.length){$("#wcfSystemConfirmationContent").find("input, select, textarea").each(function(j,k){var i=$(k);g[i.prop("name")]=i.val()})}this._executeAJAXActions(d,g)}},this),"",b)}else{this._executeAJAXActions(d,{})}}}else{var c=d.data("internalData")["confirmMessage"];if(c){a=false;WCF.System.Confirmation.show(c,function(g){if(g==="confirm"){d.data("container").trigger("clipboardAction",[d.data("type"),d.data("actionName"),d.data("parameters")])}})}}if(a){d.data("container").trigger("clipboardAction",[d.data("type"),d.data("actionName"),d.data("parameters")])}},_executeAJAXActions:function(d,e){e=e||{};var a=[];if(d.data("parameters").actionName!=="unmarkAll"){$.each(d.data("parameters").objectIDs,function(g,h){a.push(parseInt(h))})}var b={data:e,containerData:this._containerData[d.data("type")]};var f=d.data("internalData")["parameters"];if(f!==undefined){for(var c in f){b[c]=f[c]}}new WCF.Action.Proxy({autoSend:true,data:{actionName:d.data("parameters").actionName,className:d.data("parameters").className,objectIDs:a,parameters:b},success:$.proxy(function(g){if(d.data("parameters").actionName!=="unmarkAll"){d.data("container").trigger("clipboardActionResponse",[g,d.data("type"),d.data("actionName"),d.data("parameters")])}this._loadMarkedItems()},this)});if(this._actionObjects[d.data("objectType")]&&this._actionObjects[d.data("objectType")][d.data("parameters").actionName]){this._actionObjects[d.data("objectType")][d.data("parameters").actionName].triggerEffect(a)}},sendRequest:function(b){var a=$(b);this._actionProxy.setOption("data",{parameters:a.data("parameters"),typeName:a.data("type")});this._actionProxy.sendRequest()}};WCF.PeriodicalExecuter=Class.extend({_callback:null,_delay:0,_intervalID:null,_isExecuting:false,init:function(b,a){if(!$.isFunction(b)){console.debug("[WCF.PeriodicalExecuter] Given callback is invalid, aborting.");return}this._callback=b;this._interval=a;this.resume()},_execute:function(){if(!this._isExecuting){try{this._isExecuting=true;this._callback(this);this._isExecuting=false}catch(a){this._isExecuting=false;throw a}}},stop:function(){if(!this._intervalID){return}clearInterval(this._intervalID)},resume:function(){if(this._intervalID){this.stop()}this._intervalID=setInterval($.proxy(this._execute,this),this._interval)}});WCF.LoadingOverlayHandler={_activeRequests:0,_loadingOverlay:null,_pending:null,show:function(){if(this._loadingOverlay===null){this._loadingOverlay=$('<div class="spinner"><span class="icon icon48 icon-spinner" /> <span
>'+WCF.Language.get("wcf.global.loading")+"</span></div>").appendTo($("body"));var b=this._loadingOverlay.outerWidth();if(b<70){b=70}this._loadingOverlay.css({marginLeft:Math.ceil(-1*b/2),width:b}).hide()}this._activeRequests++;if(this._activeRequests==1){if(this._pending===null){var a=this;this._pending=new WCF.PeriodicalExecuter(function(c){if(a._activeRequests){a._loadingOverlay.stop(true,true).fadeIn(100)}c.stop();a._pending=null},250)}}},hide:function(){this._activeRequests--;if(this._activeRequests==0){if(this._pending!==null){this._pending.stop();this._pending=null}this._loadingOverlay.stop(true,true).fadeOut(100)}},updateIcon:function(b,c){var a=(c===undefined||c?"addClass":"removeClass");b.find(".icon")[a]("icon-spinner");if(b.hasClass("icon")){b[a]("icon-spinner")}}};WCF.Action={};WCF.Action.Proxy=Class.extend({_showLoadingOverlayOnce:false,_suppressErrors:false,_lastRequest:null,init:function(b){this.options=$.extend(true,{autoSend:false,data:{},dataType:"json",after:null,init:null,jsonp:"callback",async:true,failure:null,showLoadingOverlay:true,success:null,suppressErrors:false,type:"POST",url:"index.php/AJAXProxy/?t="+SECURITY_TOKEN+SID_ARG_2ND,aborted:null,autoAbortPrevious:false},b);if(!URL_LEGACY_MODE){this.options.url=this.options.url.replace(/^index\.php\/(.*?)\/\?/,"?$1/&")}this.confirmationDialog=null;this.loading=null;this._showLoadingOverlayOnce=false;this._suppressErrors=(this.options.suppressErrors===true);if(this.options.autoSend){this.sendRequest()}var a=this;$(window).on("beforeunload",function(){a._suppressErrors=true})},sendRequest:function(a){this._init();if(a||this.options.autoAbortPrevious){this.abortPrevious()}this._lastRequest=$.ajax({data:this.options.data,dataType:this.options.dataType,jsonp:this.options.jsonp,async:this.options.async,type:this.options.type,url:this.options.url,success:$.proxy(this._success,this),error:$.proxy(this._failure,this)});return this._lastRequest},abortPrevious:function(){if(this._lastRequest!==null){this._lastRequest.abort();this._lastRequest=null;if(this.options.showLoadingOverlay||this._showLoadingOverlayOnce){WCF.LoadingOverlayHandler.hide()}}},showLoadingOverlayOnce:function(){this._showLoadingOverlayOnce=true},suppressErrors:function(){this._suppressErrors=true},_init:function(){if($.isFunction(this.options.init)){this.options.init(this)}if(this.options.showLoadingOverlay||this._showLoadingOverlayOnce){WCF.LoadingOverlayHandler.show()}},_failure:function(d,i,h){if(i=="abort"){if($.isFunction(this.options.aborted)){this.options.aborted(d)}return}try{var c=$.parseJSON(d.responseText);var f=true;if($.isFunction(this.options.failure)){f=this.options.failure(c,d,i,h)}if(!this._suppressErrors&&f!==false){var a="";if(c.stacktrace){a="<br /><p>Stacktrace:</p><p>"+c.stacktrace+"</p>"}else{if(c.exceptionID){a="<br /><p>Exception ID: <code>"+c.exceptionID+"</code></p>"}}$('<div
class="ajaxDebugMessage"><p
>'+c.message+"</p>"+a+"</div>").wcfDialog({title:WCF.Language.get("wcf.global.error.title")})}}catch(g){var f=true;if($.isFunction(this.options.failure)){f=this.options.failure(null,d,i,h)}if(!this._suppressErrors&&f!==false){var b=(i==="timeout")?WCF.Language.get("wcf.global.error.timeout"):d.responseText;if(b&&b!="undefined"){$('<div
class="ajaxDebugMessage"><p
>'+b+"</p></div>").wcfDialog({title:WCF.Language.get("wcf.global.error.title")})}}}this._after()},_success:function(b,c,a){if($.isFunction(this.options.success)){if(b&&b.returnValues&&b.returnValues.template!==undefined){b.returnValues.template=$.trim(b.returnValues.template)}this.options.success(b,c,a)}this._after()},_after:function(){this._lastRequest=null;if($.isFunction(this.options.after)){this.options.after()}if(this.options.showLoadingOverlay||this._showLoadingOverlayOnce){WCF.LoadingOverlayHandler.hide();if(this._showLoadingOverlayOnce){this._showLoadingOverlayOnce=false}}WCF.DOMNodeInsertedHandler.execute();$("a[href*=#]").each(function(c,e){var b=$(e);if(b.prop("href").indexOf("AJAXProxy")!=-1){var d=b.prop("href").substr(b.prop("href").indexOf("#"));var a=document.location.toString().replace(/#.*/,"");b.prop("href",a+d)}})},setOption:function(a,b){this.options[a]=b}});WCF.Action.SimpleProxy=Class.extend({init:function(a,b){this.options=$.extend(true,{action:"",className:"",elements:null,eventName:"click"},a);this.callbacks=$.extend(true,{after:null,failure:null,init:null,success:null},b);if(!this.options.elements){return}this.proxy=new WCF.Action.Proxy(this.callbacks);this.options.elements.each($.proxy(function(c,d){$(d).bind(this.options.eventName,$.proxy(this._handleEvent,this))},this))},_handleEvent:function(a){this.proxy.setOption("data",{actionName:this.options.action,className:this.options.className,objectIDs:[$(a.target).data("objectID")]});this.proxy.sendRequest()}});WCF.Action.Delete=Class.extend({_buttonSelector:"",_className:"",_containerSelector:"",_containers:[],init:function(c,a,b){this._containerSelector=a;this._className=c;this._buttonSelector=(b)?b:".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(){var a=this;$(this._containerSelector).each(function(c,b){var e=$(b);var d=e.wcfIdentify();if(!WCF.inArray(d,a._containers)){a._containers.push(d);e.find(a._buttonSelector).click($.proxy(a._click,a))}})},_click:function(b){var a=$(b.currentTarget);b.preventDefault();if(a.data("confirmMessage")){WCF.System.Confirmation.show(a.data("confirmMessage"),$.proxy(this._execute,this),{target:a})}else{WCF.LoadingOverlayHandler.updateIcon(a);this._sendRequest(a)}},_didTriggerEffect:function(a){},_execute:function(b,a){if(b==="cancel"){return}WCF.LoadingOverlayHandler.updateIcon(a.target);this._sendRequest(a.target)},_sendRequest:function(a){this.proxy.setOption("data",{actionName:"delete",className:this._className,interfaceName:"wcf\\data\\IDeleteAction",objectIDs:[$(a).data("objectID")]});this.proxy.sendRequest()},_success:function(b,c,a){this.triggerEffect(b.objectIDs)},triggerEffect:function(d){for(var a in this._containers){var e=$("#"+this._containers[a]);var c=e.find(this._buttonSelector);if(WCF.inArray(c.data("objectID"),d)){var b=this;e.wcfBlindOut("up",function(){var f=$(this).remove();b._containers.splice(b._containers.indexOf(f.wcfIdentify()),1);b._didTriggerEffect(f);if(c.data("eventName")){WCF.System.Event.fireEvent("com.woltlab.wcf.action.delete",c.data("eventName"),{button:c,container:f})}})}}}});WCF.Action.NestedDelete=WCF.Action.Delete.extend({triggerEffect:function(c){for(var a in this._containers){var d=$("#"+this._containers[a]);if(WCF.inArray(d.find(this._buttonSelector).data("objectID"),c)){if(d.has("ol").has("li").length){if(d.is(":only-child")){d.parent().replaceWith(d.find("> ol"))}else{d.replaceWith(d.find("> ol > li"))}this._containers.splice(this._containers.indexOf(d.wcfIdentify()),1);this._didTriggerEffect(d)}else{var b=this;d.wcfBlindOut("up",function(){$(this).remove();b._containers.splice(b._containers.indexOf($(this).wcfIdentify()),1);b._didTriggerEffect($(this))})}}}}});WCF.Action.Toggle=Class.extend({_buttonSelector:".jsToggleButton",_className:"",_containerSelector:"",_containers:[],init:function(d,a,c){this._containerSelector=a;this._className=d;this._buttonSelector=(c)?c:".jsToggleButton";this._containers=[];var b={success:$.proxy(this._success,this)};this.proxy=new WCF.Action.Proxy(b);this._initElements();WCF.DOMNodeInsertedHandler.addCallback("WCF.Action.Toggle"+this._className.hashCode(),$.proxy(this._initElements,this))},_initElements:function(){$(this._containerSelector).each($.proxy(function(b,a){var d=$(a);var c=d.wcfIdentify();if(!WCF.inArray(c,this._containers)){this._containers.push(c);d.find(this._buttonSelector).click($.proxy(this._click,this))}},this))},_click:function(b){var a=$(b.currentTarget);b.preventDefault();if(a.data("confirmMessage")){WCF.System.Confirmation.show(a.data("confirmMessage"),$.proxy(this._execute,this),{target:a})}else{WCF.LoadingOverlayHandler.updateIcon(a);this._sendRequest(a)}},_execute:function(b,a){if(b==="cancel"){return}WCF.LoadingOverlayHandler.updateIcon(a.target);this._sendRequest(a.target)},_sendRequest:function(a){this.proxy.setOption("data",{actionName:"toggle",className:this._className,interfaceName:"wcf\\data\\IToggleAction",objectIDs:[$(a).data("objectID")]});this.proxy.sendRequest()},_success:function(b,c,a){this.triggerEffect(b.objectIDs)},triggerEffect:function(b){for(var a in this._containers){var d=$("#"+this._containers[a]);var c=d.find(this._buttonSelector);if(WCF.inArray(c.data("objectID"),b)){d.wcfHighlight();this._toggleButton(d,c)}}},_toggleButton:function(c,b){var a="";WCF.LoadingOverlayHandler.updateIcon(b,false);if(b.hasClass("icon-check-empty")){b.removeClass("icon-check-empty").addClass("icon-check");a=(b.data("disableTitle")?b.data("disableTitle"):WCF.Language.get("wcf.global.button.disable"));b.attr("title",a)}else{b.removeClass("icon-check").addClass("icon-check-empty");a=(b.data("enableTitle")?b.data("enableTitle"):WCF.Language.get("wcf.global.button.enable"));b.attr("title",a)}c.toggleClass("disabled")}});WCF.Action.Scroll=Class.extend({_callback:null,_reference:null,_target:null,_threshold:0,init:function(b,d,a,c){this._threshold=parseInt(b);if(this._threshold===0){console.debug("[WCF.Action.Scroll] Given threshold is invalid, aborting.");return}if($.isFunction(d)){this._callback=d}if(this._callback===null){console.debug("[WCF.Action.Scroll] Given callback is invalid, aborting.");return}this._reference=$((a)?a:window);this._target=$((c)?c:document);this.start();this._scroll()},_scroll:function(){var a=this._target.height();var b=this._reference.scrollTop();var c=this._reference.height();if((a-(c+b))<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={_dateFormat:"yy-mm-dd",_timeFormat:"g:ia",init:function(){var a=$.timepicker.log;$.timepicker.log=function(b){if(b.indexOf("Error parsing the date/time string: Unexpected literal at position")==-1&&b.indexOf("Error parsing the date/time string: Unknown name at position")==-1){a(b)}};this._convertDateFormat();this._initDatePicker();WCF.DOMNodeInsertedHandler.addCallback("WCF.Date.Picker",$.proxy(this._initDatePicker,this))},_convertDateFormat:function(){var a={a:"tt",A:"TT",g:"h",G:"H",h:"hh",H:"HH",i:"mm",s:"ss",u:"l",d:"dd",D:"D",j:"d",l:"DD",z:"o",S:"",F:"MM",m:"mm",M:"M",n:"m",o:"yy",Y:"yy",y:"y",U:"@"};this._dateFormat=WCF.Language.get("wcf.date.dateFormat").replace(/([^dDjlzSFmMnoYyU\\]*(?:\\.[^dDjlzSFmMnoYyU\\]*)*)([dDjlzSFmMnoYyU])/g,function(c,f,e,g,b){for(var d in a){if(e==d){e=a[d]}}return f+e});this._timeFormat=WCF.Language.get("wcf.date.timeFormat").replace(/([^aAgGhHisu\\]*(?:\\.[^aAgGhHisu\\]*)*)([aAgGhHisu])/g,function(c,f,e,g,b){for(var d in a){if(e==d){e=a[d]}}return f+e})},_initDatePicker:function(){$("input[type=date]:not(.jsDatePicker), input[type=datetime]:not(.jsDatePicker)").each($.proxy(function(g,j){var i=$(j);var d=i.prop("name");var m=i.val();var b=i.attr("type")=="datetime";i.prop("type","text").addClass("jsDatePicker");if(i.data("placeholder")){i.attr("placeholder",i.data("placeholder"))}i.removeAttr("name");i.before('<input type
="hidden" id
="'+i.wcfIdentify()+'DatePicker" name
="'+d+'" value
="'+m+'" />');var f=i.attr("max")?new Date(i.attr("max").replace(" ","T")):null;var n=i.attr("min")?new Date(i.attr("min").replace(" ","T")):null;var c={altField:"#"+i.wcfIdentify()+"DatePicker",altFormat:"yy-mm-dd",beforeShow:function(q,p){setTimeout(function(){p.dpDiv.position({my:"left top",at:"left bottom",collision:"none",of:q})},1)},changeMonth:true,changeYear:true,dateFormat:this._dateFormat,dayNames:WCF.Language.get("__days"),dayNamesMin:WCF.Language.get("__daysShort"),dayNamesShort:WCF.Language.get("__daysShort"),firstDay:parseInt(WCF.Language.get("wcf.date.firstDayOfTheWeek"))||0,isRTL:WCF.Language.get("wcf.global.pageDirection")=="rtl",maxDate:f,minDate:n,monthNames:WCF.Language.get("__months"),monthNamesShort:WCF.Language.get("__monthsShort"),showButtonPanel:false,onClose:function(q,p){if(q==""){$(p.settings.altField).val(q)}},showOtherMonths:true,yearRange:(i.hasClass("birthday")?"-100:+0":"1900:2038")};if(b){if(/[0-9]{2}:[0-9]{2}:[0-9]{2}$/.test(m)){m=m.replace(/:[0-9]{2}$/,"");i.val(m)}m=m.replace(" ","T");if(i.data("timeOnly")){var e=m.split(":");var a=new Date();a.setHours(e[0]);a.setMinutes(e[1]);a.setSeconds(0);m=a.toString()}if(i.data("ignoreTimezone")){var l=new Date(m).getTimezoneOffset();var o=(l>0)?"-":"+";l=Math.abs(l);var h=(Math.floor(l/60)).toString();var k=(l%60).toString();o+=(h.length==2)?h:"0"+h;o+=":";o+=(k.length==2)?k:"0"+k;m=m.replace(/[+-][0-9]{2}:[0-9]{2}$/,o)}c=$.extend(c,{altFieldTimeOnly:false,altTimeFormat:"HH:mm",controlType:"select",hourText:WCF.Language.get("wcf.date.hour"),minuteText:WCF.Language.get("wcf.date.minute"),showTime:false,timeFormat:this._timeFormat,timeOnly:i.data("timeOnly")?true:false,yearRange:(i.hasClass("birthday")?"-100:+0":"1900:2038")})}if(b){i.datetimepicker(c)}else{i.datepicker(c)}if(m){m=new Date(m);if(!b){m.setMinutes(m.getMinutes()+m.getTimezoneOffset())}i.datepicker("setDate",m)}i.datepicker("widget").hide();if(i.data("timeOnly")){i.datepicker("widget").addClass("timeOnlyPicker")}},this))}};WCF.Date.Util={gmdate:function(a){var b=(a)?a:new Date();return Math.round(Date.UTC(b.getUTCFullYear(),b.getUTCMonth(),b.getUTCDay(),b.getUTCHours(),b.getUTCMinutes(),b.getUTCSeconds())/1000)},getTimezoneDate:function(b,c){var d=new Date(b);var a=d.getTimezoneOffset()*60000;return new Date((b+a+c))}};WCF.Date.Time=Class.extend({_date:0,_elements:null,_offset:null,_timestamp:0,init:function(){this._elements=$("time.datetime");this._offset=null;this._timestamp=0;this._refresh();new WCF.PeriodicalExecuter($.proxy(this._refresh,this),60000);WCF.DOMNodeInsertedHandler.addCallback("WCF.Date.Time",$.proxy(this._domNodeInserted,this))},_domNodeInserted:function(){this._elements=$("time.datetime");this._refresh()},_refresh:function(){this._date=new Date();this._timestamp=(this._date.getTime()-this._date.getMilliseconds())/1000;if(this._offset===null){this._offset=this._timestamp-TIME_NOW}this._elements.each($.proxy(this._refreshElement,this))},_refreshElement:function(i,f){var n=$(f);if(!n.attr("title")){n.attr("title",n.text())}var d=n.data("timestamp")+this._offset;var b=n.data("date");var c=n.data("time");var o=n.data("offset");if(n.data("isFutureDate")){return}if(d>=this._timestamp||this._timestamp<(d+60)){n.text(WCF.Language.get("wcf.date.relative.now"))}else{if(this._timestamp<(d+3540)){var m=Math.max(Math.round((this._timestamp-d)/60),1);n.text(WCF.Language.get("wcf.date.relative.minutes",{minutes:m}))}else{if(this._timestamp<(d+86400)){var k=Math.round((this._timestamp-d)/3600);n.text(WCF.Language.get("wcf.date.relative.hours",{hours:k}))}else{if(this._timestamp<(d+518400)){var j=new Date(this._date.getFullYear(),this._date.getMonth(),this._date.getDate());var l=Math.ceil((j/1000-d)/86400);var g=WCF.Date.Util.getTimezoneDate((d*1000),o*1000);var h=g.getDay();var e=WCF.Language.get("__days")[h];n.text(WCF.Language.get("wcf.date.relative.pastDays",{days:l,day:e,time:c}))}else{var a=WCF.Language.get("wcf.date.shortDateTimeFormat");n.text(a.replace(/\%date\%/,b).replace(/\%time\%/,c))}}}}}});WCF.Dictionary=Class.extend({_variables:{},init:function(){this._variables={}},add:function(a,b){this._variables[a]=b},addObject:function(a){for(var b in a){this.add(b,a[b])}},addDictionary:function(a){a.each($.proxy(function(b){this.add(b.key,b.value)},this))},get:function(a){if(this.isset(a)){return this._variables[a]}return null},isset:function(a){return this._variables.hasOwnProperty(a)},remove:function(a){delete this._variables[a]},each:function(d){if(!$.isFunction(d)){return}for(var c in this._variables){var a=this._variables[c];var b={key:c,value:a};d(b)}},count:function(){return $.getLength(this._variables)},isEmpty:function(){return !this.count()}});WCF.Language={_variables:new WCF.Dictionary(),add:function(a,b){this._variables.add(a,b)},addObject:function(a){this._variables.addObject(a)},get:function(a,b){if(b==null){var b={}}var c=this._variables.get(a);if(c===null){return a}else{if(typeof c==="string"){this.add(a,new WCF.Template(c));return this.get(a,b)}else{if(typeof c.fetch==="function"){c=c.fetch(b)}}}return c}};WCF.MultipleLanguageInput=Class.extend({_availableLanguages:{},_button:null,_didInit:false,_element:null,_insertedDataAfterInit:false,_isEnabled:false,_forceSelection:false,_languageID:0,_list:null,_values:null,init:function(c,b,d,f){this._button=null;this._element=$("#"+$.wcfEscapeID(c));this._forceSelection=b;this._values=d;this._availableLanguages=f;if($.getLength(this._values)){for(var e in this._values){this._values[e]=WCF.String.unescapeHTML(this._values[e])}}this._languageID=LANGUAGE_ID;if(this._element.length==0){console.debug("[WCF.MultipleLanguageInput] element id '"+c+"' is unknown");return}var a=($.getLength(this._values)>0)?true:false;this._insertedDataAfterInit=a;this._prepareElement(a);this._element.parents("form").submit($.proxy(this._submit,this));this._didInit=true},_prepareElement:function(a){this._element.wrap('<div
class="dropdown preInput" />');var c=this._element.parent();this._button=$('<p
class="button dropdownToggle"><span
>'+WCF.Language.get("wcf.global.button.disabledI18n")+"</span></p>").prependTo(c);this._list=$('<ul
class="dropdownMenu"></ul>').insertAfter(this._button);if(this._button.nextAll("textarea").length){this._button.addClass("dropdownCaptionTextarea")}else{this._button.addClass("dropdownCaption")}for(var b in this._availableLanguages){$("<li><span>"+this._availableLanguages[b]+"</span></li>").data("languageID",b).click($.proxy(this._changeLanguage,this)).appendTo(this._list)}if(!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,a);if(a||this._forceSelection){this._isEnabled=true;this._list.children("li").each($.proxy(function(d,f){var e=$(f);if(e.data("languageID")==this._languageID){e.trigger("click")}},this))}WCF.Dropdown.registerCallback(c.wcfIdentify(),$.proxy(this._handleAction,this))},_handleAction:function(a,b){if(b==="open"){this._enable()}else{this._closeSelection()}},_enable:function(a){if(!this._isEnabled){var b=(this._button.is("p"))?this._button.children("span:eq(0)"):this._button;b.addClass("active");this._isEnabled=true}if(this._list.is(":visible")){this._showSelection()}},_showSelection:function(){if(this._isEnabled){this._list.children("li").each($.proxy(function(b,d){var c=$(d);var a=c.data("languageID");if(a){if(this._values[a]&&this._values[a]!=""){c.removeClass("missingValue")}else{c.addClass("missingValue")}}},this))}},_closeSelection:function(){this._disable()},_changeLanguage:function(a){var b=$(a.currentTarget);this._insertedDataAfterInit=true;if(this._didInit){this._values[this._languageID]=this._element.val()}this._languageID=b.data("languageID");if(this._values[this._languageID]){this._element.val(this._values[this._languageID])}else{this._element.val("")}this._list.children("li").removeClass("active");b.addClass("active");this._button.children("span").addClass("active").text(this._availableLanguages[this._languageID]);if(this._didInit){this._element.blur().focus()}},_disable:function(a){if(a===undefined&&this._insertedDataAfterInit){a=null}if(this._forceSelection||!this._list||a===null){return}this._button.children("span").removeClass("active").text(WCF.Language.get("wcf.global.button.disabledI18n"));if(this._values[LANGUAGE_ID]){this._element.val(this._values[LANGUAGE_ID])}else{this._element.val()}if(a){this._list.children("li").removeClass("active");$(a.currentTarget).addClass("active")}this._element.blur().focus();this._insertedDataAfterInit=false;this._isEnabled=false;this._values={}},_submit:function(){if(!this._isEnabled){return 3735928559}if(this._languageID){this._values[this._languageID]=this._element.val()}var b=$(this._element.parents("form")[0]);var c=this._element.wcfIdentify();for(var a in this._availableLanguages){if(this._values[a]===undefined){this._values[a]=""}$('<input type
="hidden" name
="'+c+"_i18n
["+a+']" value
="'+WCF.String.escapeHTML(this._values[a])+'" />').appendTo(b)}this._element.removeAttr("name")}});WCF.Number={round:function(b,a){a=Math.pow(10,(a||0));return Math.round(b*a)/a}};WCF
.String
={addThousandsSeparator:function(a
){return String(a
).replace(/(^-?\d{1,3}|\d{3})(?=(?:\d{3})+(?:$|\.))/g,"$1"+WCF
.Language
.get("wcf.global.thousandsSeparator"))},escapeHTML:function(a
){return String(a
).replace(/&/g,"&").replace(/"/g,""
;").replace(/</g,"<
;").replace(/>/g,">
;")},escapeRegExp:function(a){return String(a).replace(/([.*+?^=!:${}()|[\]\/\\])/g,"\\$1")},formatNumeric:function(b,a){b=String(WCF.Number.round(b,a||2));var c=b.split(".");b=this.addThousandsSeparator(c[0]);if(c.length>1){b+=WCF.Language.get("wcf
.global
.decimalPoint
")+c[1]}b=b.replace("-","\u2212");return b},lcfirst:function(a){return String(a).substring(0,1).toLowerCase()+a.substring(1)},ucfirst:function(a){return String(a).substring(0,1).toUpperCase()+a.substring(1)},unescapeHTML:function(a){return String(a).replace(/&/g,"&").replace(/"/g,'"').replace(/</g,"<").replace(/>/g,">")}};WCF.TabMenu={_containers:{},_didInit:false,init:function(){var d=$(".tabMenuContainer:not(.staticTabMenuContainer)");var c=this;d.each(function(f,e){var h=$(e);var g=h.wcfIdentify();if(c._containers[g]){return true}if(h.data("store")&&!$("#"+h.data("store")).length){$('<input type
="hidden" name
="'+h.data("store
")+'" value
="" id
="'+h.data("store
")+'" />').appendTo(h.parents("form").find(".formSubmit"))}c._containers[g]=h;h.wcfTabs({active:false,activate:function(j,i){var l=$(i.newPanel);var k=l.closest(".tabMenuContainer");var m=k;while(true){if(m.data("isParent")===undefined){break}if(m.data("isParent")){if(m.data("store")){$("#"+m.data("store")).val(l.attr("id"))}break}else{m=m.data("parent")}}if(WCF.TabMenu._didInit){if(l.data("inTabMenu")==undefined){l.data("inTabMenu",(l.parents(".dialogContainer").length))}if(!l.data("inTabMenu")){if(window.history){window.history.pushState(null,document.title,window.location.toString().replace(/#.+$/,"")+"#"+l.attr("id"))}else{location.hash="#"+l.attr("id")}}}}});h.data("isParent",(h.children(".tabMenuContainer, .tabMenuContent").length>0)).data("parent",false);if(!h.data("isParent")){if(h.parent().hasClass("tabMenuContainer")){h.data("parent",h.parent())}}});if(!this._didInit){this._selectActiveTab();$(window).bind("hashchange",$.proxy(this.selectTabs,this));if(!this._selectErroneousTab()){this.selectTabs()}if($.browser.mozilla&&location.hash){var a=$(location.hash);if(a.length&&a.hasClass("tabMenuContent")){var b=a.offset();window.scrollTo(b.left,b.top)}}}this._didInit=true},reload:function(){this._containers={};this.init()},_selectErroneousTab:function(){var d=false;for(var a in this._containers){var c=this._containers[a];if(c.find(".formError").length){d=true;if(!c.data("isParent")){while(true){if(c.data("parent")===false){break}c=c.data("parent").wcfTabs("selectTab",c.wcfIdentify())}return true}}}if(d){for(var a in this._containers){var c=this._containers[a];var b=c.find(".formError:eq(0)");if(b.length){c.wcfTabs("selectTab",b.parents(".tabMenuContent").wcfIdentify());while(true){if(c.data("parent")===false){break}c=c.data("parent").wcfTabs("selectTab",c.wcfIdentify())}return true}}}return false},_selectActiveTab:function(){for(var b in this._containers){var e=this._containers[b];if(e.data("active")){var a=e.data("active");var d=null;if(/-/.test(a)){var c=a.split("-");a=c[0];d=c[1]}e.find(".tabMenuContent").each(function(h,g){var f=$(g);if(f.wcfIdentify()==a){e.wcfTabs("select",h);if(d!==null){if(f.hasClass("tabMenuContainer")){f.wcfTabs("selectTab",e.data("active"))}else{e.wcfTabs("selectTab",e.data("active"))}}return false}})}}},selectTabs:function(){if(location.hash){var a=location.hash.substr(1);var b=$("#"+$.wcfEscapeID(a));if(b.length===1&&b.hasClass("ui-tabs-panel")){b=b.parent(".ui-tabs");if(b.length){b.wcfTabs("selectTab",a);if(b.hasClass("ui-tabs-panel")){a=b.wcfIdentify();b=b.parent(".ui-tabs");if(b.length){b.wcfTabs("selectTab",a)}}return true}}}return false}};WCF.Template=Class.extend({init:function(d){var f=new WCF.Dictionary();var a=0;d=d.replace(/\\/g,"\\\\").replace(/'/g,"\\'").replace(/(\r\n|\n|\r)/g,"\\n
");d=d.replace(/\{literal\}(.*?)\{\/literal\}/g,$.proxy(function(e){var i="@@@@@@@@@@@"+Math.random()+"@@@@@@@@@@@";f.add(i,e.replace(/\{\/?literal\}/g,""));return i},this));d=d.replace(/\{\*.*?\*\}/g,"");var c=function(q){var l=q.split("");var i={};var k=true;var s="";var o="";var m=false;var n=false;var j=false;for(var p=0,e=l.length;p<e;p++){var r=l[p];if(k&&r!="="&&r!=" "){s+=r}else{if(k&&r=="="){k=false;n=false;m=false;j=false}else{if(!k&&!n&&!m&&r==" "){k=true;i[s]=o;o=s=""}else{if(!k&&n&&!j&&r=="'"){n=false;o+=r}else{if(!k&&!n&&!m&&r=="'"){n=true;o+=r}else{if(!k&&m&&!j&&r=='"'){m=false;o+=r}else{if(!k&&!n&&!m&&r=='"'){m=true;o+=r}else{if(!k&&(m||n)&&!j&&r=="\\"){j=true;o+=r}else{if(!k){j=false;o+=r}}}}}}}}}}i[s]=o;if(m||n||j){throw new Error('Syntax error in parameterList: "'+q+'"')}return i};var h=function(e){return e.replace(/\\n/g,"\n").replace(/\\\\/g,"\\").replace(/\\'/g,"'")};d=d.replace(/\{(\$[^\}]+?)\}/g,function(e,i){i=h(i.replace(/\$([^.\[\s]+)/g,"(v['$1'])"));return"' + WCF
.String
.escapeHTML("+i+") + '"}).replace(/\{#(\$[^\}]+?)\}/g,function(e,i){i=h(i.replace(/\$([^.\[\s]+)/g,"(v['$1'])"));return"' + WCF
.String
.formatNumeric("+i+") + '"}).replace(/\{@(\$[^\}]+?)\}/g,function(e,i){i=h(i.replace(/\$([^.\[\s]+)/g,"(v['$1'])"));return"' + "+i+" + '"}).replace(/{lang}(.+?){\/lang}/g,function(e,i){return"' + WCF
.Language
.get('"+h(i)+"') + '"}).replace(/\{if (.+?)\}/g,function(e,i){i=h(i.replace(/\$([^.\[\s]+)/g,"(v['$1'])"));return"';\nif ("+i+") {\n $output
+= '"}).replace(/\{else ?if (.+?)\}/g,function(e,i){i=h(i.replace(/\$([^.\[\s]+)/g,"(v['$1'])"));return"';\n}\nelse if ("+i+") {\n $output
+= '"}).replace(/\{implode (.+?)\}/g,function(e,j){a++;j=j.replace(/\\\\/g,"\\").replace(/\\'/g,"'");var i=c(j);if(typeof i.from==="undefined"){throw new Error("Missing from attribute in implode-tag")}if(typeof i.item==="undefined"){throw new Error("Missing item attribute in implode-tag")}if(typeof i.glue==="undefined"){i.glue="', '"}i.from=i.from.replace(/\$([^.\[\s
]+)/g,"(v.$1)");return"';\nvar $implode_"+a+" = false;\nfor ($implodeKey_"+a+" in "+i.from+") {\n v["+i.item+"] = "+i.from+"[$implodeKey_"+a+"];\n"+(typeof i.key!=="undefined"?" v["+i.key+"] = $implodeKey_"+a+";\n":"")+" if ($implode_"+a+") $output += "+i.glue+";\n $implode_"+a+" = true;\n $output += '"}).replace(/\{foreach (.+?)\}/g,function(e,j){a++;j=j.replace(/\\\\/g,"\\").replace(/\\'/g,"'");var i=c(j);if(typeof i.from==="undefined"){throw new Error("Missing
from attribute
in foreach
-tag
")}if(typeof i.item==="undefined"){throw new Error("Missing item attribute
in foreach
-tag
")}i.from=i.from.replace(/\$([^.\[\s]+)/g,"(v
.$1)");return"';\n$foreach_"+a+" = false;\nfor ($foreachKey_"+a+" in "+i.from+") {\n $foreach_"+a+" = true;\n break;\n}\nif ($foreach_"+a+") {\n for ($foreachKey_"+a+" in "+i.from+") {\n v["+i.item+"] = "+i.from+"[$foreachKey_"+a+"];\n"+(typeof i.key!=="undefined"?" v["+i.key+"] = $foreachKey_"+a+";\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 b in WCF.Template.callbacks){d=WCF.Template.callbacks[b](d)}d=d.replace("{ldelim
}","{").replace("{rdelim
}","}");f.each(function(e){d=d.replace(e.key,e.value)});d="$output
+= '"+d+"';";try{this.fetch=new Function("v
","if (typeof v
!= 'object') { v
= {}; } v
.__window
= window
; v
.__wcf
= window
.WCF
; var $output
= ''; "+d+" return $output
;")}catch(g){console.debug("var $output
= ''; "+d+" return $output
;");throw g}},fetch:function(a){}});WCF.Template.callbacks=[];WCF.ToggleOptions=Class.extend({_element:null,_showItems:[],_hideItems:[],_callback:null,init:function(c,a,b,d){this._element=$("#"+c);this._showItems=a;this._hideItems=b;if(d!==undefined){this._callback=d}this._element.click($.proxy(this._toggle,this));this._toggle()},_toggle:function(){if(!this._element.prop("checked
")){return}for(var c=0,b=this._showItems.length;c<b;c++){var a=this._showItems[c];$("#"+a).show()}for(var c=0,b=this._hideItems.length;c<b;c++){var a=this._hideItems[c];$("#"+a).hide()}if(this._callback!==null){this._callback()}}});WCF.Collapsible={};WCF.Collapsible.Simple={init:function(){$(".jsCollapsible
").each($.proxy(function(a,b){this._initButton(b)},this))},_initButton:function(a){var c=$(a);var b=c.data("isOpen
");if(!b){$("#"+c.data("collapsibleContainer
")).hide()}c.click($.proxy(this._toggle,this))},_toggle:function(b){var d=$(b.currentTarget);var c=d.data("isOpen
");var a=$("#"+$.wcfEscapeID(d.data("collapsibleContainer
")));if(c){a.stop().wcfBlindOut("vertical
",$.proxy(function(){this._toggleImage(d)},this));c=false}else{a.stop().wcfBlindIn("vertical
",$.proxy(function(){this._toggleImage(d)},this));c=true}d.data("isOpen
",c);b.stopPropagation();return false},_toggleImage:function(b){var a=b.find("span
.icon
");if(b.data("isOpen
")){a.removeClass("icon
-chevron
-right
").addClass("icon
-chevron
-down
")}else{a.removeClass("icon
-chevron
-down
").addClass("icon
-chevron
-right
")}}};WCF.Collapsible.Remote=Class.extend({_className:"",_containers:{},_containerData:{},_proxy:null,init:function(a){this._className=a;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(a){this._getContainers().each($.proxy(function(c,b){var e=$(b);var d=e.wcfIdentify();if(this._containers[d]===undefined){this._containers[d]=e;this._initContainer(d)}},this))},_initContainer:function(b){var a=this._getTarget(b);var c=this._getButtonContainer(b);var d=this._createButton(b,c);this._containerData[b]={button:d,buttonContainer:c,isOpen:this._containers[b].data("isOpen
"),target:a};if(!this._containers[b].data("isOpen
")){$("#"+b).addClass("jsCollapsed
")}},_getContainers:function(){},_getTarget:function(a){},_getButtonContainer:function(a){},_createButton:function(a,b){var d=this._containers[a].data("isOpen
");var c=$('<span class="collapsibleButton jsTooltip pointer icon icon16 icon
-'+(d?"chevron-down":"chevron-right")+'" title="'+WCF.Language.get("wcf.global.button.collapsible")+'">').prependTo(b);c.data("containerID
",a).click($.proxy(this._toggleContainer,this));return c},_toggleContainer:function(d){var f=$(d.currentTarget);var b=f.data("containerID
");var e=this._containerData[b].isOpen;var a=(e)?"open
":"close
";var c=(e)?"close
":"open
";this._proxy.setOption("data
",{actionName:"loadContainer
",className:this._className,interfaceName:"wcf
\\data
\\ILoadableContainerAction
",objectIDs:[this._getObjectID(b)],parameters:$.extend(true,{containerID:b,currentState:a,newState:c},this._getAdditionalParameters(b))});this._proxy.sendRequest();$("#"+b).toggleClass("jsCollapsed
")},_exchangeIcon:function(b,a){a=a||"spinner
";b.removeClass("icon
-chevron
-down icon
-chevron
-right icon
-spinner
").addClass("icon
-"+a)},_getObjectID:function(a){return $("#"+a).data("objectID
")},_getAdditionalParameters:function(a){return{}},_updateContent:function(a,b,c){this._containerData[a].target.html(b)},_success:function(d,e,c){if(!d.returnValues.containerID){return}var a=d.returnValues.containerID;if(!this._containers[a]){return}this._containerData[a].isOpen=(d.returnValues.isOpen)?true:false;var b=(d.returnValues.isOpen)?"open
":"close
";this._updateContent(a,$.trim(d.returnValues.content),b);this._exchangeIcon(this._containerData[a].button,(d.returnValues.isOpen?"chevron
-down
":"chevron
-right
"))}});WCF.Collapsible.SimpleRemote=WCF.Collapsible.Remote.extend({init:function(a){this._super(a);this._proxy=new WCF.Action.Proxy({showLoadingOverlay:false})},_initContainer:function(a){this._super(a);if(!this._containerData[a].isOpen){this._containerData[a].target.hide();this._exchangeIcon(this._containerData[a].button,"chevron
-right
")}},_toggleContainer:function(d){var f=$(d.currentTarget);var b=f.data("containerID
");var e=this._containerData[b].isOpen;var a=(e)?"open
":"close
";var c=(e)?"close
":"open
";this._proxy.setOption("data
",{actionName:"toggleContainer
",className:this._className,interfaceName:"wcf
\\data
\\IToggleContainerAction
",objectIDs:[this._getObjectID(b)],parameters:$.extend(true,{containerID:b,currentState:a,newState:c},this._getAdditionalParameters(b))});this._proxy.sendRequest();this._exchangeIcon(this._containerData[b].button,(c==="open
"?"chevron
-down
":"chevron
-right
"));if(c==="open
"){this._containerData[b].target.show()}else{this._containerData[b].target.hide()}$("#"+b).toggleClass("jsCollapsed
");this._containerData[b].isOpen=(c==="open
"?true:false)}});WCF.Collapsible.Sidebar=Class.extend({_button:null,_buttonHeight:0,_isOpen:false,_mainContainer:null,_proxy:null,_sidebar:null,_sidebarHeight:0,_sidebarName:"",_sidebarOffset:0,_userPanelHeight:0,init:function(){this._sidebar=$(".sidebar
:eq(0)");if(!this._sidebar.length){console.debug("[WCF
.Collapsible
.Sidebar
] Could not find sidebar
, aborting
.");return}this._isOpen=(this._sidebar.data("isOpen
"))?true:false;this._sidebarName=this._sidebar.data("sidebarName
");this._mainContainer=$("#main
");this._sidebarHeight=this._sidebar.height();this._sidebarOffset=this._sidebar.getOffsets("offset
").top;this._userPanelHeight=$("#topMenu
").outerHeight();this._button=$('<a class="collapsibleButton jsTooltip
" title="'+WCF.Language.get("wcf.global.button.collapsible")+'" />').prependTo(this._sidebar);this._button.wrap("<span
/>");this._button.click($.proxy(this._click,this));this._buttonHeight=this._button.outerHeight();WCF.DOMNodeInsertedHandler.execute();this._proxy=new WCF.Action.Proxy({showLoadingOverlay:false,url:"index
.php
/AJAXInvoke/?t
="+SECURITY_TOKEN+SID_ARG_2ND});$(document).scroll($.proxy(this._scroll,this)).resize($.proxy(this._scroll,this));this._renderSidebar();this._scroll();var a=$(window);this._sidebar.on("webkitTransitionEnd transitionend msTransitionEnd oTransitionEnd
",function(){a.trigger("resize
")})},_click:function(){this._isOpen=(this._isOpen)?false:true;this._proxy.setOption("data
",{actionName:"toggle
",className:"wcf
\\system
\\user
\\collapsible
\\content
\\UserCollapsibleSidebarHandler
",isOpen:(this._isOpen?1:0),sidebarName:this._sidebarName});this._proxy.sendRequest();this._renderSidebar()},_scroll:function(){var e=$(window);var b=e.scrollTop();var a=Math.max(b-this._sidebarOffset,0);var c=Math.min(this._mainContainer.height(),(e.height()+b)-this._sidebarOffset);var f=0;if(c===a){f=this._sidebarOffset+this._sidebarHeight}else{f=a+((c-a)/2);var d=Math.max(Math.min(a-this._userPanelHeight,this._userPanelHeight),0);if(d>0){f+=(d/2)}}if((c-a-this._userPanelHeight)<this._buttonHeight){f=f-this._buttonHeight}else{f=Math.max(f-(this._buttonHeight/2),0)}this._button.css({top:f+"px
"})},_renderSidebar:function(){if(this._isOpen){$(".sidebarOrientationLeft
, .sidebarOrientationRight
").removeClass("sidebarCollapsed
")}else{$(".sidebarOrientationLeft
, .sidebarOrientationRight
").addClass("sidebarCollapsed
")}this._scroll();if($.browser.msie&&$.browser.version.indexOf("9")===0){$(window).trigger("resize
")}}});WCF.User={userID:0,username:"",init:function(a,b){this.userID=a;this.username=b}};WCF.Effect={};WCF.Effect.Scroll=Class.extend({scrollTo:function(c,a,b){if(!c.length){return true}var d=c.getOffsets("offset
").top;var f=$(document).height();var e=$(window).height();if(d>f-e){d=f-e;if(d<0){d=0}}if(b===true){$("html
,body
").scrollTop(d)}else{$("html
,body
").animate({scrollTop:d},400,function(h,i,g,k,j){return -k*((i=i/j-1)*i*i*i-1)+g})}return false}});WCF.Effect.SmoothScroll=WCF.Effect.Scroll.extend({init:function(){var a=this;$(document).on("click
","a
[href
$=#top
],a
[href
$=#bottom
]",function(){var b=$(this.hash);a.scrollTo(b,true);return false})}});WCF.Effect.BalloonTooltip=Class.extend({_didInit:false,_tooltip:null,_viewportDimensions:{},init:function(){if(jQuery.browser.mobile){return}if(!this._didInit){this._tooltip=$('<div id="balloonTooltip
" class="balloonTooltip
"><span id="balloonTooltipText
"></span><span class="pointer
"><span></span></span></div>').appendTo($("body
")).hide();this._updateViewportDimensions();$(window).resize($.proxy(this._updateViewportDimensions,this));WCF.DOMNodeInsertedHandler.addCallback("WCF
.Effect
.BalloonTooltip
",$.proxy(this.init,this));this._didInit=true}$(".jsTooltip
").each($.proxy(this._initTooltip,this))},_updateViewportDimensions:function(){this._viewportDimensions=$(document).getDimensions()},_initTooltip:function(b,c){var a=$(c);if(a.hasClass("jsTooltip
")){a.removeClass("jsTooltip
");var d=a.attr("title
");if(d!==""){a.data("tooltip
",d);a.removeAttr("title
");a.hover($.proxy(this._mouseEnterHandler,this),$.proxy(this._mouseLeaveHandler,this));a.click($.proxy(this._mouseLeaveHandler,this))}}},_mouseEnterHandler:function(c){var e,d;var o=$(c.currentTarget);var k=o.attr("title
");if(k&&k!==""){o.data("tooltip
",k);o.removeAttr("title
")}this._tooltip.css({top:"0px
",left:"0px
"});if(!o.data("tooltip
")){this._tooltip.hide();return}this._tooltip.children("span
:eq(0)").text(o.data("tooltip
"));var m=this._tooltip.find(".pointer
");this._tooltip.show();var b=m.outerWidth();this._tooltip.hide();var f=o.getOffsets("offset
");var l=o.getDimensions("outer
");var n=this._tooltip.getDimensions("outer
");var a=this._tooltip.getDimensions("inner
");var i=f.left+Math.ceil(l.width/2);var j=Math.ceil(n.width/2);var h="center
";if((i-j)<5){h="left
"}else{if((this._viewportDimensions.width-5)<(i+j)){h="right
"}}if(f.top+l.height+n.height-$(document).scrollTop()<$(window).height()){e=f.top+l.height+7;this._tooltip.removeClass("inverse
");m.css("top
",-5)}else{e=f.top-n.height-7;this._tooltip.addClass("inverse
");m.css("top
",n.height)}var g=(WCF.Language.get("wcf
.global
.pageDirection
")=="rtl
"?"right
":"left
");switch(h){case"center
":d=Math.round(f.left-j+(l.width/2));m.css(g,(a.width/2-b/2)+"px
");break;case"left
":d=f.left;if(g==="right
"){m.css(g,(a.width-b-5)+"px
")}else{m.css(g,"5px
")}break;case"right
":d=f.left+l.width-n.width;if(g==="right
"){m.css(g,"5px
")}else{m.css(g,(a.width-b-5)+"px
")}break}this._tooltip.css({top:e+"px
",left:d+"px
"});this._tooltip.wcfFadeIn()},_mouseLeaveHandler:function(a){this._tooltip.stop().hide().css({opacity:1})}});WCF.CloseOverlayHandler={_callbacks:new WCF.Dictionary(),_isListening:false,addCallback:function(a,b){this._bindListener();if(this._callbacks.isset(a)){console.debug("[WCF
.CloseOverlayHandler
] identifier
'"+a+"' is already bound to a callback
");return false}this._callbacks.add(a,b)},removeCallback:function(a){if(this._callbacks.isset(a)){this._callbacks.remove(a)}},forceExecution:function(){this._executeCallbacks()},_bindListener:function(){if(this._isListening){return}$(document.body).click($.proxy(this._executeCallbacks,this));this._isListening=true},_executeCallbacks:function(a){this._callbacks.each(function(b){b.value()})}};WCF.DOMNodeInsertedHandler={_callbacks:[],_isExecuting:false,addCallback:function(a,b){this._callbacks.push(b)},_executeCallbacks:function(){if(this._isExecuting){return}this._isExecuting=true;for(var b=0,a=this._callbacks.length;b<a;b++){this._callbacks[b]()}this._isExecuting=false},execute:function(){this._executeCallbacks()}};WCF.DOMNodeRemovedHandler={_callbacks:new WCF.Dictionary(),_isExecuting:false,_isListening:false,addCallback:function(a,b){this._bindListener();if(this._callbacks.isset(a)){console.debug("[WCF
.DOMNodeRemovedHandler
] identifier
'"+a+"' is already bound to a callback
");return false}this._callbacks.add(a,b)},removeCallback:function(a){if(this._callbacks.isset(a)){this._callbacks.remove(a)}},_bindListener:function(){if(this._isListening){return}$(document).bind("DOMNodeRemoved
",$.proxy(this._executeCallbacks,this));this._isListening=true},_executeCallbacks:function(a){if(this._isExecuting){return}this._isExecuting=true;this._callbacks.each(function(b){b.value(a)});this._isExecuting=false}};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(a,b){this._change(b);$(b).change($.proxy(this._handleChange,this))},_handleChange:function(a){this._change($(a.target))},_change:function(option){option=$(option);var $disableOptions=eval(option.data("disableOptions
"));var $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
")){this._execute(true,$disableOptions,$enableOptions)}break}break;case"select
":var $value=option.val();var $disableOptions=$enableOptions=[];if(option.data("disableOptions
").length>0){for(var $index in option.data("disableOptions
")){var $item=option.data("disableOptions
")[$index];if($item.value==$value){$disableOptions.push($item.option)}}}if(option.data("enableOptions
").length>0){for(var $index in option.data("enableOptions
")){var $item=option.data("enableOptions
")[$index];if($item.value==$value){$enableOptions.push($item.option)}}}this._execute(true,$disableOptions,$enableOptions);break}},_execute:function(e,f,d){if(f.length>0){for(var g=0,b=f.length;g<b;g++){var a=f[g];if($.wcfIsset(a)){this._enableOption(a,!e)}else{var c=$("."+a+"Input
");if(c.length){this._enableOptions(c.children("dd
").find("input
, select
, textarea
"),!e)}}}}if(d.length>0){for(var g=0,b=d.length;g<b;g++){var a=d[g];if($.wcfIsset(a)){this._enableOption(a,e)}else{var c=$("."+a+"Input
");if(c.length){this._enableOptions(c.children("dd
").find("input
, select
, textarea
"),e)}}}}},_enableOption:function(b,a){this._enableOptionElement($("#"+$.wcfEscapeID(b)),a)},_enableOptionElement:function(c,b){c=$(c);var a=c.getTagName();if(a=="select
"||(a=="input
"&&(c.attr("type
")=="checkbox
"||c.attr("type
")=="file
"||c.attr("type
")=="radio
"))){if(b){c.enable()}else{c.disable()}}else{if(b){c.removeAttr("readonly
")}else{c.attr("readonly
",true)}}if(b){c.closest("dl
").removeClass("disabled
")}else{c.closest("dl
").addClass("disabled
")}},_enableOptions:function(a,b){for(var d=0,c=a.length;d<c;d++){this._enableOptionElement(a[d],b)}}});WCF.PageVisibilityHandler={_callbacks:new WCF.Dictionary(),_isListening:false,_hiddenFieldName:"",addCallback:function(a,b){this._bindListener();if(this._callbacks.isset(a)){console.debug("[WCF
.PageVisibilityHandler
] identifier
'"+a+"' is already bound to a callback
");return false}this._callbacks.add(a,b)},removeCallback:function(a){if(this._callbacks.isset(a)){this._callbacks.remove(a)}},_bindListener:function(){if(this._isListening){return}var a=null;if(typeof document.hidden!=="undefined"){this._hiddenFieldName="hidden
";a="visibilitychange
"}else{if(typeof document.mozHidden!=="undefined"){this._hiddenFieldName="mozHidden
";a="mozvisibilitychange
"}else{if(typeof document.msHidden!=="undefined"){this._hiddenFieldName="msHidden
";a="msvisibilitychange
"}else{if(typeof document.webkitHidden!=="undefined"){this._hiddenFieldName="webkitHidden
";a="webkitvisibilitychange
"}}}}if(a===null){console.debug("[WCF
.PageVisibilityHandler
] This browser does not support the page visibility API
.")}else{$(document).on(a,$.proxy(this._executeCallbacks,this))}this._isListening=true},_executeCallbacks:function(b){if(this._isExecuting){return}this._isExecuting=true;var a=document[this._hiddenFieldName];this._callbacks.each(function(c){c.value(a)});this._isExecuting=false}};WCF.Table={};WCF.Table.EmptyTableHandler=Class.extend({_options:{},_rowClassName:"",init:function(b,c,a){this._rowClassName=c;this._tableContainer=b;this._options=$.extend(true,{emptyMessage:null,messageType:"info
",refreshPage:false,updatePageNumber:false},a||{});WCF.DOMNodeRemovedHandler.addCallback("WCF
.Table
.EmptyTableHandler
."+c,$.proxy(this._remove,this))},_remove:function(e){var d=$(e.target);if(d.hasClass(this._rowClassName)){var c=d.parents("tbody
:eq(0)");if(c.children("tr
").length==1){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 a=window.location.href.match(/(\?|&)pageNo=(\d+)/g);if(a){var b=a[a.length-1].match(/\d+/g);if(this._options.updatePageNumber>0){b++}else{b--}window.location=window.location.href.replace(a[a.length-1],a[a.length-1][0]+"pageNo
="+b)}}else{window.location.reload()}}else{this._tableContainer.remove()}}}}}});WCF.Search={};WCF.Search.Base=Class.extend({_callback:null,_caretAt:-1,_className:"",_commaSeperated:false,_delay:0,_excludedSearchValues:[],_itemCount:0,_itemIndex:-1,_list:null,_oldSearchString:[],_proxy:null,_searchInput:null,_triggerLength:3,_timer:null,init:function(b,e,a,c,d){if(e!==null&&e!==undefined&&!$.isFunction(e)){console.debug("[WCF
.Search
.Base
] The given callback is invalid
, aborting
.");return}this._callback=(e)?e:null;this._caretAt=-1;this._delay=0;this._excludedSearchValues=[];if(a){this._excludedSearchValues=a}this._searchInput=$(b);if(!this._searchInput.length){console.debug("[WCF
.Search
.Base
] Selector
'"+b+"' for search input is invalid
, aborting
.");return}this._searchInput.keydown($.proxy(this._keyDown,this)).keyup($.proxy(this._keyUp,this)).wrap('<span class="dropdown
" />');if($.browser.mozilla&&$.browser.touch){this._searchInput.on("input
",$.proxy(this._keyUp,this))}this._list=$('<ul class="dropdownMenu
" />').insertAfter(this._searchInput);this._commaSeperated=(c)?true:false;this._oldSearchString=[];this._itemCount=0;this._itemIndex=-1;this._proxy=new WCF.Action.Proxy({showLoadingOverlay:(d!==true?false:true),success:$.proxy(this._success,this),autoAbortPrevious:true});if(this._searchInput.is("input
")){this._searchInput.attr("autocomplete
","off
")}this._searchInput.blur($.proxy(this._blur,this));WCF.Dropdown.initDropdownFragment(this._searchInput.parent(),this._list)},_blur:function(){var a=this;new WCF.PeriodicalExecuter(function(b){if(a._list.is(":visible
")){a._clearList(false)}b.stop()},250)},_keyDown:function(a){if(a.which===$.ui.keyCode.ENTER){var b=this._searchInput.parents(".dropdown
");if(b.data("disableAutoFocus
")){if(this._itemIndex!==-1){a.preventDefault()}}else{if(b.data("preventSubmit
")||this._itemIndex!==-1){a.preventDefault()}}}},_keyUp:function(d){switch(d.which){case 37:case 39:return;break;case 38:this._selectPreviousItem();return;break;case 40:this._selectNextItem();return;break;case 13:return this._selectElement(d);break}var b=this._getSearchString(d);if(b===""){this._clearList(false)}else{if(b.length>=this._triggerLength){var c={data:{excludedSearchValues:this._excludedSearchValues,searchString:b}};if(this._delay){if(this._timer!==null){this._timer.stop()}var a=this;this._timer=new WCF.PeriodicalExecuter(function(){a._queryServer(c);a._timer.stop();a._timer=null},this._delay)}else{this._queryServer(c)}}else{this._clearList(false)}}},_queryServer:function(a){this._searchInput.parents(".searchBar
").addClass("loading
");this._proxy.setOption("data
",{actionName:"getSearchResultList
",className:this._className,interfaceName:"wcf
\\data
\\ISearchAction
",parameters:this._getParameters(a)});this._proxy.sendRequest()},setDelay:function(a){this._delay=a},_selectNextItem:function(){if(this._itemCount===0){return}this._itemIndex++;if(this._itemIndex===this._itemCount){this._itemIndex=0}this._highlightSelectedElement()},_selectPreviousItem:function(){if(this._itemCount===0){return}this._itemIndex--;if(this._itemIndex===-1){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(a){if(this._itemCount===0){return true}this._list.find("li
.dropdownNavigationItem
").trigger("click
");return false},_getSearchString:function(d){var a=$.trim(this._searchInput.val());if(this._commaSeperated){var c=d.keyCode||d.which;if(c==$.ui.keyCode.COMMA){return""}var b=a.split(",");var e=b.length;for(var g=0;g<e;g++){b[g]=$.trim(b[g])}for(var g=0;g<e;g++){var f=b[g];if(this._oldSearchString[g]){if(f!=this._oldSearchString[g]){a=f;this._caretAt=g;break}}else{a=f;break}}this._oldSearchString=b}return a},_getParameters:function(a){return a},_success:function(d,f,c){this._clearList(false);this._searchInput.parents(".searchBar
").removeClass("loading
");if($.getLength(d.returnValues)){for(var e in d.returnValues){var a=d.returnValues[e];this._createListItem(a)}}else{if(!this._handleEmptyResult()){return}}WCF.CloseOverlayHandler.addCallback("WCF
.Search
.Base
",$.proxy(function(){this._clearList()},this));var b=this._searchInput.parents(".dropdown
").wcfIdentify();if(!WCF.Dropdown.getDropdownMenu(b).hasClass("dropdownOpen
")){WCF.Dropdown.toggleDropdown(b)}this._itemIndex=-1;if(!WCF.Dropdown.getDropdown(b).data("disableAutoFocus
")){this._selectNextItem()}},_handleEmptyResult:function(){return false},_createListItem:function(b){var a=$("<li
><span
>"+WCF.String.escapeHTML(b.label)+"</span></li>").appendTo(this._list);a.data("objectID
",b.objectID).data("label
",b.label).click($.proxy(this._executeCallback,this));this._itemCount++;return a},_executeCallback:function(d){var a=false;var c=$(d.currentTarget);if(this._commaSeperated){var b=c.data("label
");this._oldSearchString[this._caretAt]=b;this._searchInput.val(this._oldSearchString.join(", "));if($.browser.webkit){this._searchInput.css({display:"block
"})}var e=this._searchInput.val().toLowerCase().indexOf(b.toLowerCase())+b.length;this._searchInput.focus().setCaret(e)}else{if(this._callback===null){this._searchInput.val(c.data("label
"))}else{a=(this._callback(c.data())===true)?true:false}}this._clearList(a)},_clearList:function(a){if(a&&!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(a){if(!WCF.inArray(a,this._excludedSearchValues)){this._excludedSearchValues.push(a)}},removeExcludedSearchValue:function(b){var a=$.inArray(b,this._excludedSearchValues);if(a!=-1){this._excludedSearchValues.splice(a,1)}}});WCF.Search.User=WCF.Search.Base.extend({_className:"wcf
\\data
\\user
\\UserAction
",_includeUserGroups:false,init:function(c,e,a,b,d){this._includeUserGroups=a;this._super(c,e,b,d)},_getParameters:function(a){a.data.includeUserGroups=this._includeUserGroups?1:0;return a},_createListItem:function(e){var d=this._super(e);var b=null;if(e.icon){b=$(e.icon)}else{if(this._includeUserGroups&&e.type==="group
"){b=$('<span class="icon icon16 icon
-group
" />')}}if(b){var a=d.find("span
").detach();var c=$("<div
/>").addClass("box16
").appendTo(d);c.append(b);c.append($("<div
/>").append(a))}d.data("type",e.type);return d}});WCF.System={};WCF.System.Dependency={};WCF.System.Dependency.Manager={_callbacks:{},_loaded:[],_setupCallbacks:{},register:function(a,b){if(!$.isFunction(b)){console.debug("[WCF.System.Dependency.Manager] Callback for identifier '"+a+"' is invalid, aborting.");return}if(WCF.inArray(a,this._loaded)){setTimeout(function(){b()},1)}else{if(!this._callbacks[a]){this._callbacks[a]=[]}this._callbacks[a].push(b)}},setup:function(a,b){if(!$.isFunction(b)){console.debug("[WCF.System.Dependency.Manager] Setup callback for identifier '"+a+"' is invalid, aborting.");return}if(!this._setupCallbacks[a]){this._setupCallbacks[a]=[]}this._setupCallbacks[a].push(b)},invoke:function(a){if(this._setupCallbacks[a]){for(var c=0,b=this._setupCallbacks[a].length;c<b;c++){this._setupCallbacks[a][c]()}delete this._setupCallbacks[a]}this._loaded.push(a);if(this._callbacks[a]){for(var c=0,b=this._callbacks[a].length;c<b;c++){this._callbacks[a][c]()}delete this._callbacks[a]}}};WCF.System.FlexibleMenu={_containers:{},_containerIDs:[],_dropdowns:{},_dropdownMenus:{},_hasHiddenItems:{},_isWorking:false,_menuItems:{},init:function(){this.registerMenu("mainMenu");this.registerMenu($(".navigationHeader:eq(0)").wcfIdentify());this._registerTabMenus();$(window).resize($.proxy(this.rebuildAll,this));WCF.DOMNodeInsertedHandler.addCallback("WCF.System.FlexibleMenu",$.proxy(this._registerTabMenus,this))},_registerTabMenus:function(){$(".tabMenuContainer:not(.jsFlexibleMenuEnabled), .messageTabMenu:not(.jsFlexibleMenuEnabled)").each(function(a,b){var c=$(b).addClass("jsFlexibleMenuEnabled").children("nav");if(c.length&&c.find("> ul:eq(0) > li").length){WCF.System.FlexibleMenu.registerMenu(c.wcfIdentify())}})},registerMenu:function(a){var b=$("#"+a);if(!b.length){console.debug("[WCF.System.FlexibleMenu] Unable to find container identified by '"+a+"', aborting.");return}this._containerIDs.push(a);this._containers[a]=b;this._menuItems[a]=b.find("> ul:eq(0) > li");this._dropdowns[a]=$('<li class="dropdown jsFlexibleMenuDropdown"><a class="icon icon16 icon-list" /></li>').data("containerID",a).click($.proxy(this._click,this));this._dropdownMenus[a]=$('<ul class="dropdownMenu" />').appendTo(this._dropdowns[a]);this._hasHiddenItems[a]=false;this.rebuild(a);WCF.Dropdown.initDropdown(this._dropdowns[a].children("a"))},rebuildAll:function(){if(this._isWorking){return}this._isWorking=true;for(var b=0,a=this._containerIDs.length;b<a;b++){this.rebuild(this._containerIDs[b])}this._isWorking=false},rebuild:function(j){if(!this._containers[j]){console.debug("[WCF.System.FlexibleMenu] Cannot rebuild unknown container identified by '"+j+"'");return}var l=this._containers[j];var f=this._menuItems[j].hide();var a=f.filter(".active, .ui-state-active").show();if(!this._hasHiddenItems[j]){this._dropdowns[j].appendTo(l.children("ul:eq(0)"))}var g=this._dropdowns[j].outerWidth(true);var e=l.parent();var b=e.innerWidth();b-=e.cssAsNumber("padding-left")+e.cssAsNumber("padding-right");b-=l.cssAsNumber("margin-left")+l.cssAsNumber("margin-right");b-=l.cssAsNumber("padding-left")+l.cssAsNumber("padding-right");b-=l.children("ul:eq(0)").cssAsNumber("padding-left")+l.children("ul:eq(0)").cssAsNumber("padding-right");b-=a.outerWidth(true);this._hasHiddenItems[j]=false;for(var i=0;i<f.length;i++){var h=$(f[i]);if(h.hasClass("active")||h.hasClass("ui-state-active")){continue}var c=h.outerWidth(true);if(b-c>0){b-=c;h.show()}else{if(b<g){var d=h.prev();if(d.hasClass("active")||d.hasClass("ui-state-active")){d.prev().hide()}else{d.hide()}}this._hasHiddenItems[j]=true;break}}if(this._hasHiddenItems[j]){this._dropdownMenus[j].empty();var k=this;f.each($.proxy(function(m,n){if($(n).is(":visible")){return true}$("<li>"+$(n).html()+"</li>").data("index",m).appendTo(this._dropdownMenus[j]).click(function(p){var o=$(f[$(p.currentTarget).data("index")]);if(o[0].tagName==="A"){o.trigger("click")}else{if(o[0].tagName==="LI"){o.find("a").trigger("click")}}if(o.parent().hasClass("ui-tabs-nav")){p.preventDefault()}setTimeout(function(){k.rebuild(j)},50)})},this))}else{this._dropdowns[j].detach()}}};WCF.System.Mobile={};WCF.System.Mobile.UX={_enabled:false,_main:null,_sidebar:null,init:function(){this._enabled=false;this._main=$("#main");this._sidebar=this._main.find("> div > div > .sidebar");if($.browser.touch){$("html").addClass("touch")}enquire.register("screen and (max-width: 800px)",{match:$.proxy(this._enable,this),unmatch:$.proxy(this._disable,this),setup:$.proxy(this._setup,this),deferSetup:true});if($.browser.msie&&this._sidebar.width()>305){this._sidebar.css("display","none").css("display","")}},_setup:function(){this._initSidebarToggleButtons();this._initSearchBar();this._initButtonGroupNavigation();WCF.CloseOverlayHandler.addCallback("WCF.System.Mobile.UX",$.proxy(this._closeMenus,this));WCF.DOMNodeInsertedHandler.addCallback("WCF.System.Mobile.UX",$.proxy(this._initButtonGroupNavigation,this))},_enable:function(){this._enabled=true;if($.browser.msie){this._sidebar.css("display","none").css("display","")}},_disable:function(){this._enabled=false;if($.browser.msie){this._sidebar.css("display","none").css("display","")}},_initSidebarToggleButtons:function(){var c=this._main.hasClass("sidebarOrientationLeft");var b=this._main.hasClass("sidebarOrientationRight");if(c||b){var d="wcf.global.sidebar.show"+(c?"Left":"Right")+"Sidebar";if(d===WCF.Language.get(d)||WCF.Language.get(d)===""){d='<span
class="icon icon16 icon-double-angle-'+(c?"left
":"right
")+'" />'}var e="wcf.global.sidebar.hide"+(c?"Left":"Right")+"Sidebar";if(e===WCF.Language.get(e)||WCF.Language.get(e)===""){e='<span
class="icon icon16 icon-double-angle-'+(c?"right
":"left
")+'" />'}var a=this;$('<span class="button small mobileSidebarToggleButton">'+d+"</span>").appendTo($(".content
")).click(function(){a._main.addClass("mobileShowSidebar
")});$('<span class="button small mobileSidebarToggleButton
">'+e+"</span>").appendTo($(".sidebar")).click(function(){a._main.removeClass("mobileShowSidebar")})}},_initSearchBar:function(){var b=$(".searchBar:eq(0)");var a=this;b.click(function(){if(a._enabled){b.addClass("searchBarOpen")}});this._main.click(function(){b.removeClass("searchBarOpen")})},_initButtonGroupNavigation:function(){$(".buttonGroupNavigation:not(.jsMobileButtonGroupNavigation)").each(function(b,a){var d=$(a).addClass("jsMobileButtonGroupNavigation");var c=$('<a class="dropdownLabel"><span class="icon icon24 icon-list" /></a>').prependTo(d);c.click(function(){c.next().toggleClass("open");return false})})},_closeMenus:function(){$(".jsMobileButtonGroupNavigation > ul.open").removeClass("open")}};WCF.System.ObjectStore={_objects:{},add:function(a,b){if(this._objects[a]===undefined){this._objects[a]=[]}this._objects[a].push(b)},invoke:function(a,c){if(this._objects[a]){for(var b=0;b<this._objects[a].length;b++){c(this._objects[a][b])}}}};WCF.System.Captcha={_captchas:{},addCallback:function(a,b){if(!$.isFunction(b)){console.debug("[WCF.System.Captcha] Given callback is no function");return}this._captchas[a]=b},getData:function(a){if(this._captchas[a]===undefined){console.debug('[WCF.System.Captcha] Unknow captcha id "'+a+'"');return}return this._captchas[a]()},removeCallback:function(a){delete this._captchas[a]}};WCF.System.Page={};WCF.System.Page.Multiple=Class.extend({_cache:{},_options:{},_pageNo:1,_pages:0,_previousPageNo:0,init:function(a){this._options=$.extend({container:null,pagination:null,loadItems:null},a);this._cache={};this._pageNo=1;this._pages=0;this._previousPageNo=0;if(this._pagination.data("pages")){this._pagination.wcfPages({maxPage:this._pagination.data("pages")}).on("wcfpagesswitched",$.proxy(this._showPage,this))}},_showPage:function(a,b){if(b&&b.activePage){if(!b.template){this._previousPageNo=this._pageNo}this._pageNo=b.activePage}if(this._cache[this._pageNo]||(b&&b.template)){this._cache[this._previousPageNo]=this._list.children().detach();if(b&&b.template){this._list.html(b.template)}else{this._list.append(this._cache[this._pageNo])}}else{this._options.loadItems()}},showPage:function(a,b){this._showPage(null,{activePage:a,template:b})},getPageNo:function(){return this._pageNo}});WCF.System.Notification=Class.extend({_callback:null,_cssClassNames:"",_message:"",_overlay:null,_timer:null,init:function(a,b){this._cssClassNames=b||"success";this._message=a||WCF.Language.get("wcf.global.success");this._overlay=$("#systemNotification");this._timer=null;if(!this._overlay.length){this._overlay=$('<div id="systemNotification"><p></p></div>').hide().appendTo(document.body);this._overlay.children("p").click((function(){this._hide()}).bind(this))}},show:function(d,b,a,c){b=parseInt(b);if(!b){b=2000}if(d&&$.isFunction(d)){this._callback=d}this._overlay.children("p").html((a||this._message));this._overlay.children("p").removeClass().addClass((c||this._cssClassNames));this._timer=new WCF.PeriodicalExecuter($.proxy(this._hide,this),b);this._overlay.wcfFadeIn(undefined,300)},_hide:function(a){a=(a)?a:this._timer;if(this._callback!==null){this._callback()}this._overlay.wcfFadeOut(undefined,300);a.stop();a=null}});WCF.System.Confirmation={_callback:null,_dialog:null,_parameters:null,_visible:false,_confirmationButton:null,show:function(c,e,b,a){if(this._visible){console.debug("[WCF.System.Confirmation] Confirmation dialog is already open, refusing action.");return}if(!$.isFunction(e)){console.debug("[WCF.System.Confirmation] Given callback is invalid, aborting.");return}this._callback=e;this._parameters=b;var d=true;if(this._dialog===null){this._createDialog();d=false}this._dialog.find("#wcfSystemConfirmationContent").empty().hide();if(a&&a.length){a.appendTo(this._dialog.find("#wcfSystemConfirmationContent").show())}this._dialog.find("p").text(c);this._dialog.wcfDialog({onClose:$.proxy(this._close,this),onShow:$.proxy(this._show,this),title:WCF.Language.get("wcf.global.confirmation.title")});if(d){this._dialog.wcfDialog("render")}this._confirmationButton.focus();this._visible=true},_createDialog:function(){this._dialog=$('<div id="wcfSystemConfirmation" class="systemConfirmation"><p /><div id
="wcfSystemConfirmationContent" /></div>').hide().appendTo(document.body);var a=$('<div
class="formSubmit" />').appendTo(this._dialog);this._confirmationButton=$('<button class="buttonPrimary">'+WCF.Language.get("wcf.global.confirmation.confirm")+"</button
>").data("action
","confirm
").click($.proxy(this._click,this)).appendTo(a);$("<button
>"+WCF.Language.get("wcf
.global
.confirmation
.cancel
")+"</button>").data("action","cancel").click($.proxy(this._click,this)).appendTo(a)},_click:function(a){this._notify($(a.currentTarget).data("action"))},_close:function(){if(this._visible){this._notify("cancel")}},_notify:function(a){this._visible=false;this._dialog.wcfDialog("close");this._confirmationButton.blur();this._callback(a,this._parameters)},_show:function(){this._dialog.find("button.buttonPrimary").blur().focus()}};WCF.System.DisableScrolling={_depth:0,_oldOverflow:null,disable:function(){if($.browser.touch){return}if(this._depth===0){this._oldOverflow=$(document.body).css("overflow");$(document.body).css("overflow","hidden")}this._depth++},enable:function(){if(this._depth===0){return}this._depth--;if(this._depth===0){$(document.body).css("overflow",this._oldOverflow)}}};WCF.System.DisableZoom={_depth:0,_oldViewportSettings:null,disable:function(){if(this._depth===0){var a=$("meta[name=viewport]");this._oldViewportSettings=a.attr("content");a.attr("content",this._oldViewportSettings+",maximum-scale=1")}this._depth++},enable:function(){if(this._depth===0){return}this._depth--;if(this._depth===0){$("meta[name=viewport]").attr("content",this._oldViewportSettings)}}};WCF.System.Fullscreen={enterFullscreen:function(a){if(a.requestFullscreen){a.requestFullscreen()}else{if(a.msRequestFullscreen){a.msRequestFullscreen()}else{if(a.mozRequestFullScreen){a.mozRequestFullScreen()}else{if(a.webkitRequestFullscreen){a.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT)}}}}},toggleFullscreen:function(a){if(this.getFullscreenElement()===null){this.enterFullscreen(a)}else{this.exitFullscreen()}},getFullscreenElement:function(){if(document.fullscreenElement){return document.fullscreenElement}else{if(document.mozFullScreenElement){return document.mozFullScreenElement}else{if(document.webkitFullscreenElement){return document.webkitFullscreenElement}else{if(document.msFullscreenElement){return document.msFullscreenElement}}}}return null},exitFullscreen:function(){if(document.exitFullscreen){document.exitFullscreen()}else{if(document.msExitFullscreen){document.msExitFullscreen()}else{if(document.mozCancelFullScreen){document.mozCancelFullScreen()}else{if(document.webkitExitFullscreen){document.webkitExitFullscreen()}}}}},isSupported:function(){if(document.documentElement.requestFullscreen||document.documentElement.msRequestFullscreen||document.documentElement.mozRequestFullScreen||document.documentElement.webkitRequestFullscreen){return true}return false}};WCF.System.PageNavigation={_button:null,_description:null,_dialog:null,_elementID:"",_elements:{},_pageNo:null,init:function(a,c){var b=$(a);if(!b.length){return}c=c||null;if(c!==null&&!$.isFunction(c)){console.debug("[WCF.System.PageNavigation] Callback for selector '"+a+"' is invalid, aborting.");return}this._initElements(b,c)},_initElements:function(b,c){var a=this;b.each(function(e,f){var d=$(f);var g=d.wcfIdentify();if(a._elements[g]===undefined){a._elements[g]=d;d.find("li.jumpTo").data("elementID",g).click($.proxy(a._click,a))}}).data("callback",c)},_click:function(b){this._elementID=$(b.currentTarget).data("elementID");if(this._dialog===null){this._dialog=$('<div id="pageNavigationOverlay" />').hide().appendTo(document.body);var c=$("<fieldset><legend>"+WCF.Language.get("wcf.global.page.jumpTo")+"</legend></fieldset>").appendTo(this._dialog);$('<dl
><dt
><label
for="jsPageNavigationPageNo">'+WCF.Language.get("wcf.global.page.jumpTo")+"</label></dt><dd></dd></dl>").appendTo(c);this._pageNo=$('<input type
="number" id
="jsPageNavigationPageNo" value
="1" min
="1" max
="1" class="tiny" />').keyup($.proxy(this._keyUp,this)).appendTo(c.find("dd"));this._description=$("<small></small>").insertAfter(this._pageNo);var a=$('<div class="formSubmit
" />').appendTo(this._dialog);this._button=$('<button class="buttonPrimary
">'+WCF.Language.get("wcf
.global
.button
.submit
")+"</button
>").click($.proxy(this._submit,this)).appendTo(a)}this._button.enable();this._description.html(WCF.Language.get("wcf
.global
.page
.jumpTo
.description
").replace(/#pages#/,this._elements[this._elementID].data("pages
")));this._pageNo.val(this._elements[this._elementID].data("pages
")).attr("max
",this._elements[this._elementID].data("pages
"));this._dialog.wcfDialog({title:WCF.Language.get("wcf
.global
.page
.pageNavigation
")})},_keyUp:function(b){if(b.which==$.ui.keyCode.ENTER&&!this._button.prop("disabled
")){this._submit();return}var a=parseInt(this._pageNo.val())||0;if(a<1||a>this._pageNo.attr("max
")){this._button.disable()}else{this._button.enable()}},_submit:function(){var b=this._elements[this._elementID];if(b.data("callback
")===null){var a=b.data("link
").replace(/pageNo=%d/,"pageNo
="+this._pageNo.val());window.location=a}else{b.data("callback
")(this._pageNo.val());this._dialog.wcfDialog("close
")}}};WCF.System.KeepAlive=Class.extend({init:function(a){new WCF.PeriodicalExecuter(function(b){new WCF.Action.Proxy({autoSend:true,data:{actionName:"keepAlive
",className:"wcf
\\data
\\session
\\SessionAction
"},failure:function(){b.stop()},showLoadingOverlay:false,success:function(c){WCF.System.PushNotification.executeCallbacks(c)},suppressErrors:true})},(a*1000))}});WCF.System.PushNotification={_callbacks:{},addCallback:function(a,b){if(this._callbacks[a]===undefined){this._callbacks[a]=[]}this._callbacks[a].push(b)},executeCallbacks:function(b){for(var a in b.returnValues){if(this._callbacks[a]!==undefined){for(var c=0;c<this._callbacks[a].length;c++){this._callbacks[a][c](b.returnValues[a])}}}}};WCF.System.Event={_listeners:{},addListener:function(b,d,c){if(typeof this._listeners[b]==="undefined"){this._listeners[b]={}}if(typeof this._listeners[b][d]==="undefined"){this._listeners[b][d]=[]}var a=WCF.getUUID();this._listeners[b][d].push({callback:c,uuid:a});return a},removeListener:function(a,c,b){if(this._listeners[a]&&this._listeners[a][c]){for(var d=0;d<this._listeners[a][c].length;d++){if(this._listeners[a][c][d].uuid==b){this._listeners[a][c].splice(d,1);return true}}}return false},removeAllListeners:function(a,b){if(this._listeners[a]&&this._listeners[a][b]){delete this._listeners[a][b];return true}return false},fireEvent:function(a,c,b){b=b||{};if(this._listeners[a]&&this._listeners[a][c]){for(var d=0;d<this._listeners[a][c].length;d++){this._listeners[a][c][d].callback(b)}}}};WCF.System.Worker=Class.extend({_aborted:false,_actionName:"",_callback:null,_className:"",_dialog:null,_proxy:null,_title:"",init:function(a,b,d,c,e){this._aborted=false;this._actionName=a;this._callback=e||null;this._className=b;this._dialog=null;this._proxy=new WCF.Action.Proxy({autoSend:true,data:{actionName:this._actionName,className:this._className,parameters:c||{}},showLoadingOverlay:false,success:$.proxy(this._success,this)});this._title=d},_success:function(c){if(this._dialog===null){this._dialog=$("<div
/>").hide().appendTo(document.body);this._dialog.wcfDialog({closeConfirmMessage:WCF.Language.get("wcf.worker.abort.confirmMessage"),closeViaModal:false,onClose:$.proxy(function(){this._aborted=true;this._proxy.abortPrevious();window.location.reload()},this),title:this._title})}if(this._aborted){return}if(c.returnValues.template){this._dialog.html(c.returnValues.template)}this._dialog.find("progress").attr("value",c.returnValues.progress).text(c.returnValues.progress+"%").next("span").text(c.returnValues.progress+"%");if(c.returnValues.progress<100){var b=c.returnValues.parameters||{};b.loopCount=c.returnValues.loopCount;this._proxy.setOption("data",{actionName:this._actionName,className:this._className,parameters:b});this._proxy.sendRequest()}else{if(this._callback!==null){this._callback(this,c)}else{this._dialog.find(".fa-spinner").removeClass("fa-spinner").addClass("fa-check green");this._dialog.find(".boxHeadline h1").text(WCF.Language.get("wcf.global.worker.completed"));var a=$('<div class="formSubmit" />').appendTo(this._dialog);$('<button
class="buttonPrimary">'+WCF.Language.get("wcf.global.button.next")+"</button>").appendTo(a).focus().click(function(){if(c.returnValues.redirectURL){window.location=c.returnValues.redirectURL}else{window.location.reload()}});this._dialog.wcfDialog("render")}}}});WCF.InlineEditor=Class.extend({_callbacks:[],_dropdowns:{},_elements:{},_notification:null,_options:[],_proxy:null,_triggerElements:{},_updateData:[],init:function(d){var c=$(d);if(!c.length){return}this._setOptions();var b="";for(var f=0,e=this._options.length;f<e;f++){if(this._options[f].isQuickOption){b=this._options[f].optionName;break}}var a=this;c.each(function(i,j){var h=$(j);var k=h.wcfIdentify();var g=a._getTriggerElement(h);if(g===null||g.length!==1){return}g.click($.proxy(a._show,a)).data("elementID",k);if(b){g.disableSelection().data("optionName",b).dblclick($.proxy(a._click,a))}a._elements[k]=h});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 a in this._elements){this._hide(a)}},_setOptions:function(){this._options=[]},registerCallback:function(a){if($.isFunction(a)){this._callbacks.push(a)}},_getTriggerElement:function(a){return null},_show:function(b){b.preventDefault();var g=$(b.currentTarget).data("elementID");var h=null;if(!this._dropdowns[g]){this._triggerElements[g]=h=this._getTriggerElement(this._elements[g]).addClass("dropdownToggle").wrap('<span
class="dropdown" />');this._dropdowns[g]=$('<ul
class="dropdownMenu" />').insertAfter(h)}this._dropdowns[g].empty();var c=false;var d="";for(var k=0,i=this._options.length;k<i;k++){var a=this._options[k];if(a.optionName==="divider"){if(d!==""&&d!=="divider"){$('<li class="dropdownDivider" />').appendTo(this._dropdowns[g]);d=a.optionName}}else{if(this._validate(g,a.optionName)||this._validateCallbacks(g,a.optionName)){var f=$("<li><span>"+a.label+"</span></li>").appendTo(this._dropdowns[g]);f.data("elementID",g).data("optionName",a.optionName).data("isQuickOption",(a.isQuickOption?true:false)).click($.proxy(this._click,this));c=true;d=a.optionName}}}if(c){var l=this._dropdowns[g].children().last();if(l.hasClass("dropdownDivider")){l.remove()}var j=null;var e=0;this._dropdowns[g].children().each(function(m,o){var n=$(o);if(!n.hasClass("dropdownDivider")){if(n.data("isQuickOption")){j=n}else{e++}}});if(!e){j.trigger("click");if(this._triggerElements[g]){WCF.Dropdown.close(this._triggerElements[g].parents(".dropdown").wcfIdentify())}return false}}if(h!==null){WCF.Dropdown.initDropdown(h,true)}return false},_validate:function(a,b){return false},_validateCallbacks:function(a,b){var c=this._callbacks.length;if(c){for(var d=0;d<c;d++){if(this._callbacks[d].validate(this._elements[a],b)){return true}}}return false},_success:function(b,d,a){var c=this._updateData.length;if(!c){return}this._updateState(b);this._updateData=[]},_updateState:function(a){},_click:function(c){var b=$(c.currentTarget);var d=b.data("elementID");var a=b.data("optionName");if(!this._execute(d,a)){this._executeCallback(d,a)}this._hide(d)},_execute:function(a,b){return false},_executeCallback:function(a,b){var c=this._callbacks.length;if(c){for(var d=0;d<c;d++){if(this._callbacks[d].execute(this._elements[a],b)){return true}}}return false},_hide:function(a){if(this._dropdowns[a]){this._dropdowns[a].empty().removeClass("dropdownOpen")}}});WCF.Upload=Class.extend({_name:"__files[]",_buttonSelector:null,_fileListSelector:null,_fileUpload:null,_className:"",_iframe:null,_internalFileID:0,_options:{},_uploadMatrix:[],_supportsAJAXUpload:true,_overlay:null,init:function(c,e,d,b){this._buttonSelector=c;this._fileListSelector=e;this._className=d;this._internalFileID=0;this._options=$.extend(true,{action:"upload",multiple:false,url:"index.php/AJAXUpload/?t="+SECURITY_TOKEN+SID_ARG_2ND},b||{});if(!URL_LEGACY_MODE){this._options.url=this._options.url.replace(/^index\.php\/(.*?)\/\?/,"?$1/&")}var a=new XMLHttpRequest();this._supportsAJAXUpload=(a&&("upload" in a)&&("onprogress" in a.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 a=$('<p
class="button uploadButton"><span
>'+WCF.Language.get("wcf.global.button.upload")+"</span></p>");a.prepend(this._fileUpload)}else{var a=$('<p
class="button uploadFallbackButton"><span
>'+WCF.Language.get("wcf.global.button.upload")+"</span></p>");a.click($.proxy(this._showOverlay,this))}this._insertButton(a)},_insertButton:function(a){this._buttonSelector.append(a)},_removeButton:function(){var a=".uploadButton";if(!this._supportsAJAXUpload){a=".uploadFallbackButton"}this._buttonSelector.find(a).remove()},_upload:function(c,e,b){var j=null;var a=[];if(e){a.push(e)}else{if(b){var g="";switch(b.type){case"image/png":g=".png";break;case"image/jpeg":g=".jpg";break;case"image/gif":g=".gif";break}a.push({name:"pasted-from-clipboard"+g})}else{a=this._fileUpload.prop("files")}}if(a.length){var m=new FormData();j=this._createUploadMatrix(a);if(!this._uploadMatrix[j].length){return null}for(var i=0,f=a.length;i<f;i++){if(this._uploadMatrix[j][i]){var h=this._uploadMatrix[j][i].data("internalFileID");if(b){m.append("__files["+h+"]",b,a[i].name)}else{m.append("__files["+h+"]",a[i])}}}m.append("actionName",this._options.action);m.append("className",this._className);var d=this._getParameters();for(var l in d){m.append("parameters["+l+"]",d[l])}var k=this;$.ajax({type:"POST",url:this._options.url,enctype:"multipart/form-data",data:m,contentType:false,processData:false,success:function(o,p,n){k._success(j,o)},error:$.proxy(this._error,this),xhr:function(){var n=$.ajaxSettings.xhr();if(n){n.upload.addEventListener("progress",function(o){k._progress(j,o)},false)}return n}})}return j},_createUploadMatrix:function(b){if(b.length){var c=this._uploadMatrix.length;this._uploadMatrix[c]=[];for(var f=0,d=b.length;f<d;f++){var a=b[f];var e=this._initFile(a);if(!e.hasClass("uploadFailed")){e.data("filename",a.name).data("internalFileID",this._internalFileID++);this._uploadMatrix[c][f]=e}}return c}return null},_success:function(b,a){},_error:function(a,c,b){},_progress:function(c,a){var b=Math.round(a.loaded*100/a.total);for(var d in this._uploadMatrix[c]){this._uploadMatrix[c][d].find("progress").attr("value",b)}},_getParameters:function(){return{}},_initFile:function(a){return $("<li>"+a.name+" ("+a.size+')<progress max
="100" /></li>').appendTo(this._fileListSelector)},_showOverlay:function(){if(this._iframe===null){this._iframe=$('<iframe name="__fileUploadIFrame" />').hide().appendTo(document.body)}if(!this._overlay){this._overlay=$('<div
><form enctype
="multipart/form-data" method
="post" action
="'+this._options.url+'" target
="__fileUploadIFrame" /></div>').hide().appendTo(document.body);var a=this._overlay.find("form");$('<dl class="wide"><dd><input type="file" id="__fileUpload" name="'+this._name+'" '+(this._options.multiple?'multiple="true" ':"")+"/></dd></dl>").appendTo(a);$('<div class="formSubmit
"><input type="submit
" value="Upload
" accesskey="s
" /></div></form>').appendTo(a);$('<input type="hidden
" name="isFallback
" value="1" />').appendTo(a);$('<input type="hidden
" name="actionName
" value="'+this._options.action+'" />').appendTo(a);$('<input type="hidden
" name="className
" value="'+this._className+'" />').appendTo(a);var b=this._getParameters();for(var c in b){$('<input type="hidden
" name="'+c+'" value="'+b[c]+'" />').appendTo(a)}a.submit($.proxy(function(){var d={name:this._getFilename(),size:""};var f=this._createUploadMatrix([d]);var e=this;this._iframe.data("loading
",true).off("load
").load(function(){e._evaluateResponse(f)});this._overlay.wcfDialog("close
")},this))}this._overlay.wcfDialog({title:WCF.Language.get("wcf
.global
.button
.upload
")})},_evaluateResponse:function(b){var a=$.parseJSON(this._iframe.contents().find("pre
").html());this._success(b,a)},_getFilename:function(){return $("#__fileUpload
").val().split("\\").pop()}});WCF.Upload.Parallel=WCF.Upload.extend({init:function(b,d,c,a){a=$.extend(true,a||{},{multiple:true});this._super(b,d,c,a)},_upload:function(){var b=this._fileUpload.prop("files
");for(var h=0,e=b.length;h<e;h++){var a=b[h];var c=new FormData();var g=this._createUploadMatrix(a);if(!this._uploadMatrix[g].length){continue}c.append("__files
["+g+"]",a);c.append("actionName
",this._options.action);c.append("className
",this._className);var d=this._getParameters();for(var f in d){c.append("parameters
["+f+"]",d[f])}this._sendRequest(g,c)}},_sendRequest:function(c,b){var a=this;$.ajax({type:"POST
",url:this._options.url,enctype:"multipart
/form
-data
",data:b,contentType:false,processData:false,success:function(e,f,d){a._success(c,e)},error:$.proxy(this._error,this),xhr:function(){var d=$.ajaxSettings.xhr();if(d){d.upload.addEventListener("progress
",function(e){a._progress(c,e)},false)}return d}})},_createUploadMatrix:function(a){var b=this._initFile(a);if(!b.hasClass("uploadFailed
")){b.data("filename
",a.name).data("internalFileID
",this._internalFileID);this._uploadMatrix[this._internalFileID++]=b;return this._internalFileID-1}return null},_success:function(b,a){},_progress:function(b,a){var c=Math.round(a.loaded*100/a.total);this._uploadMatrix[b].find("progress
").attr("value
",c)},_showOverlay:function(){if(this._iframe===null){this._iframe=$('<iframe name="__fileUploadIFrame
" />').hide().appendTo(document.body)}if(!this._overlay){this._overlay=$('<div><form enctype="multipart
/form-data" method="post" action="'+this._options.url+'" target="__fileUploadIFrame" /></div>').hide().appendTo(document.body);var a=this._overlay.find("form");$('<dl class="wide"><dd><input type="file" id="__fileUpload" name="'+this._name+'" '+(this._options.multiple?'multiple="true" ':"")+"/></dd></dl>").appendTo(a);$('<div class="formSubmit
"><input type="submit
" value="Upload
" accesskey="s
" /></div></form>').appendTo(a);$('<input type="hidden
" name="isFallback
" value="1" />').appendTo(a);$('<input type="hidden
" name="actionName
" value="'+this._options.action+'" />').appendTo(a);$('<input type="hidden
" name="className
" value="'+this._className+'" />').appendTo(a);var b=this._getParameters();for(var c in b){$('<input type="hidden
" name="'+c+'" value="'+b[c]+'" />').appendTo(a)}a.submit($.proxy(function(){var d={name:this._getFilename(),size:""};var f=this._createUploadMatrix(d);var e=this;this._iframe.data("loading
",true).off("load
").load(function(){e._evaluateResponse(f)});this._overlay.wcfDialog("close
")},this))}this._overlay.wcfDialog({title:WCF.Language.get("wcf
.global
.button
.upload
")})},_evaluateResponse:function(b){var a=$.parseJSON(this._iframe.contents().find("pre
").html());this._success(b,a)}});WCF.Sortable={};WCF.Sortable.List=Class.extend({_additionalParameters:{},_className:"",_containerID:"",_container:null,_notification:null,_offset:0,_options:{},_proxy:null,_structure:{},init:function(a,f,g,d,e,c){this._additionalParameters=c||{};this._containerID=$.wcfEscapeID(a);this._container=$("#"+this._containerID);this._className=f;this._offset=(g)?g:0;this._proxy=new WCF.Action.Proxy({success:$.proxy(this._success,this)});this._structure={};this._options=$.extend(true,{axis:"y
",connectWith:"#"+this._containerID+" .sortableList
",disableNesting:"sortableNoNesting
",doNotClear:true,errorClass:"sortableInvalidTarget
",forcePlaceholderSize:true,helper:"clone
",items:"li
:not(.sortableNoSorting
)",opacity:0.6,placeholder:"sortablePlaceholder
",tolerance:"pointer
",toleranceElement:"> span
"},d||{});if(e){$("#"+this._containerID+" .sortableList
").sortable(this._options)}else{$("#"+this._containerID+" > .sortableList
").nestedSortable(this._options)}if(this._className){var b=this._container.find(".formSubmit
");if(!b.length){b=this._container.next(".formSubmit
");if(!b.length){console.debug("[WCF
.Sortable
.Simple
] Unable to find form submit
for saving
, aborting
.");return}}b.children('button[data-type="submit
"]').click($.proxy(this._submit,this))}},_submit:function(){this._structure={};this._container.find(".sortableList
").each($.proxy(function(c,e){var b=$(e);var d=b.data("objectID
");if(d!==undefined){b.children(this._options.items).each($.proxy(function(f,h){var g=$(h).data("objectID
");if(!this._structure[d]){this._structure[d]=[]}this._structure[d].push(g)},this))}},this));var a=$.extend(true,{data:{offset:this._offset,structure:this._structure}},this._additionalParameters);this._proxy.setOption("data
",{actionName:"updatePosition
",className:this._className,interfaceName:"wcf
\\data
\\ISortableAction
",parameters:a});this._proxy.sendRequest()},_success:function(b,c,a){if(this._notification===null){this._notification=new WCF.System.Notification(WCF.Language.get("wcf
.global
.success
.edit
"))}this._notification.show()}});WCF.Popover=Class.extend({_activeElementID:"",_cancelPopover:false,_data:{},_defaultDimensions:{height:150,width:450},_defaultOrientation:{x:"right
",y:"top
"},_delay:{show:800,hide:500},_hoverElement:false,_hoverElementID:"",_hoverPopover:false,_margin:20,_peOut:null,_peOverElement:null,_popover:null,_popoverContent:null,_popoverOffset:10,_selector:"",init:function(a){if($.browser.mobile){return}this._activeElementID="";this._cancelPopover=false;this._data={};this._defaultDimensions={height:150,width:450};this._defaultOrientation={x:(WCF.Language.get("wcf
.global
.pageDirection
")==="rtl
"?"left
":"right
"),y:"top
"};this._delay={show:800,hide:500};this._hoverElement=false;this._hoverElementID="";this._hoverPopover=false;this._margin=20;this._peOut=null;this._peOverElement=null;this._popoverOffset=10;this._selector=a;this._popover=$('<div class="popover
"><span class="icon icon48 icon
-spinner
"></span><div class="popoverContent
"></div></div>').hide().appendTo(document.body);this._popoverContent=this._popover.children(".popoverContent
:eq(0)");this._popover.hover($.proxy(this._overPopover,this),$.proxy(this._out,this));this._initContainers();WCF.DOMNodeInsertedHandler.addCallback("WCF
.Popover
."+a,$.proxy(this._initContainers,this))},_initContainers:function(){if($.browser.mobile){return}var a=$(this._selector);if(!a.length){return}a.each($.proxy(function(c,d){var b=$(d);var e=b.wcfIdentify();if(!this._data[e]){this._data[e]={content:null,isLoading:false};b.hover($.proxy(this._overElement,this),$.proxy(this._out,this));if(b.is("a
")&&b.attr("href
")){b.click($.proxy(this._cancel,this))}}},this))},_cancel:function(a){this._cancelPopover=true;this._hide(true)},_overElement:function(a){if(this._cancelPopover){return}if(this._peOverElement!==null){this._peOverElement.stop()}var b=$(a.currentTarget).wcfIdentify();this._hoverElementID=b;this._peOverElement=new WCF.PeriodicalExecuter($.proxy(function(c){c.stop();if(this._hoverElementID===b){this._activeElementID=b;this._prepare()}},this),this._delay.show);this._hoverElement=true;this._hoverPopover=false},_prepare:function(){if(this._cancelPopover){return}if(this._peOut!==null){this._peOut.stop()}if(this._popover.is(":visible
")){this._hide(true)}if(!this._data[this._activeElementID].loading&&this._data[this._activeElementID].content){this._popoverContent.html(this._data[this._activeElementID].content);WCF.DOMNodeInsertedHandler.execute()}else{this._data[this._activeElementID].loading=true}var a=this._popover.show().getDimensions();if(this._data[this._activeElementID].loading){a={height:Math.max(a.height,this._defaultDimensions.height),width:Math.max(a.width,this._defaultDimensions.width)}}else{a=this._fixElementDimensions(this._popover,a)}this._popover.hide();var b=this._getOrientation(a.height,a.width);this._popover.css(this._getCSS(b.x,b.y));this._popover.removeClass("bottom left right top
").addClass(b.x).addClass(b.y);this._show()},_show:function(){if(this._cancelPopover){return}this._popover.stop().show().css({opacity:1}).wcfFadeIn();if(this._data[this._activeElementID].loading){this._popover.children("span
").show();this._loadContent()}else{this._popover.children("span
").hide();this._popoverContent.css({opacity:1})}},_loadContent:function(){},_insertContent:function(a,e,c){this._data[a]={content:e,loading:false};if(this._activeElementID===a){if(c){var d=this._popoverContent.getDimensions();this._popoverContent.css({height:"auto
",width:"auto
"});this._popoverContent.html(this._data[a].content);var f=this._popoverContent.getDimensions();this._popoverContent.html("").css({height:d.height+"px
",width:d.width+"px
"});var b=this;this._popoverContent.animate({height:f.height+"px
",width:f.width+"px
"},300,function(){b._popover.children("span
").hide();b._popoverContent.html(b._data[a].content).css({opacity:0}).animate({opacity:1},200);WCF.DOMNodeInsertedHandler.execute()})}else{this._popover.children("span
").hide();this._popoverContent.html(this._data[a].content);WCF.DOMNodeInsertedHandler.execute()}}},_hide:function(b){var a=this;this._popoverContent.stop();this._popover.stop();if(b){a._popover.css({opacity:0}).hide();a._popoverContent.empty().css({height:"auto
",opacity:0,width:"auto
"})}else{this._popover.wcfFadeOut(function(){a._popoverContent.empty().css({height:"auto
",opacity:0,width:"auto
"});a._popover.hide()})}},_overPopover:function(){if(this._peOut!==null){this._peOut.stop()}this._hoverElement=false;this._hoverPopover=true},_out:function(a){if(this._cancelPopover){return}this._hoverElementID="";this._hoverElement=false;this._hoverPopover=false;this._peOut=new WCF.PeriodicalExecuter($.proxy(function(b){b.stop();if(!this._hoverElement&&!this._hoverPopover){this._hide(false)}},this),this._delay.hide)},_getOrientation:function(i,a){var h=$("#"+this._activeElementID);var g=h.getOffsets("offset
");var f=h.getDimensions();var b=$(document).getDimensions();var e=(this._defaultOrientation.x==="left
")?"left
":"right
";var d=(this._defaultOrientation.y==="bottom
")?"bottom
":"top
";var c=this._evaluateOrientation(e,d,g,f,b,i,a);if(c.flawed){e=(e==="left
")?"right
":"left
";c=this._evaluateOrientation(e,d,g,f,b,i,a);if(c.flawed){e=(e==="right
")?"left
":"right
";d=(d==="bottom
")?"top
":"bottom
";c=this._evaluateOrientation(e,d,g,f,b,i,a);if(c.flawed){e=(e==="left
")?"right
":"left
";c=this._evaluateOrientation(e,d,g,f,b,i,a);if(c.flawed){e=(this._defaultOrientationX==="left
")?"left
":"right
";d=(this._defaultOrientationY==="bottom
")?"bottom
":"top
"}}}}return{x:e,y:d}},_evaluateOrientation:function(g,f,b,h,j,i,a){var d=0,e=0;switch(g){case"left
":e=b.left-a;break;case"right
":e=j.width-(b.left+a);break}switch(f){case"bottom
":d=j.height-(b.top+h.height+this._popoverOffset+i);break;case"top
":d=b.top-(i-this._popoverOffset);break}var c=false;if(d<this._margin||e<this._margin){c=true}return{flawed:c,x:e,y:d}},_getCSS:function(d,c){var g={bottom:"auto
",left:"auto
",right:"auto
",top:"auto
"};var b=$("#"+this._activeElementID);var e=b.getOffsets("offset
");var f=this._fixElementDimensions(b,b.getDimensions());var a=$(window).getDimensions();switch(d){case"left
":g.right=a.width-(e.left+f.width);break;case"right
":g.left=e.left;break}switch(c){case"bottom
":g.top=e.top+(f.height+this._popoverOffset);break;case"top
":g.bottom=a.height-(e.top-this._popoverOffset);break}return g},_fixElementDimensions:function(a,b){var c=a.parent().getDimensions();if(c.height<b.height){b.height=c.height}if(c.width<b.width){b.width=c.width}return b}});WCF.EditableItemList=Class.extend({_allowCustomInput:false,_className:"",_data:{},_form:null,_itemList:null,_objectID:0,_objectTypeID:0,_search:null,_searchInput:null,init:function(c,a){this._itemList=$(c);this._searchInput=$(a);this._data={};if(!this._itemList.length||!this._searchInput.length){console.debug("[WCF
.EditableItemList
] Item list and
/or search input do not exist, aborting.");return}this._objectID=this._getObjectID();this._objectTypeID=this._getObjectTypeID();this._itemList.find(".jsEditableItem").click($.proxy(this._click,this));if(!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));if(this._allowCustomInput){var b=this;this._searchInput.keydown($.proxy(this._keyDown,this)).keypress($.proxy(this._keyPress,this)).on("paste
",function(){setTimeout(function(){b._onPaste()},100)})}this._searchInput.parents(".dropdown
").data("preventSubmit
",true)},_keyDown:function(a){if(a===null){return this._keyPress(null)}return true},_keyPress:function(b){if(b===null||b.charCode===44||b.charCode===$.ui.keyCode.ENTER){if(b!==null&&b.charCode===$.ui.keyCode.ENTER&&this._search){if(this._search._itemIndex!==-1){return false}}var a=$.trim(this._searchInput.val());if(b&&b.charCode===44){a=a.substring(0,this._searchInput.getCaret())}if(a===""){return true}this.addItem({objectID:0,label:a});if(b&&b.charCode===44){this._searchInput.val($.trim(this._searchInput.val().substr(this._searchInput.getCaret())))}else{this._searchInput.val("")}if(b!==null){b.stopPropagation()}return false}return true},_onPaste:function(){var b=$.trim(this._searchInput.val());b=b.split(",");for(var d=0,c=b.length;d<c;d++){var a=$.trim(b[d]);if(a===""){continue}this.addItem({objectID:0,label:a})}this._searchInput.val("")},load:function(a){},_click:function(d){var b=$(d.currentTarget);var c=b.data("objectID
");var a=b.data("label
");if(this._search){this._search.removeExcludedSearchValue(a)}this._removeItem(c,a);b.remove();d.stopPropagation();return false},_getObjectID:function(){return 0},_getObjectTypeID:function(){return 0},addItem:function(b){if(this._data[b.objectID]){if(!(b.objectID===0&&this._allowCustomInput)){return true}}var a=$('<li class="badge
">'+WCF.String.escapeHTML(b.label)+"</li>").data("objectID",b.objectID).data("label",b.label).appendTo(this._itemList);a.click($.proxy(this._click,this));if(this._search){this._search.addExcludedSearchValue(b.label)}this._addItem(b.objectID,b.label);return true},clearList:function(){this._itemList.children("li").each($.proxy(function(b,c){var a=$(c);if(this._search){this._search.removeExcludedSearchValue(a.data("label"))}a.remove();this._removeItem(a.data("objectID"),a.data("label"))},this))},_submit:function(){this._keyDown(null)},_addItem:function(b,a){this._data[b]=a},_removeItem:function(b,a){delete this._data[b]},getSearchInput:function(){return this._searchInput}});WCF.Sitemap=Class.extend({_cache:[],_dialog:null,_didInit:false,_proxy:null,init:function(){$("#sitemap").click($.proxy(this._click,this));this._cache=[];this._dialog=null;this._didInit=false;this._proxy=new WCF.Action.Proxy({success:$.proxy(this._success,this)})},_click:function(a){a.preventDefault();if(this._dialog===null){this._dialog=$('<div id="sitemapDialog" />').appendTo(document.body);this._proxy.setOption("data",{actionName:"getSitemap",className:"wcf\\data\\sitemap\\SitemapAction"});this._proxy.sendRequest()}else{this._dialog.wcfDialog("open");$(document).trigger("resize")}},_success:function(b,c,a){if(this._didInit){this._cache.push(b.returnValues.sitemapName);this._dialog.find("#sitemap_"+b.returnValues.sitemapName).html(b.returnValues.template);this._dialog.wcfDialog("render")}else{this._cache.push(b.returnValues.sitemapName);this._dialog.html(b.returnValues.template);this._dialog.find(".sitemapNavigation").click($.proxy(this._navigate,this));this._dialog.find(".tabMenuContainer").wcfTabs("select","sitemap_"+b.returnValues.sitemapName);this._dialog.wcfDialog({title:WCF.Language.get("wcf.page.sitemap")});this._didInit=true}$(document).trigger("resize")},_navigate:function(a){var b=$(a.currentTarget).data("sitemapName");if(WCF.inArray(b,this._cache)){this._dialog.find(".tabMenuContainer").wcfTabs("select","sitemap_"+b);this._dialog.wcfDialog("render")}else{this._proxy.setOption("data",{actionName:"getSitemap",className:"wcf\\data\\sitemap\\SitemapAction",parameters:{sitemapName:b}});this._proxy.sendRequest()}}});WCF.Language.Chooser=Class.extend({_callback:null,_dropdown:null,_input:null,init:function(m,h,g,b,l,f){var n=$("#"+m);if(n.length!=1){console.debug("[WCF.Language.Chooser] Invalid container id '"+m+"' given");return}this._input=$("#"+h);if(!this._input.length){this._input=$('<input type
="hidden" name
="'+h+'" value
="'+g+'" />').appendTo(n)}if(l!==undefined){if(!$.isFunction(l)){console.debug("[WCF.Language.Chooser] Given callback is invalid");return}this._callback=l}this._dropdown=$('<div class="dropdown" id="'+m+'-languageChooser" />').appendTo(n);$('<div
class="dropdownToggle boxFlag box24" data
-toggle
="'+m+'-languageChooser"></div>').appendTo(this._dropdown);var c=$('<ul class="dropdownMenu" />').appendTo(this._dropdown);for(var a in b){var j=b[a];var i=$('<li
class="boxFlag"><a
class="box24"><div
class="framed"><img src
="'+j.iconPath+'" alt
="" class="iconFlag" /></div> <div
><h3
>'+j.languageName+"</h3></div></a></li>").appendTo(c);i.data("languageID",a).click($.proxy(this._click,this));if(a==g){var d=$(""+i.html());var k=d.children().detach();this._dropdown.children(".dropdownToggle").empty().append(k)}}if(f){$('<li
class="dropdownDivider" />').appendTo(c);var i=$("<li><a>"+WCF.Language.get("wcf.global.language.noSelection")+"</a></li>").data("languageID",0).click($.proxy(this._click,this)).appendTo(c);if(g===0){this._dropdown.children(".dropdownToggle").empty().append(i.html())}}else{if(g===0){var e=$('<div><span class="icon icon24 fa-question" /></div> <div><h3>'+WCF.Language.get("wcf.global.language.noSelection")+"</h3
></div>");this._dropdown.children(".dropdownToggle").empty().append(e)}}WCF.Dropdown.init()},_click:function(e){var d=$(e.currentTarget);var c=d.data("languageID");this._input.val(c);var b=$(""+d.html());var a=(c===0)?b:b.children().detach();this._dropdown.children(".dropdownToggle").empty().append(a);if(this._callback!==null){this._callback(d)}}});WCF.Style={};WCF.Style.Chooser=Class.extend({_dialog:null,_proxy:null,init:function(){$('<li class="styleChooser"><a href="#">'+WCF.Language.get("wcf.style.changeStyle")+"</a></li>").appendTo($("#footerNavigation > ul.navigationItems")).click($.proxy(this._showDialog,this));this._proxy=new WCF.Action.Proxy({success:$.proxy(this._success,this)})},_showDialog:function(a){if(a!==null){a.preventDefault()}if(this._dialog===null){this._dialog=$('<div id="styleChooser" />').hide().appendTo(document.body);this._loadDialog()}else{this._dialog.wcfDialog({title:WCF.Language.get("wcf.style.changeStyle")})}},_loadDialog:function(){this._proxy.setOption("data",{actionName:"getStyleChooser",className:"wcf\\data\\style\\StyleAction"});this._proxy.sendRequest()},_success:function(b,c,a){if(b.actionName==="changeStyle"){window.location.reload();return}this._dialog.html(b.returnValues.template);this._dialog.find("li").addClass("pointer").click($.proxy(this._click,this));this._showDialog(null)},_click:function(a){this._proxy.setOption("data",{actionName:"changeStyle",className:"wcf\\data\\style\\StyleAction",objectIDs:[$(a.currentTarget).data("styleID")]});this._proxy.sendRequest()}});WCF.UserPanel=Class.extend({_container:null,_didLoad:false,_link:null,_noItems:"",_revertOnEmpty:true,init:function(a){this._container=$("#"+a);this._didLoad=false;this._revertOnEmpty=true;if(this._container.length!=1){console.debug("[WCF.UserPanel] Unable to find container identfied by '"+a+"', aborting.");return}this._convert()},_convert:function(){this._container.addClass("dropdown");this._link=this._container.children("a").remove();var b=$('<a href
="'+this._link.attr("href
")+'" class="dropdownToggle">'+this._link.html()+"</a>").appendTo(this._container).click($.proxy(this._click,this));var a=$('<ul
class="dropdownMenu" />').appendTo(this._container);$('<li
class="jsDropdownPlaceholder"><span
>'+WCF.Language.get("wcf.global.loading")+"</span></li>").appendTo(a);this._addDefaultItems(a);this._container.dblclick($.proxy(function(){window.location=this._link.attr("href");return false},this));WCF.Dropdown.initDropdown(b,false)},_addDefaultItems:function(a){},_addDivider:function(a){$('<li
class="dropdownDivider" />').appendTo(a)},_click:function(a){a.preventDefault();if(this._didLoad){return}new WCF.Action.Proxy({autoSend:true,data:this._getParameters(),success:$.proxy(this._success,this)});this._didLoad=true},_getParameters:function(){return{}},_success:function(c,d,b){var a=WCF.Dropdown.getDropdownMenu(this._container.wcfIdentify());a.children(".jsDropdownPlaceholder").remove();if(c.returnValues&&c.returnValues.template){$(""+c.returnValues.template).prependTo(a);this._updateBadge(c.returnValues.totalCount);this._after(a)}else{$("<li><span>"+WCF.Language.get(this._noItems)+"</span></li>").prependTo(a);this._updateBadge(0)}},_updateBadge:function(a){a=parseInt(a)||0;if(a){var b=this._container.find(".badge");if(!b.length){b=$('<span class="badge badgeInverse" />').appendTo(this._container.children(".dropdownToggle"));b.before(" ")}b.html(a)}else{this._container.find(".badge").remove()}},_after:function(a){}});$.widget("ui.wcfDialog",{_closeButton:null,_container:null,_content:null,_overlay:null,_title:null,_titlebar:null,_isOpen:false,options:{autoOpen:true,closable:true,closeButtonLabel:null,closeConfirmMessage:null,closeViaModal:true,hideTitle:false,modal:true,title:"",zIndex:400,onClose:null,onShow:null},_createWidget:function(a,b){if($(b).getTagName()==="script"){console.debug("[ui.wcfDialog] Ignored script tag");this.element=false;return null}$.Widget.prototype._createWidget.apply(this,arguments)},_init:function(){if(this.options.autoOpen){this.open()}$(window).resize($.proxy(this._resize,this))},_create:function(){if(this.options.closeButtonLabel===null){this.options.closeButtonLabel=WCF.Language.get("wcf.global.button.close")}this._container=$('<div
class="dialogContainer" />').hide().css({zIndex:this.options.zIndex}).appendTo(document.body);this._titlebar=$('<header class="dialogTitlebar" />').hide().appendTo(this._container);this._title=$('<span
class="dialogTitle" />').hide().appendTo(this._titlebar);this._closeButton=$('<a class="dialogCloseButton jsTooltip" title="'+this.options.closeButtonLabel+'"><span /></a>').click($.proxy(this.close,this)).hide().appendTo(this._titlebar);this._content=$('<div class="dialogContent" />').appendTo(this._container);this._setOption("title",this.options.title);this._setOption("closable",this.options.closable);var a=this.element.detach();this._content.html(a);if(this.options.modal){this._overlay=$("#jsWcfDialogOverlay");if(!this._overlay.length){this._overlay=$('<div id
="jsWcfDialogOverlay" class="dialogOverlay" />').css({height:"100%",zIndex:399}).hide().appendTo(document.body)}if(this.options.closable&&this.options.closeViaModal){this._overlay.click($.proxy(this.close,this));$(document).keyup($.proxy(function(b){if(b.keyCode&&b.keyCode===$.ui.keyCode.ESCAPE){this.close();b.preventDefault()}},this))}}WCF.DOMNodeInsertedHandler.execute()},_setOption:function(a,b){this.options[a]=b;if(a=="hideTitle"||a=="title"){if(!this.options.hideTitle&&this.options.title!=""){this._title.html(this.options.title).show()}else{this._title.html("")}}else{if(a=="closable"||a=="closeButtonLabel"){if(this.options.closable){this._closeButton.attr("title",this.options.closeButtonLabel).show().find("span").html(this.options.closeButtonLabel);WCF.DOMNodeInsertedHandler.execute()}else{this._closeButton.hide()}}}if((!this.options.hideTitle&&this.options.title!="")||this.options.closable){this._titlebar.show()}else{this._titlebar.hide()}return this},open:function(){if(this.element===false){return}if(this.isOpen()){return}if(this._overlay!==null){WCF.activeDialogs++;if(WCF.activeDialogs===1){this._overlay.show()}}this.render();this._isOpen=true;this._content.find(".jsDialogAutoFocus:visible:first").focus()},isOpen:function(){return this._isOpen},close:function(a){if(!this.isOpen()){return}if(this.options.closeConfirmMessage){WCF.System.Confirmation.show(this.options.closeConfirmMessage,$.proxy(function(b){if(b==="confirm"){this._close()}},this))}else{this._close()}if(a!==undefined){a.preventDefault()}},_close:function(){this._isOpen=false;this._container.wcfFadeOut();if(this._container.data("wcfDialogScrollOffset")){window.scrollTo(0,this._container.data("wcfDialogScrollOffset"))}if(this._overlay!==null){WCF.activeDialogs--;if(WCF.activeDialogs===0){this._overlay.hide()}}if(this.options.onClose!==null){this.options.onClose()}},_resize:function(){if(this.isOpen()){this.render()}},render:function(){if(!this._container.is(":visible")&&this._container.css("top")==="0px"){this._container.data("wcfDialogScrollOffset",$(window).scrollTop());window.scrollTo(0,0)}this._container.show();this._content.children().show();this._content.css({height:"auto",width:"auto"});this._container.stop();this._content.stop();this._container.show().css("opacity",1);var e=0;if(this._content.find(".formSubmit").length){e=this._content.find(".formSubmit").outerHeight();this._content.addClass("dialogForm").css({marginBottom:e+"px"})}else{this._content.removeClass("dialogForm").css({marginBottom:"0px"})}var b=$(window).getDimensions();if(b.width*0.9>800){this._container.css("maxWidth","800px")}var h=this._container.getDimensions("outer");var d=this._content.getDimensions();var e=h.height-d.height;var g=b.height-e-120;this._content.css({maxHeight:g+"px"});this._determineOverflow();h=this._container.getDimensions("outer");var f=Math.round((b.width-h.width)/2);var a
=Math
.round((b
.height
-h
.height
)/2);var c=Math.round((b.height/100)*20);if(c
<a
){a
=c
}this._container
.css({left
:f
+"px",top
:a
+"px"});this._content
.css({height
:"auto",width
:"auto"});if(!this.isOpen()){this._container
.hide();this._container
.wcfFadeIn($.proxy(function(){if(this.options
.onShow
!==null){this.options
.onShow()}},this))}},_determineOverflow:function(){var b
=$(window
).getDimensions();var c
=this._content
.css("maxHeight");this._content
.css("maxHeight","none");var e
=this._container
.getDimensions("outer");var d
="visible";if((b
.height
*0.8<e
.height
)||(b
.width
*0.8<e
.width
)){d
="auto"}this._content
.css("overflow",d
);this._content
.css("maxHeight",c
);if(d
==="visible"){var a
=0;this._content
.children().each(function(f
,g
){a
+=$(g
).outerHeight()});if(this._content
.height()<a
){d
="auto";this._content
.css("overflow","auto")}}if($.browser
.mozilla
&&!$.browser
.mobile
){if(d
==="auto"){this._content
.children("div").css("margin-bottom",this._content
.css("padding-bottom"))}else{this._content
.children("div").css("margin-bottom",false)}}},_getContentDimensions:function(a
){var b
=this._content
.getDimensions();if(a
&&b
.height
>a
){b
.height
=a
}return b
}});$.widget("ui.wcfSlideshow",{_buttonList
:null,_count
:0,_index
:0,_itemList
:null,_items
:null,_timer
:null,_width
:0,options
:{cycle
:true,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;if(this._count
>1){this._initSlideshow()}},_initSlideshow:function(){var b
=$(this._items
.get(0)).outerHeight();this._items
.addClass("slideshowItem");this._width
=this.element
.css("height",b
).innerWidth();this._itemList
.addClass("slideshowItemList").css("left",0);this._items
.each($.proxy(function(d
,e
){$(e
).show().css({height
:b
,left
:((this._width
+this.options
.itemGap
)*d
),width
:this._width
})},this));this.element
.css({height
:b
,width
:this._width
}).hover($.proxy(this._hoverIn
,this),$.proxy(this._hoverOut
,this));this._buttonList
=$('<ul class="slideshowButtonList" />').appendTo(this.element
);for(var c
=0;c
<this._count
;c
++){var a
=$('<li><a><span class="icon icon16 icon-circle" /></a></li>').data("index",c
).click($.proxy(this._click
,this)).appendTo(this._buttonList
);if(c
==0){a
.find(".icon").addClass("active")}}this._resetTimer();$(window
).resize($.proxy(this._resize
,this))},_resize:function(){this._width
=this.element
.css("width","auto").innerWidth();this._items
.each($.proxy(function(a
,b
){$(b
).css({left
:((this._width
+this.options
.itemGap
)*a
),width
:this._width
})},this));this._index
--;this.moveTo(null)},_hoverIn:function(){if(this._timer
!==null){this._timer
.stop()}},_hoverOut:function(){this._resetTimer()},_resetTimer:function(){if(!this.options
.cycle
){return}if(this._timer
!==null){this._timer
.stop()}var a
=this;this._timer
=new WCF
.PeriodicalExecuter(function(){a
.moveTo(null)},this.options
.cycleInterval
*1000)},_click:function(a
){this.moveTo($(a
.currentTarget
).data("index"));this._resetTimer()},moveTo:function(a
){this._index
=(a
===null)?this._index
+1:a
;if(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(a
){if(this._items
[a
]){return this._items
[a
]}return null}});$.widget("ui.wcfTabs",$.ui
.tabs
,{_sanitizeSelector:function(a
){return a
.replace(/([:\.])/g,"\\$1")},select:function(a
){if(!$.isNumeric(a
)){this.panels
.each(function(c
,b
){if($(b
).wcfIdentify()===a
){a
=c
;return false}});if(!$.isNumeric(a
)){console
.debug("[ui.wcfTabs] Unable to find panel identified by '"+a
+"', aborting.");return}}this._setOption("active",a
)},selectTab:function(a
){a
="#"+a
;this.anchors
.each(function(c
,b
){var d
=$(b
);if(d
.prop("hash")===a
){d
.trigger("click");return false}})},getCurrentIndex:function(){return this.lis
.index(this.lis
.filter(".ui-tabs-selected"))},hasAnchor:function(b
,a
){var c
=false;this.anchors
.each(function(e
,d
){var g
=$(d
).attr("href");if(/#.+/.test(g
)){var f
=g
.split("#",2);if(a
){f
=f
[1].split("-",2)}if(f
[1]===b
){c
=true;return false}}});return c
},revertToDefault:function(){var a
=this.element
.data("active");if(!a
||a
===""){a
=0}this.select(a
)},_processTabs:function(){var a
=this;this.tablist
=this._getList().addClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all").attr("role","tablist");this.tabs
=this.tablist
.find("> li:has(a[href])").addClass("ui-state-default ui-corner-top").attr({role
:"tab",tabIndex
:-1});this.anchors
=this.tabs
.map(function(){return $("a",this)[0]}).addClass("ui-tabs-anchor").attr({role
:"presentation",tabIndex
:-1});this.panels
=$();this.anchors
.each(function(f
,e
){var b
,c
,d
=$(e
).uniqueId().attr("id"),g
=$(e
).closest("li"),h
=g
.attr("aria-controls");b
=e
.hash
;c
=a
.element
.find(a
._sanitizeSelector(b
));if(c
.length
){a
.panels
=a
.panels
.add(c
)}if(h
){g
.data("ui-tabs-aria-controls",h
)}g
.attr({"aria-controls":b
.substring(1),"aria-labelledby":d
});c
.attr("aria-labelledby",d
)});this.panels
.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom").attr("role","tabpanel")},load:function(a
,b
){return}});$.widget("ui.wcfPages",{SHOW_LINKS
:11,SHOW_SUB_LINKS
:20,options
:{activePage
:1,maxPage
:1,nextPage
:null,previousPage
:null},_create:function(){if(this.options
.nextPage
===null){this.options
.nextPage
=WCF
.Language
.get("wcf.global.page.next")}if(this.options
.previousPage
===null){this.options
.previousPage
=WCF
.Language
.get("wcf.global.page.previous")}this.element
.addClass("pageNavigation");this._render()},destroy:function(){$.Widget
.prototype.destroy
.apply(this,arguments
);this.element
.children().remove()},_render:function(){if(!this.options
.disabled
&&this.options
.maxPage
>1){var g
=false;if(this.element
.hasClass("hidden")){this.element
.removeClass("hidden")}this.element
.show();this.element
.children().remove();var o
=$("<ul />");this.element
.append(o
);var n
=$('<li class="button skip" />');o
.append(n
);if(this.options
.activePage
>1){var d
=$("<a"+((this.options
.previousPage
!=null)?(' title="'+this.options
.previousPage
+'"'):(""))+"></a>");n
.append(d
);this._bindSwitchPage(d
,this.options
.activePage
-1);var l
=$('<span class="icon icon16 icon-double-angle-left" />');d
.append(l
)}else{var l
=$('<span class="icon icon16 icon-double-angle-left" />');n
.append(l
);n
.addClass("disabled").removeClass("button");l
.addClass("disabled")}o
.append(this._renderLink(1));var a
=this.SHOW_LINKS
-4;var e
=this.options
.activePage
-2;if(e
<0){e
=0}var i
=this.options
.maxPage
-(this.options
.activePage
+1);if(i
<0){i
=0}if(this.options
.activePage
>1&&this.options
.activePage
<this.options
.maxPage
){a
--}var k
=a
/2;var c
=this.options
.activePage
;var j
=this.options
.activePage
;if(c
<1){c
=1}if(j
<1){j
=1}if(j
>this.options
.maxPage
-1){j
=this.options
.maxPage
-1}if(e
>=k
){c
-=k
}else{c
-=e
;j
+=k
-e
}if(i
>=k
){j
+=k
}else{j
+=i
;c
-=k
-i
}j
=Math
.ceil(j
);c
=Math
.ceil(c
);if(c
<1){c
=1}if(j
>this.options
.maxPage
){j
=this.options
.maxPage
}if(c
>1){if(c
-1<2){o
.append(this._renderLink(2))}else{$('<li class="button jumpTo"><a title="'+WCF
.Language
.get("wcf.global.page.jumpTo")+'" class="jsTooltip">...</a></li>').appendTo(o
);g
=true}}for(var m
=c
+1;m
<j
;m
++){o
.append(this._renderLink(m
))}if(j
<this.options
.maxPage
){if(this.options
.maxPage
-j
<2){o
.append(this._renderLink(this.options
.maxPage
-1))}else{$('<li class="button jumpTo"><a title="'+WCF
.Language
.get("wcf.global.page.jumpTo")+'" class="jsTooltip">...</a></li>').appendTo(o
);g
=true}}o
.append(this._renderLink(this.options
.maxPage
));var h
=$('<li class="button skip" />');o
.append(h
);if(this.options
.activePage
<this.options
.maxPage
){var f
=$("<a"+((this.options
.nextPage
!=null)?(' title="'+this.options
.nextPage
+'"'):(""))+"></a>");h
.append(f
);this._bindSwitchPage(f
,this.options
.activePage
+1);var b
=$('<span class="icon icon16 icon-double-angle-right" />');f
.append(b
)}else{var b
=$('<span class="icon icon16 icon-double-angle-right" />');h
.append(b
);h
.addClass("disabled").removeClass("button");b
.addClass("disabled")}if(g
){o
.data("pages",this.options
.maxPage
);WCF
.System
.PageNavigation
.init("#"+o
.wcfIdentify(),$.proxy(function(p
){this.switchPage(p
)},this))}}else{this.element
.hide()}},_renderLink:function(d
,a
){var e
=$('<li class="button"></li>');if(a
!=undefined&&a
){e
.addClass("break")}if(d
!=this.options
.activePage
){var b
=$("<a>"+WCF
.String
.addThousandsSeparator(d
)+"</a>");e
.append(b
);this._bindSwitchPage(b
,d
)}else{e
.addClass("active");var c
=$("<span>"+WCF
.String
.addThousandsSeparator(d
)+'</span><span class="invisible">'+WCF
.Language
.get("wcf.page.pagePosition",{pageNo
:d
,pages
:this.options
.maxPage
})+"</span>");e
.append(c
)}return e
},_bindSwitchPage:function(a
,b
){var c
=this;a
.click(function(){c
.switchPage(b
)})},switchPage:function(a
){this._setOption("activePage",a
)},_setOption:function(b
,c
){if(b
=="activePage"){if(c
!=this.options
[b
]&&c
>0&&c
<=this.options
.maxPage
){var a
=this._trigger("shouldSwitch",undefined,{nextPage
:c
});if(a
||a
!==undefined){this.options
[b
]=c
;this._render();this._trigger("switched",undefined,{activePage
:c
})}else{this._trigger("notSwitched",undefined,{activePage
:c
})}}}else{this.options
[b
]=c
;if(b
=="disabled"){if(c
){this.element
.children().remove()}else{this._render()}}else{if(b
=="maxPage"){this._render()}}}return this},_startInput:function(b
){var a
=$(b
.currentTarget
);if(!a
.is("a")){a
=a
.parent("a")}a
.hide();var c
=a
.parent("li").children("input").css("display","block").val("");c
.focus()},_stopInput:function(b
){var c
=$(b
.currentTarget
);c
.css("display","none");var a
=c
.parent("li");if(a
!=undefined&&a
!=null){a
.children("a").show()}},_handleInput:function(b
){var a
=($.browser
.msie
&&$.browser
.version
=="7.0");if(b
.type
!="keyup"||a
){if(!a
||((b
.which
==13||b
.which
==27)&&b
.type
=="keyup")){if(b
.which
==13){this.switchPage(parseInt($(b
.currentTarget
).val()))}if(b
.which
==13||b
.which
==27){this._stopInput(b
);b
.stopPropagation()}}}}});WCF
.Category
={};WCF
.Category
.NestedList
=Class
.extend({_categories
:{},init:function(){var a
=this;$(".jsCategory").each(function(c
,d
){var b
=$(d
).data("parentCategoryID",null).change($.proxy(a
._updateSelection
,a
));a
._categories
[b
.val()]=b
;var e
=[];b
.parents("li").find(".jsChildCategory").each(function(h
,g
){var f
=$(g
).data("parentCategoryID",b
.val()).change($.proxy(a
._updateSelection
,a
));a
._categories
[f
.val()]=f
;e
.push(f
.val());if(f
.is(":checked")){b
.prop("checked","checked")}});b
.data("childCategoryIDs",e
)})},_updateSelection:function(b
){var a
=$(b
.currentTarget
);var f
=a
.data("parentCategoryID");if(a
.is(":checked")){if(f
!==null){this._categories
[f
].prop("checked","checked")}}else{if(f
===null){var e
=a
.data("childCategoryIDs");for(var d
=0,c
=e
.length
;d
<c
;d
++){this._categories
[e
[d
]].prop("checked",false)}}}}});WCF
.Condition
={};WCF
.Condition
.PageControllerDependence
=Class
.extend({_pageControllerSelection
:null,_supportedPageObjectTypeIDs
:[],init:function(a
,b
){this._supportedPageObjectTypeIDs
=b
;this._pageControllerSelection
=$("#pageControllers").change($.proxy(this._checkVisibility
,this));this._pageControllerContainer
=this._pageControllerSelection
.parents("dl:eq(0)");this._fieldset
=this._pageControllerContainer
.parent("fieldset");this._nextFieldset
=this._fieldset
.next("fieldset");if(this._nextFieldset
){this._nextFieldset
.data("margin-top",this._nextFieldset
.css("margin-top"))}this._input
=$("#"+a
);this._inputContainer
=this._input
.parents("dl:eq(0)");this._checkVisibility()},_checkVisibility:function(){var b
=this._pageControllerSelection
.val()||[];var a
=true;if(b
.length
){for(var d
=0,c
=b
.length
;d
<c
;d
++){if(this._supportedPageObjectTypeIDs
.indexOf(parseInt(b
[d
]))==-1){a
=false;break}}}else{a
=false}if(a
){this._inputContainer
.show();this._input
.enable();this._fieldset
.show();if(this._nextFieldset
){this._nextFieldset
.css("margin-top",this._nextFieldset
.data("margin-top"))}}else{this._inputContainer
.hide();this._input
.disable();if(!this._fieldset
.children("dl:visible").length
){this._fieldset
.hide();if(this._nextFieldset
){this._nextFieldset
.css("margin-top",0)}}}}});WCF
.Notice
={};WCF
.Notice
.Dismiss
=Class
.extend({_notices
:{},_proxy
:null,init:function(){this._proxy
=new WCF
.Action
.Proxy({success
:$.proxy(this._success
,this)});var a
=$(".jsDismissNoticeButton").click($.proxy(this._click
,this));a
.each($.proxy(function(b
,c
){this._notices
[$(c
).data("objectID")]=$(c
).parent()},this))},_click:function(a
){this._proxy
.setOption("data",{actionName
:"dismiss",className
:"wcf\\data\\notice\\NoticeAction",objectIDs
:[$(a
.currentTarget
).data("objectID")]});this._proxy
.sendRequest()},_success:function(b
,c
,a
){this._notices
[b
.returnValues
.noticeID
].wcfFadeOut()}});function wcfEval(expression
){return eval(expression
)}; })(this);
85 (function (window
, undefined) {"use strict";WCF
.Like
=Class
.extend({_allowForOwnContent
:false,_canLike
:false,_containers
:{},_containerData
:{},_enableDislikes
:true,_isBusy
:false,_likeDetails
:{},_proxy
:null,_showSummary
:true,init:function(a
,c
,f
,e
){this._canLike
=a
;this._enableDislikes
=c
;this._isBusy
=false;this._likeDetails
={};this._showSummary
=f
;this._allowForOwnContent
=e
;var d
=this._getContainers();this._initContainers(d
);this._proxy
=new WCF
.Action
.Proxy({success
:$.proxy(this._success
,this)});var g
=new Date();var b
=g
.toString().hashCode
+g
.getUTCMilliseconds();WCF
.DOMNodeInsertedHandler
.addCallback("WCF.Like"+b
,$.proxy(this._domNodeInserted
,this))},_domNodeInserted:function(){var a
=this._getContainers();this._initContainers(a
)},_initContainers:function(containers
){var $createdWidgets
=false;containers
.each($.proxy(function(index
,container
){var $container
=$(container
);var $containerID
=$container
.wcfIdentify();if(!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
=true}},this));if($createdWidgets
){new WCF
.PeriodicalExecuter(function(pe
){pe
.stop();WCF
.DOMNodeInsertedHandler
.execute()},250)}},_getContainers:function(){},_getWidgetContainer:function(a
){},_getObjectID:function(a
){},_addWidget:function(a
,b
){var c
=this._getWidgetContainer(a
);b
.appendTo(c
)},_buildWidget:function(b
,a
,d
,c
,e
){var f
=$('<aside class="likesWidget"><ul></ul></aside>');if(this._canLike
){a
.appendTo(f
.find("ul"));d
.appendTo(f
.find("ul"))}c
.appendTo(f
);this._addWidget(b
,f
)},_createWidget:function(b
){var e
=$('<li class="wcfLikeButton"><a href="#" title="'+WCF
.Language
.get("wcf.like.button.like")+'" class="jsTooltip"><span class="icon icon16 icon-thumbs-up-alt" /> <span class="invisible">'+WCF
.Language
.get("wcf.like.button.like")+"</span></a></li>");var c
=$('<li class="wcfDislikeButton"><a href="#" title="'+WCF
.Language
.get("wcf.like.button.dislike")+'" class="jsTooltip"><span class="icon icon16 icon-thumbs-down-alt" /> <span class="invisible">'+WCF
.Language
.get("wcf.like.button.dislike")+"</span></a></li>");if(!this._enableDislikes
){c
.hide()}if(!this._allowForOwnContent
&&(WCF
.User
.userID
==this._containers
[b
].data("userID"))){e
=$("");c
=$("")}var d
=$('<a class="badge jsTooltip likesBadge" />').data("containerID",b
).click($.proxy(this._showLikeDetails
,this));var a
=null;if(this._showSummary
){a
=$('<p class="likesSummary"><span class="pointer" /></p>');a
.children("span").data("containerID",b
).click($.proxy(this._showLikeDetails
,this))}this._buildWidget(b
,e
,c
,d
,a
);this._containerData
[b
].likeButton
=e
;this._containerData
[b
].dislikeButton
=c
;this._containerData
[b
].badge
=d
;this._containerData
[b
].summary
=a
;e
.data("containerID",b
).data("type","like").click($.proxy(this._click
,this));c
.data("containerID",b
).data("type","dislike").click($.proxy(this._click
,this));this._setActiveState(e
,c
,this._containerData
[b
].liked
);this._updateBadge(b
);if(this._showSummary
){this._updateSummary(b
)}},_showLikeDetails:function(c
,a
){var b
=(c
===null)?a
:$(c
.currentTarget
).data("containerID");if(this._likeDetails
[b
]===undefined){this._likeDetails
[b
]=new WCF
.User
.List("wcf\\data\\like\\LikeAction",WCF
.Language
.get("wcf.like.details"),{data
:{containerID
:b
,objectID
:this._containerData
[b
].objectID
,objectType
:this._containerData
[b
].objectType
}})}this._likeDetails
[b
].open()},_click:function(a
){a
.preventDefault();var b
=$(a
.currentTarget
);if(b
===null){console
.debug("[WCF.Like] Unable to find target button, aborting.");return}this._sendRequest(b
.data("containerID"),b
.data("type"))},_sendRequest:function(a
,b
){if(this._isBusy
){return}this._isBusy
=true;this._proxy
.setOption("data",{actionName
:b
,className
:"wcf\\data\\like\\LikeAction",parameters
:{data
:{containerID
:a
,objectID
:this._containerData
[a
].objectID
,objectType
:this._containerData
[a
].objectType
}}});this._proxy
.sendRequest()},_success:function(d
,g
,b
){var a
=d
.returnValues
.containerID
;if(!this._containers
[a
]){return}switch(d
.actionName
){case"dislike":case"like":this._containerData
[a
].likes
=parseInt(d
.returnValues
.likes
);this._containerData
[a
].dislikes
=parseInt(d
.returnValues
.dislikes
);this._containerData
[a
].users
=d
.returnValues
.users
;$.each(this._containerData
[a
].users
,function(i
,h
){h
.username
=WCF
.String
.escapeHTML(h
.username
)});this._updateBadge(a
);if(this._showSummary
){this._updateSummary(a
)}var f
=this._containerData
[a
].likeButton
;var e
=this._containerData
[a
].dislikeButton
;var c
=0;if(d
.returnValues
.isLiked
){c
=1}else{if(d
.returnValues
.isDisliked
){c
=-1}}this._setActiveState(f
,e
,c
);if(this._likeDetails
[a
]!==undefined){delete this._likeDetails
[a
]}this._isBusy
=false;break}},_updateBadge:function(a
){if(!this._containerData
[a
].likes
&&!this._containerData
[a
].dislikes
){this._containerData
[a
].badge
.hide()}else{this._containerData
[a
].badge
.show();var c
=this._containerData
[a
].likes
-this._containerData
[a
].dislikes
;var d
=this._containerData
[a
].badge
;d
.removeClass("green red");if(c
>0){d
.text("+"+WCF
.String
.formatNumeric(c
));d
.addClass("green")}else{if(c
<0){d
.text(WCF
.String
.formatNumeric(c
));d
.addClass("red")}else{d
.text("\u00B10")}}var e
=this._containerData
[a
].likes
;var b
=this._containerData
[a
].dislikes
;d
.data("tooltip",WCF
.Language
.get("wcf.like.tooltip",{likes
:e
,dislikes
:b
}))}},_updateSummary:function(a
){if(!this._containerData
[a
].likes
){this._containerData
[a
].summary
.hide()}else{this._containerData
[a
].summary
.show();var d
=this._containerData
[a
].users
;var c
=[];for(var b
in d
){c
.push(d
[b
].username
)}var e
=this._containerData
[a
].likes
-c
.length
;this._containerData
[a
].summary
.children("span").html(WCF
.Language
.get("wcf.like.summary",{users
:c
,others
:e
}))}},_setActiveState:function(a
,b
,c
){a
.removeClass("active");b
.removeClass("active");if(c
==1){a
.addClass("active")}else{if(c
==-1){b
.addClass("active")}}}}); })(this);
88 (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(g
,i
,d
,b
,c
,j
){this._objectID
=b
||0;this._objectTypeID
=i
;this._categoryName
=d
;if(c
===undefined){c
=true}this._values
={group
:{},user
:{}};this._proxy
=new WCF
.Action
.Proxy({showLoadingOverlay
:false,success
:$.proxy(this._success
,this)});this._container
=$(g
).hide().addClass("aclContainer");var f
=this._container
.children("dd");var a
=$('<ul class="aclList container" />').appendTo(f
);var k
=$('<input type="text" class="long" placeholder="'+WCF
.Language
.get("wcf.acl.search."+(!c
?"user.":"")+"description")+'" />').appendTo(f
);var e
=$('<ul class="aclPermissionList container" />').hide().appendTo(f
);this._containerElements
={aclList
:a
,denyAll
:null,grantAll
:null,permissionList
:e
,searchInput
:k
};this._search
=new WCF
.Search
.User(k
,$.proxy(this.addObject
,this),c
);var l
=this._container
.parents("form:eq(0)");l
.submit($.proxy(this.submit
,this));var h
=l
.find("input[type=reset]:eq(0)");if(h
.length
){h
.click($.proxy(this._reset
,this))}if(j
){this._success(j
)}else{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",false)},_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(b
){var a
=this._createListItem(b
.objectID
,b
.label
,b
.type
);this._savePermissions();this._containerElements
.aclList
.children("li").removeClass("active");a
.addClass("active");this._search
.addExcludedSearchValue(b
.label
);this._containerElements
.permissionList
.find("input[type=checkbox]").prop("checked",false);this._containerElements
.searchInput
.val("");this._containerElements
.permissionList
.show();WCF
.DOMNodeInsertedHandler
.execute()},_createListItem:function(d
,a
,c
){var b
=$('<li><span class="icon icon16 icon-'+(c
==="group"?"group":"user")+'" /> <span>'+a
+"</span></li>").appendTo(this._containerElements
.aclList
);b
.data("objectID",d
).data("type",c
).data("label",a
).click($.proxy(this._click
,this));$('<span class="icon icon16 icon-remove jsTooltip pointer" title="'+WCF
.Language
.get("wcf.global.button.delete")+'" />').click($.proxy(this._removeItem
,this)).appendTo(b
);return b
},_removeItem:function(d
){var b
=$(d
.currentTarget
).parent();var a
=b
.data("type");var c
=b
.data("objectID");this._search
.removeExcludedSearchValue(b
.data("label"));b
.remove();if(this._values
[a
][c
]){delete this._values
[a
][c
]}this._selectFirstEntry()},_selectFirstEntry:function(){var a
=this._containerElements
.aclList
.children("li:eq(0)");if(a
.length
){this._select(a
,false)}else{this._reset()}},_success:function(g
,f
,l
){if(!$.getLength(g
.returnValues
.options
)){return}var i
=0;var n
={};for(var h
in g
.returnValues
.options
){var a
=g
.returnValues
.options
[h
];var j
=$("<li><span>"+a
.label
+"</span></li>").data("optionID",h
).data("optionName",a
.optionName
);var d
=$('<input type="checkbox" id="grant'+h
+'" />').appendTo(j
).wrap('<label for="grant'+h
+'" class="jsTooltip" title="'+WCF
.Language
.get("wcf.acl.option.grant")+'" />');var b
=$('<input type="checkbox" id="deny'+h
+'" />').appendTo(j
).wrap('<label for="deny'+h
+'" class="jsTooltip" title="'+WCF
.Language
.get("wcf.acl.option.deny")+'" />');d
.data("type","grant").data("optionID",h
).change($.proxy(this._change
,this));b
.data("type","deny").data("optionID",h
).change($.proxy(this._change
,this));if(!n
[a
.categoryName
]){n
[a
.categoryName
]=[]}if(a
.categoryName
===""){j
.appendTo(this._containerElements
.permissionList
)}else{n
[a
.categoryName
].push(j
)}i
++}if(i
>1){var j
=$('<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(j
).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(j
).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 e
in n
){var c
=n
[e
];if(g
.returnValues
.categories
[e
]){$('<li class="aclCategory">'+g
.returnValues
.categories
[e
]+"</li>").appendTo(this._containerElements
.permissionList
)}for(var m
=0,k
=c
.length
;m
<k
;m
++){c
[m
].appendTo(this._containerElements
.permissionList
)}}}this._parseData(g
,"group");this._parseData(g
,"user");this._container
.show();this._selectFirstEntry()},_parseData:function(c
,a
){if(!$.getLength(c
.returnValues
[a
].option
)){return}for(var b
in c
.returnValues
[a
].label
){this._createListItem(b
,c
.returnValues
[a
].label
[b
],a
);this._search
.addExcludedSearchValue(c
.returnValues
[a
].label
[b
])}this._values
[a
]=c
.returnValues
[a
].option
;WCF
.DOMNodeInsertedHandler
.execute()},_click:function(b
){var a
=$(b
.currentTarget
);if(a
.hasClass("active")){return}this._select(a
,true)},_select:function(b
,a
){if(a
){this._savePermissions()}this._containerElements
.aclList
.children("li").removeClass("active");b
.addClass("active");this._setupPermissions(b
.data("type"),b
.data("objectID"))},_change:function(d
){var c
=$(d
.currentTarget
);var b
=c
.data("optionID");var a
=c
.data("type");if(c
.is(":checked")){if(a
==="deny"){$("#grant"+b
).prop("checked",false);if(this._containerElements
.grantAll
!==null){this._containerElements
.grantAll
.prop("checked",false)}}else{$("#deny"+b
).prop("checked",false);if(this._containerElements
.denyAll
!==null){this._containerElements
.denyAll
.prop("checked",false)}}}else{if(a
==="deny"&&this._containerElements
.denyAll
!==null){this._containerElements
.denyAll
.prop("checked",false)}else{if(a
==="grant"&&this._containerElements
.grantAll
!==null){this._containerElements
.grantAll
.prop("checked",false)}}}var e
=true;this._containerElements
.permissionList
.find("input[type=checkbox]").each($.proxy(function(g
,h
){var f
=$(h
);if(f
.data("type")===a
&&f
.attr("id")!==a
+"All_"+this._container
.attr("id")){if(!f
.is(":checked")){e
=false;return false}}},this));if(a
=="deny"){if(this._containerElements
.denyAll
!==null){if(e
){this._containerElements
.denyAll
.prop("checked",true)}else{this._containerElements
.denyAll
.prop("checked",false)}}}else{if(this._containerElements
.grantAll
!==null){if(e
){this._containerElements
.grantAll
.prop("checked",true)}else{this._containerElements
.grantAll
.prop("checked",false)}}}},_changeAll:function(c
){var b
=$(c
.currentTarget
);var a
=b
.data("type");if(b
.is(":checked")){if(a
==="deny"){this._containerElements
.grantAll
.prop("checked",false);this._containerElements
.permissionList
.find("input[type=checkbox]").each($.proxy(function(e
,f
){var d
=$(f
);if(d
.data("type")==="deny"&&d
.attr("id")!=="denyAll_"+this._container
.attr("id")){d
.prop("checked",true).trigger("change")}},this))}else{this._containerElements
.denyAll
.prop("checked",false);this._containerElements
.permissionList
.find("input[type=checkbox]").each($.proxy(function(e
,f
){var d
=$(f
);if(d
.data("type")==="grant"&&d
.attr("id")!=="grantAll_"+this._container
.attr("id")){d
.prop("checked",true).trigger("change")}},this))}}else{if(a
==="deny"){this._containerElements
.grantAll
.prop("checked",false);this._containerElements
.permissionList
.find("input[type=checkbox]").each($.proxy(function(e
,f
){var d
=$(f
);if(d
.data("type")==="deny"&&d
.attr("id")!=="denyAll_"+this._container
.attr("id")){d
.prop("checked",false).trigger("change")}},this))}else{this._containerElements
.denyAll
.prop("checked",false);this._containerElements
.permissionList
.find("input[type=checkbox]").each($.proxy(function(e
,f
){var d
=$(f
);if(d
.data("type")==="grant"&&d
.attr("id")!=="grantAll_"+this._container
.attr("id")){d
.prop("checked",false).trigger("change")}},this))}}},_setupPermissions:function(b
,c
){this._containerElements
.permissionList
.find("input[type='checkbox']").prop("checked",false);if(this._values
[b
]&&this._values
[b
][c
]){for(var a
in this._values
[b
][c
]){if(this._values
[b
][c
][a
]==1){$("#grant"+a
).prop("checked",true).trigger("change")}else{$("#deny"+a
).prop("checked",true).trigger("change")}}}this._containerElements
.permissionList
.show()},_savePermissions:function(){var b
=this._containerElements
.aclList
.find("li.active");if(!b
.length
){return}var c
=b
.data("objectID");var a
=b
.data("type");this._values
[a
][c
]={};this._containerElements
.permissionList
.find("input[type='checkbox']").each((function(d
,h
){var g
=$(h
);if(g
.attr("id")!="grantAll_"+this._container
.attr("id")&&g
.attr("id")!="denyAll_"+this._container
.attr("id")){var f
=(g
.data("type")==="deny")?0:1;var e
=g
.data("optionID");if(g
.is(":checked")){this._values
[a
][c
][e
]=f
;g
.prop("checked",false)}else{if(this._values
[a
]&&this._values
[a
][c
]&&this._values
[a
][c
][e
]&&this._values
[a
][c
][e
]==f
){delete this._values
[a
][c
][e
]}}}}).bind(this))},submit:function(a
){this._savePermissions();this._save("group");this._save("user")},_save:function(a
){if($.getLength(this._values
[a
])){var b
=this._container
.parents("form:eq(0)");for(var e
in this._values
[a
]){var d
=this._values
[a
][e
];for(var c
in d
){$('<input type="hidden" name="aclValues['+a
+"]["+e
+"]["+c
+']" value="'+d
[c
]+'" />').appendTo(b
)}}}}}); })(this);
91 (function (window
, undefined) {"use strict";WCF
.Attachment
={};WCF
.Attachment
.Upload
=WCF
.Upload
.extend({_autoInsert
:[],_insertAllButton
:null,_objectType
:"",_objectID
:0,_tmpHash
:"",_parentObjectID
:0,_wysiwygContainerID
:"",init:function(c
,g
,a
,h
,d
,e
,f
,b
){this._super(c
,g
,"wcf\\data\\attachment\\AttachmentAction",{multiple
:true,maxUploads
:f
});this._autoInsert
=[];this._objectType
=a
;this._objectID
=h
;this._tmpHash
=d
;this._parentObjectID
=e
;this._wysiwygContainerID
=b
;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
.System
.Event
.addListener("com.woltlab.wcf.action.delete","attachment_"+this._wysiwygContainerID
,$.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));if(this._fileListSelector
.children("li:not(.uploadFailed)").length
){this._insertAllButton
.show()}if(this._wysiwygContainerID
){WCF
.System
.Event
.addListener("com.woltlab.wcf.messageOptionsInline","submit_"+this._wysiwygContainerID
,$.proxy(this._submitInline
,this));WCF
.System
.Event
.addListener("com.woltlab.wcf.redactor","reset",$.proxy(this._reset
,this));WCF
.System
.Event
.addListener("com.woltlab.wcf.redactor","upload_"+this._wysiwygContainerID
,$.proxy(this._editorUpload
,this));WCF
.System
.Event
.addListener("com.woltlab.wcf.redactor","getImageAttachments_"+this._wysiwygContainerID
,$.proxy(this._getImageAttachments
,this))}},_editorUpload:function(b
){var a
;this._fileListSelector
.closest(".messageTabMenu").messageTabMenu("showTab","attachments",true);if(b
.file
){a
=this._upload(undefined,b
.file
)}else{a
=this._upload(undefined,undefined,b
.blob
)}this._autoInsert
.push(a
);b
.uploadID
=a
},_getImageAttachments:function(a
){this._fileListSelector
.children("li").each(function(b
,d
){var c
=$(d
);if(c
.children("img.attachmentTinyThumbnail").length
){a
.imageAttachments
[parseInt(c
.data("objectID"))]={height
:parseInt(c
.data("height")),width
:parseInt(c
.data("width"))}}})},_submitInline:function(a
){if(this._tmpHash
){a
.tmpHash
=this._tmpHash
}},_reset:function(){this._fileListSelector
.hide().empty();this._insertAllButton
.hide();this._validateLimit()},_validateLimit:function(){var c
=this._buttonSelector
.next("small.innerError");var a
=this._options
.maxUploads
-this._fileListSelector
.children("li:not(.uploadFailed)").length
;var d
=(this._fileUpload
)?this._fileUpload
.prop("files").length
:0;if(a
<=0||a
<d
){var b
=(a
<=0)?WCF
.Language
.get("wcf.attachment.upload.error.reachedLimit"):WCF
.Language
.get("wcf.attachment.upload.error.reachedRemainingLimit").replace(/#remaining
#/,a);if(!c.length){c=$('<small class="innerError" />').insertAfter(this._buttonSelector)}c.html(b);return false}c.remove();return true},_removeLimitError:function(b){var a=this._fileListSelector.children("li");if(!a.filter(":not(.uploadFailed)").length){this._insertAllButton.hide()}if(!a.length){setTimeout((function(){this._fileListSelector.wcfBlindOut()}).bind(this),250)}if(this._wysiwygContainerID){$("#"+this._wysiwygContainerID).redactor("wbbcode.removeAttachment",b.button.data("objectID"))}},_upload:function(c,b,a){var d;if(this._validateLimit()){d=this._super(c,b,a)}if(this._fileUpload){this._removeButton();this._createButton()}return d},_createUploadMatrix:function(a){this._fileListSelector.children("li.uploadFailed").remove();return this._super(a)},_getParameters:function(){return{objectType:this._objectType,objectID:this._objectID,tmpHash:this._tmpHash,parentObjectID:this._parentObjectID}},_initFile:function(a){var b=$('<li
class="box64"><span
class="icon icon48 icon-spinner" /><div><div><p>'+a.name+'</p><small
><progress max
="100"></progress></small></div><ul></ul></div></li>').data("filename",a.name);this._fileListSelector.append(b);this._fileListSelector.show();if(this._buttonSelector.data("maxSize")<a.size){b.find("progress").remove();b.children(".icon-spinner").removeClass("icon-spinner").addClass("icon-ban-circle");b.find("div > div").append($('<small
class="innerError">'+WCF.Language.get("wcf.attachment.upload.error.tooLarge")+"</small>"));b.addClass("uploadFailed")}return b},_success:function(b,d){for(var l in this._uploadMatrix[b]){var i=this._uploadMatrix[b][l];i.find("progress").remove();var j=i.data("filename");var m=i.data("internalFileID");if(d.returnValues&&d.returnValues.attachments[m]){if(d.returnValues.attachments[m].tinyURL){i.children(".icon-spinner").replaceWith($('<img src
="'+d.returnValues.attachments[m]["tinyURL
"]+'" alt
="" class="attachmentTinyThumbnail" />'));i.data("height",d.returnValues.attachments[m].height);i.data("width",d.returnValues.attachments[m].width)}else{i.children(".icon-spinner").removeClass("icon-spinner").addClass("icon-paper-clip")}var f=$('<a href
=""></a>');f.text(j).attr("href",d.returnValues.attachments[m]["url"]);if(d.returnValues.attachments[m]["isImage"]!=0){f.addClass("jsImageViewer").attr("title",j)}i.find("p").empty().append(f);i.find("small").append(d.returnValues.attachments[m]["formattedFilesize"]);var a=i.find("ul").addClass("buttonGroup");var h=$('<li><span class="button small jsDeleteButton" data-object-id="'+d.returnValues.attachments[m]["attachmentID"]+'" data-confirm-message="'+WCF.Language.get("wcf.attachment.delete.sure")+'" data-event-name="attachment_'+this._wysiwygContainerID+'">'+WCF.Language.get("wcf.global.button.delete")+"</span></li>");a.append(h);i.data("objectID",d.returnValues.attachments[m].attachmentID);if(this._wysiwygContainerID){if(d.returnValues.attachments[m].tinyURL){var k=$('<li><span class="button small jsButtonAttachmentInsertThumbnail" data-object-id="'+d.returnValues.attachments[m].attachmentID+'">'+WCF.Language.get("wcf.attachment.insertThumbnail")+"</span></li>").appendTo(a);var g=$('<li><span class="button small jsButtonAttachmentInsertFull" data-object-id="'+d.returnValues.attachments[m].attachmentID+'">'+WCF.Language.get("wcf.attachment.insertFull")+"</span></li>").appendTo(a);k.children("span.button").click($.proxy(this._insert,this));g.children("span.button").click($.proxy(this._insert,this))}else{var c=$('<li><span class="button small jsButtonAttachmentInsertPlain" data-object-id="'+d.returnValues.attachments[m].attachmentID+'">'+WCF.Language.get("wcf.attachment.insert")+"</span></li>");c.children("span.button").click($.proxy(this._insert,this)).appendTo(a)}}}else{i.children(".icon-spinner").removeClass("icon-spinner").addClass("icon-ban-circle");var e="";if(d.returnValues&&d.returnValues.errors[m]){e=d.returnValues.errors[m]["errorType"]}else{e="uploadFailed"}i.find("div > div").append($('<small class="innerError">'+WCF.Language.get("wcf.attachment.upload.error."+e)+"</small>"));i.addClass("uploadFailed
")}i.css("display
","block
");if(WCF.inArray(b,this._autoInsert)){this._autoInsert.splice(this._autoInsert.indexOf(b),1);if(!i.hasClass("uploadFailed
")){WCF.System.Event.fireEvent("com
.woltlab
.wcf
.attachment
","autoInsert_
"+this._wysiwygContainerID,{attachment:"[attach
="+d.returnValues.attachments[m].attachmentID+"][/attach]",uploadID:b})}}}this._makeSortable();if(this._fileListSelector.children("li:not(.uploadFailed)").length){this._insertAllButton.show()}else{this._insertAllButton.hide()}WCF.DOMNodeInsertedHandler.execute()},_insert:function(d,c){var b=(d===null)?c:$(d.currentTarget).data("objectID");var a=(d!==null)?$(d.currentTarget).hasClass("jsButtonAttachmentInsertFull"):false;if($.browser.redactor){$("#"+this._wysiwygContainerID).redactor("wbbcode.insertAttachment",b,a)}},_insertAll:function(){this._fileListSelector.children("li:not(.uploadFailed)").each($.proxy(function(a,b){this._insert(null,$(b).data("objectID"))},this))},_error:function(a){this._fileListSelector.find("li").each(function(b,d){var c=$(d);if(c.children(".icon-spinner").length){c.addClass("uploadFailed").children(".icon-spinner").removeClass("icon-spinner").addClass("icon-ban-circle");c.find("div > div").append($('<small class="innerError">'+(a.responseJSON&&a.responseJSON.message?a.responseJSON.message:WCF.Language.get("wcf.attachment.upload.error.uploadFailed"))+"</small>"))}})},_makeSortable:function(){var b=this._fileListSelector.children("li
:not(.uploadFailed
)");if(!b.length){return}b.addClass("sortableAttachment
").children("img
").addClass("sortableNode
");if(!this._fileListSelector.hasClass("sortableList
")){this._fileListSelector.addClass("sortableList
");var a=this;new WCF.Sortable.List(this._fileListSelector.parent().wcfIdentify(),"",0,{axis:false,items:"li
.sortableAttachment
",toleranceElement:null,update:function(d,e){var c=[];a._fileListSelector.children("li
:not(.uploadFailed
)").each(function(f,g){c.push($(g).data("objectID
"))});if(c.length){new WCF.Action.Proxy({autoSend:true,data:{actionName:"updatePosition
",className:"wcf
\\data
\\attachment
\\AttachmentAction
",parameters:{attachmentIDs:c,objectID:a._objectID,objectType:a._objectType,tmpHash:a._tmpHash}}})}}},true)}}}); })(this);
94 (function (window, undefined) {"use strict
";WCF.ColorPicker=Class.extend({_bar:null,_barActive:false,_barSelector:null,_dialog:null,_didInit:false,_elementID:"",_gradient:null,_gradientActive:false,_gradientSelector:null,_hex:null,_hsv:{},_newColor:null,_oldColor:null,_rgba:{},_rgbaRegExp:null,init:function(a){this._elementID="";this._hsv={h:0,s:100,v:100};this._position={};var b=$(a);if(!b.length){console.debug("[WCF
.ColorPicker
] Selector does not match any element
, aborting
.");return}b.click($.proxy(this._open,this))},_open:function(c){if(!this._didInit){this._initColorPicker();this._didInit=true}var a=$(c.currentTarget);this._elementID=a.wcfIdentify();this._parseColor(a);var b=this.hsvToRgb(this._hsv.h,this._hsv.s,this._hsv.v);this._oldColor.css({backgroundColor:"rgb("+b.r+", "+b.g+", "+b.b+")"});this._dialog.wcfDialog({title:WCF.Language.get("wcf
.style
.colorPicker
")})},_parseColor:function(b){if(b.data("hsv
")&&b.data("rgb
")){var d=b.data("hsv
");for(var a in d){this._hsv[a]=d[a]}this._updateValues(b.data("rgb
"),true,true);this._rgba.a.val(parseInt(b.data("alpha
")))}else{if(this._rgbaRegExp===null){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(b.data("color
"));var c=RegExp.$4;if(c.indexOf(".")===0){c="0"+c}c*=100;this._updateValues({r:RegExp.$1,g:RegExp.$2,b:RegExp.$3,a:Math.round(c)},true,true)}},_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 a=this;$(document).mouseup(function(b){if(a._barActive){a._barActive=false;a._mouseBar(b)}else{if(a._gradientActive){a._gradientActive=false;a._mouseGradient(b)}}}).mousemove(function(b){if(a._barActive){a._mouseBar(b)}else{if(a._gradientActive){a._mouseGradient(b)}}});this._initColorPickerForm()},_initColorPickerForm:function(){var c=$('<div id="colorPickerForm
" />').appendTo(this._dialog);$("<small
>"+WCF.Language.get("wcf
.style
.colorPicker
.new")+"</small
>").appendTo(c);var d=$('<ul class="colors
" />').appendTo(c);this._newColor=$('<li class="new" />').appendTo(d);this._oldColor=$('<li class="old
" />').appendTo(d);$("<small
>"+WCF.Language.get("wcf
.style
.colorPicker
.current
")+"</small
>").appendTo(c);var a=$('<ul class="rgba
" />').appendTo(c);this._createInputElement("r
","R
",0,255).appendTo(a);this._createInputElement("g
","G
",0,255).appendTo(a);this._createInputElement("b
","B
",0,255).appendTo(a);this._createInputElement("a
","a
",0,100).appendTo(a);var e=$('<ul class="hex
"><li><label><span>#</span></label></li></ul>').appendTo(c);this._hex=$('<input type="text
" maxlength="6" />').appendTo(e.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 f=$('<div class="formSubmit
" />').appendTo(this._dialog);$('<button class="buttonPrimary
">'+WCF.Language.get("wcf
.style
.colorPicker
.button
.apply
")+"</button
>").appendTo(f).click($.proxy(this._submit,this));var b=this;this._hex.on("paste
",function(){b._hex.attr("maxlength
","7");setTimeout(function(){var g=b._hex.val();if(g.substring(0,1)=="#"){g=g.substr(1)}if(g.length>6){g=g.substring(0,6)}b._hex.attr("maxlength
","6").val(g)},50)})},_keyUpRGBA:function(a){if(a.which==13){this._blurRgba();this._submit()}},_keyUpHex:function(a){if(a.which==13){this._blurHex();this._submit()}},_submit:function(){var d=this.hsvToRgb(this._hsv.h,this._hsv.s,this._hsv.v);var c={};for(var b in this._hsv){c[b]=this._hsv[b]}var a=$("#"+this._elementID);a.data("hsv
",c).css({backgroundColor:"rgb("+d.r+", "+d.g+", "+d.b+")"}).data("alpha
",parseInt(this._rgba.a.val()));a.data("rgb
",{r:this._rgba.r.val(),g:this._rgba.g.val(),b:this._rgba.b.val()});$("#"+a.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(f,c,e,b){var d=$('<li class="'+f+'" />');var a=$("<label
/>").appendTo(d);$("<span>"+c+"</span>").appendTo(a);this._rgba[f]=$('<input type="number
" value="0" min="'+e+'" max="'+b+'" step="1" />').appendTo(a);return d},_mouseDownGradient:function(a){this._gradientActive=true;this._mouseGradient(a)},_mouseGradient:function(b){var c=this._gradient.getOffsets("offset
");var a=Math.max(Math.min(b.pageX-c.left,255),0);var d=Math.max(Math.min(b.pageY-c.top,255),0);this._hsv.s=Math.max(0,Math.min(1,a/255))*100;this._hsv.v=Math.max(0,Math.min(1,(255-d)/255))*100;this._updateValues(null)},_mouseDownBar:function(a){this._barActive=true;this._mouseBar(a)},_mouseBar:function(a){var b=this._bar.getOffsets("offset
");var c=Math.max(Math.min(a.pageY-b.top,255),0);this._barSelector.css({top:c+"px
"});this._hsv.h=Math.max(0,Math.min(359,Math.round((255-c)/255*360)));this._updateValues(null)},_blurRgba:function(){for(var a in this._rgba){var b=parseInt(this._rgba[a].val())||0;if(a==="a
"){this._rgba[a].val(Math.max(0,Math.min(100,b)))}else{this._rgba[a].val(Math.max(0,Math.min(255,b)))}}this._updateValues({r:this._rgba.r.val(),g:this._rgba.g.val(),b:this._rgba.b.val()},true,true)},_blurHex:function(){var a=this.hexToRgb(this._hex.val());if(a!==Number.NaN){this._updateValues(a,true,true)}},_updateValues:function(c,e,a){e=(e===true)?true:false;a=(a===true)?true:false;if(c===null){c=this.hsvToRgb(this._hsv.h,this._hsv.s,this._hsv.v)}if(c.a===undefined){c.a=this._rgba.a.val()}for(var b in c){this._rgba[b].val(c[b])}this._hex.val(this.rgbToHex(c.r,c.g,c.b));if(e||a){var g=this.rgbToHsv(c.r,c.g,c.b);if(e){this._hsv.h=g.h}if(a){this._hsv.s=g.s;this._hsv.v=g.v}}var h=Math.max(0,Math.min(255,255-(this._hsv.h/360)*255));this._barSelector.css({top:h+"px
"});var d=Math.max(0,Math.min(255,(this._hsv.s/100)*255));var h=Math.max(0,Math.min(255,255-((this._hsv.v/100)*255)));this._gradientSelector.css({left:(d-6)+"px
",top:(h-6)+"px
"});this._newColor.css({backgroundColor:"rgb("+c.r+", "+c.g+", "+c.b+")"});var f=this.hsvToRgb(this._hsv.h,100,100);this._gradient.css({backgroundColor:"rgb("+f.r+", "+f.g+", "+f.b+")"})},hsvToRgb:function(d,j,g){var b={r:0,g:0,b:0};var i,a,f,e,c;i=Math.floor(d/60);a=d/60-i;j/=100;g/=100;f=g*(1-j);e=g*(1-j*a);c=g*(1-j*(1-a));if(j==0){b.r=b.g=b.b=g}else{switch(i){case 1:b.r=e;b.g=g;b.b=f;break;case 2:b.r=f;b.g=g;b.b=c;break;case 3:b.r=f;b.g=e;b.b=g;break;case 4:b.r=c;b.g=f;b.b=g;break;case 5:b.r=g;b.g=f;b.b=e;break;case 0:case 6:b.r=g;b.g=c;b.b=f;break}}return{r:Math.round(b.r*255),g:Math.round(b.g*255),b:Math.round(b.b*255)}},rgbToHsv:function(a,f,i){var j,e,c;var d,k,h;a/=255;f/=255;i/=255;d=Math.max(Math.max(a,f),i);k=Math.min(Math.min(a,f),i);h=d-k;j=0;if(d!==k){switch(d){case a:j=60*(0+(f-i)/h);break;case f:j=60*(2+(i-a)/h);break;case i:j=60*(4+(a-f)/h);break}if(j<0){j+=360}}if(d===0){e=0}else{e=h/d}c=d;return{h:Math.round(j),s:Math.round(e*100),v:Math.round(c*100)}},hexToRgb:function(a){if(/^#?([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$/.test(a)){a=a.split("");if(a[0]==="#"){a.shift()}if(a.length===3){return{r:parseInt(a[0]+""+a[0],16),g:parseInt(a[1]+""+a[1],16),b:parseInt(a[2]+""+a[2],16)}}else{return{r:parseInt(a[0]+""+a[1],16),g:parseInt(a[2]+""+a[3],16),b:parseInt(a[4]+""+a[5],16)}}}return Number.NaN},rgbToHex:function(d,c,a){return("0123456789ABCDEF
".charAt((d-d%16)/16)+""+"0123456789ABCDEF
".charAt(d%16))+""+("0123456789ABCDEF
".charAt((c-c%16)/16)+""+"0123456789ABCDEF
".charAt(c%16))+""+("0123456789ABCDEF
".charAt((a-a%16)/16)+""+"0123456789ABCDEF
".charAt(a%16))}}); })(this);
97 (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:"",_commentData:{},_guestDialog:null,init:function(a,b){this._commentAdd=null;this._commentButtonList={};this._comments={};this._containerID=a;this._displayedComments=0;this._loadNextComments=null;this._loadNextResponses={};this._responses={};this._userAvatar=b;this._container=$("#"+$.wcfEscapeID(this._containerID));if(!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();if(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(){if(this._displayedComments<this._container.data("comments
")){if(this._loadNextComments===null){this._loadNextComments=$('<li class="commentLoadNext
"><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()}else{if(this._loadNextComments!==null){this._loadNextComments.hide()}}},_handleLoadNextResponses:function(a){var b=this._comments[a];b.data("displayedResponses
",b.find("ul
.commentResponseList
> li
").length);if(b.data("displayedResponses
")<b.data("responses
")){if(this._loadNextResponses[a]===undefined){var d=b.data("responses
")-b.data("displayedResponses
");this._loadNextResponses[a]=$('<li class="jsCommentLoadNextResponses
"><a>'+WCF.Language.get("wcf
.comment
.response
.more
",{count:d})+"</a></li>").appendTo(this._commentButtonList[a]);this._loadNextResponses[a].children("a
").data("commentID
",a).click($.proxy(this._loadResponses,this));this._commentButtonList[a].parent().show()}}else{if(this._loadNextResponses[a]!==undefined){var c=this._loadNextResponses[a].next();this._loadNextResponses[a].remove();if(c.length){c.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(a){this._loadResponsesExecute($(a.currentTarget).disable().data("commentID
"),false)},_loadResponsesExecute:function(a,b){this._proxy.setOption("data
",{actionName:"loadResponses
",className:"wcf
\\data
\\comment
\\response
\\CommentResponseAction
",parameters:{data:{commentID:a,lastResponseTime:this._comments[a].data("lastResponseTime
"),loadAllResponses:(b?1:0)}}});this._proxy.sendRequest()},_domNodeInserted:function(){this._initComments();this._initResponses()},_initComments:function(){var a=this;var b=false;this._container.find(".jsComment
").each(function(e,h){var f=$(h).removeClass("jsComment
");var c=f.data("commentID
");a._comments[c]=f;var d=f.find("ul
.commentResponseList
");if(!d.length){d=f.find(".commentContent
")}var g=$('<div class="commentOptionContainer
" />').hide().insertAfter(d);a._commentButtonList[c]=$("<ul
/>").appendTo(g);a._handleLoadNextResponses(c);a._initComment(c,f);a._displayedComments++;b=true});if(b){this._handleLoadNextComments()}},_initComment:function(a,d){if(this._container.data("canAdd
")){this._initAddResponse(a,d)}if(d.data("canEdit
")){var b=$('<li><a href="#" class="jsTooltip
" title="'+WCF.Language.get("wcf.global.button.edit")+'"><span class="icon icon16 icon
-pencil
" /> <span class="invisible
">'+WCF.Language.get("wcf
.global
.button
.edit
")+"</span
></a></li>");b.data("commentID
",a).appendTo(d.find("ul
.commentOptions
:eq(0)")).click($.proxy(this._prepareEdit,this))}if(d.data("canDelete
")){var c=$('<li><a href="#" class="jsTooltip
" title="'+WCF.Language.get("wcf.global.button.delete")+'"><span class="icon icon16 icon
-remove
" /> <span class="invisible
">'+WCF.Language.get("wcf
.global
.button
.delete")+"</span
></a></li>");c.data("commentID
",a).appendTo(d.find("ul
.commentOptions
:eq(0)")).click($.proxy(this._delete,this))}},_initResponses:function(){var a=this;this._container.find(".jsCommentResponse
").each(function(d,c){var b=$(c).removeClass("jsCommentResponse
");var e=b.data("responseID
");a._responses[e]=b;a._initResponse(e,b)})},_initResponse:function(a,c){if(c.data("canEdit
")){var d=$('<li><a href="#" class="jsTooltip
" title="'+WCF.Language.get("wcf.global.button.edit")+'"><span class="icon icon16 icon
-pencil
" /> <span class="invisible
">'+WCF.Language.get("wcf
.global
.button
.edit
")+"</span
></a></li>");var b=this;d.data("responseID
",a).appendTo(c.find("ul
.commentOptions
:eq(0)")).click(function(f){b._prepareEdit(f,true)})}if(c.data("canDelete
")){var e=$('<li><a href="#" class="jsTooltip
" title="'+WCF.Language.get("wcf.global.button.delete")+'"><span class="icon icon16 icon
-remove
" /> <span class="invisible
">'+WCF.Language.get("wcf
.global
.button
.delete")+"</span
></a></li>");var b=this;e.data("responseID
",a).appendTo(c.find("ul
.commentOptions
:eq(0)")).click(function(f){b._delete(f,true)})}},_initAddComment:function(){this._commentAdd=$('<li class="box32 jsCommentAdd
"><span class="framed
">'+this._userAvatar+"</span><div /></li>").prependTo(this._container);var a=this._commentAdd.children("div");var b=$('<textarea placeholder="'+WCF.Language.get("wcf.comment.add")+'" maxlength="65535" class="long" />').appendTo(a).flexible();$('<button
class="small">'+WCF.Language.get("wcf.global.button.submit")+"</button>").click($.proxy(this._save,this)).appendTo(a);b.keyup($.proxy(this._keyUp,this))},_initAddResponse:function(d,g){var c=$('<li
class="jsCommentShowAddResponse"><a
>'+WCF.Language.get("wcf.comment.button.response.add")+"</a></li>").data("commentID",d).click($.proxy(this._showAddResponse,this)).appendTo(this._commentButtonList[d]);var e=$('<div
class="box32 commentResponseAdd jsCommentResponseAdd"><span
class="framed">'+this._userAvatar+"</span><div /></div>").hide();e.appendTo(this._commentButtonList[d].parent().show());var a=e.children("div");var f=$('<textarea placeholder
="'+WCF.Language.get("wcf
.comment
.response
.add
")+'" maxlength
="65535" class="long" />').data("commentID",d).appendTo(a).flexible();$('<button class="small">'+WCF.Language.get("wcf.global.button.submit")+"</button
>").click($.proxy(function(h){this._save(h,true)},this)).appendTo(a);var b=this;f.keyup(function(h){b._keyUp(h,true)});g.data("responsePlaceholder
",c).data("responseInput
",e)},_prepareEdit:function(c,a){c.preventDefault();var d=$(c.currentTarget);var b={objectID:this._container.data("objectID
"),objectTypeID:this._container.data("objectTypeID
")};if(a===true){b.responseID=d.data("responseID
")}else{b.commentID=d.data("commentID
")}this._proxy.setOption("data
",{actionName:"prepareEdit
",className:"wcf
\\data
\\comment
\\CommentAction
",parameters:{data:b}});this._proxy.sendRequest()},_showAddResponse:function(c){var b=$(c.currentTarget);var a=b.data("commentID
");if(b.prev().hasClass("jsCommentLoadNextResponses
")){this._loadResponsesExecute(a,true);b.parent().children(".button
").disable()}b.remove();var d=this._comments[a].data("responseInput
").show();d.find("textarea
").focus();d.parents(".commentOptionContainer
").addClass("jsAddResponseActive
")},_keyUp:function(b,a){if(b.which===$.ui.keyCode.ESCAPE){$(b.currentTarget).val("").trigger("blur
",b).trigger("updateHeight
");return}else{if(b.which===$.ui.keyCode.ENTER&&b.ctrlKey){this._save(null,a,$(b.currentTarget));return false}}},_save:function(f,b,c){var g=(f===null)?c:$(f.currentTarget).prev("textarea
");var e=$.trim(g.val());if(e==""){return}var a="addComment
";var d={message:e,objectID:this._container.data("objectID
"),objectTypeID:this._container.data("objectTypeID
")};if(b===true){a="addResponse
";d.commentID=g.data("commentID
")}if(!WCF.User.userID){this._commentData=d;this._proxy.setOption("data
",{actionName:"getGuestDialog
",className:"wcf
\\data
\\comment
\\CommentAction
",parameters:{data:{message:e,objectID:this._container.data("objectID
"),objectTypeID:this._container.data("objectTypeID
")}}});this._proxy.sendRequest()}else{this._proxy.setOption("data
",{actionName:a,className:"wcf
\\data
\\comment
\\CommentAction
",parameters:{data:d}});this._proxy.sendRequest()}},_delete:function(b,a){b.preventDefault();WCF.System.Confirmation.show(WCF.Language.get("wcf
.comment
.delete.confirmMessage
"),$.proxy(function(d){if(d==="confirm
"){var c={objectID:this._container.data("objectID
"),objectTypeID:this._container.data("objectTypeID
")};if(a!==true){c.commentID=$(b.currentTarget).data("commentID
")}else{c.responseID=$(b.currentTarget).data("responseID
")}this._proxy.setOption("data
",{actionName:"remove
",className:"wcf
\\data
\\comment
\\CommentAction
",parameters:{data:c}});this._proxy.sendRequest()}},this))},_failure:function(b,a,d,c){if(!WCF.User.userID&&this._guestDialog){this._guestDialog.find('input[type="submit
"]').enable()}return true},_success:function(d,e,b){switch(d.actionName){case"addComment
":if(d.returnValues.guestDialog){this._createGuestDialog(d.returnValues.guestDialog,d.returnValues.useCaptcha)}else{this._commentAdd.find("textarea
").val("").blur().trigger("updateHeight
");$(d.returnValues.template).insertAfter(this._commentAdd).wcfFadeIn();if(!WCF.User.userID){this._guestDialog.wcfDialog("close
")}}break;case"addResponse
":if(d.returnValues.guestDialog){this._createGuestDialog(d.returnValues.guestDialog,d.returnValues.useCaptcha)}else{var c=this._comments[d.returnValues.commentID];c.find(".jsCommentResponseAdd textarea
").val("").blur().trigger("updateHeight
");var a=c.find("ul
.commentResponseList
");if(!a.length){a=$('<ul class="commentResponseList
" />').insertBefore(c.find(".commentOptionContainer
"))}$(d.returnValues.template).appendTo(a).wcfFadeIn();if(!WCF.User.userID){this._guestDialog.wcfDialog("close
")}}break;case"edit
":this._update(d);break;case"loadComments
":this._insertComments(d);break;case"loadResponses
":this._insertResponses(d);break;case"prepareEdit
":this._edit(d);break;case"remove
":this._remove(d);break;case"getGuestDialog
":this._createGuestDialog(d.returnValues.template,d.returnValues.useCaptcha);break}WCF.DOMNodeInsertedHandler.execute()},_insertComments:function(a){$(a.returnValues.template).insertBefore(this._loadNextComments);this._container.data("lastCommentTime
",a.returnValues.lastCommentTime)},_insertResponses:function(b){var a=this._comments[b.returnValues.commentID];$(b.returnValues.template).appendTo(a.find("ul
.commentResponseList
"));a.data("lastResponseTime
",b.returnValues.lastResponseTime);this._handleLoadNextResponses(b.returnValues.commentID)},_remove:function(d){if(d.returnValues.commentID){this._comments[d.returnValues.commentID].remove();delete this._comments[d.returnValues.commentID]}else{var a=this._responses[d.returnValues.responseID];var c=this._comments[a.parents("li
.comment
:eq(0)").data("commentID
")];c.data("responses
",parseInt(c.data("responses
"))-1);var b=a.parent();a.remove();if(!b.children().length){b.empty()}delete this._responses[d.returnValues.responseID]}},_edit:function(b){var a;if(b.returnValues.commentID){a=this._comments[b.returnValues.commentID].find(".commentContent
:eq(0) .userMessage
:eq(0)")}else{a=this._responses[b.returnValues.responseID].find(".commentContent
:eq(0) .userMessage
:eq(0)")}a.html($.proxy(function(e,d){var f=$('<textarea class="long" maxlength="65535" />').val(b.returnValues.message);f.data("__html
",d).keyup($.proxy(this._keyUpEdit,this));if(b.returnValues.commentID){f.data("commentID
",b.returnValues.commentID)}else{f.data("responseID
",b.returnValues.responseID)}return f},this));var c=a.children("textarea
");$('<button class="small
">'+WCF.Language.get("wcf
.global
.button
.submit
")+"</button>").insertAfter(c).click($.proxy(this._saveEdit,this));c.focus().flexible();a.parent().find(".containerHeadline:eq(0)").hide();a.parent().find(".buttonGroupNavigation:eq(0)").hide()},_update:function(a){var b;if(a.returnValues.commentID){b=this._comments[a.returnValues.commentID].find(".commentContent:eq(0) .userMessage:eq(0) > textarea")}else{b=this._responses[a.returnValues.responseID].find(".commentContent:eq(0) .userMessage:eq(0) > textarea")}b.data("__html",a.returnValues.message);this._cancelEdit(b)},_createGuestDialog:function(b,a){var c=!!this._guestDialog;if(!this._guestDialog){this._guestDialog=$('<div id="commentAddGuestDialog" />').hide().appendTo(document.body)}this._guestDialog.html(b);this._guestDialog.data("useCaptcha",a);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(a){if(a.which===$.ui.keyCode.ENTER){this._submit()}},_submit:function(b){var c={actionName:this._commentData.commentID?"addResponse":"addComment",className:"wcf\\data\\comment\\CommentAction"};var a=this._commentData;a.username=this._guestDialog.find('input
[name
="username"]').val();c.parameters={data:a};c=$.extend(WCF.System.Captcha.getData("commentAdd"),c);this._proxy.setOption("data",c);this._proxy.sendRequest()},_keyUpEdit:function(a){if(a.which===$.ui.keyCode.ESCAPE){this._cancelEdit($(a.currentTarget));return}else{if(a.which===$.ui.keyCode.ENTER&&a.ctrlKey){this._saveEdit(a);return false}}},_saveEdit:function(c){var d=$(c.currentTarget);if(d.is("button")){d=d.prev("textarea")}var b=$.trim(d.val());if(b===""){return}var a={message:b,objectID:this._container.data("objectID"),objectTypeID:this._container.data("objectTypeID")};if(d.data("commentID")){a.commentID=d.data("commentID")}else{a.responseID=d.data("responseID")}this._proxy.setOption("data",{actionName:"edit",className:"wcf\\data\\comment\\CommentAction",parameters:{data:a}});this._proxy.sendRequest()},_cancelEdit:function(a){a.parent().prev(".containerHeadline:eq(0)").show();a.parent().next(".buttonGroupNavigation:eq(0)").show();a.parent().html(a.data("__html"))}});WCF.Comment.Like=WCF.Like.extend({_getContainers:function(){return $(".commentList > li.comment")},_getObjectID:function(a){return this._containers[a].data("commentID")},_buildWidget:function(b,a,d,c,e){this._containers[b].find(".containerHeadline:eq(0) > h3").append(c);if(this._canLike){a.appendTo(this._containers[b].find(".commentOptions:eq(0)"));d.appendTo(this._containers[b].find(".commentOptions:eq(0)"))}},_getWidgetContainer:function(a){},_addWidget:function(a,b){}});WCF.Comment.Response={};WCF.Comment.Response.Like=WCF.Like.extend({_addWidget:function(a,b){},_buildWidget:function(b,a,d,c,e){this._containers[b].find(".containerHeadline:eq(0) > h3").append(c);if(this._canLike){a.appendTo(this._containers[b].find(".commentOptions:eq(0)"));d.appendTo(this._containers[b].find(".commentOptions:eq(0)"))}},_getContainers:function(){return $(".commentResponseList > li.commentResponse")},_getObjectID:function(a){return this._containers[a].data("responseID")},_getWidgetContainer:function(a){}}); })(this);
100 (function (window, undefined) {"use strict";WCF.ImageViewer=Class.extend({_triggerElement:null,init:function(){this._triggerElement=$('<span
class="wcfImageViewerTriggerElement" />').data("disableSlideshow",true).hide().appendTo(document.body);this._triggerElement.wcfImageViewer({enableSlideshow:0,imageSelector:".jsImageViewerEnabled",staticViewer:true});WCF.DOMNodeInsertedHandler.addCallback("WCF.ImageViewer",$.proxy(this._domNodeInserted,this));WCF.DOMNodeInsertedHandler.execute()},_domNodeInserted:function(){this._initImageSizeCheck();this._rebuildImageViewer()},_rebuildImageViewer:function(){var a=$("a.jsImageViewer");if(a.length){a.removeClass("jsImageViewer").addClass("jsImageViewerEnabled").click($.proxy(this._click,this))}},_click:function(a){a.preventDefault();a.stopPropagation();this._triggerElement.wcfImageViewer("open",null,$(a.currentTarget).wcfIdentify())},_initImageSizeCheck:function(){$(".jsResizeImage").each($.proxy(function(a,b){if(b.complete){this._checkImageSize({currentTarget:b})}},this));$(".jsResizeImage").on("load",$.proxy(this._checkImageSize,this))},_checkImageSize:function(c){var b=$(c.currentTarget);if(!b.is(":visible")){b.off("load");return}b.removeClass("jsResizeImage");var d=new Image();d.src=b.attr("src");var a=b.closest("div.messageText").width();if(a<d.width){if(!b.parents("a").length){b.wrap('<a href="'+b.attr("src")+'" class="jsImageViewerEnabled" />');b.parent().click($.proxy(this._click,this))}}}});$.widget("ui.wcfImageViewer",{_active:-1,_activeImage:null,_container:null,_didInit:false,_disableSlideshow:false,_eventNamespace:"",_images:[],_isMobile:false,_isOpen:false,_items:-1,_maxDimensions:{height:0,width:0},_proxy:null,_slideshowEnabled:false,_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:false},_create:function(){this._active=-1;this._activeImage=null;this._container=null;this._didInit=false;this._disableSlideshow=(this.element.data("disableSlideshow"));this._eventNamespace=this.element.wcfIdentify();this._images=[];this._isMobile=false;this._isOpen=false;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=false;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(b,c){if(b){b.preventDefault()}if(this._isOpen){return false}if(this.options.staticViewer){var a=this._getStaticImages();this._initUI();this._createThumbnails(a,true);this._render(true,undefined,c);this._isOpen=true;WCF.System.DisableScrolling.disable();WCF.System.DisableZoom.disable();if($.browser.touch){setTimeout($.proxy(function(){if(this._isMobile&&!this._container.hasClass("maximized")){this._toggleView()}},this),500)}}else{if(this._images.length===0){this._loadNextImages(true)}else{this._render(false,this.element.data("targetImageID"));if(this._items>1&&this._slideshowEnabled){this.startSlideshow()}this._isOpen=true;WCF.System.DisableScrolling.disable();WCF.System.DisableZoom.disable()}}this._bindListener();return true},close:function(a){if(a){a.preventDefault()}if(!this._isOpen){return false}this._container.removeClass("open");if(this._timer!==null){this._timer.stop()}this._unbindListener();this._isOpen=false;WCF.System.DisableScrolling.enable();WCF.System.DisableZoom.enable();return true},startSlideshow:function(){if(this._disableSlideshow||this._slideshowEnabled){return false}if(this._timer===null){this._timer=new WCF.PeriodicalExecuter($.proxy(function(){var a=this._active+1;if(a==this._items){a=0}this.showImage(a)},this),this.options.speed*1000)}else{this._timer.resume()}this._slideshowEnabled=true;this._ui.slideshow.toggle.children("span").removeClass("icon-play").addClass("icon-pause");return true},stopSlideshow:function(a){if(!this._slideshowEnabled){return false}this._timer.stop();if(a){this._ui.slideshow.toggle.children("span").removeClass("icon-pause").addClass("icon-play")}this._slideshowEnabled=false;return true},_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(b){switch(b.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:if(!this._container.hasClass("maximized")){this._toggleView()}break;case $.ui.keyCode.DOWN:if(this._container.hasClass("maximized")){this._toggleView()}break;case $.ui.keyCode.ENTER:var a=this._ui.header.find("> div > h1 > a");if(a.length==1){window.location=a.prop("href")}else{this._ui.slideshow.full.trigger("click")}break;case 80:this._ui.slideshow.toggle.trigger("click");break;default:return true;break}return false},_render:function(e,b,d){this._container.addClass("open");var c=null;if(e){c=this._ui.imageList.children("li:eq(0)");this._thumbnailMarginRight=parseInt(c.css("marginRight").replace(/px$/,""))||0;this._thumbnailWidth=c.outerWidth(true);this._thumbnailContainerWidth=this._ui.imageList.parent().innerWidth();if(this._items>1&&this.options.enableSlideshow&&!b&&!d){this.startSlideshow()}}if(b){this._ui.imageList.children("li").each($.proxy(function(h,i){var g=$(i);if(g.data("objectID")==b){g.trigger("click");this.moveToImage(g.data("index"));return false}},this))}else{if(d!==null){var f=0;$(this.options.imageSelector).each(function(g,h){if($(h).wcfIdentify()==d){f=g;return false}});var a=this._ui.imageList.children("li:eq("+f+")");a.trigger("click");this.moveToImage(a.data("index"))}else{if(c!==null){c.trigger("click")}}}this._toggleButtons();this._preload()},_preload:function(){if(this._images.length<this._items){var a=this._images.length*this._thumbnailWidth;if(a-this._thumbnailOffset<this._thumbnailContainerWidth){this._loadNextImages(false)}}},_showImage:function(a){this.showImage($(a.currentTarget).data("index"),true)},showImage:function(e,c){if(this._active==e){return false}this.stopSlideshow(c||false);if(this._active!=-1){this._images[this._active].listItem.removeClass("active")}this._active=e;var b=this._images[e];this._ui.imageList.children("li").removeClass("active");b.listItem.addClass("active");var g=this._ui.imageContainer.getDimensions("inner");var i=(this._activeImage?0:1);if(this._activeImage!==null){this._ui.images[this._activeImage].removeClass("active")}this._activeImage=i;var a=this._active;this._ui.imageContainer.addClass("loading");this._ui.images[i].off("load").prop("src","data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///ywAAAAAAQABAAACAUwAOw==");this._ui.images[i].on("load",$.proxy(function(){this._imageOnLoad(a,i)},this));this._renderImage(i,b,g);if(!this.options.staticViewer){var f=this._ui.header.find("> div > a").prop("href",b.user.link).prop("title",b.user.username);f.children("img").prop("src",b.user.avatarURL)}var h=WCF.String.escapeHTML(b.image.title);if(b.image.link){h='<a href
="'+b.image.link+'">'+b.image.title+"</a>"}this._ui.header.find("> div > h1").html(h);if(!this.options.staticViewer){var d=(b.series&&b.series.title?WCF.String.escapeHTML(b.series.title):"");if(b.series.link){d='<a href
="'+b.series.link+'">'+d+"</a>"}this._ui.header.find("> div > h2").html(d)}this._ui.header.find("> div > h3").text(WCF.Language.get("wcf.imageViewer.seriesIndex").replace(/{x}/,b.listItem.data("index")+1).replace(/{y}/,this._items));this._ui.slideshow.full.data("link",(b.image.fullURL?b.image.fullURL:b.image.url));this.moveToImage(b.listItem.data("index"));this._toggleButtons();return true},_imageOnLoad:function(b,a){if(b!=this._active){return}this._ui.imageContainer.removeClass("loading");this._ui.images[a].addClass("active");if(this.options.staticViewer){this._renderImage(a,null)}this.startSlideshow()},_renderImage:function(e,a,j){var f=true;if(!a){e=this._activeImage;a=this._images[this._active];j={height:$(window).height()-(this._container.hasClass("maximized")||this._container.hasClass("wcfImageViewerMobile")?0:200),width:this._ui.imageContainer.innerWidth()};f=false}j.height-=22;j.width-=20;var g=this._ui.images[e];if(g.prop("src")!==a.image.url){g.prop("src",a.image.url)}if(f&&g[0].complete){g.trigger("load")}if(this.options.staticViewer&&!a.image.height&&g[0].complete){var b=new Image();b.src=a.image.url;if(navigator.userAgent.match(/CriOS/)){var k=this;b.onload=function(){a.image.height=this.height;a.image.width=this.width;k._renderImage(e,a,j)};return}a.image.height=b.height;a.image.width=b.width}var h=a.image.height;var c=a.image.width;var i=0;if(h>j.height){i=j.height/h;h=j.height;c=Math.floor(c*i)}if(c>j.width){i=j.width/c;c=j.width;h=Math.floor(h*i)}var d=Math.floor((j.width-c)/2);this._ui.images[e].css({height:h+"px",left:(d+10)+"px",marginTop:(Math.round(h/2)*-1)+"px",width:c+"px"})},_initUI:function(){if(this._didInit){return false}this._didInit=true;this._container=$('<div
class="wcfImageViewer'+(this.options.staticViewer?" wcfImageViewerStatic
":"")+'" />').appendTo(document.body);var c=$('<div
><img
class="active" /><img /></div>').appendTo(this._container);var g=$('<footer><span class="wcfImageViewerButtonPrevious icon icon-double-angle-left" /><div
><ul
/></div><span
class="wcfImageViewerButtonNext icon icon-double-angle-right" /></footer
>').appendTo(this._container);var e=$("<ul />").appendTo(c);var d=$('<li
class="wcfImageViewerSlideshowButtonPrevious"><span
class="icon icon48 icon-angle-left" /></li>').appendTo(e);var f=$('<li class="wcfImageViewerSlideshowButtonToggle pointer"><span class="icon icon48 icon-play" /></li>').appendTo(e);var b=$('<li class="wcfImageViewerSlideshowButtonNext"><span class="icon icon48 icon-angle-right" /></li>').appendTo(e);var h=$('<li class="wcfImageViewerSlideshowButtonEnlarge pointer jsTooltip" title="'+WCF.Language.get("wcf.imageViewer.button.enlarge")+'"><span class="icon icon48 icon-resize-full" /></li>').appendTo(e);var a=$('<li class="wcfImageViewerSlideshowButtonFull pointer jsTooltip" title="'+WCF.Language.get("wcf.imageViewer.button.full")+'"><span class="icon icon48 icon-external-link" /></li>').appendTo(e);this._ui={buttonNext:g.children("span.wcfImageViewerButtonNext"),buttonPrevious:g.children("span.wcfImageViewerButtonPrevious"),header:$("<header><div"+(this.options.staticViewer?">":' class="box64"><a class="framed jsTooltip"><img /></a>')+"<h1 /><h2
/><h3 /></div></header
>").appendTo(this._container),imageContainer:c,images:[c.children("img
:eq(0)").on("webkitTransitionEnd transitionend msTransitionEnd oTransitionEnd
",function(){$(this).removeClass("animateTransformation
")}),c.children("img
:eq(1)").on("webkitTransitionEnd transitionend msTransitionEnd oTransitionEnd
",function(){$(this).removeClass("animateTransformation
")})],imageList:g.find("> div
> ul
"),slideshow:{container:e,enlarge:h,full:a,next:b,previous:d,toggle:f}};this._ui.buttonNext.click($.proxy(this._next,this));this._ui.buttonPrevious.click($.proxy(this._previous,this));b.click($.proxy(this._nextImage,this));d.click($.proxy(this._previousImage,this));h.click($.proxy(this._toggleView,this));f.click($.proxy(function(){if(this._items<2){return}if(this._slideshowEnabled){this.stopSlideshow(true)}else{this._disableSlideshow=false;this.startSlideshow()}},this));a.click(function(i){window.location=$(i.currentTarget).data("link
")});$('<span class="wcfImageViewerButtonClose icon icon48 icon
-remove pointer jsTooltip
" title="'+WCF.Language.get("wcf.global.button.close")+'" />').appendTo(this._ui.header).click($.proxy(this.close,this));if(!$.browser.mobile){c.click((function(i){if(i.target===c[0]){this.close()}}).bind(this))}WCF.DOMNodeInsertedHandler.execute();enquire.register("screen
and (max
-width
: 800px
)",{match:$.proxy(this._enableMobileView,this),unmatch:$.proxy(this._disableMobileView,this)});return true},_enableMobileView:function(){this._container.addClass("wcfImageViewerMobile
");var a=this;this._ui.imageContainer.swipe({swipeLeft:function(b){if(a._container.hasClass("maximized
")){a._nextImage(b)}},swipeRight:function(b){if(a._container.hasClass("maximized
")){a._previousImage(b)}},tap:function(c,b){switch(b.tagName){case"DIV
":case"IMG
":a._toggleView();break}}});this._isMobile=true},_disableMobileView:function(){this._container.removeClass("wcfImageViewerMobile
");this._ui.imageContainer.swipe("destroy
");this._isMobile=false},_toggleView:function(){this._ui.images[this._activeImage].addClass("animateTransformation
");this._container.toggleClass("maximized
");this._ui.slideshow.enlarge.toggleClass("active
").children("span
").toggleClass("icon
-resize
-full
").toggleClass("icon
-resize
-small
");this._renderImage(null,undefined,null)},_next:function(c,b){if(this._ui.buttonNext.hasClass("pointer
")){if(b==undefined){this.stopSlideshow(true)}var a=Math.max((this._items*this._thumbnailWidth)-this._thumbnailContainerWidth-this._thumbnailMarginRight,0);this._thumbnailOffset=Math.min(this._thumbnailOffset+(this._thumbnailWidth*(b?b:this.options.shiftBy)),a);this._ui.imageList.css("marginLeft
",(this._thumbnailOffset*-1))}this._preload();this._toggleButtons()},_previous:function(b,a){if(this._ui.buttonPrevious.hasClass("pointer
")){if(a==undefined){this.stopSlideshow(true)}this._thumbnailOffset=Math.max(this._thumbnailOffset-(this._thumbnailWidth*(a?a:this.options.shiftBy)),0);this._ui.imageList.css("marginLeft
",(this._thumbnailOffset*-1))}this._toggleButtons()},_nextImage:function(a){if(this._ui.slideshow.next.hasClass("pointer
")){this._disableSlideshow=true;this.stopSlideshow(true);this.showImage(this._active+1);if(a){a.preventDefault();a.stopPropagation()}}},_previousImage:function(a){if(this._ui.slideshow.previous.hasClass("pointer
")){this._disableSlideshow=true;this.stopSlideshow(true);this.showImage(this._active-1);if(a){a.preventDefault();a.stopPropagation()}}},moveToImage:function(b){var f=(b-3)*this._thumbnailWidth;var d=f+(this._thumbnailWidth*5);var e=this._thumbnailOffset;var a=this._thumbnailOffset+this._thumbnailContainerWidth;var g=false;if(f<e||d>a){g=true}if(g){var c=0;if(f<e){while(f<e){c++;e-=this._thumbnailWidth}this._previous(null,c)}else{while(d>a){c++;a+=this._thumbnailWidth}this._next(null,c)}}},_toggleButtons:function(){if(this._thumbnailOffset>0){this._ui.buttonPrevious.addClass("pointer
")}else{this._ui.buttonPrevious.removeClass("pointer
")}var a=(this._images.length*this._thumbnailWidth)-this._thumbnailContainerWidth-this._thumbnailMarginRight;if(this._thumbnailOffset>=a){this._ui.buttonNext.removeClass("pointer
")}else{this._ui.buttonNext.addClass("pointer
")}if(this._active>0){this._ui.slideshow.previous.addClass("pointer
")}else{this._ui.slideshow.previous.removeClass("pointer
")}if(this._active+1<this._images.length){this._ui.slideshow.next.addClass("pointer
")}else{this._ui.slideshow.next.removeClass("pointer
")}if(this._items<2){this._ui.slideshow.toggle.removeClass("pointer
")}else{this._ui.slideshow.toggle.addClass("pointer
")}},_createThumbnails:function(a){if(this.options.staticViewer){this._images=[];this._ui.imageList.empty()}for(var g=0,f=a.length;g<f;g++){var e=a[g];var d=$('<li class="loading pointer
"><img src="'+e.thumbnail.url+'" /></li>').appendTo(this._ui.imageList);d.data("index
",this._images.length).data("objectID
",e.objectID).click($.proxy(this._showImage,this));var c=d.children("img
");if(c.get(0).complete){d.removeClass("loading
");if(this.options.staticViewer){this._fixThumbnailDimensions(c)}}else{var b=this;c.on("load
",function(){var h=$(this);h.parent().removeClass("loading
");if(b.options.staticViewer){b._fixThumbnailDimensions(h)}})}e.listItem=d;this._images.push(e)}},_fixThumbnailDimensions:function(e){var c=new Image();c.src=e.prop("src
");var b=c.height;var a=c.width;if(b==a){b=a=80}else{if(b<a){var d=80/a;a=80;b*=d}else{var d=80/b;b=80;a*=d}}e.css({height:b+"px
",width:a+"px
"})},_loadNextImages:function(a){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:(a&&this.element.data("targetImageID
")?this.element.data("targetImageID
"):0)}});this._proxy.setOption("showLoadingOverlay
",false);this._proxy.sendRequest()},_getStaticImages:function(){var a=[];$(this.options.imageSelector).each(function(c,d){var b=$(d);var e=b.children("img
");if(!e.length){e=b.parentsUntil(".formAttachmentList
").last().find(".attachmentTinyThumbnail
")}a.push({image:{fullURL:b.prop("href
"),link:"",title:b.prop("title
"),url:b.prop("href
"),},series:null,thumbnail:{url:e.prop("src
")},user:null})});this._items=a.length;return a},_success:function(c,e,b){if(c.returnValues.items){this._items=c.returnValues.items}var a=this._initUI();this._createThumbnails(c.returnValues.images);var d=(c.returnValues.targetImageID?c.returnValues.targetImageID:0);this._render(a,d);if(!this._isOpen){this._isOpen=true;WCF.System.DisableScrolling.disable();WCF.System.DisableZoom.disable()}}}); })(this);
103 (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));if($.browser.mozilla&&$.browser.touch){this._labelInput.on("input
",$.proxy(this._keyPressed,this))}$("#labelList
").find('input[type="radio
"]').each($.proxy(function(b,a){var c=$(a);if(c.prop("value
")!=="custom
"){this._labelList.push($(c.next("span
")))}},this))},_keyPressed:function(){var a=this._labelInput.prop("value
");if(a===""){a=WCF.Language.get("wcf
.acp
.label
.defaultValue
")}for(var c=0,b=this._labelList.length;c<b;c++){this._labelList[c].text(a)}}});WCF.Label.ACPList.Connect=Class.extend({init:function(){var a=$("#connect
.structuredList li
");if(!a.length){return}a.each($.proxy(function(b,c){$(c).find('input[type="checkbox
"]').click($.proxy(this._click,this))},this))},_click:function(c){var a=$(c.currentTarget);if(a.is(":checked
")){a=a.parents("li
");var b=a.data("depth
");while(true){a=a.next();if(!a.length){return true}if(a.data("depth
")<=b){return true}a.find('input[type="checkbox
"]').prop("checked
","checked
")}}}});WCF.Label.Chooser=Class.extend({_container:null,_groups:{},_showWithoutSelection:false,init:function(f,b,e,h){this._container=null;this._groups={};this._showWithoutSelection=(h===true);this._initContainers(b);if($.getLength(f)){for(var a in f){var d=this._groups[a];if(d){WCF.Dropdown.getDropdownMenu(d.wcfIdentify()).find("> ul
> li
:not(.dropdownDivider
)").each($.proxy(function(k,j){var i=$(j);var l=i.data("labelID
")||0;if(l&&f[a]==l){this._selectLabel(i,true)}},this))}}}for(var c in this._containers){var g=this._containers[c];if(g.data("labelID
")===undefined){g.data("labelID
",0)}}this._container=$(b);if(e){$(e).click($.proxy(this._submit,this))}else{if(this._container.is("form
")){this._container.submit($.proxy(this._submit,this))}}},_initContainers:function(a){$(a).find(".labelChooser
").each($.proxy(function(d,i){var f=$(i);var b=f.data("groupID
");if(!this._groups[b]){var e=f.wcfIdentify();var c=WCF.Dropdown.getDropdownMenu(e);if(c===null){WCF.Dropdown.initDropdown(f.find(".dropdownToggle
"));c=WCF.Dropdown.getDropdownMenu(e)}var h=c;if(c.getTagName()=="div
"&&c.children(".scrollableDropdownMenu
").length){h=$("<ul
/>").appendTo(c);c=c.children(".scrollableDropdownMenu")}this._groups[b]=f;c.children("li").data("groupID",b).click($.proxy(this._click,this));if(!f.data("forceSelection")||this._showWithoutSelection){$('<li class="dropdownDivider" />').appendTo(h)}if(this._showWithoutSelection){$('<li data
-label
-id
="-1"><span
><span
class="badge label">'+WCF.Language.get("wcf.label.withoutSelection")+"</span></span></li>").data("groupID",b).appendTo(h).click($.proxy(this._click,this))}if(!f.data("forceSelection")){var g=$('<li data
-label
-id
="0"><span
><span
class="badge label">'+WCF.Language.get("wcf.label.none")+"</span></span></li>").data("groupID",b).appendTo(h);g.click($.proxy(this._click,this))}}},this))},_click:function(a){this._selectLabel($(a.currentTarget),false)},_selectLabel:function(a,c){var b=this._groups[a.data("groupID")];if(c&&b.data("labelID")!==undefined){return}if(a.data("labelID")){b.data("labelID",a.data("labelID"))}else{b.data("labelID",0)}a=a.find("span > span");b.find(".dropdownToggle > span").removeClass().addClass(a.attr("class")).text(a.text())},_submit:function(){var b=this._container.find(".formSubmit");b.find('input
[type
="hidden"]').each(function(e,d){var f=$(d);if(f.attr("name").indexOf("labelIDs[")===0){f.remove()}});for(var a in this._groups){var c=this._groups[a];if(c.data("labelID")){$('<input type
="hidden" name
="labelIDs['+a+']" value
="'+c.data("labelID
")+'" />').appendTo(b)}}}}); })(this);
106 (function (window, undefined) {"use strict";WCF.Location={};WCF.Location.Util={getLocation:function(b,a){if(navigator.geolocation){navigator.geolocation.getCurrentPosition(function(c){b(c.coords.latitude,c.coords.longitude)},function(){b(undefined,undefined)},{timeout:a||5000})}else{b(undefined,undefined)}}};WCF.Location.GoogleMaps={};WCF.Location.GoogleMaps.Settings={_settings:{},get:function(a){if(a===undefined){return this._settings}if(this._settings[a]!==undefined){return this._settings[a]}return null},set:function(b,c){if($.isPlainObject(b)){for(var a in b){this._settings[a]=b[a]}}else{this._settings[b]=c}}};WCF.Location.GoogleMaps.Map=Class.extend({_map:null,_markers:[],init:function(b,a){this._mapContainer=$("#"+b);this._mapOptions=$.extend(true,this._getDefaultMapOptions(),a);this._map=new google.maps.Map(this._mapContainer[0],this._mapOptions);this._markers=[];if(this._mapContainer.parents(".sidebar").length){enquire.register("screen and (max-width: 800px)",{setup:$.proxy(this._addSidebarMapListener,this),deferSetup:true})}this.refresh()},_addInfoWindowEventListener:function(a,b){google.maps.event.addListener(a,"click",$.proxy(function(){b.open(this._map,a)},this))},_addSidebarMapListener:function(){$(".content > .mobileSidebarToggleButton").click($.proxy(this.refresh,this))},_getDefaultMapOptions:function(){var a={};a.center=new google.maps.LatLng(WCF.Location.GoogleMaps.Settings.get("defaultLatitude"),WCF.Location.GoogleMaps.Settings.get("defaultLongitude"));a.disableDoubleClickZoom=WCF.Location.GoogleMaps.Settings.get("disableDoubleClickZoom");a.draggable=WCF.Location.GoogleMaps.Settings.get("draggable");switch(WCF.Location.GoogleMaps.Settings.get("mapType")){case"map":a.mapTypeId=google.maps.MapTypeId.ROADMAP;break;case"satellite":a.mapTypeId=google.maps.MapTypeId.SATELLITE;break;case"physical":a.mapTypeId=google.maps.MapTypeId.TERRAIN;break;case"hybrid":default:a.mapTypeId=google.maps.MapTypeId.HYBRID;break}a.mapTypeControl=WCF.Location.GoogleMaps.Settings.get("mapTypeControl")!="off";if(a.mapTypeControl){switch(WCF.Location.GoogleMaps.Settings.get("mapTypeControl")){case"dropdown":a.mapTypeControlOptions={style:google.maps.MapTypeControlStyle.DROPDOWN_MENU};break;case"horizontalBar":a.mapTypeControlOptions={style:google.maps.MapTypeControlStyle.HORIZONTAL_BAR};break;default:a.mapTypeControlOptions={style:google.maps.MapTypeControlStyle.DEFAULT};break}}a.scaleControl=WCF.Location.GoogleMaps.Settings.get("scaleControl");a.scrollwheel=WCF.Location.GoogleMaps.Settings.get("scrollwheel");a.zoom=WCF.Location.GoogleMaps.Settings.get("zoom");return a},addDraggableMarker:function(c,b){var a=new google.maps.Marker({clickable:false,draggable:true,map:this._map,position:new google.maps.LatLng(c,b),zIndex:1});this._markers.push(a);return a},addMarker:function(g,e,f,d,c){var b=new google.maps.Marker({map:this._map,position:new google.maps.LatLng(g,e),title:f});if(d){b.setIcon(d)}if(c){var a=new google.maps.InfoWindow({content:c});this._addInfoWindowEventListener(b,a);b.infoWindow=a}this._markers.push(b);return b},getMarkers:function(){return this._markers},getMap:function(){return this._map},refresh:function(){var a=this._map.getCenter();google.maps.event.trigger(this._map,"resize");this._map.setCenter(a)},refreshBounds:function(){var f=null;var c=null;var d=null;var g=null;for(var a in this._markers){var e=this._markers[a];var h=e.getPosition().lat();var b=e.getPosition().lng();if(f===null){f=c=h;d=g=b}else{if(f>h){f=h}else{if(c<h){c=h}}if(d>h){d=h}else{if(g<b){g=b}}}}this._map.fitBounds(new google.maps.LatLngBounds(new google.maps.LatLng(f,d),new google.maps.LatLng(c,g)))},removeMarkers:function(){for(var a in this._markers){this._markers[a].setMap(null)}this._markers=[]},setCenter:function(b,a){this._map.setCenter(new google.maps.LatLng(b,a))}});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(e,b,d,c,a){this._super(e,b);this._actionClassName=d;this._locationSearchInputSelector=c||"";this._additionalParameters=a||{};this._objectIDs=[];if(this._locationSearchInputSelector){this._locationSearch=new WCF.Location.GoogleMaps.LocationSearch(c,$.proxy(this._centerMap,this))}this._markerClusterer=new MarkerClusterer(this._map,this._markers,{maxZoom:17});this._markerSpiderfier=new OverlappingMarkerSpiderfier(this._map,{keepSpiderfied:true,markersWontHide:true,markersWontMove:true});this._markerSpiderfier.addListener("click",$.proxy(function(f){if(f.infoWindow){f.infoWindow.open(this._map,f)}},this));this._proxy=new WCF.Action.Proxy({showLoadingOverlay:false,success:$.proxy(this._success,this)});this._previousNorthEast=null;this._previousSouthWest=null;google.maps.event.addListener(this._map,"idle",$.proxy(this._loadMarkers,this))},_addInfoWindowEventListener:function(a,b){},_centerMap:function(a){this.setCenter(a.location.lat(),a.location.lng());$(this._locationSearchInputSelector).val(a.label)},_loadMarkers:function(){var a=this._map.getBounds().getNorthEast();var b=this._map.getBounds().getSouthWest();if(this._previousNorthEast&&this._previousNorthEast.lat()>=a.lat()&&this._previousNorthEast.lng()>=a.lng()&&this._previousSouthWest.lat()<=b.lat()&&this._previousSouthWest.lng()<=b.lng()){return false}this._previousNorthEast=a;this._previousSouthWest=b;this._proxy.setOption("data",{actionName:"getMapMarkers",className:this._actionClassName,parameters:$.extend(this._additionalParameters,{excludedObjectIDs:this._objectIDs,eastLongitude:a.lng(),northLatitude:a.lat(),southLatitude:b.lat(),westLongitude:b.lng()})});this._proxy.sendRequest();return true},_success:function(d,e,c){if(d.returnValues&&d.returnValues.markers){for(var a in d.returnValues.markers){var b=d.returnValues.markers[a];this.addMarker(b.latitude,b.longitude,b.title,null,b.infoWindow);if(b.objectID){this._objectIDs.push(b.objectID)}else{if(b.objectIDs){this._objectIDs=this._objectIDs.concat(b.objectIDs)}}}}},addMarker:function(f,d,e,c,b){var a=this._super(f,d,e,c,b);this._markerClusterer.addMarker(a);this._markerSpiderfier.addMarker(a);return a}});WCF.Location.GoogleMaps.SuggestionMap=WCF.Location.GoogleMaps.LargeMap.extend({_locationSuggestionsButton:null,_suggestionSelectionCallback:null,init:function(f,c,e,d,a){this._super(f,c,e,d,a);var b=$('<div
class="gmnoprint googleMapsCustomControlContainer"><div
class="gm-style-mtc"><div
class="googleMapsCustomControl">'+WCF.Language.get("wcf.map.showLocationSuggestions")+"</div></div></div>");this._locationSuggestionsButton=b.find(".googleMapsCustomControl").click($.proxy(this._toggleLocationSuggestions,this));this._map.controls[google.maps.ControlPosition.TOP_RIGHT].push(b.get(0))},_loadMarkers:function(){if(!this._locationSuggestionsButton.hasClass("active")){return}if(!this._super()){this._loadSuggestions=false}},_success:function(c,d,b){var a=this._markers.length;this._super(c,d,b);if(this._loadSuggestions&&a==this._markers.length){this._loadSuggestions=false;new WCF.System.Notification(WCF.Language.get("wcf.map.noLocationSuggestions"),"info").show()}},_toggleLocationSuggestions:function(){var a=!this._locationSuggestionsButton.hasClass("active");if(a){this._loadSuggestions=true}this.showSuggestions(a)},addMarker:function(h,f,g,e,d){var a=$(d);var c=$('<a
class="googleMapsUseLocationSuggestionLink" />').text(WCF.Language.get("wcf.map.useLocationSuggestion")).click(this._suggestionSelectionCallback);a.append($('<p
class="marginTopTiny" />').append(c));var b=this._super(h,f,g,"//mt.google.com/vt
/icon/name
=icons
/spotlight/spotlight-waypoint
-a
.png
",a.get(0));c.data("marker
",b);return b},setSuggestionSelectionCallback:function(a){this._suggestionSelectionCallback=a},showSuggestions:function(c){if(c===undefined){c=true}this._locationSuggestionsButton.toggleClass("active
",c);var b=[];for(var e=0,d=this._markers.length;e<d;e++){var a=this._markers[e];if(!a.draggable){a.setVisible(c);if(c){b.push(a)}}}this._markerClusterer.clearMarkers();if(c){this._markerClusterer.addMarkers(b)}this._loadMarkers()}});WCF.Location.GoogleMaps.LocationSearch=WCF.Search.Base.extend({_geocoder:null,init:function(b,e,a,c,d){this._super(b,e,a,c,d);this._geocoder=new google.maps.Geocoder()},_createListItem:function(b){var a=$("<li
><span
>"+WCF.String.escapeHTML(b.formatted_address)+"</span></li>").appendTo(this._list);a.data("location
",b.geometry.location).data("label
",b.formatted_address).click($.proxy(this._executeCallback,this));this._itemCount++;return a},_keyUp:function(b){switch(b.which){case $.ui.keyCode.LEFT:case $.ui.keyCode.RIGHT:return;break;case $.ui.keyCode.UP:this._selectPreviousItem();return;break;case $.ui.keyCode.DOWN:this._selectNextItem();return;break;case $.ui.keyCode.ENTER:return this._selectElement(b);break}var a=this._getSearchString(b);if(a===""){this._clearList(true)}else{if(a.length>=this._triggerLength){this._clearList(false);this._geocoder.geocode({address:a},$.proxy(this._success,this))}else{this._clearList(false)}}},_success:function(d,b){if(b!=google.maps.GeocoderStatus.OK){return}if($.getLength(d)){var c=0;for(var a in d){this._createListItem(d[a]);if(++c==10){break}}}else{if(!this._handleEmptyResult()){return}}WCF.CloseOverlayHandler.addCallback("WCF
.Search
.Base
",$.proxy(function(){this._clearList()},this));var e=this._searchInput.parents(".dropdown
").wcfIdentify();if(!WCF.Dropdown.getDropdownMenu(e).hasClass("dropdownOpen
")){WCF.Dropdown.toggleDropdown(e)}this._itemIndex=-1;if(!WCF.Dropdown.getDropdown(e).data("disableAutoFocus
")){this._selectNextItem()}}});WCF.Location.GoogleMaps.LocationInput=Class.extend({_locationSearch:null,_map:null,_marker:null,init:function(e,b,a,f,d,c){this._searchInput=a;if(c){this._map=new WCF.Location.GoogleMaps.SuggestionMap(e,b,c);this._map.setSuggestionSelectionCallback($.proxy(this._useSuggestion,this))}else{this._map=new WCF.Location.GoogleMaps.Map(e,b)}this._locationSearch=new WCF.Location.GoogleMaps.LocationSearch(a,$.proxy(this._setMarkerByLocation,this));if(f&&d){this._marker=this._map.addDraggableMarker(f,d)}else{this._marker=this._map.addDraggableMarker(WCF.Location.GoogleMaps.Settings.get("defaultLatitude
"),WCF.Location.GoogleMaps.Settings.get("defaultLongitude
"));WCF.Location.Util.getLocation($.proxy(function(h,g){if(h!==undefined&&g!==undefined){WCF.Location.GoogleMaps.Util.moveMarker(this._marker,h,g);WCF.Location.GoogleMaps.Util.focusMarker(this._marker)}},this))}this._marker.addListener("dragend
",$.proxy(this._updateLocation,this))},_useSuggestion:function(b){var a=$(b.currentTarget).data("marker
");this._marker.setPosition(a.getPosition());this._updateLocation();this._map.showSuggestions(false)},_updateLocation:function(){WCF.Location.GoogleMaps.Util.reverseGeocoding($.proxy(function(a){if(a!==null){$(this._searchInput).val(a)}},this),this._marker)},_setMarkerByLocation:function(a){this._marker.setPosition(a.location);WCF.Location.GoogleMaps.Util.focusMarker(this._marker);$(this._searchInput).val(a.label)},getMap:function(){return this._map},getMarker:function(){return this._marker}});WCF.Location.GoogleMaps.Util={_geocoder:null,focusMarker:function(a){a.getMap().setCenter(a.getPosition())},getMarkerPosition:function(a){return{latitude:a.getPosition().lat(),longitude:a.getPosition().lng()}},moveMarker:function(a,d,b,c){a.setPosition(new google.maps.LatLng(d,b));if(c){google.maps.event.trigger(a,"dragend
")}},reverseGeocoding:function(f,a,e,c,b){if(a){e=a.getPosition().lat();c=a.getPosition().lng()}if(this._geocoder===null){this._geocoder=new google.maps.Geocoder()}var d=new google.maps.LatLng(e,c);this._geocoder.geocode({latLng:d},function(h,g){if(g==google.maps.GeocoderStatus.OK){f((b?h:h[0].formatted_address))}else{f(null)}})}}; })(this);
109 (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(a,c){var b=$(c).addClass("jsCodeViewer
");$('<span class="icon icon16 icon
-copy pointer jsTooltip
" title="'+WCF.Language.get("wcf.message.bbcode.code.copy")+'" />').appendTo(b.find("div
> h3
")).click($.proxy(this._click,this))},this))},_click:function(b){var a="";$(b.currentTarget).parents("div
").next("ol
").children("li
").each(function(c,d){if(a){a+="\n"}a+=$(d).text().replace(/\n+$/,"")});if(this._dialog===null){this._dialog=$('<div><textarea cols="60" rows="12" readonly="readonly
" /></div>').hide().appendTo(document.body);this._dialog.children("textarea
").val(a);this._dialog.wcfDialog({title:WCF.Language.get("wcf
.message
.bbcode
.code
.copy
")})}else{this._dialog.children("textarea
").val(a);this._dialog.wcfDialog("open
")}this._dialog.children("textarea
").select()}});WCF.Message.EditHistory=Class.extend({_oldIDInputs:null,_newIDInputs:null,_containerSelector:"",_buttonSelector:".jsRevertButton
",init:function(c,b,a,d){this._oldIDInputs=c;this._newIDInputs=b;this._containerSelector=a;this._buttonSelector=(d)?d:".jsRevertButton
";this.proxy=new WCF.Action.Proxy({success:$.proxy(this._success,this)});this._initInputs();this._initElements()},_initInputs:function(){var a=this;this._newIDInputs.change(function(c){var b=parseInt($(this).val());if($(this).val()==="current
"){b=Infinity}a._oldIDInputs.each(function(d){var e=parseInt($(this).val());if($(this).val()==="current
"){e=Infinity}if(e>=b){$(this).disable()}else{$(this).enable()}})});this._oldIDInputs.change(function(b){var c=parseInt($(this).val());if($(this).val()==="current
"){c=Infinity}a._newIDInputs.each(function(e){var d=parseInt($(this).val());if($(this).val()==="current
"){d=Infinity}if(d<=c){$(this).disable()}else{$(this).enable()}})});this._oldIDInputs.filter(":checked
").change();this._newIDInputs.filter(":checked
").change()},_initElements:function(){var a=this;$(this._containerSelector).each(function(c,b){var d=$(b);d.find(a._buttonSelector).click($.proxy(a._click,a))})},_click:function(c){var a=$(c.currentTarget);c.preventDefault();if(a.data("confirmMessage
")){var b=this;WCF.System.Confirmation.show(a.data("confirmMessage
"),function(d){if(d==="cancel
"){return}b._sendRequest(a)})}else{this._sendRequest(a)}},_sendRequest:function(a){this.proxy.setOption("data
",{actionName:"revert
",className:"wcf
\\data
\\edit
\\history
\\entry
\\EditHistoryEntryAction
",objectIDs:[$(a).data("objectID
")]});this.proxy.sendRequest()},_success:function(b,c,a){window.location.reload(true)}});WCF.Message.FormGuard=Class.extend({init:function(){var a=$("form
.jsFormGuard
").removeClass("jsFormGuard
").submit(function(){$(this).find(".formSubmit input
[type
=submit
]").disable()});$(window).unload(function(){a.find(".formSubmit input
[type
=submit
]").enable()})}});WCF.Message.Preview=Class.extend({_className:"",_messageFieldID:"",_messageField:null,_proxy:null,_previewButton:null,_previewButtonLabel:"",init:function(b,a,c){this._className=b;this._messageFieldID=$.wcfEscapeID(a);this._messageField=$("#"+this._messageFieldID);if(!this._messageField.length){console.debug("[WCF
.Message
.Preview
] Unable to find message field identified by
'"+this._messageFieldID+"'");return}c=$.wcfEscapeID(c);this._previewButton=$("#"+c);if(!this._previewButton.length){console.debug("[WCF
.Message
.Preview
] Unable to find preview button identified by
'"+c+"'");return}this._previewButton.click($.proxy(this._click,this));this._proxy=new WCF.Action.Proxy({failure:$.proxy(this._failure,this),success:$.proxy(this._success,this)})},_click:function(b){var a=this._getMessage();if(a===null){console.debug("[WCF
.Message
.Preview
] Unable to access Redactor instance
of '"+this._messageFieldID+"'");return}this._proxy.setOption("data
",{actionName:"getMessagePreview
",className:this._className,parameters:this._getParameters(a)});this._proxy.sendRequest();this._previewButtonLabel=this._previewButton.html();this._previewButton.html(WCF.Language.get("wcf
.global
.loading
")).disable();b.stopPropagation();return false},_getParameters:function(b){var a={};$("#settings_
"+this._messageFieldID).find("input
[type
=checkbox
]").each(function(c,e){var d=$(e);if(d.is(":checked
")){a[d.prop("name
")]=d.prop("value
")}});return{data:{message:b},options:a}},_getMessage:function(){if(!$.browser.redactor){return $.trim(this._messageField.val())}else{if(this._messageField.data("redactor
")){return this._messageField.redactor("wutil
.getText
")}}return null},_success:function(b,c,a){this._previewButton.html(this._previewButtonLabel).enable();this._messageField.parent().children("small
.innerError
").remove();this._handleResponse(b)},_handleResponse:function(a){},_failure:function(a){if(a===null||a.returnValues===undefined||a.returnValues.errorType===undefined){return true}this._previewButton.html(this._previewButtonLabel).enable();var b=this._messageField.next("small
.innerError
").empty();if(!b.length){b=$('<small class="innerError
" />').appendTo(this._messageField.parent())}b.html(a.returnValues.errorType);return false}});WCF.Message.DefaultPreview=WCF.Message.Preview.extend({_attachmentObjectType:null,_attachmentObjectID:null,_tmpHash:null,init:function(b,a,c){this._super("wcf
\\data
\\bbcode
\\MessagePreviewAction
","text
","previewButton
");this._attachmentObjectType=b||null;this._attachmentObjectID=a||null;this._tmpHash=c||null},_handleResponse:function(b){var a=$("#previewContainer
");if(!a.length){a=$('<div class="container containerPadding marginTop
" id="previewContainer
"><fieldset><legend>'+WCF.Language.get("wcf
.global
.preview
")+"</legend><div></div></fieldset>").prependTo($("#messageContainer")).wcfFadeIn()}a.find("div:eq(0)").html(b.returnValues.message);new WCF.Effect.Scroll().scrollTo(a)},_getParameters:function(b){var a=this._super(b);if(this._attachmentObjectType!=null){a.attachmentObjectType=this._attachmentObjectType;a.attachmentObjectID=this._attachmentObjectID;a.tmpHash=this._tmpHash}return a}});WCF.Message.Multilingualism=Class.extend({_availableLanguages:{},_languageID:0,_languageInput:null,init:function(c,d,a){this._availableLanguages=d;this._languageID=c||0;this._languageInput=$("#languageID");this._updateLabel();this._languageInput.find(".dropdownMenu > li").click($.proxy(this._click,this));if(!a){var b=this._languageInput.find(".dropdownMenu");$('<li class="dropdownDivider" />').appendTo(b);$('<li
><span
><span
class="badge">'+this._availableLanguages[0]+"</span></span></li>").click($.proxy(this._disable,this)).appendTo(b)}this._languageInput.parents("form").submit($.proxy(this._submit,this))},_click:function(a){this._languageID=$(a.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(a){this._proxy=new WCF.Action.Proxy({success:$.proxy(this._success,this)});this._wysiwygSelector=a;$("#smilies-"+this._wysiwygSelector).on("messagetabmenushow",$.proxy(this._click,this))},_click:function(b,c){var a=parseInt(c.activeTab.tab.data("smileyCategoryID"));if(!a){return}if(c.activeTab.container.children("ul.smileyList").length){return}if(this._cache[a]!==undefined){c.activeTab.container.html(this._cache[a])}this._proxy.setOption("data",{actionName:"getSmilies",className:"wcf\\data\\smiley\\category\\SmileyCategoryAction",objectIDs:[a]});this._proxy.sendRequest()},_success:function(c,d,b){var a=parseInt(c.returnValues.smileyCategoryID);this._cache[a]=c.returnValues.template;$("#smilies-"+this._wysiwygSelector+"-"+a).html(c.returnValues.template)}});WCF.Message.Smilies=Class.extend({_redactor:null,_wysiwygSelector:"",init:function(a){this._wysiwygSelector=a;WCF.System.Dependency.Manager.register("Redactor_"+this._wysiwygSelector,$.proxy(function(){this._redactor=$("#"+this._wysiwygSelector).redactor("core.getObject");$(".messageTabMenu[data-wysiwyg-container-id="+this._wysiwygSelector+"]").on("click",".jsSmiley",$.proxy(this._smileyClick,this))},this))},_smileyClick:function(d){var b=$(d.currentTarget);var a=b.data("smileyCode");var c=b.data("smileyPath");this._redactor.wbbcode.insertSmiley(a,c,true)}});WCF.Message.QuickReply=Class.extend({_container:null,_messageField:null,_notification:null,_pendingSave:false,_proxy:null,_quickReplyButtons:null,_quoteManager:null,_scrollHandler:null,_successMessageNonVisible:"",init:function(d,b){this._container=$("#messageQuickReply");this._container.children(".message").addClass("jsInvalidQuoteTarget");this._messageField=$("#text");this._pendingSave=false;if(!this._container||!this._messageField){return}var a=this._container.find(".formSubmit");var c=a.find("button[data-type=save]").removeAttr("accesskey").click($.proxy(this._save,this));if(d){a.find("button[data-type=extended]").click($.proxy(this._prepareExtended,this))}a.find("button[data-type=cancel]").click($.proxy(this._cancel,this));if(b){this._quoteManager=b}this._quickReplyButtons=$(".jsQuickReply").data("__api",this).click($.proxy(this.click,this));this._proxy=new WCF.Action.Proxy({failure:$.proxy(this._failure,this),showLoadingOverlay:false,success:$.proxy(this._success,this)});this._scroll=new WCF.Effect.Scroll();this._notification=new WCF.System.Notification(WCF.Language.get("wcf.global.success.add"));this._successMessageNonVisible="";WCF.System.Event.addListener("com.woltlab.wcf.redactor","submitEditor_text",function(e){e.cancel=true;c.trigger("click")});WCF.System.Event.addListener("com.woltlab.wcf.message.quote","insert",(function(f){var e=false;if(this._container.is(":visible")){e=true}else{if(f.forceInsert){e=(this._messageField.redactor("wutil.isEmptyEditor")?false:true);this.click(null)}}if(e){this._messageField.redactor("wutil.selectionEndOfEditor");this._messageField.redactor("wbbcode.insertQuoteBBCode",f.quote.username,f.quote.link,f.quote.text,f.quote.text);this._scroll.scrollTo(this._container,true)}}).bind(this))},click:function(b){this._container.toggle();if(this._container.is(":visible")){this._quickReplyButtons.hide();setTimeout((function(){$(document).trigger("resize");if(!$.browser.mobile||!$.browser.chrome){this._scroll.scrollTo(this._container,true)}}).bind(this),100);WCF.Message.Submit.registerButton("text",this._container.find(".formSubmit button[data-type=save]"));if(this._quoteManager){var a=true;if($.browser.redactor){if(this._messageField.data("redactor")){this._editorCallback(this._messageField.redactor("wutil.isEmptyEditor"))}}else{a=(!this._messageField.val().length);this._editorCallback(a)}}}if(b!==null){b.stopPropagation();return false}},_editorCallback:function(a){if(a){this._quoteManager.insertQuotes(this._getClassName(),this._getObjectID(),$.proxy(this._insertQuotes,this))}if($.browser.redactor){this._messageField.redactor("focus.setEnd")}else{this._messageField.focus()}},getContainer:function(){return this._container},_insertQuotes:function(b){if(!b.returnValues.template){return}if($.browser.redactor){var a=WCF.String.unescapeHTML(b.returnValues.template);a=this._messageField.redactor("wbbcode.convertToHtml",a);a=a.replace(/<p><blockquote/,"<blockquote");a=a.replace(/blockquote><\/p>/,"blockquote>");this._messageField.redactor("focus.setEnd");this._messageField.redactor("wutil.insertDynamic",a,b.returnValues.template);this._messageField.redactor("wutil.selectionEndOfEditor");this._messageField.redactor("wbbcode._observeQuotes")}else{this._messageField.val(b.returnValues.template)}},_save:function(){if(this._pendingSave){return}var a="";if($.browser.redactor){a=this._messageField.redactor("wutil.getText")}else{a=$.trim(this._messageField.val())}var d=this._messageField.parent().find("small.innerError");if(a===""||a==="0"){if(!d.length){d=$('<small
class="innerError" />').appendTo(this._messageField.parent())}d.html(WCF.Language.get("wcf.global.form.error.empty"));return}else{d.remove()}this._pendingSave=true;this._proxy.setOption("data",{actionName:"quickReply",className:this._getClassName(),interfaceName:"wcf\\data\\IMessageQuickReplyAction",parameters:this._getParameters(a)});this._proxy.sendRequest();var b=this._container.find(".messageQuickReplyContent .messageBody");$('<span class="icon icon48 icon-spinner" />').appendTo(b);var c=b.children(".redactor-box").hide();c.next().hide();b.next().hide()},_getParameters:function(b){var a={objectID:this._getObjectID(),data:{message:b},lastPostTime:this._container.data("lastPostTime"),pageNo:this._container.data("pageNo"),removeQuoteIDs:(this._quoteManager===null?[]:this._quoteManager.getQuotesMarkedForRemoval())};if(this._container.data("anchor")){a.anchor=this._container.data("anchor")}WCF.System.Event.fireEvent("com.woltlab.wcf.messageOptionsInline","submit_"+this._messageField.wcfIdentify(),a.data);return a},_cancel:function(){this._revertQuickReply(true);if($.browser.redactor){this._messageField.redactor("wutil.reset")}else{this._messageField.val("")}},_revertQuickReply:function(b){var a=this._container.find(".messageQuickReplyContent .messageBody");if(b){this._container.hide();a.children("small.innerError").remove()}a.children(".icon-spinner").remove();a.children(".redactor-box").show().next().show();a.next().show();this._quickReplyButtons.show()},_prepareExtended:function(){this._pendingSave=true;if(this._quoteManager!==null){this._quoteManager.markQuotesForRemoval()}var a="";if($.browser.redactor){a=this._messageField.redactor("wutil.getText");if(a.length){this._messageField.redactor("wutil.saveTextToStorage",true)}else{this._messageField.redactor("wutil.autosavePurge")}}else{a=$.trim(this._messageField.val())}new WCF.Action.Proxy({autoSend:true,data:{actionName:"jumpToExtended",className:this._getClassName(),interfaceName:"wcf\\data\\IExtendedMessageQuickReplyAction",parameters:{containerID:this._getObjectID(),message:a}},success:(function(b){this._messageField.redactor("wutil.saveTextToStorage");window.location=b.returnValues.url}).bind(this)})},_success:function(c,d,b){if($.browser.redactor){this._messageField.redactor("wutil.autosavePurge")}if(c.returnValues.url){window.location=c.returnValues.url}else{if(c.returnValues.template){var a=$(""+c.returnValues.template);if(this._container.data("sortOrder")=="DESC"){a.insertAfter(this._container)}else{a.insertBefore(this._container)}this._container.data("lastPostTime",c.returnValues.lastPostTime);this._notification.show(undefined,undefined,WCF.Language.get("wcf.global.success.add"));this._updateHistory(a.wcfIdentify())}else{var a=(this._successMessageNonVisible)?this._successMessageNonVisible:"wcf.global.success.add";this._notification.show(undefined,5000,WCF.Language.get(a))}if($.browser.redactor){this._messageField.redactor("wutil.reset")}else{this._messageField.val("")}this._revertQuickReply(true);if(this._quoteManager!==null){this._quoteManager.countQuotes()}this._pendingSave=false}},_failure:function(b){this._pendingSave=false;this._revertQuickReply(false);if(b===null||b.returnValues===undefined||b.returnValues.errorType===undefined){return true}var a=this._container.find(".messageQuickReplyContent .messageBody");var c=a.children("small.innerError").empty();if(!c.length){c=$('<small
class="innerError" />').appendTo(a)}c.html(b.returnValues.errorType);return false},_getClassName:function(){return""},_getObjectID:function(){return 0},_updateHistory:function(a){window.location.hash=a}});WCF.Message.InlineEditor=Class.extend({_activeElementID:"",_container:{},_containerID:0,_dropdowns:{},_messageContainerSelector:".jsMessage",_messageEditorIDPrefix:"messageEditor",_notification:null,_proxy:null,_quoteManager:null,_supportExtendedForm:false,init:function(a,c,b){this._activeElementID="";this._container={};this._containerID=parseInt(a);this._dropdowns={};this._quoteManager=b||null;this._supportExtendedForm=(c)?true:false;this._proxy=new WCF.Action.Proxy({failure:$.proxy(this._failure,this),showLoadingOverlay:false,success:$.proxy(this._success,this)});this._notification=new WCF.System.Notification(WCF.Language.get("wcf.global.success.edit"));this.initContainers();WCF.DOMNodeInsertedHandler.addCallback("WCF.Message.InlineEditor",$.proxy(this.initContainers,this))},initContainers:function(){$(this._messageContainerSelector).each($.proxy(function(b,a){var e=$(a);var c=e.wcfIdentify();if(!this._container[c]){this._container[c]=e;if(e.data("canEditInline")){var d=e.find(".jsMessageEditButton:eq(0)").data("containerID",c).click($.proxy(this._clickInline,this));if(e.data("canEdit")){d.dblclick($.proxy(this._click,this))}}else{if(e.data("canEdit")){e.find(".jsMessageEditButton:eq(0)").data("containerID",c).click($.proxy(this._click,this))}}}},this))},_click:function(c,a){var b=(c===null)?a:$(c.currentTarget).data("containerID");if(this._activeElementID===""){this._activeElementID=b;this._prepare();this._proxy.setOption("data",{actionName:"beginEdit",className:this._getClassName(),interfaceName:"wcf\\data\\IMessageInlineEditorAction",parameters:{containerID:this._containerID,objectID:this._container[b].data("objectID")}});this._proxy.setOption("failure",$.proxy(function(){this._cancel()},this));this._proxy.sendRequest()}else{var d=new WCF.System.Notification(WCF.Language.get("wcf.message.error.editorAlreadyInUse"),"warning");d.show()}if(this._dropdowns[this._container[b].data("objectID")]){this._dropdowns[this._container[b].data("objectID")].removeClass("dropdownOpen")}if(c!==null){c.stopPropagation();return false}},_clickInline:function(c){var d=$(c.currentTarget);if(!d.hasClass("dropdownToggle")){var b=d.data("containerID");d.addClass("dropdownToggle").parent().addClass("dropdown");var a=$('<ul class="dropdownMenu" />').insertAfter(d);this._initDropdownMenu(b,a);WCF.DOMNodeInsertedHandler.execute();this._dropdowns[this._container[b].data("objectID")]=a;WCF.Dropdown.registerCallback(d.parent().wcfIdentify(),$.proxy(this._toggleDropdown,this));d.trigger("click")}c.stopPropagation();return false},_failure:function(b){this._revertEditor();if(b===null||b.returnValues===undefined||b.returnValues.errorType===undefined){return true}var a=this._container[this._activeElementID].find(".messageBody .messageInlineEditor");var c=a.children("small.innerError").empty();if(!c.length){c=$('<small
class="innerError" />').insertBefore(a.children(".formSubmit"))}c.html(b.returnValues.errorType);return false},_toggleDropdown:function(a,b){WCF.Dropdown.getDropdown(a).parents(".messageOptions").toggleClass("forceOpen")},_initDropdownMenu:function(a,b){},_prepare:function(){var b=this._container[this._activeElementID].find(".messageBody");$('<span class="icon icon48 icon-spinner" />').appendTo(b);var a=b.find(".messageText").hide();a.parent().children(".jsInlineEditorHideContent").hide();b.children(".attachmentThumbnailList, .attachmentFileList").hide()},_cancel:function(){var b=this._container[this._activeElementID].removeClass("jsInvalidQuoteTarget");this._destroyEditor();var a=b.find(".messageBody");a.children(".icon-spinner").remove();a.find(".messageText").show();a.children(".attachmentThumbnailList, .attachmentFileList").show();a.find(".jsInlineEditorHideContent").show();this._container[this._activeElementID].find(".messageOptions").removeClass("forceHidden");this._activeElementID="";if(this._quoteManager){this._quoteManager.clearAlternativeEditor()}},_success:function(b,c,a){switch(b.returnValues.actionName){case"beginEdit":this._showEditor(b);break;case"save":this._showMessage(b);break}},_showEditor:function(g){this._proxy.setOption("failure",$.proxy(this._failure,this));var e=this._messageEditorIDPrefix+this._container[this._activeElementID].data("objectID");var d=this._container[this._activeElementID].addClass("jsInvalidQuoteTarget").find(".messageBody");d.children(".icon-spinner").remove();var c=d.children("div:eq(0)");$(""+g.returnValues.template).appendTo(c);var b=c.find(".formSubmit");var f=b.find("button[data-type=save]").click($.proxy(this._save,this));if(this._supportExtendedForm){b.find("button[data-type=extended]").click($.proxy(this._prepareExtended,this))}b.find("button[data-type=cancel]").click($.proxy(this._cancel,this));WCF.Message.Submit.registerButton(this._messageEditorIDPrefix+this._container[this._activeElementID].data("objectID"),f);WCF.System.Event.addListener("com.woltlab.wcf.redactor","submitEditor_"+e,function(h){h.cancel=true;f.trigger("click")});this._container[this._activeElementID].find(".messageOptions").addClass("forceHidden");var a=$("#"+e);if($.browser.redactor){new WCF.PeriodicalExecuter($.proxy(function(h){h.stop();if(this._quoteManager){this._quoteManager.setAlternativeEditor(a)}new WCF.Effect.Scroll().scrollTo(this._container[this._activeElementID],true)},this),250)}else{a.focus()}},_revertEditor:function(){var a=this._container[this._activeElementID].removeClass("jsInvalidQuoteTarget").find(".messageBody");a.children("span.icon-spinner").remove();a.children("div:eq(0)").children(":not(.messageText)").show();a.children(".attachmentThumbnailList, .attachmentFileList").show();a.find(".jsInlineEditorHideContent").show();if(this._quoteManager){this._quoteManager.clearAlternativeEditor()}},_save:function(){var d=this._container[this._activeElementID];var c=d.data("objectID");var a="";if($.browser.redactor){a=$("#"+this._messageEditorIDPrefix+c).redactor("wutil.getText")}else{a=$("#"+this._messageEditorIDPrefix+c).val()}var b={containerID:this._containerID,data:{message:a},objectID:c};WCF.System.Event.fireEvent("com.woltlab.wcf.messageOptionsInline","submit_"+this._messageEditorIDPrefix+c,b);this._proxy.setOption("data",{actionName:"save",className:this._getClassName(),interfaceName:"wcf\\data\\IMessageInlineEditorAction",parameters:b});this._proxy.sendRequest();this._hideEditor()},_prepareExtended:function(){var c=this._container[this._activeElementID];var b=c.data("objectID");var a="";if($.browser.redactor){a=$("#"+this._messageEditorIDPrefix+b).redactor("wutil.getText")}else{a=$("#"+this._messageEditorIDPrefix+b).val()}new WCF.Action.Proxy({autoSend:true,data:{actionName:"jumpToExtended",className:this._getClassName(),parameters:{containerID:this._containerID,message:a,messageID:b}},success:function(e,f,d){window.location=e.returnValues.url}})},_hideEditor:function(){var a=this._container[this._activeElementID].removeClass("jsInvalidQuoteTarget").find(".messageBody");$('<span
class="icon icon48 icon-spinner" />').appendTo(a);a.children("div:eq(0)").children().hide();a.children(".attachmentThumbnailList, .attachmentFileList").show();a.find(".jsInlineEditorHideContent").show();if(this._quoteManager){this._quoteManager.clearAlternativeEditor()}},_showMessage:function(c){var d=this._container[this._activeElementID].removeClass("jsInvalidQuoteTarget");var b=d.find(".messageBody");b.children(".icon-spinner").remove();var a=b.children("div:eq(0)");a.parent().children(".jsInlineEditorHideContent").show();this._container[this._activeElementID].find(".messageOptions").removeClass("forceHidden");this._destroyEditor();a.children(".messageText").html(c.returnValues.message).show();if(c.returnValues.attachmentList==undefined){b.children(".attachmentThumbnailList, .attachmentFileList").show()}else{b.children(".attachmentThumbnailList, .attachmentFileList").remove();if(c.returnValues.attachmentList){$(c.returnValues.attachmentList).insertAfter(b.children("div:eq(0)"))}}this._activeElementID="";this._updateHistory(this._getHash(d.data("objectID")));this._notification.show();if(this._quoteManager){this._quoteManager.clearAlternativeEditor()}},_destroyEditor:function(){var b=this._container[this._activeElementID];if($.browser.redactor){var a=$("#"+this._messageEditorIDPrefix+b.data("objectID"));a.redactor("wutil.autosavePurge");a.redactor("core.destroy")}b.find(".messageBody > div > .messageInlineEditor").remove();WCF.System.Event.removeAllListeners("com.woltlab.wcf.messageOptionsInline","submit_"+this._messageEditorIDPrefix+b.data("objectID"))},_getClassName:function(){return""},_getHash:function(a){return"#message"+a},_updateHistory:function(a){window.location.hash=a}});WCF.Message.Submit={_buttons:{},registerButton:function(b,a){if(!WCF.Browser.isChrome()){return}this._buttons[b]=$(a)},execute:function(a){if(!this._buttons[a]){return}this._buttons[a].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,d,b,a,c,f,g){this._className=d;if(this._className==""){console.debug("[WCF.Message.QuoteManager] Empty class name given, aborting.");return}this._objectType=b;if(this._objectType==""){console.debug("[WCF.Message.QuoteManager] Empty object type name given, aborting.");return}this._containerSelector=a;this._message="";this._messageBodySelector=c;this._messageContentSelector=f;this._objectID=0;this._proxy=new WCF.Action.Proxy({success:$.proxy(this._success,this)});this._initContainers();g=(g&&e.supportPaste())?true:false;this._initCopyQuote(g);$(document).mouseup($.proxy(this._mouseUp,this));this._quoteManager=e;this._quoteManager.register(this._objectType,this);WCF.DOMNodeInsertedHandler.addCallback("WCF.Message.Quote.Handler"+b.hashCode(),$.proxy(this._initContainers,this))},_initContainers:function(){var a=this;$(this._containerSelector).each(function(c,b){var e=$(b);var d=e.wcfIdentify();if(!a._containers[d]){a._containers[d]=e;if(e.hasClass("jsInvalidQuoteTarget")){return true}if(a._messageBodySelector!==null){e=e.find(a._messageBodySelector).data("containerID",d)}e.mousedown($.proxy(a._mouseDown,a));a._containers[d].find(".jsQuoteMessage").click($.proxy(a._saveFullQuote,a))}})},_mouseDown:function(a){this._copyQuote.hide();var b=$(a.currentTarget);if(this._messageBodySelector){b=this._containers[b.data("containerID")]}if(b.hasClass("jsInvalidQuoteTarget")){this._activeContainerID="";return}this._activeContainerID=b.wcfIdentify();if($.browser.mozilla){b.find("img").each(function(){var c=$(this);c.data("__alt",c.attr("alt")).removeAttr("alt")})}},_getNodeText:function(d){var a=document.createTreeWalker(d,NodeFilter.SHOW_ELEMENT|NodeFilter.SHOW_TEXT,{acceptNode:function(e){if(e.tagName==="H3"){return NodeFilter.FILTER_REJECT}return NodeFilter.FILTER_ACCEPT}},true);var c="";while(a.nextNode()){var b=a.currentNode;if(b.nodeType===Node.ELEMENT_NODE){switch(b.tagName){case"BR":case"LI":case"UL":c+="\n";break;case"TD":if(!$.browser.msie){c+="\n"}break}}else{c+=a.currentNode.nodeValue}}return c},_mouseUp:function(a){if(this._activeContainerID==""){this._copyQuote.hide();return}var i=this._containers[this._activeContainerID];var c=this._getSelectedText();var f=$.trim(c);if(f==""){this._copyQuote.hide();return}var d=null;if(this._messageBodySelector){d=this._getNodeText(i.find(this._messageContentSelector)[0])}else{d=this._getNodeText(i[0])}if(this._normalize(d).indexOf(this._normalize(f))===-1){return}this._copyQuote.show();var g=this._getBoundingRectangle(i,window.getSelection());var e=this._copyQuote.getDimensions("outer");var b=(g.right-g.left)/2-(e
.width
/2)+g.left;this._copyQuote.css({top:g.top-e.height-7+"px",left:b+"px"});this._copyQuote.hide();this._activeContainerID="";var h=this;new WCF.PeriodicalExecuter(function(j){j.stop();var k=$.trim(h._getSelectedText());if(k!=""){h._copyQuote.show();h._message=k;h._objectID=i.data("objectID");if($.browser.mozilla){i.find("img").each(function(){var l=$(this);l.attr("alt",l.data("__alt"))})}}},10)},_normalize:function(a){return a.replace(/\r?\n|\r/g,"\n").replace(/\s
/g," ").replace(/\s
{2,}/g," ")},_getOffset:function(c,d){c.collapse(d);var f=WCF.getRandomID();var a=document.createElement("span");a.innerHTML='<span id="'+f+'"></span>';var g=document.createDocumentFragment(),b;while(b=a.firstChild){g.appendChild(b)}c.insertNode(g);a=$("#"+f);var e=a.offset();e.top=e.top-$(window).scrollTop();a.remove();return e},_getBoundingRectangle:function(a,d){var c=null;if(document.createRange&&typeof document.createRange().getBoundingClientRect!="undefined"){if(d.rangeCount>0){var b=d.getRangeAt(0).getBoundingClientRect();c={left:b.left,right:b.right,top:b.top+$(document).scrollTop()}}}else{if(document.selection&&document.selection.type!="Control"){var e=document.selection.createRange();c={left:e.boundingLeft,right:e.boundingRight,top:e.boundingTop}}}return c},_saveSelection:function(d){if(window.getSelection&&document.createRange){var c=window.getSelection().getRangeAt(0);var b=c.cloneRange();b.selectNodeContents(d);b.setEnd(c.startContainer,c.startOffset);var f=b.toString().length;return{start:f,end:f+c.toString().length}}else{var a=document.selection.createRange();var e=document.body.createTextRange();e.moveToElementText(d);e.setEndPoint("EndToStart",a);var f=e.text.length;return{start:f,end:f+a.text.length}}},_restoreSelection:function(j,k){if(window.getSelection&&document.createRange){var a=0,g=document.createRange();g.setStart(j,0);g.collapse(true);var f=[j],c,d=false,l=false;while(!l&&(c=f.pop())){if(c.nodeType==Node.TEXT_NODE){var h=a+c.length;if(!d&&k.start>=a&&k.start<=h){g.setStart(c,k.start-a);d=true}if(d&&k.end>=a&&k.end<=h){g.setEnd(c,k.end-a);l=true}a=h}else{var e=c.childNodes.length;while(e--){f.push(c.childNodes[e])}}}var b=window.getSelection();b.removeAllRanges();b.addRange(g)}else{var m=document.body.createTextRange();m.moveToElementText(j);m.collapse(true);m.moveEnd("character",k.end);m.moveStart("character",k.start);m.select()}},_initCopyQuote:function(b){this._copyQuote=$("#quoteManagerCopy");if(!this._copyQuote.length){this._copyQuote=$('<div id
="quoteManagerCopy" class="balloonTooltip"><span
class="jsQuoteManagerStore">'+WCF.Language.get("wcf.message.quote.quoteSelected")+'</span><span class="pointer"><span></span></span></div>').hide().appendTo(document.body);var a=this._copyQuote.children("span.jsQuoteManagerStore").click($.proxy(this._saveQuote,this));if(b){$('<span
class="jsQuoteManagerQuoteAndInsert">'+WCF.Language.get("wcf.message.quote.quoteAndReply")+"</span>").click($.proxy(this._saveAndInsertQuote,this)).insertAfter(a)}}},_getSelectedText:function(){var a=window.getSelection();if(a.rangeCount){return this._getNodeText(a.getRangeAt(0).cloneContents())}return""},_saveFullQuote:function(b){var a=$(b.currentTarget);this._proxy.setOption("data",{actionName:"saveFullQuote",className:this._className,interfaceName:"wcf\\data\\IMessageQuoteAction",objectIDs:[a.data("objectID")]});this._proxy.sendRequest();if(a.data("isQuoted")){a.data("isQuoted",false).children("a").removeClass("active")}else{a.data("isQuoted",true).children("a").addClass("active")}var c=a.parents(".buttonGroupNavigation");if(c.hasClass("jsMobileButtonGroupNavigation")){c.children(".dropdownLabel").trigger("click")}b.stopPropagation();return false},_saveQuote:function(a){a=(a===true)?true:false;this._proxy.setOption("data",{actionName:"saveQuote",className:this._className,interfaceName:"wcf\\data\\IMessageQuoteAction",objectIDs:[this._objectID],parameters:{message:this._message,renderQuote:a}});this._proxy.sendRequest()},_saveAndInsertQuote:function(){this._saveQuote(true)},_success:function(c,d,b){if(c.returnValues.count!==undefined){if(c.returnValues.fullQuoteMessageIDs!==undefined){c.returnValues.fullQuoteObjectIDs=c.returnValues.fullQuoteMessageIDs}var a=(c.returnValues.fullQuoteObjectIDs!==undefined)?c.returnValues.fullQuoteObjectIDs:{};this._quoteManager.updateCount(c.returnValues.count,a)}switch(c.actionName){case"saveQuote":case"saveFullQuote":if(c.returnValues.renderedQuote){WCF.System.Event.fireEvent("com.woltlab.wcf.message.quote","insert",{forceInsert:(c.actionName==="saveQuote"?true:false),quote:c.returnValues.renderedQuote})}break}},updateFullQuoteObjectIDs:function(b){for(var a in this._containers){this._containers[a].find(".jsQuoteMessage").each(function(c,d){var e=$(d).data("isQuoted",0);e.children("a").removeClass("active");if(WCF.inArray(e.data("objectID"),b)){e.data("isQuoted",1).children("a").addClass("active")}})}}});WCF.Message.Quote.Manager=Class.extend({_buttons:{},_count:0,_dialog:null,_editorElement:null,_editorElementAlternative:null,_form:null,_handlers:{},_hasTemplate:false,_insertQuotes:true,_proxy:null,_removeOnSubmit:[],_showQuotes:null,_supportPaste:false,init:function(c,a,b,d){this._buttons={insert:null,remove:null};this._count=parseInt(c)||0;this._dialog=null;this._editorElement=null;this._editorElementAlternative=null;this._form=null;this._handlers={};this._hasTemplate=false;this._insertQuotes=true;this._removeOnSubmit=[];this._showQuotes=null;this._supportPaste=false;if(a){this._editorElement=$("#"+a);if(this._editorElement.length){this._supportPaste=true;this._form=this._editorElement.parents("form:eq(0)");if(this._form.length){this._form.submit($.proxy(this._submit,this));this._removeOnSubmit=d||[]}else{this._form=null;this._supportPaste=(b===true)?true:false}}}this._proxy=new WCF.Action.Proxy({showLoadingOverlay:false,success:$.proxy(this._success,this),url:"index.php/MessageQuote/?t="+SECURITY_TOKEN+SID_ARG_2ND});this._toggleShowQuotes()},setAlternativeEditor:function(a){this._editorElementAlternative=a},clearAlternativeEditor:function(){this._editorElementAlternative=null},register:function(a,b){this._handlers[a]=b},updateCount:function(d,c){this._count=parseInt(d)||0;this._toggleShowQuotes();for(var a in this._handlers){var b=c[a]||[];this._handlers[a].updateFullQuoteObjectIDs(b)}},insertQuotes:function(a,b,c){if(!this._insertQuotes){this._insertQuotes=true;return}new WCF.Action.Proxy({autoSend:true,data:{actionName:"getRenderedQuotes",className:a,interfaceName:"wcf\\data\\IMessageQuoteAction",parameters:{parentObjectID:b}},success:c})},_toggleShowQuotes:function(){if(!this._count){if(this._showQuotes!==null){this._showQuotes.hide()}}else{if(this._showQuotes===null){this._showQuotes=$("#showQuotes");if(!this._showQuotes.length){this._showQuotes=$('<div id
="showQuotes" class="balloonTooltip" />').click($.proxy(this._click,this)).appendTo(document.body)}}var a=WCF.Language.get("wcf.message.quote.showQuotes").replace(/#count#/,this._count);this._showQuotes.text(a).show()}this._hasTemplate=false},_click:function(){if(this._hasTemplate){this._dialog.wcfDialog("open")}else{this._proxy.showLoadingOverlayOnce();this._proxy.setOption("data",{actionName:"getQuotes",supportPaste:this._supportPaste});this._proxy.sendRequest()}},renderDialog:function(c){if(this._dialog===null){this._dialog=$("#messageQuoteList");if(!this._dialog.length){this._dialog=$('<div id
="messageQuoteList" />').hide().appendTo(document.body)}}this._dialog.html(c);var a=$('<div class="formSubmit" />').appendTo(this._dialog);if(this._supportPaste){this._buttons.insert=$('<button
class="buttonPrimary">'+WCF.Language.get("wcf.message.quote.insertAllQuotes")+"</button>").click($.proxy(this._insertSelected,this)).appendTo(a)}this._buttons.remove=$("<button>"+WCF.Language.get("wcf.message.quote.removeAllQuotes")+"</button>").click($.proxy(this._removeSelected,this)).appendTo(a);this._dialog.wcfDialog({title:WCF.Language.get("wcf.message.quote.manageQuotes")});this._dialog.wcfDialog("render");this._hasTemplate=true;var d=this._dialog.find(".jsInsertQuote");if(this._supportPaste){d.click($.proxy(this._insertQuote,this))}else{d.hide()}this._dialog.find("input.jsCheckbox").change($.proxy(this._changeButtons,this));if(this._removeOnSubmit.length){var b=this;this._dialog.find("input.jsRemoveQuote").each(function(f,e){var g=$(e).change($.proxy(this._change,this));if(WCF.inArray(g.parent("li").attr("data-quote-id"),b._removeOnSubmit)){g.attr("checked","checked")}})}},_changeButtons:function(){if(this._dialog.find("input.jsCheckbox:checked").length){if(this._supportPaste){this._buttons.insert.html(WCF.Language.get("wcf.message.quote.insertSelectedQuotes"))}this._buttons.remove.html(WCF.Language.get("wcf.message.quote.removeSelectedQuotes"))}else{if(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(c){var d=$(c.currentTarget);var b=d.parent("li").attr("data-quote-id");if(d.prop("checked")){this._removeOnSubmit.push(b)}else{for(var a in this._removeOnSubmit){if(this._removeOnSubmit[a]==b){delete this._removeOnSubmit[a];break}}}},_insertSelected:function(){if(this._editorElementAlternative===null){var a=$(".jsQuickReply:eq(0)").data("__api");if(a&&!a.getContainer().is(":visible")){this._insertQuotes=false;a.click(null)}}if(!this._dialog.find("input.jsCheckbox:checked").length){this._dialog.find("input.jsCheckbox").prop("checked","checked")}this._dialog.find("input.jsCheckbox:checked").each($.proxy(function(c,b){this._insertQuote(null,b)},this));this._dialog.wcfDialog("close")},_insertQuote:function(a,h){var f=(a===null)?$(h).parents("li"):$(a.currentTarget).parents("li");var i=$.trim(f.children("div.jsFullQuote").text());var e=f.parents("article.message");if($.browser.redactor){if(this._editorElementAlternative===null){this._editorElement.redactor("wbbcode.insertQuoteBBCode",e.attr("data-username"),e.data("link"),i,i)}else{this._editorElementAlternative.redactor("wbbcode.insertQuoteBBCode",e.attr("data-username"),e.data("link"),i,i)}}else{i="[quote='"+e.attr("data
-username
")+"','"+e.data("link
")+"']"+i+"[/quote]";var d=(this._editorElementAlternative===null)?this._editorElement:this._editorElementAlternative;var g=d.val();i+="\n\n";if(g.length==0){d.val(i)}else{var b=d.getCaret();d.val(g.substr(0,b)+i+g.substr(b))}}this._removeOnSubmit.push(f.attr("data-quote-id"));if(a!==null){this._dialog.wcfDialog("close")}if(a!==null&&this._editorElementAlternative===null){var c=$(".jsQuickReply:eq(0)").data("__api");if(c&&!c.getContainer().is(":visible")){this._insertQuotes=false;c.click(null)}}},_removeSelected:function(){if(!this._dialog.find("input.jsCheckbox:checked").length){this._dialog.find("input.jsCheckbox").prop("checked","checked")}var b=[];this._dialog.find("input.jsCheckbox:checked").each(function(e,d){b.push($(d).parents("li").attr("data-quote-id"))});if(b.length){var c=[];for(var a in this._handlers){c.push(a)}this._proxy.setOption("data",{actionName:"remove",getFullQuoteObjectIDs:this._handlers.length>0,objectTypes:c,quoteIDs:b});this._proxy.sendRequest();this._dialog.wcfDialog("close")}},_submit:function(){if(this._supportPaste&&this._removeOnSubmit.length>0){var a=this._form.find(".formSubmit");for(var b in this._removeOnSubmit){$('<input type
="hidden" name
="__removeQuoteIDs[]" value
="'+this._removeOnSubmit[b]+'" />').appendTo(a)}}},getQuotesMarkedForRemoval:function(){return this._removeOnSubmit},markQuotesForRemoval:function(){if(this._removeOnSubmit.length){this._proxy.setOption("data",{actionName:"markForRemoval",quoteIDs:this._removeOnSubmit});this._proxy.suppressErrors();this._proxy.sendRequest()}},removeMarkedQuotes:function(){if(this._removeOnSubmit.length){this._proxy.setOption("data",{actionName:"removeMarkedQuotes",getFullQuoteObjectIDs:this._handlers.length>0});this._proxy.sendRequest()}},countQuotes:function(){var b=[];for(var a in this._handlers){b.push(a)}this._proxy.setOption("data",{actionName:"count",getFullQuoteObjectIDs:(b.length>0),objectTypes:b});this._proxy.sendRequest()},_success:function(c,d,b){if(c===null){return}if(c.count!==undefined){var a=(c.fullQuoteObjectIDs!==undefined)?c.fullQuoteObjectIDs:{};this.updateCount(c.count,a)}if(c.template!==undefined){if($.trim(c.template)==""){this.updateCount(0,{})}else{this.renderDialog(c.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 a=$(e.currentTarget);var b=a.prop("href");var d=(a.data("linkTitle")?a.data("linkTitle"):b);var c=b.hashCode();if(this._cache[c]===undefined){var g=false;if(this._dialog===null){this._dialog=$("<div />").hide().appendTo(document.body);g=true}else{this._dialog.empty()}var f=$('<fieldset
><legend
><label
for="__sharePermalink">'+WCF.Language.get("wcf.message.share.permalink")+"</label></legend></fieldset>").appendTo(this._dialog);$('<input type
="text" id
="__sharePermalink" class="long" readonly
="readonly" />').attr("value",b).appendTo(f);var f=$('<fieldset><legend><label for="__sharePermalinkBBCode">'+WCF.Language.get("wcf.message.share.permalink.bbcode")+"</label></legend></fieldset
>").appendTo(this._dialog);$('<input type="text
" id="__sharePermalinkBBCode
" class="long" readonly="readonly
" />').attr("value
","[url
='"+b+"']"+d+"[/url
]").appendTo(f);var f=$('<fieldset><legend><label for="__sharePermalinkHTML
">'+WCF.Language.get("wcf
.message
.share
.permalink
.html
")+"</label></legend></fieldset>").appendTo(this._dialog);$('<input type="text" id="__sharePermalinkHTML" class="long" readonly="readonly" />').attr("value",'<a href
="'+b+'">'+WCF.String.escapeHTML(d)+"</a>").appendTo(f);this._cache[c]=this._dialog.html();if(g){this._dialog.wcfDialog({title:WCF.Language.get("wcf.message.share")})}else{this._dialog.wcfDialog("open")}}else{this._dialog.html(this._cache[c]).wcfDialog("open")}this._enableSelection()},_enableSelection:function(){var a=this._dialog.find("input").click(function(){$(this).select()});if(navigator.userAgent.match(/iP(ad|hone|od)/)){a.keydown(function(){return false}).removeAttr("readonly").click(function(){this.setSelectionRange(0,9999)})}}});WCF.Message.Share.Page=Class.extend({_dialog:null,_fetchObjectCount:false,_pageDescription:"",_pageURL:"",_privacySettings:{},_provider:{},_proxy:null,init:function(a,b){this._dialog=null;this._fetchObjectCount=(a===true)?true:false;this._pageDescription=encodeURIComponent($('meta
[property
="og:title"]').prop("content"));this._pageURL=encodeURIComponent($('meta
[property
="og:url"]').prop("content"));this._privacySettings=$.extend({facebook:false,google:false,twitter:false,reddit:false},b||{});this._proxy=null;this._initProvider()},_initProvider:function(){var c=$(".messageShareButtons");var a=this;this._provider={facebook:{fetch:function(){a._fetchFacebook()},link:c.find(".jsShareFacebook"),share:function(){a._share("facebook","https://www.facebook.com/sharer.php?u={pageURL}&t={text}",true)}},google:{fetch:undefined,link:c.find(".jsShareGoogle"),share:function(){a._share("google","https://plus.google.com/share?url={pageURL}",true)}},reddit:{fetch:function(){a._fetchReddit()},link:c.find(".jsShareReddit"),share:function(){a._share("reddit","https://ssl.reddit.com/submit?url={pageURL}",true)}},twitter:{fetch:function(){a._fetchTwitter()},link:c.find(".jsShareTwitter"),share:function(){a._share("twitter","https://twitter.com/share?url={pageURL}&text={text}",false)}}};$.each(this._provider,function(e,d){if(a._privacySettings[e]){if(a._fetchObjectCount&&d.fetch){d.fetch()}}else{d.link.addClass("disabled")}d.link.data("provider",e).click($.proxy(a._click,a))});if(WCF.User.userID){var b=$('<li
class="jsShowPrivacySettings"><a
><span
class="icon icon32 fa-gear jsTooltip" title
="'+WCF.Language.get("wcf
.message
.share
.privacy
")+'" /></a></li>');b.appendTo(c.children("ul")).children("a").click($.proxy(this._openPrivacySettings,this))}},_click:function(b){var a=$(b.currentTarget);var c=a.data("provider");if(a.hasClass("disabled")){if(WCF.User.userID){this._openPrivacySettings()}else{a.removeClass("disabled")}}else{this._provider[c].share()}},_openPrivacySettings:function(){if(this._proxy===null){this._proxy=new WCF.Action.Proxy({success:$.proxy(this._success,this)})}this._proxy.setOption("data",{actionName:"getSocialNetworkPrivacySettings",className:"wcf\\data\\user\\UserAction"});this._proxy.sendRequest()},_success:function(b,c,a){switch(b.actionName){case"getSocialNetworkPrivacySettings":this._renderDialog(b);break;case"saveSocialNetworkPrivacySettings":this._updatePrivacySettings(b);break}},_renderDialog:function(a){if(this._dialog===null){this._dialog=$("<div />").hide().appendTo(document.body);this._dialog.html(a.returnValues.template);this._dialog.wcfDialog({title:WCF.Language.get("wcf
.message
.share
.privacy
")})}else{this._dialog.html(a.returnValues.template);this._dialog.wcfDialog("open
")}this._dialog.find("input
[type
=submit
]").click($.proxy(this._save,this))},_save:function(){this._proxy.setOption("data
",{actionName:"saveSocialNetworkPrivacySettings
",className:"wcf
\\data
\\user
\\UserAction
",parameters:{facebook:(this._dialog.find("input
[name
=facebook
]").is(":checked
")),google:(this._dialog.find("input
[name
=google
]").is(":checked
")),reddit:(this._dialog.find("input
[name
=reddit
]").is(":checked
")),twitter:(this._dialog.find("input
[name
=twitter
]").is(":checked
"))}});this._proxy.sendRequest();this._dialog.wcfDialog("close
")},_updatePrivacySettings:function(b){this._privacySettings=$.extend(this._privacySettings,b.returnValues.settings);var a=this;$.each(b.returnValues.settings,function(d,c){a._privacySettings[d]=(c)?true:false;if(c){a._provider[d].link.removeClass("disabled
");if(a._fetchObjectCount&&a._provider[d].fetch){a._provider[d].fetch()}}else{a._provider[d].link.addClass("disabled
")}});new WCF.System.Notification().show()},_share:function(c,a,b){window.open(a.replace(/{pageURL}/,this._pageURL).replace(/{text}/,this._pageDescription+(b?" "+this._pageURL:"")),c,"height
=600,width
=600")},_fetchCount:function(b,d,c){var a={autoSend:true,dataType:"jsonp
",showLoadingOverlay:false,success:d,suppressErrors:true,type:"GET
",url:b.replace(/{pageURL}/,this._pageURL)};if(c){a.jsonp=c}new WCF.Action.Proxy(a)},_fetchFacebook:function(){this._fetchCount("https
://graph.facebook.com/?id={pageURL}",$.proxy(function(a){if(a.shares){this._provider.facebook.link.children("span.badge").show().text(a.shares)}},this))},_fetchTwitter:function(){if(window.location.protocol.match(/^https/)){return}this._fetchCount("http://urls.api.twitter.com/1/urls/count.json?url={pageURL}",$.proxy(function(a){if(a.count){this._provider.twitter.link.children("span.badge").show().text(a.count)}},this))},_fetchReddit:function(){if(window.location.protocol.match(/^https/)){return}this._fetchCount("http://www.reddit.com/api/info.json?url={pageURL}",$.proxy(function(a){if(a.data.children.length){this._provider.reddit.link.children("span.badge").show().text(a.data.children[0].data.score)}},this),"jsonp")}});WCF.Message.UserMention=Class.extend({_caretPosition:null,_className:"wcf\\data\\user\\UserAction",_dropdown:null,_dropdownMenu:null,_itemIndex:-1,_lineHeight:null,_mentionStart:"",_redactor:null,_timer:null,init:function(a){if($.browser.mobile&&$.browser.mozilla){return}this._textarea=$("#"+a);this._redactor=this._textarea.redactor("core.getObject");this._dropdown=this._textarea.redactor("core.getEditor");this._dropdownMenu=$('<ul class="dropdownMenu userSuggestionList" />').appendTo(this._textarea.parent());WCF.Dropdown.initDropdownFragment(this._dropdown,this._dropdownMenu);this._proxy=new WCF.Action.Proxy({autoAbortPrevious:true,success:$.proxy(this._success,this)});WCF.System.Event.addListener("com.woltlab.wcf.redactor","keydown_"+a,$.proxy(this._keydown,this));WCF.System.Event.addListener("com.woltlab.wcf.redactor","keyup_"+a,$.proxy(this._keyup,this))},_clearList:function(){this._hideList();this._dropdownMenu.empty()},_click:function(a){if($.browser.mozilla&&this._caretPosition.startContainer.nodeName=="P"){var b=this._caretPosition.startContainer.childNodes[this._caretPosition.startOffset-1];this._caretPosition=document.createRange();this._caretPosition.selectNodeContents(b);this._caretPosition.collapse()}this._redactor.wutil.replaceRangesWith(this._caretPosition);this._setUsername($(a.currentTarget).data("username"))},_createListItem:function(c){var b=$("<li />").data("username",c.label).click($.proxy(this._click,this)).appendTo(this._dropdownMenu);var a=$("<div />").addClass("box16").appendTo(b);a.append($(c.icon).addClass("framed"));a.append($("<div />").append($("<span />").text(c.label)))},_getDropdownMenuPosition:function(){var e=getSelection().getRangeAt(0).cloneRange();var a=document.createRange();a.setStart(e.startContainer,e.startOffset-(this._mentionStart.length+1));a.setEnd(e.startContainer,e.startOffset);this._redactor.wutil.replaceRangesWith(a);var f=getSelection().getRangeAt(0);var b=f.getBoundingClientRect();var d=$(window);var c={top:Math.round(b.bottom)+d.scrollTop(),left:Math.round(b.left)+d.scrollLeft()};if(this._lineHeight===null){this._lineHeight=Math.round(b.bottom-b.top)}this._redactor.wutil.replaceRangesWith(e);this._caretPosition=e;return c},_setUsername:function(e){if(this._timer!==null){this._timer.stop();this._timer=null}this._proxy.abortPrevious();var c=getSelection().getRangeAt(0).cloneRange();this._redactor.buffer.set();var a=document.createRange();a.setStart(c.startContainer,c.startOffset-(this._mentionStart.length+1));a.setEnd(c.startContainer,c.startOffset);this._redactor.wutil.replaceRangesWith(a);var d=getSelection().getRangeAt(0);d.deleteContents();d.collapse(true);if(e.indexOf("'")!==-1){e=e.replace(/'/g,"''")}e="'"+e+"'";var b=document.createTextNode("@"+e);d.insertNode(b);var a=document.createRange();a.setStart(b,e.length+1);a.setEnd(b,e.length+1);this._redactor.wutil.replaceRangesWith(a);this._hideList()},_getParameters:function(){return{data:{includeUserGroups:false,searchString:this._mentionStart}}},_getTextLineInFrontOfCaret:function(){if(this._redactor.selection.getHtml().length){return""}var f=getSelection().getRangeAt(0);if($.browser.mozilla&&f.startContainer.nodeType==3){f.startContainer.parentNode.normalize()}var c=f.startContainer.textContent.substr(0,f.startOffset);var a=c;c="";var b=false;for(var e=0;e<a.length;e++){var d=a.charCodeAt(e).toString(16);if(d!="200b"&&(!/\s/.test(a[e])||((d=="a0"||d=="20")&&!b))){if(d=="a0"||d=="20"){b=true}if(a[e]==="@"&&e&&/\s/.test(a[e-1])){b=false;c=""}c+=a[e]}else{b=false;c=""}}return c},_hideList:function(){this._dropdown.removeClass("dropdownOpen");this._dropdownMenu.removeClass("dropdownOpen");this._itemIndex=-1},_keydown:function(a){if(this._redactor.wutil.inPlainMode()){return}if(this._dropdownMenu.is(":visible")){switch(a.event.which){case $.ui.keyCode.ENTER:a.event.preventDefault();a.cancel=true;this._dropdownMenu.children("li").eq(this._itemIndex).trigger("click");break;case $.ui.keyCode.UP:a.cancel=true;a.event.preventDefault();this._selectItem(this._itemIndex-1);break;case $.ui.keyCode.DOWN:a.cancel=true;a.event.preventDefault();this._selectItem(this._itemIndex+1);break}}},_keyup:function(c){if(this._redactor.wutil.inPlainMode()){return true}if(this._timer!==null){this._timer.stop();this._timer=null}this._proxy.abortPrevious();if(c.event.which===$.ui.keyCode.ENTER){return}if(this._dropdownMenu.is(":visible")&&c.event.which in {13:1,38:1,40:1}){return}var b=this._getTextLineInFrontOfCaret();if(b){var a=b.match(/@([^,]{3,})$/);if(a){if(!a.index||b[a.index-1].match(/\s/)){this._mentionStart=a[1];if(this._timer!==null){this._timer.stop()}this._timer=new WCF.PeriodicalExecuter($.proxy(function(){this._proxy.setOption("data",{actionName:"getSearchResultList",className:this._className,interfaceName:"wcf\\data\\ISearchAction",parameters:this._getParameters()});this._proxy.sendRequest();this._timer.stop();this._timer=null},this),500)}}else{this._hideList()}}else{this._hideList()}},_selectItem:function(a){var b=this._dropdownMenu.children("li");if(a<0){a=b.length-1}else{if(a+1>b.length){a=0}}b.removeClass("dropdownNavigationItem");b.eq(a).addClass("dropdownNavigationItem");this._itemIndex=a},_showList:function(){this._dropdown.addClass("dropdownOpen");this._dropdownMenu.addClass("dropdownOpen")},_success:function(c,e,b){this._clearList(false);if($.getLength(c.returnValues)){for(var d in c.returnValues){var a=c.returnValues[d];this._createListItem(a)}this._updateSuggestionListPosition();this._showList()}},_updateSuggestionListPosition:function(){try{var b=this._getDropdownMenuPosition();b.top+=5;this._dropdownMenu.css(b);this._selectItem(0);if(b.top+this._dropdownMenu.outerHeight()+10>$(window).height()+$(document).scrollTop()){this._dropdownMenu.addClass("dropdownArrowBottom");this._dropdownMenu.css({top:b.top-this._dropdownMenu.outerHeight()-2*this._lineHeight+5})}else{this._dropdownMenu.removeClass("dropdownArrowBottom")}}catch(a){}}});$.widget("wcf.messageTabMenu",{_tabs:[],_tabsByName:{},options:{collapsible:true},_create:function(){var c=this.element.find("> nav > ul > li:not(.jsFlexibleMenuDropdown)");var b=this.element.find("> div, > fieldset");if(c.length!=b.length){console.debug("[wcf.messageTabMenu] Amount of tabs does not equal amount of tab containers, aborting.");return}var a=this.element.data("preselect");this._tabs=[];this._tabsByName={};for(var g=0;g<c.length;g++){var f=$(c[g]);var d=$(b[g]);var h=f.data("name");if(h===undefined){var i=f.children("a").prop("href");if(i!==undefined){if(i.match(/#([a-zA-Z_-]+)$/)){h=RegExp.$1}}if(h===undefined){h=f.wcfIdentify();console.debug("[wcf.messageTabMenu] Missing name attribute, assuming generic ID '"+h+"'")}}this._tabs.push({container:d,name:h,tab:f});this._tabsByName[h]=g;var j=f.children("a").data("index",g).click($.proxy(this._showTab,this));if(a==h){j.trigger("click")}}if(a===true&&this._tabs.length){this._tabs[0].tab.children("a").trigger("click")}var e=this.element.data("collapsible");if(e!==undefined){this.options.collapsible=e}},destroy:function(){$.Widget.prototype.destroy.apply(this,arguments);this.element.remove()},_showTab:function(f,c,d){var b=(f===null)?c:$(f.currentTarget).data("index");d=(!this.options.collapsible||d===true)?true:false;var a=null;for(var g=0;g<this._tabs.length;g++){var e=this._tabs[g];if(g==b){if(!e.tab.hasClass("active")){e.tab.addClass("active");e.container.addClass("active");a=e;continue}else{if(d===true){continue}}}e.tab.removeClass("active");e.container.removeClass("active")}if(f!==null){f.preventDefault();f.stopPropagation()}if(a!==null){this._trigger("show",{},{activeTab:a})}},showTab:function(a,b){if(!$.isNumeric(a)){if(this._tabsByName[a]!==undefined){a=this._tabsByName[a]}}if(this._tabs[a]===undefined){console.debug("[wcf.messageTabMenu] Cannot locate tab identified by '"+a+"'");return}this._showTab(null,a,b)},getTab:function(a){if(this._tabsByName[a]!==undefined){return this._tabs[this._tabsByName[a]].tab}return null},getContainer:function(a){if(this._tabsByName[a]!==undefined){return this._tabs[this._tabsByName[a]].container}return null}}); })(this);
112 (function (window
, undefined) {"use strict";WCF
.Poll
={};WCF
.Poll
.Management
=Class
.extend({_container
:null,_count
:0,_inputSize
:0,_maxOptions
:0,init:function(a
,c
,d
){this._count
=0;this._maxOptions
=d
||-1;this._container
=$("#"+a
).children("ol:eq(0)");if(!this._container
.length
){console
.debug("[WCF.Poll.Management] Invalid container id given, aborting.");return}c
=c
||[];this._createOptionList(c
);$(window
).resize($.proxy(this._resize
,this));this._container
.parents("form").submit($.proxy(this._submit
,this));new WCF
.Sortable
.List(a
,"",undefined,undefined,true);this._resize();var b
=this;this._container
.closest(".messageTabMenu").on("messagetabmenushow",function(e
,f
){if(f
.activeTab
.name
=="poll"){b
._resize()}})},_createOptionList:function(b
){for(var d
=0,c
=b
.length
;d
<c
;d
++){var a
=b
[d
];this._createOption(a
.optionValue
,a
.optionID
)}this._createOption()},_createOption:function(f
,d
,c
){f
=f
||"";d
=parseInt(d
)||0;c
=c
||null;var b
=$('<li class="sortableNode" />').data("optionID",d
);if(c
===null){b
.appendTo(this._container
)}else{b
.insertAfter(c
)}var a
=$('<span class="sortableButtonContainer" />').appendTo(b
);$('<span class="icon icon16 icon-plus jsTooltip jsAddOption pointer" title="'+WCF
.Language
.get("wcf.poll.button.addOption")+'" />').click($.proxy(this._addOption
,this)).appendTo(a
);$('<span class="icon icon16 icon-remove jsTooltip jsDeleteOption pointer" title="'+WCF
.Language
.get("wcf.poll.button.removeOption")+'" />').click($.proxy(this._removeOption
,this)).appendTo(a
);var e
=$('<input type="text" value="'+f
+'" maxlength="255" />').css({width
:this._inputSize
+"px"}).keydown($.proxy(this._keyDown
,this)).appendTo(b
);if(c
!==null){e
.focus()}WCF
.DOMNodeInsertedHandler
.execute();this._count
++;if(this._count
===this._maxOptions
){this._container
.find("span.jsAddOption").removeClass("pointer").addClass("disabled")}},_keyDown:function(a
){if(a
.which
!==13){return true}$(a
.currentTarget
).prev(".sortableButtonContainer").children(".jsAddOption").trigger("click");a
.preventDefault();a
.stopPropagation();return false},_addOption:function(b
){if(this._count
===this._maxOptions
){return false}var a
=$(b
.currentTarget
).parents("li");this._createOption(undefined,undefined,a
)},_removeOption:function(a
){$(a
.currentTarget
).parents("li").remove();this._count
--;this._container
.find("span.jsAddOption").addClass("pointer").removeClass("disabled");if(this._container
.children("li").length
==0){this._createOption()}},_resize:function(){var d
=this._container
.innerWidth();var c
=this._container
.children("li:eq(0)");var b
=c
.children(".sortableButtonContainer").outerWidth();var a
=d
-b
;if(a
!=this._inputSize
){this._inputSize
=a
;this._container
.find("li > input").css({width
:this._inputSize
+"px"})}},_submit:function(){var a
=[];this._container
.children("li").each(function(f
,i
){var h
=$(i
);var g
=$.trim(h
.children("input").val());if(g
!=""){a
.push({optionID
:h
.data("optionID"),optionValue
:g
})}});if(a
.length
){var b
=this._container
.parents("form").find(".formSubmit");for(var e
=0,d
=a
.length
;e
<d
;e
++){var c
=a
[e
];$('<input type="hidden" name="pollOptions['+e
+']" />').val(c
.optionID
+"_"+c
.optionValue
).appendTo(b
)}}}});WCF
.Poll
.Manager
=Class
.extend({_cache
:{},_canViewParticipants
:{},_canViewResult
:{},_canVote
:{},_inputElements
:{},_participants
:{},_polls
:{},_proxy
:null,init:function(a
){var c
=$(a
);if(!c
.length
){console
.debug("[WCF.Poll.Manager] Given selector '"+a
+"' does not match, aborting.");return}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
+SID_ARG_2ND
});var b
=this;c
.each(function(e
,g
){var f
=$(g
);var d
=f
.data("pollID");if(b
._polls
[d
]===undefined){b
._cache
[d
]={result
:"",vote
:""};b
._polls
[d
]=f
;b
._canViewParticipants
[d
]=(f
.data("canViewParticipants"))?true:false;b
._canViewResult
[d
]=(f
.data("canViewResult"))?true:false;b
._canVote
[d
]=(f
.data("canVote"))?true:false;b
._bindListeners(d
);if(f
.data("inVote")){b
._prepareVote(d
)}b
._toggleButtons(d
)}})},_bindListeners:function(a
){this._polls
[a
].find(".jsButtonPollShowParticipants").data("pollID",a
).click($.proxy(this._showParticipants
,this));this._polls
[a
].find(".jsButtonPollShowResult").data("pollID",a
).click($.proxy(this._showResult
,this));this._polls
[a
].find(".jsButtonPollShowVote").data("pollID",a
).click($.proxy(this._showVote
,this));this._polls
[a
].find(".jsButtonPollVote").data("pollID",a
).click($.proxy(this._vote
,this))},_showResult:function(b
,c
){var a
=(b
===null)?c
:$(b
.currentTarget
).data("pollID");if(!this._canViewResult
[a
]){return}if(!this._polls
[a
].data("inVote")){return}if(!this._cache
[a
].result
){this._proxy
.setOption("data",{actionName
:"getResult",pollID
:a
});this._proxy
.sendRequest()}else{this._polls
[a
].find(".pollInnerContainer").html(this._cache
[a
].result
);this._polls
[a
].data("inVote",false);this._toggleButtons(a
)}},_showParticipants:function(b
){var a
=$(b
.currentTarget
).data("pollID");if(!this._participants
[a
]){this._participants
[a
]=new WCF
.User
.List("wcf\\data\\poll\\PollAction",this._polls
[a
].data("question"),{pollID
:a
})}this._participants
[a
].open()},_showVote:function(b
,c
){var a
=(b
===null)?c
:$(b
.currentTarget
).data("pollID");if(!this._canVote
[a
]){return}if(this._polls
[a
].data("inVote")){return}if(!this._cache
[a
].vote
){this._proxy
.setOption("data",{actionName
:"getVote",pollID
:a
});this._proxy
.sendRequest()}else{this._polls
[a
].find(".pollInnerContainer").html(this._cache
[a
].vote
);this._polls
[a
].data("inVote",true);this._prepareVote(a
);this._toggleButtons(a
)}},_success:function(c
,d
,b
){if(!c
||!c
.actionName
){return}var a
=c
.pollID
;if(c
.resultTemplate
){this._cache
[a
].result
=c
.resultTemplate
}if(c
.voteTemplate
){this._cache
[a
].vote
=c
.voteTemplate
}switch(c
.actionName
){case"getResult":this._showResult(null,a
);break;case"getVote":this._showVote(null,a
);break;case"vote":this._canViewResult
[a
]=true;this._canVote
[a
]=(c
.canVote
)?true:false;this._showResult(null,a
);break}},_prepareVote:function(c
){this._polls
[c
].find(".jsButtonPollVote").disable();var d
=this._polls
[c
].find(".pollInnerContainer > .jsPollVote");var a
=this;this._inputElements
[c
]=d
.find("input").change(function(){a
._handleVoteButton(c
)});this._handleVoteButton(c
);var b
=d
.data("maxVotes");if(this._inputElements
[c
].filter("[type=checkbox]").length
){this._inputElements
[c
].change(function(){a
._enforceMaxVotes(c
,b
)});this._enforceMaxVotes(c
,b
)}},_enforceMaxVotes:function(c
,b
){var a
=this._inputElements
[c
];if(a
.filter(":checked").length
==b
){a
.filter(":not(:checked)").disable()}else{a
.enable()}},_handleVoteButton:function(b
){var a
=this._inputElements
[b
];var c
=this._polls
[b
].find(".jsButtonPollVote");if(a
.filter(":checked").length
){c
.enable()}else{c
.disable()}},_toggleButtons:function(c
){var a
=this._polls
[c
].children(".formSubmit");a
.find(".jsButtonPollShowParticipants, .jsButtonPollShowResult, .jsButtonPollShowVote, .jsButtonPollVote").hide();var b
=true;if(this._polls
[c
].data("inVote")){b
=false;a
.find(".jsButtonPollVote").show();if(this._canViewResult
[c
]){a
.find(".jsButtonPollShowResult").show()}}else{if(this._canVote
[c
]){b
=false;a
.find(".jsButtonPollShowVote").show()}if(this._canViewParticipants
[c
]){b
=false;a
.find(".jsButtonPollShowParticipants").show()}}if(b
){a
.hide()}},_vote:function(c
){var a
=$(c
.currentTarget
).data("pollID");if(!this._canVote
[a
]){return}var b
=[];this._inputElements
[a
].each(function(e
,d
){var f
=$(d
);if(f
.is(":checked")){b
.push(f
.data("optionID"))}});if(b
.length
){this._proxy
.setOption("data",{actionName
:"vote",optionIDs
:b
,pollID
:a
});this._proxy
.sendRequest()}}}); })(this);
114 // WCF.Search.Message.js
115 (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
:false,init:function(c
,e
,b
){if(!$.isFunction(e
)){console
.debug("[WCF.Search.Message.KeywordList] The given callback is invalid, aborting.");return}this._callback
=e
;this._excludedSearchValues
=[];if(b
){this._excludedSearchValues
=b
}this._searchInput
=$(c
).keyup($.proxy(this._keyUp
,this)).keydown($.proxy(function(f
){if(f
.which
===13){if(this._itemCount
&&this._itemIndex
!==-1){f
.preventDefault()}}},this));var a
=WCF
.Dropdown
.getDropdownMenu(this._searchInput
.parents(".dropdown").wcfIdentify());var d
=a
.find("li.dropdownDivider").last();this._divider
=$('<li class="dropdownDivider" />').hide().insertBefore(d
);this._list
=$('<li class="dropdownList"><ul /></li>').hide().insertBefore(d
).children("ul");a
.find("input, label").on("click",function(f
){f
.stopPropagation()});this._proxy
=new WCF
.Action
.Proxy({showLoadingOverlay
:false,success
:$.proxy(this._success
,this)})},_createListItem:function(a
){this._divider
.show();this._list
.parent().show();this._super(a
)},_clearList:function(a
){if(a
){this._searchInput
.val("")}this._divider
.hide();this._list
.empty().parent().hide();WCF
.CloseOverlayHandler
.removeCallback("WCF.Search.Base");this._itemCount
=0;this._itemIndex
=-1}});WCF
.Search
.Message
.SearchArea
=Class
.extend({_searchArea
:null,init:function(d
){this._searchArea
=d
;var a
=new WCF
.Search
.Message
.KeywordList(this._searchArea
.find("input[type=search]"),$.proxy(this._callback
,this));a
.setDelay(500);var c
=this;var f
=this._searchArea
.find("input[type=search]");this._searchArea
.click(function(g
){if(g
.target
==c
._searchArea
[0]){f
.focus().trigger("click");return false}});if(this._searchArea
.hasClass("dropdown")){var e
=this._searchArea
.wcfIdentify();var b
=this._searchArea
.find("form");b
.submit(function(){var g
=WCF
.Dropdown
.getDropdownMenu(e
);g
.find("input[type=hidden]").appendTo(b
);g
.find("input[type=checkbox]:checked").each(function(i
,h
){var j
=$(h
);$('<input type="hidden" name="'+j
.attr("name")+'" value="'+j
.attr("value")+'" />').appendTo(b
)})})}},_callback:function(a
){this._searchArea
.find("input[type=search]").val(a
.label
);this._searchArea
.find("input[type=search]").focus();return false}}); })(this);
118 (function (window
, undefined) {"use strict";WCF
.Tagging
={};WCF
.Tagging
.TagList
=WCF
.EditableItemList
.extend({_className
:"wcf\\data\\tag\\TagAction",_maxLength
:0,init:function(c
,a
,b
){this._allowCustomInput
=true;this._maxLength
=b
;this._super(c
,a
);this._data
=[];this._search
=new WCF
.Tagging
.TagSearch(this._searchInput
,$.proxy(this.addItem
,this));this._itemList
.addClass("tagList");$(c
).data("__api",this)},_keyDown:function(b
){if(this._super(b
)){if(b
===null){return true}var a
=b
.which
;if(a
===8||a
===27||a
===13||a
===46){return true}else{if(a
>36&&a
<41){return true}}if(this._searchInput
.val().length
>=this._maxLength
){return false}return true}return false},_submit:function(){this._super();for(var b
=0,a
=this._data
.length
;b
<a
;b
++){if(this._data
[b
]){$('<input type="hidden" name="tags[]" />').val(this._data
[b
]).appendTo(this._form
)}}},addItem:function(b
){if(!b
.objectID
&&b
.label
.length
>this._maxLength
){b
.label
=b
.label
.substr(0,this._maxLength
)}if(WCF
.inArray(b
.label
,this._data
)){return true}var a
=$('<li class="badge tag">'+WCF
.String
.escapeHTML(b
.label
)+"</li>").data("objectID",b
.objectID
).data("label",b
.label
).appendTo(this._itemList
);a
.click($.proxy(this._click
,this));if(this._search
){this._search
.addExcludedSearchValue(b
.label
)}this._addItem(b
.objectID
,b
.label
);return true},_addItem:function(b
,a
){this._data
.push(a
)},clearList:function(){this._super();this._data
=[]},getTags:function(){return this._data
},_removeItem:function(d
,a
){for(var c
=0,b
=this._data
.length
;c
<b
;c
++){if(this._data
[c
]===a
){this._data
.splice(c
,1);return}}},load:function(a
){if(a
&&a
.length
){for(var c
=0,b
=a
.length
;c
<b
;c
++){this.addItem({objectID
:0,label
:WCF
.String
.unescapeHTML(a
[c
])})}}}});WCF
.Tagging
.TagSearch
=WCF
.Search
.Base
.extend({_className
:"wcf\\data\\tag\\TagAction",init:function(b
,d
,a
,c
){this._super(b
,d
,a
,c
,false)}}); })(this);
121 (function (window
, undefined) {"use strict";WCF
.User
.Login
=Class
.extend({_loginSubmitButton
:null,_password
:null,_passwordContainer
:null,_useCookies
:null,_useCookiesContainer
:null,init:function(b
){this._loginSubmitButton
=$("#loginSubmitButton");this._password
=$("#password"),this._passwordContainer
=this._password
.parents("dl");this._useCookies
=$("#useCookies");this._useCookiesContainer
=this._useCookies
.parents("dl");var a
=$("#loginForm");a
.find("input[name=action]").change($.proxy(this._change
,this));if(b
){WCF
.User
.QuickLogin
.init()}},_change:function(a
){if($(a
.currentTarget
).val()==="register"){this._setState(false,WCF
.Language
.get("wcf.user.button.register"))}else{this._setState(true,WCF
.Language
.get("wcf.user.button.login"))}},_setState:function(b
,a
){if(b
){this._password
.enable();this._passwordContainer
.removeClass("disabled");this._useCookies
.enable();this._useCookiesContainer
.removeClass("disabled")}else{this._password
.disable();this._passwordContainer
.addClass("disabled");this._useCookies
.disable();this._useCookiesContainer
.addClass("disabled")}this._loginSubmitButton
.val(a
)}});WCF
.User
.Panel
={};WCF
.User
.Panel
.Abstract
=Class
.extend({_badge
:null,_dropdown
:null,_identifier
:"",_loadData
:true,_markAllAsReadLink
:null,_options
:{},_proxy
:null,_triggerElement
:null,init:function(d
,b
,a
){this._dropdown
=null;this._identifier
=b
;this._triggerElement
=d
;this._options
=a
;this._proxy
=new WCF
.Action
.Proxy({showLoadingOverlay
:false,success
:$.proxy(this._success
,this)});this._triggerElement
.click($.proxy(this.toggle
,this));if(this._options
.showAllLink
){this._triggerElement
.dblclick($.proxy(this._dblClick
,this))}var c
=this._triggerElement
.find("span.badge");if(c
.length
){this._badge
=c
}},toggle:function(b
){b
.preventDefault();if(this._dropdown
===null){this._dropdown
=this._initDropdown()}if(this._dropdown
.toggle()){if(!this._loadData
){if(this._badge
!==null){var a
=parseInt(this._badge
.text())||0;if(a
&&!this._dropdown
.getItemList().children(".interactiveDropdownItemOutstanding").length
){this._loadData
=true}}}if(this._loadData
){this._loadData
=false;this._load()}}return false},_dblClick:function(a
){a
.preventDefault();window
.location
=this._options
.showAllLink
;return false},_initDropdown:function(){var a
=WCF
.Dropdown
.Interactive
.Handler
.create(this._triggerElement
,this._identifier
,this._options
);$('<li class="loading"><span class="icon icon24 fa-spinner" /> <span>'+WCF
.Language
.get("wcf.global.loading")+"</span></li>").appendTo(a
.getItemList());return a
},_load:function(){},_success:function(d
){if(d
.returnValues
.template
!==undefined){var e
=this._dropdown
.getItemList().empty();$(d
.returnValues
.template
).appendTo(e
);if(!e
.children().length
){$('<li class="noItems">'+this._options
.noItems
+"</li>").appendTo(e
)}if(this._options
.enableMarkAsRead
){var b
=this._dropdown
.getItemList().children(".interactiveDropdownItemOutstanding");if(this._markAllAsReadLink
===null&&b
.length
&&this._options
.markAllAsReadConfirmMessage
){var c
=this._markAllAsReadLink
=$('<li class="interactiveDropdownItemMarkAllAsRead"><a href="#" title="'+WCF
.Language
.get("wcf.user.panel.markAllAsRead")+'" class="jsTooltip"><span class="icon icon16 fa-check" /></a></li>').appendTo(this._dropdown
.getLinkList());c
.click((function(f
){this._dropdown
.close();WCF
.System
.Confirmation
.show(this._options
.markAllAsReadConfirmMessage
,(function(g
){if(g
==="confirm"){this._markAllAsRead()}}).bind(this));return false}).bind(this))}b
.each((function(g
,i
){var f
=$(i
).addClass("interactiveDropdownItemOutstandingIcon");var h
=f
.data("objectID");var j
=$('<div class="interactiveDropdownItemMarkAsRead"><a href="#" title="'+WCF
.Language
.get("wcf.user.panel.markAsRead")+'" class="jsTooltip"><span class="icon icon16 fa-check" /></a></div>').appendTo(f
);j
.click((function(k
){this._markAsRead(k
,h
);return false}).bind(this))}).bind(this))}this._dropdown
.getItemList().children().each(function(h
,i
){var g
=$(i
);var f
=g
.data("link");if(f
){if($.browser
.msie
){g
.click(function(j
){if(j
.target
.tagName
!=="A"){window
.location
=f
;return false}})}else{g
.addClass("interactiveDropdownItemShadow");$('<a href="'+f
+'" class="interactiveDropdownItemShadowLink" />').appendTo(g
)}if(g
.data("linkReplaceAll")){g
.find("> .box32 a:not(.userLink)").prop("href",f
)}}});this._dropdown
.rebuildScrollbar()}if(d
.returnValues
.totalCount
!==undefined){this.updateBadge(d
.returnValues
.totalCount
)}if(this._options
.enableMarkAsRead
){if(d
.returnValues
.markAsRead
){var a
=this._dropdown
.getItemList().children("li[data-object-id="+d
.returnValues
.markAsRead
+"]");if(a
.length
){a
.removeClass("interactiveDropdownItemOutstanding").data("isRead",true);a
.children(".interactiveDropdownItemMarkAsRead").remove()}}else{if(d
.returnValues
.markAllAsRead
){this.resetItems();this.updateBadge(0)}}}},_markAsRead:function(a
,b
){},_markAllAsRead:function(){},updateBadge:function(a
){a
=parseInt(a
)||0;if(a
){if(this._badge
===null){this._badge
=$('<span class="badge badgeInverse" />').appendTo(this._triggerElement
.children("a"))}this._badge
.text(a
)}else{if(this._badge
!==null){this._badge
.remove()}}if(this._options
.enableMarkAsRead
){if(!a
&&this._markAllAsReadLink
!==null){this._markAllAsReadLink
.remove();this._markAllAsReadLink
=null}}},resetItems:function(){this._dropdown
.resetItems()}});WCF
.User
.Panel
.Notification
=WCF
.User
.Panel
.Abstract
.extend({_favico
:null,init:function(b
){b
.enableMarkAsRead
=true;this._super($("#userNotifications"),"userNotifications",b
);try{this._favico
=new Favico({animation
:"none",type
:"circle"});if(this._badge
!==null){var a
=parseInt(this._badge
.text())||0;this._favico
.badge(a
)}}catch(c
){console
.debug("[WCF.User.Panel.Notification] Failed to initialized Favico: "+c
.message
)}WCF
.System
.PushNotification
.addCallback("userNotificationCount",$.proxy(this.updateUserNotificationCount
,this))},_initDropdown:function(){var a
=this._super();$('<li><a href="'+this._options
.settingsLink
+'" title="'+WCF
.Language
.get("wcf.user.panel.settings")+'" class="jsTooltip"><span class="icon icon16 fa-cog" /></a></li>').appendTo(a
.getLinkList());return a
},_load:function(){this._proxy
.setOption("data",{actionName
:"getOutstandingNotifications",className
:"wcf\\data\\user\\notification\\UserNotificationAction"});this._proxy
.sendRequest()},_markAsRead:function(a
,b
){this._proxy
.setOption("data",{actionName
:"markAsConfirmed",className
:"wcf\\data\\user\\notification\\UserNotificationAction",objectIDs
:[b
]});this._proxy
.sendRequest()},_markAllAsRead:function(a
){this._proxy
.setOption("data",{actionName
:"markAllAsConfirmed",className
:"wcf\\data\\user\\notification\\UserNotificationAction"});this._proxy
.sendRequest()},resetItems:function(){this._super();if(this._markAllAsReadLink
){this._markAllAsReadLink
.remove();this._markAllAsReadLink
=null}},updateBadge:function(a
){a
=parseInt(a
)||0;if(this._favico
!==null){this._favico
.badge(a
)}this._super(a
)},updateUserNotificationCount:function(a
){if(this._dropdown
!==null){this._dropdown
.resetItems()}this.updateBadge(a
)}});WCF
.User
.QuickLogin
={_dialog
:null,_loginMessage
:null,init:function(){$(".loginLink").click($.proxy(this._render
,this));$("#loginForm input[name=url]").val(function(a
,b
){return window
.location
.protocol
+"//"+window
.location
.host
+b
})},show:function(a
){if(a
){if(this._loginMessage
===null){this._loginMessage
=$('<p class="info" />').hide().prependTo($("#loginForm > form"))}this._loginMessage
.show().text(a
)}else{if(this._loginMessage
!==null){this._loginMessage
.hide()}}this._render()},_render:function(a
){if(a
!==undefined){a
.preventDefault()}if(this._dialog
===null){this._dialog
=$("#loginForm").wcfDialog({title
:WCF
.Language
.get("wcf.user.login")});this._dialog
.find("#username").focus()}else{this._dialog
.wcfDialog("open")}}};WCF
.User
.Profile
={};WCF
.User
.Profile
.ActivityPointList
={_cache
:{},_dialog
:null,_didInit
:false,_proxy
:null,init:function(){if(this._didInit
){return}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
=true},_init:function(){$(".activityPointsDisplay").removeClass("activityPointsDisplay").click($.proxy(this._click
,this))},_click:function(b
){b
.preventDefault();var a
=$(b
.currentTarget
).data("userID");if(this._cache
[a
]===undefined){this._proxy
.setOption("data",{actionName
:"getDetailedActivityPointList",className
:"wcf\\data\\user\\UserProfileAction",objectIDs
:[a
]});this._proxy
.sendRequest()}else{this._show(a
)}},_show:function(a
){if(this._dialog
===null){this._dialog
=$("<div>"+this._cache
[a
]+"</div>").hide().appendTo(document
.body
);this._dialog
.wcfDialog({title
:WCF
.Language
.get("wcf.user.activityPoint")})}else{this._dialog
.html(this._cache
[a
]);this._dialog
.wcfDialog("open")}},_success:function(b
,c
,a
){this._cache
[b
.returnValues
.userID
]=b
.returnValues
.template
;this._show(b
.returnValues
.userID
)}};WCF
.User
.Profile
.Follow
=Class
.extend({_button
:null,_following
:false,_proxy
:null,_userID
:0,init:function(a
,b
){this._following
=b
;this._userID
=a
;this._proxy
=new WCF
.Action
.Proxy({success
:$.proxy(this._success
,this)});this._createButton();this._showButton()},_createButton:function(){this._button
=$('<li id="followUser"><a href="#" class="button jsTooltip" title="'+WCF
.Language
.get("wcf.user.button."+(this._following
?"un":"")+"follow")+'"><span class="icon icon16 icon-plus"></span> <span class="invisible">'+WCF
.Language
.get("wcf.user.button."+(this._following
?"un":"")+"follow")+"</span></a></li>").prependTo($("#profileButtonContainer"));this._button
.click($.proxy(this._execute
,this))},_execute:function(b
){b
.preventDefault();var a
=(this._following
)?"unfollow":"follow";this._proxy
.setOption("data",{actionName
:a
,className
:"wcf\\data\\user\\follow\\UserFollowAction",parameters
:{data
:{userID
:this._userID
}}});this._proxy
.sendRequest()},_showButton:function(){if(this._following
){this._button
.find(".button").data("tooltip",WCF
.Language
.get("wcf.user.button.unfollow")).addClass("active").children(".icon").removeClass("icon-plus").addClass("icon-minus")}else{this._button
.find(".button").data("tooltip",WCF
.Language
.get("wcf.user.button.follow")).removeClass("active").children(".icon").removeClass("icon-minus").addClass("icon-plus")}},_success:function(b
,d
,a
){this._following
=b
.returnValues
.following
;this._showButton();var c
=new WCF
.System
.Notification();c
.show()}});WCF
.User
.Profile
.IgnoreUser
=Class
.extend({_button
:null,_isIgnoredUser
:false,_proxy
:null,_userID
:0,init:function(b
,a
){this._userID
=b
;this._isIgnoredUser
=a
;this._proxy
=new WCF
.Action
.Proxy({success
:$.proxy(this._success
,this)});this._updateButton();this._button
.click($.proxy(this._click
,this))},_click:function(a
){a
.preventDefault();var b
=(this._isIgnoredUser
)?"unignore":"ignore";this._proxy
.setOption("data",{actionName
:b
,className
:"wcf\\data\\user\\ignore\\UserIgnoreAction",parameters
:{data
:{ignoreUserID
:this._userID
}}});this._proxy
.sendRequest()},_success:function(b
,d
,a
){this._isIgnoredUser
=b
.returnValues
.isIgnoredUser
;this._updateButton();var c
=new WCF
.System
.Notification();c
.show()},_updateButton:function(){if(this._button
===null){this._button
=$('<li id="ignoreUser"><a href="#" class="button jsTooltip" title="'+WCF
.Language
.get("wcf.user.button."+(this._isIgnoredUser
?"un":"")+"ignore")+'"><span class="icon icon16 icon-ban-circle"></span> <span class="invisible">'+WCF
.Language
.get("wcf.user.button."+(this._isIgnoredUser
?"un":"")+"ignore")+"</span></a></li>").prependTo($("#profileButtonContainer"))}this._button
.find(".button").data("tooltip",WCF
.Language
.get("wcf.user.button."+(this._isIgnoredUser
?"un":"")+"ignore"));if(this._isIgnoredUser
){this._button
.find(".button").addClass("active").children(".icon").removeClass("icon-ban-circle").addClass("icon-circle-blank")}else{this._button
.find(".button").removeClass("active").children(".icon").removeClass("icon-circle-blank").addClass("icon-ban-circle")}}});WCF
.User
.Profile
.TabMenu
=Class
.extend({_hasContent
:{},_profileContent
:null,_proxy
:null,_userID
:0,init:function(a
){this._profileContent
=$("#profileContent");this._userID
=a
;var c
=this._profileContent
.data("active");var b
=false;this._profileContent
.find("div.tabMenuContent").each($.proxy(function(e
,d
){var f
=$(d
).wcfIdentify();if(c
===f
){this._hasContent
[f
]=true}else{this._hasContent
[f
]=false;b
=true}},this));if(b
){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(d
,f
){var e
=$(f
);if(e
.hasClass("ui-state-active")){if(d
){this._loadContent(null,{newPanel
:$("#"+e
.attr("aria-controls"))})}return false}},this))}},_loadContent:function(b
,c
){var d
=$(c
.newPanel
);var a
=d
.attr("id");if(!this._hasContent
[a
]){this._proxy
.setOption("data",{actionName
:"getContent",className
:"wcf\\data\\user\\profile\\menu\\item\\UserProfileMenuItemAction",parameters
:{data
:{containerID
:a
,menuItem
:d
.data("menuItem"),userID
:this._userID
}}});this._proxy
.sendRequest()}},_success:function(d
,e
,c
){var b
=d
.returnValues
.containerID
;this._hasContent
[b
]=true;var a
=this._profileContent
.find("#"+b
);$("<div>"+d
.returnValues
.template
+"</div>").hide().appendTo(a
);a
.children("div").wcfBlindIn()}});WCF
.User
.Profile
.Editor
=Class
.extend({_actionName
:"",_buttons
:{},_cachedTemplate
:"",_proxy
:null,_tab
:null,_userID
:0,init:function(a
,b
){this._actionName
="";this._cachedTemplate
="";this._tab
=$("#about");this._userID
=a
;this._proxy
=new WCF
.Action
.Proxy({success
:$.proxy(this._success
,this)});this._initButtons();if(b
){this._beginEdit()}},_initButtons:function(){var a
=$("#profileButtonContainer");this._buttons
={beginEdit
:$('<li><a class="button"><span class="icon icon16 icon-pencil" /> <span>'+WCF
.Language
.get("wcf.user.editProfile")+"</span></a></li>").click($.proxy(this._beginEdit
,this)).appendTo(a
)}},_beginEdit:function(){this._actionName
="beginEdit";this._buttons
.beginEdit
.hide();$("#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 b
=/values\[([a-zA-Z0-9._-]+)\]/;var a
={};this._tab
.find("input, textarea, select").each(function(e
,g
){var d
=$(g
);var f
=null;switch(d
.getTagName()){case"input":var c
=d
.attr("type");if((c
==="radio"||c
==="checkbox")&&!d
.prop("checked")){return}break;case"textarea":if(d
.data("redactor")){f
=d
.redactor("wutil.getText")}break}var h
=d
.attr("name");if(b
.test(h
)){a
[RegExp
.$1]=(f
===null)?d
.val():f
}});this._proxy
.setOption("data",{actionName
:"save",className
:"wcf\\data\\user\\UserProfileAction",objectIDs
:[this._userID
],parameters
:{values
:a
}});this._proxy
.sendRequest()},_restore:function(){this._actionName
="restore";this._buttons
.beginEdit
.show();this._destroyEditor();this._tab
.html(this._cachedTemplate
).children().css({height
:"auto"})},_success:function(b
,c
,a
){switch(this._actionName
){case"beginEdit":this._prepareEdit(b
);break;case"save":if(b
.returnValues
.success
){this._cachedTemplate
=b
.returnValues
.template
;this._restore()}else{this._prepareEdit(b
,true)}break}},_prepareEdit:function(b
,c
){this._destroyEditor();var a
=this;this._tab
.html(function(e
,d
){if(c
!==true){a
._cachedTemplate
=d
}return b
.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(d
){if(d
.which
===$.ui
.keyCode
.ENTER
){a
._save();d
.preventDefault();return false}})},_destroyEditor:function(){this._tab
.find("textarea").each(function(b
,a
){var c
=$(a
);if(c
.data("redactor")){c
.redactor("core.destroy")}})}});WCF
.User
.Registration
={};WCF
.User
.Registration
.Validation
=Class
.extend({_actionName
:"",_className
:"",_confirmElement
:null,_element
:null,_errorMessages
:{},_options
:{},_proxy
:null,init:function(b
,c
,a
){this._element
=b
;this._element
.blur($.proxy(this._blur
,this));this._confirmElement
=c
||null;if(this._confirmElement
!==null){this._confirmElement
.blur($.proxy(this._blurConfirm
,this))}a
=a
||{};this._setOptions(a
);this._proxy
=new WCF
.Action
.Proxy({success
:$.proxy(this._success
,this),showLoadingOverlay
:false});this._setErrorMessages()},_setOptions:function(a
){},_setErrorMessages:function(){this._errorMessages
={ajaxError
:"",notEqual
:""}},_blur:function(b
){var a
=this._element
.val();if(!a
){return this._showError(this._element
,WCF
.Language
.get("wcf.global.form.error.empty"))}if(this._confirmElement
!==null){var c
=this._confirmElement
.val();if(c
!=""&&a
!=c
){return this._showError(this._confirmElement
,this._errorMessages
.notEqual
)}}if(!this._validateOptions()){return}this._proxy
.setOption("data",{actionName
:this._actionName
,className
:this._className
,parameters
:this._getParameters()});this._proxy
.sendRequest()},_getParameters:function(){return{}},_validateOptions:function(){return true},_blurConfirm:function(b
){var a
=this._confirmElement
.val();if(!a
){return this._showError(this._confirmElement
,WCF
.Language
.get("wcf.global.form.error.empty"))}this._blur(b
)},_success:function(b
,c
,a
){if(b
.returnValues
.isValid
){this._showSuccess(this._element
);if(this._confirmElement
!==null&&this._confirmElement
.val()){this._showSuccess(this._confirmElement
)}}else{this._showError(this._element
,WCF
.Language
.get(this._errorMessages
.ajaxError
+b
.returnValues
.error
))}},_showError:function(a
,b
){a
.parent().parent().addClass("formError").removeClass("formSuccess");var c
=a
.parent().find("small.innerError");if(!c
.length
){c
=$("<small />").addClass("innerError").insertAfter(a
)}c
.text(b
)},_showSuccess:function(a
){a
.parent().parent().addClass("formSuccess").removeClass("formError");a
.next("small.innerError").remove()}});WCF
.User
.Registration
.Validation
.Username
=WCF
.User
.Registration
.Validation
.extend({_actionName
:"validateUsername",_className
:"wcf\\data\\user\\UserRegistrationAction",_setOptions:function(a
){this._options
=$.extend(true,{minlength
:3,maxlength
:25},a
)},_setErrorMessages:function(){this._errorMessages
={ajaxError
:"wcf.user.username.error."}},_validateOptions:function(){var a
=this._element
.val();if(a
.length
<this._options
.minlength
||a
.length
>this._options
.maxlength
){this._showError(this._element
,WCF
.Language
.get("wcf.user.username.error.notValid"));return false}return true},_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));if($.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(){if(this._email
.val()==""){this._username
.enable();this._username
.parents("dl:eq(0)").removeClass("disabled")}else{this._username
.disable();this._username
.parents("dl:eq(0)").addClass("disabled")}},_checkUsername:function(){if(this._username
.val()==""){this._email
.enable();this._email
.parents("dl:eq(0)").removeClass("disabled")}else{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)});$(".contentNavigation .jsMarkAllAsConfirmed").click(function(){WCF
.System
.Confirmation
.show(WCF
.Language
.get("wcf.user.notification.markAllAsConfirmed.confirmMessage"),function(a
){if(a
==="confirm"){new WCF
.Action
.Proxy({autoSend
:true,data
:{actionName
:"markAllAsConfirmed",className
:"wcf\\data\\user\\notification\\UserNotificationAction"},success:function(){window
.location
.reload()}})}})});this._convertList()},_convertList:function(){$(".userNotificationItemList > .notificationItem").each((function(c
,d
){var a
=$(d
);if(!a
.data("isRead")){a
.find("a:not(.userLink)").prop("href",a
.data("link"));var b
=$('<a href="#" class="icon icon24 fa-check notificationItemMarkAsConfirmed jsTooltip" title="'+WCF
.Language
.get("wcf.user.notification.markAsConfirmed")+'" />').appendTo(a
);b
.click($.proxy(this._markAsConfirmed
,this))}}).bind(this));WCF
.DOMNodeInsertedHandler
.execute()},_markAsConfirmed:function(a
){a
.preventDefault();var b
=$(a
.currentTarget
).parents(".notificationItem:eq(0)").data("objectID");this._proxy
.setOption("data",{actionName
:"markAsConfirmed",className
:"wcf\\data\\user\\notification\\UserNotificationAction",objectIDs
:[b
]});this._proxy
.sendRequest();return false},_success:function(c
,d
,b
){var a
=$(".userNotificationItemList > .notificationItem[data-object-id="+c
.returnValues
.markAsRead
+"]");a
.data("isRead",true);a
.find(".newContentBadge").remove();a
.find(".notificationItemMarkAsConfirmed").remove();a
.removeClass("notificationUnconfirmed")}});WCF
.Notification
.UserPanel
=WCF
.UserPanel
.extend({_favico
:null,_proxy
:null,_showAllLink
:"",init:function(b
){this._favico
=null;try{this._favico
=new Favico({animation
:"none",type
:"circle",})}catch(a
){}this._noItems
="wcf.user.notification.noMoreNotifications";this._proxy
=new WCF
.Action
.Proxy({success
:$.proxy(this._success
,this)});this._showAllLink
=b
;this._super("userNotifications");if(this._container
.data("count")&&this._favico
!==null){this._favico
.badge(this._container
.data("count"))}WCF
.System
.PushNotification
.addCallback("userNotificationCount",$.proxy(this.updateUserNotificationCount
,this))},_addDefaultItems:function(a
){this._addDivider(a
);$('<li><a href="'+this._showAllLink
+'">'+WCF
.Language
.get("wcf.user.notification.showAll")+"</a></li>").appendTo(a
);this._addDivider(a
);$('<li id="userNotificationsMarkAllAsConfirmed"><a>'+WCF
.Language
.get("wcf.user.notification.markAllAsConfirmed")+"</a></li>").click($.proxy(this._markAllAsConfirmed
,this)).appendTo(a
)},_getParameters:function(){return{actionName
:"getOutstandingNotifications",className
:"wcf\\data\\user\\notification\\UserNotificationAction"}},_click:function(c
){if(this._didLoad
){var d
=this._container
.find(".badge");if(d
.length
&&parseInt(d
.text())>0){var a
=WCF
.Dropdown
.getDropdownMenu(this._container
.wcfIdentify());var b
=a
.children("li.notificationUnconfirmed").length
;if(!b
&&b
!=d
.text()&&!a
.is(":visible")){this._resetList();this._super(c
)}}}else{this._super(c
)}},_after:function(b
){var d
=WCF
.Dropdown
.getDropdownMenu(this._container
.wcfIdentify()).children("li.jsNotificationItem");var a
=null;d
.each((function(g
,h
){var e
=$(h
);var i
=e
.data("isConfirmed");if(!$.browser
.msie
){e
.addClass("notificationItemLink");$('<a href="'+(i
?e
.data("link"):e
.data("confirmLink"))+'" />').appendTo(e
)}if(!i
){e
.find("a:not(.userLink)").prop("href",e
.data("confirmLink"));if(!$.browser
.mobile
){var f
=$('<a href="#" class="icon icon24 fa-check green notificationItemMarkAsConfirmed jsTooltip" title="'+WCF
.Language
.get("wcf.user.notification.markAsConfirmed")+'" />').prependTo(e
.find("> span.box24 > .framed"));f
.click($.proxy(this._markAsConfirmed
,this))}}if(!e
.data("isConfirmed")){a
=e
}e
.click(function(j
){if(j
.target
.tagName
!=="A"){window
.location
=e
.data("link")}})}).bind(this));if(a
!==null){if(a
.next(".notificationItem").length
){$('<li class="dropdownDivider" />').insertAfter(a
)}}var c
=this._container
.find(".badge");if(!c
.length
){this._removeMarkAllAsConfirmed()}},_markAsConfirmed:function(a
){a
.preventDefault();var b
=$(a
.currentTarget
).parents(".notificationItem:eq(0)").data("notificationID");this._proxy
.setOption("data",{actionName
:"markAsConfirmed",className
:"wcf\\data\\user\\notification\\UserNotificationAction",objectIDs
:[b
]});this._proxy
.sendRequest();return false},_markAllAsConfirmed:function(){WCF
.System
.Confirmation
.show(WCF
.Language
.get("wcf.user.notification.markAllAsConfirmed.confirmMessage"),$.proxy(function(a
){if(a
==="confirm"){this._proxy
.setOption("data",{actionName
:"markAllAsConfirmed",className
:"wcf\\data\\user\\notification\\UserNotificationAction"});this._proxy
.sendRequest()}},this))},_success:function(b
,c
,a
){switch(b
.actionName
){case"markAsConfirmed":WCF
.Dropdown
.getDropdownMenu(this._container
.wcfIdentify()).children("li.jsNotificationItem").each(function(e
,f
){var d
=$(f
);if(d
.data("notificationID")==b
.returnValues
.notificationID
){d
.data("isConfirmed",true);d
.find(".notificationItemMarkAsConfirmed").remove();d
.find(".newContentBadge").remove();d
.removeClass("notificationUnconfirmed");return false}});this._updateBadge(b
.returnValues
.totalCount
);break;case"markAllAsConfirmed":this._resetList();this._updateBadge(0);this._removeMarkAllAsConfirmed();break;case"getOutstandingNotifications":if(!b
.returnValues
||!b
.returnValues
.template
){this._removeMarkAllAsConfirmed()}this._super(b
,c
,a
);break}},_updateBadge:function(a
){a
=parseInt(a
)||0;this._super(a
);if(this._favico
!==null){this._favico
.badge(a
)}if(a
===0){this._removeMarkAllAsConfirmed()}},_resetList:function(){var a
=WCF
.Dropdown
.getDropdownMenu(this._container
.wcfIdentify());a
.children("li.jsNotificationItem").remove();$('<li class="jsDropdownPlaceholder"><span>'+WCF
.Language
.get("wcf.global.loading")+"</span></li>").prependTo(a
);a
.children(".dropdownDivider + .dropdownDivider").remove();this._didLoad
=false},_removeMarkAllAsConfirmed:function(){$("#userNotificationsMarkAllAsConfirmed").hide().prev(".dropdownDivider").hide()},updateUserNotificationCount:function(a
){WCF
.Dropdown
.close("userNotifications");this._resetList();this._updateBadge(a
);if(parseInt(a
)>0){$("#userNotificationsMarkAllAsConfirmed").show().prev(".dropdownDivider").show()}}});WCF
.User
.SignaturePreview
=WCF
.Message
.Preview
.extend({_handleResponse:function(b
){var a
=$("#previewContainer");if(!a
.length
){a
=$('<fieldset id="previewContainer"><legend>'+WCF
.Language
.get("wcf.global.preview")+"</legend><div></div></fieldset>").insertBefore($("#signatureContainer")).wcfFadeIn()}a
.children("div").first().html(b
.returnValues
.message
)}});WCF
.User
.RecentActivityLoader
=Class
.extend({_container
:null,_filteredByFollowedUsers
:false,_loadButton
:null,_proxy
:null,_userID
:0,init:function(b
,a
){this._container
=$("#recentActivities");this._filteredByFollowedUsers
=(a
===true);this._userID
=b
;if(this._userID
!==null&&!this._userID
){console
.debug("[WCF.User.RecentActivityLoader] Invalid parameter 'userID' given.");return}this._proxy
=new WCF
.Action
.Proxy({success
:$.proxy(this._success
,this)});if(this._container
.children("li").length
){this._loadButton
=$('<li class="recentActivitiesMore"><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))}else{$('<li class="recentActivitiesMore"><small>'+WCF
.Language
.get("wcf.user.recentActivity.noMoreEntries")+"</small></li>").appendTo(this._container
)}if(WCF
.User
.userID
){$(".jsRecentActivitySwitchContext .button").click($.proxy(this._switchContext
,this))}},_click:function(){this._loadButton
.enable();var a
={lastEventID
:this._container
.data("lastEventID"),lastEventTime
:this._container
.data("lastEventTime")};if(this._userID
){a
.userID
=this._userID
}else{if(this._filteredByFollowedUsers
){a
.filteredByFollowedUsers
=1}}this._proxy
.setOption("data",{actionName
:"load",className
:"wcf\\data\\user\\activity\\event\\UserActivityEventAction",parameters
:a
});this._proxy
.sendRequest()},_switchContext:function(a
){a
.preventDefault();if(!$(a
.currentTarget
).hasClass("active")){new WCF
.Action
.Proxy({autoSend
:true,data
:{actionName
:"switchContext",className
:"wcf\\data\\user\\activity\\event\\UserActivityEventAction"},success:function(){window
.location
.hash
="#dashboardBoxRecentActivity";window
.location
.reload()}})}},_success:function(b
,c
,a
){if(b
.returnValues
.template
){$(b
.returnValues
.template
).insertBefore(this._loadButton
.parent());this._container
.data("lastEventTime",b
.returnValues
.lastEventTime
);this._container
.data("lastEventID",b
.returnValues
.lastEventID
);this._loadButton
.enable()}else{$("<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(a
){this._container
=$("#likeList");this._userID
=a
;if(!this._userID
){console
.debug("[WCF.User.RecentActivityLoader] Invalid parameter 'userID' given.");return}this._proxy
=new WCF
.Action
.Proxy({success
:$.proxy(this._success
,this)});var b
=$('<li class="likeListMore recentActivitiesMore"><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
=b
.children("button").click($.proxy(this._click
,this));this._noMoreEntries
=b
.children("small").hide();if(this._container
.find("> li").length
==2){this._loadButton
.hide();this._noMoreEntries
.show()}$("#likeType .button").click($.proxy(this._clickLikeType
,this));$("#likeValue .button").click($.proxy(this._clickLikeValue
,this))},_clickLikeType:function(a
){var b
=$(a
.currentTarget
);if(this._likeType
!=b
.data("likeType")){this._likeType
=b
.data("likeType");$("#likeType .button").removeClass("active");b
.addClass("active");this._reload()}},_clickLikeValue:function(a
){var b
=$(a
.currentTarget
);if(this._likeValue
!=b
.data("likeValue")){this._likeValue
=b
.data("likeValue");$("#likeValue .button").removeClass("active");b
.addClass("active");$("#likeType > li:first-child > .button").text(WCF
.Language
.get("wcf.like."+(this._likeValue
==-1?"dis":"")+"likesReceived"));$("#likeType > li:last-child > .button").text(WCF
.Language
.get("wcf.like."+(this._likeValue
==-1?"dis":"")+"likesGiven"));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 a
={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
:a
});this._proxy
.sendRequest()},_success:function(b
,c
,a
){if(b
.returnValues
.template
){$(b
.returnValues
.template
).insertBefore(this._loadButton
.parent());this._container
.data("lastLikeTime",b
.returnValues
.lastLikeTime
);this._noMoreEntries
.hide();this._loadButton
.show().enable()}else{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
:false});WCF
.System
.ObjectStore
.add("WCF.User.ProfilePreview",this)},_loadContent:function(){var a
=$("#"+this._activeElementID
);var c
=a
.data("userID");if(this._userProfiles
[c
]){this._insertContent(this._activeElementID
,this._userProfiles
[c
],true)}else{this._proxy
.setOption("data",{actionName
:"getUserProfile",className
:"wcf\\data\\user\\UserProfileAction",objectIDs
:[c
]});var d
=this._activeElementID
;var b
=this;this._proxy
.setOption("success",function(f
,g
,e
){b
._userProfiles
[c
]=f
.returnValues
.template
;b
._insertContent(d
,f
.returnValues
.template
,true)});this._proxy
.setOption("failure",function(f
,e
,h
,g
){b
._userProfiles
[c
]=f
.message
;b
._insertContent(d
,f
.message
,true);return false});this._proxy
.sendRequest()}},purge:function(a
){delete this._userProfiles
[a
];this._data
={}}});WCF
.User
.Action
={};WCF
.User
.Action
.Follow
=Class
.extend({_containerList
:null,_followButtonSelector
:".jsFollowButton",_userID
:0,init:function(b
,a
){if(!b
.length
){return}this._containerList
=b
;if(a
){this._followButtonSelector
=a
}this._proxy
=new WCF
.Action
.Proxy({success
:$.proxy(this._success
,this)});this._containerList
.each($.proxy(function(d
,c
){$(c
).find(this._followButtonSelector
).click($.proxy(this._click
,this))},this))},_click:function(b
){b
.preventDefault();var a
=$(b
.target
);if(!a
.is("a")){a
=a
.closest("a")}this._userID
=a
.data("objectID");this._proxy
.setOption("data",{actionName
:a
.data("following")?"unfollow":"follow",className
:"wcf\\data\\user\\follow\\UserFollowAction",parameters
:{data
:{userID
:this._userID
}}});this._proxy
.sendRequest()},_success:function(c
,e
,b
){this._containerList
.each($.proxy(function(g
,f
){var h
=$(f
).find(this._followButtonSelector
).get(0);if(h
&&$(h
).data("objectID")==this._userID
){h
=$(h
);if(c
.returnValues
.following
){h
.data("tooltip",WCF
.Language
.get("wcf.user.button.unfollow")).children(".icon").removeClass("icon-plus").addClass("icon-minus")}else{h
.data("tooltip",WCF
.Language
.get("wcf.user.button.follow")).children(".icon").removeClass("icon-minus").addClass("icon-plus")}h
.data("following",c
.returnValues
.following
);return false}},this));var d
=new WCF
.System
.Notification();d
.show();var a
=this;WCF
.System
.ObjectStore
.invoke("WCF.User.ProfilePreview",function(f
){f
.purge(a
._userID
)})}});WCF
.User
.Action
.Ignore
=Class
.extend({_containerList
:null,_ignoreButtonSelector
:".jsIgnoreButton",_userID
:0,init:function(a
,b
){if(!a
.length
){return}this._containerList
=a
;if(b
){this._ignoreButtonSelector
=b
}this._proxy
=new WCF
.Action
.Proxy({success
:$.proxy(this._success
,this)});this._containerList
.each($.proxy(function(d
,c
){$(c
).find(this._ignoreButtonSelector
).click($.proxy(this._click
,this))},this))},_click:function(b
){b
.preventDefault();var a
=$(b
.target
);if(!a
.is("a")){a
=a
.closest("a")}this._userID
=a
.data("objectID");this._proxy
.setOption("data",{actionName
:a
.data("ignored")?"unignore":"ignore",className
:"wcf\\data\\user\\ignore\\UserIgnoreAction",parameters
:{data
:{ignoreUserID
:this._userID
}}});this._proxy
.sendRequest()},_success:function(c
,e
,b
){this._containerList
.each($.proxy(function(g
,f
){var h
=$(f
).find(this._ignoreButtonSelector
).get(0);if(h
&&$(h
).data("objectID")==this._userID
){h
=$(h
);if(c
.returnValues
.isIgnoredUser
){h
.data("tooltip",WCF
.Language
.get("wcf.user.button.unignore")).children(".icon").removeClass("icon-ban-circle").addClass("icon-circle-blank")}else{h
.data("tooltip",WCF
.Language
.get("wcf.user.button.ignore")).children(".icon").removeClass("icon-circle-blank").addClass("icon-ban-circle")}h
.data("ignored",c
.returnValues
.isIgnoredUser
);return false}},this));var d
=new WCF
.System
.Notification();d
.show();var a
=this;WCF
.System
.ObjectStore
.invoke("WCF.User.ProfilePreview",function(f
){f
.purge(a
._userID
)})}});WCF
.User
.Avatar
={};WCF
.User
.Avatar
.Crop
=Class
.extend({_cropX
:0,_cropY
:0,_dialog
:null,_proxy
:null,MAX_THUMBNAIL_SIZE
:128,init:function(a
){this._avatarID
=a
;if(this._dialog
){this.destroy()}this._dialog
=null;if(!this._proxy
){this._proxy
=new WCF
.Action
.Proxy({success
:$.proxy(this._success
,this)})}$(".userAvatarCrop").click($.proxy(this._showCropDialog
,this))},destroy:function(){this._dialog
.remove()},_crop:function(a
){this._proxy
.setOption("data",{actionName
:"cropAvatar",className
:"wcf\\data\\user\\avatar\\UserAvatarAction",objectIDs
:[this._avatarID
],parameters
:{cropX
:this._cropX
,cropY
:this._cropY
}});this._proxy
.sendRequest()},_getCropDialog:function(b
){if(!this._dialog
){this._dialog
=$("<div />").hide().appendTo(document
.body
);this._dialog
.wcfDialog({title
:WCF
.Language
.get("wcf.user.avatar.type.custom.crop")})}this._dialog
.html(b
.returnValues
.template
);this._dialog
.find('button[data-type="save"]').click($.proxy(this._crop
,this));this._cropX
=b
.returnValues
.cropX
;this._cropY
=b
.returnValues
.cropY
;var a
=$("#userAvatarCropSelection > img");$("#userAvatarCropSelection").css({height
:a
.height()+"px",width
:a
.width()+"px"});$("#userAvatarCropOverlaySelection").css({"background-image":"url("+a
.attr("src")+")","background-position":-this._cropX
+"px "+-this._cropY
+"px",left
:this._cropX
+"px",top
:this._cropY
+"px"}).draggable({containment
:"parent",drag
:$.proxy(this._updateSelection
,this),stop
:$.proxy(this._updateSelection
,this)});this._dialog
.find('button[data-type="save"]').click($.proxy(this._save
,this));this._dialog
.wcfDialog("render")},_showCropDialog:function(){if(!this._dialog
){this._proxy
.setOption("data",{actionName
:"getCropDialog",className
:"wcf\\data\\user\\avatar\\UserAvatarAction",objectIDs
:[this._avatarID
]});this._proxy
.sendRequest()}else{this._dialog
.wcfDialog("open")}},_success:function(b
,d
,a
){switch(b
.actionName
){case"getCropDialog":this._getCropDialog(b
);break;case"cropAvatar":$("#avatarUpload > dt > img").replaceWith($('<img src="'+b
.returnValues
.url
+'" alt="" class="userAvatarCrop jsTooltip" title="'+WCF
.Language
.get("wcf.user.avatar.type.custom.crop")+'" />').css({width
:"96px",height
:"96px"}).click($.proxy(this._showCropDialog
,this)));WCF
.DOMNodeInsertedHandler
.execute();this._dialog
.wcfDialog("close");var c
=new WCF
.System
.Notification();c
.show();break}},_updateSelection:function(a
,b
){this._cropX
=b
.position
.left
;this._cropY
=b
.position
.top
;$("#userAvatarCropOverlaySelection").css({"background-position":-b
.position
.left
+"px "+-b
.position
.top
+"px"})}});WCF
.User
.Avatar
.Upload
=WCF
.Upload
.extend({_avatarCrop
:null,_userID
:0,init:function(b
,a
){this._super($("#avatarUpload > dd > div"),undefined,"wcf\\data\\user\\avatar\\UserAvatarAction");this._userID
=b
||0;this._avatarCrop
=a
;$("#avatarForm input[type=radio]").change(function(){if($(this).val()=="custom"){$("#avatarUpload > dd > div").show()}else{$("#avatarUpload > dd > div").hide()}});if(!$("#avatarForm input[type=radio][value=custom]:checked").length
){$("#avatarUpload > dd > div").hide()}},_initFile:function(a
){return $("#avatarUpload > dt > img")},_success:function(c
,a
){if(a
.returnValues
.url
){this._updateImage(a
.returnValues
.url
,a
.returnValues
.canCrop
);if(a
.returnValues
.canCrop
){if(!this._avatarCrop
){this._avatarCrop
=new WCF
.User
.Avatar
.Crop(a
.returnValues
.avatarID
)}else{this._avatarCrop
.init(a
.returnValues
.avatarID
)}}else{if(this._avatarCrop
){this._avatarCrop
.destroy();this._avatarCrop
=null}}$("#avatarUpload > dd > .innerError").remove();var b
=new WCF
.System
.Notification(WCF
.Language
.get("wcf.user.avatar.upload.success"));b
.show()}else{if(a
.returnValues
.errorType
){this._getInnerErrorElement().text(WCF
.Language
.get("wcf.user.avatar.upload.error."+a
.returnValues
.errorType
))}}},_updateImage:function(b
,a
){$("#avatarUpload > dt > img").remove();var c
=$('<img src="'+b
+'" alt="" />').css({height
:"auto","max-height":"96px","max-width":"96px",width
:"auto"});if(a
){c
.addClass("userAvatarCrop").addClass("jsTooltip");c
.attr("title",WCF
.Language
.get("wcf.user.avatar.type.custom.crop"))}$("#avatarUpload > dt").prepend(c
);WCF
.DOMNodeInsertedHandler
.execute()},_getInnerErrorElement:function(){var a
=$("#avatarUpload > dd > .innerError");if(!a
.length
){a
=$('<small class="innerError"></span>');$("#avatarUpload > dd").append(a
)}return a
},_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(c
,a
,b
){this._additionalParameters
=b
||{};this._cache
={};this._className
=c
;this._dialog
=null;this._dialogTitle
=a
;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(b
,c
){if(c
&&c
.activePage
){this._pageNo
=c
.activePage
}if(this._pageCount
!=0&&(this._pageNo
<1||this._pageNo
>this._pageCount
)){console
.debug("[WCF.User.List] Cannot access page "+this._pageNo
+" of "+this._pageCount
);return}if(this._cache
[this._pageNo
]){var a
=false;if(this._dialog
===null){this._dialog
=$('<div id="userList'+this._className
.hashCode()+'" />').hide().appendTo(document
.body
);a
=true}this._dialog
.empty();this._dialog
.html(this._cache
[this._pageNo
]);if(this._pageCount
>1){this._dialog
.find(".jsPagination").wcfPages({activePage
:this._pageNo
,maxPage
:this._pageCount
}).on("wcfpagesswitched",$.proxy(this._showPage
,this))}if(a
){this._dialog
.wcfDialog({title
:this._dialogTitle
})}else{this._dialog
.wcfDialog("open").wcfDialog("render")}}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(b
,c
,a
){if(b
.returnValues
.pageCount
){this._pageCount
=b
.returnValues
.pageCount
}this._cache
[this._pageNo
]=b
.returnValues
.template
;this._showPage()}});WCF
.User
.ObjectWatch
={};WCF
.User
.ObjectWatch
.Subscribe
=Class
.extend({_buttonSelector
:".jsSubscribeButton",_buttons
:{},_dialog
:null,_notification
:null,_reloadOnUnsubscribe
:false,init:function(a
){this._buttons
={};this._notification
=null;this._reloadOnUnsubscribe
=(a
===true);this._proxy
=new WCF
.Action
.Proxy({success
:$.proxy(this._success
,this)});$(this._buttonSelector
).each($.proxy(function(b
,c
){var e
=$(c
);var d
=e
.data("objectID");this._buttons
[d
]=e
.click($.proxy(this._click
,this))},this));WCF
.System
.Event
.addListener("com.woltlab.wcf.objectWatch","update",$.proxy(this._updateSubscriptionStatus
,this))},_click:function(a
){a
.preventDefault();var b
=$(a
.currentTarget
);this._proxy
.setOption("data",{actionName
:"manageSubscription",className
:"wcf\\data\\user\\object\\watch\\UserObjectWatchAction",parameters
:{objectID
:b
.data("objectID"),objectType
:b
.data("objectType")}});this._proxy
.sendRequest()},_success:function(c
,e
,b
){if(c
.actionName
==="manageSubscription"){if(this._dialog
===null){this._dialog
=$("<div>"+c
.returnValues
.template
+"</div>").hide().appendTo(document
.body
);this._dialog
.wcfDialog({title
:WCF
.Language
.get("wcf.user.objectWatch.manageSubscription")})}else{this._dialog
.html(c
.returnValues
.template
);this._dialog
.wcfDialog("open")}this._dialog
.find(".formSubmit > .jsButtonSave").data("objectID",c
.returnValues
.objectID
).click($.proxy(this._save
,this));var a
=this._dialog
.find("input[name=enableNotification]").disable();this._dialog
.find("input[name=subscribe]").change(function(f
){var g
=$(f
.currentTarget
);if(g
.val()==1){a
.enable()}else{a
.disable()}});var d
=this._dialog
.find("input[name=subscribe]:checked");if(d
.length
&&d
.val()==1){a
.enable()}}else{if(c
.actionName
==="saveSubscription"&&this._dialog
.is(":visible")){this._dialog
.wcfDialog("close");this._updateSubscriptionStatus({isSubscribed
:c
.returnValues
.subscribe
,objectID
:c
.returnValues
.objectID
});if(this._notification
===null){this._notification
=new WCF
.System
.Notification(WCF
.Language
.get("wcf.global.success.edit"))}this._notification
.show()}}},_save:function(b
){var d
=this._buttons
[$(b
.currentTarget
).data("objectID")];var c
=this._dialog
.find("input[name=subscribe]:checked").val();var a
=(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
:a
,objectID
:d
.data("objectID"),objectType
:d
.data("objectType"),subscribe
:c
}});this._proxy
.sendRequest()},_updateSubscriptionStatus:function(c
){var b
=$(this._buttonSelector
+"[data-object-id="+c
.objectID
+"]");var a
=b
.children(".icon");if(c
.isSubscribed
){a
.removeClass("icon-bookmark-empty").addClass("icon-bookmark");b
.data("isSubscribed",true)}else{a
.removeClass("icon-bookmark").addClass("icon-bookmark-empty");b
.data("isSubscribed",false);if(this._reloadOnUnsubscribe
){window
.location
.reload();return}}WCF
.System
.Event
.fireEvent("com.woltlab.wcf.objectWatch","updatedSubscription",c
)}});WCF
.User
.InlineEditor
=WCF
.InlineEditor
.extend({_additionalOptions
:{},_dialog
:null,_permissions
:{},init:function(a
){this._super(a
);WCF
.System
.ObjectStore
.add("WCF.User.InlineEditor",this)},_execute:function(b
,d
){if(!this._validate(b
,d
)){return false}var c
={};var a
=$("#"+b
);if(this._additionalOptions
[d
]!==undefined){this._additionalOptions
[d
].callback(b
)}else{switch(d
){case"unban":case"enableAvatar":case"enableSignature":switch(d
){case"unban":c
.banned
=0;break;case"enableAvatar":c
.disableAvatar
=0;break;case"enableSignature":c
.disableSignature
=0;break}this._proxy
.setOption("data",{actionName
:d
,className
:"wcf\\data\\user\\UserAction",objectIDs
:[a
.data("objectID")]});this._proxy
.sendRequest();break;case"ban":case"disableAvatar":case"disableSignature":if(d
=="ban"){c
.banned
=1}else{c
[d
]=1}this._showReasonDialog(a
.data("objectID"),d
);break;case"advanced":window
.location
=this._getTriggerElement(a
).attr("href");break}}if($.getLength(c
)){this._updateData
.push({data
:c
,elementID
:b
,})}},_executeReasonAction:function(c
,d
,f
){var b
=this._dialog
.data("optionName");this._dialog
.find(".innerError").remove();var a
="";if(!$("#"+b
+"NeverExpires").is(":checked")){a
=$("#"+b
+"ExpiresDatePicker").val();if(!a
){this._dialog
.find("#"+b
+"ExpiresSettings > dd > small").prepend($('<small class="innerError" />').text(WCF
.Language
.get("wcf.global.form.error.empty")));return}}var e
={};e
[b
+"Reason"]=$("#"+b
+"Reason").val();e
[b
+"Expires"]=a
;this._proxy
.setOption("data",{actionName
:b
,className
:"wcf\\data\\user\\UserAction",objectIDs
:[this._dialog
.data("userID")],parameters
:e
});this._proxy
.sendRequest()},_getPermission:function(a
){if(this._permissions
[a
]){return this._permissions
[a
]}return 0},_getTriggerElement:function(a
){return a
.find(".jsUserInlineEditor")},_setOptions:function(){this._options
=[{label
:WCF
.Language
.get("wcf.user.ban"),optionName
:"ban"},{label
:WCF
.Language
.get("wcf.user.unban"),optionName
:"unban"},{label
:WCF
.Language
.get("wcf.user.disableAvatar"),optionName
:"disableAvatar"},{label
:WCF
.Language
.get("wcf.user.enableAvatar"),optionName
:"enableAvatar"},{label
:WCF
.Language
.get("wcf.user.disableSignature"),optionName
:"disableSignature"},{label
:WCF
.Language
.get("wcf.user.enableSignature"),optionName
:"enableSignature"}];for(var a
in this._additionalOptions
){this._options
.push({label
:this._additionalOptions
[a
].label
,optionName
:a
})}this._options
.push({optionName
:"divider"});this._options
.push({label
:WCF
.Language
.get("wcf.user.edit"),optionName
:"advanced"})},_show:function(c
){var a
=$(c
.currentTarget
);var d
=a
.data("elementID");if(!this._dropdowns
[d
]){var b
=a
.next(".dropdownMenu");if(b
){this._dropdowns
[d
]=b
;WCF
.Dropdown
.initDropdown(this._getTriggerElement(this._elements
[d
]),true)}}return this._super(c
)},_showReasonDialog:function(a
,b
){if(this._dialog
){this._dialog
.remove()}this._dialog
=$("<div />").hide().appendTo(document
.body
);this._dialog
.append($('<fieldset><dl><dt><label for="'+b
+'Reason">'+WCF
.Language
.get("wcf.global.reason")+'</label></dt><dd><textarea id="'+b
+'Reason" cols="40" rows="3" />'+(WCF
.Language
.get("wcf.user."+b
+".reason.description")!="wcf.user."+b
+".reason.description"?"<small>"+WCF
.Language
.get("wcf.user."+b
+".reason.description")+"</small>":"")+'</dd></dl><dl><dt></dt><dd><label for="'+b
+'NeverExpires"><input type="checkbox" name="'+b
+'NeverExpires" id="'+b
+'NeverExpires" checked="checked" /> '+WCF
.Language
.get("wcf.user."+b
+".neverExpires")+'</label></dd></dl><dl id="'+b
+'ExpiresSettings" style="display: none;"><dt><label for="'+b
+'Expires">'+WCF
.Language
.get("wcf.user."+b
+".expires")+'</label></dt><dd><input type="date" name="'+b
+'Expires" id="'+b
+'Expires" class="medium" min="'+new Date(TIME_NOW
*1000).toISOString()+'" data-ignore-timezone="true" /><small>'+WCF
.Language
.get("wcf.user."+b
+".expires.description")+"</small></dd></dl></fieldset>"));this._dialog
.append($('<div class="formSubmit"><button class="buttonPrimary" accesskey="s">'+WCF
.Language
.get("wcf.global.button.submit")+"</button></div>"));this._dialog
.data("optionName",b
).data("userID",a
);this._dialog
.find("#"+b
+"NeverExpires").change(function(){$("#"+b
+"ExpiresSettings").toggle()});this._dialog
.find("button").click($.proxy(this._executeReasonAction
,this));this._dialog
.wcfDialog({title
:WCF
.Language
.get("wcf.user."+b
+".confirmMessage")})},_updateState:function(d
){this._notification
.show();for(var f
=0,e
=this._updateData
.length
;f
<e
;f
++){var b
=this._updateData
[f
];var a
=$("#"+b
.elementID
);for(var c
in b
.data
){a
.data(c
,b
.data
[c
])}}if(d
.actionName
=="ban"||d
.actionName
=="disableAvatar"||d
.actionName
=="disableSignature"){this._dialog
.wcfDialog("close")}if(d
.actionName
=="unban"){$(".userHeadline .jsUserBanned").remove()}},_validate:function(a
,b
){var c
=$("#"+a
);if(this._additionalOptions
[b
]!==undefined){return true}switch(b
){case"ban":case"unban":if(!this._getPermission("canBanUser")){return false}if(b
=="ban"){return !c
.data("banned")}else{return c
.data("banned")}break;case"disableAvatar":case"enableAvatar":if(!this._getPermission("canDisableAvatar")){return false}if(b
=="disableAvatar"){return !c
.data("disableAvatar")}else{return c
.data("disableAvatar")}break;case"disableSignature":case"enableSignature":if(!this._getPermission("canDisableSignature")){return false}if(b
=="disableSignature"){return !c
.data("disableSignature")}else{return c
.data("disableSignature")}break;case"advanced":return this._getPermission("canEditUser");break}return false},addOption:function(a
,b
,c
){if(!$.isFunction(c
)){console
.debug("[WCF.User.InlineEditor] Missing callback")}if(this._additionalOptions
[b
]!==undefined){console
.debug('[WCF.User.InlineEditor] Additional option with name "'+b
+"' already exists")}this._additionalOptions
[b
]={callback
:c
,label
:a
};this._setOptions()},setPermission:function(a
,b
){this._permissions
[a
]=b
},setPermissions:function(a
){for(var b
in a
){this.setPermission(b
,a
[b
])}}}); })(this);
124 (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(a
,c
,b
){if(!this._buttonSelector
){console
.debug("[WCF.Moderation.Management] Missing button selector, aborting.");return}else{if(!this._className
){console
.debug("[WCF.Moderation.Management] Missing class name, aborting.");return}}this._dialog
=null;this._queueID
=a
;this._redirectURL
=c
;this._languageItem
=b
;this._proxy
=new WCF
.Action
.Proxy({failure
:$.proxy(this._failure
,this),success
:$.proxy(this._success
,this)});$(this._buttonSelector
).click($.proxy(this._click
,this));$("<a>"+WCF
.Language
.get("wcf.moderation.assignedUser.change")+"</a>").click($.proxy(this._clickAssignedUser
,this)).insertAfter($("#moderationAssignedUserContainer > dd > span"))},_click:function(c
){var b
=$(c
.currentTarget
).wcfIdentify();var a
="";if(this._confirmationTemplate
[b
]){a
=this._confirmationTemplate
[b
]}WCF
.System
.Confirmation
.show(WCF
.Language
.get(this._languageItem
.replace(/{actionName
}/,b)),$.proxy(function(e){if(e==="confirm"){var d={actionName:b,className:this._className,objectIDs:[this._queueID]};if(this._confirmationTemplate[b]){d.parameters={};a.find("input, textarea").each(function(g,i){var f=$(i);var h=f.val();if(f.getTagName()==="input"&&f.attr("type")==="checkbox"){if(!f.is(":checked")){h=null}}if(h!==null){d.parameters[f.attr("name")]=h}})}this._proxy.setOption("data",d);this._proxy.sendRequest();$(this._buttonSelector).disable()}},this),{},a)},_clickAssignedUser:function(){this._proxy.setOption("data",{actionName:"getAssignUserForm",className:"wcf\\data\\moderation\\queue\\ModerationQueueAction",objectIDs:[this._queueID]});this._proxy.sendRequest()},_success:function(d,f,c){switch(d.actionName){case"getAssignUserForm":if(this._dialog===null){this._dialog=$("<div />").hide().appendTo(document.body);this._dialog.html(d.returnValues.template).wcfDialog({title:WCF.Language.get("wcf
.moderation
.assignedUser
")})}else{this._dialog.html(d.returnValues.template).wcfDialog("open
")}this._dialog.find("button
[data
-type
=submit
]").click($.proxy(this._assignUser,this));break;case"assignUser
":var a=$("#moderationAssignedUserContainer
> dd
> span
").empty();if(d.returnValues.userID){$('<a href="'+d.returnValues.link+'" data-user-id="'+d.returnValues.userID+'" class="userLink
">'+WCF.String.escapeHTML(d.returnValues.username)+"</a>").appendTo(a)}else{a.append(d.returnValues.username)}a.append(" ");if(d.returnValues.newStatus){$("#moderationStatusContainer > dd").text(WCF.Language.get("wcf.moderation.status."+d.returnValues.newStatus))}this._dialog.wcfDialog("close");new WCF.System.Notification().show();break;default:var e=new WCF.System.Notification(WCF.Language.get("wcf.global.success"));var b=this;e.show(function(){window.location=b._redirectURL});break}},_failure:function(c,b,e,d){if(c.returnValues&&c.returnValues.fieldName&&c.returnValues.fieldName=="assignedUsername"){this._dialog.find("small.innerError").remove();var a="";switch(c.returnValues.errorType){case"empty":a=WCF.Language.get("wcf.global.form.error.empty");break;case"notAffected":a=WCF.Language.get("wcf.moderation.assignedUser.error.notAffected");break;default:a=WCF.Language.get("wcf.user.username.error."+c.returnValues.errorType,{username:this._dialog.find("#assignedUsername").val()});break}$('<small class="innerError">'+a+"</small>").insertAfter(this._dialog.find("#assignedUsername
"));return false}return true},_assignUser:function(){var b=this._dialog.find("input
[name
=assignedUserID
]:checked
").val();var a="";if(b==-1){a=$.trim(this._dialog.find("#assignedUsername
").val())}if(b==-1&&a.length==0){this._dialog.find("small
.innerError
").remove();$('<small class="innerError
">'+WCF.Language.get("wcf
.global
.form
.error
.empty
")+"</small>").insertAfter(this._dialog.find("#assignedUsername"));return}this._proxy.setOption("data",{actionName:"assignUser",className:"wcf\\data\\moderation\\queue\\ModerationQueueAction",objectIDs:[this._queueID],parameters:{assignedUserID:b,assignedUsername:a}});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(a){this._proxy.setOption("data",{actionName:"markAsRead",className:"wcf\\data\\moderation\\queue\\ModerationQueueAction",objectIDs:[$(a.currentTarget).parents("tr:eq(0)").data("queueID")]});this._proxy.sendRequest()},_success:function(b,c,a){$(".moderationList .new").each(function(e,f){var d=$(f);if(WCF.inArray(d.data("queueID"),b.objectIDs)){d.removeClass("new");d.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(a){a.preventDefault();this._proxy.setOption("data",{actionName:"markAllAsRead",className:"wcf\\data\\moderation\\queue\\ModerationQueueAction"});this._proxy.sendRequest()},_success:function(c,d,b){var a=$(".moderationList");a.find(".new").removeClass("new");a.find(".columnAvatar").off("dblclick")}});WCF.Moderation.Activation={};WCF.Moderation.Activation.Management=WCF.Moderation.Management.extend({init:function(a,b){this._buttonSelector="#enableContent, #removeContent";this._className="wcf\\data\\moderation\\queue\\ModerationQueueActivationAction";this._super(a,b,"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(a,b){this._objectType=a;this._buttonSelector=b;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 a=this;$(this._buttonSelector).each(function(c,d){var e=$(d);var b=e.wcfIdentify();if(!a._buttons[b]){a._buttons[b]=e;e.click($.proxy(a._click,a))}})},_click:function(a){a.preventDefault();this._objectID=$(a.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(b,c,a){if(b.returnValues.reported){if(this._notification===null){this._notification=new WCF.System.Notification(WCF.Language.get("wcf.moderation.report.success"))}this._dialog.wcfDialog("close");this._notification.show()}else{if(b.returnValues.template){this._showDialog(b.returnValues.template);if(!b.returnValues.alreadyReported){this._dialog.find(".jsSubmitReport").click($.proxy(this._submit,this))}}}},_showDialog:function(a){if(this._dialog===null){this._dialog=$("#moderationReport");if(!this._dialog.length){this._dialog=$('<div id="moderationReport" />').hide().appendTo(document.body)}}this._dialog.html(a).wcfDialog({title:WCF.Language.get("wcf.moderation.report.reportContent")}).wcfDialog("render")},_submit:function(){var a=this._dialog.find(".jsReportMessage").val();if(a==""){this._dialog.find("fieldset > dl").addClass("formError");if(!this._dialog.find(".innerError").length){this._dialog.find(".jsReportMessage").after($('<small
class="innerError">'+WCF.Language.get("wcf.global.form.error.empty")+"</small>"))}return}this._proxy.setOption("data",{actionName:"report",className:"wcf\\data\\moderation\\queue\\ModerationQueueReportAction",parameters:{message:a,objectID:this._objectID,objectType:this._objectType}});this._proxy.sendRequest()}});WCF.Moderation.Report.Management=WCF.Moderation.Management.extend({init:function(a,b){this._buttonSelector="#removeContent, #removeReport";this._className="wcf\\data\\moderation\\queue\\ModerationQueueReportAction";this._super(a,b,"wcf.moderation.report.{actionName}.confirmMessage");this._confirmationTemplate.removeContent=$('<fieldset
><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></fieldset>')}});WCF.User.Panel.Moderation=WCF.User.Panel.Abstract.extend({init:function(a){a.enableMarkAsRead=true;this._super($("#outstandingModeration"),"outstandingModeration",a)},_initDropdown:function(){var a=this._super();$('<li><a href="'+this._options.deletedContentLink+'" title="'+this._options.deletedContent+'" class="jsTooltip"><span class="icon icon16 fa-trash-o" /></a></li>').appendTo(a.getLinkList());return a},_load:function(){this._proxy.setOption("data",{actionName:"getOutstandingQueues",className:"wcf\\data\\moderation\\queue\\ModerationQueueAction"});this._proxy.sendRequest()},_markAsRead:function(a,b){this._proxy.setOption("data",{actionName:"markAsRead",className:"wcf\\data\\moderation\\queue\\ModerationQueueAction",objectIDs:[b]});this._proxy.sendRequest()},_markAllAsRead:function(a){this._proxy.setOption("data",{actionName:"markAllAsRead",className:"wcf\\data\\moderation\\queue\\ModerationQueueAction"});this._proxy.sendRequest()}}); })(this);