2013-01-07 09:04:09 +01:00
/ * !
* jQuery JavaScript Library v1 . 8.3
* http : //jquery.com/
*
* Includes Sizzle . js
* http : //sizzlejs.com/
*
* Copyright 2012 jQuery Foundation and other contributors
* Released under the MIT license
* http : //jquery.org/license
*
* Date : Tue Nov 13 2012 08 : 20 : 33 GMT - 0500 ( Eastern Standard Time )
* /
( function ( e , t ) { function _ ( e ) { var t = M [ e ] = { } ; return v . each ( e . split ( y ) , function ( e , n ) { t [ n ] = ! 0 } ) , t } function H ( e , n , r ) { if ( r === t && e . nodeType === 1 ) { var i = "data-" + n . replace ( P , "-$1" ) . toLowerCase ( ) ; r = e . getAttribute ( i ) ; if ( typeof r == "string" ) { try { r = r === "true" ? ! 0 : r === "false" ? ! 1 : r === "null" ? null : + r + "" === r ? + r : D . test ( r ) ? v . parseJSON ( r ) : r } catch ( s ) { } v . data ( e , n , r ) } else r = t } return r } function B ( e ) { var t ; for ( t in e ) { if ( t === "data" && v . isEmptyObject ( e [ t ] ) ) continue ; if ( t !== "toJSON" ) return ! 1 } return ! 0 } function et ( ) { return ! 1 } function tt ( ) { return ! 0 } function ut ( e ) { return ! e || ! e . parentNode || e . parentNode . nodeType === 11 } function at ( e , t ) { do e = e [ t ] ; while ( e && e . nodeType !== 1 ) ; return e } function ft ( e , t , n ) { t = t || 0 ; if ( v . isFunction ( t ) ) return v . grep ( e , function ( e , r ) { var i = ! ! t . call ( e , r , e ) ; return i === n } ) ; if ( t . nodeType ) return v . grep ( e , function ( e , r ) { return e === t === n } ) ; if ( typeof t == "string" ) { var r = v . grep ( e , function ( e ) { return e . nodeType === 1 } ) ; if ( it . test ( t ) ) return v . filter ( t , r , ! n ) ; t = v . filter ( t , r ) } return v . grep ( e , function ( e , r ) { return v . inArray ( e , t ) >= 0 === n } ) } function lt ( e ) { var t = ct . split ( "|" ) , n = e . createDocumentFragment ( ) ; if ( n . createElement ) while ( t . length ) n . createElement ( t . pop ( ) ) ; return n } function Lt ( e , t ) { return e . getElementsByTagName ( t ) [ 0 ] || e . appendChild ( e . ownerDocument . createElement ( t ) ) } function At ( e , t ) { if ( t . nodeType !== 1 || ! v . hasData ( e ) ) return ; var n , r , i , s = v . _data ( e ) , o = v . _data ( t , s ) , u = s . events ; if ( u ) { delete o . handle , o . events = { } ; for ( n in u ) for ( r = 0 , i = u [ n ] . length ; r < i ; r ++ ) v . event . add ( t , n , u [ n ] [ r ] ) } o . data && ( o . data = v . extend ( { } , o . data ) ) } function Ot ( e , t ) { var n ; if ( t . nodeType !== 1 ) return ; t . clearAttributes && t . clearAttributes ( ) , t . mergeAttributes && t . mergeAttributes ( e ) , n = t . nodeName . toLowerCase ( ) , n === "object" ? ( t . parentNode && ( t . outerHTML = e . outerHTML ) , v . support . html5Clone && e . innerHTML && ! v . trim ( t . innerHTML ) && ( t . innerHTML = e . innerHTML ) ) : n === "input" && Et . test ( e . type ) ? ( t . defaultChecked = t . checked = e . checked , t . value !== e . value && ( t . value = e . value ) ) : n === "option" ? t . selected = e . defaultSelected : n === "input" || n === "textarea" ? t . defaultValue = e . defaultValue : n === "script" && t . text !== e . text && ( t . text = e . text ) , t . removeAttribute ( v . expando ) } function Mt ( e ) { return typeof e . getElementsByTagName != "undefined" ? e . getElementsByTagName ( "*" ) : typeof e . querySelectorAll != "undefined" ? e . querySelectorAll ( "*" ) : [ ] } function _t ( e ) { Et . test ( e . type ) && ( e . defaultChecked = e . checked ) } function Qt ( e , t ) { if ( t in e ) return t ; var n = t . charAt ( 0 ) . toUpperCase ( ) + t . slice ( 1 ) , r = t , i = Jt . length ; while ( i -- ) { t = Jt [ i ] + n ; if ( t in e ) return t } return r } function Gt ( e , t ) { return e = t || e , v . css ( e , "display" ) === "none" || ! v . contains ( e . ownerDocument , e ) } function Yt ( e , t ) { var n , r , i = [ ] , s = 0 , o = e . length ; for ( ; s < o ; s ++ ) { n = e [ s ] ; if ( ! n . style ) continue ; i [ s ] = v . _data ( n , "olddisplay" ) , t ? ( ! i [ s ] && n . style . display === "none" && ( n . style . display = "" ) , n . style . display === "" && Gt ( n ) && ( i [ s ] = v . _data ( n , "olddisplay" , nn ( n . nodeName ) ) ) ) : ( r = Dt ( n , "display" ) , ! i [ s ] && r !== "none" && v . _data ( n , "olddisplay" , r ) ) } for ( s = 0 ; s < o ; s ++ ) { n = e [ s ] ; if ( ! n . style ) continue ; if ( ! t || n . style . display === "none" || n . style . display === "" ) n . style . display = t ? i [ s ] || "" : "none" } return e } function Zt ( e , t , n ) { var r = Rt . exec ( t ) ; return r ? Math . max ( 0 , r [ 1 ] - ( n || 0 ) ) + ( r [ 2 ] || "px" ) : t } function en ( e , t , n , r ) { var i = n === ( r ? "border" : "content" ) ? 4 : t === "width" ? 1 : 0 , s = 0 ; for ( ; i < 4 ; i += 2 ) n === "margin" && ( s += v . css ( e , n + $t [ i ] , ! 0 ) ) , r ? ( n === "content" && ( s -= parseFloat ( Dt ( e , "padding" + $t [ i ] ) ) || 0 ) , n !== "margin" && ( s -= parseFloat ( Dt ( e , "border" + $t [ i ] + "Width" ) ) || 0 ) ) : ( s += parseFloat ( Dt ( e , "padding" + $t [ i ] ) ) || 0 , n !== "padding" && ( s += parseFloat ( Dt ( e , "border" + $t [ i ] + "Width" ) ) || 0 ) ) ; return s } function tn ( e , t , n ) { var r = t === "width" ? e . offsetWidth : e . offsetHeight , i = ! 0 , s = v . support . boxSizing && v . css ( e , "boxSizing" ) === "border-box" ; if ( r <= 0 || r == null ) { r = Dt ( e , t ) ; if ( r < 0 || r == null ) r = e . style [ t ] ; if ( Ut . test ( r ) ) return r ; i = s && ( v . support . boxSizingReliable || r === e . style [ t ] ) , r = parseFloat ( r ) || 0 } return r + en ( e , t , n || ( s ? "border" : "content" ) , i ) + "px" } function nn ( e ) { if ( Wt [ e ] ) return Wt [ e ] ; var t = v ( "<" + e + ">" ) . appendTo ( i . body ) , n = t . css ( "display" ) ; t . remove ( ) ; if ( n === "none" || n === "" ) { Pt = i . body . appendChild ( Pt || v . extend ( i . createElement ( "iframe" ) , { frameBorder : 0 , width : 0 , height : 0 } ) ) ; if ( ! Ht || ! Pt . createElement ) Ht = ( Pt . contentWindow || Pt . contentDocument ) . document , Ht . write ( "<!doctype html><html><body>" ) , Ht
, "src" , "width" , "height" ] , function ( e , n ) { v . attrHooks [ n ] = v . extend ( v . attrHooks [ n ] , { get : function ( e ) { var r = e . getAttribute ( n , 2 ) ; return r === null ? t : r } } ) } ) , v . support . style || ( v . attrHooks . style = { get : function ( e ) { return e . style . cssText . toLowerCase ( ) || t } , set : function ( e , t ) { return e . style . cssText = t + "" } } ) , v . support . optSelected || ( v . propHooks . selected = v . extend ( v . propHooks . selected , { get : function ( e ) { var t = e . parentNode ; return t && ( t . selectedIndex , t . parentNode && t . parentNode . selectedIndex ) , null } } ) ) , v . support . enctype || ( v . propFix . enctype = "encoding" ) , v . support . checkOn || v . each ( [ "radio" , "checkbox" ] , function ( ) { v . valHooks [ this ] = { get : function ( e ) { return e . getAttribute ( "value" ) === null ? "on" : e . value } } } ) , v . each ( [ "radio" , "checkbox" ] , function ( ) { v . valHooks [ this ] = v . extend ( v . valHooks [ this ] , { set : function ( e , t ) { if ( v . isArray ( t ) ) return e . checked = v . inArray ( v ( e ) . val ( ) , t ) >= 0 } } ) } ) ; var $ = /^(?:textarea|input|select)$/i , J = /^([^\.]*|)(?:\.(.+)|)$/ , K = /(?:^|\s)hover(\.\S+|)\b/ , Q = /^key/ , G = /^(?:mouse|contextmenu)|click/ , Y = /^(?:focusinfocus|focusoutblur)$/ , Z = function ( e ) { return v . event . special . hover ? e : e . replace ( K , "mouseenter$1 mouseleave$1" ) } ; v . event = { add : function ( e , n , r , i , s ) { var o , u , a , f , l , c , h , p , d , m , g ; if ( e . nodeType === 3 || e . nodeType === 8 || ! n || ! r || ! ( o = v . _data ( e ) ) ) return ; r . handler && ( d = r , r = d . handler , s = d . selector ) , r . guid || ( r . guid = v . guid ++ ) , a = o . events , a || ( o . events = a = { } ) , u = o . handle , u || ( o . handle = u = function ( e ) { return typeof v == "undefined" || ! ! e && v . event . triggered === e . type ? t : v . event . dispatch . apply ( u . elem , arguments ) } , u . elem = e ) , n = v . trim ( Z ( n ) ) . split ( " " ) ; for ( f = 0 ; f < n . length ; f ++ ) { l = J . exec ( n [ f ] ) || [ ] , c = l [ 1 ] , h = ( l [ 2 ] || "" ) . split ( "." ) . sort ( ) , g = v . event . special [ c ] || { } , c = ( s ? g . delegateType : g . bindType ) || c , g = v . event . special [ c ] || { } , p = v . extend ( { type : c , origType : l [ 1 ] , data : i , handler : r , guid : r . guid , selector : s , needsContext : s && v . expr . match . needsContext . test ( s ) , namespace : h . join ( "." ) } , d ) , m = a [ c ] ; if ( ! m ) { m = a [ c ] = [ ] , m . delegateCount = 0 ; if ( ! g . setup || g . setup . call ( e , i , h , u ) === ! 1 ) e . addEventListener ? e . addEventListener ( c , u , ! 1 ) : e . attachEvent && e . attachEvent ( "on" + c , u ) } g . add && ( g . add . call ( e , p ) , p . handler . guid || ( p . handler . guid = r . guid ) ) , s ? m . splice ( m . delegateCount ++ , 0 , p ) : m . push ( p ) , v . event . global [ c ] = ! 0 } e = null } , global : { } , remove : function ( e , t , n , r , i ) { var s , o , u , a , f , l , c , h , p , d , m , g = v . hasData ( e ) && v . _data ( e ) ; if ( ! g || ! ( h = g . events ) ) return ; t = v . trim ( Z ( t || "" ) ) . split ( " " ) ; for ( s = 0 ; s < t . length ; s ++ ) { o = J . exec ( t [ s ] ) || [ ] , u = a = o [ 1 ] , f = o [ 2 ] ; if ( ! u ) { for ( u in h ) v . event . remove ( e , u + t [ s ] , n , r , ! 0 ) ; continue } p = v . event . special [ u ] || { } , u = ( r ? p . delegateType : p . bindType ) || u , d = h [ u ] || [ ] , l = d . length , f = f ? new RegExp ( "(^|\\.)" + f . split ( "." ) . sort ( ) . join ( "\\.(?:.*\\.|)" ) + "(\\.|$)" ) : null ; for ( c = 0 ; c < d . length ; c ++ ) m = d [ c ] , ( i || a === m . origType ) && ( ! n || n . guid === m . guid ) && ( ! f || f . test ( m . namespace ) ) && ( ! r || r === m . selector || r === "**" && m . selector ) && ( d . splice ( c -- , 1 ) , m . selector && d . delegateCount -- , p . remove && p . remove . call ( e , m ) ) ; d . length === 0 && l !== d . length && ( ( ! p . teardown || p . teardown . call ( e , f , g . handle ) === ! 1 ) && v . removeEvent ( e , u , g . handle ) , delete h [ u ] ) } v . isEmptyObject ( h ) && ( delete g . handle , v . removeData ( e , "events" , ! 0 ) ) } , customEvent : { getData : ! 0 , setData : ! 0 , changeData : ! 0 } , trigger : function ( n , r , s , o ) { if ( ! s || s . nodeType !== 3 && s . nodeType !== 8 ) { var u , a , f , l , c , h , p , d , m , g , y = n . type || n , b = [ ] ; if ( Y . test ( y + v . event . triggered ) ) return ; y . indexOf ( "!" ) >= 0 && ( y = y . slice ( 0 , - 1 ) , a = ! 0 ) , y . indexOf ( "." ) >= 0 && ( b = y . split ( "." ) , y = b . shift ( ) , b . sort ( ) ) ; if ( ( ! s || v . event . customEvent [ y ] ) && ! v . event . global [ y ] ) return ; n = typeof n == "object" ? n [ v . expando ] ? n : new v . Event ( y , n ) : new v . Event ( y ) , n . type = y , n . isTrigger = ! 0 , n . exclusive = a , n . namespace = b . join ( "." ) , n . namespace _re = n . namespace ? new RegExp ( "(^|\\.)" + b . join ( "\\.(?:.*\\.|)" ) + "(\\.|$)" ) : null , h = y . indexOf ( ":" ) < 0 ? "on" + y : "" ; if ( ! s ) { u = v . cache ; for ( f in u ) u [ f ] . events && u [ f ] . events [ y ] && v . event . trigger ( n , r , u [ f ] . handle . elem , ! 0 ) ; return } n . result = t , n . target || ( n . target = s ) , r = r != null ? v . makeArray ( r ) : [ ] , r . unshift ( n ) , p = v . event . special [ y ] || { } ; if ( p . trigger && p . trigger . apply ( s , r ) === ! 1 ) return ; m = [ [ s , p . bindType || y ] ] ; if ( ! o && ! p . noBubble && ! v . isWindow ( s ) ) { g = p . delegateType || y , l = Y . test ( g + y ) ? s : s . parentNode ; for ( c = s ; l ; l = l . parentNode ) m . push ( [ l , g ] ) , c = l ; c === ( s . ownerDocument || i ) && m . push ( [ c . defaultView || c . parentWindow || e , g ] ) } for ( f = 0 ; f < m . length && ! n . isPropagationStopped ( ) ; f ++ ) l = m [ f ] [ 0 ] , n
, "</map>" ] , _default : [ 0 , "" , "" ] } , Ct = lt ( i ) , kt = Ct . appendChild ( i . createElement ( "div" ) ) ; Nt . optgroup = Nt . option , Nt . tbody = Nt . tfoot = Nt . colgroup = Nt . caption = Nt . thead , Nt . th = Nt . td , v . support . htmlSerialize || ( Nt . _default = [ 1 , "X<div>" , "</div>" ] ) , v . fn . extend ( { text : function ( e ) { return v . access ( this , function ( e ) { return e === t ? v . text ( this ) : this . empty ( ) . append ( ( this [ 0 ] && this [ 0 ] . ownerDocument || i ) . createTextNode ( e ) ) } , null , e , arguments . length ) } , wrapAll : function ( e ) { if ( v . isFunction ( e ) ) return this . each ( function ( t ) { v ( this ) . wrapAll ( e . call ( this , t ) ) } ) ; if ( this [ 0 ] ) { var t = v ( e , this [ 0 ] . ownerDocument ) . eq ( 0 ) . clone ( ! 0 ) ; this [ 0 ] . parentNode && t . insertBefore ( this [ 0 ] ) , t . map ( function ( ) { var e = this ; while ( e . firstChild && e . firstChild . nodeType === 1 ) e = e . firstChild ; return e } ) . append ( this ) } return this } , wrapInner : function ( e ) { return v . isFunction ( e ) ? this . each ( function ( t ) { v ( this ) . wrapInner ( e . call ( this , t ) ) } ) : this . each ( function ( ) { var t = v ( this ) , n = t . contents ( ) ; n . length ? n . wrapAll ( e ) : t . append ( e ) } ) } , wrap : function ( e ) { var t = v . isFunction ( e ) ; return this . each ( function ( n ) { v ( this ) . wrapAll ( t ? e . call ( this , n ) : e ) } ) } , unwrap : function ( ) { return this . parent ( ) . each ( function ( ) { v . nodeName ( this , "body" ) || v ( this ) . replaceWith ( this . childNodes ) } ) . end ( ) } , append : function ( ) { return this . domManip ( arguments , ! 0 , function ( e ) { ( this . nodeType === 1 || this . nodeType === 11 ) && this . appendChild ( e ) } ) } , prepend : function ( ) { return this . domManip ( arguments , ! 0 , function ( e ) { ( this . nodeType === 1 || this . nodeType === 11 ) && this . insertBefore ( e , this . firstChild ) } ) } , before : function ( ) { if ( ! ut ( this [ 0 ] ) ) return this . domManip ( arguments , ! 1 , function ( e ) { this . parentNode . insertBefore ( e , this ) } ) ; if ( arguments . length ) { var e = v . clean ( arguments ) ; return this . pushStack ( v . merge ( e , this ) , "before" , this . selector ) } } , after : function ( ) { if ( ! ut ( this [ 0 ] ) ) return this . domManip ( arguments , ! 1 , function ( e ) { this . parentNode . insertBefore ( e , this . nextSibling ) } ) ; if ( arguments . length ) { var e = v . clean ( arguments ) ; return this . pushStack ( v . merge ( this , e ) , "after" , this . selector ) } } , remove : function ( e , t ) { var n , r = 0 ; for ( ; ( n = this [ r ] ) != null ; r ++ ) if ( ! e || v . filter ( e , [ n ] ) . length ) ! t && n . nodeType === 1 && ( v . cleanData ( n . getElementsByTagName ( "*" ) ) , v . cleanData ( [ n ] ) ) , n . parentNode && n . parentNode . removeChild ( n ) ; return this } , empty : function ( ) { var e , t = 0 ; for ( ; ( e = this [ t ] ) != null ; t ++ ) { e . nodeType === 1 && v . cleanData ( e . getElementsByTagName ( "*" ) ) ; while ( e . firstChild ) e . removeChild ( e . firstChild ) } return this } , clone : function ( e , t ) { return e = e == null ? ! 1 : e , t = t == null ? e : t , this . map ( function ( ) { return v . clone ( this , e , t ) } ) } , html : function ( e ) { return v . access ( this , function ( e ) { var n = this [ 0 ] || { } , r = 0 , i = this . length ; if ( e === t ) return n . nodeType === 1 ? n . innerHTML . replace ( ht , "" ) : t ; if ( typeof e == "string" && ! yt . test ( e ) && ( v . support . htmlSerialize || ! wt . test ( e ) ) && ( v . support . leadingWhitespace || ! pt . test ( e ) ) && ! Nt [ ( vt . exec ( e ) || [ "" , "" ] ) [ 1 ] . toLowerCase ( ) ] ) { e = e . replace ( dt , "<$1></$2>" ) ; try { for ( ; r < i ; r ++ ) n = this [ r ] || { } , n . nodeType === 1 && ( v . cleanData ( n . getElementsByTagName ( "*" ) ) , n . innerHTML = e ) ; n = 0 } catch ( s ) { } } n && this . empty ( ) . append ( e ) } , null , e , arguments . length ) } , replaceWith : function ( e ) { return ut ( this [ 0 ] ) ? this . length ? this . pushStack ( v ( v . isFunction ( e ) ? e ( ) : e ) , "replaceWith" , e ) : this : v . isFunction ( e ) ? this . each ( function ( t ) { var n = v ( this ) , r = n . html ( ) ; n . replaceWith ( e . call ( this , t , r ) ) } ) : ( typeof e != "string" && ( e = v ( e ) . detach ( ) ) , this . each ( function ( ) { var t = this . nextSibling , n = this . parentNode ; v ( this ) . remove ( ) , t ? v ( t ) . before ( e ) : v ( n ) . append ( e ) } ) ) } , detach : function ( e ) { return this . remove ( e , ! 0 ) } , domManip : function ( e , n , r ) { e = [ ] . concat . apply ( [ ] , e ) ; var i , s , o , u , a = 0 , f = e [ 0 ] , l = [ ] , c = this . length ; if ( ! v . support . checkClone && c > 1 && typeof f == "string" && St . test ( f ) ) return this . each ( function ( ) { v ( this ) . domManip ( e , n , r ) } ) ; if ( v . isFunction ( f ) ) return this . each ( function ( i ) { var s = v ( this ) ; e [ 0 ] = f . call ( this , i , n ? s . html ( ) : t ) , s . domManip ( e , n , r ) } ) ; if ( this [ 0 ] ) { i = v . buildFragment ( e , this , l ) , o = i . fragment , s = o . firstChild , o . childNodes . length === 1 && ( o = s ) ; if ( s ) { n = n && v . nodeName ( s , "tr" ) ; for ( u = i . cacheable || c - 1 ; a < c ; a ++ ) r . call ( n && v . nodeName ( this [ a ] , "table" ) ? Lt ( this [ a ] , "tbody" ) : this [ a ] , a === u ? o : v . clone ( o , ! 0 , ! 0 ) ) } o = s = null , l . length && v . each ( l , function ( e , t ) { t . src ? v . ajax ? v . ajax ( { url : t . src , type : "GET" , dataType : "script" , async : ! 1 , global : ! 1 , "throws" : ! 0 } ) : v . error ( "no ajax" ) : v . globalEval ( ( t . text || t . text
( r . linkClickSelector , "click.rails" , function ( n ) { var i = e ( this ) , s = i . data ( "method" ) , o = i . data ( "params" ) ; if ( ! r . allowAction ( i ) ) return r . stopEverything ( n ) ; i . is ( r . linkDisableSelector ) && r . disableElement ( i ) ; if ( i . data ( "remote" ) !== t ) { if ( ( n . metaKey || n . ctrlKey ) && ( ! s || s === "GET" ) && ! o ) return ! 0 ; var u = r . handleRemote ( i ) ; return u === ! 1 ? r . enableElement ( i ) : u . error ( function ( ) { r . enableElement ( i ) } ) , ! 1 } if ( i . data ( "method" ) ) return r . handleMethod ( i ) , ! 1 } ) , e ( document ) . delegate ( r . inputChangeSelector , "change.rails" , function ( t ) { var n = e ( this ) ; return r . allowAction ( n ) ? ( r . handleRemote ( n ) , ! 1 ) : r . stopEverything ( t ) } ) , e ( document ) . delegate ( r . formSubmitSelector , "submit.rails" , function ( n ) { var i = e ( this ) , s = i . data ( "remote" ) !== t , o = r . blankInputs ( i , r . requiredInputSelector ) , u = r . nonBlankInputs ( i , r . fileInputSelector ) ; if ( ! r . allowAction ( i ) ) return r . stopEverything ( n ) ; if ( o && i . attr ( "novalidate" ) == t && r . fire ( i , "ajax:aborted:required" , [ o ] ) ) return r . stopEverything ( n ) ; if ( s ) { if ( u ) { setTimeout ( function ( ) { r . disableFormElements ( i ) } , 13 ) ; var a = r . fire ( i , "ajax:aborted:file" , [ u ] ) ; return a || setTimeout ( function ( ) { r . enableFormElements ( i ) } , 13 ) , a } return ! e . support . submitBubbles && e ( ) . jquery < "1.7" && r . callFormSubmitBindings ( i , n ) === ! 1 ? r . stopEverything ( n ) : ( r . handleRemote ( i ) , ! 1 ) } setTimeout ( function ( ) { r . disableFormElements ( i ) } , 13 ) } ) , e ( document ) . delegate ( r . formInputClickSelector , "click.rails" , function ( t ) { var n = e ( this ) ; if ( ! r . allowAction ( n ) ) return r . stopEverything ( t ) ; var i = n . attr ( "name" ) , s = i ? { name : i , value : n . val ( ) } : null ; n . closest ( "form" ) . data ( "ujs:submit-button" , s ) } ) , e ( document ) . delegate ( r . formSubmitSelector , "ajax:beforeSend.rails" , function ( t ) { this == t . target && r . disableFormElements ( e ( this ) ) } ) , e ( document ) . delegate ( r . formSubmitSelector , "ajax:complete.rails" , function ( t ) { this == t . target && r . enableFormElements ( e ( this ) ) } ) , e ( function ( ) { csrf _token = e ( "meta[name=csrf-token]" ) . attr ( "content" ) , csrf _param = e ( "meta[name=csrf-param]" ) . attr ( "content" ) , e ( 'form input[name="' + csrf _param + '"]' ) . val ( csrf _token ) } ) ) } ( jQuery ) , function ( e , t ) { function i ( t , n ) { var r , i , o , u = t . nodeName . toLowerCase ( ) ; return "area" === u ? ( r = t . parentNode , i = r . name , ! t . href || ! i || r . nodeName . toLowerCase ( ) !== "map" ? ! 1 : ( o = e ( "img[usemap=#" + i + "]" ) [ 0 ] , ! ! o && s ( o ) ) ) : ( /input|select|textarea|button|object/ . test ( u ) ? ! t . disabled : "a" === u ? t . href || n : n ) && s ( t ) } function s ( t ) { return e . expr . filters . visible ( t ) && ! e ( t ) . parents ( ) . andSelf ( ) . filter ( function ( ) { return e . css ( this , "visibility" ) === "hidden" } ) . length } var n = 0 , r = /^ui-id-\d+$/ ; e . ui = e . ui || { } ; if ( e . ui . version ) return ; e . extend ( e . 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 } } ) , e . fn . extend ( { _focus : e . fn . focus , focus : function ( t , n ) { return typeof t == "number" ? this . each ( function ( ) { var r = this ; setTimeout ( function ( ) { e ( r ) . focus ( ) , n && n . call ( r ) } , t ) } ) : this . _focus . apply ( this , arguments ) } , scrollParent : function ( ) { var t ; return e . ui . ie && /(static|relative)/ . test ( this . css ( "position" ) ) || /absolute/ . test ( this . css ( "position" ) ) ? t = this . parents ( ) . filter ( function ( ) { return /(relative|absolute|fixed)/ . test ( e . css ( this , "position" ) ) && /(auto|scroll)/ . test ( e . css ( this , "overflow" ) + e . css ( this , "overflow-y" ) + e . css ( this , "overflow-x" ) ) } ) . eq ( 0 ) : t = this . parents ( ) . filter ( function ( ) { return /(auto|scroll)/ . test ( e . css ( this , "overflow" ) + e . css ( this , "overflow-y" ) + e . css ( this , "overflow-x" ) ) } ) . eq ( 0 ) , /fixed/ . test ( this . css ( "position" ) ) || ! t . length ? e ( document ) : t } , zIndex : function ( n ) { if ( n !== t ) return this . css ( "zIndex" , n ) ; if ( this . length ) { var r = e ( this [ 0 ] ) , i , s ; while ( r . length && r [ 0 ] !== document ) { i = r . css ( "position" ) ; if ( i === "absolute" || i === "relative" || i === "fixed" ) { s = parseInt ( r . css ( "zIndex" ) , 10 ) ; if ( ! isNaN ( s ) && s !== 0 ) return s } r = r . parent ( ) } } return 0 } , uniqueId : function ( ) { return this . each ( function ( ) { this . id || ( this . id = "ui-id-" + ++ n ) } ) } , removeUniqueId : function ( ) { return this . each ( function ( ) { r . test ( this . id ) && e ( this ) . removeAttr ( "id" ) } ) } } ) , e . extend ( e . expr [ ":" ] , { data : e . expr . createPseudo ? e . expr . createPseudo ( function ( t ) { return function ( n ) { return ! ! e . data ( n , t ) } } ) : function ( t , n , r ) { return ! ! e . data ( t , r [ 3 ] ) } , focusa
, { top : 0 , left : h } ) . left - r . margins . left ) } var b = v || m || g || y ; if ( i . snapMode != "outer" ) { var v = Math . abs ( p - a ) <= s , m = Math . abs ( d - f ) <= s , g = Math . abs ( c - o ) <= s , y = Math . abs ( h - u ) <= s ; v && ( n . position . top = r . _convertPositionTo ( "relative" , { top : p , left : 0 } ) . top - r . margins . top ) , m && ( n . position . top = r . _convertPositionTo ( "relative" , { top : d - r . helperProportions . height , left : 0 } ) . top - r . margins . top ) , g && ( n . position . left = r . _convertPositionTo ( "relative" , { top : 0 , left : c } ) . left - r . margins . left ) , y && ( n . position . left = r . _convertPositionTo ( "relative" , { top : 0 , left : h - r . helperProportions . width } ) . left - r . margins . left ) } ! r . snapElements [ l ] . snapping && ( v || m || g || y || b ) && r . options . snap . snap && r . options . snap . snap . call ( r . element , t , e . extend ( r . _uiHash ( ) , { snapItem : r . snapElements [ l ] . item } ) ) , r . snapElements [ l ] . snapping = v || m || g || y || b } } } ) , e . ui . plugin . add ( "draggable" , "stack" , { start : function ( t , n ) { var r = e ( this ) . data ( "draggable" ) . options , i = e . makeArray ( e ( r . stack ) ) . sort ( function ( t , n ) { return ( parseInt ( e ( t ) . css ( "zIndex" ) , 10 ) || 0 ) - ( parseInt ( e ( n ) . css ( "zIndex" ) , 10 ) || 0 ) } ) ; if ( ! i . length ) return ; var s = parseInt ( i [ 0 ] . style . zIndex ) || 0 ; e ( i ) . each ( function ( e ) { this . style . zIndex = s + e } ) , this [ 0 ] . style . zIndex = s + i . length } } ) , e . ui . plugin . add ( "draggable" , "zIndex" , { start : function ( t , n ) { var r = e ( n . helper ) , i = e ( this ) . data ( "draggable" ) . options ; r . css ( "zIndex" ) && ( i . _zIndex = r . css ( "zIndex" ) ) , r . css ( "zIndex" , i . zIndex ) } , stop : function ( t , n ) { var r = e ( this ) . data ( "draggable" ) . options ; r . _zIndex && e ( n . helper ) . css ( "zIndex" , r . _zIndex ) } } ) } ( jQuery ) , function ( e , t ) { e . widget ( "ui.droppable" , { version : "1.9.2" , widgetEventPrefix : "drop" , options : { accept : "*" , activeClass : ! 1 , addClasses : ! 0 , greedy : ! 1 , hoverClass : ! 1 , scope : "default" , tolerance : "intersect" } , _create : function ( ) { var t = this . options , n = t . accept ; this . isover = 0 , this . isout = 1 , this . accept = e . isFunction ( n ) ? n : function ( e ) { return e . is ( n ) } , this . proportions = { width : this . element [ 0 ] . offsetWidth , height : this . element [ 0 ] . offsetHeight } , e . ui . ddmanager . droppables [ t . scope ] = e . ui . ddmanager . droppables [ t . scope ] || [ ] , e . ui . ddmanager . droppables [ t . scope ] . push ( this ) , t . addClasses && this . element . addClass ( "ui-droppable" ) } , _destroy : function ( ) { var t = e . ui . ddmanager . droppables [ this . options . scope ] ; for ( var n = 0 ; n < t . length ; n ++ ) t [ n ] == this && t . splice ( n , 1 ) ; this . element . removeClass ( "ui-droppable ui-droppable-disabled" ) } , _setOption : function ( t , n ) { t == "accept" && ( this . accept = e . isFunction ( n ) ? n : function ( e ) { return e . is ( n ) } ) , e . Widget . prototype . _setOption . apply ( this , arguments ) } , _activate : function ( t ) { var n = e . ui . ddmanager . current ; this . options . activeClass && this . element . addClass ( this . options . activeClass ) , n && this . _trigger ( "activate" , t , this . ui ( n ) ) } , _deactivate : function ( t ) { var n = e . ui . ddmanager . current ; this . options . activeClass && this . element . removeClass ( this . options . activeClass ) , n && this . _trigger ( "deactivate" , t , this . ui ( n ) ) } , _over : function ( t ) { var n = e . ui . ddmanager . current ; if ( ! n || ( n . currentItem || n . element ) [ 0 ] == this . element [ 0 ] ) return ; this . accept . call ( this . element [ 0 ] , n . currentItem || n . element ) && ( this . options . hoverClass && this . element . addClass ( this . options . hoverClass ) , this . _trigger ( "over" , t , this . ui ( n ) ) ) } , _out : function ( t ) { var n = e . ui . ddmanager . current ; if ( ! n || ( n . currentItem || n . element ) [ 0 ] == this . element [ 0 ] ) return ; this . accept . call ( this . element [ 0 ] , n . currentItem || n . element ) && ( this . options . hoverClass && this . element . removeClass ( this . options . hoverClass ) , this . _trigger ( "out" , t , this . ui ( n ) ) ) } , _drop : function ( t , n ) { var r = n || e . ui . ddmanager . current ; if ( ! r || ( r . currentItem || r . element ) [ 0 ] == this . element [ 0 ] ) return ! 1 ; var i = ! 1 ; return this . element . find ( ":data(droppable)" ) . not ( ".ui-draggable-dragging" ) . each ( function ( ) { var t = e . data ( this , "droppable" ) ; if ( t . options . greedy && ! t . options . disabled && t . options . scope == r . options . scope && t . accept . call ( t . element [ 0 ] , r . currentItem || r . element ) && e . ui . intersect ( r , e . extend ( t , { offset : t . element . offset ( ) } ) , t . options . tolerance ) ) return i = ! 0 , ! 1 } ) , i ? ! 1 : this . accept . call ( this . element [ 0 ] , r . currentItem || r . element ) ? ( this . options . activeClass && this . element . removeClass ( this . options . activeClass ) , this . options . hoverClass && this . element . removeClass ( this . options . hoverClass ) , this . _trigger ( "drop" , t , this . ui ( r ) ) , this . element ) : ! 1 } , ui : function ( e ) { return { draggable : e . currentItem || e . element , helper : e . helper , position : e . position , of
e ( window ) . height ( ) - ( t . pageY - e ( document ) . scrollTop ( ) ) < n . scrollSensitivity && ( r = e ( document ) . scrollTop ( e ( document ) . scrollTop ( ) + n . scrollSpeed ) ) , t . pageX - e ( document ) . scrollLeft ( ) < n . scrollSensitivity ? r = e ( document ) . scrollLeft ( e ( document ) . scrollLeft ( ) - n . scrollSpeed ) : e ( window ) . width ( ) - ( t . pageX - e ( document ) . scrollLeft ( ) ) < n . scrollSensitivity && ( r = e ( document ) . scrollLeft ( e ( document ) . scrollLeft ( ) + n . scrollSpeed ) ) ) , r !== ! 1 && e . ui . ddmanager && ! n . dropBehaviour && e . ui . ddmanager . prepareOffsets ( this , t ) } this . positionAbs = this . _convertPositionTo ( "absolute" ) ; if ( ! this . options . axis || this . options . axis != "y" ) this . helper [ 0 ] . style . left = this . position . left + "px" ; if ( ! this . options . axis || this . options . axis != "x" ) this . helper [ 0 ] . style . top = this . position . top + "px" ; for ( var i = this . items . length - 1 ; i >= 0 ; i -- ) { var s = this . items [ i ] , o = s . item [ 0 ] , u = this . _intersectsWithPointer ( s ) ; if ( ! u ) continue ; if ( s . instance !== this . currentContainer ) continue ; if ( o != this . currentItem [ 0 ] && this . placeholder [ u == 1 ? "next" : "prev" ] ( ) [ 0 ] != o && ! e . contains ( this . placeholder [ 0 ] , o ) && ( this . options . type == "semi-dynamic" ? ! e . contains ( this . element [ 0 ] , o ) : ! 0 ) ) { this . direction = u == 1 ? "down" : "up" ; if ( this . options . tolerance != "pointer" && ! this . _intersectsWithSides ( s ) ) break ; this . _rearrange ( t , s ) , this . _trigger ( "change" , t , this . _uiHash ( ) ) ; break } } return this . _contactContainers ( t ) , e . ui . ddmanager && e . ui . ddmanager . drag ( this , t ) , this . _trigger ( "sort" , t , this . _uiHash ( ) ) , this . lastPositionAbs = this . positionAbs , ! 1 } , _mouseStop : function ( t , n ) { if ( ! t ) return ; e . ui . ddmanager && ! this . options . dropBehaviour && e . ui . ddmanager . drop ( this , t ) ; if ( this . options . revert ) { var r = this , i = this . placeholder . offset ( ) ; this . reverting = ! 0 , e ( this . helper ) . animate ( { left : i . left - this . offset . parent . left - this . margins . left + ( this . offsetParent [ 0 ] == document . body ? 0 : this . offsetParent [ 0 ] . scrollLeft ) , top : i . top - this . offset . parent . top - this . margins . top + ( this . offsetParent [ 0 ] == document . body ? 0 : this . offsetParent [ 0 ] . scrollTop ) } , parseInt ( this . options . revert , 10 ) || 500 , function ( ) { r . _clear ( t ) } ) } else this . _clear ( t , n ) ; return ! 1 } , cancel : function ( ) { if ( this . dragging ) { this . _mouseUp ( { target : null } ) , this . options . helper == "original" ? this . currentItem . css ( this . _storedCSS ) . removeClass ( "ui-sortable-helper" ) : this . currentItem . show ( ) ; for ( var t = this . containers . length - 1 ; t >= 0 ; t -- ) this . containers [ t ] . _trigger ( "deactivate" , null , this . _uiHash ( this ) ) , this . containers [ t ] . containerCache . over && ( this . containers [ t ] . _trigger ( "out" , null , this . _uiHash ( this ) ) , this . containers [ t ] . containerCache . over = 0 ) } return this . placeholder && ( this . placeholder [ 0 ] . parentNode && this . placeholder [ 0 ] . parentNode . removeChild ( this . placeholder [ 0 ] ) , this . options . helper != "original" && this . helper && this . helper [ 0 ] . parentNode && this . helper . remove ( ) , e . extend ( this , { helper : null , dragging : ! 1 , reverting : ! 1 , _noFinalSort : null } ) , this . domPosition . prev ? e ( this . domPosition . prev ) . after ( this . currentItem ) : e ( this . domPosition . parent ) . prepend ( this . currentItem ) ) , this } , serialize : function ( t ) { var n = this . _getItemsAsjQuery ( t && t . connected ) , r = [ ] ; return t = t || { } , e ( n ) . each ( function ( ) { var n = ( e ( t . item || this ) . attr ( t . attribute || "id" ) || "" ) . match ( t . expression || /(.+)[-=_](.+)/ ) ; n && r . push ( ( t . key || n [ 1 ] + "[]" ) + "=" + ( t . key && t . expression ? n [ 1 ] : n [ 2 ] ) ) } ) , ! r . length && t . key && r . push ( t . key + "=" ) , r . join ( "&" ) } , toArray : function ( t ) { var n = this . _getItemsAsjQuery ( t && t . connected ) , r = [ ] ; return t = t || { } , n . each ( function ( ) { r . push ( e ( t . item || this ) . attr ( t . attribute || "id" ) || "" ) } ) , r } , _intersectsWith : function ( e ) { var t = this . positionAbs . left , n = t + this . helperProportions . width , r = this . positionAbs . top , i = r + this . helperProportions . height , s = e . left , o = s + e . width , u = e . top , a = u + e . height , f = this . offset . click . top , l = this . offset . click . left , c = r + f > u && r + f < a && t + l > s && t + l < o ; return this . options . tolerance == "pointer" || this . options . forcePointerForContainers || this . options . tolerance != "pointer" && this . helperProportions [ this . floating ? "width" : "height" ] > e [ this . floating ? "width" : "height" ] ? c : s < t + this . helperProportions . width / 2 && n - this . helperProportions . width / 2 < o && u < r + this . helperProportions . height / 2 && i - this . helperProportions . height / 2 < a } , _intersectsWithPointer : function ( t ) { var n = this . options . axis === "x" || e . ui . isOverAxis ( this . positionAbs . top + this . offset . click . top , t . top , t . height ) , r = this . options . axis === "y" || e . ui . is
) . toggleClass ( "ui-corner-all ui-corner-top" ) , this . active . next ( ) . addClass ( "ui-accordion-content-active" ) . show ( ) , this . _createIcons ( ) , this . refresh ( ) , this . element . attr ( "role" , "tablist" ) , this . headers . attr ( "role" , "tab" ) . each ( function ( n ) { var r = e ( this ) , i = r . attr ( "id" ) , s = r . next ( ) , o = s . attr ( "id" ) ; i || ( i = t + "-header-" + n , r . attr ( "id" , i ) ) , o || ( o = t + "-panel-" + n , s . attr ( "id" , o ) ) , r . attr ( "aria-controls" , o ) , s . attr ( "aria-labelledby" , i ) } ) . next ( ) . attr ( "role" , "tabpanel" ) , this . headers . not ( this . active ) . attr ( { "aria-selected" : "false" , tabIndex : - 1 } ) . next ( ) . attr ( { "aria-expanded" : "false" , "aria-hidden" : "true" } ) . hide ( ) , this . active . length ? this . active . attr ( { "aria-selected" : "true" , tabIndex : 0 } ) . next ( ) . attr ( { "aria-expanded" : "true" , "aria-hidden" : "false" } ) : this . headers . eq ( 0 ) . attr ( "tabIndex" , 0 ) , this . _on ( this . headers , { keydown : "_keydown" } ) , this . _on ( this . headers . next ( ) , { keydown : "_panelKeyDown" } ) , this . _setupEvents ( r . event ) } , _getCreateEventData : function ( ) { return { header : this . active , content : this . active . length ? this . active . next ( ) : e ( ) } } , _createIcons : function ( ) { var t = this . options . icons ; t && ( e ( "<span>" ) . addClass ( "ui-accordion-header-icon ui-icon " + t . header ) . prependTo ( this . headers ) , this . active . children ( ".ui-accordion-header-icon" ) . removeClass ( t . header ) . addClass ( t . activeHeader ) , this . headers . addClass ( "ui-accordion-icons" ) ) } , _destroyIcons : function ( ) { this . headers . removeClass ( "ui-accordion-icons" ) . children ( ".ui-accordion-header-icon" ) . remove ( ) } , _destroy : function ( ) { var e ; this . element . removeClass ( "ui-accordion ui-widget ui-helper-reset" ) . removeAttr ( "role" ) , this . headers . removeClass ( "ui-accordion-header ui-accordion-header-active ui-helper-reset ui-state-default ui-corner-all ui-state-active ui-state-disabled ui-corner-top" ) . removeAttr ( "role" ) . removeAttr ( "aria-selected" ) . removeAttr ( "aria-controls" ) . removeAttr ( "tabIndex" ) . each ( function ( ) { /^ui-accordion/ . test ( this . id ) && this . removeAttribute ( "id" ) } ) , this . _destroyIcons ( ) , e = this . headers . next ( ) . css ( "display" , "" ) . removeAttr ( "role" ) . removeAttr ( "aria-expanded" ) . removeAttr ( "aria-hidden" ) . removeAttr ( "aria-labelledby" ) . removeClass ( "ui-helper-reset ui-widget-content ui-corner-bottom ui-accordion-content ui-accordion-content-active ui-state-disabled" ) . each ( function ( ) { /^ui-accordion/ . test ( this . id ) && this . removeAttribute ( "id" ) } ) , this . options . heightStyle !== "content" && e . css ( "height" , "" ) } , _setOption : function ( e , t ) { if ( e === "active" ) { this . _activate ( t ) ; return } e === "event" && ( this . options . event && this . _off ( this . headers , this . options . event ) , this . _setupEvents ( t ) ) , this . _super ( e , t ) , e === "collapsible" && ! t && this . options . active === ! 1 && this . _activate ( 0 ) , e === "icons" && ( this . _destroyIcons ( ) , t && this . _createIcons ( ) ) , e === "disabled" && this . headers . add ( this . headers . next ( ) ) . toggleClass ( "ui-state-disabled" , ! ! t ) } , _keydown : function ( t ) { if ( t . altKey || t . ctrlKey ) return ; var n = e . ui . keyCode , r = this . headers . length , i = this . headers . index ( t . target ) , s = ! 1 ; switch ( t . keyCode ) { case n . RIGHT : case n . DOWN : s = this . headers [ ( i + 1 ) % r ] ; break ; case n . LEFT : case n . UP : s = this . headers [ ( i - 1 + r ) % r ] ; break ; case n . SPACE : case n . ENTER : this . _eventHandler ( t ) ; break ; case n . HOME : s = this . headers [ 0 ] ; break ; case n . END : s = this . headers [ r - 1 ] } s && ( e ( t . target ) . attr ( "tabIndex" , - 1 ) , e ( s ) . attr ( "tabIndex" , 0 ) , s . focus ( ) , t . preventDefault ( ) ) } , _panelKeyDown : function ( t ) { t . keyCode === e . ui . keyCode . UP && t . ctrlKey && e ( t . currentTarget ) . prev ( ) . focus ( ) } , refresh : function ( ) { var t , n , r = this . options . heightStyle , i = this . element . parent ( ) ; r === "fill" ? ( e . support . minHeight || ( n = i . css ( "overflow" ) , i . css ( "overflow" , "hidden" ) ) , t = i . height ( ) , this . element . siblings ( ":visible" ) . each ( function ( ) { var n = e ( this ) , r = n . css ( "position" ) ; if ( r === "absolute" || r === "fixed" ) return ; t -= n . outerHeight ( ! 0 ) } ) , n && i . css ( "overflow" , n ) , this . headers . each ( function ( ) { t -= e ( this ) . outerHeight ( ! 0 ) } ) , this . headers . next ( ) . each ( function ( ) { e ( this ) . height ( Math . max ( 0 , t - e ( this ) . innerHeight ( ) + e ( this ) . height ( ) ) ) } ) . css ( "overflow" , "auto" ) ) : r === "auto" && ( t = 0 , this . headers . next ( ) . each ( function ( ) { t = Math . max ( t , e ( this ) . css ( "height" , "" ) . height ( ) ) } ) . height ( t ) ) } , _activate : function ( t ) { var n = this . _findActive ( t ) [ 0 ] ; if ( n === this . active [ 0 ] ) return ; n = n || this . active [ 0 ] , this . _eventHandler ( { target : n , currentTarget : n , preventDefault : e . noop } ) } , _findActive : function ( t
r == "span" ) { var i = t . children ( "." + this . _inlineClass ) ; i . children ( ) . addClass ( "ui-state-disabled" ) , i . find ( "select.ui-datepicker-month, select.ui-datepicker-year" ) . prop ( "disabled" , ! 0 ) } this . _disabledInputs = $ . map ( this . _disabledInputs , function ( t ) { return t == e ? null : t } ) , this . _disabledInputs [ this . _disabledInputs . length ] = e } , _isDisabledDatepicker : function ( e ) { if ( ! e ) return ! 1 ; for ( var t = 0 ; t < this . _disabledInputs . length ; t ++ ) if ( this . _disabledInputs [ t ] == e ) return ! 0 ; return ! 1 } , _getInst : function ( e ) { try { return $ . data ( e , PROP _NAME ) } catch ( t ) { throw "Missing instance data for this datepicker" } } , _optionDatepicker : function ( e , t , n ) { var r = this . _getInst ( e ) ; if ( arguments . length == 2 && typeof t == "string" ) return t == "defaults" ? $ . extend ( { } , $ . datepicker . _defaults ) : r ? t == "all" ? $ . extend ( { } , r . settings ) : this . _get ( r , t ) : null ; var i = t || { } ; typeof t == "string" && ( i = { } , i [ t ] = n ) ; if ( r ) { this . _curInst == r && this . _hideDatepicker ( ) ; var s = this . _getDateDatepicker ( e , ! 0 ) , o = this . _getMinMaxDate ( r , "min" ) , u = this . _getMinMaxDate ( r , "max" ) ; extendRemove ( r . settings , i ) , o !== null && i . dateFormat !== undefined && i . minDate === undefined && ( r . settings . minDate = this . _formatDate ( r , o ) ) , u !== null && i . dateFormat !== undefined && i . maxDate === undefined && ( r . settings . maxDate = this . _formatDate ( r , u ) ) , this . _attachments ( $ ( e ) , r ) , this . _autoSize ( r ) , this . _setDate ( r , s ) , this . _updateAlternate ( r ) , this . _updateDatepicker ( r ) } } , _changeDatepicker : function ( e , t , n ) { this . _optionDatepicker ( e , t , n ) } , _refreshDatepicker : function ( e ) { var t = this . _getInst ( e ) ; t && this . _updateDatepicker ( t ) } , _setDateDatepicker : function ( e , t ) { var n = this . _getInst ( e ) ; n && ( this . _setDate ( n , t ) , this . _updateDatepicker ( n ) , this . _updateAlternate ( n ) ) } , _getDateDatepicker : function ( e , t ) { var n = this . _getInst ( e ) ; return n && ! n . inline && this . _setDateFromField ( n , t ) , n ? this . _getDate ( n ) : null } , _doKeyDown : function ( e ) { var t = $ . datepicker . _getInst ( e . target ) , n = ! 0 , r = t . dpDiv . is ( ".ui-datepicker-rtl" ) ; t . _keyEvent = ! 0 ; if ( $ . datepicker . _datepickerShowing ) switch ( e . keyCode ) { case 9 : $ . datepicker . _hideDatepicker ( ) , n = ! 1 ; break ; case 13 : var i = $ ( "td." + $ . datepicker . _dayOverClass + ":not(." + $ . datepicker . _currentClass + ")" , t . dpDiv ) ; i [ 0 ] && $ . datepicker . _selectDay ( e . target , t . selectedMonth , t . selectedYear , i [ 0 ] ) ; var s = $ . datepicker . _get ( t , "onSelect" ) ; if ( s ) { var o = $ . datepicker . _formatDate ( t ) ; s . apply ( t . input ? t . input [ 0 ] : null , [ o , t ] ) } else $ . datepicker . _hideDatepicker ( ) ; return ! 1 ; case 27 : $ . datepicker . _hideDatepicker ( ) ; break ; case 33 : $ . datepicker . _adjustDate ( e . target , e . ctrlKey ? - $ . datepicker . _get ( t , "stepBigMonths" ) : - $ . datepicker . _get ( t , "stepMonths" ) , "M" ) ; break ; case 34 : $ . datepicker . _adjustDate ( e . target , e . ctrlKey ? + $ . datepicker . _get ( t , "stepBigMonths" ) : + $ . datepicker . _get ( t , "stepMonths" ) , "M" ) ; break ; case 35 : ( e . ctrlKey || e . metaKey ) && $ . datepicker . _clearDate ( e . target ) , n = e . ctrlKey || e . metaKey ; break ; case 36 : ( e . ctrlKey || e . metaKey ) && $ . datepicker . _gotoToday ( e . target ) , n = e . ctrlKey || e . metaKey ; break ; case 37 : ( e . ctrlKey || e . metaKey ) && $ . datepicker . _adjustDate ( e . target , r ? 1 : - 1 , "D" ) , n = e . ctrlKey || e . metaKey , e . originalEvent . altKey && $ . datepicker . _adjustDate ( e . target , e . ctrlKey ? - $ . datepicker . _get ( t , "stepBigMonths" ) : - $ . datepicker . _get ( t , "stepMonths" ) , "M" ) ; break ; case 38 : ( e . ctrlKey || e . metaKey ) && $ . datepicker . _adjustDate ( e . target , - 7 , "D" ) , n = e . ctrlKey || e . metaKey ; break ; case 39 : ( e . ctrlKey || e . metaKey ) && $ . datepicker . _adjustDate ( e . target , r ? - 1 : 1 , "D" ) , n = e . ctrlKey || e . metaKey , e . originalEvent . altKey && $ . datepicker . _adjustDate ( e . target , e . ctrlKey ? + $ . datepicker . _get ( t , "stepBigMonths" ) : + $ . datepicker . _get ( t , "stepMonths" ) , "M" ) ; break ; case 40 : ( e . ctrlKey || e . metaKey ) && $ . datepicker . _adjustDate ( e . target , 7 , "D" ) , n = e . ctrlKey || e . metaKey ; break ; default : n = ! 1 } else e . keyCode == 36 && e . ctrlKey ? $ . datepicker . _showDatepicker ( this ) : n = ! 1 ; n && ( e . preventDefault ( ) , e . stopPropagation ( ) ) } , _doKeyPress : function ( e ) { var t = $ . datepicker . _getInst ( e . target ) ; if ( $ . datepicker . _get ( t , "constrainInput" ) ) { var n = $ . datepicker . _possibleChars ( $ . datepicker . _get ( t , "dateFormat" ) ) , r = String . fromCharCode ( e . charCode == undefined ? e . keyCode : e . charCode ) ; return e . ctrlKey || e . metaKey || r < " " || ! n || n . indexOf ( r ) > - 1 } } , _doKeyUp : function ( e ) { var t = $ . datepicker . _getInst ( e . target ) ; if ( t . input . val ( ) != t . lastVal ) try { var n = $ . datepicker . parseDate ( $ . datepicker . _get ( t , "dateFormat" ) , t . input ? t . input
n . modal ? new e . ui . dialog . overlay ( this ) : null , this . moveToTop ( ! 0 ) , t = this . element . find ( ":tabbable" ) , t . length || ( t = this . uiDialogButtonPane . find ( ":tabbable" ) , t . length || ( t = r ) ) , t . eq ( 0 ) . focus ( ) , this . _isOpen = ! 0 , this . _trigger ( "open" ) , this } , _createButtons : function ( t ) { var n = this , r = ! 1 ; this . uiDialogButtonPane . remove ( ) , this . uiButtonSet . empty ( ) , typeof t == "object" && t !== null && e . each ( t , function ( ) { return ! ( r = ! 0 ) } ) , r ? ( e . each ( t , function ( t , r ) { var i , s ; r = e . isFunction ( r ) ? { click : r , text : t } : r , r = e . extend ( { type : "button" } , r ) , s = r . click , r . click = function ( ) { s . apply ( n . element [ 0 ] , arguments ) } , i = e ( "<button></button>" , r ) . appendTo ( n . uiButtonSet ) , e . fn . button && i . button ( ) } ) , this . uiDialog . addClass ( "ui-dialog-buttons" ) , this . uiDialogButtonPane . appendTo ( this . uiDialog ) ) : this . uiDialog . removeClass ( "ui-dialog-buttons" ) } , _makeDraggable : function ( ) { function r ( e ) { return { position : e . position , offset : e . offset } } var t = this , n = this . options ; this . uiDialog . draggable ( { cancel : ".ui-dialog-content, .ui-dialog-titlebar-close" , handle : ".ui-dialog-titlebar" , containment : "document" , start : function ( n , i ) { e ( this ) . addClass ( "ui-dialog-dragging" ) , t . _trigger ( "dragStart" , n , r ( i ) ) } , drag : function ( e , n ) { t . _trigger ( "drag" , e , r ( n ) ) } , stop : function ( i , s ) { n . position = [ s . position . left - t . document . scrollLeft ( ) , s . position . top - t . document . scrollTop ( ) ] , e ( this ) . removeClass ( "ui-dialog-dragging" ) , t . _trigger ( "dragStop" , i , r ( s ) ) , e . ui . dialog . overlay . resize ( ) } } ) } , _makeResizable : function ( n ) { function u ( e ) { return { originalPosition : e . originalPosition , originalSize : e . originalSize , position : e . position , size : e . size } } n = n === t ? this . options . resizable : n ; var r = this , i = this . options , s = this . uiDialog . css ( "position" ) , o = typeof n == "string" ? n : "n,e,s,w,se,sw,ne,nw" ; this . uiDialog . resizable ( { cancel : ".ui-dialog-content" , containment : "document" , alsoResize : this . element , maxWidth : i . maxWidth , maxHeight : i . maxHeight , minWidth : i . minWidth , minHeight : this . _minHeight ( ) , handles : o , start : function ( t , n ) { e ( this ) . addClass ( "ui-dialog-resizing" ) , r . _trigger ( "resizeStart" , t , u ( n ) ) } , resize : function ( e , t ) { r . _trigger ( "resize" , e , u ( t ) ) } , stop : function ( t , n ) { e ( this ) . removeClass ( "ui-dialog-resizing" ) , i . height = e ( this ) . height ( ) , i . width = e ( this ) . width ( ) , r . _trigger ( "resizeStop" , t , u ( n ) ) , e . ui . dialog . overlay . resize ( ) } } ) . css ( "position" , s ) . find ( ".ui-resizable-se" ) . addClass ( "ui-icon ui-icon-grip-diagonal-se" ) } , _minHeight : function ( ) { var e = this . options ; return e . height === "auto" ? e . minHeight : Math . min ( e . minHeight , e . height ) } , _position : function ( t ) { var n = [ ] , r = [ 0 , 0 ] , i ; if ( t ) { if ( typeof t == "string" || typeof t == "object" && "0" in t ) n = t . split ? t . split ( " " ) : [ t [ 0 ] , t [ 1 ] ] , n . length === 1 && ( n [ 1 ] = n [ 0 ] ) , e . each ( [ "left" , "top" ] , function ( e , t ) { + n [ e ] === n [ e ] && ( r [ e ] = n [ e ] , n [ e ] = t ) } ) , t = { my : n [ 0 ] + ( r [ 0 ] < 0 ? r [ 0 ] : "+" + r [ 0 ] ) + " " + n [ 1 ] + ( r [ 1 ] < 0 ? r [ 1 ] : "+" + r [ 1 ] ) , at : n . join ( " " ) } ; t = e . extend ( { } , e . ui . dialog . prototype . options . position , t ) } else t = e . ui . dialog . prototype . options . position ; i = this . uiDialog . is ( ":visible" ) , i || this . uiDialog . show ( ) , this . uiDialog . position ( t ) , i || this . uiDialog . hide ( ) } , _setOptions : function ( t ) { var n = this , s = { } , o = ! 1 ; e . each ( t , function ( e , t ) { n . _setOption ( e , t ) , e in r && ( o = ! 0 ) , e in i && ( s [ e ] = t ) } ) , o && this . _size ( ) , this . uiDialog . is ( ":data(resizable)" ) && this . uiDialog . resizable ( "option" , s ) } , _setOption : function ( t , r ) { var i , s , o = this . uiDialog ; switch ( t ) { case "buttons" : this . _createButtons ( r ) ; break ; case "closeText" : this . uiDialogTitlebarCloseText . text ( "" + r ) ; break ; case "dialogClass" : o . removeClass ( this . options . dialogClass ) . addClass ( n + r ) ; break ; case "disabled" : r ? o . addClass ( "ui-dialog-disabled" ) : o . removeClass ( "ui-dialog-disabled" ) ; break ; case "draggable" : i = o . is ( ":data(draggable)" ) , i && ! r && o . draggable ( "destroy" ) , ! i && r && this . _makeDraggable ( ) ; break ; case "position" : this . _position ( r ) ; break ; case "resizable" : s = o . is ( ":data(resizable)" ) , s && ! r && o . resizable ( "destroy" ) , s && typeof r == "string" && o . resizable ( "option" , "handles" , r ) , ! s && r !== ! 1 && this . _makeResizable ( r ) ; break ; case "title" : e ( ".ui-dialog-title" , this . uiDialogTitlebar ) . html ( "" + ( r || " " ) ) } this . _super ( t , r ) } , _size : function ( ) { var t , n , r , i = this . options , s = this . uiDialog . is ( ":visible" ) ; this . element . show ( ) . css ( { width : "auto" , minHeight : 0 , height : 0 } ) , i . minWidth > i . width && ( i . width = i . minWidth ) , t = this . uiDialog . css ( { height : "auto" , width : i . width } ) . outerHeight ( ) , n = Math
( v = e . top + c + h + p + t . collisionHeight - s - r , e . top + c + h + p > a && ( v < 0 || v < i ( a ) ) && ( e . top += c + h + p ) ) : f > 0 && ( d = e . top - t . collisionPosition . marginTop + c + h + p - o , e . top + c + h + p > f && ( d > 0 || i ( d ) < f ) && ( e . top += c + h + p ) ) } } , flipfit : { left : function ( ) { e . ui . position . flip . left . apply ( this , arguments ) , e . ui . position . fit . left . apply ( this , arguments ) } , top : function ( ) { e . ui . position . flip . top . apply ( this , arguments ) , e . ui . position . fit . top . apply ( this , arguments ) } } } , function ( ) { var t , n , r , i , s , o = document . getElementsByTagName ( "body" ) [ 0 ] , u = document . createElement ( "div" ) ; t = document . createElement ( o ? "div" : "body" ) , r = { visibility : "hidden" , width : 0 , height : 0 , border : 0 , margin : 0 , background : "none" } , o && e . extend ( r , { position : "absolute" , left : "-1000px" , top : "-1000px" } ) ; for ( s in r ) t . style [ s ] = r [ s ] ; t . appendChild ( u ) , n = o || document . documentElement , n . insertBefore ( t , n . firstChild ) , u . style . cssText = "position: absolute; left: 10.7432222px;" , i = e ( u ) . offset ( ) . left , e . support . offsetFractions = i > 10 && i < 11 , t . innerHTML = "" , n . removeChild ( t ) } ( ) , e . uiBackCompat !== ! 1 && function ( e ) { var n = e . fn . position ; e . fn . position = function ( r ) { if ( ! r || ! r . offset ) return n . call ( this , r ) ; var i = r . offset . split ( " " ) , s = r . at . split ( " " ) ; return i . length === 1 && ( i [ 1 ] = i [ 0 ] ) , /^\d/ . test ( i [ 0 ] ) && ( i [ 0 ] = "+" + i [ 0 ] ) , /^\d/ . test ( i [ 1 ] ) && ( i [ 1 ] = "+" + i [ 1 ] ) , s . length === 1 && ( /left|center|right/ . test ( s [ 0 ] ) ? s [ 1 ] = "center" : ( s [ 1 ] = s [ 0 ] , s [ 0 ] = "center" ) ) , n . call ( this , e . extend ( r , { at : s [ 0 ] + i [ 0 ] + " " + s [ 1 ] + i [ 1 ] , offset : t } ) ) } } ( jQuery ) } ( jQuery ) , function ( e , t ) { e . 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 = e ( "<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 ( e ) { return e === t ? this . _value ( ) : ( this . _setOption ( "value" , e ) , this ) } , _setOption : function ( e , t ) { e === "value" && ( this . options . value = t , this . _refreshValue ( ) , this . _value ( ) === this . options . max && this . _trigger ( "complete" ) ) , this . _super ( e , t ) } , _value : function ( ) { var e = this . options . value ; return typeof e != "number" && ( e = 0 ) , Math . min ( this . options . max , Math . max ( this . min , e ) ) } , _percentage : function ( ) { return 100 * this . _value ( ) / this . options . max } , _refreshValue : function ( ) { var e = this . value ( ) , t = this . _percentage ( ) ; this . oldValue !== e && ( this . oldValue = e , this . _trigger ( "change" ) ) , this . valueDiv . toggle ( e > this . min ) . toggleClass ( "ui-corner-right" , e === this . options . max ) . width ( t . toFixed ( 0 ) + "%" ) , this . element . attr ( "aria-valuenow" , e ) } } ) } ( jQuery ) , function ( e , t ) { var n = 5 ; e . widget ( "ui.slider" , e . ui . mouse , { version : "1.9.2" , widgetEventPrefix : "slide" , options : { animate : ! 1 , distance : 0 , max : 100 , min : 0 , orientation : "horizontal" , range : ! 1 , step : 1 , value : 0 , values : null } , _create : function ( ) { var t , r , i = this . options , s = this . element . find ( ".ui-slider-handle" ) . addClass ( "ui-state-default ui-corner-all" ) , o = "<a class='ui-slider-handle ui-state-default ui-corner-all' href='#'></a>" , u = [ ] ; this . _keySliding = ! 1 , this . _mouseSliding = ! 1 , this . _animateOff = ! 0 , this . _handleIndex = null , this . _detectOrientation ( ) , this . _mouseInit ( ) , this . element . addClass ( "ui-slider ui-slider-" + this . orientation + " ui-widget" + " ui-widget-content" + " ui-corner-all" + ( i . disabled ? " ui-slider-disabled ui-disabled" : "" ) ) , this . range = e ( [ ] ) , i . range && ( i . range === ! 0 && ( i . values || ( i . values = [ this . _valueMin ( ) , this . _valueMin ( ) ] ) , i . values . length && i . values . length !== 2 && ( i . values = [ i . values [ 0 ] , i . values [ 0 ] ] ) ) , this . range = e ( "<div></div>" ) . appendTo ( this . element ) . addClass ( "ui-slider-range ui-widget-header" + ( i . range === "min" || i . range === "max" ? " ui-slider-range-" + i . range : "" ) ) ) , r = i . values && i . values . length || 1 ; for ( t = s . length ; t < r ; t ++ ) u . push ( o ) ; this . handles = s . add ( e ( u . join ( "" ) ) . appendTo ( this . element ) ) , this . handle = this . handles . eq ( 0 ) , this . handles . add ( this . range ) . filter ( "a" ) . click ( function ( e ) { e . preventDefault ( ) } ) . mouseenter ( function ( ) { i .
2013-01-11 15:00:54 +01:00
, ! 0 ) , a . attr ( "aria-controls" , f ) , s = i >= this . tabs . length , o = this . element . find ( "#" + f ) , o . length || ( o = this . _createPanel ( f ) , s ? i > 0 ? o . insertAfter ( this . panels . eq ( - 1 ) ) : o . appendTo ( this . element ) : o . insertBefore ( this . panels [ i ] ) ) , o . addClass ( "ui-tabs-panel ui-widget-content ui-corner-bottom" ) . hide ( ) , s ? a . appendTo ( this . tablist ) : a . insertBefore ( this . tabs [ i ] ) , u . disabled = e . map ( u . disabled , function ( e ) { return e >= i ? ++ e : e } ) , this . refresh ( ) , this . tabs . length === 1 && u . active === ! 1 && this . option ( "active" , 0 ) , this . _trigger ( "add" , null , this . _ui ( this . anchors [ i ] , this . panels [ i ] ) ) , this } , remove : function ( t ) { t = this . _getIndex ( t ) ; var n = this . options , r = this . tabs . eq ( t ) . remove ( ) , i = this . _getPanelForTab ( r ) . remove ( ) ; return r . hasClass ( "ui-tabs-active" ) && this . anchors . length > 2 && this . _activate ( t + ( t + 1 < this . anchors . length ? 1 : - 1 ) ) , n . disabled = e . map ( e . grep ( n . disabled , function ( e ) { return e !== t } ) , function ( e ) { return e >= t ? -- e : e } ) , this . refresh ( ) , this . _trigger ( "remove" , null , this . _ui ( r . find ( "a" ) [ 0 ] , i [ 0 ] ) ) , this } } ) , e . widget ( "ui.tabs" , e . ui . tabs , { length : function ( ) { return this . anchors . length } } ) , e . widget ( "ui.tabs" , e . ui . tabs , { options : { idPrefix : "ui-tabs-" } , _tabId : function ( t ) { var n = t . is ( "li" ) ? t . find ( "a[href]" ) : t ; return n = n [ 0 ] , e ( n ) . closest ( "li" ) . attr ( "aria-controls" ) || n . title && n . title . replace ( /\s/g , "_" ) . replace ( /[^\w\u00c0-\uFFFF\-]/g , "" ) || this . options . idPrefix + i ( ) } } ) , e . widget ( "ui.tabs" , e . ui . tabs , { options : { panelTemplate : "<div></div>" } , _createPanel : function ( t ) { return e ( this . options . panelTemplate ) . attr ( "id" , t ) . addClass ( "ui-tabs-panel ui-widget-content ui-corner-bottom" ) . data ( "ui-tabs-destroy" , ! 0 ) } } ) , e . widget ( "ui.tabs" , e . ui . tabs , { _create : function ( ) { var e = this . options ; e . active === null && e . selected !== t && ( e . active = e . selected === - 1 ? ! 1 : e . selected ) , this . _super ( ) , e . selected = e . active , e . selected === ! 1 && ( e . selected = - 1 ) } , _setOption : function ( e , t ) { if ( e !== "selected" ) return this . _super ( e , t ) ; var n = this . options ; this . _super ( "active" , t === - 1 ? ! 1 : t ) , n . selected = n . active , n . selected === ! 1 && ( n . selected = - 1 ) } , _eventHandler : function ( ) { this . _superApply ( arguments ) , this . options . selected = this . options . active , this . options . selected === ! 1 && ( this . options . selected = - 1 ) } } ) , e . widget ( "ui.tabs" , e . ui . tabs , { options : { show : null , select : null } , _create : function ( ) { this . _super ( ) , this . options . active !== ! 1 && this . _trigger ( "show" , null , this . _ui ( this . active . find ( ".ui-tabs-anchor" ) [ 0 ] , this . _getPanelForTab ( this . active ) [ 0 ] ) ) } , _trigger : function ( e , t , n ) { var r , i , s = this . _superApply ( arguments ) ; return s ? ( e === "beforeActivate" ? ( r = n . newTab . length ? n . newTab : n . oldTab , i = n . newPanel . length ? n . newPanel : n . oldPanel , s = this . _super ( "select" , t , { tab : r . find ( ".ui-tabs-anchor" ) [ 0 ] , panel : i [ 0 ] , index : r . closest ( "li" ) . index ( ) } ) ) : e === "activate" && n . newTab . length && ( s = this . _super ( "show" , t , { tab : n . newTab . find ( ".ui-tabs-anchor" ) [ 0 ] , panel : n . newPanel [ 0 ] , index : n . newTab . closest ( "li" ) . index ( ) } ) ) , s ) : ! 1 } } ) , e . widget ( "ui.tabs" , e . ui . tabs , { select : function ( e ) { e = this . _getIndex ( e ) ; if ( e === - 1 ) { if ( ! this . options . collapsible || this . options . selected === - 1 ) return ; e = this . options . selected } this . anchors . eq ( e ) . trigger ( this . options . event + this . eventNamespace ) } } ) , function ( ) { var t = 0 ; e . widget ( "ui.tabs" , e . ui . tabs , { options : { cookie : null } , _create : function ( ) { var e = this . options , t ; e . active == null && e . cookie && ( t = parseInt ( this . _cookie ( ) , 10 ) , t === - 1 && ( t = ! 1 ) , e . active = t ) , this . _super ( ) } , _cookie : function ( n ) { var r = [ this . cookie || ( this . cookie = this . options . cookie . name || "ui-tabs-" + ++ t ) ] ; return arguments . length && ( r . push ( n === ! 1 ? - 1 : n ) , r . push ( this . options . cookie ) ) , e . cookie . apply ( null , r ) } , _refresh : function ( ) { this . _super ( ) , this . options . cookie && this . _cookie ( this . options . active , this . options . cookie ) } , _eventHandler : function ( ) { this . _superApply ( arguments ) , this . options . cookie && this . _cookie ( this . options . active , this . options . cookie ) } , _destroy : function ( ) { this . _super ( ) , this . options . cookie && this . _cookie ( null , this . options . cookie ) } } ) } ( ) , e . widget ( "ui.tabs" , e . ui . tabs , { _trigger : function ( t , n , r ) { var i = e . extend ( { } , r ) ; return t === "load" && ( i . panel = i . panel [ 0 ] , i . tab = i . tab . find ( ".ui-tabs-anchor" ) [ 0 ] ) , this . _super ( t , n , i ) } } ) , e . widget ( "ui.tabs" , e . ui . tabs , { options : { fx : null } , _getFx : function ( ) { var t , n , r = this . options . fx ; return r && ( e . isArray ( r ) ? ( t = r [ 0 ] , n = r [ 1 ] ) : t = n = r ) , r ? { show : n , hide : t } : null } , _toggle : function ( e , t
: function ( ) { var t = this . options ; t . fileInput === undefined ? t . fileInput = this . element . is ( 'input[type="file"]' ) ? this . element : this . element . find ( 'input[type="file"]' ) : t . fileInput instanceof e || ( t . fileInput = e ( t . fileInput ) ) , t . dropZone instanceof e || ( t . dropZone = e ( t . dropZone ) ) , t . pasteZone instanceof e || ( t . pasteZone = e ( t . pasteZone ) ) } , _create : function ( ) { var t = this . options ; e . extend ( t , e ( this . element [ 0 ] . cloneNode ( ! 1 ) ) . data ( ) ) , this . _initSpecialOptions ( ) , this . _slots = [ ] , this . _sequence = this . _getXHRPromise ( ! 0 ) , this . _sending = this . _active = this . _loaded = this . _total = 0 , this . _initEventHandlers ( ) } , _destroy : function ( ) { this . _destroyEventHandlers ( ) } , add : function ( t ) { var n = this ; if ( ! t || this . options . disabled ) return ; t . fileInput && ! t . files ? this . _getFileInputFiles ( t . fileInput ) . always ( function ( e ) { t . files = e , n . _onAdd ( null , t ) } ) : ( t . files = e . makeArray ( t . files ) , this . _onAdd ( null , t ) ) } , send : function ( t ) { if ( t && ! this . options . disabled ) { if ( t . fileInput && ! t . files ) { var n = this , r = e . Deferred ( ) , i = r . promise ( ) , s , o ; return i . abort = function ( ) { return o = ! 0 , s ? s . abort ( ) : ( r . reject ( null , "abort" , "abort" ) , i ) } , this . _getFileInputFiles ( t . fileInput ) . always ( function ( e ) { if ( o ) return ; t . files = e , s = n . _onSend ( null , t ) . then ( function ( e , t , n ) { r . resolve ( e , t , n ) } , function ( e , t , n ) { r . reject ( e , t , n ) } ) } ) , this . _enhancePromise ( i ) } t . files = e . makeArray ( t . files ) ; if ( t . files . length ) return this . _onSend ( null , t ) } return this . _getXHRPromise ( ! 1 , t && t . context ) } } ) } ) , function ( e ) { "use strict" ; typeof define == "function" && define . amd ? define ( [ "jquery" , "load-image" , "canvas-to-blob" , "./jquery.fileupload" ] , e ) : e ( window . jQuery , window . loadImage ) } ( function ( e , t ) { "use strict" ; e . widget ( "blueimp.fileupload" , e . blueimp . fileupload , { options : { process : [ ] , add : function ( t , n ) { e ( this ) . fileupload ( "process" , n ) . done ( function ( ) { n . submit ( ) } ) } } , processActions : { load : function ( n , r ) { var i = this , s = n . files [ n . index ] , o = e . Deferred ( ) ; return window . HTMLCanvasElement && window . HTMLCanvasElement . prototype . toBlob && ( e . type ( r . maxFileSize ) !== "number" || s . size < r . maxFileSize ) && ( ! r . fileTypes || r . fileTypes . test ( s . type ) ) ? t ( s , function ( e ) { if ( ! e . src ) return o . rejectWith ( i , [ n ] ) ; n . img = e , o . resolveWith ( i , [ n ] ) } ) : o . rejectWith ( i , [ n ] ) , o . promise ( ) } , resize : function ( n , r ) { var i = n . img , s ; r = e . extend ( { canvas : ! 0 } , r ) ; if ( i ) { s = t . scale ( i , r ) ; if ( s . width !== i . width || s . height !== i . height ) n . canvas = s } return n } , save : function ( t , n ) { if ( ! t . canvas ) return t ; var r = this , i = t . files [ t . index ] , s = i . name , o = e . Deferred ( ) , u = function ( e ) { e . name || ( i . type === e . type ? e . name = i . name : i . name && ( e . name = i . name . replace ( /\..+$/ , "." + e . type . substr ( 6 ) ) ) ) , t . files [ t . index ] = e , o . resolveWith ( r , [ t ] ) } ; return t . canvas . mozGetAsFile ? u ( t . canvas . mozGetAsFile ( /^image\/(jpeg|png)$/ . test ( i . type ) && s || ( s && s . replace ( /\..+$/ , "" ) || "blob" ) + ".png" , i . type ) ) : t . canvas . toBlob ( u , i . type ) , o . promise ( ) } } , _processFile : function ( t , n , r ) { var i = this , s = e . Deferred ( ) . resolveWith ( i , [ { files : t , index : n } ] ) , o = s . promise ( ) ; return i . _processing += 1 , e . each ( r . process , function ( e , t ) { o = o . pipe ( function ( e ) { return i . processActions [ t . action ] . call ( this , e , t ) } ) } ) , o . always ( function ( ) { i . _processing -= 1 , i . _processing === 0 && i . element . removeClass ( "fileupload-processing" ) } ) , i . _processing === 1 && i . element . addClass ( "fileupload-processing" ) , o } , process : function ( t ) { var n = this , r = e . extend ( { } , this . options , t ) ; return r . process && r . process . length && this . _isXHRUpload ( r ) && e . each ( t . files , function ( i , s ) { n . _processingQueue = n . _processingQueue . pipe ( function ( ) { var s = e . Deferred ( ) ; return n . _processFile ( t . files , i , r ) . always ( function ( ) { s . resolveWith ( n ) } ) , s . promise ( ) } ) } ) , this . _processingQueue } , _create : function ( ) { this . _super ( ) , this . _processing = 0 , this . _processingQueue = e . Deferred ( ) . resolveWith ( this ) . promise ( ) } } ) } ) , function ( e ) { "use strict" ; typeof define == "function" && define . amd ? define ( [ "jquery" , "tmpl" , "load-image" , "./jquery.fileupload-fp" ] , e ) : e ( window . jQuery , window . tmpl , window . loadImage ) } ( function ( e , t , n ) { "use strict" ; e . widget ( "blueimp.fileupload" , e . blueimp . fileupload , { options : { autoUpload : ! 1 , maxNumberOfFiles : undefined , maxFileSize : undefined , minFileSize : undefined , acceptFileTypes : /.+$/i , previewSourceFileTypes : /^image\/(gif|jpeg|png)$/ , previewSourceMaxFileSize : 5e6 , previewMaxWidth : 80 , previewMaxHeight : 80 , previewAsCanvas : ! 0 , uploadTemplateId : "template-upload" , downloadTemplateId : " te
) { var r = e ( this ) , i = r . data ( "collapse" ) , s = typeof n == "object" && n ; i || r . data ( "collapse" , i = new t ( this , s ) ) , typeof n == "string" && i [ n ] ( ) } ) } , e . fn . collapse . defaults = { toggle : ! 0 } , e . fn . collapse . Constructor = t , e . fn . collapse . noConflict = function ( ) { return e . fn . collapse = n , this } , e ( document ) . on ( "click.collapse.data-api" , "[data-toggle=collapse]" , function ( t ) { var n = e ( this ) , r , i = n . attr ( "data-target" ) || t . preventDefault ( ) || ( r = n . attr ( "href" ) ) && r . replace ( /.*(?=#[^\s]+$)/ , "" ) , s = e ( i ) . data ( "collapse" ) ? "toggle" : n . data ( ) ; n [ e ( i ) . hasClass ( "in" ) ? "addClass" : "removeClass" ] ( "collapsed" ) , e ( i ) . collapse ( s ) } ) } ( window . jQuery ) , ! function ( e ) { "use strict" ; var t = function ( t , n ) { this . $element = e ( t ) , this . options = n , this . options . pause == "hover" && this . $element . on ( "mouseenter" , e . proxy ( this . pause , this ) ) . on ( "mouseleave" , e . proxy ( this . cycle , this ) ) } ; t . prototype = { cycle : function ( t ) { return t || ( this . paused = ! 1 ) , this . options . interval && ! this . paused && ( this . interval = setInterval ( e . proxy ( this . next , this ) , this . options . interval ) ) , this } , to : function ( t ) { var n = this . $element . find ( ".item.active" ) , r = n . parent ( ) . children ( ) , i = r . index ( n ) , s = this ; if ( t > r . length - 1 || t < 0 ) return ; return this . sliding ? this . $element . one ( "slid" , function ( ) { s . to ( t ) } ) : i == t ? this . pause ( ) . cycle ( ) : this . slide ( t > i ? "next" : "prev" , e ( r [ t ] ) ) } , pause : function ( t ) { return t || ( this . paused = ! 0 ) , this . $element . find ( ".next, .prev" ) . length && e . support . transition . end && ( this . $element . trigger ( e . support . transition . end ) , this . cycle ( ) ) , clearInterval ( this . interval ) , this . interval = null , this } , next : function ( ) { if ( this . sliding ) return ; return this . slide ( "next" ) } , prev : function ( ) { if ( this . sliding ) return ; return this . slide ( "prev" ) } , slide : function ( t , n ) { var r = this . $element . find ( ".item.active" ) , i = n || r [ t ] ( ) , s = this . interval , o = t == "next" ? "left" : "right" , u = t == "next" ? "first" : "last" , a = this , f ; this . sliding = ! 0 , s && this . pause ( ) , i = i . length ? i : this . $element . find ( ".item" ) [ u ] ( ) , f = e . Event ( "slide" , { relatedTarget : i [ 0 ] } ) ; if ( i . hasClass ( "active" ) ) return ; if ( e . support . transition && this . $element . hasClass ( "slide" ) ) { this . $element . trigger ( f ) ; if ( f . isDefaultPrevented ( ) ) return ; i . addClass ( t ) , i [ 0 ] . offsetWidth , r . addClass ( o ) , i . addClass ( o ) , this . $element . one ( e . support . transition . end , function ( ) { i . removeClass ( [ t , o ] . join ( " " ) ) . addClass ( "active" ) , r . removeClass ( [ "active" , o ] . join ( " " ) ) , a . sliding = ! 1 , setTimeout ( function ( ) { a . $element . trigger ( "slid" ) } , 0 ) } ) } else { this . $element . trigger ( f ) ; if ( f . isDefaultPrevented ( ) ) return ; r . removeClass ( "active" ) , i . addClass ( "active" ) , this . sliding = ! 1 , this . $element . trigger ( "slid" ) } return s && this . cycle ( ) , this } } ; var n = e . fn . carousel ; e . fn . carousel = function ( n ) { return this . each ( function ( ) { var r = e ( this ) , i = r . data ( "carousel" ) , s = e . extend ( { } , e . fn . carousel . defaults , typeof n == "object" && n ) , o = typeof n == "string" ? n : s . slide ; i || r . data ( "carousel" , i = new t ( this , s ) ) , typeof n == "number" ? i . to ( n ) : o ? i [ o ] ( ) : s . interval && i . cycle ( ) } ) } , e . fn . carousel . defaults = { interval : 5e3 , pause : "hover" } , e . fn . carousel . Constructor = t , e . fn . carousel . noConflict = function ( ) { return e . fn . carousel = n , this } , e ( document ) . on ( "click.carousel.data-api" , "[data-slide]" , function ( t ) { var n = e ( this ) , r , i = e ( n . attr ( "data-target" ) || ( r = n . attr ( "href" ) ) && r . replace ( /.*(?=#[^\s]+$)/ , "" ) ) , s = e . extend ( { } , i . data ( ) , n . data ( ) ) ; i . carousel ( s ) , t . preventDefault ( ) } ) } ( window . jQuery ) , ! function ( e ) { "use strict" ; var t = function ( t , n ) { this . $element = e ( t ) , this . options = e . extend ( { } , e . fn . typeahead . defaults , n ) , this . matcher = this . options . matcher || this . matcher , this . sorter = this . options . sorter || this . sorter , this . highlighter = this . options . highlighter || this . highlighter , this . updater = this . options . updater || this . updater , this . source = this . options . source , this . $menu = e ( this . options . menu ) , this . shown = ! 1 , this . listen ( ) } ; t . prototype = { constructor : t , select : function ( ) { var e = this . $menu . find ( ".active" ) . attr ( "data-value" ) ; return this . $element . val ( this . updater ( e ) ) . change ( ) , this . hide ( ) } , updater : function ( e ) { return e } , show : function ( ) { var t = e . extend ( { } , this . $element . position ( ) , { height : this . $element [ 0 ] . offsetHeight } ) ; return this . $menu . insertAfter ( this . $element ) . css ( { top : t . top + t . height , left : t . left } ) . show ( ) , this . shown = ! 0 , this } , hide : function ( ) { return this . $menu . hide ( ) , this . shown = ! 1 , this } , lookup : function ( t ) { var n ; return this . query = this . $element . val ( ) , ! this . qu