2014-12-22 19:15:38 +01:00
/*! jQuery v1.11.1 | (c) 2005, 2014 jQuery Foundation, Inc. | jquery.org/license */
! function ( a , b ) { "object" == typeof module && "object" == typeof module . exports ? module . exports = a . document ? b ( a , ! 0 ) : function ( a ) { if ( ! a . document ) throw new Error ( "jQuery requires a window with a document" ) ; return b ( a ) } : b ( a ) } ( "undefined" != typeof window ? window : this , function ( a , b ) { var c = [ ] , d = c . slice , e = c . concat , f = c . push , g = c . indexOf , h = { } , i = h . toString , j = h . hasOwnProperty , k = { } , l = "1.11.1" , m = function ( a , b ) { return new m . fn . init ( a , b ) } , n = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g , o = /^-ms-/ , p = /-([\da-z])/gi , q = function ( a , b ) { return b . toUpperCase ( ) } ; m . fn = m . prototype = { jquery : l , constructor : m , selector : "" , length : 0 , toArray : function ( ) { return d . call ( this ) } , get : function ( a ) { return null != a ? 0 > a ? this [ a + this . length ] : this [ a ] : d . call ( this ) } , pushStack : function ( a ) { var b = m . merge ( this . constructor ( ) , a ) ; return b . prevObject = this , b . context = this . context , b } , each : function ( a , b ) { return m . each ( this , a , b ) } , map : function ( a ) { return this . pushStack ( m . map ( this , function ( b , c ) { return a . call ( b , c , b ) } ) ) } , slice : function ( ) { return this . pushStack ( d . apply ( this , arguments ) ) } , first : function ( ) { return this . eq ( 0 ) } , last : function ( ) { return this . eq ( - 1 ) } , eq : function ( a ) { var b = this . length , c = + a + ( 0 > a ? b : 0 ) ; return this . pushStack ( c >= 0 && b > c ? [ this [ c ] ] : [ ] ) } , end : function ( ) { return this . prevObject || this . constructor ( null ) } , push : f , sort : c . sort , splice : c . splice } , m . extend = m . fn . extend = function ( ) { var a , b , c , d , e , f , g = arguments [ 0 ] || { } , h = 1 , i = arguments . length , j = ! 1 ; for ( "boolean" == typeof g && ( j = g , g = arguments [ h ] || { } , h ++ ) , "object" == typeof g || m . isFunction ( g ) || ( g = { } ) , h === i && ( g = this , h -- ) ; i > h ; h ++ ) if ( null != ( e = arguments [ h ] ) ) for ( d in e ) a = g [ d ] , c = e [ d ] , g !== c && ( j && c && ( m . isPlainObject ( c ) || ( b = m . isArray ( c ) ) ) ? ( b ? ( b = ! 1 , f = a && m . isArray ( a ) ? a : [ ] ) : f = a && m . isPlainObject ( a ) ? a : { } , g [ d ] = m . extend ( j , f , c ) ) : void 0 !== c && ( g [ d ] = c ) ) ; return g } , m . extend ( { expando : "jQuery" + ( l + Math . random ( ) ) . replace ( /\D/g , "" ) , isReady : ! 0 , error : function ( a ) { throw new Error ( a ) } , noop : function ( ) { } , isFunction : function ( a ) { return "function" === m . type ( a ) } , isArray : Array . isArray || function ( a ) { return "array" === m . type ( a ) } , isWindow : function ( a ) { return null != a && a == a . window } , isNumeric : function ( a ) { return ! m . isArray ( a ) && a - parseFloat ( a ) >= 0 } , isEmptyObject : function ( a ) { var b ; for ( b in a ) return ! 1 ; return ! 0 } , isPlainObject : function ( a ) { var b ; if ( ! a || "object" !== m . type ( a ) || a . nodeType || m . isWindow ( a ) ) return ! 1 ; try { if ( a . constructor && ! j . call ( a , "constructor" ) && ! j . call ( a . constructor . prototype , "isPrototypeOf" ) ) return ! 1 } catch ( c ) { return ! 1 } if ( k . ownLast ) for ( b in a ) return j . call ( a , b ) ; for ( b in a ) ; return void 0 === b || j . call ( a , b ) } , type : function ( a ) { return null == a ? a + "" : "object" == typeof a || "function" == typeof a ? h [ i . call ( a ) ] || "object" : typeof a } , globalEval : function ( b ) { b && m . trim ( b ) && ( a . execScript || function ( b ) { a . eval . call ( a , b ) } ) ( b ) } , camelCase : function ( a ) { return a . replace ( o , "ms-" ) . replace ( p , q ) } , nodeName : function ( a , b ) { return a . nodeName && a . nodeName . toLowerCase ( ) === b . toLowerCase ( ) } , each : function ( a , b , c ) { var d , e = 0 , f = a . length , g = r ( a ) ; if ( c ) { if ( g ) { for ( ; f > e ; e ++ ) if ( d = b . apply ( a [ e ] , c ) , d === ! 1 ) break } else for ( e in a ) if ( d = b . apply ( a [ e ] , c ) , d === ! 1 ) break } else if ( g ) { for ( ; f > e ; e ++ ) if ( d = b . call ( a [ e ] , e , a [ e ] ) , d === ! 1 ) break } else for ( e in a ) if ( d = b . call ( a [ e ] , e , a [ e ] ) , d === ! 1 ) break ; return a } , trim : function ( a ) { return null == a ? "" : ( a + "" ) . replace ( n , "" ) } , makeArray : function ( a , b ) { var c = b || [ ] ; return null != a && ( r ( Object ( a ) ) ? m . merge ( c , "string" == typeof a ? [ a ] : a ) : f . call ( c , a ) ) , c } , inArray : function ( a , b , c ) { var d ; if ( b ) { if ( g ) return g . call ( b , a , c ) ; for ( d = b . length , c = c ? 0 > c ? Math . max ( 0 , d + c ) : c : 0 ; d > c ; c ++ ) if ( c in b && b [ c ] === a ) return c } return - 1 } , merge : function ( a , b ) { var c = + b . length , d = 0 , e = a . length ; while ( c > d ) a [ e ++ ] = b [ d ++ ] ; if ( c !== c ) while ( void 0 !== b [ d ] ) a [ e ++ ] = b [ d ++ ] ; return a . length = e , a } , grep : function ( a , b , c ) { for ( var d , e = [ ] , f = 0 , g = a . length , h = ! c ; g > f ; f ++ ) d = ! b ( a [ f ] , f ) , d !== h && e . push ( a [ f ] ) ; return e } , map : function ( a , b , c ) { var d , f = 0 , g = a . length , h = r ( a ) , i = [ ] ; if ( h ) for ( ; g > f ; f ++ ) d = b ( a [ f ] , f , c ) , null != d && i . push ( d ) ; else for ( f in a ) d = b ( a [ f ] , f , c ) , null != d && i . push ( d ) ; return e . apply ( [ ] , i ) } , guid : 1 , proxy : function ( a , b ) { var c , e , f ; return "string" == typeof b && ( f = a [ b ] , b = a , a = f ) , m . isFunction ( a ) ? ( c = d . call ( arguments , 2 ) , e = function ( ) { return a . apply ( b || this , c . concat ( d . call ( arguments ) ) ) } , e . guid = a . guid = a . guid || m . guid ++ , e ) : void 0 } , now : function ( ) { return + new Date } , support : k } ) , m . each ( " B
if ( k && j [ k ] && ( e || j [ k ] . data ) || void 0 !== d || "string" != typeof b ) return k || ( k = i ? a [ h ] = c . pop ( ) || m . guid ++ : h ) , j [ k ] || ( j [ k ] = i ? { } : { toJSON : m . noop } ) , ( "object" == typeof b || "function" == typeof b ) && ( e ? j [ k ] = m . extend ( j [ k ] , b ) : j [ k ] . data = m . extend ( j [ k ] . data , b ) ) , g = j [ k ] , e || ( g . data || ( g . data = { } ) , g = g . data ) , void 0 !== d && ( g [ m . camelCase ( b ) ] = d ) , "string" == typeof b ? ( f = g [ b ] , null == f && ( f = g [ m . camelCase ( b ) ] ) ) : f = g , f } } function R ( a , b , c ) { if ( m . acceptData ( a ) ) { var d , e , f = a . nodeType , g = f ? m . cache : a , h = f ? a [ m . expando ] : m . expando ; if ( g [ h ] ) { if ( b && ( d = c ? g [ h ] : g [ h ] . data ) ) { m . isArray ( b ) ? b = b . concat ( m . map ( b , m . camelCase ) ) : b in d ? b = [ b ] : ( b = m . camelCase ( b ) , b = b in d ? [ b ] : b . split ( " " ) ) , e = b . length ; while ( e -- ) delete d [ b [ e ] ] ; if ( c ? ! P ( d ) : ! m . isEmptyObject ( d ) ) return } ( c || ( delete g [ h ] . data , P ( g [ h ] ) ) ) && ( f ? m . cleanData ( [ a ] , ! 0 ) : k . deleteExpando || g != g . window ? delete g [ h ] : g [ h ] = null ) } } } m . extend ( { cache : { } , noData : { "applet " : ! 0 , "embed " : ! 0 , "object " : "clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" } , hasData : function ( a ) { return a = a . nodeType ? m . cache [ a [ m . expando ] ] : a [ m . expando ] , ! ! a && ! P ( a ) } , data : function ( a , b , c ) { return Q ( a , b , c ) } , removeData : function ( a , b ) { return R ( a , b ) } , _data : function ( a , b , c ) { return Q ( a , b , c , ! 0 ) } , _removeData : function ( a , b ) { return R ( a , b , ! 0 ) } } ) , m . fn . extend ( { data : function ( a , b ) { var c , d , e , f = this [ 0 ] , g = f && f . attributes ; if ( void 0 === a ) { if ( this . length && ( e = m . data ( f ) , 1 === f . nodeType && ! m . _data ( f , "parsedAttrs" ) ) ) { c = g . length ; while ( c -- ) g [ c ] && ( d = g [ c ] . name , 0 === d . indexOf ( "data-" ) && ( d = m . camelCase ( d . slice ( 5 ) ) , O ( f , d , e [ d ] ) ) ) ; m . _data ( f , "parsedAttrs" , ! 0 ) } return e } return "object" == typeof a ? this . each ( function ( ) { m . data ( this , a ) } ) : arguments . length > 1 ? this . each ( function ( ) { m . data ( this , a , b ) } ) : f ? O ( f , a , m . data ( f , a ) ) : void 0 } , removeData : function ( a ) { return this . each ( function ( ) { m . removeData ( this , a ) } ) } } ) , m . extend ( { queue : function ( a , b , c ) { var d ; return a ? ( b = ( b || "fx" ) + "queue" , d = m . _data ( a , b ) , c && ( ! d || m . isArray ( c ) ? d = m . _data ( a , b , m . makeArray ( c ) ) : d . push ( c ) ) , d || [ ] ) : void 0 } , dequeue : function ( a , b ) { b = b || "fx" ; var c = m . queue ( a , b ) , d = c . length , e = c . shift ( ) , f = m . _queueHooks ( a , b ) , g = function ( ) { m . dequeue ( a , b ) } ; "inprogress" === e && ( e = c . shift ( ) , d -- ) , e && ( "fx" === b && c . unshift ( "inprogress" ) , delete f . stop , e . call ( a , g , f ) ) , ! d && f && f . empty . fire ( ) } , _queueHooks : function ( a , b ) { var c = b + "queueHooks" ; return m . _data ( a , c ) || m . _data ( a , c , { empty : m . Callbacks ( "once memory" ) . add ( function ( ) { m . _removeData ( a , b + "queue" ) , m . _removeData ( a , c ) } ) } ) } } ) , m . fn . extend ( { queue : function ( a , b ) { var c = 2 ; return "string" != typeof a && ( b = a , a = "fx" , c -- ) , arguments . length < c ? m . queue ( this [ 0 ] , a ) : void 0 === b ? this : this . each ( function ( ) { var c = m . queue ( this , a , b ) ; m . _queueHooks ( this , a ) , "fx" === a && "inprogress" !== c [ 0 ] && m . dequeue ( this , a ) } ) } , dequeue : function ( a ) { return this . each ( function ( ) { m . dequeue ( this , a ) } ) } , clearQueue : function ( a ) { return this . queue ( a || "fx" , [ ] ) } , promise : function ( a , b ) { var c , d = 1 , e = m . Deferred ( ) , f = this , g = this . length , h = function ( ) { -- d || e . resolveWith ( f , [ f ] ) } ; "string" != typeof a && ( b = a , a = void 0 ) , a = a || "fx" ; while ( g -- ) c = m . _data ( f [ g ] , a + "queueHooks" ) , c && c . empty && ( d ++ , c . empty . add ( h ) ) ; return h ( ) , e . promise ( b ) } } ) ; var S = /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/ . source , T = [ "Top" , "Right" , "Bottom" , "Left" ] , U = function ( a , b ) { return a = b || a , "none" === m . css ( a , "display" ) || ! m . contains ( a . ownerDocument , a ) } , V = m . access = function ( a , b , c , d , e , f , g ) { var h = 0 , i = a . length , j = null == c ; if ( "object" === m . type ( c ) ) { e = ! 0 ; for ( h in c ) m . access ( a , b , h , c [ h ] , ! 0 , f , g ) } else if ( void 0 !== d && ( e = ! 0 , m . isFunction ( d ) || ( g = ! 0 ) , j && ( g ? ( b . call ( a , d ) , b = null ) : ( j = b , b = function ( a , b , c ) { return j . call ( m ( a ) , c ) } ) ) , b ) ) for ( ; i > h ; h ++ ) b ( a [ h ] , c , g ? d : d . call ( a [ h ] , h , b ( a [ h ] , c ) ) ) ; return e ? a : j ? b . call ( a ) : i ? b ( a [ 0 ] , c ) : f } , W = /^(?:checkbox|radio)$/i ; ! function ( ) { var a = y . createElement ( "input" ) , b = y . createElement ( "div" ) , c = y . createDocumentFragment ( ) ; if ( b . innerHTML = " <link/><table></table><a href='/a'>a</a><input type='checkbox'/>" , k . leadingWhitespace = 3 === b . firstChild . nodeType , k . tbody = ! b . getElementsByTagName ( "tbody" ) . length , k . htmlSerialize = ! ! b . getElementsByTagName ( "link" ) . length , k . html5Clone = "<:nav></:nav>" !== y . createElement ( "nav" ) . cloneNode ( ! 0 ) . outerHTML , a . type = "checkbox" , a . checked = ! 0 , c . appendChild ( a ) , k . appendChecked = a . checked , b . innerHTML = "<textarea>x</textarea>" , k . noCloneChecked = ! ! b . cloneNode ( ! 0 ) . lastChild . defaultValue , c . appendChild ( b ) , b . innerHTML = " < input type = ' radi
} , cur : function ( ) { var a = Zb . propHooks [ this . prop ] ; return a && a . get ? a . get ( this ) : Zb . propHooks . _default . get ( this ) } , run : function ( a ) { var b , c = Zb . propHooks [ this . prop ] ; return this . pos = b = this . options . duration ? m . easing [ this . easing ] ( a , this . options . duration * a , 0 , 1 , this . options . duration ) : a , this . now = ( this . end - this . start ) * b + this . start , this . options . step && this . options . step . call ( this . elem , this . now , this ) , c && c . set ? c . set ( this ) : Zb . propHooks . _default . set ( this ) , this } } , Zb . prototype . init . prototype = Zb . prototype , Zb . propHooks = { _default : { get : function ( a ) { var b ; return null == a . elem [ a . prop ] || a . elem . style && null != a . elem . style [ a . prop ] ? ( b = m . css ( a . elem , a . prop , "" ) , b && "auto" !== b ? b : 0 ) : a . elem [ a . prop ] } , set : function ( a ) { m . fx . step [ a . prop ] ? m . fx . step [ a . prop ] ( a ) : a . elem . style && ( null != a . elem . style [ m . cssProps [ a . prop ] ] || m . cssHooks [ a . prop ] ) ? m . style ( a . elem , a . prop , a . now + a . unit ) : a . elem [ a . prop ] = a . now } } } , Zb . propHooks . scrollTop = Zb . propHooks . scrollLeft = { set : function ( a ) { a . elem . nodeType && a . elem . parentNode && ( a . elem [ a . prop ] = a . now ) } } , m . easing = { linear : function ( a ) { return a } , swing : function ( a ) { return . 5 - Math . cos ( a * Math . PI ) / 2 } } , m . fx = Zb . prototype . init , m . fx . step = { } ; var $b , _b , ac = /^(?:toggle|show|hide)$/ , bc = new RegExp ( "^(?:([+-])=|)(" + S + ")([a-z%]*)$" , "i" ) , cc = /queueHooks$/ , dc = [ ic ] , ec = { "*" : [ function ( a , b ) { var c = this . createTween ( a , b ) , d = c . cur ( ) , e = bc . exec ( b ) , f = e && e [ 3 ] || ( m . cssNumber [ a ] ? "" : "px" ) , g = ( m . cssNumber [ a ] || "px" !== f && + d ) && bc . exec ( m . css ( c . elem , a ) ) , h = 1 , i = 20 ; if ( g && g [ 3 ] !== f ) { f = f || g [ 3 ] , e = e || [ ] , g = + d || 1 ; do h = h || ".5" , g /= h , m . style ( c . elem , a , g + f ) ; while ( h !== ( h = c . cur ( ) / d ) && 1 !== h && -- i ) } return e && ( g = c . start = + g || + d || 0 , c . unit = f , c . end = e [ 1 ] ? g + ( e [ 1 ] + 1 ) * e [ 2 ] : + e [ 2 ] ) , c } ] } ; function fc ( ) { return setTimeout ( function ( ) { $b = void 0 } ) , $b = m . now ( ) } function gc ( a , b ) { var c , d = { height : a } , e = 0 ; for ( b = b ? 1 : 0 ; 4 > e ; e += 2 - b ) c = T [ e ] , d [ "margin" + c ] = d [ "padding" + c ] = a ; return b && ( d . opacity = d . width = a ) , d } function hc ( a , b , c ) { for ( var d , e = ( ec [ b ] || [ ] ) . concat ( ec [ "*" ] ) , f = 0 , g = e . length ; g > f ; f ++ ) if ( d = e [ f ] . call ( c , b , a ) ) return d } function ic ( a , b , c ) { var d , e , f , g , h , i , j , l , n = this , o = { } , p = a . style , q = a . nodeType && U ( a ) , r = m . _data ( a , "fxshow" ) ; c . queue || ( h = m . _queueHooks ( a , "fx" ) , null == h . unqueued && ( h . unqueued = 0 , i = h . empty . fire , h . empty . fire = function ( ) { h . unqueued || i ( ) } ) , h . unqueued ++ , n . always ( function ( ) { n . always ( function ( ) { h . unqueued -- , m . queue ( a , "fx" ) . length || h . empty . fire ( ) } ) } ) ) , 1 === a . nodeType && ( "height" in b || "width" in b ) && ( c . overflow = [ p . overflow , p . overflowX , p . overflowY ] , j = m . css ( a , "display" ) , l = "none" === j ? m . _data ( a , "olddisplay" ) || Fb ( a . nodeName ) : j , "inline" === l && "none" === m . css ( a , "float" ) && ( k . inlineBlockNeedsLayout && "inline" !== Fb ( a . nodeName ) ? p . zoom = 1 : p . display = "inline-block" ) ) , c . overflow && ( p . overflow = "hidden" , k . shrinkWrapBlocks ( ) || n . always ( function ( ) { p . overflow = c . overflow [ 0 ] , p . overflowX = c . overflow [ 1 ] , p . overflowY = c . overflow [ 2 ] } ) ) ; for ( d in b ) if ( e = b [ d ] , ac . exec ( e ) ) { if ( delete b [ d ] , f = f || "toggle" === e , e === ( q ? "hide" : "show" ) ) { if ( "show" !== e || ! r || void 0 === r [ d ] ) continue ; q = ! 0 } o [ d ] = r && r [ d ] || m . style ( a , d ) } else j = void 0 ; if ( m . isEmptyObject ( o ) ) "inline" === ( "none" === j ? Fb ( a . nodeName ) : j ) && ( p . display = j ) ; else { r ? "hidden" in r && ( q = r . hidden ) : r = m . _data ( a , "fxshow" , { } ) , f && ( r . hidden = ! q ) , q ? m ( a ) . show ( ) : n . done ( function ( ) { m ( a ) . hide ( ) } ) , n . done ( function ( ) { var b ; m . _removeData ( a , "fxshow" ) ; for ( b in o ) m . style ( a , b , o [ b ] ) } ) ; for ( d in o ) g = hc ( q ? r [ d ] : 0 , d , n ) , d in r || ( r [ d ] = g . start , q && ( g . end = g . start , g . start = "width" === d || "height" === d ? 1 : 0 ) ) } } function jc ( a , b ) { var c , d , e , f , g ; for ( c in a ) if ( d = m . camelCase ( c ) , e = b [ d ] , f = a [ c ] , m . isArray ( f ) && ( e = f [ 1 ] , f = a [ c ] = f [ 0 ] ) , c !== d && ( a [ d ] = f , delete a [ c ] ) , g = m . cssHooks [ d ] , g && "expand" in g ) { f = g . expand ( f ) , delete a [ d ] ; for ( c in f ) c in a || ( a [ c ] = f [ c ] , b [ c ] = e ) } else b [ d ] = e } function kc ( a , b , c ) { var d , e , f = 0 , g = dc . length , h = m . Deferred ( ) . always ( function ( ) { delete i . elem } ) , i = function ( ) { if ( e ) return ! 1 ; for ( var b = $b || fc ( ) , c = Math . max ( 0 , j . startTime + j . duration - b ) , d = c / j . duration || 0 , f = 1 - d , g = 0 , i = j . tweens . length ; i > g ; g ++ ) j . tweens [ g ] . run ( f ) ; return h . notifyWith ( a , [ j , f , c ] ) , 1 > f && i ? c : ( h . resolveWith ( a , [ j ] ) , ! 1 ) } , j = h . promise ( { elem : a , props : m . extend ( { } , b ) , opts : m . extend ( ! 0 , { specialEasing : { } } , c ) , originalProperties : b , originalOptions : c , startTime : $b || fc ( ) , duration : c . duration , tweens : [ ] , createTween : function ( b , c ) { var d = m . Tween ( a , j . opts , b , c , j . opts . specialEasing [ b ] || j . opts . easing ) ; r
2015-02-25 17:29:06 +01:00
/ * ! j Q u e r y U I - v 1 . 1 1 . 3 - 2 0 1 5 - 0 2 - 1 4
2014-12-22 19:15:38 +01:00
* http : //jqueryui.com
2015-02-25 17:29:06 +01:00
* Includes : core . js , widget . js , mouse . js , position . js , draggable . js , droppable . js , selectable . js , sortable . js , autocomplete . js , datepicker . js , menu . js , tooltip . js
* Copyright 2015 jQuery Foundation and other contributors ; Licensed MIT * /
2014-12-22 19:15:38 +01:00
2015-02-25 17:29:06 +01:00
( function ( e ) { "function" == typeof define && define . amd ? define ( [ "jquery" ] , e ) : e ( jQuery ) } ) ( function ( e ) { function t ( t , s ) { var n , a , o , r = t . nodeName . toLowerCase ( ) ; return "area" === r ? ( n = t . parentNode , a = n . name , t . href && a && "map" === n . nodeName . toLowerCase ( ) ? ( o = e ( "img[usemap='#" + a + "']" ) [ 0 ] , ! ! o && i ( o ) ) : ! 1 ) : ( /^(input|select|textarea|button|object)$/ . test ( r ) ? ! t . disabled : "a" === r ? t . href || s : s ) && i ( t ) } function i ( t ) { return e . expr . filters . visible ( t ) && ! e ( t ) . parents ( ) . addBack ( ) . filter ( function ( ) { return "hidden" === e . css ( this , "visibility" ) } ) . length } function s ( e ) { for ( var t , i ; e . length && e [ 0 ] !== document ; ) { if ( t = e . css ( "position" ) , ( "absolute" === t || "relative" === t || "fixed" === t ) && ( i = parseInt ( e . css ( "zIndex" ) , 10 ) , ! isNaN ( i ) && 0 !== i ) ) return i ; e = e . parent ( ) } return 0 } function n ( ) { this . _curInst = null , this . _keyEvent = ! 1 , this . _disabledInputs = [ ] , this . _datepickerShowing = ! 1 , this . _inDialog = ! 1 , this . _mainDivId = "ui-datepicker-div" , this . _inlineClass = "ui-datepicker-inline" , this . _appendClass = "ui-datepicker-append" , this . _triggerClass = "ui-datepicker-trigger" , this . _dialogClass = "ui-datepicker-dialog" , this . _disableClass = "ui-datepicker-disabled" , this . _unselectableClass = "ui-datepicker-unselectable" , this . _currentClass = "ui-datepicker-current-day" , this . _dayOverClass = "ui-datepicker-days-cell-over" , this . regional = [ ] , this . regional [ "" ] = { closeText : "Done" , prevText : "Prev" , nextText : "Next" , currentText : "Today" , monthNames : [ "January" , "February" , "March" , "April" , "May" , "June" , "July" , "August" , "September" , "October" , "November" , "December" ] , monthNamesShort : [ "Jan" , "Feb" , "Mar" , "Apr" , "May" , "Jun" , "Jul" , "Aug" , "Sep" , "Oct" , "Nov" , "Dec" ] , dayNames : [ "Sunday" , "Monday" , "Tuesday" , "Wednesday" , "Thursday" , "Friday" , "Saturday" ] , dayNamesShort : [ "Sun" , "Mon" , "Tue" , "Wed" , "Thu" , "Fri" , "Sat" ] , dayNamesMin : [ "Su" , "Mo" , "Tu" , "We" , "Th" , "Fr" , "Sa" ] , weekHeader : "Wk" , dateFormat : "mm/dd/yy" , firstDay : 0 , isRTL : ! 1 , showMonthAfterYear : ! 1 , yearSuffix : "" } , this . _defaults = { showOn : "focus" , showAnim : "fadeIn" , showOptions : { } , defaultDate : null , appendText : "" , buttonText : "..." , buttonImage : "" , buttonImageOnly : ! 1 , hideIfNoPrevNext : ! 1 , navigationAsDateFormat : ! 1 , gotoCurrent : ! 1 , changeMonth : ! 1 , changeYear : ! 1 , yearRange : "c-10:c+10" , showOtherMonths : ! 1 , selectOtherMonths : ! 1 , showWeek : ! 1 , calculateWeek : this . iso8601Week , shortYearCutoff : "+10" , minDate : null , maxDate : null , duration : "fast" , beforeShowDay : null , beforeShow : null , onSelect : null , onChangeMonthYear : null , onClose : null , numberOfMonths : 1 , showCurrentAtPos : 0 , stepMonths : 1 , stepBigMonths : 12 , altField : "" , altFormat : "" , constrainInput : ! 0 , showButtonPanel : ! 1 , autoSize : ! 1 , disabled : ! 1 } , e . extend ( this . _defaults , this . regional [ "" ] ) , this . regional . en = e . extend ( ! 0 , { } , this . regional [ "" ] ) , this . regional [ "en-US" ] = e . extend ( ! 0 , { } , this . regional . en ) , this . dpDiv = a ( e ( "<div id='" + this . _mainDivId + "' class='ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all'></div>" ) ) } function a ( t ) { var i = "button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a" ; return t . delegate ( i , "mouseout" , function ( ) { e ( this ) . removeClass ( "ui-state-hover" ) , - 1 !== this . className . indexOf ( "ui-datepicker-prev" ) && e ( this ) . removeClass ( "ui-datepicker-prev-hover" ) , - 1 !== this . className . indexOf ( "ui-datepicker-next" ) && e ( this ) . removeClass ( "ui-datepicker-next-hover" ) } ) . delegate ( i , "mouseover" , o ) } function o ( ) { e . datepicker . _isDisabledDatepicker ( d . inline ? d . dpDiv . parent ( ) [ 0 ] : d . input [ 0 ] ) || ( e ( this ) . parents ( ".ui-datepicker-calendar" ) . find ( "a" ) . removeClass ( "ui-state-hover" ) , e ( this ) . addClass ( "ui-state-hover" ) , - 1 !== this . className . indexOf ( "ui-datepicker-prev" ) && e ( this ) . addClass ( "ui-datepicker-prev-hover" ) , - 1 !== this . className . indexOf ( "ui-datepicker-next" ) && e ( this ) . addClass ( "ui-datepicker-next-hover" ) ) } function r ( t , i ) { e . extend ( t , i ) ; for ( var s in i ) null == i [ s ] && ( t [ s ] = i [ s ] ) ; return t } e . ui = e . ui || { } , e . extend ( e . ui , { version : "1.11.3" , keyCode : { BACKSPACE : 8 , COMMA : 188 , DELETE : 46 , DOWN : 40 , END : 35 , ENTER : 13 , ESCAPE : 27 , HOME : 36 , LEFT : 37 , PAGE _DOWN : 34 , PAGE _UP : 33 , PERIOD : 190 , RIGHT : 39 , SPACE : 32 , TAB : 9 , UP : 38 } } ) , e . fn . extend ( { scrollParent : function ( t ) { var i = this . css ( "position" ) , s = "absolute" === i , n = t ? /(auto|scroll|hidden)/ : /(auto|scroll)/ , a = this . parents ( ) . filter ( function ( ) { var t = e ( this ) ; return s && "static" === t . css ( "position" ) ? ! 1 : n . test ( t . css ( " over
} , _clear : function ( ) { this . helper . removeClass ( "ui-draggable-dragging" ) , this . helper [ 0 ] === this . element [ 0 ] || this . cancelHelperRemoval || this . helper . remove ( ) , this . helper = null , this . cancelHelperRemoval = ! 1 , this . destroyOnClear && this . destroy ( ) } , _normalizeRightBottom : function ( ) { "y" !== this . options . axis && "auto" !== this . helper . css ( "right" ) && ( this . helper . width ( this . helper . width ( ) ) , this . helper . css ( "right" , "auto" ) ) , "x" !== this . options . axis && "auto" !== this . helper . css ( "bottom" ) && ( this . helper . height ( this . helper . height ( ) ) , this . helper . css ( "bottom" , "auto" ) ) } , _trigger : function ( t , i , s ) { return s = s || this . _uiHash ( ) , e . ui . plugin . call ( this , t , [ i , s , this ] , ! 0 ) , /^(drag|start|stop)/ . test ( t ) && ( this . positionAbs = this . _convertPositionTo ( "absolute" ) , s . offset = this . positionAbs ) , e . Widget . prototype . _trigger . call ( this , t , i , s ) } , plugins : { } , _uiHash : function ( ) { return { helper : this . helper , position : this . position , originalPosition : this . originalPosition , offset : this . positionAbs } } } ) , e . ui . plugin . add ( "draggable" , "connectToSortable" , { start : function ( t , i , s ) { var n = e . extend ( { } , i , { item : s . element } ) ; s . sortables = [ ] , e ( s . options . connectToSortable ) . each ( function ( ) { var i = e ( this ) . sortable ( "instance" ) ; i && ! i . options . disabled && ( s . sortables . push ( i ) , i . refreshPositions ( ) , i . _trigger ( "activate" , t , n ) ) } ) } , stop : function ( t , i , s ) { var n = e . extend ( { } , i , { item : s . element } ) ; s . cancelHelperRemoval = ! 1 , e . each ( s . sortables , function ( ) { var e = this ; e . isOver ? ( e . isOver = 0 , s . cancelHelperRemoval = ! 0 , e . cancelHelperRemoval = ! 1 , e . _storedCSS = { position : e . placeholder . css ( "position" ) , top : e . placeholder . css ( "top" ) , left : e . placeholder . css ( "left" ) } , e . _mouseStop ( t ) , e . options . helper = e . options . _helper ) : ( e . cancelHelperRemoval = ! 0 , e . _trigger ( "deactivate" , t , n ) ) } ) } , drag : function ( t , i , s ) { e . each ( s . sortables , function ( ) { var n = ! 1 , a = this ; a . positionAbs = s . positionAbs , a . helperProportions = s . helperProportions , a . offset . click = s . offset . click , a . _intersectsWith ( a . containerCache ) && ( n = ! 0 , e . each ( s . sortables , function ( ) { return this . positionAbs = s . positionAbs , this . helperProportions = s . helperProportions , this . offset . click = s . offset . click , this !== a && this . _intersectsWith ( this . containerCache ) && e . contains ( a . element [ 0 ] , this . element [ 0 ] ) && ( n = ! 1 ) , n } ) ) , n ? ( a . isOver || ( a . isOver = 1 , a . currentItem = i . helper . appendTo ( a . element ) . data ( "ui-sortable-item" , ! 0 ) , a . options . _helper = a . options . helper , a . options . helper = function ( ) { return i . helper [ 0 ] } , t . target = a . currentItem [ 0 ] , a . _mouseCapture ( t , ! 0 ) , a . _mouseStart ( t , ! 0 , ! 0 ) , a . offset . click . top = s . offset . click . top , a . offset . click . left = s . offset . click . left , a . offset . parent . left -= s . offset . parent . left - a . offset . parent . left , a . offset . parent . top -= s . offset . parent . top - a . offset . parent . top , s . _trigger ( "toSortable" , t ) , s . dropped = a . element , e . each ( s . sortables , function ( ) { this . refreshPositions ( ) } ) , s . currentItem = s . element , a . fromOutside = s ) , a . currentItem && ( a . _mouseDrag ( t ) , i . position = a . position ) ) : a . isOver && ( a . isOver = 0 , a . cancelHelperRemoval = ! 0 , a . options . _revert = a . options . revert , a . options . revert = ! 1 , a . _trigger ( "out" , t , a . _uiHash ( a ) ) , a . _mouseStop ( t , ! 0 ) , a . options . revert = a . options . _revert , a . options . helper = a . options . _helper , a . placeholder && a . placeholder . remove ( ) , s . _refreshOffsets ( t ) , i . position = s . _generatePosition ( t , ! 0 ) , s . _trigger ( "fromSortable" , t ) , s . dropped = ! 1 , e . each ( s . sortables , function ( ) { this . refreshPositions ( ) } ) ) } ) } } ) , e . ui . plugin . add ( "draggable" , "cursor" , { start : function ( t , i , s ) { var n = e ( "body" ) , a = s . options ; n . css ( "cursor" ) && ( a . _cursor = n . css ( "cursor" ) ) , n . css ( "cursor" , a . cursor ) } , stop : function ( t , i , s ) { var n = s . options ; n . _cursor && e ( "body" ) . css ( "cursor" , n . _cursor ) } } ) , e . ui . plugin . add ( "draggable" , "opacity" , { start : function ( t , i , s ) { var n = e ( i . helper ) , a = s . options ; n . css ( "opacity" ) && ( a . _opacity = n . css ( "opacity" ) ) , n . css ( "opacity" , a . opacity ) } , stop : function ( t , i , s ) { var n = s . options ; n . _opacity && e ( i . helper ) . css ( "opacity" , n . _opacity ) } } ) , e . ui . plugin . add ( "draggable" , "scroll" , { start : function ( e , t , i ) { i . scrollParentNotHidden || ( i . scrollParentNotHidden = i . helper . scrollParent ( ! 1 ) ) , i . scrollParentNotHidden [ 0 ] !== i . document [ 0 ] && "HTML" !== i . scrollParentNotHidden [ 0 ] . tagName && ( i . overflowOffset = i . scrollParentNotHidden . offset ( ) ) } , drag : function ( t , i , s ) { var n = s . options , a = ! 1 , o = s . scrollParentNotHidden [ 0 ] , r = s . document [ 0 ] ; o !== r && "HTML" !== o . tagName ? ( n . axis && "x"
if ( c ) if ( 1 === this . containers . length ) this . containers [ p ] . containerCache . over || ( this . containers [ p ] . _trigger ( "over" , t , this . _uiHash ( this ) ) , this . containers [ p ] . containerCache . over = 1 ) ; else { for ( n = 1e4 , a = null , u = c . floating || this . _isFloating ( this . currentItem ) , o = u ? "left" : "top" , r = u ? "width" : "height" , d = u ? "clientX" : "clientY" , s = this . items . length - 1 ; s >= 0 ; s -- ) e . contains ( this . containers [ p ] . element [ 0 ] , this . items [ s ] . item [ 0 ] ) && this . items [ s ] . item [ 0 ] !== this . currentItem [ 0 ] && ( h = this . items [ s ] . item . offset ( ) [ o ] , l = ! 1 , t [ d ] - h > this . items [ s ] [ r ] / 2 && ( l = ! 0 ) , n > Math . abs ( t [ d ] - h ) && ( n = Math . abs ( t [ d ] - h ) , a = this . items [ s ] , this . direction = l ? "up" : "down" ) ) ; if ( ! a && ! this . options . dropOnEmpty ) return ; if ( this . currentContainer === this . containers [ p ] ) return this . currentContainer . containerCache . over || ( this . containers [ p ] . _trigger ( "over" , t , this . _uiHash ( ) ) , this . currentContainer . containerCache . over = 1 ) , void 0 ; a ? this . _rearrange ( t , a , null , ! 0 ) : this . _rearrange ( t , null , this . containers [ p ] . element , ! 0 ) , this . _trigger ( "change" , t , this . _uiHash ( ) ) , this . containers [ p ] . _trigger ( "change" , t , this . _uiHash ( this ) ) , this . currentContainer = this . containers [ p ] , this . options . placeholder . update ( this . currentContainer , this . placeholder ) , this . containers [ p ] . _trigger ( "over" , t , this . _uiHash ( this ) ) , this . containers [ p ] . containerCache . over = 1 } } , _createHelper : function ( t ) { var i = this . options , s = e . isFunction ( i . helper ) ? e ( i . helper . apply ( this . element [ 0 ] , [ t , this . currentItem ] ) ) : "clone" === i . helper ? this . currentItem . clone ( ) : this . currentItem ; return s . parents ( "body" ) . length || e ( "parent" !== i . appendTo ? i . appendTo : this . currentItem [ 0 ] . parentNode ) [ 0 ] . appendChild ( s [ 0 ] ) , s [ 0 ] === this . currentItem [ 0 ] && ( this . _storedCSS = { width : this . currentItem [ 0 ] . style . width , height : this . currentItem [ 0 ] . style . height , position : this . currentItem . css ( "position" ) , top : this . currentItem . css ( "top" ) , left : this . currentItem . css ( "left" ) } ) , ( ! s [ 0 ] . style . width || i . forceHelperSize ) && s . width ( this . currentItem . width ( ) ) , ( ! s [ 0 ] . style . height || i . forceHelperSize ) && s . height ( this . currentItem . height ( ) ) , s } , _adjustOffsetFromHelper : function ( t ) { "string" == typeof t && ( t = t . split ( " " ) ) , e . isArray ( t ) && ( t = { left : + t [ 0 ] , top : + t [ 1 ] || 0 } ) , "left" in t && ( this . offset . click . left = t . left + this . margins . left ) , "right" in t && ( this . offset . click . left = this . helperProportions . width - t . right + this . margins . left ) , "top" in t && ( this . offset . click . top = t . top + this . margins . top ) , "bottom" in t && ( this . offset . click . top = this . helperProportions . height - t . bottom + this . margins . top ) } , _getParentOffset : function ( ) { this . offsetParent = this . helper . offsetParent ( ) ; var t = this . offsetParent . offset ( ) ; return "absolute" === this . cssPosition && this . scrollParent [ 0 ] !== this . document [ 0 ] && e . contains ( this . scrollParent [ 0 ] , this . offsetParent [ 0 ] ) && ( t . left += this . scrollParent . scrollLeft ( ) , t . top += this . scrollParent . scrollTop ( ) ) , ( this . offsetParent [ 0 ] === this . document [ 0 ] . body || this . offsetParent [ 0 ] . tagName && "html" === this . offsetParent [ 0 ] . tagName . toLowerCase ( ) && e . ui . ie ) && ( t = { top : 0 , left : 0 } ) , { top : t . top + ( parseInt ( this . offsetParent . css ( "borderTopWidth" ) , 10 ) || 0 ) , left : t . left + ( parseInt ( this . offsetParent . css ( "borderLeftWidth" ) , 10 ) || 0 ) } } , _getRelativeOffset : function ( ) { if ( "relative" === this . cssPosition ) { var e = this . currentItem . position ( ) ; return { top : e . top - ( parseInt ( this . helper . css ( "top" ) , 10 ) || 0 ) + this . scrollParent . scrollTop ( ) , left : e . left - ( parseInt ( this . helper . css ( "left" ) , 10 ) || 0 ) + this . scrollParent . scrollLeft ( ) } } return { top : 0 , left : 0 } } , _cacheMargins : function ( ) { this . margins = { left : parseInt ( this . currentItem . css ( "marginLeft" ) , 10 ) || 0 , top : parseInt ( this . currentItem . css ( "marginTop" ) , 10 ) || 0 } } , _cacheHelperProportions : function ( ) { this . helperProportions = { width : this . helper . outerWidth ( ) , height : this . helper . outerHeight ( ) } } , _setContainment : function ( ) { var t , i , s , n = this . options ; "parent" === n . containment && ( n . containment = this . helper [ 0 ] . parentNode ) , ( "document" === n . containment || "window" === n . containment ) && ( this . containment = [ 0 - this . offset . relative . left - this . offset . parent . left , 0 - this . offset . relative . top - this . offset . parent . top , "document" === n . containment ? this . document . width ( ) : this . window . width ( ) - this . helperProportions . width - this . margins . left , ( "document" === n . containment ? this . document . width ( ) : this . window . height ( ) || this . document [ 0 ] . body . parentNode . scrollHeight ) - this .
} ) ) } , _disableDatepicker : function ( t ) { var i , s , n = e ( t ) , a = e . data ( t , "datepicker" ) ; n . hasClass ( this . markerClassName ) && ( i = t . nodeName . toLowerCase ( ) , "input" === i ? ( t . disabled = ! 0 , a . trigger . filter ( "button" ) . each ( function ( ) { this . disabled = ! 0 } ) . end ( ) . filter ( "img" ) . css ( { opacity : "0.5" , cursor : "default" } ) ) : ( "div" === i || "span" === i ) && ( s = n . children ( "." + this . _inlineClass ) , s . children ( ) . addClass ( "ui-state-disabled" ) , s . find ( "select.ui-datepicker-month, select.ui-datepicker-year" ) . prop ( "disabled" , ! 0 ) ) , this . _disabledInputs = e . map ( this . _disabledInputs , function ( e ) { return e === t ? null : e } ) , this . _disabledInputs [ this . _disabledInputs . length ] = t ) } , _isDisabledDatepicker : function ( e ) { if ( ! e ) return ! 1 ; for ( var t = 0 ; this . _disabledInputs . length > t ; t ++ ) if ( this . _disabledInputs [ t ] === e ) return ! 0 ; return ! 1 } , _getInst : function ( t ) { try { return e . data ( t , "datepicker" ) } catch ( i ) { throw "Missing instance data for this datepicker" } } , _optionDatepicker : function ( t , i , s ) { var n , a , o , h , l = this . _getInst ( t ) ; return 2 === arguments . length && "string" == typeof i ? "defaults" === i ? e . extend ( { } , e . datepicker . _defaults ) : l ? "all" === i ? e . extend ( { } , l . settings ) : this . _get ( l , i ) : null : ( n = i || { } , "string" == typeof i && ( n = { } , n [ i ] = s ) , l && ( this . _curInst === l && this . _hideDatepicker ( ) , a = this . _getDateDatepicker ( t , ! 0 ) , o = this . _getMinMaxDate ( l , "min" ) , h = this . _getMinMaxDate ( l , "max" ) , r ( l . settings , n ) , null !== o && void 0 !== n . dateFormat && void 0 === n . minDate && ( l . settings . minDate = this . _formatDate ( l , o ) ) , null !== h && void 0 !== n . dateFormat && void 0 === n . maxDate && ( l . settings . maxDate = this . _formatDate ( l , h ) ) , "disabled" in n && ( n . disabled ? this . _disableDatepicker ( t ) : this . _enableDatepicker ( t ) ) , this . _attachments ( e ( t ) , l ) , this . _autoSize ( l ) , this . _setDate ( l , a ) , this . _updateAlternate ( l ) , this . _updateDatepicker ( l ) ) , void 0 ) } , _changeDatepicker : function ( e , t , i ) { this . _optionDatepicker ( e , t , i ) } , _refreshDatepicker : function ( e ) { var t = this . _getInst ( e ) ; t && this . _updateDatepicker ( t ) } , _setDateDatepicker : function ( e , t ) { var i = this . _getInst ( e ) ; i && ( this . _setDate ( i , t ) , this . _updateDatepicker ( i ) , this . _updateAlternate ( i ) ) } , _getDateDatepicker : function ( e , t ) { var i = this . _getInst ( e ) ; return i && ! i . inline && this . _setDateFromField ( i , t ) , i ? this . _getDate ( i ) : null } , _doKeyDown : function ( t ) { var i , s , n , a = e . datepicker . _getInst ( t . target ) , o = ! 0 , r = a . dpDiv . is ( ".ui-datepicker-rtl" ) ; if ( a . _keyEvent = ! 0 , e . datepicker . _datepickerShowing ) switch ( t . keyCode ) { case 9 : e . datepicker . _hideDatepicker ( ) , o = ! 1 ; break ; case 13 : return n = e ( "td." + e . datepicker . _dayOverClass + ":not(." + e . datepicker . _currentClass + ")" , a . dpDiv ) , n [ 0 ] && e . datepicker . _selectDay ( t . target , a . selectedMonth , a . selectedYear , n [ 0 ] ) , i = e . datepicker . _get ( a , "onSelect" ) , i ? ( s = e . datepicker . _formatDate ( a ) , i . apply ( a . input ? a . input [ 0 ] : null , [ s , a ] ) ) : e . datepicker . _hideDatepicker ( ) , ! 1 ; case 27 : e . datepicker . _hideDatepicker ( ) ; break ; case 33 : e . datepicker . _adjustDate ( t . target , t . ctrlKey ? - e . datepicker . _get ( a , "stepBigMonths" ) : - e . datepicker . _get ( a , "stepMonths" ) , "M" ) ; break ; case 34 : e . datepicker . _adjustDate ( t . target , t . ctrlKey ? + e . datepicker . _get ( a , "stepBigMonths" ) : + e . datepicker . _get ( a , "stepMonths" ) , "M" ) ; break ; case 35 : ( t . ctrlKey || t . metaKey ) && e . datepicker . _clearDate ( t . target ) , o = t . ctrlKey || t . metaKey ; break ; case 36 : ( t . ctrlKey || t . metaKey ) && e . datepicker . _gotoToday ( t . target ) , o = t . ctrlKey || t . metaKey ; break ; case 37 : ( t . ctrlKey || t . metaKey ) && e . datepicker . _adjustDate ( t . target , r ? 1 : - 1 , "D" ) , o = t . ctrlKey || t . metaKey , t . originalEvent . altKey && e . datepicker . _adjustDate ( t . target , t . ctrlKey ? - e . datepicker . _get ( a , "stepBigMonths" ) : - e . datepicker . _get ( a , "stepMonths" ) , "M" ) ; break ; case 38 : ( t . ctrlKey || t . metaKey ) && e . datepicker . _adjustDate ( t . target , - 7 , "D" ) , o = t . ctrlKey || t . metaKey ; break ; case 39 : ( t . ctrlKey || t . metaKey ) && e . datepicker . _adjustDate ( t . target , r ? - 1 : 1 , "D" ) , o = t . ctrlKey || t . metaKey , t . originalEvent . altKey && e . datepicker . _adjustDate ( t . target , t . ctrlKey ? + e . datepicker . _get ( a , "stepBigMonths" ) : + e . datepicker . _get ( a , "stepMonths" ) , "M" ) ; break ; case 40 : ( t . ctrlKey || t . metaKey ) && e . datepicker . _adjustDate ( t . target , 7 , "D" ) , o = t . ctrlKey || t . metaKey ; break ; default : o = ! 1 } else 36 === t . keyCode && t . ctrlKey ? e . datepicker . _showDatepicker ( this ) : o = ! 1 ; o && ( t . preventDefault ( ) , t . stopPropagation ( ) ) } , _doKeyPress : function ( t ) { var i , s , n = e . datepicker . _getInst ( t . target ) ; return e . datepicker . _get ( n , " constrainInp
} ) , n . removeData ( "ui-tooltip-open" ) , this . _off ( n , "mouseleave focusout keyup" ) , n [ 0 ] !== this . element [ 0 ] && this . _off ( n , "remove" ) , this . _off ( this . document , "mousemove" ) , t && "mouseleave" === t . type && e . each ( this . parents , function ( t , i ) { e ( i . element ) . attr ( "title" , i . title ) , delete s . parents [ t ] } ) , a . closing = ! 0 , this . _trigger ( "close" , t , { tooltip : i } ) , a . hiding || ( a . closing = ! 1 ) ) ) } , _tooltip : function ( t ) { var i = e ( "<div>" ) . attr ( "role" , "tooltip" ) . addClass ( "ui-tooltip ui-widget ui-corner-all ui-widget-content " + ( this . options . tooltipClass || "" ) ) , s = i . uniqueId ( ) . attr ( "id" ) ; return e ( "<div>" ) . addClass ( "ui-tooltip-content" ) . appendTo ( i ) , i . appendTo ( this . document [ 0 ] . body ) , this . tooltips [ s ] = { element : t , tooltip : i } } , _find : function ( e ) { var t = e . data ( "ui-tooltip-id" ) ; return t ? this . tooltips [ t ] : null } , _removeTooltip : function ( e ) { e . remove ( ) , delete this . tooltips [ e . attr ( "id" ) ] } , _destroy : function ( ) { var t = this ; e . each ( this . tooltips , function ( i , s ) { var n = e . Event ( "blur" ) , a = s . element ; n . target = n . currentTarget = a [ 0 ] , t . close ( n , ! 0 ) , e ( "#" + i ) . remove ( ) , a . data ( "ui-tooltip-title" ) && ( a . attr ( "title" ) || a . attr ( "title" , a . data ( "ui-tooltip-title" ) ) , a . removeData ( "ui-tooltip-title" ) ) } ) , this . liveRegion . remove ( ) } } ) } ) ; ( function ( b ) { function c ( a , b ) { if ( ! ( 1 < a . originalEvent . touches . length ) ) { 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 ) } } var f = ! 1 , g , h ; b . support . touch = "ontouchend" in document ; b . support . mspointer = window . navigator . msPointerEnabled ; if ( b . support . touch || b . support . mspointer ) { var d = b . ui . mouse . prototype , k = d . _mouseInit , l = d . _mouseDestroy , e ; d . _touchStart =
2014-12-22 19:15:38 +01:00
function ( a ) { ! e && this . _mouseCapture ( a . originalEvent . changedTouches [ 0 ] ) && ( e = ! 0 , f = ! 1 , g = + new Date , c ( a , "mouseover" ) , c ( a , "mousemove" ) , c ( a , "mousedown" ) ) } ; d . _touchMove = function ( a ) { e && ( f = ! 0 , c ( a , "mousemove" ) ) } ; d . _touchEnd = function ( a ) { e && ( h = + new Date , c ( a , "mouseup" ) , c ( a , "mouseout" ) , ( ! f || 300 > h - g ) && c ( a , "click" ) , e = ! 1 ) } ; d . _mouseInit = function ( ) { b . support . mspointer && ( this . element [ 0 ] . style . msTouchAction = "none" ) ; this . element . bind ( { touchstart : b . proxy ( this , "_touchStart" ) , touchmove : b . proxy ( this , "_touchMove" ) , touchend : b . proxy ( this ,
"_touchEnd" ) } ) ; k . call ( this ) } ; d . _mouseDestroy = function ( ) { this . element . unbind ( { touchstart : b . proxy ( this , "_touchStart" ) , touchmove : b . proxy ( this , "_touchMove" ) , touchend : b . proxy ( this , "_touchEnd" ) } ) ; l . call ( this ) } } } ) ( jQuery ) ;
/* Chosen v1.1.0 | (c) 2011-2013 by Harvest | MIT License, https://github.com/harvesthq/chosen/blob/master/LICENSE.md */
2015-02-25 17:29:06 +01:00
! function ( ) { var a , AbstractChosen , Chosen , SelectParser , b , c = { } . hasOwnProperty , d = function ( a , b ) { function d ( ) { this . constructor = a } for ( var e in b ) c . call ( b , e ) && ( a [ e ] = b [ e ] ) ; return d . prototype = b . prototype , a . prototype = new d , a . _ _super _ _ = b . prototype , a } ; SelectParser = function ( ) { function SelectParser ( ) { this . options _index = 0 , this . parsed = [ ] } return SelectParser . prototype . add _node = function ( a ) { return "OPTGROUP" === a . nodeName . toUpperCase ( ) ? this . add _group ( a ) : this . add _option ( a ) } , SelectParser . prototype . add _group = function ( a ) { var b , c , d , e , f , g ; for ( b = this . parsed . length , this . parsed . push ( { array _index : b , group : ! 0 , label : this . escapeExpression ( a . label ) , children : 0 , disabled : a . disabled } ) , f = a . childNodes , g = [ ] , d = 0 , e = f . length ; e > d ; d ++ ) c = f [ d ] , g . push ( this . add _option ( c , b , a . disabled ) ) ; return g } , SelectParser . prototype . add _option = function ( a , b , c ) { return "OPTION" === a . nodeName . toUpperCase ( ) ? ( "" !== a . text ? ( null != b && ( this . parsed [ b ] . children += 1 ) , this . parsed . push ( { array _index : this . parsed . length , options _index : this . options _index , value : a . value , text : a . text , html : a . innerHTML , selected : a . selected , disabled : c === ! 0 ? c : a . disabled , group _array _index : b , classes : a . className , style : a . style . cssText } ) ) : this . parsed . push ( { array _index : this . parsed . length , options _index : this . options _index , empty : ! 0 } ) , this . options _index += 1 ) : void 0 } , SelectParser . prototype . escapeExpression = function ( a ) { var b , c ; return null == a || a === ! 1 ? "" : /[\&\<\>\"\'\`]/ . test ( a ) ? ( b = { "<" : "<" , ">" : ">" , '"' : """ , "'" : "'" , "`" : "`" } , c = /&(?!\w+;)|[\<\>\"\'\`]/g , a . replace ( c , function ( a ) { return b [ a ] || "&" } ) ) : a } , SelectParser } ( ) , SelectParser . select _to _array = function ( a ) { var b , c , d , e , f ; for ( c = new SelectParser , f = a . childNodes , d = 0 , e = f . length ; e > d ; d ++ ) b = f [ d ] , c . add _node ( b ) ; return c . parsed } , AbstractChosen = function ( ) { function AbstractChosen ( a , b ) { this . form _field = a , this . options = null != b ? b : { } , AbstractChosen . browser _is _supported ( ) && ( this . is _multiple = this . form _field . multiple , this . set _default _text ( ) , this . set _default _values ( ) , this . setup ( ) , this . set _up _html ( ) , this . register _observers ( ) ) } return AbstractChosen . prototype . set _default _values = function ( ) { var a = this ; return this . click _test _action = function ( b ) { return a . test _active _click ( b ) } , this . activate _action = function ( b ) { return a . activate _field ( b ) } , this . active _field = ! 1 , this . mouse _on _container = ! 1 , this . results _showing = ! 1 , this . result _highlighted = null , this . allow _single _deselect = null != this . options . allow _single _deselect && null != this . form _field . options [ 0 ] && "" === this . form _field . options [ 0 ] . text ? this . options . allow _single _deselect : ! 1 , this . disable _search _threshold = this . options . disable _search _threshold || 0 , this . disable _search = this . options . disable _search || ! 1 , this . enable _split _word _search = null != this . options . enable _split _word _search ? this . options . enable _split _word _search : ! 0 , this . group _search = null != this . options . group _search ? this . options . group _search : ! 0 , this . search _contains = this . options . search _contains || ! 1 , this . single _backstroke _delete = null != this . options . single _backstroke _delete ? this . options . single _backstroke _delete : ! 0 , this . max _selected _options = this . options . max _selected _options || 1 / 0 , this . inherit _select _classes = this . options . inherit _select _classes || ! 1 , this . display _selected _options = null != this . options . display _selected _options ? this . options . display _selected _options : ! 0 , this . display _disabled _options = null != this . options . display _disabled _options ? this . options . display _disabled _options : ! 0 } , AbstractChosen . prototype . set _default _text = function ( ) { return this . default _text = this . form _field . getAttribute ( "data-placeholder" ) ? this . form _field . getAttribute ( "data-placeholder" ) : this . is _multiple ? this . options . placeholder _text _multiple || this . options . placeholder _text || AbstractChosen . default _multiple _text : this . options . placeholder _text _single || this . options . placeholder _text || AbstractChosen . default _single _text , this . results _none _found = this . form _field . getAttribute ( "data-no_results_text" ) || this . options . no _results _text || AbstractChosen . default _no _result _text } , AbstractChosen . prototype . mouse _enter = function ( ) { return this . mouse _on _container = ! 0 } , AbstractChosen . prototype . mouse _leave = function ( ) { return this . mouse _on _container = ! 1 } , AbstractChosen . prototype . input _focus = function ( ) { var a = this ; if ( thi
* Dropit v1 . 1.0
* http : //dev7studios.com/dropit
*
* Copyright 2012 , Dev7studios
* Free to use and abuse under the MIT license .
* http : //www.opensource.org/licenses/mit-license.php
* /
; ( function ( $ ) {
$ . fn . dropit = function ( method ) {
var methods = {
init : function ( options ) {
this . dropit . settings = $ . extend ( { } , this . dropit . defaults , options ) ;
return this . each ( function ( ) {
var $el = $ ( this ) ,
el = this ,
settings = $ . fn . dropit . settings ;
// Hide initial submenus
$el . addClass ( 'dropit' )
. find ( '>' + settings . triggerParentEl + ':has(' + settings . submenuEl + ')' ) . addClass ( 'dropit-trigger' )
. find ( settings . submenuEl ) . addClass ( 'dropit-submenu' ) . hide ( ) ;
// Open on click
$el . on ( settings . action , settings . triggerParentEl + ':has(' + settings . submenuEl + ') > ' + settings . triggerEl + '' , function ( ) {
// Close click menu's if clicked again
if ( settings . action == 'click' && $ ( this ) . parents ( settings . triggerParentEl ) . hasClass ( 'dropit-open' ) ) {
settings . beforeHide . call ( this ) ;
$ ( this ) . parent ( ) . removeClass ( 'dropit-open' ) . find ( settings . submenuEl ) . hide ( ) ;
// $(this).parents(settings.triggerParentEl).removeClass('dropit-open').find(settings.submenuEl).hide();
settings . afterHide . call ( this ) ;
return false ;
}
// Hide open menus
settings . beforeHide . call ( this ) ;
$ ( '.dropit-open' ) . removeClass ( 'dropit-open' ) . find ( '.dropit-submenu' ) . hide ( ) ;
settings . afterHide . call ( this ) ;
// Open this menu
settings . beforeShow . call ( this ) ;
$ ( this ) . parent ( ) . addClass ( 'dropit-open' ) . find ( settings . submenuEl ) . show ( ) ;
// $(this).parents(settings.triggerParentEl).addClass('dropit-open').find(settings.submenuEl).show();
settings . afterShow . call ( this ) ;
return false ;
} ) ;
// Close if outside click
$ ( document ) . on ( 'click' , function ( ) {
settings . beforeHide . call ( this ) ;
$ ( '.dropit-open' ) . removeClass ( 'dropit-open' ) . find ( '.dropit-submenu' ) . hide ( ) ;
settings . afterHide . call ( this ) ;
} ) ;
// If hover
if ( settings . action == 'mouseenter' ) {
$el . on ( 'mouseleave' , function ( ) {
settings . beforeHide . call ( this ) ;
$ ( this ) . removeClass ( 'dropit-open' ) . find ( settings . submenuEl ) . hide ( ) ;
settings . afterHide . call ( this ) ;
} ) ;
}
settings . afterLoad . call ( this ) ;
} ) ;
}
} ;
if ( methods [ method ] ) {
return methods [ method ] . apply ( this , Array . prototype . slice . call ( arguments , 1 ) ) ;
} else if ( typeof method === 'object' || ! method ) {
return methods . init . apply ( this , arguments ) ;
} else {
$ . error ( 'Method "' + method + '" does not exist in dropit plugin!' ) ;
}
} ;
$ . fn . dropit . defaults = {
action : 'click' , // The open action for the trigger
submenuEl : 'ul' , // The submenu element
triggerEl : 'a' , // The trigger element
triggerParentEl : 'li' , // The trigger parent element
afterLoad : function ( ) { } , // Triggers when plugin has loaded
beforeShow : function ( ) { } , // Triggers before submenu is shown
afterShow : function ( ) { } , // Triggers after submenu is shown
beforeHide : function ( ) { } , // Triggers before submenu is hidden
afterHide : function ( ) { } // Triggers before submenu is hidden
} ;
$ . fn . dropit . settings = { } ;
} ) ( jQuery ) ; //! moment.js
//! version : 2.9.0
//! authors : Tim Wood, Iskren Chernev, Moment.js contributors
//! license : MIT
//! momentjs.com
( function ( a ) { function b ( a , b , c ) { switch ( arguments . length ) { case 2 : return null != a ? a : b ; case 3 : return null != a ? a : null != b ? b : c ; default : throw new Error ( "Implement me" ) } } function c ( a , b ) { return Bb . call ( a , b ) } function d ( ) { return { empty : ! 1 , unusedTokens : [ ] , unusedInput : [ ] , overflow : - 2 , charsLeftOver : 0 , nullInput : ! 1 , invalidMonth : null , invalidFormat : ! 1 , userInvalidated : ! 1 , iso : ! 1 } } function e ( a ) { vb . suppressDeprecationWarnings === ! 1 && "undefined" != typeof console && console . warn && console . warn ( "Deprecation warning: " + a ) } function f ( a , b ) { var c = ! 0 ; return o ( function ( ) { return c && ( e ( a ) , c = ! 1 ) , b . apply ( this , arguments ) } , b ) } function g ( a , b ) { sc [ a ] || ( e ( b ) , sc [ a ] = ! 0 ) } function h ( a , b ) { return function ( c ) { return r ( a . call ( this , c ) , b ) } } function i ( a , b ) { return function ( c ) { return this . localeData ( ) . ordinal ( a . call ( this , c ) , b ) } } function j ( a , b ) { var c , d , e = 12 * ( b . year ( ) - a . year ( ) ) + ( b . month ( ) - a . month ( ) ) , f = a . clone ( ) . add ( e , "months" ) ; return 0 > b - f ? ( c = a . clone ( ) . add ( e - 1 , "months" ) , d = ( b - f ) / ( f - c ) ) : ( c = a . clone ( ) . add ( e + 1 , "months" ) , d = ( b - f ) / ( c - f ) ) , - ( e + d ) } function k ( a , b , c ) { var d ; return null == c ? b : null != a . meridiemHour ? a . meridiemHour ( b , c ) : null != a . isPM ? ( d = a . isPM ( c ) , d && 12 > b && ( b += 12 ) , d || 12 !== b || ( b = 0 ) , b ) : b } function l ( ) { } function m ( a , b ) { b !== ! 1 && H ( a ) , p ( this , a ) , this . _d = new Date ( + a . _d ) , uc === ! 1 && ( uc = ! 0 , vb . updateOffset ( this ) , uc = ! 1 ) } function n ( a ) { var b = A ( a ) , c = b . year || 0 , d = b . quarter || 0 , e = b . month || 0 , f = b . week || 0 , g = b . day || 0 , h = b . hour || 0 , i = b . minute || 0 , j = b . second || 0 , k = b . millisecond || 0 ; this . _milliseconds = + k + 1e3 * j + 6e4 * i + 36e5 * h , this . _days = + g + 7 * f , this . _months = + e + 3 * d + 12 * c , this . _data = { } , this . _locale = vb . localeData ( ) , this . _bubble ( ) } function o ( a , b ) { for ( var d in b ) c ( b , d ) && ( a [ d ] = b [ d ] ) ; return c ( b , "toString" ) && ( a . toString = b . toString ) , c ( b , "valueOf" ) && ( a . valueOf = b . valueOf ) , a } function p ( a , b ) { var c , d , e ; if ( "undefined" != typeof b . _isAMomentObject && ( a . _isAMomentObject = b . _isAMomentObject ) , "undefined" != typeof b . _i && ( a . _i = b . _i ) , "undefined" != typeof b . _f && ( a . _f = b . _f ) , "undefined" != typeof b . _l && ( a . _l = b . _l ) , "undefined" != typeof b . _strict && ( a . _strict = b . _strict ) , "undefined" != typeof b . _tzm && ( a . _tzm = b . _tzm ) , "undefined" != typeof b . _isUTC && ( a . _isUTC = b . _isUTC ) , "undefined" != typeof b . _offset && ( a . _offset = b . _offset ) , "undefined" != typeof b . _pf && ( a . _pf = b . _pf ) , "undefined" != typeof b . _locale && ( a . _locale = b . _locale ) , Kb . length > 0 ) for ( c in Kb ) d = Kb [ c ] , e = b [ d ] , "undefined" != typeof e && ( a [ d ] = e ) ; return a } function q ( a ) { return 0 > a ? Math . ceil ( a ) : Math . floor ( a ) } function r ( a , b , c ) { for ( var d = "" + Math . abs ( a ) , e = a >= 0 ; d . length < b ; ) d = "0" + d ; return ( e ? c ? "+" : "" : "-" ) + d } function s ( a , b ) { var c = { milliseconds : 0 , months : 0 } ; return c . months = b . month ( ) - a . month ( ) + 12 * ( b . year ( ) - a . year ( ) ) , a . clone ( ) . add ( c . months , "M" ) . isAfter ( b ) && -- c . months , c . milliseconds = + b - + a . clone ( ) . add ( c . months , "M" ) , c } function t ( a , b ) { var c ; return b = M ( b , a ) , a . isBefore ( b ) ? c = s ( a , b ) : ( c = s ( b , a ) , c . milliseconds = - c . milliseconds , c . months = - c . months ) , c } function u ( a , b ) { return function ( c , d ) { var e , f ; return null === d || isNaN ( + d ) || ( g ( b , "moment()." + b + "(period, number) is deprecated. Please use moment()." + b + "(number, period)." ) , f = c , c = d , d = f ) , c = "string" == typeof c ? + c : c , e = vb . duration ( c , d ) , v ( this , e , a ) , this } } function v ( a , b , c , d ) { var e = b . _milliseconds , f = b . _days , g = b . _months ; d = null == d ? ! 0 : d , e && a . _d . setTime ( + a . _d + e * c ) , f && pb ( a , "Date" , ob ( a , "Date" ) + f * c ) , g && nb ( a , ob ( a , "Month" ) + g * c ) , d && vb . updateOffset ( a , f || g ) } function w ( a ) { return "[object Array]" === Object . prototype . toString . call ( a ) } function x ( a ) { return "[object Date]" === Object . prototype . toString . call ( a ) || a instanceof Date } function y ( a , b , c ) { var d , e = Math . min ( a . length , b . length ) , f = Math . abs ( a . length - b . length ) , g = 0 ; for ( d = 0 ; e > d ; d ++ ) ( c && a [ d ] !== b [ d ] || ! c && C ( a [ d ] ) !== C ( b [ d ] ) ) && g ++ ; return g + f } function z ( a ) { if ( a ) { var b = a . toLowerCase ( ) . replace ( /(.)s$/ , "$1" ) ; a = lc [ a ] || mc [ b ] || b } return a } function A ( a ) { var b , d , e = { } ; for ( d in a ) c ( a , d ) && ( b = z ( d ) , b && ( e [ b ] = a [ d ] ) ) ; return e } function B ( b ) { var c , d ; if ( 0 === b . indexOf ( "week" ) ) c = 7 , d = "day" ; else { if ( 0 !== b . indexOf ( "month" ) ) return ; c = 12 , d = "month" } vb [ b ] = function ( e , f ) { var g , h , i = vb . _locale [ b ] , j = [ ] ; if ( "number" == typeof e && ( f = e , e = a ) , h = function ( a ) { var b = vb ( ) . utc ( ) . set ( d , a ) ; return i . call ( vb . _locale , b , e || "" ) } , null != f ) return h ( f ) ; for ( g = 0 ; c > g ; g ++ ) j . push ( h ( g ) ) ; return j } } function C ( a ) { var b = + a , c = 0 ; return 0 !== b && isFinite ( b ) && ( c = b >= 0 ? Math . floor ( b )
} , humanize : function ( a ) { var b = ib ( this , ! a , this . localeData ( ) ) ; return a && ( b = this . localeData ( ) . pastFuture ( + this , b ) ) , this . localeData ( ) . postformat ( b ) } , add : function ( a , b ) { var c = vb . duration ( a , b ) ; return this . _milliseconds += c . _milliseconds , this . _days += c . _days , this . _months += c . _months , this . _bubble ( ) , this } , subtract : function ( a , b ) { var c = vb . duration ( a , b ) ; return this . _milliseconds -= c . _milliseconds , this . _days -= c . _days , this . _months -= c . _months , this . _bubble ( ) , this } , get : function ( a ) { return a = z ( a ) , this [ a . toLowerCase ( ) + "s" ] ( ) } , as : function ( a ) { var b , c ; if ( a = z ( a ) , "month" === a || "year" === a ) return b = this . _days + this . _milliseconds / 864e5 , c = this . _months + 12 * rb ( b ) , "month" === a ? c : c / 12 ; switch ( b = this . _days + Math . round ( sb ( this . _months / 12 ) ) , a ) { case "week" : return b / 7 + this . _milliseconds / 6048e5 ; case "day" : return b + this . _milliseconds / 864e5 ; case "hour" : return 24 * b + this . _milliseconds / 36e5 ; case "minute" : return 24 * b * 60 + this . _milliseconds / 6e4 ; case "second" : return 24 * b * 60 * 60 + this . _milliseconds / 1e3 ; case "millisecond" : return Math . floor ( 24 * b * 60 * 60 * 1e3 ) + this . _milliseconds ; default : throw new Error ( "Unknown unit " + a ) } } , lang : vb . fn . lang , locale : vb . fn . locale , toIsoString : f ( "toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)" , function ( ) { return this . toISOString ( ) } ) , toISOString : function ( ) { var a = Math . abs ( this . years ( ) ) , b = Math . abs ( this . months ( ) ) , c = Math . abs ( this . days ( ) ) , d = Math . abs ( this . hours ( ) ) , e = Math . abs ( this . minutes ( ) ) , f = Math . abs ( this . seconds ( ) + this . milliseconds ( ) / 1e3 ) ; return this . asSeconds ( ) ? ( this . asSeconds ( ) < 0 ? "-" : "" ) + "P" + ( a ? a + "Y" : "" ) + ( b ? b + "M" : "" ) + ( c ? c + "D" : "" ) + ( d || e || f ? "T" : "" ) + ( d ? d + "H" : "" ) + ( e ? e + "M" : "" ) + ( f ? f + "S" : "" ) : "P0D" } , localeData : function ( ) { return this . _locale } , toJSON : function ( ) { return this . toISOString ( ) } } ) , vb . duration . fn . toString = vb . duration . fn . toISOString ; for ( xb in kc ) c ( kc , xb ) && tb ( xb . toLowerCase ( ) ) ; vb . duration . fn . asMilliseconds = function ( ) { return this . as ( "ms" ) } , vb . duration . fn . asSeconds = function ( ) { return this . as ( "s" ) } , vb . duration . fn . asMinutes = function ( ) { return this . as ( "m" ) } , vb . duration . fn . asHours = function ( ) { return this . as ( "h" ) } , vb . duration . fn . asDays = function ( ) { return this . as ( "d" ) } , vb . duration . fn . asWeeks = function ( ) { return this . as ( "weeks" ) } , vb . duration . fn . asMonths = function ( ) { return this . as ( "M" ) } , vb . duration . fn . asYears = function ( ) { return this . as ( "y" ) } , vb . locale ( "en" , { ordinalParse : /\d{1,2}(th|st|nd|rd)/ , ordinal : function ( a ) { var b = a % 10 , c = 1 === C ( a % 100 / 10 ) ? "th" : 1 === b ? "st" : 2 === b ? "nd" : 3 === b ? "rd" : "th" ; return a + c } } ) , Lb ? module . exports = vb : "function" == typeof define && define . amd ? ( define ( function ( a , b , c ) { return c . config && c . config ( ) && c . config ( ) . noGlobal === ! 0 && ( zb . moment = wb ) , vb } ) , ub ( ! 0 ) ) : ub ( ) } ) . call ( this ) ; / * !
* FullCalendar v2 . 2.6
* Docs & License : http : //arshaw.com/fullcalendar/
* ( c ) 2013 Adam Shaw
* /
( function ( t ) { "function" == typeof define && define . amd ? define ( [ "jquery" , "moment" ] , t ) : t ( jQuery , moment ) } ) ( function ( t , e ) { function n ( t ) { i ( Ee , t ) } function i ( e ) { function n ( n , s ) { t . isPlainObject ( s ) && t . isPlainObject ( e [ n ] ) && ! r ( n ) ? e [ n ] = i ( { } , e [ n ] , s ) : void 0 !== s && ( e [ n ] = s ) } for ( var s = 1 ; arguments . length > s ; s ++ ) t . each ( arguments [ s ] , n ) ; return e } function r ( t ) { return /(Time|Duration)$/ . test ( t ) } function s ( t ) { var n = e . localeData || e . langData ; return n . call ( e , t ) || n . call ( e , "en" ) } function o ( t , e ) { e . left && t . css ( { "border-left-width" : 1 , "margin-left" : e . left - 1 } ) , e . right && t . css ( { "border-right-width" : 1 , "margin-right" : e . right - 1 } ) } function l ( t ) { t . css ( { "margin-left" : "" , "margin-right" : "" , "border-left-width" : "" , "border-right-width" : "" } ) } function a ( ) { t ( "body" ) . addClass ( "fc-not-allowed" ) } function u ( ) { t ( "body" ) . removeClass ( "fc-not-allowed" ) } function d ( e , n , i ) { var r = Math . floor ( n / e . length ) , s = Math . floor ( n - r * ( e . length - 1 ) ) , o = [ ] , l = [ ] , a = [ ] , u = 0 ; c ( e ) , e . each ( function ( n , i ) { var d = n === e . length - 1 ? s : r , c = t ( i ) . outerHeight ( ! 0 ) ; d > c ? ( o . push ( i ) , l . push ( c ) , a . push ( t ( i ) . height ( ) ) ) : u += c } ) , i && ( n -= u , r = Math . floor ( n / o . length ) , s = Math . floor ( n - r * ( o . length - 1 ) ) ) , t ( o ) . each ( function ( e , n ) { var i = e === o . length - 1 ? s : r , u = l [ e ] , d = a [ e ] , c = i - ( u - d ) ; i > u && t ( n ) . height ( c ) } ) } function c ( t ) { t . height ( "" ) } function h ( e ) { var n = 0 ; return e . find ( "> *" ) . each ( function ( e , i ) { var r = t ( i ) . outerWidth ( ) ; r > n && ( n = r ) } ) , n ++ , e . width ( n ) , n } function f ( t , e ) { return t . height ( e ) . addClass ( "fc-scroller" ) , t [ 0 ] . scrollHeight - 1 > t [ 0 ] . clientHeight ? ! 0 : ( g ( t ) , ! 1 ) } function g ( t ) { t . height ( "" ) . removeClass ( "fc-scroller" ) } function p ( e ) { var n = e . css ( "position" ) , i = e . parents ( ) . filter ( function ( ) { var e = t ( this ) ; return /(auto|scroll)/ . test ( e . css ( "overflow" ) + e . css ( "overflow-y" ) + e . css ( "overflow-x" ) ) } ) . eq ( 0 ) ; return "fixed" !== n && i . length ? i : t ( e [ 0 ] . ownerDocument || document ) } function m ( t ) { var e = t . offset ( ) . left , n = e + t . width ( ) , i = t . children ( ) , r = i . offset ( ) . left , s = r + i . outerWidth ( ) ; return { left : r - e , right : n - s } } function v ( t ) { return 1 == t . which && ! t . ctrlKey } function y ( t , e ) { var n , i , r , s , o = t . start , l = t . end , a = e . start , u = e . end ; return l > a && u > o ? ( o >= a ? ( n = o . clone ( ) , r = ! 0 ) : ( n = a . clone ( ) , r = ! 1 ) , u >= l ? ( i = l . clone ( ) , s = ! 0 ) : ( i = u . clone ( ) , s = ! 1 ) , { start : n , end : i , isStart : r , isEnd : s } ) : void 0 } function w ( t , e ) { if ( t = t || { } , void 0 !== t [ e ] ) return t [ e ] ; for ( var n , i = e . split ( /(?=[A-Z])/ ) , r = i . length - 1 ; r >= 0 ; r -- ) if ( n = t [ i [ r ] . toLowerCase ( ) ] , void 0 !== n ) return n ; return t [ "default" ] } function E ( t , n ) { return e . duration ( { days : t . clone ( ) . stripTime ( ) . diff ( n . clone ( ) . stripTime ( ) , "days" ) , ms : t . time ( ) - n . time ( ) } ) } function S ( t , n ) { return e . duration ( { days : t . clone ( ) . stripTime ( ) . diff ( n . clone ( ) . stripTime ( ) , "days" ) } ) } function b ( t , e ) { var n , i ; for ( n = 0 ; ze . length > n && ( i = ze [ n ] , ! D ( i , t , e ) ) ; n ++ ) ; return i } function D ( t , n , i ) { var r ; return r = null != i ? i . diff ( n , t , ! 0 ) : e . isDuration ( n ) ? n . as ( t ) : n . end . diff ( n . start , t , ! 0 ) , r >= 1 && _ ( r ) ? r : ! 1 } function C ( t ) { return "[object Date]" === Object . prototype . toString . call ( t ) || t instanceof Date } function T ( t ) { return /^\d+\:\d+(?:\:\d+\.?(?:\d{3})?)?$/ . test ( t ) } function x ( t ) { var e = function ( ) { } ; return e . prototype = t , new e } function H ( t , e ) { for ( var n in t ) R ( t , n ) && ( e [ n ] = t [ n ] ) } function R ( t , e ) { return Le . call ( t , e ) } function k ( e ) { return /undefined|null|boolean|number|string/ . test ( t . type ( e ) ) } function M ( e , n , i ) { if ( t . isFunction ( e ) && ( e = [ e ] ) , e ) { var r , s ; for ( r = 0 ; e . length > r ; r ++ ) s = e [ r ] . apply ( n , i ) || s ; return s } } function F ( ) { for ( var t = 0 ; arguments . length > t ; t ++ ) if ( void 0 !== arguments [ t ] ) return arguments [ t ] } function z ( t ) { return ( t + "" ) . replace ( /&/g , "&" ) . replace ( /</g , "<" ) . replace ( />/g , ">" ) . replace ( /'/g , "'" ) . replace ( /"/g , """ ) . replace ( /\n/g , "<br />" ) } function L ( t ) { return t . replace ( /&.*?;/g , "" ) } function P ( t ) { return t . charAt ( 0 ) . toUpperCase ( ) + t . slice ( 1 ) } function V ( t , e ) { return t - e } function _ ( t ) { return 0 === t % 1 } function G ( t , e ) { var n , i , r , s , o = function ( ) { var l = + new Date - s ; e > l && l > 0 ? n = setTimeout ( o , e - l ) : ( n = null , t . apply ( r , i ) , n || ( r = i = null ) ) } ; return function ( ) { r = this , i = arguments , s = + new Date , n || ( n = setTimeout ( o , e ) ) } } function A ( n , i , r ) { var s , o , l , a , u = n [ 0 ] , d = 1 == n . length && "string" == typeof u ; return e . isMoment ( u ) ? ( a = e . apply ( null , n ) , Y ( u , a ) ) : C ( u ) || void 0 === u ? a = e . apply ( null , n ) : ( s = ! 1 , o = ! 1 , d ? Pe . test ( u ) ? ( u += "-01" , n = [ u ] , s = ! 0 , o = ! 0 ) : ( l = Ve . exec ( u ) ) && ( s = ! l [ 5 ] , o = ! 0 ) : t . isArray ( u ) && ( o = ! 0 ) , a = i || s ? e . utc . apply ( e , n ) : e . appl
} , inBounds : function ( t , e ) { return this . containerEl ? t >= this . minX && this . maxX > t && e >= this . minY && this . maxY > e : ! 0 } } ) , Ze = K . extend ( { coordMaps : null , constructor : function ( t ) { this . coordMaps = t } , build : function ( ) { var t , e = this . coordMaps ; for ( t = 0 ; e . length > t ; t ++ ) e [ t ] . build ( ) } , getCell : function ( t , e ) { var n , i = this . coordMaps , r = null ; for ( n = 0 ; i . length > n && ! r ; n ++ ) r = i [ n ] . getCell ( t , e ) ; return r } , clear : function ( ) { var t , e = this . coordMaps ; for ( t = 0 ; e . length > t ; t ++ ) e [ t ] . clear ( ) } } ) , Ie = K . extend ( { coordMap : null , options : null , isListening : ! 1 , isDragging : ! 1 , origCell : null , cell : null , mouseX0 : null , mouseY0 : null , mousemoveProxy : null , mouseupProxy : null , scrollEl : null , scrollBounds : null , scrollTopVel : null , scrollLeftVel : null , scrollIntervalId : null , scrollHandlerProxy : null , scrollSensitivity : 30 , scrollSpeed : 200 , scrollIntervalMs : 50 , constructor : function ( t , e ) { this . coordMap = t , this . options = e || { } } , mousedown : function ( t ) { v ( t ) && ( t . preventDefault ( ) , this . startListening ( t ) , this . options . distance || this . startDrag ( t ) ) } , startListening : function ( e ) { var n , i ; this . isListening || ( e && this . options . scroll && ( n = p ( t ( e . target ) ) , n . is ( window ) || n . is ( document ) || ( this . scrollEl = n , this . scrollHandlerProxy = G ( t . proxy ( this , "scrollHandler" ) , 100 ) , this . scrollEl . on ( "scroll" , this . scrollHandlerProxy ) ) ) , this . computeCoords ( ) , e && ( i = this . getCell ( e ) , this . origCell = i , this . mouseX0 = e . pageX , this . mouseY0 = e . pageY ) , t ( document ) . on ( "mousemove" , this . mousemoveProxy = t . proxy ( this , "mousemove" ) ) . on ( "mouseup" , this . mouseupProxy = t . proxy ( this , "mouseup" ) ) . on ( "selectstart" , this . preventDefault ) , this . isListening = ! 0 , this . trigger ( "listenStart" , e ) ) } , computeCoords : function ( ) { this . coordMap . build ( ) , this . computeScrollBounds ( ) } , mousemove : function ( t ) { var e , n ; this . isDragging || ( e = this . options . distance || 1 , n = Math . pow ( t . pageX - this . mouseX0 , 2 ) + Math . pow ( t . pageY - this . mouseY0 , 2 ) , n >= e * e && this . startDrag ( t ) ) , this . isDragging && this . drag ( t ) } , startDrag : function ( t ) { var e ; this . isListening || this . startListening ( ) , this . isDragging || ( this . isDragging = ! 0 , this . trigger ( "dragStart" , t ) , e = this . getCell ( t ) , e && this . cellOver ( e ) ) } , drag : function ( t ) { var e ; this . isDragging && ( e = this . getCell ( t ) , Q ( e , this . cell ) || ( this . cell && this . cellOut ( ) , e && this . cellOver ( e ) ) , this . dragScroll ( t ) ) } , cellOver : function ( t ) { this . cell = t , this . trigger ( "cellOver" , t , Q ( t , this . origCell ) ) } , cellOut : function ( ) { this . cell && ( this . trigger ( "cellOut" , this . cell ) , this . cell = null ) } , mouseup : function ( t ) { this . stopDrag ( t ) , this . stopListening ( t ) } , stopDrag : function ( t ) { this . isDragging && ( this . stopScrolling ( ) , this . trigger ( "dragStop" , t ) , this . isDragging = ! 1 ) } , stopListening : function ( e ) { this . isListening && ( this . scrollEl && ( this . scrollEl . off ( "scroll" , this . scrollHandlerProxy ) , this . scrollHandlerProxy = null ) , t ( document ) . off ( "mousemove" , this . mousemoveProxy ) . off ( "mouseup" , this . mouseupProxy ) . off ( "selectstart" , this . preventDefault ) , this . mousemoveProxy = null , this . mouseupProxy = null , this . isListening = ! 1 , this . trigger ( "listenStop" , e ) , this . origCell = this . cell = null , this . coordMap . clear ( ) ) } , getCell : function ( t ) { return this . coordMap . getCell ( t . pageX , t . pageY ) } , trigger : function ( t ) { this . options [ t ] && this . options [ t ] . apply ( this , Array . prototype . slice . call ( arguments , 1 ) ) } , preventDefault : function ( t ) { t . preventDefault ( ) } , computeScrollBounds : function ( ) { var t , e = this . scrollEl ; e && ( t = e . offset ( ) , this . scrollBounds = { top : t . top , left : t . left , bottom : t . top + e . outerHeight ( ) , right : t . left + e . outerWidth ( ) } ) } , dragScroll : function ( t ) { var e , n , i , r , s = this . scrollSensitivity , o = this . scrollBounds , l = 0 , a = 0 ; o && ( e = ( s - ( t . pageY - o . top ) ) / s , n = ( s - ( o . bottom - t . pageY ) ) / s , i = ( s - ( t . pageX - o . left ) ) / s , r = ( s - ( o . right - t . pageX ) ) / s , e >= 0 && 1 >= e ? l = - 1 * e * this . scrollSpeed : n >= 0 && 1 >= n && ( l = n * this . scrollSpeed ) , i >= 0 && 1 >= i ? a = - 1 * i * this . scrollSpeed : r >= 0 && 1 >= r && ( a = r * this . scrollSpeed ) ) , this . setScrollVel ( l , a ) } , setScrollVel : function ( e , n ) { this . scrollTopVel = e , this . scrollLeftVel = n , this . constrainScrollVel ( ) , ! this . scrollTopVel && ! this . scrollLeftVel || this . scrollIntervalId || ( this . scrollIntervalId = setInterval ( t . proxy ( this , "scrollIntervalFunc" ) , this . scrollIntervalMs ) ) } , constrainScrollVel : function ( ) { var t = this . scrollEl ; 0 > this . scrollTopVel ? 0 >= t . scrollTop ( ) && ( this . scrollTopVel = 0 ) : this . scrollTopVel > 0 && t . scrollTop ( ) + t [ 0 ] . clientHeight >= t [ 0 ] . scrollHeight && ( this . scrollTopVel = 0 ) , 0 > this . scrollLeftVel ? 0 >
return o } , resize : function ( ) { this . computeSlatTops ( ) , this . updateSegVerticals ( ) } , computeRowCoords : function ( ) { var t , e , n = this . el . offset ( ) . top , i = [ ] ; for ( t = 0 ; this . rowCnt > t ; t ++ ) e = { top : n + this . computeTimeTop ( this . computeSnapTime ( t ) ) } , t > 0 && ( i [ t - 1 ] . bottom = e . top ) , i . push ( e ) ; return e . bottom = e . top + this . computeTimeTop ( this . computeSnapTime ( t ) ) , i } , computeDateTop : function ( t , n ) { return this . computeTimeTop ( e . duration ( t . clone ( ) . stripZone ( ) - n . clone ( ) . stripTime ( ) ) ) } , computeTimeTop : function ( t ) { var e , n , i , r , s = ( t - this . minTime ) / this . slotDuration ; return s = Math . max ( 0 , s ) , s = Math . min ( this . slatEls . length , s ) , e = Math . floor ( s ) , n = s - e , i = this . slatTops [ e ] , n ? ( r = this . slatTops [ e + 1 ] , i + ( r - i ) * n ) : i } , computeSlatTops : function ( ) { var e , n = [ ] ; this . slatEls . each ( function ( i , r ) { e = t ( r ) . position ( ) . top , n . push ( e ) } ) , n . push ( e + this . slatEls . last ( ) . outerHeight ( ) ) , this . slatTops = n } , renderDrag : function ( t , e ) { var n ; return e ? ( this . renderRangeHelper ( t , e ) , n = this . view . opt ( "dragOpacity" ) , void 0 !== n && this . helperEl . css ( "opacity" , n ) , ! 0 ) : ( this . renderHighlight ( this . view . calendar . ensureVisibleEventRange ( t ) ) , void 0 ) } , destroyDrag : function ( ) { this . destroyHelper ( ) , this . destroyHighlight ( ) } , renderEventResize : function ( t , e ) { this . renderRangeHelper ( t , e ) } , destroyEventResize : function ( ) { this . destroyHelper ( ) } , renderHelper : function ( e , n ) { var i , r , s , o , l = this . eventsToSegs ( [ e ] ) ; for ( l = this . renderFgSegEls ( l ) , i = this . renderSegTable ( l ) , r = 0 ; l . length > r ; r ++ ) s = l [ r ] , n && n . col === s . col && ( o = n . el , s . el . css ( { left : o . css ( "left" ) , right : o . css ( "right" ) , "margin-left" : o . css ( "margin-left" ) , "margin-right" : o . css ( "margin-right" ) } ) ) ; this . helperEl = t ( '<div class="fc-helper-skeleton"/>' ) . append ( i ) . appendTo ( this . el ) } , destroyHelper : function ( ) { this . helperEl && ( this . helperEl . remove ( ) , this . helperEl = null ) } , renderSelection : function ( t ) { this . view . opt ( "selectHelper" ) ? this . renderRangeHelper ( t ) : this . renderHighlight ( t ) } , destroySelection : function ( ) { this . destroyHelper ( ) , this . destroyHighlight ( ) } , renderFill : function ( e , n , i ) { var r , s , o , l , a , u , d , c , h , f ; if ( n . length ) { for ( n = this . renderFillSegEls ( e , n ) , r = this . groupSegCols ( n ) , i = i || e . toLowerCase ( ) , s = t ( '<div class="fc-' + i + '-skeleton">' + "<table><tr/></table>" + "</div>" ) , o = s . find ( "tr" ) , l = 0 ; r . length > l ; l ++ ) if ( a = r [ l ] , u = t ( "<td/>" ) . appendTo ( o ) , a . length ) for ( d = t ( '<div class="fc-' + i + '-container"/>' ) . appendTo ( u ) , c = this . colData [ l ] . day , h = 0 ; a . length > h ; h ++ ) f = a [ h ] , d . append ( f . el . css ( { top : this . computeDateTop ( f . start , c ) , bottom : - this . computeDateTop ( f . end , c ) } ) ) ; this . bookendCells ( o , e ) , this . el . append ( s ) , this . elsByFill [ e ] = s } return n } } ) ; Ue . mixin ( { eventSkeletonEl : null , renderFgSegs : function ( e ) { return e = this . renderFgSegEls ( e ) , this . el . append ( this . eventSkeletonEl = t ( '<div class="fc-content-skeleton"/>' ) . append ( this . renderSegTable ( e ) ) ) , e } , destroyFgSegs : function ( ) { this . eventSkeletonEl && ( this . eventSkeletonEl . remove ( ) , this . eventSkeletonEl = null ) } , renderSegTable : function ( e ) { var n , i , r , s , o , l , a = t ( "<table><tr/></table>" ) , u = a . find ( "tr" ) ; for ( n = this . groupSegCols ( e ) , this . computeSegVerticals ( e ) , s = 0 ; n . length > s ; s ++ ) { for ( o = n [ s ] , ae ( o ) , l = t ( '<div class="fc-event-container"/>' ) , i = 0 ; o . length > i ; i ++ ) r = o [ i ] , r . el . css ( this . generateSegPositionCss ( r ) ) , 30 > r . bottom - r . top && r . el . addClass ( "fc-short" ) , l . append ( r . el ) ; u . append ( t ( "<td/>" ) . append ( l ) ) } return this . bookendCells ( u , "eventSkeleton" ) , a } , updateSegVerticals : function ( ) { var t , e = ( this . segs || [ ] ) . concat ( this . businessHourSegs || [ ] ) ; for ( this . computeSegVerticals ( e ) , t = 0 ; e . length > t ; t ++ ) e [ t ] . el . css ( this . generateSegVerticalCss ( e [ t ] ) ) } , computeSegVerticals : function ( t ) { var e , n ; for ( e = 0 ; t . length > e ; e ++ ) n = t [ e ] , n . top = this . computeDateTop ( n . start , n . start ) , n . bottom = this . computeDateTop ( n . end , n . start ) } , fgSegHtml : function ( t , e ) { var n , i , r , s = this . view , o = t . event , l = s . isEventDraggable ( o ) , a = ! e && t . isEnd && s . isEventResizable ( o ) , u = this . getSegClasses ( t , l , a ) , d = this . getEventSkinCss ( o ) ; return u . unshift ( "fc-time-grid-event" ) , s . isMultiDayEvent ( o ) ? ( t . isStart || t . isEnd ) && ( n = this . getEventTimeText ( t ) , i = this . getEventTimeText ( t , "LT" ) , r = this . getEventTimeText ( { start : t . start } ) ) : ( n = this . getEventTimeText ( o ) , i = this . getEventTimeText ( o , "LT" ) , r = this . getEventTimeText ( { start : o . start } ) ) , '<a class="' + u . join ( " " ) + '"' + ( o . url ? ' href="' + z ( o . url ) + '"' : "" ) + ( d ? ' style="' + d + '"' : "" ) + ">" + '<div class="fc-content">' + ( n ? ' < div cl
( function ( J , r , f ) { function s ( a , b , d ) { a . addEventListener ? a . addEventListener ( b , d , ! 1 ) : a . attachEvent ( "on" + b , d ) } function A ( a ) { if ( "keypress" == a . type ) { var b = String . fromCharCode ( a . which ) ; a . shiftKey || ( b = b . toLowerCase ( ) ) ; return b } return h [ a . which ] ? h [ a . which ] : B [ a . which ] ? B [ a . which ] : String . fromCharCode ( a . which ) . toLowerCase ( ) } function t ( a ) { a = a || { } ; var b = ! 1 , d ; for ( d in n ) a [ d ] ? b = ! 0 : n [ d ] = 0 ; b || ( u = ! 1 ) } function C ( a , b , d , c , e , v ) { var g , k , f = [ ] , h = d . type ; if ( ! l [ a ] ) return [ ] ; "keyup" == h && w ( a ) && ( b = [ a ] ) ; for ( g = 0 ; g < l [ a ] . length ; ++ g ) if ( k =
l [ a ] [ g ] , ! ( ! c && k . seq && n [ k . seq ] != k . level || h != k . action || ( "keypress" != h || d . metaKey || d . ctrlKey ) && b . sort ( ) . join ( "," ) !== k . modifiers . sort ( ) . join ( "," ) ) ) { var m = c && k . seq == c && k . level == v ; ( ! c && k . combo == e || m ) && l [ a ] . splice ( g , 1 ) ; f . push ( k ) } return f } function K ( a ) { var b = [ ] ; a . shiftKey && b . push ( "shift" ) ; a . altKey && b . push ( "alt" ) ; a . ctrlKey && b . push ( "ctrl" ) ; a . metaKey && b . push ( "meta" ) ; return b } function x ( a , b , d , c ) { m . stopCallback ( b , b . target || b . srcElement , d , c ) || ! 1 !== a ( b , d ) || ( b . preventDefault ? b . preventDefault ( ) : b . returnValue = ! 1 , b . stopPropagation ?
b . stopPropagation ( ) : b . cancelBubble = ! 0 ) } function y ( a ) { "number" !== typeof a . which && ( a . which = a . keyCode ) ; var b = A ( a ) ; b && ( "keyup" == a . type && z === b ? z = ! 1 : m . handleKey ( b , K ( a ) , a ) ) } function w ( a ) { return "shift" == a || "ctrl" == a || "alt" == a || "meta" == a } function L ( a , b , d , c ) { function e ( b ) { return function ( ) { u = b ; ++ n [ a ] ; clearTimeout ( D ) ; D = setTimeout ( t , 1E3 ) } } function v ( b ) { x ( d , b , a ) ; "keyup" !== c && ( z = A ( b ) ) ; setTimeout ( t , 10 ) } for ( var g = n [ a ] = 0 ; g < b . length ; ++ g ) { var f = g + 1 === b . length ? v : e ( c || E ( b [ g + 1 ] ) . action ) ; F ( b [ g ] , f , c , a , g ) } } function E ( a , b ) { var d ,
c , e , f = [ ] ; d = "+" === a ? [ "+" ] : a . split ( "+" ) ; for ( e = 0 ; e < d . length ; ++ e ) c = d [ e ] , G [ c ] && ( c = G [ c ] ) , b && "keypress" != b && H [ c ] && ( c = H [ c ] , f . push ( "shift" ) ) , w ( c ) && f . push ( c ) ; d = c ; e = b ; if ( ! e ) { if ( ! p ) { p = { } ; for ( var g in h ) 95 < g && 112 > g || h . hasOwnProperty ( g ) && ( p [ h [ g ] ] = g ) } e = p [ d ] ? "keydown" : "keypress" } "keypress" == e && f . length && ( e = "keydown" ) ; return { key : c , modifiers : f , action : e } } function F ( a , b , d , c , e ) { q [ a + ":" + d ] = b ; a = a . replace ( /\s+/g , " " ) ; var f = a . split ( " " ) ; 1 < f . length ? L ( a , f , b , d ) : ( d = E ( a , d ) , l [ d . key ] = l [ d . key ] || [ ] , C ( d . key , d . modifiers , { type : d . action } ,
c , a , e ) , l [ d . key ] [ c ? "unshift" : "push" ] ( { callback : b , modifiers : d . modifiers , action : d . action , seq : c , level : e , combo : a } ) ) } var h = { 8 : "backspace" , 9 : "tab" , 13 : "enter" , 16 : "shift" , 17 : "ctrl" , 18 : "alt" , 20 : "capslock" , 27 : "esc" , 32 : "space" , 33 : "pageup" , 34 : "pagedown" , 35 : "end" , 36 : "home" , 37 : "left" , 38 : "up" , 39 : "right" , 40 : "down" , 45 : "ins" , 46 : "del" , 91 : "meta" , 93 : "meta" , 224 : "meta" } , B = { 106 : "*" , 107 : "+" , 109 : "-" , 110 : "." , 111 : "/" , 186 : ";" , 187 : "=" , 188 : "," , 189 : "-" , 190 : "." , 191 : "/" , 192 : "`" , 219 : "[" , 220 : "\\" , 221 : "]" , 222 : "'" } , H = { "~" : "`" , "!" : "1" ,
"@" : "2" , "#" : "3" , $ : "4" , "%" : "5" , "^" : "6" , "&" : "7" , "*" : "8" , "(" : "9" , ")" : "0" , _ : "-" , "+" : "=" , ":" : ";" , '"' : "'" , "<" : "," , ">" : "." , "?" : "/" , "|" : "\\" } , G = { option : "alt" , command : "meta" , "return" : "enter" , escape : "esc" , mod : /Mac|iPod|iPhone|iPad/ . test ( navigator . platform ) ? "meta" : "ctrl" } , p , l = { } , q = { } , n = { } , D , z = ! 1 , I = ! 1 , u = ! 1 ; for ( f = 1 ; 20 > f ; ++ f ) h [ 111 + f ] = "f" + f ; for ( f = 0 ; 9 >= f ; ++ f ) h [ f + 96 ] = f ; s ( r , "keypress" , y ) ; s ( r , "keydown" , y ) ; s ( r , "keyup" , y ) ; var m = { bind : function ( a , b , d ) { a = a instanceof Array ? a : [ a ] ; for ( var c = 0 ; c < a . length ; ++ c ) F ( a [ c ] , b , d ) ; return this } ,
unbind : function ( a , b ) { return m . bind ( a , function ( ) { } , b ) } , trigger : function ( a , b ) { if ( q [ a + ":" + b ] ) q [ a + ":" + b ] ( { } , a ) ; return this } , reset : function ( ) { l = { } ; q = { } ; return this } , stopCallback : function ( a , b ) { return - 1 < ( " " + b . className + " " ) . indexOf ( " mousetrap " ) ? ! 1 : "INPUT" == b . tagName || "SELECT" == b . tagName || "TEXTAREA" == b . tagName || b . isContentEditable } , handleKey : function ( a , b , d ) { var c = C ( a , b , d ) , e ; b = { } ; var f = 0 , g = ! 1 ; for ( e = 0 ; e < c . length ; ++ e ) c [ e ] . seq && ( f = Math . max ( f , c [ e ] . level ) ) ; for ( e = 0 ; e < c . length ; ++ e ) c [ e ] . seq ? c [ e ] . level == f && ( g = ! 0 ,
b [ c [ e ] . seq ] = 1 , x ( c [ e ] . callback , d , c [ e ] . combo , c [ e ] . seq ) ) : g || x ( c [ e ] . callback , d , c [ e ] . combo ) ; c = "keypress" == d . type && I ; d . type != u || w ( a ) || c || t ( b ) ; I = g && "keydown" == d . type } } ; J . Mousetrap = m ; "function" === typeof define && define . amd && define ( m ) } ) ( window , document ) ;
Mousetrap = function ( a ) { var d = { } , e = a . stopCallback ; a . stopCallback = function ( b , c , a ) { return d [ a ] ? ! 1 : e ( b , c , a ) } ; a . bindGlobal = function ( b , c , e ) { a . bind ( b , c , e ) ; if ( b instanceof Array ) for ( c = 0 ; c < b . length ; c ++ ) d [ b [ c ] ] = ! 0 ; else d [ b ] = ! 0 } ; return a } ( Mousetrap ) ;
var Kanboard = function ( ) { jQuery ( document ) . ready ( function ( ) { Kanboard . Init ( ) } ) ; return { Exists : function ( a ) { return document . getElementById ( a ) ? ! 0 : ! 1 } , Popover : function ( a , c ) { a . preventDefault ( ) ; a . stopPropagation ( ) ; var b = a . target . getAttribute ( "href" ) ; b || ( b = a . target . getAttribute ( "data-href" ) ) ; b && Kanboard . OpenPopover ( b , c ) } , OpenPopover : function ( a , c ) { $ . get ( a , function ( a ) { $ ( "body" ) . append ( '<div id="popover-container"><div id="popover-content">' + a + "</div></div>" ) ; $ ( "#popover-container" ) . click ( function ( ) { $ ( this ) . remove ( ) } ) ;
$ ( "#popover-content" ) . click ( function ( a ) { a . stopPropagation ( ) } ) ; $ ( ".close-popover" ) . click ( function ( a ) { a . preventDefault ( ) ; $ ( "#popover-container" ) . remove ( ) } ) ; Mousetrap . bind ( "esc" , function ( ) { $ ( "#popover-container" ) . remove ( ) } ) ; c && c ( ) } ) } , IsVisible : function ( ) { var a = "" ; "undefined" !== typeof document . hidden ? a = "visibilityState" : "undefined" !== typeof document . mozHidden ? a = "mozVisibilityState" : "undefined" !== typeof document . msHidden ? a = "msVisibilityState" : "undefined" !== typeof document . webkitHidden && ( a = "webkitVisibilityState" ) ;
return "" != a ? "visible" == document [ a ] : ! 0 } , SetStorageItem : function ( a , c ) { "undefined" !== typeof Storage && localStorage . setItem ( a , c ) } , GetStorageItem : function ( a ) { return "undefined" !== typeof Storage ? localStorage . getItem ( a ) : "" } , MarkdownPreview : function ( a ) { a . preventDefault ( ) ; var c = $ ( this ) , b = $ ( this ) . closest ( "ul" ) , d = $ ( ".write-area" ) , e = $ ( ".preview-area" ) , f = $ ( "textarea" ) ; $ . ajax ( { url : "?controller=app&action=preview" , contentType : "application/json" , type : "POST" , processData : ! 1 , dataType : "html" , data : JSON . stringify ( { text : f . val ( ) } ) } ) . done ( function ( a ) { b . find ( "li" ) . removeClass ( "form-tab-selected" ) ;
c . parent ( ) . addClass ( "form-tab-selected" ) ; e . find ( ".markdown" ) . html ( a ) ; e . css ( "height" , f . css ( "height" ) ) ; e . css ( "width" , f . css ( "width" ) ) ; d . hide ( ) ; e . show ( ) } ) } , MarkdownWriter : function ( a ) { a . preventDefault ( ) ; $ ( this ) . closest ( "ul" ) . find ( "li" ) . removeClass ( "form-tab-selected" ) ; $ ( this ) . parent ( ) . addClass ( "form-tab-selected" ) ; $ ( ".write-area" ) . show ( ) ; $ ( ".preview-area" ) . hide ( ) } , CheckSession : function ( ) { $ ( ".form-login" ) . length || $ . ajax ( { cache : ! 1 , url : $ ( "body" ) . data ( "status-url" ) , statusCode : { 401 : function ( ) { window . location =
2015-04-21 17:56:16 +02:00
$ ( "body" ) . data ( "login-url" ) } } } ) } , Init : function ( ) { $ ( "#board-selector" ) . chosen ( { width : 180 , no _results _text : $ ( "#board-selector" ) . data ( "notfound" ) } ) ; $ ( "#board-selector" ) . change ( function ( ) { window . location = $ ( this ) . attr ( "data-board-url" ) . replace ( /PROJECT_ID/g , $ ( this ) . val ( ) ) } ) ; window . setInterval ( Kanboard . CheckSession , 6E4 ) ; Mousetrap . bindGlobal ( "mod+enter" , function ( ) { $ ( "form" ) . submit ( ) } ) ; Mousetrap . bind ( "b" , function ( a ) { a . preventDefault ( ) ; $ ( "#board-selector" ) . trigger ( "chosen:open" ) } ) ; $ ( ".column-tooltip" ) . tooltip ( { content : function ( ) { return '<div class="markdown">' +
$ ( this ) . attr ( "title" ) + "</div>" } , position : { my : "left-20 top" , at : "center bottom+9" , using : function ( a , c ) { $ ( this ) . css ( a ) ; var b = c . target . left + c . target . width / 2 - c . element . left - 20 ; $ ( "<div>" ) . addClass ( "tooltip-arrow" ) . addClass ( c . vertical ) . addClass ( 0 == b ? "align-left" : "align-right" ) . appendTo ( this ) } } } ) ; $ . datepicker . setDefaults ( $ . datepicker . regional [ $ ( "body" ) . data ( "js-lang" ) ] ) ; Kanboard . InitAfterAjax ( ) } , InitAfterAjax : function ( ) { $ ( document ) . on ( "click" , ".popover" , Kanboard . Popover ) ; $ ( "input[autofocus]" ) . each ( function ( a ,
c ) { $ ( this ) . focus ( ) } ) ; $ ( ".form-date" ) . datepicker ( { showOtherMonths : ! 0 , selectOtherMonths : ! 0 , dateFormat : "yy-mm-dd" , constrainInput : ! 1 } ) ; $ ( "#markdown-preview" ) . click ( Kanboard . MarkdownPreview ) ; $ ( "#markdown-write" ) . click ( Kanboard . MarkdownWriter ) ; $ ( ".auto-select" ) . focus ( function ( ) { $ ( this ) . select ( ) } ) ; $ ( ".dropit-submenu" ) . hide ( ) ; $ ( ".dropdown" ) . not ( ".dropit" ) . dropit ( { triggerParentEl : "span" } ) ; $ ( ".task-autocomplete" ) . length && ( $ ( ".task-autocomplete" ) . parent ( ) . find ( "input[type=submit]" ) . attr ( "disabled" , "disabled" ) ,
$ ( ".task-autocomplete" ) . autocomplete ( { source : $ ( ".task-autocomplete" ) . data ( "search-url" ) , minLength : 2 , select : function ( a , c ) { var b = $ ( ".task-autocomplete" ) . data ( "dst-field" ) ; $ ( "input[name=" + b + "]" ) . val ( c . item . id ) ; $ ( ".task-autocomplete" ) . parent ( ) . find ( "input[type=submit]" ) . removeAttr ( "disabled" ) } } ) ) } } } ( ) ;
Kanboard . Board = function ( ) { function a ( a ) { a . preventDefault ( ) ; a . stopPropagation ( ) ; Kanboard . Popover ( a , Kanboard . InitAfterAjax ) } function c ( ) { Mousetrap . bind ( "n" , function ( ) { Kanboard . OpenPopover ( $ ( "#board" ) . data ( "task-creation-url" ) , Kanboard . InitAfterAjax ) } ) ; Mousetrap . bind ( "s" , function ( ) { "expanded" === ( Kanboard . GetStorageItem ( d ( ) ) || "expanded" ) ? ( e ( ) , Kanboard . SetStorageItem ( d ( ) , "collapsed" ) ) : ( f ( ) , Kanboard . SetStorageItem ( d ( ) , "expanded" ) ) } ) ; Mousetrap . bind ( "c" , function ( ) { p ( ) } ) } function b ( ) { $ ( ".filter-expand-link" ) . click ( function ( a ) { a . preventDefault ( ) ;
f ( ) ; Kanboard . SetStorageItem ( d ( ) , "expanded" ) } ) ; $ ( ".filter-collapse-link" ) . click ( function ( a ) { a . preventDefault ( ) ; e ( ) ; Kanboard . SetStorageItem ( d ( ) , "collapsed" ) } ) ; g ( ) } function d ( ) { return "board_stacking_" + $ ( "#board" ) . data ( "project-id" ) } function e ( ) { $ ( ".filter-collapse" ) . hide ( ) ; $ ( ".task-board-collapsed" ) . show ( ) ; $ ( ".filter-expand" ) . show ( ) ; $ ( ".task-board-expanded" ) . hide ( ) } function f ( ) { $ ( ".filter-collapse" ) . show ( ) ; $ ( ".task-board-collapsed" ) . hide ( ) ; $ ( ".filter-expand" ) . hide ( ) ; $ ( ".task-board-expanded" ) . show ( ) }
function g ( ) { "expanded" === ( Kanboard . GetStorageItem ( d ( ) ) || "expanded" ) ? f ( ) : e ( ) } function h ( ) { $ ( ".column" ) . sortable ( { delay : 300 , distance : 5 , connectWith : ".column" , placeholder : "draggable-placeholder" , stop : function ( a , b ) { q ( b . item . attr ( "data-task-id" ) , b . item . parent ( ) . attr ( "data-column-id" ) , b . item . index ( ) + 1 , b . item . parent ( ) . attr ( "data-swimlane-id" ) ) } } ) ; $ ( "#board" ) . on ( "click" , ".task-board-popover" , a ) ; $ ( "#board" ) . on ( "click" , ".task-board" , function ( ) { window . location = $ ( this ) . data ( "task-url" ) } ) ; $ ( ".task-board-tooltip" ) . tooltip ( { track : ! 1 ,
position : { my : "left-20 top" , at : "center bottom+9" , using : function ( a , b ) { $ ( this ) . css ( a ) ; var c = b . target . left + b . target . width / 2 - b . element . left - 20 ; $ ( "<div>" ) . addClass ( "tooltip-arrow" ) . addClass ( b . vertical ) . addClass ( 0 == c ? "align-left" : "align-right" ) . appendTo ( this ) } } , content : function ( a ) { if ( a = $ ( this ) . attr ( "data-href" ) ) { var b = this ; $ . get ( a , function r ( a ) { $ ( ".ui-tooltip-content:visible" ) . html ( a ) ; a = $ ( ".ui-tooltip:visible" ) ; a . css ( { top : "" , left : "" } ) ; a . children ( ".tooltip-arrow" ) . remove ( ) ; var c = $ ( b ) . tooltip ( "option" , "position" ) ;
c . of = $ ( b ) ; a . position ( c ) ; $ ( "#tooltip-subtasks a" ) . not ( ".popover" ) . click ( function ( a ) { a . preventDefault ( ) ; a . stopPropagation ( ) ; $ ( this ) . hasClass ( "popover-subtask-restriction" ) ? ( Kanboard . OpenPopover ( $ ( this ) . attr ( "href" ) ) , $ ( b ) . tooltip ( "close" ) ) : $ . get ( $ ( this ) . attr ( "href" ) , r ) } ) } ) ; return '<i class="fa fa-refresh fa-spin fa-2x"></i>' } } } ) . on ( "mouseenter" , function ( ) { var a = this ; $ ( this ) . tooltip ( "open" ) ; $ ( ".ui-tooltip" ) . on ( "mouseleave" , function ( ) { $ ( a ) . tooltip ( "close" ) } ) } ) . on ( "mouseleave focusout" , function ( a ) { a . stopImmediatePropagation ( ) ;
var b = this ; setTimeout ( function ( ) { $ ( ".ui-tooltip:hover" ) . length || $ ( b ) . tooltip ( "close" ) } , 100 ) } ) ; var b = parseInt ( $ ( "#board" ) . attr ( "data-check-interval" ) ) ; 0 < b && ( m = window . setInterval ( n , 1E3 * b ) ) } function q ( a , b , c , d ) { clearInterval ( m ) ; $ . ajax ( { cache : ! 1 , url : $ ( "#board" ) . attr ( "data-save-url" ) , contentType : "application/json" , type : "POST" , processData : ! 1 , data : JSON . stringify ( { task _id : a , column _id : b , swimlane _id : d , position : c } ) , success : function ( a ) { $ ( "#board-container" ) . remove ( ) ; $ ( "#main" ) . append ( a ) ; Kanboard . InitAfterAjax ( ) ;
h ( ) ; k ( ) ; g ( ) ; l ( ) } } ) } function n ( ) { Kanboard . IsVisible ( ) && $ . ajax ( { cache : ! 1 , url : $ ( "#board" ) . attr ( "data-check-url" ) , statusCode : { 200 : function ( a ) { $ ( "#board-container" ) . remove ( ) ; $ ( "#main" ) . append ( a ) ; Kanboard . InitAfterAjax ( ) ; clearInterval ( m ) ; h ( ) ; k ( ) ; g ( ) ; l ( ) } } } ) } function k ( ) { var a = $ ( "#form-user_id" ) . val ( ) , b = $ ( "#form-category_id" ) . val ( ) , c = $ ( "#more-filters option[value=filter-due-date]" ) . is ( ":selected" ) , d = $ ( "#more-filters option[value=filter-recent]" ) . is ( ":selected" ) , e = $ ( "#board" ) . data ( "project-id" ) ; $ ( "[data-task-id]" ) . each ( function ( e ,
g ) { var f = g . getAttribute ( "data-owner-id" ) , h = g . getAttribute ( "data-due-date" ) , n = g . getAttribute ( "data-category-id" ) , k = $ ( g ) . hasClass ( "task-board-recent" ) ; g . style . display = f != a && - 1 != a ? "none" : "block" ; ! c || "" != h && "0" != h || ( g . style . display = "none" ) ; n != b && - 1 != b && ( g . style . display = "none" ) ; d && ! k && ( g . style . display = "none" ) } ) ; Kanboard . SetStorageItem ( "board_filter_" + e + "_form-user_id" , a ) ; Kanboard . SetStorageItem ( "board_filter_" + e + "_form-category_id" , b ) ; Kanboard . SetStorageItem ( "board_filter_" + e + "_filter-due-date" , ~ ~ c ) ; Kanboard . SetStorageItem ( "board_filter_" +
e + "_filter-recent" , ~ ~ d ) } function t ( ) { var a = $ ( "#board" ) . data ( "project-id" ) ; $ ( "#form-user_id" ) . chosen ( { width : "180px" , no _results _text : $ ( "#form-user_id" ) . data ( "notfound" ) } ) ; $ ( "#form-category_id" ) . chosen ( { width : "200px" , no _results _text : $ ( "#form-category_id" ) . data ( "notfound" ) } ) ; $ ( "#more-filters" ) . chosen ( { width : "30%" , no _results _text : $ ( "#more-filters" ) . data ( "notfound" ) } ) ; $ ( ".apply-filters" ) . change ( function ( a ) { k ( ) } ) ; $ ( "#form-user_id" ) . val ( Kanboard . GetStorageItem ( "board_filter_" + a + "_form-user_id" ) || - 1 ) ; $ ( "#form-user_id" ) . trigger ( "chosen:updated" ) ;
$ ( "#form-category_id" ) . val ( Kanboard . GetStorageItem ( "board_filter_" + a + "_form-category_id" ) || - 1 ) ; $ ( "#form-category_id" ) . trigger ( "chosen:updated" ) ; + Kanboard . GetStorageItem ( "board_filter_" + a + "_filter-due-date" ) && $ ( "#more-filters option[value=filter-due-date]" ) . attr ( "selected" , ! 0 ) ; + Kanboard . GetStorageItem ( "board_filter_" + a + "_filter-recent" ) && $ ( "#more-filters option[value=filter-recent]" ) . attr ( "selected" , ! 0 ) ; $ ( "#more-filters" ) . trigger ( "chosen:updated" ) ; k ( ) } function u ( ) { jQuery ( document ) . on ( "click" , ".filter-toggle-scrolling" ,
function ( a ) { a . preventDefault ( ) ; p ( ) } ) ; l ( ) } function p ( ) { var a = Kanboard . GetStorageItem ( "horizontal_scroll" ) || 1 ; Kanboard . SetStorageItem ( "horizontal_scroll" , 0 == a ? 1 : 0 ) ; l ( ) } function l ( ) { 0 == Kanboard . GetStorageItem ( "horizontal_scroll" ) ? ( $ ( ".filter-wide" ) . show ( ) , $ ( ".filter-compact" ) . hide ( ) , $ ( "#board-container" ) . addClass ( "board-container-compact" ) , $ ( "#board th" ) . addClass ( "board-column-compact" ) ) : ( $ ( ".filter-wide" ) . hide ( ) , $ ( ".filter-compact" ) . show ( ) , $ ( "#board-container" ) . removeClass ( "board-container-compact" ) ,
$ ( "#board th" ) . removeClass ( "board-column-compact" ) ) } var m = null ; jQuery ( document ) . ready ( function ( ) { Kanboard . Exists ( "board" ) && ( h ( ) , t ( ) , b ( ) , u ( ) , c ( ) ) } ) } ( ) ;
2015-02-25 17:29:06 +01:00
Kanboard . Calendar = function ( ) { function a ( a ) { var b = $ ( "#calendar" ) . data ( "save-url" ) || $ ( "#user-calendar" ) . data ( "save-url" ) ; $ . ajax ( { cache : ! 1 , url : b , contentType : "application/json" , type : "POST" , processData : ! 1 , data : JSON . stringify ( { task _id : a . id , date _due : a . start . format ( ) } ) } ) } function c ( ) { var a = $ ( "#user-calendar" ) , b = a . data ( "check-url" ) , c = { start : a . fullCalendar ( "getView" ) . start . format ( ) , end : a . fullCalendar ( "getView" ) . end . format ( ) , user _id : a . data ( "user-id" ) } , d ; for ( d in c ) b += "&" + d + "=" + c [ d ] ; $ . getJSON ( b , function ( b ) { a . fullCalendar ( "removeEvents" ) ;
a . fullCalendar ( "addEventSource" , b ) ; a . fullCalendar ( "rerenderEvents" ) } ) } function b ( a ) { var b = $ ( "#calendar" ) , c = b . data ( "check-url" ) , d = { start : b . fullCalendar ( "getView" ) . start . format ( ) , end : b . fullCalendar ( "getView" ) . end . format ( ) } ; jQuery . extend ( d , a ) ; for ( var e in d ) c += "&" + e + "=" + d [ e ] ; $ . getJSON ( c , function ( a ) { b . fullCalendar ( "removeEvents" ) ; b . fullCalendar ( "addEventSource" , a ) ; b . fullCalendar ( "rerenderEvents" ) } ) } function d ( ) { var a = Kanboard . GetStorageItem ( f ) ; if ( "" !== a ) { var a = JSON . parse ( a ) , c ; for ( c in a ) $ ( "select[name=" +
c + "]" ) . val ( a [ c ] ) } b ( a || { } ) ; $ ( ".calendar-filter" ) . change ( e ) } function e ( ) { var a = { } ; $ ( ".calendar-filter" ) . each ( function ( ) { a [ $ ( this ) . attr ( "name" ) ] = $ ( this ) . val ( ) } ) ; Kanboard . SetStorageItem ( f , JSON . stringify ( a ) ) ; b ( a ) } var f = "" ; jQuery ( document ) . ready ( function ( ) { Kanboard . Exists ( "calendar" ) ? ( f = "calendar_filters_" + $ ( "#calendar" ) . data ( "project-id" ) , $ ( "#calendar" ) . fullCalendar ( { lang : $ ( "body" ) . data ( "js-lang" ) , editable : ! 0 , eventLimit : ! 0 , defaultView : "month" , header : { left : "prev,next today" , center : "title" , right : "month,agendaWeek,agendaDay" } ,
viewRender : d , eventDrop : a } ) , d ( ) ) : Kanboard . Exists ( "user-calendar" ) && $ ( "#user-calendar" ) . fullCalendar ( { lang : $ ( "body" ) . data ( "js-lang" ) , editable : ! 0 , eventLimit : ! 0 , height : Kanboard . Exists ( "dashboard-calendar" ) ? 500 : "auto" , defaultView : "agendaWeek" , header : { left : "prev,next today" , center : "title" , right : "month,agendaWeek,agendaDay" } , viewRender : c , eventDrop : a } ) } ) } ( ) ;
Kanboard . Analytic = function ( ) { jQuery ( document ) . ready ( function ( ) { Kanboard . Exists ( "analytic-task-repartition" ) ? Kanboard . Analytic . TaskRepartition . Init ( ) : Kanboard . Exists ( "analytic-user-repartition" ) ? Kanboard . Analytic . UserRepartition . Init ( ) : Kanboard . Exists ( "analytic-cfd" ) && Kanboard . Analytic . CFD . Init ( ) } ) ; return { } } ( ) ;
Kanboard . Analytic . CFD = function ( ) { return { Init : function ( ) { jQuery . getJSON ( $ ( "#chart" ) . attr ( "data-url" ) , function ( a ) { var c = a . labels , b = a . columns , d = a . metrics ; a = [ ] ; for ( var e = 0 ; e < d . length ; e ++ ) { var f = { } ; f [ c . column ] = d [ e ] . column _title ; f [ c . day ] = d [ e ] . day ; f [ c . total ] = d [ e ] . total ; a . push ( f ) } d = dimple . newSvg ( "#chart" , "100%" , 380 ) ; a = new dimple . chart ( d , a ) ; a . addCategoryAxis ( "x" , c . day ) . addOrderRule ( "Date" ) ; a . addMeasureAxis ( "y" , c . total ) ; a . addSeries ( c . column , dimple . plot . area ) . addOrderRule ( b . reverse ( ) ) ; a . addLegend ( 10 , 10 , 500 ,
30 , "left" ) ; a . draw ( ) } ) } } } ( ) ; Kanboard . Analytic . TaskRepartition = function ( ) { return { Init : function ( ) { jQuery . getJSON ( $ ( "#chart" ) . attr ( "data-url" ) , function ( a ) { var c = a . labels , b = a . metrics ; a = [ ] ; for ( var d = 0 ; d < b . length ; d ++ ) { var e = { } ; e [ c . nb _tasks ] = b [ d ] . nb _tasks ; e [ c . column _title ] = b [ d ] . column _title ; a . push ( e ) } b = dimple . newSvg ( "#chart" , "100%" , 350 ) ; a = new dimple . chart ( b , a ) ; a . addMeasureAxis ( "p" , c . nb _tasks ) ; a . addSeries ( c . column _title , dimple . plot . pie ) . innerRadius = "50%" ; a . addLegend ( 0 , 0 , 100 , "100%" , "left" ) ; a . draw ( ) } ) } } } ( ) ;
Kanboard . Analytic . UserRepartition = function ( ) { return { Init : function ( ) { jQuery . getJSON ( $ ( "#chart" ) . attr ( "data-url" ) , function ( a ) { var c = a . labels , b = a . metrics ; a = [ ] ; for ( var d = 0 ; d < b . length ; d ++ ) { var e = { } ; e [ c . nb _tasks ] = b [ d ] . nb _tasks ; e [ c . user ] = b [ d ] . user ; a . push ( e ) } b = dimple . newSvg ( "#chart" , "100%" , 350 ) ; a = new dimple . chart ( b , a ) ; a . addMeasureAxis ( "p" , c . nb _tasks ) ; a . addSeries ( c . user , dimple . plot . pie ) . innerRadius = "50%" ; a . addLegend ( 0 , 0 , 100 , "100%" , "left" ) ; a . draw ( ) } ) } } } ( ) ;
Kanboard . Swimlane = function ( ) { function a ( a ) { $ ( ".swimlane-row-" + a ) . css ( "display" , "none" ) ; $ ( ".show-icon-swimlane-" + a ) . css ( "display" , "inline" ) ; $ ( ".hide-icon-swimlane-" + a ) . css ( "display" , "none" ) } function c ( ) { var a = "hidden_swimlanes_" + $ ( "#board" ) . data ( "project-id" ) ; return JSON . parse ( Kanboard . GetStorageItem ( a ) ) || [ ] } jQuery ( document ) . ajaxComplete ( function ( ) { c ( ) . map ( function ( b ) { a ( b ) } ) } ) ; jQuery ( document ) . ready ( function ( ) { c ( ) . map ( function ( b ) { a ( b ) } ) } ) ; jQuery ( document ) . on ( "click" , ".board-swimlane-toggle" , function ( b ) { b . preventDefault ( ) ;
b = $ ( this ) . data ( "swimlane-id" ) ; if ( - 1 < c ( ) . indexOf ( b ) ) { var d = "hidden_swimlanes_" + $ ( "#board" ) . data ( "project-id" ) , e = JSON . parse ( Kanboard . GetStorageItem ( d ) ) || [ ] , f = e . indexOf ( b ) ; - 1 < f && e . splice ( f , 1 ) ; Kanboard . SetStorageItem ( d , JSON . stringify ( e ) ) ; $ ( ".swimlane-row-" + b ) . css ( "display" , "table-row" ) ; $ ( ".show-icon-swimlane-" + b ) . css ( "display" , "none" ) ; $ ( ".hide-icon-swimlane-" + b ) . css ( "display" , "inline" ) } else d = "hidden_swimlanes_" + $ ( "#board" ) . data ( "project-id" ) , e = JSON . parse ( Kanboard . GetStorageItem ( d ) ) || [ ] , e . push ( b ) , Kanboard . SetStorageItem ( d ,
JSON . stringify ( e ) ) , a ( b ) } ) } ( ) ;
Kanboard . Dashboard = function ( ) { function a ( ) { 0 < $ ( ".dashboard-right-column > div:visible" ) . size ( ) ? $ ( ".dashboard-left-column" ) . removeClass ( "dashboard-single-column" ) : $ ( ".dashboard-left-column" ) . addClass ( "dashboard-single-column" ) ; 0 < $ ( ".dashboard-left-column > div:visible" ) . size ( ) ? $ ( ".dashboard-right-column" ) . removeClass ( "dashboard-single-column" ) : $ ( ".dashboard-right-column" ) . addClass ( "dashboard-single-column" ) } jQuery ( document ) . ready ( function ( ) { var c = Kanboard . GetStorageItem ( "dashboard_view" ) ; if ( c ) { var c =
JSON . parse ( c ) , b ; for ( b in c ) $ ( "#dashboard-" + b ) . toggle ( c [ b ] ) ; a ( ) } } ) ; jQuery ( document ) . on ( "click" , ".dashboard-toggle" , function ( c ) { c . preventDefault ( ) ; $ ( "#dashboard-" + $ ( this ) . data ( "toggle" ) ) . toggle ( ) ; a ( ) ; c = [ "projects" , "tasks" , "subtasks" , "activities" , "calendar" ] ; for ( var b = { } , d = 0 ; d < c . length ; d ++ ) b [ c [ d ] ] = $ ( "#dashboard-" + c [ d ] ) . is ( ":visible" ) ; Kanboard . SetStorageItem ( "dashboard_view" , JSON . stringify ( b ) ) } ) } ( ) ;
2015-04-21 17:56:16 +02:00
Kanboard . Budget = function ( ) { jQuery ( document ) . ready ( function ( ) { if ( Kanboard . Exists ( "budget-chart" ) ) { for ( var a = $ ( "#chart" ) . data ( "labels" ) , c = $ ( "#chart" ) . data ( "serie" ) , b = [ "in" , "out" , "left" ] , d = [ ] , e = 0 ; e < c . length ; e ++ ) for ( var f = 0 ; f < b . length ; f ++ ) { var g = { } ; g [ a . date ] = c [ e ] . date ; g [ a . value ] = c [ e ] [ b [ f ] ] ; g [ a . type ] = a [ b [ f ] ] ; d . push ( g ) } c = dimple . newSvg ( "#chart" , 750 , 600 ) ; d = new dimple . chart ( c , d ) ; d . addCategoryAxis ( "x" , [ a . date , a . type ] ) . addOrderRule ( a . date ) ; d . addMeasureAxis ( "y" , a . value ) ; d . addSeries ( a . type , dimple . plot . bar ) ; d . addLegend ( 65 ,
10 , 510 , 20 , "right" ) ; d . draw ( ) } } ) } ( ) ;
( function ( t ) { "function" == typeof define && define . amd ? define ( [ "jquery" , "moment" ] , t ) : t ( jQuery , moment ) } ) ( function ( t , e ) { ( e . defineLocale || e . lang ) . call ( e , "da" , { months : "januar_februar_marts_april_maj_juni_juli_august_september_oktober_november_december" . split ( "_" ) , monthsShort : "jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec" . split ( "_" ) , weekdays : "søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag" . split ( "_" ) , weekdaysShort : "søn_man_tir_ons_tor_fre_lør" . split ( "_" ) , weekdaysMin : "sø_ma_ti_on_to_fr_lø" . split ( "_" ) , longDateFormat : { LT : "HH:mm" , LTS : "LT:ss" , L : "DD/MM/YYYY" , LL : "D. MMMM YYYY" , LLL : "D. MMMM YYYY LT" , LLLL : "dddd [d.] D. MMMM YYYY LT" } , calendar : { sameDay : "[I dag kl.] LT" , nextDay : "[I morgen kl.] LT" , nextWeek : "dddd [kl.] LT" , lastDay : "[I går kl.] LT" , lastWeek : "[sidste] dddd [kl] LT" , sameElse : "L" } , relativeTime : { future : "om %s" , past : "%s siden" , s : "få sekunder" , m : "et minut" , mm : "%d minutter" , h : "en time" , hh : "%d timer" , d : "en dag" , dd : "%d dage" , M : "en måned" , MM : "%d måneder" , y : "et år" , yy : "%d år" } , ordinalParse : /\d{1,2}\./ , ordinal : "%d." , week : { dow : 1 , doy : 4 } } ) , t . fullCalendar . datepickerLang ( "da" , "da" , { closeText : "Luk" , prevText : "<Forrige" , nextText : "Næste>" , currentText : "Idag" , monthNames : [ "Januar" , "Februar" , "Marts" , "April" , "Maj" , "Juni" , "Juli" , "August" , "September" , "Oktober" , "November" , "December" ] , monthNamesShort : [ "Jan" , "Feb" , "Mar" , "Apr" , "Maj" , "Jun" , "Jul" , "Aug" , "Sep" , "Okt" , "Nov" , "Dec" ] , dayNames : [ "Søndag" , "Mandag" , "Tirsdag" , "Onsdag" , "Torsdag" , "Fredag" , "Lørdag" ] , dayNamesShort : [ "Søn" , "Man" , "Tir" , "Ons" , "Tor" , "Fre" , "Lør" ] , dayNamesMin : [ "Sø" , "Ma" , "Ti" , "On" , "To" , "Fr" , "Lø" ] , weekHeader : "Uge" , dateFormat : "dd-mm-yy" , firstDay : 1 , isRTL : ! 1 , showMonthAfterYear : ! 1 , yearSuffix : "" } ) , t . fullCalendar . lang ( "da" , { defaultButtonText : { month : "Måned" , week : "Uge" , day : "Dag" , list : "Agenda" } , allDayText : "Hele dagen" , eventLimitText : "flere" } ) } ) ; ( function ( t ) { "function" == typeof define && define . amd ? define ( [ "jquery" , "moment" ] , t ) : t ( jQuery , moment ) } ) ( function ( t , e ) { function n ( t , e , n ) { var i = { m : [ "eine Minute" , "einer Minute" ] , h : [ "eine Stunde" , "einer Stunde" ] , d : [ "ein Tag" , "einem Tag" ] , dd : [ t + " Tage" , t + " Tagen" ] , M : [ "ein Monat" , "einem Monat" ] , MM : [ t + " Monate" , t + " Monaten" ] , y : [ "ein Jahr" , "einem Jahr" ] , yy : [ t + " Jahre" , t + " Jahren" ] } ; return e ? i [ n ] [ 0 ] : i [ n ] [ 1 ] } ( e . defineLocale || e . lang ) . call ( e , "de" , { months : "Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember" . split ( "_" ) , monthsShort : "Jan._Febr._Mrz._Apr._Mai_Jun._Jul._Aug._Sept._Okt._Nov._Dez." . split ( "_" ) , weekdays : "Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag" . split ( "_" ) , weekdaysShort : "So._Mo._Di._Mi._Do._Fr._Sa." . split ( "_" ) , weekdaysMin : "So_Mo_Di_Mi_Do_Fr_Sa" . split ( "_" ) , longDateFormat : { LT : "HH:mm" , LTS : "HH:mm:ss" , L : "DD.MM.YYYY" , LL : "D. MMMM YYYY" , LLL : "D. MMMM YYYY LT" , LLLL : "dddd, D. MMMM YYYY LT" } , calendar : { sameDay : "[Heute um] LT [Uhr]" , sameElse : "L" , nextDay : "[Morgen um] LT [Uhr]" , nextWeek : "dddd [um] LT [Uhr]" , lastDay : "[Gestern um] LT [Uhr]" , lastWeek : "[letzten] dddd [um] LT [Uhr]" } , relativeTime : { future : "in %s" , past : "vor %s" , s : "ein paar Sekunden" , m : n , mm : "%d Minuten" , h : n , hh : "%d Stunden" , d : n , dd : n , M : n , MM : n , y : n , yy : n } , ordinalParse : /\d{1,2}\./ , ordinal : "%d." , week : { dow : 1 , doy : 4 } } ) , t . fullCalendar . datepickerLang ( "de" , "de" , { closeText : "Schließen" , prevText : "<Zurück" , nextText : "Vor>" , currentText : "Heute" , monthNames : [ "Januar" , "Februar" , "März" , "April" , "Mai" , "Juni" , "Juli" , "August" , "September" , "Oktober" , "November" , "Dezember" ] , monthNamesShort : [ "Jan" , "Feb" , "Mär" , "Apr" , "Mai" , "Jun" , "Jul" , "Aug" , "Sep" , "Okt" , "Nov" , "Dez" ] , dayNames : [ "Sonntag" , "Montag" , "Dienstag" , "Mittwoch" , "Donnerstag" , "Freitag" , "Samstag" ] , dayNamesShort : [ "So" , "Mo" , "Di" , "Mi" , "Do" , "Fr" , "Sa" ] , dayNamesMin : [ "So" , "Mo" , "Di" , "Mi" , "Do" , "Fr" , "Sa" ] , weekHeader : "KW" , dateFormat : "dd.mm.yy" , firstDay : 1 , isRTL : ! 1 , showMonthAfterYear : ! 1 , yearSuffix : "" } ) , t . fullCalendar . lang ( "de" , { defaultButtonText : { month : "Monat" , week : "Woche" , day : "Tag" , list : "Terminübersicht" } , allDayText : "Ganztägig" , eventLimitText : function ( t ) { return "+ weitere " + t } } ) } ) ; ( function ( e ) { "function" == typeof define && define . amd ? define ( [ "jquery" , "moment" ] , e ) : e ( jQuery , moment ) } ) ( function ( e , t ) { var n = " ene . _feb . _mar . _abr . _may . _j