2013-11-24 20:28:43 +03:00
/ * !
2015-08-02 14:50:22 +03:00
* Bootstrap v3 . 3.5 ( http : //getbootstrap.com)
2015-06-15 19:06:14 +03:00
* Copyright 2011 - 2015 Twitter , Inc .
2015-08-02 14:50:22 +03:00
* Licensed under the MIT license
2013-11-24 20:28:43 +03:00
* /
2015-08-02 14:50:22 +03:00
if ( "undefined" == typeof jQuery ) throw new Error ( "Bootstrap's JavaScript requires jQuery" ) ; + function ( a ) { "use strict" ; var b = a . fn . jquery . split ( " " ) [ 0 ] . split ( "." ) ; if ( b [ 0 ] < 2 && b [ 1 ] < 9 || 1 == b [ 0 ] && 9 == b [ 1 ] && b [ 2 ] < 1 ) throw new Error ( "Bootstrap's JavaScript requires jQuery version 1.9.1 or higher" ) } ( jQuery ) , + function ( a ) { "use strict" ; function b ( ) { var a = document . createElement ( "bootstrap" ) , b = { WebkitTransition : "webkitTransitionEnd" , MozTransition : "transitionend" , OTransition : "oTransitionEnd otransitionend" , transition : "transitionend" } ; for ( var c in b ) if ( void 0 !== a . style [ c ] ) return { end : b [ c ] } ; return ! 1 } a . fn . emulateTransitionEnd = function ( b ) { var c = ! 1 , d = this ; a ( this ) . one ( "bsTransitionEnd" , function ( ) { c = ! 0 } ) ; var e = function ( ) { c || a ( d ) . trigger ( a . support . transition . end ) } ; return setTimeout ( e , b ) , this } , a ( function ( ) { a . support . transition = b ( ) , a . support . transition && ( a . event . special . bsTransitionEnd = { bindType : a . support . transition . end , delegateType : a . support . transition . end , handle : function ( b ) { return a ( b . target ) . is ( this ) ? b . handleObj . handler . apply ( this , arguments ) : void 0 } } ) } ) } ( jQuery ) , + function ( a ) { "use strict" ; function b ( b ) { return this . each ( function ( ) { var c = a ( this ) , e = c . data ( "bs.alert" ) ; e || c . data ( "bs.alert" , e = new d ( this ) ) , "string" == typeof b && e [ b ] . call ( c ) } ) } var c = '[data-dismiss="alert"]' , d = function ( b ) { a ( b ) . on ( "click" , c , this . close ) } ; d . VERSION = "3.3.5" , d . TRANSITION _DURATION = 150 , d . prototype . close = function ( b ) { function c ( ) { g . detach ( ) . trigger ( "closed.bs.alert" ) . remove ( ) } var e = a ( this ) , f = e . attr ( "data-target" ) ; f || ( f = e . attr ( "href" ) , f = f && f . replace ( /.*(?=#[^\s]*$)/ , "" ) ) ; var g = a ( f ) ; b && b . preventDefault ( ) , g . length || ( g = e . closest ( ".alert" ) ) , g . trigger ( b = a . Event ( "close.bs.alert" ) ) , b . isDefaultPrevented ( ) || ( g . removeClass ( "in" ) , a . support . transition && g . hasClass ( "fade" ) ? g . one ( "bsTransitionEnd" , c ) . emulateTransitionEnd ( d . TRANSITION _DURATION ) : c ( ) ) } ; var e = a . fn . alert ; a . fn . alert = b , a . fn . alert . Constructor = d , a . fn . alert . noConflict = function ( ) { return a . fn . alert = e , this } , a ( document ) . on ( "click.bs.alert.data-api" , c , d . prototype . close ) } ( jQuery ) , + function ( a ) { "use strict" ; function b ( b ) { return this . each ( function ( ) { var d = a ( this ) , e = d . data ( "bs.button" ) , f = "object" == typeof b && b ; e || d . data ( "bs.button" , e = new c ( this , f ) ) , "toggle" == b ? e . toggle ( ) : b && e . setState ( b ) } ) } var c = function ( b , d ) { this . $element = a ( b ) , this . options = a . extend ( { } , c . DEFAULTS , d ) , this . isLoading = ! 1 } ; c . VERSION = "3.3.5" , c . DEFAULTS = { loadingText : "loading..." } , c . prototype . setState = function ( b ) { var c = "disabled" , d = this . $element , e = d . is ( "input" ) ? "val" : "html" , f = d . data ( ) ; b += "Text" , null == f . resetText && d . data ( "resetText" , d [ e ] ( ) ) , setTimeout ( a . proxy ( function ( ) { d [ e ] ( null == f [ b ] ? this . options [ b ] : f [ b ] ) , "loadingText" == b ? ( this . isLoading = ! 0 , d . addClass ( c ) . attr ( c , c ) ) : this . isLoading && ( this . isLoading = ! 1 , d . removeClass ( c ) . removeAttr ( c ) ) } , this ) , 0 ) } , c . prototype . toggle = function ( ) { var a = ! 0 , b = this . $element . closest ( '[data-toggle="buttons"]' ) ; if ( b . length ) { var c = this . $element . find ( "input" ) ; "radio" == c . prop ( "type" ) ? ( c . prop ( "checked" ) && ( a = ! 1 ) , b . find ( ".active" ) . removeClass ( "active" ) , this . $element . addClass ( "active" ) ) : "checkbox" == c . prop ( "type" ) && ( c . prop ( "checked" ) !== this . $element . hasClass ( "active" ) && ( a = ! 1 ) , this . $element . toggleClass ( "active" ) ) , c . prop ( "checked" , this . $element . hasClass ( "active" ) ) , a && c . trigger ( "change" ) } else this . $element . attr ( "aria-pressed" , ! this . $element . hasClass ( "active" ) ) , this . $element . toggleClass ( "active" ) } ; var d = a . fn . button ; a . fn . button = b , a . fn . button . Constructor = c , a . fn . button . noConflict = function ( ) { return a . fn . button = d , this } , a ( document ) . on ( "click.bs.button.data-api" , '[data-toggle^="button"]' , function ( c ) { var d = a ( c . target ) ; d . hasClass ( "btn" ) || ( d = d . closest ( ".btn" ) ) , b . call ( d , "toggle" ) , a ( c . target ) . is ( 'input[type="radio"]' ) || a ( c . target ) . is ( 'input[type="checkbox"]' ) || c . preventDefault ( ) } ) . on ( "focus.bs.button.data-api blur.bs.button.data-api" , '[data-toggle^="button"]' , function ( b ) { a ( b . target ) . closest ( ".btn" ) . toggleClass ( "focus" , /^focus(in)?$/ . test ( b . type ) ) } ) } ( jQuery ) , + function ( a ) { "use strict" ; function b ( b ) { return this . each ( function ( ) { var d = a ( this ) , e = d . data ( "bs.carousel" ) , f = a . extend ( { } , c . DEFAULTS , d . data ( ) , "object" == typeof b && b ) , g = "string" == typeof b ? b : f . slide ; e || d . data ( "bs.carousel" , e = new c ( this , f ) ) , "number" == type
d . trigger ( "activate.bs.scrollspy" ) } , b . prototype . clear = function ( ) { a ( this . selector ) . parentsUntil ( this . options . target , ".active" ) . removeClass ( "active" ) } ; var d = a . fn . scrollspy ; a . fn . scrollspy = c , a . fn . scrollspy . Constructor = b , a . fn . scrollspy . noConflict = function ( ) { return a . fn . scrollspy = d , this } , a ( window ) . on ( "load.bs.scrollspy.data-api" , function ( ) { a ( '[data-spy="scroll"]' ) . each ( function ( ) { var b = a ( this ) ; c . call ( b , b . data ( ) ) } ) } ) } ( jQuery ) , + function ( a ) { "use strict" ; function b ( b ) { return this . each ( function ( ) { var d = a ( this ) , e = d . data ( "bs.tab" ) ; e || d . data ( "bs.tab" , e = new c ( this ) ) , "string" == typeof b && e [ b ] ( ) } ) } var c = function ( b ) { this . element = a ( b ) } ; c . VERSION = "3.3.5" , c . TRANSITION _DURATION = 150 , c . prototype . show = function ( ) { var b = this . element , c = b . closest ( "ul:not(.dropdown-menu)" ) , d = b . data ( "target" ) ; if ( d || ( d = b . attr ( "href" ) , d = d && d . replace ( /.*(?=#[^\s]*$)/ , "" ) ) , ! b . parent ( "li" ) . hasClass ( "active" ) ) { var e = c . find ( ".active:last a" ) , f = a . Event ( "hide.bs.tab" , { relatedTarget : b [ 0 ] } ) , g = a . Event ( "show.bs.tab" , { relatedTarget : e [ 0 ] } ) ; if ( e . trigger ( f ) , b . trigger ( g ) , ! g . isDefaultPrevented ( ) && ! f . isDefaultPrevented ( ) ) { var h = a ( d ) ; this . activate ( b . closest ( "li" ) , c ) , this . activate ( h , h . parent ( ) , function ( ) { e . trigger ( { type : "hidden.bs.tab" , relatedTarget : b [ 0 ] } ) , b . trigger ( { type : "shown.bs.tab" , relatedTarget : e [ 0 ] } ) } ) } } } , c . prototype . activate = function ( b , d , e ) { function f ( ) { g . removeClass ( "active" ) . find ( "> .dropdown-menu > .active" ) . removeClass ( "active" ) . end ( ) . find ( '[data-toggle="tab"]' ) . attr ( "aria-expanded" , ! 1 ) , b . addClass ( "active" ) . find ( '[data-toggle="tab"]' ) . attr ( "aria-expanded" , ! 0 ) , h ? ( b [ 0 ] . offsetWidth , b . addClass ( "in" ) ) : b . removeClass ( "fade" ) , b . parent ( ".dropdown-menu" ) . length && b . closest ( "li.dropdown" ) . addClass ( "active" ) . end ( ) . find ( '[data-toggle="tab"]' ) . attr ( "aria-expanded" , ! 0 ) , e && e ( ) } var g = d . find ( "> .active" ) , h = e && a . support . transition && ( g . length && g . hasClass ( "fade" ) || ! ! d . find ( "> .fade" ) . length ) ; g . length && h ? g . one ( "bsTransitionEnd" , f ) . emulateTransitionEnd ( c . TRANSITION _DURATION ) : f ( ) , g . removeClass ( "in" ) } ; var d = a . fn . tab ; a . fn . tab = b , a . fn . tab . Constructor = c , a . fn . tab . noConflict = function ( ) { return a . fn . tab = d , this } ; var e = function ( c ) { c . preventDefault ( ) , b . call ( a ( this ) , "show" ) } ; a ( document ) . on ( "click.bs.tab.data-api" , '[data-toggle="tab"]' , e ) . on ( "click.bs.tab.data-api" , '[data-toggle="pill"]' , e ) } ( jQuery ) , + function ( a ) { "use strict" ; function b ( b ) { return this . each ( function ( ) { var d = a ( this ) , e = d . data ( "bs.affix" ) , f = "object" == typeof b && b ; e || d . data ( "bs.affix" , e = new c ( this , f ) ) , "string" == typeof b && e [ b ] ( ) } ) } var c = function ( b , d ) { this . options = a . extend ( { } , c . DEFAULTS , d ) , this . $target = a ( this . options . target ) . on ( "scroll.bs.affix.data-api" , a . proxy ( this . checkPosition , this ) ) . on ( "click.bs.affix.data-api" , a . proxy ( this . checkPositionWithEventLoop , this ) ) , this . $element = a ( b ) , this . affixed = null , this . unpin = null , this . pinnedOffset = null , this . checkPosition ( ) } ; c . VERSION = "3.3.5" , c . RESET = "affix affix-top affix-bottom" , c . DEFAULTS = { offset : 0 , target : window } , c . prototype . getState = function ( a , b , c , d ) { var e = this . $target . scrollTop ( ) , f = this . $element . offset ( ) , g = this . $target . height ( ) ; if ( null != c && "top" == this . affixed ) return c > e ? "top" : ! 1 ; if ( "bottom" == this . affixed ) return null != c ? e + this . unpin <= f . top ? ! 1 : "bottom" : a - d >= e + g ? ! 1 : "bottom" ; var h = null == this . affixed , i = h ? e : f . top , j = h ? g : b ; return null != c && c >= e ? "top" : null != d && i + j >= a - d ? "bottom" : ! 1 } , c . prototype . getPinnedOffset = function ( ) { if ( this . pinnedOffset ) return this . pinnedOffset ; this . $element . removeClass ( c . RESET ) . addClass ( "affix" ) ; var a = this . $target . scrollTop ( ) , b = this . $element . offset ( ) ; return this . pinnedOffset = b . top - a } , c . prototype . checkPositionWithEventLoop = function ( ) { setTimeout ( a . proxy ( this . checkPosition , this ) , 1 ) } , c . prototype . checkPosition = function ( ) { if ( this . $element . is ( ":visible" ) ) { var b = this . $element . height ( ) , d = this . options . offset , e = d . top , f = d . bottom , g = Math . max ( a ( document ) . height ( ) , a ( document . body ) . height ( ) ) ; "object" != typeof d && ( f = e = d ) , "function" == typeof e && ( e = d . top ( this . $element ) ) , "function" == typeof f && ( f = d . bottom ( this . $element ) ) ; var h = this . getState ( g , b , e , f ) ; if ( this . affixed != h ) { null != this . unpin && this . $element . css ( "top" , "" ) ; var i = "affix" + ( h ? "-" + h : "" ) , j = a . Event ( i + ".bs.affix" ) ; if ( this . $element . trigger ( j ) , j . isDefaultPrevented ( ) ) return ; this . affi