2012-12-04 16:05:48 +01:00
/ * ! j Q u e r y U I - v 1 . 9 . 2 - 2 0 1 2 - 1 1 - 2 3
2012-11-06 15:28:09 +01:00
* http : //jqueryui.com
2012-12-04 16:05:48 +01:00
* Includes : jquery . ui . core . js , jquery . ui . widget . js , jquery . ui . mouse . js , jquery . ui . position . js , jquery . ui . accordion . js , jquery . ui . autocomplete . js , jquery . ui . button . js , jquery . ui . datepicker . js , jquery . ui . dialog . js , jquery . ui . draggable . js , jquery . ui . droppable . js , jquery . ui . effect . js , jquery . ui . effect - blind . js , jquery . ui . effect - bounce . js , jquery . ui . effect - clip . js , jquery . ui . effect - drop . js , jquery . ui . effect - explode . js , jquery . ui . effect - fade . js , jquery . ui . effect - fold . js , jquery . ui . effect - highlight . js , jquery . ui . effect - pulsate . js , jquery . ui . effect - scale . js , jquery . ui . effect - shake . js , jquery . ui . effect - slide . js , jquery . ui . effect - transfer . js , jquery . ui . menu . js , jquery . ui . progressbar . js , jquery . ui . resizable . js , jquery . ui . selectable . js , jquery . ui . slider . js , jquery . ui . sortable . js , jquery . ui . spinner . js , jquery . ui . tabs . js , jquery . ui . tooltip . js
2012-11-06 15:28:09 +01:00
* Copyright ( c ) 2012 jQuery Foundation and other contributors Licensed MIT * /
2016-09-14 02:00:09 +02:00
/ * !
* Contains fix for 1.10 back ported manually
* https : //github.com/jquery/jquery-ui/commit/c241313f1d31b18751a81c1321662512d8086cbc
* plus a fix to ui . selectable widgetEventPrefix being incorrect
* /
! function ( t , e ) { function i ( e , i ) { var n , a , o , r = e . nodeName . toLowerCase ( ) ; return "area" === r ? ( n = e . parentNode , a = n . name , e . href && a && "map" === n . nodeName . toLowerCase ( ) ? ( o = t ( "img[usemap=#" + a + "]" ) [ 0 ] , ! ! o && s ( o ) ) : ! 1 ) : ( /input|select|textarea|button|object/ . test ( r ) ? ! e . disabled : "a" === r ? e . href || i : i ) && s ( e ) } function s ( e ) { return t . expr . filters . visible ( e ) && ! t ( e ) . parents ( ) . andSelf ( ) . filter ( function ( ) { return "hidden" === t . css ( this , "visibility" ) } ) . length } var n = 0 , a = /^ui-id-\d+$/ ; t . ui = t . ui || { } , t . ui . version || ( t . extend ( t . ui , { version : "1.9.2" , keyCode : { BACKSPACE : 8 , COMMA : 188 , DELETE : 46 , DOWN : 40 , END : 35 , ENTER : 13 , ESCAPE : 27 , HOME : 36 , LEFT : 37 , NUMPAD _ADD : 107 , NUMPAD _DECIMAL : 110 , NUMPAD _DIVIDE : 111 , NUMPAD _ENTER : 108 , NUMPAD _MULTIPLY : 106 , NUMPAD _SUBTRACT : 109 , PAGE _DOWN : 34 , PAGE _UP : 33 , PERIOD : 190 , RIGHT : 39 , SPACE : 32 , TAB : 9 , UP : 38 } } ) , t . fn . extend ( { _focus : t . fn . focus , focus : function ( e , i ) { return "number" == typeof e ? this . each ( function ( ) { var s = this ; setTimeout ( function ( ) { t ( s ) . focus ( ) , i && i . call ( s ) } , e ) } ) : this . _focus . apply ( this , arguments ) } , scrollParent : function ( ) { var e ; return e = t . ui . ie && /(static|relative)/ . test ( this . css ( "position" ) ) || /absolute/ . test ( this . css ( "position" ) ) ? this . parents ( ) . filter ( function ( ) { return /(relative|absolute|fixed)/ . test ( t . css ( this , "position" ) ) && /(auto|scroll)/ . test ( t . css ( this , "overflow" ) + t . css ( this , "overflow-y" ) + t . css ( this , "overflow-x" ) ) } ) . eq ( 0 ) : this . parents ( ) . filter ( function ( ) { return /(auto|scroll)/ . test ( t . css ( this , "overflow" ) + t . css ( this , "overflow-y" ) + t . css ( this , "overflow-x" ) ) } ) . eq ( 0 ) , /fixed/ . test ( this . css ( "position" ) ) || ! e . length ? t ( document ) : e } , zIndex : function ( i ) { if ( i !== e ) return this . css ( "zIndex" , i ) ; if ( this . length ) for ( var s , n , a = t ( this [ 0 ] ) ; a . length && a [ 0 ] !== document ; ) { if ( s = a . css ( "position" ) , ( "absolute" === s || "relative" === s || "fixed" === s ) && ( n = parseInt ( a . css ( "zIndex" ) , 10 ) , ! isNaN ( n ) && 0 !== n ) ) return n ; a = a . parent ( ) } return 0 } , uniqueId : function ( ) { return this . each ( function ( ) { this . id || ( this . id = "ui-id-" + ++ n ) } ) } , removeUniqueId : function ( ) { return this . each ( function ( ) { a . test ( this . id ) && t ( this ) . removeAttr ( "id" ) } ) } } ) , t . extend ( t . expr [ ":" ] , { data : t . expr . createPseudo ? t . expr . createPseudo ( function ( e ) { return function ( i ) { return ! ! t . data ( i , e ) } } ) : function ( e , i , s ) { return ! ! t . data ( e , s [ 3 ] ) } , focusable : function ( e ) { return i ( e , ! isNaN ( t . attr ( e , "tabindex" ) ) ) } , tabbable : function ( e ) { var s = t . attr ( e , "tabindex" ) , n = isNaN ( s ) ; return ( n || s >= 0 ) && i ( e , ! n ) } } ) , t ( function ( ) { var e = document . body , i = e . appendChild ( i = document . createElement ( "div" ) ) ; i . offsetHeight , t . extend ( i . style , { minHeight : "100px" , height : "auto" , padding : 0 , borderWidth : 0 } ) , t . support . minHeight = 100 === i . offsetHeight , t . support . selectstart = "onselectstart" in i , e . removeChild ( i ) . style . display = "none" } ) , t ( "<a>" ) . outerWidth ( 1 ) . jquery || t . each ( [ "Width" , "Height" ] , function ( i , s ) { function n ( e , i , s , n ) { return t . each ( a , function ( ) { i -= parseFloat ( t . css ( e , "padding" + this ) ) || 0 , s && ( i -= parseFloat ( t . css ( e , "border" + this + "Width" ) ) || 0 ) , n && ( i -= parseFloat ( t . css ( e , "margin" + this ) ) || 0 ) } ) , i } var a = "Width" === s ? [ "Left" , "Right" ] : [ "Top" , "Bottom" ] , o = s . toLowerCase ( ) , r = { innerWidth : t . fn . innerWidth , innerHeight : t . fn . innerHeight , outerWidth : t . fn . outerWidth , outerHeight : t . fn . outerHeight } ; t . fn [ "inner" + s ] = function ( i ) { return i === e ? r [ "inner" + s ] . call ( this ) : this . each ( function ( ) { t ( this ) . css ( o , n ( this , i ) + "px" ) } ) } , t . fn [ "outer" + s ] = function ( e , i ) { return "number" != typeof e ? r [ "outer" + s ] . call ( this , e ) : this . each ( function ( ) { t ( this ) . css ( o , n ( this , e , ! 0 , i ) + "px" ) } ) } } ) , t ( "<a>" ) . data ( "a-b" , "a" ) . removeData ( "a-b" ) . data ( "a-b" ) && ( t . fn . removeData = function ( e ) { return function ( i ) { return arguments . length ? e . call ( this , t . camelCase ( i ) ) : e . call ( this ) } } ( t . fn . removeData ) ) , function ( ) { var e = /msie ([\w.]+)/ . exec ( navigator . userAgent . toLowerCase ( ) ) || [ ] ; t . ui . ie = e . length ? ! 0 : ! 1 , t . ui . ie6 = 6 === parseFloat ( e [ 1 ] , 10 ) } ( ) , t . fn . extend ( { disableSelection : function ( ) { return this . bind ( ( t . support . selectstart ? "selectstart" : "mousedown" ) + ".ui-disableSelection" , function ( t ) { t . preventDefault ( ) } ) } , enableSelection : function ( ) { return this . unbind ( ".ui-disableSelection" ) } } ) , t . extend ( t . ui , { plugin : { add : function ( e , i , s ) { var n , a = t . ui [ e ] . prototype ; for ( n in s ) a . plugins [ n ] = a . plugins [ n ] || [ ] , a . plugins [ n ] . push ( [ i , s [ n ] ] ) } , call : function ( t , e , i ) { var s , n = t . plugins [ e ] ; if ( n && t . element [ 0 ] . parentNode && 11 !== t . element [ 0 ] . parentNo
} } ) , this . _initSource ( ) , this . menu = t ( "<ul>" ) . addClass ( "ui-autocomplete" ) . appendTo ( this . document . find ( this . options . appendTo || "body" ) [ 0 ] ) . menu ( { input : t ( ) , role : null } ) . zIndex ( this . element . zIndex ( ) + 1 ) . hide ( ) . data ( "menu" ) , this . _on ( this . menu . element , { mousedown : function ( e ) { e . preventDefault ( ) , this . cancelBlur = ! 0 , this . _delay ( function ( ) { delete this . cancelBlur } ) ; var i = this . menu . element [ 0 ] ; t ( e . target ) . closest ( ".ui-menu-item" ) . length || this . _delay ( function ( ) { var e = this ; this . document . one ( "mousedown" , function ( s ) { s . target === e . element [ 0 ] || s . target === i || t . contains ( i , s . target ) || e . close ( ) } ) } ) } , menufocus : function ( i , s ) { if ( this . isNewMenu && ( this . isNewMenu = ! 1 , i . originalEvent && /^mouse/ . test ( i . originalEvent . type ) ) ) return this . menu . blur ( ) , this . document . one ( "mousemove" , function ( ) { t ( i . target ) . trigger ( i . originalEvent ) } ) , e ; var n = s . item . data ( "ui-autocomplete-item" ) || s . item . data ( "item.autocomplete" ) ; ! 1 !== this . _trigger ( "focus" , i , { item : n } ) ? i . originalEvent && /^key/ . test ( i . originalEvent . type ) && this . _value ( n . value ) : this . liveRegion . text ( n . value ) } , menuselect : function ( t , e ) { var i = e . item . data ( "ui-autocomplete-item" ) || e . item . data ( "item.autocomplete" ) , s = this . previous ; this . element [ 0 ] !== this . document [ 0 ] . activeElement && ( this . element . focus ( ) , this . previous = s , this . _delay ( function ( ) { this . previous = s , this . selectedItem = i } ) ) , ! 1 !== this . _trigger ( "select" , t , { item : i } ) && this . _value ( i . value ) , this . term = this . _value ( ) , this . close ( t ) , this . selectedItem = i } } ) , this . liveRegion = t ( "<span>" , { role : "status" , "aria-live" : "polite" } ) . addClass ( "ui-helper-hidden-accessible" ) . insertAfter ( this . element ) , t . fn . bgiframe && this . menu . element . bgiframe ( ) , this . _on ( this . window , { beforeunload : function ( ) { this . element . removeAttr ( "autocomplete" ) } } ) } , _destroy : function ( ) { clearTimeout ( this . searching ) , this . element . removeClass ( "ui-autocomplete-input" ) . removeAttr ( "autocomplete" ) , this . menu . element . remove ( ) , this . liveRegion . remove ( ) } , _setOption : function ( t , e ) { this . _super ( t , e ) , "source" === t && this . _initSource ( ) , "appendTo" === t && this . menu . element . appendTo ( this . document . find ( e || "body" ) [ 0 ] ) , "disabled" === t && e && this . xhr && this . xhr . abort ( ) } , _isMultiLine : function ( ) { return this . element . is ( "textarea" ) ? ! 0 : this . element . is ( "input" ) ? ! 1 : this . element . prop ( "isContentEditable" ) } , _initSource : function ( ) { var e , i , s = this ; t . isArray ( this . options . source ) ? ( e = this . options . source , this . source = function ( i , s ) { s ( t . ui . autocomplete . filter ( e , i . term ) ) } ) : "string" == typeof this . options . source ? ( i = this . options . source , this . source = function ( e , n ) { s . xhr && s . xhr . abort ( ) , s . xhr = t . ajax ( { url : i , data : e , dataType : "json" , success : function ( t ) { n ( t ) } , error : function ( ) { n ( [ ] ) } } ) } ) : this . source = this . options . source } , _searchTimeout : function ( t ) { clearTimeout ( this . searching ) , this . searching = this . _delay ( function ( ) { this . term !== this . _value ( ) && ( this . selectedItem = null , this . search ( null , t ) ) } , this . options . delay ) } , search : function ( t , i ) { return t = null != t ? t : this . _value ( ) , this . term = this . _value ( ) , t . length < this . options . minLength ? this . close ( i ) : this . _trigger ( "search" , i ) !== ! 1 ? this . _search ( t ) : e } , _search : function ( t ) { this . pending ++ , this . element . addClass ( "ui-autocomplete-loading" ) , this . cancelSearch = ! 1 , this . source ( { term : t } , this . _response ( ) ) } , _response : function ( ) { var t = this , e = ++ i ; return function ( s ) { e === i && t . _ _response ( s ) , t . pending -- , t . pending || t . element . removeClass ( "ui-autocomplete-loading" ) } } , _ _response : function ( t ) { t && ( t = this . _normalize ( t ) ) , this . _trigger ( "response" , null , { content : t } ) , ! this . options . disabled && t && t . length && ! this . cancelSearch ? ( this . _suggest ( t ) , this . _trigger ( "open" ) ) : this . _close ( ) } , close : function ( t ) { this . cancelSearch = ! 0 , this . _close ( t ) } , _close : function ( t ) { this . menu . element . is ( ":visible" ) && ( this . menu . element . hide ( ) , this . menu . blur ( ) , this . isNewMenu = ! 0 , this . _trigger ( "close" , t ) ) } , _change : function ( t ) { this . previous !== this . _value ( ) && this . _trigger ( "change" , t , { item : this . selectedItem } ) } , _normalize : function ( e ) { return e . length && e [ 0 ] . label && e [ 0 ] . value ? e : t . map ( e , function ( e ) { return "string" == typeof e ? { label : e , value : e } : t . extend ( { label : e . label || e . value , value : e . value || e . label } , e ) } ) } , _suggest : function ( e ) { var i = this . menu . element . empty ( ) . zIndex ( this . element . zIndex ( ) + 1 ) ; this . _renderMenu ( i , e ) , this . menu . refresh ( ) , i . show ( ) , this . _resizeMenu ( ) , i . position
a . selectedDay = a . currentDay = $ ( "a" , s ) . html ( ) , a . selectedMonth = a . currentMonth = e , a . selectedYear = a . currentYear = i , this . _selectDate ( t , this . _formatDate ( a , a . currentDay , a . currentMonth , a . currentYear ) ) } } , _clearDate : function ( t ) { { var e = $ ( t ) ; this . _getInst ( e [ 0 ] ) } this . _selectDate ( e , "" ) } , _selectDate : function ( t , e ) { var i = $ ( t ) , s = this . _getInst ( i [ 0 ] ) ; e = null != e ? e : this . _formatDate ( s ) , s . input && s . input . val ( e ) , this . _updateAlternate ( s ) ; var n = this . _get ( s , "onSelect" ) ; n ? n . apply ( s . input ? s . input [ 0 ] : null , [ e , s ] ) : s . input && s . input . trigger ( "change" ) , s . inline ? this . _updateDatepicker ( s ) : ( this . _hideDatepicker ( ) , this . _lastInput = s . input [ 0 ] , "object" != typeof s . input [ 0 ] && s . input . focus ( ) , this . _lastInput = null ) } , _updateAlternate : function ( t ) { var e = this . _get ( t , "altField" ) ; if ( e ) { var i = this . _get ( t , "altFormat" ) || this . _get ( t , "dateFormat" ) , s = this . _getDate ( t ) , n = this . formatDate ( i , s , this . _getFormatConfig ( t ) ) ; $ ( e ) . each ( function ( ) { $ ( this ) . val ( n ) } ) } } , noWeekends : function ( t ) { var e = t . getDay ( ) ; return [ e > 0 && 6 > e , "" ] } , iso8601Week : function ( t ) { var e = new Date ( t . getTime ( ) ) ; e . setDate ( e . getDate ( ) + 4 - ( e . getDay ( ) || 7 ) ) ; var i = e . getTime ( ) ; return e . setMonth ( 0 ) , e . setDate ( 1 ) , Math . floor ( Math . round ( ( i - e ) / 864e5 ) / 7 ) + 1 } , parseDate : function ( t , e , i ) { if ( null == t || null == e ) throw "Invalid arguments" ; if ( e = "object" == typeof e ? "" + e : e + "" , "" == e ) return null ; var s = ( i ? i . shortYearCutoff : null ) || this . _defaults . shortYearCutoff ; s = "string" != typeof s ? s : ( new Date ) . getFullYear ( ) % 100 + parseInt ( s , 10 ) ; for ( var n = ( i ? i . dayNamesShort : null ) || this . _defaults . dayNamesShort , a = ( i ? i . dayNames : null ) || this . _defaults . dayNames , o = ( i ? i . monthNamesShort : null ) || this . _defaults . monthNamesShort , r = ( i ? i . monthNames : null ) || this . _defaults . monthNames , h = - 1 , l = - 1 , c = - 1 , u = - 1 , d = ! 1 , p = function ( e ) { var i = _ + 1 < t . length && t . charAt ( _ + 1 ) == e ; return i && _ ++ , i } , f = function ( t ) { var i = p ( t ) , s = "@" == t ? 14 : "!" == t ? 20 : "y" == t && i ? 4 : "o" == t ? 3 : 2 , n = RegExp ( "^\\d{1," + s + "}" ) , a = e . substring ( v ) . match ( n ) ; if ( ! a ) throw "Missing number at position " + v ; return v += a [ 0 ] . length , parseInt ( a [ 0 ] , 10 ) } , g = function ( t , i , s ) { var n = $ . map ( p ( t ) ? s : i , function ( t , e ) { return [ [ e , t ] ] } ) . sort ( function ( t , e ) { return - ( t [ 1 ] . length - e [ 1 ] . length ) } ) , a = - 1 ; if ( $ . each ( n , function ( t , i ) { var s = i [ 1 ] ; return e . substr ( v , s . length ) . toLowerCase ( ) == s . toLowerCase ( ) ? ( a = i [ 0 ] , v += s . length , ! 1 ) : undefined } ) , - 1 != a ) return a + 1 ; throw "Unknown name at position " + v } , m = function ( ) { if ( e . charAt ( v ) != t . charAt ( _ ) ) throw "Unexpected literal at position " + v ; v ++ } , v = 0 , _ = 0 ; _ < t . length ; _ ++ ) if ( d ) "'" != t . charAt ( _ ) || p ( "'" ) ? m ( ) : d = ! 1 ; else switch ( t . charAt ( _ ) ) { case "d" : c = f ( "d" ) ; break ; case "D" : g ( "D" , n , a ) ; break ; case "o" : u = f ( "o" ) ; break ; case "m" : l = f ( "m" ) ; break ; case "M" : l = g ( "M" , o , r ) ; break ; case "y" : h = f ( "y" ) ; break ; case "@" : var b = new Date ( f ( "@" ) ) ; h = b . getFullYear ( ) , l = b . getMonth ( ) + 1 , c = b . getDate ( ) ; break ; case "!" : var b = new Date ( ( f ( "!" ) - this . _ticksTo1970 ) / 1e4 ) ; h = b . getFullYear ( ) , l = b . getMonth ( ) + 1 , c = b . getDate ( ) ; break ; case "'" : p ( "'" ) ? m ( ) : d = ! 0 ; break ; default : m ( ) } if ( v < e . length ) { var y = e . substr ( v ) ; if ( ! /^\s+/ . test ( y ) ) throw "Extra/unparsed characters found in date: " + y } if ( - 1 == h ? h = ( new Date ) . getFullYear ( ) : 100 > h && ( h += ( new Date ) . getFullYear ( ) - ( new Date ) . getFullYear ( ) % 100 + ( h > s ? - 100 : 0 ) ) , u > - 1 ) for ( l = 1 , c = u ; ; ) { var w = this . _getDaysInMonth ( h , l - 1 ) ; if ( w >= c ) break ; l ++ , c -= w } var b = this . _daylightSavingAdjust ( new Date ( h , l - 1 , c ) ) ; if ( b . getFullYear ( ) != h || b . getMonth ( ) + 1 != l || b . getDate ( ) != c ) throw "Invalid date" ; return b } , ATOM : "yy-mm-dd" , COOKIE : "D, dd M yy" , ISO _8601 : "yy-mm-dd" , RFC _822 : "D, d M y" , RFC _850 : "DD, dd-M-y" , RFC _1036 : "D, d M y" , RFC _1123 : "D, d M yy" , RFC _2822 : "D, d M yy" , RSS : "D, d M y" , TICKS : "!" , TIMESTAMP : "@" , W3C : "yy-mm-dd" , _ticksTo1970 : 24 * ( 718685 + Math . floor ( 492.5 ) - Math . floor ( 19.7 ) + Math . floor ( 4.925 ) ) * 60 * 60 * 1e7 , formatDate : function ( t , e , i ) { if ( ! e ) return "" ; var s = ( i ? i . dayNamesShort : null ) || this . _defaults . dayNamesShort , n = ( i ? i . dayNames : null ) || this . _defaults . dayNames , a = ( i ? i . monthNamesShort : null ) || this . _defaults . monthNamesShort , o = ( i ? i . monthNames : null ) || this . _defaults . monthNames , r = function ( e ) { var i = d + 1 < t . length && t . charAt ( d + 1 ) == e ; return i && d ++ , i } , h = function ( t , e , i ) { var s = "" + e ; if ( r ( t ) ) for ( ; s . length < i ; ) s = "0" + s ; return s } , l = function ( t , e , i , s ) { return r ( t ) ? s [ e ] : i [ e ] } , c = "" , u = ! 1 ; if ( e ) for ( var d = 0 ; d < t . length ; d ++ ) if ( u ) "'" != t . charAt ( d ) || r ( "'" ) ? c += t . charAt ( d ) : u = ! 1 ; else switch ( t . charAt ( d ) ) { case "
for ( var s = this . element [ 0 ] , n = ! 1 ; s && ( s = s . parentNode ) ; ) s == document && ( n = ! 0 ) ; if ( ! n && "original" === this . options . helper ) return ! 1 ; if ( "invalid" == this . options . revert && ! i || "valid" == this . options . revert && i || this . options . revert === ! 0 || t . isFunction ( this . options . revert ) && this . options . revert . call ( this . element , i ) ) { var a = this ; t ( this . helper ) . animate ( this . originalPosition , parseInt ( this . options . revertDuration , 10 ) , function ( ) { a . _trigger ( "stop" , e ) !== ! 1 && a . _clear ( ) } ) } else this . _trigger ( "stop" , e ) !== ! 1 && this . _clear ( ) ; return ! 1 } , _mouseUp : function ( e ) { return t ( "div.ui-draggable-iframeFix" ) . each ( function ( ) { this . parentNode . removeChild ( this ) } ) , t . ui . ddmanager && t . ui . ddmanager . dragStop ( this , e ) , t . ui . mouse . prototype . _mouseUp . call ( this , e ) } , cancel : function ( ) { return this . helper . is ( ".ui-draggable-dragging" ) ? this . _mouseUp ( { } ) : this . _clear ( ) , this } , _getHandle : function ( e ) { var i = this . options . handle && t ( this . options . handle , this . element ) . length ? ! 1 : ! 0 ; return t ( this . options . handle , this . element ) . find ( "*" ) . andSelf ( ) . each ( function ( ) { this == e . target && ( i = ! 0 ) } ) , i } , _createHelper : function ( e ) { var i = this . options , s = t . isFunction ( i . helper ) ? t ( i . helper . apply ( this . element [ 0 ] , [ e ] ) ) : "clone" == i . helper ? this . element . clone ( ) . removeAttr ( "id" ) : this . element ; return s . parents ( "body" ) . length || s . appendTo ( "parent" == i . appendTo ? this . element [ 0 ] . parentNode : i . appendTo ) , s [ 0 ] == this . element [ 0 ] || /(fixed|absolute)/ . test ( s . css ( "position" ) ) || s . css ( "position" , "absolute" ) , s } , _adjustOffsetFromHelper : function ( e ) { "string" == typeof e && ( e = e . split ( " " ) ) , t . isArray ( e ) && ( e = { left : + e [ 0 ] , top : + e [ 1 ] || 0 } ) , "left" in e && ( this . offset . click . left = e . left + this . margins . left ) , "right" in e && ( this . offset . click . left = this . helperProportions . width - e . right + this . margins . left ) , "top" in e && ( this . offset . click . top = e . top + this . margins . top ) , "bottom" in e && ( this . offset . click . top = this . helperProportions . height - e . bottom + this . margins . top ) } , _getParentOffset : function ( ) { this . offsetParent = this . helper . offsetParent ( ) ; var e = this . offsetParent . offset ( ) ; return "absolute" == this . cssPosition && this . scrollParent [ 0 ] != document && t . contains ( this . scrollParent [ 0 ] , this . offsetParent [ 0 ] ) && ( e . left += this . scrollParent . scrollLeft ( ) , e . top += this . scrollParent . scrollTop ( ) ) , ( this . offsetParent [ 0 ] == document . body || this . offsetParent [ 0 ] . tagName && "html" == this . offsetParent [ 0 ] . tagName . toLowerCase ( ) && t . ui . ie ) && ( e = { top : 0 , left : 0 } ) , { top : e . top + ( parseInt ( this . offsetParent . css ( "borderTopWidth" ) , 10 ) || 0 ) , left : e . left + ( parseInt ( this . offsetParent . css ( "borderLeftWidth" ) , 10 ) || 0 ) } } , _getRelativeOffset : function ( ) { if ( "relative" == this . cssPosition ) { var t = this . element . position ( ) ; return { top : t . top - ( parseInt ( this . helper . css ( "top" ) , 10 ) || 0 ) + this . scrollParent . scrollTop ( ) , left : t . left - ( parseInt ( this . helper . css ( "left" ) , 10 ) || 0 ) + this . scrollParent . scrollLeft ( ) } } return { top : 0 , left : 0 } } , _cacheMargins : function ( ) { this . margins = { left : parseInt ( this . element . css ( "marginLeft" ) , 10 ) || 0 , top : parseInt ( this . element . css ( "marginTop" ) , 10 ) || 0 , right : parseInt ( this . element . css ( "marginRight" ) , 10 ) || 0 , bottom : parseInt ( this . element . css ( "marginBottom" ) , 10 ) || 0 } } , _cacheHelperProportions : function ( ) { this . helperProportions = { width : this . helper . outerWidth ( ) , height : this . helper . outerHeight ( ) } } , _setContainment : function ( ) { var e = this . options ; if ( "parent" == e . containment && ( e . containment = this . helper [ 0 ] . parentNode ) , ( "document" == e . containment || "window" == e . containment ) && ( this . containment = [ "document" == e . containment ? 0 : t ( window ) . scrollLeft ( ) - this . offset . relative . left - this . offset . parent . left , "document" == e . containment ? 0 : t ( window ) . scrollTop ( ) - this . offset . relative . top - this . offset . parent . top , ( "document" == e . containment ? 0 : t ( window ) . scrollLeft ( ) ) + t ( "document" == e . containment ? document : window ) . width ( ) - this . helperProportions . width - this . margins . left , ( "document" == e . containment ? 0 : t ( window ) . scrollTop ( ) ) + ( t ( "document" == e . containment ? document : window ) . height ( ) || document . body . parentNode . scrollHeight ) - this . helperProportions . height - this . margins . top ] ) , /^(document|window|parent)$/ . test ( e . containment ) || e . containment . constructor == Array ) e . containment . constructor == Array && ( this . containment = e . containment ) ; else { var i = t ( e . containment ) , s = i [ 0 ] ; if ( ! s ) return ; var n = ( i . offset ( ) , "hidden" != t ( s ) . css ( "overflow" ) ) ; this . containment = [ ( par
* jQuery Color Animations v2 . 0.0
* http : //jquery.com/
*
* Copyright 2012 jQuery Foundation and other contributors
* Released under the MIT license .
* http : //jquery.org/license
*
* Date : Mon Aug 13 13 : 41 : 02 2012 - 0500
* /
function ( e , i ) { function s ( t , e , i ) { var s = d [ e . type ] || { } ; return null == t ? i || ! e . def ? null : e . def : ( t = s . floor ? ~ ~ t : parseFloat ( t ) , isNaN ( t ) ? e . def : s . mod ? ( t + s . mod ) % s . mod : 0 > t ? 0 : s . max < t ? s . max : t ) } function n ( t ) { var s = c ( ) , n = s . _rgba = [ ] ; return t = t . toLowerCase ( ) , g ( l , function ( e , a ) { var o , r = a . re . exec ( t ) , h = r && a . parse ( r ) , l = a . space || "rgba" ; return h ? ( o = s [ l ] ( h ) , s [ u [ l ] . cache ] = o [ u [ l ] . cache ] , n = s . _rgba = o . _rgba , ! 1 ) : i } ) , n . length ? ( "0,0,0,0" === n . join ( ) && e . extend ( n , o . transparent ) , s ) : o [ t ] } function a ( t , e , i ) { return i = ( i + 1 ) % 1 , 1 > 6 * i ? t + ( e - t ) * i * 6 : 1 > 2 * i ? e : 2 > 3 * i ? t + ( e - t ) * ( 2 / 3 - i ) * 6 : t } var o , r = "backgroundColor borderBottomColor borderLeftColor borderRightColor borderTopColor color columnRuleColor outlineColor textDecorationColor textEmphasisColor" . split ( " " ) , h = /^([\-+])=\s*(\d+\.?\d*)/ , l = [ { re : /rgba?\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*(?:,\s*(\d+(?:\.\d+)?)\s*)?\)/ , parse : function ( t ) { return [ t [ 1 ] , t [ 2 ] , t [ 3 ] , t [ 4 ] ] } } , { re : /rgba?\(\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d+(?:\.\d+)?)\s*)?\)/ , parse : function ( t ) { return [ 2.55 * t [ 1 ] , 2.55 * t [ 2 ] , 2.55 * t [ 3 ] , t [ 4 ] ] } } , { re : /#([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})/ , parse : function ( t ) { return [ parseInt ( t [ 1 ] , 16 ) , parseInt ( t [ 2 ] , 16 ) , parseInt ( t [ 3 ] , 16 ) ] } } , { re : /#([a-f0-9])([a-f0-9])([a-f0-9])/ , parse : function ( t ) { return [ parseInt ( t [ 1 ] + t [ 1 ] , 16 ) , parseInt ( t [ 2 ] + t [ 2 ] , 16 ) , parseInt ( t [ 3 ] + t [ 3 ] , 16 ) ] } } , { re : /hsla?\(\s*(\d+(?:\.\d+)?)\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d+(?:\.\d+)?)\s*)?\)/ , space : "hsla" , parse : function ( t ) { return [ t [ 1 ] , t [ 2 ] / 100 , t [ 3 ] / 100 , t [ 4 ] ] } } ] , c = e . Color = function ( t , i , s , n ) { return new e . Color . fn . parse ( t , i , s , n ) } , u = { rgba : { props : { red : { idx : 0 , type : "byte" } , green : { idx : 1 , type : "byte" } , blue : { idx : 2 , type : "byte" } } } , hsla : { props : { hue : { idx : 0 , type : "degrees" } , saturation : { idx : 1 , type : "percent" } , lightness : { idx : 2 , type : "percent" } } } } , d = { "byte" : { floor : ! 0 , max : 255 } , percent : { max : 1 } , degrees : { mod : 360 , floor : ! 0 } } , p = c . support = { } , f = e ( "<p>" ) [ 0 ] , g = e . each ; f . style . cssText = "background-color:rgba(1,1,1,.5)" , p . rgba = f . style . backgroundColor . indexOf ( "rgba" ) > - 1 , g ( u , function ( t , e ) { e . cache = "_" + t , e . props . alpha = { idx : 3 , type : "percent" , def : 1 } } ) , c . fn = e . extend ( c . prototype , { parse : function ( a , r , h , l ) { if ( a === i ) return this . _rgba = [ null , null , null , null ] , this ; ( a . jquery || a . nodeType ) && ( a = e ( a ) . css ( r ) , r = i ) ; var d = this , p = e . type ( a ) , f = this . _rgba = [ ] ; return r !== i && ( a = [ a , r , h , l ] , p = "array" ) , "string" === p ? this . parse ( n ( a ) || o . _default ) : "array" === p ? ( g ( u . rgba . props , function ( t , e ) { f [ e . idx ] = s ( a [ e . idx ] , e ) } ) , this ) : "object" === p ? ( a instanceof c ? g ( u , function ( t , e ) { a [ e . cache ] && ( d [ e . cache ] = a [ e . cache ] . slice ( ) ) } ) : g ( u , function ( e , i ) { var n = i . cache ; g ( i . props , function ( t , e ) { if ( ! d [ n ] && i . to ) { if ( "alpha" === t || null == a [ t ] ) return ; d [ n ] = i . to ( d . _rgba ) } d [ n ] [ e . idx ] = s ( a [ t ] , e , ! 0 ) } ) , d [ n ] && t . inArray ( null , d [ n ] . slice ( 0 , 3 ) ) < 0 && ( d [ n ] [ 3 ] = 1 , i . from && ( d . _rgba = i . from ( d [ n ] ) ) ) } ) , this ) : i } , is : function ( t ) { var e = c ( t ) , s = ! 0 , n = this ; return g ( u , function ( t , a ) { var o , r = e [ a . cache ] ; return r && ( o = n [ a . cache ] || a . to && a . to ( n . _rgba ) || [ ] , g ( a . props , function ( t , e ) { return null != r [ e . idx ] ? s = r [ e . idx ] === o [ e . idx ] : i } ) ) , s } ) , s } , _space : function ( ) { var t = [ ] , e = this ; return g ( u , function ( i , s ) { e [ s . cache ] && t . push ( i ) } ) , t . pop ( ) } , transition : function ( t , e ) { var i = c ( t ) , n = i . _space ( ) , a = u [ n ] , o = 0 === this . alpha ( ) ? c ( "transparent" ) : this , r = o [ a . cache ] || a . to ( o . _rgba ) , h = r . slice ( ) ; return i = i [ a . cache ] , g ( a . props , function ( t , n ) { var a = n . idx , o = r [ a ] , l = i [ a ] , c = d [ n . type ] || { } ; null !== l && ( null === o ? h [ a ] = l : ( c . mod && ( l - o > c . mod / 2 ? o += c . mod : o - l > c . mod / 2 && ( o -= c . mod ) ) , h [ a ] = s ( ( l - o ) * e + o , n ) ) ) } ) , this [ n ] ( h ) } , blend : function ( t ) { if ( 1 === this . _rgba [ 3 ] ) return this ; var i = this . _rgba . slice ( ) , s = i . pop ( ) , n = c ( t ) . _rgba ; return c ( e . map ( i , function ( t , e ) { return ( 1 - s ) * n [ e ] + s * t } ) ) } , toRgbaString : function ( ) { var t = "rgba(" , i = e . map ( this . _rgba , function ( t , e ) { return null == t ? e > 2 ? 1 : 0 : t } ) ; return 1 === i [ 3 ] && ( i . pop ( ) , t = "rgb(" ) , t + i . join ( ) + ")" } , toHslaString : function ( ) { var t = "hsla(" , i = e . map ( this . hsla ( ) , function ( t , e ) { return null == t && ( t = e > 2 ? 1 : 0 ) , e && 3 > e && ( t = Math . round ( 100 * t ) + "%" ) , t } ) ; return 1 === i [ 3 ] && ( i . pop ( ) , t = "hsl(" ) , t + i . join ( ) + ")" } , toHexString : function ( t ) { var i = this . _rgba . slice ( ) , s = i . pop ( ) ; return t && i . push ( ~ ~ ( 255 * s ) ) , "#" + e . map ( i , function ( t ) { return t = ( t || 0 ) . toString ( 16 ) , 1 === t . length ? "0" + t : t } ) . join ( "" ) } , toString : function ( ) { return 0 === this . _r
} , previous : function ( t ) { this . _move ( "prev" , "last" , t ) } , isFirstItem : function ( ) { return this . active && ! this . active . prevAll ( ".ui-menu-item" ) . length } , isLastItem : function ( ) { return this . active && ! this . active . nextAll ( ".ui-menu-item" ) . length } , _move : function ( t , e , i ) { var s ; this . active && ( s = "first" === t || "last" === t ? this . active [ "first" === t ? "prevAll" : "nextAll" ] ( ".ui-menu-item" ) . eq ( - 1 ) : this . active [ t + "All" ] ( ".ui-menu-item" ) . eq ( 0 ) ) , s && s . length && this . active || ( s = this . activeMenu . children ( ".ui-menu-item" ) [ e ] ( ) ) , this . focus ( i , s ) } , nextPage : function ( i ) { var s , n , a ; return this . active ? ( this . isLastItem ( ) || ( this . _hasScroll ( ) ? ( n = this . active . offset ( ) . top , a = this . element . height ( ) , this . active . nextAll ( ".ui-menu-item" ) . each ( function ( ) { return s = t ( this ) , s . offset ( ) . top - n - a < 0 } ) , this . focus ( i , s ) ) : this . focus ( i , this . activeMenu . children ( ".ui-menu-item" ) [ this . active ? "last" : "first" ] ( ) ) ) , e ) : ( this . next ( i ) , e ) } , previousPage : function ( i ) { var s , n , a ; return this . active ? ( this . isFirstItem ( ) || ( this . _hasScroll ( ) ? ( n = this . active . offset ( ) . top , a = this . element . height ( ) , this . active . prevAll ( ".ui-menu-item" ) . each ( function ( ) { return s = t ( this ) , s . offset ( ) . top - n + a > 0 } ) , this . focus ( i , s ) ) : this . focus ( i , this . activeMenu . children ( ".ui-menu-item" ) . first ( ) ) ) , e ) : ( this . next ( i ) , e ) } , _hasScroll : function ( ) { return this . element . outerHeight ( ) < this . element . prop ( "scrollHeight" ) } , select : function ( e ) { this . active = this . active || t ( e . target ) . closest ( ".ui-menu-item" ) ; var i = { item : this . active } ; this . active . has ( ".ui-menu" ) . length || this . collapseAll ( e , ! 0 ) , this . _trigger ( "select" , e , i ) } } ) } ( jQuery ) , function ( t , e ) { t . widget ( "ui.progressbar" , { version : "1.9.2" , options : { value : 0 , max : 100 } , min : 0 , _create : function ( ) { this . element . addClass ( "ui-progressbar ui-widget ui-widget-content ui-corner-all" ) . attr ( { role : "progressbar" , "aria-valuemin" : this . min , "aria-valuemax" : this . options . max , "aria-valuenow" : this . _value ( ) } ) , this . valueDiv = t ( "<div class='ui-progressbar-value ui-widget-header ui-corner-left'></div>" ) . appendTo ( this . element ) , this . oldValue = this . _value ( ) , this . _refreshValue ( ) } , _destroy : function ( ) { this . element . removeClass ( "ui-progressbar ui-widget ui-widget-content ui-corner-all" ) . removeAttr ( "role" ) . removeAttr ( "aria-valuemin" ) . removeAttr ( "aria-valuemax" ) . removeAttr ( "aria-valuenow" ) , this . valueDiv . remove ( ) } , value : function ( t ) { return t === e ? this . _value ( ) : ( this . _setOption ( "value" , t ) , this ) } , _setOption : function ( t , e ) { "value" === t && ( this . options . value = e , this . _refreshValue ( ) , this . _value ( ) === this . options . max && this . _trigger ( "complete" ) ) , this . _super ( t , e ) } , _value : function ( ) { var t = this . options . value ; return "number" != typeof t && ( t = 0 ) , Math . min ( this . options . max , Math . max ( this . min , t ) ) } , _percentage : function ( ) { return 100 * this . _value ( ) / this . options . max } , _refreshValue : function ( ) { var t = this . value ( ) , e = this . _percentage ( ) ; this . oldValue !== t && ( this . oldValue = t , this . _trigger ( "change" ) ) , this . valueDiv . toggle ( t > this . min ) . toggleClass ( "ui-corner-right" , t === this . options . max ) . width ( e . toFixed ( 0 ) + "%" ) , this . element . attr ( "aria-valuenow" , t ) } } ) } ( jQuery ) , function ( t ) { t . widget ( "ui.resizable" , t . ui . mouse , { version : "1.9.2" , widgetEventPrefix : "resize" , options : { alsoResize : ! 1 , animate : ! 1 , animateDuration : "slow" , animateEasing : "swing" , aspectRatio : ! 1 , autoHide : ! 1 , containment : ! 1 , ghost : ! 1 , grid : ! 1 , handles : "e,s,se" , helper : ! 1 , maxHeight : null , maxWidth : null , minHeight : 10 , minWidth : 10 , zIndex : 1e3 } , _create : function ( ) { var e = this , i = this . options ; if ( this . element . addClass ( "ui-resizable" ) , t . extend ( this , { _aspectRatio : ! ! i . aspectRatio , aspectRatio : i . aspectRatio , originalElement : this . element , _proportionallyResizeElements : [ ] , _helper : i . helper || i . ghost || i . animate ? i . helper || "ui-resizable-helper" : null } ) , this . element [ 0 ] . nodeName . match ( /canvas|textarea|input|select|button|img/i ) && ( this . element . wrap ( t ( '<div class="ui-wrapper" style="overflow: hidden;"></div>' ) . css ( { position : this . element . css ( "position" ) , width : this . element . outerWidth ( ) , height : this . element . outerHeight ( ) , top : this . element . css ( "top" ) , left : this . element . css ( "left" ) } ) ) , this . element = this . element . parent ( ) . data ( "resizable" , this . element . data ( "resizable" ) ) , this . elementIsWrapper = ! 0 , this . element . css ( { marginLeft : this . originalElement . css ( "marginLeft" ) , marginTop : this . originalElement . css ( "marginTop" ) , marginRig
return 2 * Math . abs ( i ) < e || ( s += i > 0 ? e : - e ) , parseFloat ( s . toFixed ( 5 ) ) } , _valueMin : function ( ) { return this . options . min } , _valueMax : function ( ) { return this . options . max } , _refreshValue : function ( ) { var e , i , s , n , a , o = this . options . range , r = this . options , h = this , l = this . _animateOff ? ! 1 : r . animate , c = { } ; this . options . values && this . options . values . length ? this . handles . each ( function ( s ) { i = ( h . values ( s ) - h . _valueMin ( ) ) / ( h . _valueMax ( ) - h . _valueMin ( ) ) * 100 , c [ "horizontal" === h . orientation ? "left" : "bottom" ] = i + "%" , t ( this ) . stop ( 1 , 1 ) [ l ? "animate" : "css" ] ( c , r . animate ) , h . options . range === ! 0 && ( "horizontal" === h . orientation ? ( 0 === s && h . range . stop ( 1 , 1 ) [ l ? "animate" : "css" ] ( { left : i + "%" } , r . animate ) , 1 === s && h . range [ l ? "animate" : "css" ] ( { width : i - e + "%" } , { queue : ! 1 , duration : r . animate } ) ) : ( 0 === s && h . range . stop ( 1 , 1 ) [ l ? "animate" : "css" ] ( { bottom : i + "%" } , r . animate ) , 1 === s && h . range [ l ? "animate" : "css" ] ( { height : i - e + "%" } , { queue : ! 1 , duration : r . animate } ) ) ) , e = i } ) : ( s = this . value ( ) , n = this . _valueMin ( ) , a = this . _valueMax ( ) , i = a !== n ? ( s - n ) / ( a - n ) * 100 : 0 , c [ "horizontal" === this . orientation ? "left" : "bottom" ] = i + "%" , this . handle . stop ( 1 , 1 ) [ l ? "animate" : "css" ] ( c , r . animate ) , "min" === o && "horizontal" === this . orientation && this . range . stop ( 1 , 1 ) [ l ? "animate" : "css" ] ( { width : i + "%" } , r . animate ) , "max" === o && "horizontal" === this . orientation && this . range [ l ? "animate" : "css" ] ( { width : 100 - i + "%" } , { queue : ! 1 , duration : r . animate } ) , "min" === o && "vertical" === this . orientation && this . range . stop ( 1 , 1 ) [ l ? "animate" : "css" ] ( { height : i + "%" } , r . animate ) , "max" === o && "vertical" === this . orientation && this . range [ l ? "animate" : "css" ] ( { height : 100 - i + "%" } , { queue : ! 1 , duration : r . animate } ) ) } } ) } ( jQuery ) , function ( t , e ) { t . widget ( "ui.sortable" , t . ui . mouse , { version : "1.9.2" , widgetEventPrefix : "sort" , ready : ! 1 , options : { appendTo : "parent" , axis : ! 1 , connectWith : ! 1 , containment : ! 1 , cursor : "auto" , cursorAt : ! 1 , dropOnEmpty : ! 0 , forcePlaceholderSize : ! 1 , forceHelperSize : ! 1 , grid : ! 1 , handle : ! 1 , helper : "original" , items : "> *" , opacity : ! 1 , placeholder : ! 1 , revert : ! 1 , scroll : ! 0 , scrollSensitivity : 20 , scrollSpeed : 20 , scope : "default" , tolerance : "intersect" , zIndex : 1e3 } , _create : function ( ) { var t = this . options ; this . containerCache = { } , this . element . addClass ( "ui-sortable" ) , this . refresh ( ) , this . floating = this . items . length ? "x" === t . axis || /left|right/ . test ( this . items [ 0 ] . item . css ( "float" ) ) || /inline|table-cell/ . test ( this . items [ 0 ] . item . css ( "display" ) ) : ! 1 , this . offset = this . element . offset ( ) , this . _mouseInit ( ) , this . ready = ! 0 } , _destroy : function ( ) { this . element . removeClass ( "ui-sortable ui-sortable-disabled" ) , this . _mouseDestroy ( ) ; for ( var t = this . items . length - 1 ; t >= 0 ; t -- ) this . items [ t ] . item . removeData ( this . widgetName + "-item" ) ; return this } , _setOption : function ( e , i ) { "disabled" === e ? ( this . options [ e ] = i , this . widget ( ) . toggleClass ( "ui-sortable-disabled" , ! ! i ) ) : t . Widget . prototype . _setOption . apply ( this , arguments ) } , _mouseCapture : function ( i , s ) { var n = this ; if ( this . reverting ) return ! 1 ; if ( this . options . disabled || "static" == this . options . type ) return ! 1 ; this . _refreshItems ( i ) ; { var a = null ; t ( i . target ) . parents ( ) . each ( function ( ) { return t . data ( this , n . widgetName + "-item" ) == n ? ( a = t ( this ) , ! 1 ) : e } ) } if ( t . data ( i . target , n . widgetName + "-item" ) == n && ( a = t ( i . target ) ) , ! a ) return ! 1 ; if ( this . options . handle && ! s ) { var o = ! 1 ; if ( t ( this . options . handle , a ) . find ( "*" ) . andSelf ( ) . each ( function ( ) { this == i . target && ( o = ! 0 ) } ) , ! o ) return ! 1 } return this . currentItem = a , this . _removeCurrentsFromItems ( ) , ! 0 } , _mouseStart : function ( e , i , s ) { var n = this . options ; if ( this . currentContainer = this , this . refreshPositions ( ) , this . helper = this . _createHelper ( e ) , this . _cacheHelperProportions ( ) , this . _cacheMargins ( ) , this . scrollParent = this . helper . scrollParent ( ) , this . offset = this . currentItem . offset ( ) , this . offset = { top : this . offset . top - this . margins . top , left : this . offset . left - this . margins . left } , t . extend ( this . offset , { click : { left : e . pageX - this . offset . left , top : e . pageY - this . offset . top } , parent : this . _getParentOffset ( ) , relative : this . _getRelativeOffset ( ) } ) , this . helper . css ( "position" , "absolute" ) , this . cssPosition = this . helper . css ( "position" ) , this . originalPosition = this . _generatePosition ( e ) , this . originalPageX = e . pageX , this . originalPageY = e . pageY , n . cursorAt && this . _adjustOffsetFromHelper ( n . cursorAt ) , this . domPosition = { prev : this . currentItem . prev ( ) [ 0 ] , parent : this . currentItem . parent ( ) [ 0 ] } , this . helper [ 0 ] != thi
} ) . delegate ( ".ui-tabs-anchor" , "focus" + this . eventNamespace , function ( ) { t ( this ) . closest ( "li" ) . is ( ".ui-state-disabled" ) && this . blur ( ) } ) , this . _processTabs ( ) , null === n && ( a && this . tabs . each ( function ( i , s ) { return t ( s ) . attr ( "aria-controls" ) === a ? ( n = i , ! 1 ) : e } ) , null === n && ( n = this . tabs . index ( this . tabs . filter ( ".ui-tabs-active" ) ) ) , ( null === n || - 1 === n ) && ( n = this . tabs . length ? 0 : ! 1 ) ) , n !== ! 1 && ( n = this . tabs . index ( this . tabs . eq ( n ) ) , - 1 === n && ( n = s . collapsible ? ! 1 : 0 ) ) , s . active = n , ! s . collapsible && s . active === ! 1 && this . anchors . length && ( s . active = 0 ) , t . isArray ( s . disabled ) && ( s . disabled = t . unique ( s . disabled . concat ( t . map ( this . tabs . filter ( ".ui-state-disabled" ) , function ( t ) { return i . tabs . index ( t ) } ) ) ) . sort ( ) ) , this . active = this . options . active !== ! 1 && this . anchors . length ? this . _findActive ( this . options . active ) : t ( ) , this . _refresh ( ) , this . active . length && this . load ( s . active ) } , _getCreateEventData : function ( ) { return { tab : this . active , panel : this . active . length ? this . _getPanelForTab ( this . active ) : t ( ) } } , _tabKeydown : function ( i ) { var s = t ( this . document [ 0 ] . activeElement ) . closest ( "li" ) , n = this . tabs . index ( s ) , a = ! 0 ; if ( ! this . _handlePageNav ( i ) ) { switch ( i . keyCode ) { case t . ui . keyCode . RIGHT : case t . ui . keyCode . DOWN : n ++ ; break ; case t . ui . keyCode . UP : case t . ui . keyCode . LEFT : a = ! 1 , n -- ; break ; case t . ui . keyCode . END : n = this . anchors . length - 1 ; break ; case t . ui . keyCode . HOME : n = 0 ; break ; case t . ui . keyCode . SPACE : return i . preventDefault ( ) , clearTimeout ( this . activating ) , this . _activate ( n ) , e ; case t . ui . keyCode . ENTER : return i . preventDefault ( ) , clearTimeout ( this . activating ) , this . _activate ( n === this . options . active ? ! 1 : n ) , e ; default : return } i . preventDefault ( ) , clearTimeout ( this . activating ) , n = this . _focusNextTab ( n , a ) , i . ctrlKey || ( s . attr ( "aria-selected" , "false" ) , this . tabs . eq ( n ) . attr ( "aria-selected" , "true" ) , this . activating = this . _delay ( function ( ) { this . option ( "active" , n ) } , this . delay ) ) } } , _panelKeydown : function ( e ) { this . _handlePageNav ( e ) || e . ctrlKey && e . keyCode === t . ui . keyCode . UP && ( e . preventDefault ( ) , this . active . focus ( ) ) } , _handlePageNav : function ( i ) { return i . altKey && i . keyCode === t . ui . keyCode . PAGE _UP ? ( this . _activate ( this . _focusNextTab ( this . options . active - 1 , ! 1 ) ) , ! 0 ) : i . altKey && i . keyCode === t . ui . keyCode . PAGE _DOWN ? ( this . _activate ( this . _focusNextTab ( this . options . active + 1 , ! 0 ) ) , ! 0 ) : e } , _findNextTab : function ( e , i ) { function s ( ) { return e > n && ( e = 0 ) , 0 > e && ( e = n ) , e } for ( var n = this . tabs . length - 1 ; - 1 !== t . inArray ( s ( ) , this . options . disabled ) ; ) e = i ? e + 1 : e - 1 ; return e } , _focusNextTab : function ( t , e ) { return t = this . _findNextTab ( t , e ) , this . tabs . eq ( t ) . focus ( ) , t } , _setOption : function ( t , i ) { return "active" === t ? ( this . _activate ( i ) , e ) : "disabled" === t ? ( this . _setupDisabled ( i ) , e ) : ( this . _super ( t , i ) , "collapsible" === t && ( this . element . toggleClass ( "ui-tabs-collapsible" , i ) , i || this . options . active !== ! 1 || this . _activate ( 0 ) ) , "event" === t && this . _setupEvents ( i ) , "heightStyle" === t && this . _setupHeightStyle ( i ) , e ) } , _tabId : function ( t ) { return t . attr ( "aria-controls" ) || "ui-tabs-" + i ( ) } , _sanitizeSelector : function ( t ) { return t ? t . replace ( /[!"$%&'()*+,.\/:;<=>?@\[\]\^`{|}~]/g , "\\$&" ) : "" } , refresh : function ( ) { var e = this . options , i = this . tablist . children ( ":has(a[href])" ) ; e . disabled = t . map ( i . filter ( ".ui-state-disabled" ) , function ( t ) { return i . index ( t ) } ) , this . _processTabs ( ) , e . active !== ! 1 && this . anchors . length ? this . active . length && ! t . contains ( this . tablist [ 0 ] , this . active [ 0 ] ) ? this . tabs . length === e . disabled . length ? ( e . active = ! 1 , this . active = t ( ) ) : this . _activate ( this . _findNextTab ( Math . max ( 0 , e . active - 1 ) , ! 1 ) ) : e . active = this . tabs . index ( this . active ) : ( e . active = ! 1 , this . active = t ( ) ) , this . _refresh ( ) } , _refresh : function ( ) { this . _setupDisabled ( this . options . disabled ) , this . _setupEvents ( this . options . event ) , this . _setupHeightStyle ( this . options . heightStyle ) , this . tabs . not ( this . active ) . attr ( { "aria-selected" : "false" , tabIndex : - 1 } ) , this . panels . not ( this . _getPanelForTab ( this . active ) ) . hide ( ) . attr ( { "aria-expanded" : "false" , "aria-hidden" : "true" } ) , this . active . length ? ( this . active . addClass ( "ui-tabs-active ui-state-active" ) . attr ( { "aria-selected" : "true" , tabIndex : 0 } ) , this . _getPanelForTab ( this . active ) . show ( ) . attr ( { "aria-expanded" : "true" , "aria-hidden" : "false" } ) ) : this . tabs . eq ( 0 ) . attr ( "tabIndex" , 0 ) } , _processTabs : function ( ) { var e = this ; this . tablist = this . _getList ( ) . addClass ( " ui - tabs - nav ui - helper - reset ui - helper - c