@ -139,6 +139,75 @@ i&&e<=k||g>=i&&g<=k||e<i&&g>k);default:return false}};d.ui.ddmanager={current:nu
"none" ; if ( c [ f ] . visible ) { c [ f ] . offset = c [ f ] . element . offset ( ) ; c [ f ] . proportions = { width : c [ f ] . element [ 0 ] . offsetWidth , height : c [ f ] . element [ 0 ] . offsetHeight } ; e == "mousedown" && c [ f ] . _activate . call ( c [ f ] , b ) } } } , drop : function ( a , b ) { var c = false ; d . each ( d . ui . ddmanager . droppables [ a . options . scope ] || [ ] , function ( ) { if ( this . options ) { if ( ! this . options . disabled && this . visible && d . ui . intersect ( a , this , this . options . tolerance ) ) c = c || this . _drop . call ( this , b ) ; if ( ! this . options . disabled && this . visible && this . accept . call ( this . element [ 0 ] , a . currentItem ||
a . element ) ) { this . isout = 1 ; this . isover = 0 ; this . _deactivate . call ( this , b ) } } } ) ; return c } , drag : function ( a , b ) { a . options . refreshPositions && d . ui . ddmanager . prepareOffsets ( a , b ) ; d . each ( d . ui . ddmanager . droppables [ a . options . scope ] || [ ] , function ( ) { if ( ! ( this . options . disabled || this . greedyChild || ! this . visible ) ) { var c = d . ui . intersect ( a , this , this . options . tolerance ) ; if ( c = ! c && this . isover == 1 ? "isout" : c && this . isover == 0 ? "isover" : null ) { var e ; if ( this . options . greedy ) { var g = this . element . parents ( ":data(droppable):eq(0)" ) ; if ( g . length ) { e =
d . data ( g [ 0 ] , "droppable" ) ; e . greedyChild = c == "isover" ? 1 : 0 } } if ( e && c == "isover" ) { e . isover = 0 ; e . isout = 1 ; e . _out . call ( e , b ) } this [ c ] = 1 ; this [ c == "isout" ? "isover" : "isout" ] = 0 ; this [ c == "isover" ? "_over" : "_out" ] . call ( this , b ) ; if ( e && c == "isout" ) { e . isout = 0 ; e . isover = 1 ; e . _over . call ( e , b ) } } } } ) } } } ) ( jQuery ) ;
; / *
* jQuery UI Resizable 1.8 . 7
*
* Copyright 2010 , AUTHORS . txt ( http : //jqueryui.com/about)
* Dual licensed under the MIT or GPL Version 2 licenses .
* http : //jquery.org/license
*
* http : //docs.jquery.com/UI/Resizables
*
* Depends :
* jquery . ui . core . js
* jquery . ui . mouse . js
* jquery . ui . widget . js
* /
( function ( e ) { e . widget ( "ui.resizable" , e . ui . mouse , { widgetEventPrefix : "resize" , options : { alsoResize : false , animate : false , animateDuration : "slow" , animateEasing : "swing" , aspectRatio : false , autoHide : false , containment : false , ghost : false , grid : false , handles : "e,s,se" , helper : false , maxHeight : null , maxWidth : null , minHeight : 10 , minWidth : 10 , zIndex : 1E3 } , _create : function ( ) { var b = this , a = this . options ; this . element . addClass ( "ui-resizable" ) ; e . extend ( this , { _aspectRatio : ! ! a . aspectRatio , aspectRatio : a . aspectRatio , originalElement : this . element ,
_proportionallyResizeElements : [ ] , _helper : a . helper || a . ghost || a . animate ? a . helper || "ui-resizable-helper" : null } ) ; if ( this . element [ 0 ] . nodeName . match ( /canvas|textarea|input|select|button|img/i ) ) { /relative/ . test ( this . element . css ( "position" ) ) && e . browser . opera && this . element . css ( { position : "relative" , top : "auto" , left : "auto" } ) ; this . element . wrap ( e ( '<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 = true ; this . element . css ( { marginLeft : this . originalElement . css ( "marginLeft" ) , marginTop : this . originalElement . css ( "marginTop" ) , marginRight : this . originalElement . css ( "marginRight" ) , marginBottom : this . originalElement . css ( "marginBottom" ) } ) ; this . originalElement . css ( { marginLeft : 0 , marginTop : 0 , marginRight : 0 , marginBottom : 0 } ) ; this . originalResizeStyle =
this . originalElement . css ( "resize" ) ; this . originalElement . css ( "resize" , "none" ) ; this . _proportionallyResizeElements . push ( this . originalElement . css ( { position : "static" , zoom : 1 , display : "block" } ) ) ; this . originalElement . css ( { margin : this . originalElement . css ( "margin" ) } ) ; this . _proportionallyResize ( ) } this . handles = a . handles || ( ! e ( ".ui-resizable-handle" , this . element ) . length ? "e,s,se" : { n : ".ui-resizable-n" , e : ".ui-resizable-e" , s : ".ui-resizable-s" , w : ".ui-resizable-w" , se : ".ui-resizable-se" , sw : ".ui-resizable-sw" , ne : ".ui-resizable-ne" ,
nw : ".ui-resizable-nw" } ) ; if ( this . handles . constructor == String ) { if ( this . handles == "all" ) this . handles = "n,e,s,w,se,sw,ne,nw" ; var c = this . handles . split ( "," ) ; this . handles = { } ; for ( var d = 0 ; d < c . length ; d ++ ) { var f = e . trim ( c [ d ] ) , g = e ( '<div class="ui-resizable-handle ' + ( "ui-resizable-" + f ) + '"></div>' ) ; /sw|se|ne|nw/ . test ( f ) && g . css ( { zIndex : ++ a . zIndex } ) ; "se" == f && g . addClass ( "ui-icon ui-icon-gripsmall-diagonal-se" ) ; this . handles [ f ] = ".ui-resizable-" + f ; this . element . append ( g ) } } this . _renderAxis = function ( h ) { h = h || this . element ; for ( var i in this . handles ) { if ( this . handles [ i ] . constructor ==
String ) this . handles [ i ] = e ( this . handles [ i ] , this . element ) . show ( ) ; if ( this . elementIsWrapper && this . originalElement [ 0 ] . nodeName . match ( /textarea|input|select|button/i ) ) { var j = e ( this . handles [ i ] , this . element ) , k = 0 ; k = /sw|ne|nw|se|n|s/ . test ( i ) ? j . outerHeight ( ) : j . outerWidth ( ) ; j = [ "padding" , /ne|nw|n/ . test ( i ) ? "Top" : /se|sw|s/ . test ( i ) ? "Bottom" : /^e$/ . test ( i ) ? "Right" : "Left" ] . join ( "" ) ; h . css ( j , k ) ; this . _proportionallyResize ( ) } e ( this . handles [ i ] ) } } ; this . _renderAxis ( this . element ) ; this . _handles = e ( ".ui-resizable-handle" , this . element ) . disableSelection ( ) ;
this . _handles . mouseover ( function ( ) { if ( ! b . resizing ) { if ( this . className ) var h = this . className . match ( /ui-resizable-(se|sw|ne|nw|n|e|s|w)/i ) ; b . axis = h && h [ 1 ] ? h [ 1 ] : "se" } } ) ; if ( a . autoHide ) { this . _handles . hide ( ) ; e ( this . element ) . addClass ( "ui-resizable-autohide" ) . hover ( function ( ) { e ( this ) . removeClass ( "ui-resizable-autohide" ) ; b . _handles . show ( ) } , function ( ) { if ( ! b . resizing ) { e ( this ) . addClass ( "ui-resizable-autohide" ) ; b . _handles . hide ( ) } } ) } this . _mouseInit ( ) } , destroy : function ( ) { this . _mouseDestroy ( ) ; var b = function ( c ) { e ( c ) . removeClass ( "ui-resizable ui-resizable-disabled ui-resizable-resizing" ) . removeData ( "resizable" ) . unbind ( ".resizable" ) . find ( ".ui-resizable-handle" ) . remove ( ) } ;
if ( this . elementIsWrapper ) { b ( this . element ) ; var a = this . element ; a . after ( this . originalElement . css ( { position : a . css ( "position" ) , width : a . outerWidth ( ) , height : a . outerHeight ( ) , top : a . css ( "top" ) , left : a . css ( "left" ) } ) ) . remove ( ) } this . originalElement . css ( "resize" , this . originalResizeStyle ) ; b ( this . originalElement ) ; return this } , _mouseCapture : function ( b ) { var a = false ; for ( var c in this . handles ) if ( e ( this . handles [ c ] ) [ 0 ] == b . target ) a = true ; return ! this . options . disabled && a } , _mouseStart : function ( b ) { var a = this . options , c = this . element . position ( ) ,
d = this . element ; this . resizing = true ; this . documentScroll = { top : e ( document ) . scrollTop ( ) , left : e ( document ) . scrollLeft ( ) } ; if ( d . is ( ".ui-draggable" ) || /absolute/ . test ( d . css ( "position" ) ) ) d . css ( { position : "absolute" , top : c . top , left : c . left } ) ; e . browser . opera && /relative/ . test ( d . css ( "position" ) ) && d . css ( { position : "relative" , top : "auto" , left : "auto" } ) ; this . _renderProxy ( ) ; c = m ( this . helper . css ( "left" ) ) ; var f = m ( this . helper . css ( "top" ) ) ; if ( a . containment ) { c += e ( a . containment ) . scrollLeft ( ) || 0 ; f += e ( a . containment ) . scrollTop ( ) || 0 } this . offset =
this . helper . offset ( ) ; this . position = { left : c , top : f } ; this . size = this . _helper ? { width : d . outerWidth ( ) , height : d . outerHeight ( ) } : { width : d . width ( ) , height : d . height ( ) } ; this . originalSize = this . _helper ? { width : d . outerWidth ( ) , height : d . outerHeight ( ) } : { width : d . width ( ) , height : d . height ( ) } ; this . originalPosition = { left : c , top : f } ; this . sizeDiff = { width : d . outerWidth ( ) - d . width ( ) , height : d . outerHeight ( ) - d . height ( ) } ; this . originalMousePosition = { left : b . pageX , top : b . pageY } ; this . aspectRatio = typeof a . aspectRatio == "number" ? a . aspectRatio :
this . originalSize . width / this . originalSize . height || 1 ; a = e ( ".ui-resizable-" + this . axis ) . css ( "cursor" ) ; e ( "body" ) . css ( "cursor" , a == "auto" ? this . axis + "-resize" : a ) ; d . addClass ( "ui-resizable-resizing" ) ; this . _propagate ( "start" , b ) ; return true } , _mouseDrag : function ( b ) { var a = this . helper , c = this . originalMousePosition , d = this . _change [ this . axis ] ; if ( ! d ) return false ; c = d . apply ( this , [ b , b . pageX - c . left || 0 , b . pageY - c . top || 0 ] ) ; if ( this . _aspectRatio || b . shiftKey ) c = this . _updateRatio ( c , b ) ; c = this . _respectSize ( c , b ) ; this . _propagate ( "resize" ,
b ) ; a . css ( { top : this . position . top + "px" , left : this . position . left + "px" , width : this . size . width + "px" , height : this . size . height + "px" } ) ; ! this . _helper && this . _proportionallyResizeElements . length && this . _proportionallyResize ( ) ; this . _updateCache ( c ) ; this . _trigger ( "resize" , b , this . ui ( ) ) ; return false } , _mouseStop : function ( b ) { this . resizing = false ; var a = this . options , c = this ; if ( this . _helper ) { var d = this . _proportionallyResizeElements , f = d . length && /textarea/i . test ( d [ 0 ] . nodeName ) ; d = f && e . ui . hasScroll ( d [ 0 ] , "left" ) ? 0 : c . sizeDiff . height ;
f = { width : c . size . width - ( f ? 0 : c . sizeDiff . width ) , height : c . size . height - d } ; d = parseInt ( c . element . css ( "left" ) , 10 ) + ( c . position . left - c . originalPosition . left ) || null ; var g = parseInt ( c . element . css ( "top" ) , 10 ) + ( c . position . top - c . originalPosition . top ) || null ; a . animate || this . element . css ( e . extend ( f , { top : g , left : d } ) ) ; c . helper . height ( c . size . height ) ; c . helper . width ( c . size . width ) ; this . _helper && ! a . animate && this . _proportionallyResize ( ) } e ( "body" ) . css ( "cursor" , "auto" ) ; this . element . removeClass ( "ui-resizable-resizing" ) ; this . _propagate ( "stop" ,
b ) ; this . _helper && this . helper . remove ( ) ; return false } , _updateCache : function ( b ) { this . offset = this . helper . offset ( ) ; if ( l ( b . left ) ) this . position . left = b . left ; if ( l ( b . top ) ) this . position . top = b . top ; if ( l ( b . height ) ) this . size . height = b . height ; if ( l ( b . width ) ) this . size . width = b . width } , _updateRatio : function ( b ) { var a = this . position , c = this . size , d = this . axis ; if ( b . height ) b . width = c . height * this . aspectRatio ; else if ( b . width ) b . height = c . width / this . aspectRatio ; if ( d == "sw" ) { b . left = a . left + ( c . width - b . width ) ; b . top = null } if ( d == "nw" ) { b . top =
a . top + ( c . height - b . height ) ; b . left = a . left + ( c . width - b . width ) } return b } , _respectSize : function ( b ) { var a = this . options , c = this . axis , d = l ( b . width ) && a . maxWidth && a . maxWidth < b . width , f = l ( b . height ) && a . maxHeight && a . maxHeight < b . height , g = l ( b . width ) && a . minWidth && a . minWidth > b . width , h = l ( b . height ) && a . minHeight && a . minHeight > b . height ; if ( g ) b . width = a . minWidth ; if ( h ) b . height = a . minHeight ; if ( d ) b . width = a . maxWidth ; if ( f ) b . height = a . maxHeight ; var i = this . originalPosition . left + this . originalSize . width , j = this . position . top + this . size . height ,
k = /sw|nw|w/ . test ( c ) ; c = /nw|ne|n/ . test ( c ) ; if ( g && k ) b . left = i - a . minWidth ; if ( d && k ) b . left = i - a . maxWidth ; if ( h && c ) b . top = j - a . minHeight ; if ( f && c ) b . top = j - a . maxHeight ; if ( ( a = ! b . width && ! b . height ) && ! b . left && b . top ) b . top = null ; else if ( a && ! b . top && b . left ) b . left = null ; return b } , _proportionallyResize : function ( ) { if ( this . _proportionallyResizeElements . length ) for ( var b = this . helper || this . element , a = 0 ; a < this . _proportionallyResizeElements . length ; a ++ ) { var c = this . _proportionallyResizeElements [ a ] ; if ( ! this . borderDif ) { var d = [ c . css ( "borderTopWidth" ) ,
c . css ( "borderRightWidth" ) , c . css ( "borderBottomWidth" ) , c . css ( "borderLeftWidth" ) ] , f = [ c . css ( "paddingTop" ) , c . css ( "paddingRight" ) , c . css ( "paddingBottom" ) , c . css ( "paddingLeft" ) ] ; this . borderDif = e . map ( d , function ( g , h ) { g = parseInt ( g , 10 ) || 0 ; h = parseInt ( f [ h ] , 10 ) || 0 ; return g + h } ) } e . browser . msie && ( e ( b ) . is ( ":hidden" ) || e ( b ) . parents ( ":hidden" ) . length ) || c . css ( { height : b . height ( ) - this . borderDif [ 0 ] - this . borderDif [ 2 ] || 0 , width : b . width ( ) - this . borderDif [ 1 ] - this . borderDif [ 3 ] || 0 } ) } } , _renderProxy : function ( ) { var b = this . options ; this . elementOffset =
this . element . offset ( ) ; if ( this . _helper ) { this . helper = this . helper || e ( '<div style="overflow:hidden;"></div>' ) ; var a = e . browser . msie && e . browser . version < 7 , c = a ? 1 : 0 ; a = a ? 2 : - 1 ; this . helper . addClass ( this . _helper ) . css ( { width : this . element . outerWidth ( ) + a , height : this . element . outerHeight ( ) + a , position : "absolute" , left : this . elementOffset . left - c + "px" , top : this . elementOffset . top - c + "px" , zIndex : ++ b . zIndex } ) ; this . helper . appendTo ( "body" ) . disableSelection ( ) } else this . helper = this . element } , _change : { e : function ( b , a ) { return { width : this . originalSize . width +
a } } , w : function ( b , a ) { return { left : this . originalPosition . left + a , width : this . originalSize . width - a } } , n : function ( b , a , c ) { return { top : this . originalPosition . top + c , height : this . originalSize . height - c } } , s : function ( b , a , c ) { return { height : this . originalSize . height + c } } , se : function ( b , a , c ) { return e . extend ( this . _change . s . apply ( this , arguments ) , this . _change . e . apply ( this , [ b , a , c ] ) ) } , sw : function ( b , a , c ) { return e . extend ( this . _change . s . apply ( this , arguments ) , this . _change . w . apply ( this , [ b , a , c ] ) ) } , ne : function ( b , a , c ) { return e . extend ( this . _change . n . apply ( this ,
arguments ) , this . _change . e . apply ( this , [ b , a , c ] ) ) } , nw : function ( b , a , c ) { return e . extend ( this . _change . n . apply ( this , arguments ) , this . _change . w . apply ( this , [ b , a , c ] ) ) } } , _propagate : function ( b , a ) { e . ui . plugin . call ( this , b , [ a , this . ui ( ) ] ) ; b != "resize" && this . _trigger ( b , a , this . ui ( ) ) } , plugins : { } , ui : function ( ) { return { originalElement : this . originalElement , element : this . element , helper : this . helper , position : this . position , size : this . size , originalSize : this . originalSize , originalPosition : this . originalPosition } } } ) ; e . extend ( e . ui . resizable ,
{ version : "1.8.7" } ) ; e . ui . plugin . add ( "resizable" , "alsoResize" , { start : function ( ) { var b = e ( this ) . data ( "resizable" ) . options , a = function ( c ) { e ( c ) . each ( function ( ) { var d = e ( this ) ; d . data ( "resizable-alsoresize" , { width : parseInt ( d . width ( ) , 10 ) , height : parseInt ( d . height ( ) , 10 ) , left : parseInt ( d . css ( "left" ) , 10 ) , top : parseInt ( d . css ( "top" ) , 10 ) , position : d . css ( "position" ) } ) } ) } ; if ( typeof b . alsoResize == "object" && ! b . alsoResize . parentNode ) if ( b . alsoResize . length ) { b . alsoResize = b . alsoResize [ 0 ] ; a ( b . alsoResize ) } else e . each ( b . alsoResize ,
function ( c ) { a ( c ) } ) ; else a ( b . alsoResize ) } , resize : function ( b , a ) { var c = e ( this ) . data ( "resizable" ) ; b = c . options ; var d = c . originalSize , f = c . originalPosition , g = { height : c . size . height - d . height || 0 , width : c . size . width - d . width || 0 , top : c . position . top - f . top || 0 , left : c . position . left - f . left || 0 } , h = function ( i , j ) { e ( i ) . each ( function ( ) { var k = e ( this ) , q = e ( this ) . data ( "resizable-alsoresize" ) , p = { } , r = j && j . length ? j : k . parents ( a . originalElement [ 0 ] ) . length ? [ "width" , "height" ] : [ "width" , "height" , "top" , "left" ] ; e . each ( r , function ( n , o ) { if ( ( n =
( q [ o ] || 0 ) + ( g [ o ] || 0 ) ) && n >= 0 ) p [ o ] = n || null } ) ; if ( e . browser . opera && /relative/ . test ( k . css ( "position" ) ) ) { c . _revertToRelativePosition = true ; k . css ( { position : "absolute" , top : "auto" , left : "auto" } ) } k . css ( p ) } ) } ; typeof b . alsoResize == "object" && ! b . alsoResize . nodeType ? e . each ( b . alsoResize , function ( i , j ) { h ( i , j ) } ) : h ( b . alsoResize ) } , stop : function ( ) { var b = e ( this ) . data ( "resizable" ) , a = b . options , c = function ( d ) { e ( d ) . each ( function ( ) { var f = e ( this ) ; f . css ( { position : f . data ( "resizable-alsoresize" ) . position } ) } ) } ; if ( b . _revertToRelativePosition ) { b . _revertToRelativePosition =
false ; typeof a . alsoResize == "object" && ! a . alsoResize . nodeType ? e . each ( a . alsoResize , function ( d ) { c ( d ) } ) : c ( a . alsoResize ) } e ( this ) . removeData ( "resizable-alsoresize" ) } } ) ; e . ui . plugin . add ( "resizable" , "animate" , { stop : function ( b ) { var a = e ( this ) . data ( "resizable" ) , c = a . options , d = a . _proportionallyResizeElements , f = d . length && /textarea/i . test ( d [ 0 ] . nodeName ) , g = f && e . ui . hasScroll ( d [ 0 ] , "left" ) ? 0 : a . sizeDiff . height ; f = { width : a . size . width - ( f ? 0 : a . sizeDiff . width ) , height : a . size . height - g } ; g = parseInt ( a . element . css ( "left" ) , 10 ) + ( a . position . left -
a . originalPosition . left ) || null ; var h = parseInt ( a . element . css ( "top" ) , 10 ) + ( a . position . top - a . originalPosition . top ) || null ; a . element . animate ( e . extend ( f , h && g ? { top : h , left : g } : { } ) , { duration : c . animateDuration , easing : c . animateEasing , step : function ( ) { var i = { width : parseInt ( a . element . css ( "width" ) , 10 ) , height : parseInt ( a . element . css ( "height" ) , 10 ) , top : parseInt ( a . element . css ( "top" ) , 10 ) , left : parseInt ( a . element . css ( "left" ) , 10 ) } ; d && d . length && e ( d [ 0 ] ) . css ( { width : i . width , height : i . height } ) ; a . _updateCache ( i ) ; a . _propagate ( "resize" ,
b ) } } ) } } ) ; e . ui . plugin . add ( "resizable" , "containment" , { start : function ( ) { var b = e ( this ) . data ( "resizable" ) , a = b . element , c = b . options . containment ; if ( a = c instanceof e ? c . get ( 0 ) : /parent/ . test ( c ) ? a . parent ( ) . get ( 0 ) : c ) { b . containerElement = e ( a ) ; if ( /document/ . test ( c ) || c == document ) { b . containerOffset = { left : 0 , top : 0 } ; b . containerPosition = { left : 0 , top : 0 } ; b . parentData = { element : e ( document ) , left : 0 , top : 0 , width : e ( document ) . width ( ) , height : e ( document ) . height ( ) || document . body . parentNode . scrollHeight } } else { var d = e ( a ) , f = [ ] ; e ( [ "Top" ,
"Right" , "Left" , "Bottom" ] ) . each ( function ( i , j ) { f [ i ] = m ( d . css ( "padding" + j ) ) } ) ; b . containerOffset = d . offset ( ) ; b . containerPosition = d . position ( ) ; b . containerSize = { height : d . innerHeight ( ) - f [ 3 ] , width : d . innerWidth ( ) - f [ 1 ] } ; c = b . containerOffset ; var g = b . containerSize . height , h = b . containerSize . width ; h = e . ui . hasScroll ( a , "left" ) ? a . scrollWidth : h ; g = e . ui . hasScroll ( a ) ? a . scrollHeight : g ; b . parentData = { element : a , left : c . left , top : c . top , width : h , height : g } } } } , resize : function ( b ) { var a = e ( this ) . data ( "resizable" ) , c = a . options , d = a . containerOffset ,
f = a . position ; b = a . _aspectRatio || b . shiftKey ; var g = { top : 0 , left : 0 } , h = a . containerElement ; if ( h [ 0 ] != document && /static/ . test ( h . css ( "position" ) ) ) g = d ; if ( f . left < ( a . _helper ? d . left : 0 ) ) { a . size . width += a . _helper ? a . position . left - d . left : a . position . left - g . left ; if ( b ) a . size . height = a . size . width / c . aspectRatio ; a . position . left = c . helper ? d . left : 0 } if ( f . top < ( a . _helper ? d . top : 0 ) ) { a . size . height += a . _helper ? a . position . top - d . top : a . position . top ; if ( b ) a . size . width = a . size . height * c . aspectRatio ; a . position . top = a . _helper ? d . top : 0 } a . offset . left =
a . parentData . left + a . position . left ; a . offset . top = a . parentData . top + a . position . top ; c = Math . abs ( ( a . _helper ? a . offset . left - g . left : a . offset . left - g . left ) + a . sizeDiff . width ) ; d = Math . abs ( ( a . _helper ? a . offset . top - g . top : a . offset . top - d . top ) + a . sizeDiff . height ) ; f = a . containerElement . get ( 0 ) == a . element . parent ( ) . get ( 0 ) ; g = /relative|absolute/ . test ( a . containerElement . css ( "position" ) ) ; if ( f && g ) c -= a . parentData . left ; if ( c + a . size . width >= a . parentData . width ) { a . size . width = a . parentData . width - c ; if ( b ) a . size . height = a . size . width / a . aspectRatio } if ( d +
a . size . height >= a . parentData . height ) { a . size . height = a . parentData . height - d ; if ( b ) a . size . width = a . size . height * a . aspectRatio } } , stop : function ( ) { var b = e ( this ) . data ( "resizable" ) , a = b . options , c = b . containerOffset , d = b . containerPosition , f = b . containerElement , g = e ( b . helper ) , h = g . offset ( ) , i = g . outerWidth ( ) - b . sizeDiff . width ; g = g . outerHeight ( ) - b . sizeDiff . height ; b . _helper && ! a . animate && /relative/ . test ( f . css ( "position" ) ) && e ( this ) . css ( { left : h . left - d . left - c . left , width : i , height : g } ) ; b . _helper && ! a . animate && /static/ . test ( f . css ( "position" ) ) &&
e ( this ) . css ( { left : h . left - d . left - c . left , width : i , height : g } ) } } ) ; e . ui . plugin . add ( "resizable" , "ghost" , { start : function ( ) { var b = e ( this ) . data ( "resizable" ) , a = b . options , c = b . size ; b . ghost = b . originalElement . clone ( ) ; b . ghost . css ( { opacity : 0.25 , display : "block" , position : "relative" , height : c . height , width : c . width , margin : 0 , left : 0 , top : 0 } ) . addClass ( "ui-resizable-ghost" ) . addClass ( typeof a . ghost == "string" ? a . ghost : "" ) ; b . ghost . appendTo ( b . helper ) } , resize : function ( ) { var b = e ( this ) . data ( "resizable" ) ; b . ghost && b . ghost . css ( { position : "relative" ,
height : b . size . height , width : b . size . width } ) } , stop : function ( ) { var b = e ( this ) . data ( "resizable" ) ; b . ghost && b . helper && b . helper . get ( 0 ) . removeChild ( b . ghost . get ( 0 ) ) } } ) ; e . ui . plugin . add ( "resizable" , "grid" , { resize : function ( ) { var b = e ( this ) . data ( "resizable" ) , a = b . options , c = b . size , d = b . originalSize , f = b . originalPosition , g = b . axis ; a . grid = typeof a . grid == "number" ? [ a . grid , a . grid ] : a . grid ; var h = Math . round ( ( c . width - d . width ) / ( a . grid [ 0 ] || 1 ) ) * ( a . grid [ 0 ] || 1 ) ; a = Math . round ( ( c . height - d . height ) / ( a . grid [ 1 ] || 1 ) ) * ( a . grid [ 1 ] || 1 ) ; if ( /^(se|s|e)$/ . test ( g ) ) { b . size . width =
d . width + h ; b . size . height = d . height + a } else if ( /^(ne)$/ . test ( g ) ) { b . size . width = d . width + h ; b . size . height = d . height + a ; b . position . top = f . top - a } else { if ( /^(sw)$/ . test ( g ) ) { b . size . width = d . width + h ; b . size . height = d . height + a } else { b . size . width = d . width + h ; b . size . height = d . height + a ; b . position . top = f . top - a } b . position . left = f . left - h } } } ) ; var m = function ( b ) { return parseInt ( b , 10 ) || 0 } , l = function ( b ) { return ! isNaN ( parseInt ( b , 10 ) ) } } ) ( jQuery ) ;
; / *
* jQuery UI Selectable 1.8 . 7
*
* Copyright 2010 , AUTHORS . txt ( http : //jqueryui.com/about)
* Dual licensed under the MIT or GPL Version 2 licenses .
* http : //jquery.org/license
*
* http : //docs.jquery.com/UI/Selectables
*
* Depends :
* jquery . ui . core . js
* jquery . ui . mouse . js
* jquery . ui . widget . js
* /
( function ( e ) { e . widget ( "ui.selectable" , e . ui . mouse , { options : { appendTo : "body" , autoRefresh : true , distance : 0 , filter : "*" , tolerance : "touch" } , _create : function ( ) { var c = this ; this . element . addClass ( "ui-selectable" ) ; this . dragged = false ; var f ; this . refresh = function ( ) { f = e ( c . options . filter , c . element [ 0 ] ) ; f . each ( function ( ) { var d = e ( this ) , b = d . offset ( ) ; e . data ( this , "selectable-item" , { element : this , $element : d , left : b . left , top : b . top , right : b . left + d . outerWidth ( ) , bottom : b . top + d . outerHeight ( ) , startselected : false , selected : d . hasClass ( "ui-selected" ) ,
selecting : d . hasClass ( "ui-selecting" ) , unselecting : d . hasClass ( "ui-unselecting" ) } ) } ) } ; this . refresh ( ) ; this . selectees = f . addClass ( "ui-selectee" ) ; this . _mouseInit ( ) ; this . helper = e ( "<div class='ui-selectable-helper'></div>" ) } , destroy : function ( ) { this . selectees . removeClass ( "ui-selectee" ) . removeData ( "selectable-item" ) ; this . element . removeClass ( "ui-selectable ui-selectable-disabled" ) . removeData ( "selectable" ) . unbind ( ".selectable" ) ; this . _mouseDestroy ( ) ; return this } , _mouseStart : function ( c ) { var f = this ; this . opos = [ c . pageX ,
c . pageY ] ; if ( ! this . options . disabled ) { var d = this . options ; this . selectees = e ( d . filter , this . element [ 0 ] ) ; this . _trigger ( "start" , c ) ; e ( d . appendTo ) . append ( this . helper ) ; this . helper . css ( { left : c . clientX , top : c . clientY , width : 0 , height : 0 } ) ; d . autoRefresh && this . refresh ( ) ; this . selectees . filter ( ".ui-selected" ) . each ( function ( ) { var b = e . data ( this , "selectable-item" ) ; b . startselected = true ; if ( ! c . metaKey ) { b . $element . removeClass ( "ui-selected" ) ; b . selected = false ; b . $element . addClass ( "ui-unselecting" ) ; b . unselecting = true ; f . _trigger ( "unselecting" ,
c , { unselecting : b . element } ) } } ) ; e ( c . target ) . parents ( ) . andSelf ( ) . each ( function ( ) { var b = e . data ( this , "selectable-item" ) ; if ( b ) { var g = ! c . metaKey || ! b . $element . hasClass ( "ui-selected" ) ; b . $element . removeClass ( g ? "ui-unselecting" : "ui-selected" ) . addClass ( g ? "ui-selecting" : "ui-unselecting" ) ; b . unselecting = ! g ; b . selecting = g ; ( b . selected = g ) ? f . _trigger ( "selecting" , c , { selecting : b . element } ) : f . _trigger ( "unselecting" , c , { unselecting : b . element } ) ; return false } } ) } } , _mouseDrag : function ( c ) { var f = this ; this . dragged = true ; if ( ! this . options . disabled ) { var d =
this . options , b = this . opos [ 0 ] , g = this . opos [ 1 ] , h = c . pageX , i = c . pageY ; if ( b > h ) { var j = h ; h = b ; b = j } if ( g > i ) { j = i ; i = g ; g = j } this . helper . css ( { left : b , top : g , width : h - b , height : i - g } ) ; this . selectees . each ( function ( ) { var a = e . data ( this , "selectable-item" ) ; if ( ! ( ! a || a . element == f . element [ 0 ] ) ) { var k = false ; if ( d . tolerance == "touch" ) k = ! ( a . left > h || a . right < b || a . top > i || a . bottom < g ) ; else if ( d . tolerance == "fit" ) k = a . left > b && a . right < h && a . top > g && a . bottom < i ; if ( k ) { if ( a . selected ) { a . $element . removeClass ( "ui-selected" ) ; a . selected = false } if ( a . unselecting ) { a . $element . removeClass ( "ui-unselecting" ) ;
a . unselecting = false } if ( ! a . selecting ) { a . $element . addClass ( "ui-selecting" ) ; a . selecting = true ; f . _trigger ( "selecting" , c , { selecting : a . element } ) } } else { if ( a . selecting ) if ( c . metaKey && a . startselected ) { a . $element . removeClass ( "ui-selecting" ) ; a . selecting = false ; a . $element . addClass ( "ui-selected" ) ; a . selected = true } else { a . $element . removeClass ( "ui-selecting" ) ; a . selecting = false ; if ( a . startselected ) { a . $element . addClass ( "ui-unselecting" ) ; a . unselecting = true } f . _trigger ( "unselecting" , c , { unselecting : a . element } ) } if ( a . selected ) if ( ! c . metaKey &&
! a . startselected ) { a . $element . removeClass ( "ui-selected" ) ; a . selected = false ; a . $element . addClass ( "ui-unselecting" ) ; a . unselecting = true ; f . _trigger ( "unselecting" , c , { unselecting : a . element } ) } } } } ) ; return false } } , _mouseStop : function ( c ) { var f = this ; this . dragged = false ; e ( ".ui-unselecting" , this . element [ 0 ] ) . each ( function ( ) { var d = e . data ( this , "selectable-item" ) ; d . $element . removeClass ( "ui-unselecting" ) ; d . unselecting = false ; d . startselected = false ; f . _trigger ( "unselected" , c , { unselected : d . element } ) } ) ; e ( ".ui-selecting" , this . element [ 0 ] ) . each ( function ( ) { var d =
e . data ( this , "selectable-item" ) ; d . $element . removeClass ( "ui-selecting" ) . addClass ( "ui-selected" ) ; d . selecting = false ; d . selected = true ; d . startselected = true ; f . _trigger ( "selected" , c , { selected : d . element } ) } ) ; this . _trigger ( "stop" , c ) ; this . helper . remove ( ) ; return false } } ) ; e . extend ( e . ui . selectable , { version : "1.8.7" } ) } ) ( jQuery ) ;
; / *
* jQuery UI Sortable 1.8 . 7
*
@ -229,4 +298,137 @@ f[k](d)}else{if(e.collapsible&&f)a.toggle();else{b.hide();a.show()}j(true)}b.pre
b ) { a = c . extend ( { easing : "swing" , duration : 300 } , a , b ) ; if ( a . toHide . size ( ) ) if ( a . toShow . size ( ) ) { var d = a . toShow . css ( "overflow" ) , f = 0 , g = { } , h = { } , e ; b = a . toShow ; e = b [ 0 ] . style . width ; b . width ( parseInt ( b . parent ( ) . width ( ) , 10 ) - parseInt ( b . css ( "paddingLeft" ) , 10 ) - parseInt ( b . css ( "paddingRight" ) , 10 ) - ( parseInt ( b . css ( "borderLeftWidth" ) , 10 ) || 0 ) - ( parseInt ( b . css ( "borderRightWidth" ) , 10 ) || 0 ) ) ; c . each ( [ "height" , "paddingTop" , "paddingBottom" ] , function ( j , i ) { h [ i ] = "hide" ; j = ( "" + c . css ( a . toShow [ 0 ] , i ) ) . match ( /^([\d+-.]+)(.*)$/ ) ; g [ i ] = { value : j [ 1 ] ,
unit : j [ 2 ] || "px" } } ) ; a . toShow . css ( { height : 0 , overflow : "hidden" } ) . show ( ) ; a . toHide . filter ( ":hidden" ) . each ( a . complete ) . end ( ) . filter ( ":visible" ) . animate ( h , { step : function ( j , i ) { if ( i . prop == "height" ) f = i . end - i . start === 0 ? 0 : ( i . now - i . start ) / ( i . end - i . start ) ; a . toShow [ 0 ] . style [ i . prop ] = f * g [ i . prop ] . value + g [ i . prop ] . unit } , duration : a . duration , easing : a . easing , complete : function ( ) { a . autoHeight || a . toShow . css ( "height" , "" ) ; a . toShow . css ( { width : e , overflow : d } ) ; a . complete ( ) } } ) } else a . toHide . animate ( { height : "hide" , paddingTop : "hide" ,
paddingBottom : "hide" } , a ) ; else a . toShow . animate ( { height : "show" , paddingTop : "show" , paddingBottom : "show" } , a ) } , bounceslide : function ( a ) { this . slide ( a , { easing : a . down ? "easeOutBounce" : "swing" , duration : a . down ? 1E3 : 200 } ) } } } ) } ) ( jQuery ) ;
; / *
* jQuery UI Button 1.8 . 7
*
* Copyright 2010 , AUTHORS . txt ( http : //jqueryui.com/about)
* Dual licensed under the MIT or GPL Version 2 licenses .
* http : //jquery.org/license
*
* http : //docs.jquery.com/UI/Button
*
* Depends :
* jquery . ui . core . js
* jquery . ui . widget . js
* /
( function ( a ) { var g , i = function ( b ) { a ( ":ui-button" , b . target . form ) . each ( function ( ) { var c = a ( this ) . data ( "button" ) ; setTimeout ( function ( ) { c . refresh ( ) } , 1 ) } ) } , h = function ( b ) { var c = b . name , d = b . form , e = a ( [ ] ) ; if ( c ) e = d ? a ( d ) . find ( "[name='" + c + "']" ) : a ( "[name='" + c + "']" , b . ownerDocument ) . filter ( function ( ) { return ! this . form } ) ; return e } ; a . widget ( "ui.button" , { options : { disabled : null , text : true , label : null , icons : { primary : null , secondary : null } } , _create : function ( ) { this . element . closest ( "form" ) . unbind ( "reset.button" ) . bind ( "reset.button" ,
i ) ; if ( typeof this . options . disabled !== "boolean" ) this . options . disabled = this . element . attr ( "disabled" ) ; this . _determineButtonType ( ) ; this . hasTitle = ! ! this . buttonElement . attr ( "title" ) ; var b = this , c = this . options , d = this . type === "checkbox" || this . type === "radio" , e = "ui-state-hover" + ( ! d ? " ui-state-active" : "" ) ; if ( c . label === null ) c . label = this . buttonElement . html ( ) ; if ( this . element . is ( ":disabled" ) ) c . disabled = true ; this . buttonElement . addClass ( "ui-button ui-widget ui-state-default ui-corner-all" ) . attr ( "role" , "button" ) . bind ( "mouseenter.button" ,
function ( ) { if ( ! c . disabled ) { a ( this ) . addClass ( "ui-state-hover" ) ; this === g && a ( this ) . addClass ( "ui-state-active" ) } } ) . bind ( "mouseleave.button" , function ( ) { c . disabled || a ( this ) . removeClass ( e ) } ) . bind ( "focus.button" , function ( ) { a ( this ) . addClass ( "ui-state-focus" ) } ) . bind ( "blur.button" , function ( ) { a ( this ) . removeClass ( "ui-state-focus" ) } ) ; d && this . element . bind ( "change.button" , function ( ) { b . refresh ( ) } ) ; if ( this . type === "checkbox" ) this . buttonElement . bind ( "click.button" , function ( ) { if ( c . disabled ) return false ; a ( this ) . toggleClass ( "ui-state-active" ) ;
b . buttonElement . attr ( "aria-pressed" , b . element [ 0 ] . checked ) } ) ; else if ( this . type === "radio" ) this . buttonElement . bind ( "click.button" , function ( ) { if ( c . disabled ) return false ; a ( this ) . addClass ( "ui-state-active" ) ; b . buttonElement . attr ( "aria-pressed" , true ) ; var f = b . element [ 0 ] ; h ( f ) . not ( f ) . map ( function ( ) { return a ( this ) . button ( "widget" ) [ 0 ] } ) . removeClass ( "ui-state-active" ) . attr ( "aria-pressed" , false ) } ) ; else { this . buttonElement . bind ( "mousedown.button" , function ( ) { if ( c . disabled ) return false ; a ( this ) . addClass ( "ui-state-active" ) ;
g = this ; a ( document ) . one ( "mouseup" , function ( ) { g = null } ) } ) . bind ( "mouseup.button" , function ( ) { if ( c . disabled ) return false ; a ( this ) . removeClass ( "ui-state-active" ) } ) . bind ( "keydown.button" , function ( f ) { if ( c . disabled ) return false ; if ( f . keyCode == a . ui . keyCode . SPACE || f . keyCode == a . ui . keyCode . ENTER ) a ( this ) . addClass ( "ui-state-active" ) } ) . bind ( "keyup.button" , function ( ) { a ( this ) . removeClass ( "ui-state-active" ) } ) ; this . buttonElement . is ( "a" ) && this . buttonElement . keyup ( function ( f ) { f . keyCode === a . ui . keyCode . SPACE && a ( this ) . click ( ) } ) } this . _setOption ( "disabled" ,
c . disabled ) } , _determineButtonType : function ( ) { this . type = this . element . is ( ":checkbox" ) ? "checkbox" : this . element . is ( ":radio" ) ? "radio" : this . element . is ( "input" ) ? "input" : "button" ; if ( this . type === "checkbox" || this . type === "radio" ) { this . buttonElement = this . element . parents ( ) . last ( ) . find ( "label[for=" + this . element . attr ( "id" ) + "]" ) ; this . element . addClass ( "ui-helper-hidden-accessible" ) ; var b = this . element . is ( ":checked" ) ; b && this . buttonElement . addClass ( "ui-state-active" ) ; this . buttonElement . attr ( "aria-pressed" , b ) } else this . buttonElement =
this . element } , widget : function ( ) { return this . buttonElement } , destroy : function ( ) { this . element . removeClass ( "ui-helper-hidden-accessible" ) ; this . buttonElement . removeClass ( "ui-button ui-widget ui-state-default ui-corner-all ui-state-hover ui-state-active ui-button-icons-only ui-button-icon-only ui-button-text-icons ui-button-text-icon-primary ui-button-text-icon-secondary ui-button-text-only" ) . removeAttr ( "role" ) . removeAttr ( "aria-pressed" ) . html ( this . buttonElement . find ( ".ui-button-text" ) . html ( ) ) ; this . hasTitle ||
this . buttonElement . removeAttr ( "title" ) ; a . Widget . prototype . destroy . call ( this ) } , _setOption : function ( b , c ) { a . Widget . prototype . _setOption . apply ( this , arguments ) ; if ( b === "disabled" ) c ? this . element . attr ( "disabled" , true ) : this . element . removeAttr ( "disabled" ) ; this . _resetButton ( ) } , refresh : function ( ) { var b = this . element . is ( ":disabled" ) ; b !== this . options . disabled && this . _setOption ( "disabled" , b ) ; if ( this . type === "radio" ) h ( this . element [ 0 ] ) . each ( function ( ) { a ( this ) . is ( ":checked" ) ? a ( this ) . button ( "widget" ) . addClass ( "ui-state-active" ) . attr ( "aria-pressed" ,
true ) : a ( this ) . button ( "widget" ) . removeClass ( "ui-state-active" ) . attr ( "aria-pressed" , false ) } ) ; else if ( this . type === "checkbox" ) this . element . is ( ":checked" ) ? this . buttonElement . addClass ( "ui-state-active" ) . attr ( "aria-pressed" , true ) : this . buttonElement . removeClass ( "ui-state-active" ) . attr ( "aria-pressed" , false ) } , _resetButton : function ( ) { if ( this . type === "input" ) this . options . label && this . element . val ( this . options . label ) ; else { var b = this . buttonElement . removeClass ( "ui-button-icons-only ui-button-icon-only ui-button-text-icons ui-button-text-icon-primary ui-button-text-icon-secondary ui-button-text-only" ) ,
c = a ( "<span></span>" ) . addClass ( "ui-button-text" ) . html ( this . options . label ) . appendTo ( b . empty ( ) ) . text ( ) , d = this . options . icons , e = d . primary && d . secondary ; if ( d . primary || d . secondary ) { b . addClass ( "ui-button-text-icon" + ( e ? "s" : d . primary ? "-primary" : "-secondary" ) ) ; d . primary && b . prepend ( "<span class='ui-button-icon-primary ui-icon " + d . primary + "'></span>" ) ; d . secondary && b . append ( "<span class='ui-button-icon-secondary ui-icon " + d . secondary + "'></span>" ) ; if ( ! this . options . text ) { b . addClass ( e ? "ui-button-icons-only" : "ui-button-icon-only" ) . removeClass ( "ui-button-text-icons ui-button-text-icon-primary ui-button-text-icon-secondary" ) ;
this . hasTitle || b . attr ( "title" , c ) } } else b . addClass ( "ui-button-text-only" ) } } } ) ; a . widget ( "ui.buttonset" , { options : { items : ":button, :submit, :reset, :checkbox, :radio, a, :data(button)" } , _create : function ( ) { this . element . addClass ( "ui-buttonset" ) } , _init : function ( ) { this . refresh ( ) } , _setOption : function ( b , c ) { b === "disabled" && this . buttons . button ( "option" , b , c ) ; a . Widget . prototype . _setOption . apply ( this , arguments ) } , refresh : function ( ) { this . buttons = this . element . find ( this . options . items ) . filter ( ":ui-button" ) . button ( "refresh" ) . end ( ) . not ( ":ui-button" ) . button ( ) . end ( ) . map ( function ( ) { return a ( this ) . button ( "widget" ) [ 0 ] } ) . removeClass ( "ui-corner-all ui-corner-left ui-corner-right" ) . filter ( ":first" ) . addClass ( "ui-corner-left" ) . end ( ) . filter ( ":last" ) . addClass ( "ui-corner-right" ) . end ( ) . end ( ) } ,
destroy : function ( ) { this . element . removeClass ( "ui-buttonset" ) ; this . buttons . map ( function ( ) { return a ( this ) . button ( "widget" ) [ 0 ] } ) . removeClass ( "ui-corner-left ui-corner-right" ) . end ( ) . button ( "destroy" ) ; a . Widget . prototype . destroy . call ( this ) } } ) } ) ( jQuery ) ;
; / *
* jQuery UI Dialog 1.8 . 7
*
* Copyright 2010 , AUTHORS . txt ( http : //jqueryui.com/about)
* Dual licensed under the MIT or GPL Version 2 licenses .
* http : //jquery.org/license
*
* http : //docs.jquery.com/UI/Dialog
*
* Depends :
* jquery . ui . core . js
* jquery . ui . widget . js
* jquery . ui . button . js
* jquery . ui . draggable . js
* jquery . ui . mouse . js
* jquery . ui . position . js
* jquery . ui . resizable . js
* /
( function ( c , j ) { var k = { buttons : true , height : true , maxHeight : true , maxWidth : true , minHeight : true , minWidth : true , width : true } , l = { maxHeight : true , maxWidth : true , minHeight : true , minWidth : true } ; c . widget ( "ui.dialog" , { options : { autoOpen : true , buttons : { } , closeOnEscape : true , closeText : "close" , dialogClass : "" , draggable : true , hide : null , height : "auto" , maxHeight : false , maxWidth : false , minHeight : 150 , minWidth : 150 , modal : false , position : { my : "center" , at : "center" , collision : "fit" , using : function ( a ) { var b = c ( this ) . css ( a ) . offset ( ) . top ; b < 0 &&
c ( this ) . css ( "top" , a . top - b ) } } , resizable : true , show : null , stack : true , title : "" , width : 300 , zIndex : 1E3 } , _create : function ( ) { this . originalTitle = this . element . attr ( "title" ) ; if ( typeof this . originalTitle !== "string" ) this . originalTitle = "" ; this . options . title = this . options . title || this . originalTitle ; var a = this , b = a . options , d = b . title || " " , e = c . ui . dialog . getTitleId ( a . element ) , g = ( a . uiDialog = c ( "<div></div>" ) ) . appendTo ( document . body ) . hide ( ) . addClass ( "ui-dialog ui-widget ui-widget-content ui-corner-all " + b . dialogClass ) . css ( { zIndex : b . zIndex } ) . attr ( "tabIndex" ,
- 1 ) . css ( "outline" , 0 ) . keydown ( function ( i ) { if ( b . closeOnEscape && i . keyCode && i . keyCode === c . ui . keyCode . ESCAPE ) { a . close ( i ) ; i . preventDefault ( ) } } ) . attr ( { role : "dialog" , "aria-labelledby" : e } ) . mousedown ( function ( i ) { a . moveToTop ( false , i ) } ) ; a . element . show ( ) . removeAttr ( "title" ) . addClass ( "ui-dialog-content ui-widget-content" ) . appendTo ( g ) ; var f = ( a . uiDialogTitlebar = c ( "<div></div>" ) ) . addClass ( "ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix" ) . prependTo ( g ) , h = c ( '<a href="#"></a>' ) . addClass ( "ui-dialog-titlebar-close ui-corner-all" ) . attr ( "role" ,
"button" ) . hover ( function ( ) { h . addClass ( "ui-state-hover" ) } , function ( ) { h . removeClass ( "ui-state-hover" ) } ) . focus ( function ( ) { h . addClass ( "ui-state-focus" ) } ) . blur ( function ( ) { h . removeClass ( "ui-state-focus" ) } ) . click ( function ( i ) { a . close ( i ) ; return false } ) . appendTo ( f ) ; ( a . uiDialogTitlebarCloseText = c ( "<span></span>" ) ) . addClass ( "ui-icon ui-icon-closethick" ) . text ( b . closeText ) . appendTo ( h ) ; c ( "<span></span>" ) . addClass ( "ui-dialog-title" ) . attr ( "id" , e ) . html ( d ) . prependTo ( f ) ; if ( c . isFunction ( b . beforeclose ) && ! c . isFunction ( b . beforeClose ) ) b . beforeClose =
b . beforeclose ; f . find ( "*" ) . add ( f ) . disableSelection ( ) ; b . draggable && c . fn . draggable && a . _makeDraggable ( ) ; b . resizable && c . fn . resizable && a . _makeResizable ( ) ; a . _createButtons ( b . buttons ) ; a . _isOpen = false ; c . fn . bgiframe && g . bgiframe ( ) } , _init : function ( ) { this . options . autoOpen && this . open ( ) } , destroy : function ( ) { var a = this ; a . overlay && a . overlay . destroy ( ) ; a . uiDialog . hide ( ) ; a . element . unbind ( ".dialog" ) . removeData ( "dialog" ) . removeClass ( "ui-dialog-content ui-widget-content" ) . hide ( ) . appendTo ( "body" ) ; a . uiDialog . remove ( ) ; a . originalTitle &&
a . element . attr ( "title" , a . originalTitle ) ; return a } , widget : function ( ) { return this . uiDialog } , close : function ( a ) { var b = this , d , e ; if ( false !== b . _trigger ( "beforeClose" , a ) ) { b . overlay && b . overlay . destroy ( ) ; b . uiDialog . unbind ( "keypress.ui-dialog" ) ; b . _isOpen = false ; if ( b . options . hide ) b . uiDialog . hide ( b . options . hide , function ( ) { b . _trigger ( "close" , a ) } ) ; else { b . uiDialog . hide ( ) ; b . _trigger ( "close" , a ) } c . ui . dialog . overlay . resize ( ) ; if ( b . options . modal ) { d = 0 ; c ( ".ui-dialog" ) . each ( function ( ) { if ( this !== b . uiDialog [ 0 ] ) { e = c ( this ) . css ( "z-index" ) ;
isNaN ( e ) || ( d = Math . max ( d , e ) ) } } ) ; c . ui . dialog . maxZ = d } return b } } , isOpen : function ( ) { return this . _isOpen } , moveToTop : function ( a , b ) { var d = this , e = d . options ; if ( e . modal && ! a || ! e . stack && ! e . modal ) return d . _trigger ( "focus" , b ) ; if ( e . zIndex > c . ui . dialog . maxZ ) c . ui . dialog . maxZ = e . zIndex ; if ( d . overlay ) { c . ui . dialog . maxZ += 1 ; d . overlay . $el . css ( "z-index" , c . ui . dialog . overlay . maxZ = c . ui . dialog . maxZ ) } a = { scrollTop : d . element . attr ( "scrollTop" ) , scrollLeft : d . element . attr ( "scrollLeft" ) } ; c . ui . dialog . maxZ += 1 ; d . uiDialog . css ( "z-index" , c . ui . dialog . maxZ ) ;
d . element . attr ( a ) ; d . _trigger ( "focus" , b ) ; return d } , open : function ( ) { if ( ! this . _isOpen ) { var a = this , b = a . options , d = a . uiDialog ; a . overlay = b . modal ? new c . ui . dialog . overlay ( a ) : null ; a . _size ( ) ; a . _position ( b . position ) ; d . show ( b . show ) ; a . moveToTop ( true ) ; b . modal && d . bind ( "keypress.ui-dialog" , function ( e ) { if ( e . keyCode === c . ui . keyCode . TAB ) { var g = c ( ":tabbable" , this ) , f = g . filter ( ":first" ) ; g = g . filter ( ":last" ) ; if ( e . target === g [ 0 ] && ! e . shiftKey ) { f . focus ( 1 ) ; return false } else if ( e . target === f [ 0 ] && e . shiftKey ) { g . focus ( 1 ) ; return false } } } ) ;
c ( a . element . find ( ":tabbable" ) . get ( ) . concat ( d . find ( ".ui-dialog-buttonpane :tabbable" ) . get ( ) . concat ( d . get ( ) ) ) ) . eq ( 0 ) . focus ( ) ; a . _isOpen = true ; a . _trigger ( "open" ) ; return a } } , _createButtons : function ( a ) { var b = this , d = false , e = c ( "<div></div>" ) . addClass ( "ui-dialog-buttonpane ui-widget-content ui-helper-clearfix" ) , g = c ( "<div></div>" ) . addClass ( "ui-dialog-buttonset" ) . appendTo ( e ) ; b . uiDialog . find ( ".ui-dialog-buttonpane" ) . remove ( ) ; typeof a === "object" && a !== null && c . each ( a , function ( ) { return ! ( d = true ) } ) ; if ( d ) { c . each ( a , function ( f ,
h ) { h = c . isFunction ( h ) ? { click : h , text : f } : h ; f = c ( '<button type="button"></button>' ) . attr ( h , true ) . unbind ( "click" ) . click ( function ( ) { h . click . apply ( b . element [ 0 ] , arguments ) } ) . appendTo ( g ) ; c . fn . button && f . button ( ) } ) ; e . appendTo ( b . uiDialog ) } } , _makeDraggable : function ( ) { function a ( f ) { return { position : f . position , offset : f . offset } } var b = this , d = b . options , e = c ( document ) , g ; b . uiDialog . draggable ( { cancel : ".ui-dialog-content, .ui-dialog-titlebar-close" , handle : ".ui-dialog-titlebar" , containment : "document" , start : function ( f , h ) { g =
d . height === "auto" ? "auto" : c ( this ) . height ( ) ; c ( this ) . height ( c ( this ) . height ( ) ) . addClass ( "ui-dialog-dragging" ) ; b . _trigger ( "dragStart" , f , a ( h ) ) } , drag : function ( f , h ) { b . _trigger ( "drag" , f , a ( h ) ) } , stop : function ( f , h ) { d . position = [ h . position . left - e . scrollLeft ( ) , h . position . top - e . scrollTop ( ) ] ; c ( this ) . removeClass ( "ui-dialog-dragging" ) . height ( g ) ; b . _trigger ( "dragStop" , f , a ( h ) ) ; c . ui . dialog . overlay . resize ( ) } } ) } , _makeResizable : function ( a ) { function b ( f ) { return { originalPosition : f . originalPosition , originalSize : f . originalSize ,
position : f . position , size : f . size } } a = a === j ? this . options . resizable : a ; var d = this , e = d . options , g = d . uiDialog . css ( "position" ) ; a = typeof a === "string" ? a : "n,e,s,w,se,sw,ne,nw" ; d . uiDialog . resizable ( { cancel : ".ui-dialog-content" , containment : "document" , alsoResize : d . element , maxWidth : e . maxWidth , maxHeight : e . maxHeight , minWidth : e . minWidth , minHeight : d . _minHeight ( ) , handles : a , start : function ( f , h ) { c ( this ) . addClass ( "ui-dialog-resizing" ) ; d . _trigger ( "resizeStart" , f , b ( h ) ) } , resize : function ( f , h ) { d . _trigger ( "resize" , f , b ( h ) ) } , stop : function ( f ,
h ) { c ( this ) . removeClass ( "ui-dialog-resizing" ) ; e . height = c ( this ) . height ( ) ; e . width = c ( this ) . width ( ) ; d . _trigger ( "resizeStop" , f , b ( h ) ) ; c . ui . dialog . overlay . resize ( ) } } ) . css ( "position" , g ) . find ( ".ui-resizable-se" ) . addClass ( "ui-icon ui-icon-grip-diagonal-se" ) } , _minHeight : function ( ) { var a = this . options ; return a . height === "auto" ? a . minHeight : Math . min ( a . minHeight , a . height ) } , _position : function ( a ) { var b = [ ] , d = [ 0 , 0 ] , e ; if ( a ) { if ( typeof a === "string" || typeof a === "object" && "0" in a ) { b = a . split ? a . split ( " " ) : [ a [ 0 ] , a [ 1 ] ] ; if ( b . length ===
1 ) b [ 1 ] = b [ 0 ] ; c . each ( [ "left" , "top" ] , function ( g , f ) { if ( + b [ g ] === b [ g ] ) { d [ g ] = b [ g ] ; b [ g ] = f } } ) ; a = { my : b . join ( " " ) , at : b . join ( " " ) , offset : d . join ( " " ) } } a = c . extend ( { } , c . ui . dialog . prototype . options . position , a ) } else a = c . ui . dialog . prototype . options . position ; ( e = this . uiDialog . is ( ":visible" ) ) || this . uiDialog . show ( ) ; this . uiDialog . css ( { top : 0 , left : 0 } ) . position ( c . extend ( { of : window } , a ) ) ; e || this . uiDialog . hide ( ) } , _setOptions : function ( a ) { var b = this , d = { } , e = false ; c . each ( a , function ( g , f ) { b . _setOption ( g , f ) ; if ( g in k ) e = true ; if ( g in
l ) d [ g ] = f } ) ; e && this . _size ( ) ; this . uiDialog . is ( ":data(resizable)" ) && this . uiDialog . resizable ( "option" , d ) } , _setOption : function ( a , b ) { var d = this , e = d . uiDialog ; switch ( a ) { case "beforeclose" : a = "beforeClose" ; break ; case "buttons" : d . _createButtons ( b ) ; break ; case "closeText" : d . uiDialogTitlebarCloseText . text ( "" + b ) ; break ; case "dialogClass" : e . removeClass ( d . options . dialogClass ) . addClass ( "ui-dialog ui-widget ui-widget-content ui-corner-all " + b ) ; break ; case "disabled" : b ? e . addClass ( "ui-dialog-disabled" ) : e . removeClass ( "ui-dialog-disabled" ) ;
break ; case "draggable" : var g = e . is ( ":data(draggable)" ) ; g && ! b && e . draggable ( "destroy" ) ; ! g && b && d . _makeDraggable ( ) ; break ; case "position" : d . _position ( b ) ; break ; case "resizable" : ( g = e . is ( ":data(resizable)" ) ) && ! b && e . resizable ( "destroy" ) ; g && typeof b === "string" && e . resizable ( "option" , "handles" , b ) ; ! g && b !== false && d . _makeResizable ( b ) ; break ; case "title" : c ( ".ui-dialog-title" , d . uiDialogTitlebar ) . html ( "" + ( b || " " ) ) ; break } c . Widget . prototype . _setOption . apply ( d , arguments ) } , _size : function ( ) { var a = this . options , b , d , e =
this . uiDialog . is ( ":visible" ) ; this . element . show ( ) . css ( { width : "auto" , minHeight : 0 , height : 0 } ) ; if ( a . minWidth > a . width ) a . width = a . minWidth ; b = this . uiDialog . css ( { height : "auto" , width : a . width } ) . height ( ) ; d = Math . max ( 0 , a . minHeight - b ) ; if ( a . height === "auto" ) if ( c . support . minHeight ) this . element . css ( { minHeight : d , height : "auto" } ) ; else { this . uiDialog . show ( ) ; a = this . element . css ( "height" , "auto" ) . height ( ) ; e || this . uiDialog . hide ( ) ; this . element . height ( Math . max ( a , d ) ) } else this . element . height ( Math . max ( a . height - b , 0 ) ) ; this . uiDialog . is ( ":data(resizable)" ) &&
this . uiDialog . resizable ( "option" , "minHeight" , this . _minHeight ( ) ) } } ) ; c . extend ( c . ui . dialog , { version : "1.8.7" , uuid : 0 , maxZ : 0 , getTitleId : function ( a ) { a = a . attr ( "id" ) ; if ( ! a ) { this . uuid += 1 ; a = this . uuid } return "ui-dialog-title-" + a } , overlay : function ( a ) { this . $el = c . ui . dialog . overlay . create ( a ) } } ) ; c . extend ( c . ui . dialog . overlay , { instances : [ ] , oldInstances : [ ] , maxZ : 0 , events : c . map ( "focus,mousedown,mouseup,keydown,keypress,click" . split ( "," ) , function ( a ) { return a + ".dialog-overlay" } ) . join ( " " ) , create : function ( a ) { if ( this . instances . length ===
0 ) { setTimeout ( function ( ) { c . ui . dialog . overlay . instances . length && c ( document ) . bind ( c . ui . dialog . overlay . events , function ( d ) { if ( c ( d . target ) . zIndex ( ) < c . ui . dialog . overlay . maxZ ) return false } ) } , 1 ) ; c ( document ) . bind ( "keydown.dialog-overlay" , function ( d ) { if ( a . options . closeOnEscape && d . keyCode && d . keyCode === c . ui . keyCode . ESCAPE ) { a . close ( d ) ; d . preventDefault ( ) } } ) ; c ( window ) . bind ( "resize.dialog-overlay" , c . ui . dialog . overlay . resize ) } var b = ( this . oldInstances . pop ( ) || c ( "<div></div>" ) . addClass ( "ui-widget-overlay" ) ) . appendTo ( document . body ) . css ( { width : this . width ( ) ,
height : this . height ( ) } ) ; c . fn . bgiframe && b . bgiframe ( ) ; this . instances . push ( b ) ; return b } , destroy : function ( a ) { var b = c . inArray ( a , this . instances ) ; b != - 1 && this . oldInstances . push ( this . instances . splice ( b , 1 ) [ 0 ] ) ; this . instances . length === 0 && c ( [ document , window ] ) . unbind ( ".dialog-overlay" ) ; a . remove ( ) ; var d = 0 ; c . each ( this . instances , function ( ) { d = Math . max ( d , this . css ( "z-index" ) ) } ) ; this . maxZ = d } , height : function ( ) { var a , b ; if ( c . browser . msie && c . browser . version < 7 ) { a = Math . max ( document . documentElement . scrollHeight , document . body . scrollHeight ) ;
b = Math . max ( document . documentElement . offsetHeight , document . body . offsetHeight ) ; return a < b ? c ( window ) . height ( ) + "px" : a + "px" } else return c ( document ) . height ( ) + "px" } , width : function ( ) { var a , b ; if ( c . browser . msie && c . browser . version < 7 ) { a = Math . max ( document . documentElement . scrollWidth , document . body . scrollWidth ) ; b = Math . max ( document . documentElement . offsetWidth , document . body . offsetWidth ) ; return a < b ? c ( window ) . width ( ) + "px" : a + "px" } else return c ( document ) . width ( ) + "px" } , resize : function ( ) { var a = c ( [ ] ) ; c . each ( c . ui . dialog . overlay . instances ,
function ( ) { a = a . add ( this ) } ) ; a . css ( { width : 0 , height : 0 } ) . css ( { width : c . ui . dialog . overlay . width ( ) , height : c . ui . dialog . overlay . height ( ) } ) } } ) ; c . extend ( c . ui . dialog . overlay . prototype , { destroy : function ( ) { c . ui . dialog . overlay . destroy ( this . $el ) } } ) } ) ( jQuery ) ;
; / *
* jQuery UI Slider 1.8 . 7
*
* Copyright 2010 , AUTHORS . txt ( http : //jqueryui.com/about)
* Dual licensed under the MIT or GPL Version 2 licenses .
* http : //jquery.org/license
*
* http : //docs.jquery.com/UI/Slider
*
* Depends :
* jquery . ui . core . js
* jquery . ui . mouse . js
* jquery . ui . widget . js
* /
( function ( d ) { d . widget ( "ui.slider" , d . ui . mouse , { widgetEventPrefix : "slide" , options : { animate : false , distance : 0 , max : 100 , min : 0 , orientation : "horizontal" , range : false , step : 1 , value : 0 , values : null } , _create : function ( ) { var b = this , a = this . options ; this . _mouseSliding = this . _keySliding = false ; this . _animateOff = true ; this . _handleIndex = null ; this . _detectOrientation ( ) ; this . _mouseInit ( ) ; this . element . addClass ( "ui-slider ui-slider-" + this . orientation + " ui-widget ui-widget-content ui-corner-all" ) ; a . disabled && this . element . addClass ( "ui-slider-disabled ui-disabled" ) ;
this . range = d ( [ ] ) ; if ( a . range ) { if ( a . range === true ) { this . range = d ( "<div></div>" ) ; if ( ! a . values ) a . values = [ this . _valueMin ( ) , this . _valueMin ( ) ] ; if ( a . values . length && a . values . length !== 2 ) a . values = [ a . values [ 0 ] , a . values [ 0 ] ] } else this . range = d ( "<div></div>" ) ; this . range . appendTo ( this . element ) . addClass ( "ui-slider-range" ) ; if ( a . range === "min" || a . range === "max" ) this . range . addClass ( "ui-slider-range-" + a . range ) ; this . range . addClass ( "ui-widget-header" ) } d ( ".ui-slider-handle" , this . element ) . length === 0 && d ( "<a href='#'></a>" ) . appendTo ( this . element ) . addClass ( "ui-slider-handle" ) ;
if ( a . values && a . values . length ) for ( ; d ( ".ui-slider-handle" , this . element ) . length < a . values . length ; ) d ( "<a href='#'></a>" ) . appendTo ( this . element ) . addClass ( "ui-slider-handle" ) ; this . handles = d ( ".ui-slider-handle" , this . element ) . addClass ( "ui-state-default ui-corner-all" ) ; this . handle = this . handles . eq ( 0 ) ; this . handles . add ( this . range ) . filter ( "a" ) . click ( function ( c ) { c . preventDefault ( ) } ) . hover ( function ( ) { a . disabled || d ( this ) . addClass ( "ui-state-hover" ) } , function ( ) { d ( this ) . removeClass ( "ui-state-hover" ) } ) . focus ( function ( ) { if ( a . disabled ) d ( this ) . blur ( ) ;
else { d ( ".ui-slider .ui-state-focus" ) . removeClass ( "ui-state-focus" ) ; d ( this ) . addClass ( "ui-state-focus" ) } } ) . blur ( function ( ) { d ( this ) . removeClass ( "ui-state-focus" ) } ) ; this . handles . each ( function ( c ) { d ( this ) . data ( "index.ui-slider-handle" , c ) } ) ; this . handles . keydown ( function ( c ) { var e = true , f = d ( this ) . data ( "index.ui-slider-handle" ) , h , g , i ; if ( ! b . options . disabled ) { switch ( c . keyCode ) { case d . ui . keyCode . HOME : case d . ui . keyCode . END : case d . ui . keyCode . PAGE _UP : case d . ui . keyCode . PAGE _DOWN : case d . ui . keyCode . UP : case d . ui . keyCode . RIGHT : case d . ui . keyCode . DOWN : case d . ui . keyCode . LEFT : e =
false ; if ( ! b . _keySliding ) { b . _keySliding = true ; d ( this ) . addClass ( "ui-state-active" ) ; h = b . _start ( c , f ) ; if ( h === false ) return } break } i = b . options . step ; h = b . options . values && b . options . values . length ? ( g = b . values ( f ) ) : ( g = b . value ( ) ) ; switch ( c . keyCode ) { case d . ui . keyCode . HOME : g = b . _valueMin ( ) ; break ; case d . ui . keyCode . END : g = b . _valueMax ( ) ; break ; case d . ui . keyCode . PAGE _UP : g = b . _trimAlignValue ( h + ( b . _valueMax ( ) - b . _valueMin ( ) ) / 5 ) ; break ; case d . ui . keyCode . PAGE _DOWN : g = b . _trimAlignValue ( h - ( b . _valueMax ( ) - b . _valueMin ( ) ) / 5 ) ; break ; case d . ui . keyCode . UP : case d . ui . keyCode . RIGHT : if ( h ===
b . _valueMax ( ) ) return ; g = b . _trimAlignValue ( h + i ) ; break ; case d . ui . keyCode . DOWN : case d . ui . keyCode . LEFT : if ( h === b . _valueMin ( ) ) return ; g = b . _trimAlignValue ( h - i ) ; break } b . _slide ( c , f , g ) ; return e } } ) . keyup ( function ( c ) { var e = d ( this ) . data ( "index.ui-slider-handle" ) ; if ( b . _keySliding ) { b . _keySliding = false ; b . _stop ( c , e ) ; b . _change ( c , e ) ; d ( this ) . removeClass ( "ui-state-active" ) } } ) ; this . _refreshValue ( ) ; this . _animateOff = false } , destroy : function ( ) { this . handles . remove ( ) ; this . range . remove ( ) ; this . element . removeClass ( "ui-slider ui-slider-horizontal ui-slider-vertical ui-slider-disabled ui-widget ui-widget-content ui-corner-all" ) . removeData ( "slider" ) . unbind ( ".slider" ) ;
this . _mouseDestroy ( ) ; return this } , _mouseCapture : function ( b ) { var a = this . options , c , e , f , h , g ; if ( a . disabled ) return false ; this . elementSize = { width : this . element . outerWidth ( ) , height : this . element . outerHeight ( ) } ; this . elementOffset = this . element . offset ( ) ; c = this . _normValueFromMouse ( { x : b . pageX , y : b . pageY } ) ; e = this . _valueMax ( ) - this . _valueMin ( ) + 1 ; h = this ; this . handles . each ( function ( i ) { var j = Math . abs ( c - h . values ( i ) ) ; if ( e > j ) { e = j ; f = d ( this ) ; g = i } } ) ; if ( a . range === true && this . values ( 1 ) === a . min ) { g += 1 ; f = d ( this . handles [ g ] ) } if ( this . _start ( b ,
g ) === false ) return false ; this . _mouseSliding = true ; h . _handleIndex = g ; f . addClass ( "ui-state-active" ) . focus ( ) ; a = f . offset ( ) ; this . _clickOffset = ! d ( b . target ) . parents ( ) . andSelf ( ) . is ( ".ui-slider-handle" ) ? { left : 0 , top : 0 } : { left : b . pageX - a . left - f . width ( ) / 2 , top : b . pageY - a . top - f . height ( ) / 2 - ( parseInt ( f . css ( "borderTopWidth" ) , 10 ) || 0 ) - ( parseInt ( f . css ( "borderBottomWidth" ) , 10 ) || 0 ) + ( parseInt ( f . css ( "marginTop" ) , 10 ) || 0 ) } ; this . handles . hasClass ( "ui-state-hover" ) || this . _slide ( b , g , c ) ; return this . _animateOff = true } , _mouseStart : function ( ) { return true } ,
_mouseDrag : function ( b ) { var a = this . _normValueFromMouse ( { x : b . pageX , y : b . pageY } ) ; this . _slide ( b , this . _handleIndex , a ) ; return false } , _mouseStop : function ( b ) { this . handles . removeClass ( "ui-state-active" ) ; this . _mouseSliding = false ; this . _stop ( b , this . _handleIndex ) ; this . _change ( b , this . _handleIndex ) ; this . _clickOffset = this . _handleIndex = null ; return this . _animateOff = false } , _detectOrientation : function ( ) { this . orientation = this . options . orientation === "vertical" ? "vertical" : "horizontal" } , _normValueFromMouse : function ( b ) { var a ;
if ( this . orientation === "horizontal" ) { a = this . elementSize . width ; b = b . x - this . elementOffset . left - ( this . _clickOffset ? this . _clickOffset . left : 0 ) } else { a = this . elementSize . height ; b = b . y - this . elementOffset . top - ( this . _clickOffset ? this . _clickOffset . top : 0 ) } a = b / a ; if ( a > 1 ) a = 1 ; if ( a < 0 ) a = 0 ; if ( this . orientation === "vertical" ) a = 1 - a ; b = this . _valueMax ( ) - this . _valueMin ( ) ; return this . _trimAlignValue ( this . _valueMin ( ) + a * b ) } , _start : function ( b , a ) { var c = { handle : this . handles [ a ] , value : this . value ( ) } ; if ( this . options . values && this . options . values . length ) { c . value =
this . values ( a ) ; c . values = this . values ( ) } return this . _trigger ( "start" , b , c ) } , _slide : function ( b , a , c ) { var e ; if ( this . options . values && this . options . values . length ) { e = this . values ( a ? 0 : 1 ) ; if ( this . options . values . length === 2 && this . options . range === true && ( a === 0 && c > e || a === 1 && c < e ) ) c = e ; if ( c !== this . values ( a ) ) { e = this . values ( ) ; e [ a ] = c ; b = this . _trigger ( "slide" , b , { handle : this . handles [ a ] , value : c , values : e } ) ; this . values ( a ? 0 : 1 ) ; b !== false && this . values ( a , c , true ) } } else if ( c !== this . value ( ) ) { b = this . _trigger ( "slide" , b , { handle : this . handles [ a ] ,
value : c } ) ; b !== false && this . value ( c ) } } , _stop : function ( b , a ) { var c = { handle : this . handles [ a ] , value : this . value ( ) } ; if ( this . options . values && this . options . values . length ) { c . value = this . values ( a ) ; c . values = this . values ( ) } this . _trigger ( "stop" , b , c ) } , _change : function ( b , a ) { if ( ! this . _keySliding && ! this . _mouseSliding ) { var c = { handle : this . handles [ a ] , value : this . value ( ) } ; if ( this . options . values && this . options . values . length ) { c . value = this . values ( a ) ; c . values = this . values ( ) } this . _trigger ( "change" , b , c ) } } , value : function ( b ) { if ( arguments . length ) { this . options . value =
this . _trimAlignValue ( b ) ; this . _refreshValue ( ) ; this . _change ( null , 0 ) } return this . _value ( ) } , values : function ( b , a ) { var c , e , f ; if ( arguments . length > 1 ) { this . options . values [ b ] = this . _trimAlignValue ( a ) ; this . _refreshValue ( ) ; this . _change ( null , b ) } if ( arguments . length ) if ( d . isArray ( arguments [ 0 ] ) ) { c = this . options . values ; e = arguments [ 0 ] ; for ( f = 0 ; f < c . length ; f += 1 ) { c [ f ] = this . _trimAlignValue ( e [ f ] ) ; this . _change ( null , f ) } this . _refreshValue ( ) } else return this . options . values && this . options . values . length ? this . _values ( b ) : this . value ( ) ;
else return this . _values ( ) } , _setOption : function ( b , a ) { var c , e = 0 ; if ( d . isArray ( this . options . values ) ) e = this . options . values . length ; d . Widget . prototype . _setOption . apply ( this , arguments ) ; switch ( b ) { case "disabled" : if ( a ) { this . handles . filter ( ".ui-state-focus" ) . blur ( ) ; this . handles . removeClass ( "ui-state-hover" ) ; this . handles . attr ( "disabled" , "disabled" ) ; this . element . addClass ( "ui-disabled" ) } else { this . handles . removeAttr ( "disabled" ) ; this . element . removeClass ( "ui-disabled" ) } break ; case "orientation" : this . _detectOrientation ( ) ;
this . element . removeClass ( "ui-slider-horizontal ui-slider-vertical" ) . addClass ( "ui-slider-" + this . orientation ) ; this . _refreshValue ( ) ; break ; case "value" : this . _animateOff = true ; this . _refreshValue ( ) ; this . _change ( null , 0 ) ; this . _animateOff = false ; break ; case "values" : this . _animateOff = true ; this . _refreshValue ( ) ; for ( c = 0 ; c < e ; c += 1 ) this . _change ( null , c ) ; this . _animateOff = false ; break } } , _value : function ( ) { var b = this . options . value ; return b = this . _trimAlignValue ( b ) } , _values : function ( b ) { var a , c ; if ( arguments . length ) { a = this . options . values [ b ] ;
return a = this . _trimAlignValue ( a ) } else { a = this . options . values . slice ( ) ; for ( c = 0 ; c < a . length ; c += 1 ) a [ c ] = this . _trimAlignValue ( a [ c ] ) ; return a } } , _trimAlignValue : function ( b ) { if ( b <= this . _valueMin ( ) ) return this . _valueMin ( ) ; if ( b >= this . _valueMax ( ) ) return this . _valueMax ( ) ; var a = this . options . step > 0 ? this . options . step : 1 , c = ( b - this . _valueMin ( ) ) % a ; alignValue = b - c ; if ( Math . abs ( c ) * 2 >= a ) alignValue += c > 0 ? a : - a ; return parseFloat ( alignValue . toFixed ( 5 ) ) } , _valueMin : function ( ) { return this . options . min } , _valueMax : function ( ) { return this . options . max } ,
_refreshValue : function ( ) { var b = this . options . range , a = this . options , c = this , e = ! this . _animateOff ? a . animate : false , f , h = { } , g , i , j , l ; if ( this . options . values && this . options . values . length ) this . handles . each ( function ( k ) { f = ( c . values ( k ) - c . _valueMin ( ) ) / ( c . _valueMax ( ) - c . _valueMin ( ) ) * 100 ; h [ c . orientation === "horizontal" ? "left" : "bottom" ] = f + "%" ; d ( this ) . stop ( 1 , 1 ) [ e ? "animate" : "css" ] ( h , a . animate ) ; if ( c . options . range === true ) if ( c . orientation === "horizontal" ) { if ( k === 0 ) c . range . stop ( 1 , 1 ) [ e ? "animate" : "css" ] ( { left : f + "%" } , a . animate ) ;
if ( k === 1 ) c . range [ e ? "animate" : "css" ] ( { width : f - g + "%" } , { queue : false , duration : a . animate } ) } else { if ( k === 0 ) c . range . stop ( 1 , 1 ) [ e ? "animate" : "css" ] ( { bottom : f + "%" } , a . animate ) ; if ( k === 1 ) c . range [ e ? "animate" : "css" ] ( { height : f - g + "%" } , { queue : false , duration : a . animate } ) } g = f } ) ; else { i = this . value ( ) ; j = this . _valueMin ( ) ; l = this . _valueMax ( ) ; f = l !== j ? ( i - j ) / ( l - j ) * 100 : 0 ; h [ c . orientation === "horizontal" ? "left" : "bottom" ] = f + "%" ; this . handle . stop ( 1 , 1 ) [ e ? "animate" : "css" ] ( h , a . animate ) ; if ( b === "min" && this . orientation === "horizontal" ) this . range . stop ( 1 ,
1 ) [ e ? "animate" : "css" ] ( { width : f + "%" } , a . animate ) ; if ( b === "max" && this . orientation === "horizontal" ) this . range [ e ? "animate" : "css" ] ( { width : 100 - f + "%" } , { queue : false , duration : a . animate } ) ; if ( b === "min" && this . orientation === "vertical" ) this . range . stop ( 1 , 1 ) [ e ? "animate" : "css" ] ( { height : f + "%" } , a . animate ) ; if ( b === "max" && this . orientation === "vertical" ) this . range [ e ? "animate" : "css" ] ( { height : 100 - f + "%" } , { queue : false , duration : a . animate } ) } } } ) ; d . extend ( d . ui . slider , { version : "1.8.7" } ) } ) ( jQuery ) ;
; / *
* jQuery UI Tabs 1.8 . 7
*
* Copyright 2010 , AUTHORS . txt ( http : //jqueryui.com/about)
* Dual licensed under the MIT or GPL Version 2 licenses .
* http : //jquery.org/license
*
* http : //docs.jquery.com/UI/Tabs
*
* Depends :
* jquery . ui . core . js
* jquery . ui . widget . js
* /
( function ( d , p ) { function u ( ) { return ++ v } function w ( ) { return ++ x } var v = 0 , x = 0 ; d . widget ( "ui.tabs" , { options : { add : null , ajaxOptions : null , cache : false , cookie : null , collapsible : false , disable : null , disabled : [ ] , enable : null , event : "click" , fx : null , idPrefix : "ui-tabs-" , load : null , panelTemplate : "<div></div>" , remove : null , select : null , show : null , spinner : "<em>Loading…</em>" , tabTemplate : "<li><a href='#{href}'><span>#{label}</span></a></li>" } , _create : function ( ) { this . _tabify ( true ) } , _setOption : function ( b , e ) { if ( b == "selected" ) this . options . collapsible &&
e == this . options . selected || this . select ( e ) ; else { this . options [ b ] = e ; this . _tabify ( ) } } , _tabId : function ( b ) { return b . title && b . title . replace ( /\s/g , "_" ) . replace ( /[^\w\u00c0-\uFFFF-]/g , "" ) || this . options . idPrefix + u ( ) } , _sanitizeSelector : function ( b ) { return b . replace ( /:/g , "\\:" ) } , _cookie : function ( ) { var b = this . cookie || ( this . cookie = this . options . cookie . name || "ui-tabs-" + w ( ) ) ; return d . cookie . apply ( null , [ b ] . concat ( d . makeArray ( arguments ) ) ) } , _ui : function ( b , e ) { return { tab : b , panel : e , index : this . anchors . index ( b ) } } , _cleanup : function ( ) { this . lis . filter ( ".ui-state-processing" ) . removeClass ( "ui-state-processing" ) . find ( "span:data(label.tabs)" ) . each ( function ( ) { var b =
d ( this ) ; b . html ( b . data ( "label.tabs" ) ) . removeData ( "label.tabs" ) } ) } , _tabify : function ( b ) { function e ( g , f ) { g . css ( "display" , "" ) ; ! d . support . opacity && f . opacity && g [ 0 ] . style . removeAttribute ( "filter" ) } var a = this , c = this . options , h = /^#.+/ ; this . list = this . element . find ( "ol,ul" ) . eq ( 0 ) ; this . lis = d ( " > li:has(a[href])" , this . list ) ; this . anchors = this . lis . map ( function ( ) { return d ( "a" , this ) [ 0 ] } ) ; this . panels = d ( [ ] ) ; this . anchors . each ( function ( g , f ) { var i = d ( f ) . attr ( "href" ) , l = i . split ( "#" ) [ 0 ] , q ; if ( l && ( l === location . toString ( ) . split ( "#" ) [ 0 ] ||
( q = d ( "base" ) [ 0 ] ) && l === q . href ) ) { i = f . hash ; f . href = i } if ( h . test ( i ) ) a . panels = a . panels . add ( a . element . find ( a . _sanitizeSelector ( i ) ) ) ; else if ( i && i !== "#" ) { d . data ( f , "href.tabs" , i ) ; d . data ( f , "load.tabs" , i . replace ( /#.*$/ , "" ) ) ; i = a . _tabId ( f ) ; f . href = "#" + i ; f = a . element . find ( "#" + i ) ; if ( ! f . length ) { f = d ( c . panelTemplate ) . attr ( "id" , i ) . addClass ( "ui-tabs-panel ui-widget-content ui-corner-bottom" ) . insertAfter ( a . panels [ g - 1 ] || a . list ) ; f . data ( "destroy.tabs" , true ) } a . panels = a . panels . add ( f ) } else c . disabled . push ( g ) } ) ; if ( b ) { this . element . addClass ( "ui-tabs ui-widget ui-widget-content ui-corner-all" ) ;
this . list . addClass ( "ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all" ) ; this . lis . addClass ( "ui-state-default ui-corner-top" ) ; this . panels . addClass ( "ui-tabs-panel ui-widget-content ui-corner-bottom" ) ; if ( c . selected === p ) { location . hash && this . anchors . each ( function ( g , f ) { if ( f . hash == location . hash ) { c . selected = g ; return false } } ) ; if ( typeof c . selected !== "number" && c . cookie ) c . selected = parseInt ( a . _cookie ( ) , 10 ) ; if ( typeof c . selected !== "number" && this . lis . filter ( ".ui-tabs-selected" ) . length ) c . selected =
this . lis . index ( this . lis . filter ( ".ui-tabs-selected" ) ) ; c . selected = c . selected || ( this . lis . length ? 0 : - 1 ) } else if ( c . selected === null ) c . selected = - 1 ; c . selected = c . selected >= 0 && this . anchors [ c . selected ] || c . selected < 0 ? c . selected : 0 ; c . disabled = d . unique ( c . disabled . concat ( d . map ( this . lis . filter ( ".ui-state-disabled" ) , function ( g ) { return a . lis . index ( g ) } ) ) ) . sort ( ) ; d . inArray ( c . selected , c . disabled ) != - 1 && c . disabled . splice ( d . inArray ( c . selected , c . disabled ) , 1 ) ; this . panels . addClass ( "ui-tabs-hide" ) ; this . lis . removeClass ( "ui-tabs-selected ui-state-active" ) ;
if ( c . selected >= 0 && this . anchors . length ) { a . element . find ( a . _sanitizeSelector ( a . anchors [ c . selected ] . hash ) ) . removeClass ( "ui-tabs-hide" ) ; this . lis . eq ( c . selected ) . addClass ( "ui-tabs-selected ui-state-active" ) ; a . element . queue ( "tabs" , function ( ) { a . _trigger ( "show" , null , a . _ui ( a . anchors [ c . selected ] , a . element . find ( a . _sanitizeSelector ( a . anchors [ c . selected ] . hash ) ) ) ) } ) ; this . load ( c . selected ) } d ( window ) . bind ( "unload" , function ( ) { a . lis . add ( a . anchors ) . unbind ( ".tabs" ) ; a . lis = a . anchors = a . panels = null } ) } else c . selected = this . lis . index ( this . lis . filter ( ".ui-tabs-selected" ) ) ;
this . element [ c . collapsible ? "addClass" : "removeClass" ] ( "ui-tabs-collapsible" ) ; c . cookie && this . _cookie ( c . selected , c . cookie ) ; b = 0 ; for ( var j ; j = this . lis [ b ] ; b ++ ) d ( j ) [ d . inArray ( b , c . disabled ) != - 1 && ! d ( j ) . hasClass ( "ui-tabs-selected" ) ? "addClass" : "removeClass" ] ( "ui-state-disabled" ) ; c . cache === false && this . anchors . removeData ( "cache.tabs" ) ; this . lis . add ( this . anchors ) . unbind ( ".tabs" ) ; if ( c . event !== "mouseover" ) { var k = function ( g , f ) { f . is ( ":not(.ui-state-disabled)" ) && f . addClass ( "ui-state-" + g ) } , n = function ( g , f ) { f . removeClass ( "ui-state-" +
g ) } ; this . lis . bind ( "mouseover.tabs" , function ( ) { k ( "hover" , d ( this ) ) } ) ; this . lis . bind ( "mouseout.tabs" , function ( ) { n ( "hover" , d ( this ) ) } ) ; this . anchors . bind ( "focus.tabs" , function ( ) { k ( "focus" , d ( this ) . closest ( "li" ) ) } ) ; this . anchors . bind ( "blur.tabs" , function ( ) { n ( "focus" , d ( this ) . closest ( "li" ) ) } ) } var m , o ; if ( c . fx ) if ( d . isArray ( c . fx ) ) { m = c . fx [ 0 ] ; o = c . fx [ 1 ] } else m = o = c . fx ; var r = o ? function ( g , f ) { d ( g ) . closest ( "li" ) . addClass ( "ui-tabs-selected ui-state-active" ) ; f . hide ( ) . removeClass ( "ui-tabs-hide" ) . animate ( o , o . duration || "normal" ,
function ( ) { e ( f , o ) ; a . _trigger ( "show" , null , a . _ui ( g , f [ 0 ] ) ) } ) } : function ( g , f ) { d ( g ) . closest ( "li" ) . addClass ( "ui-tabs-selected ui-state-active" ) ; f . removeClass ( "ui-tabs-hide" ) ; a . _trigger ( "show" , null , a . _ui ( g , f [ 0 ] ) ) } , s = m ? function ( g , f ) { f . animate ( m , m . duration || "normal" , function ( ) { a . lis . removeClass ( "ui-tabs-selected ui-state-active" ) ; f . addClass ( "ui-tabs-hide" ) ; e ( f , m ) ; a . element . dequeue ( "tabs" ) } ) } : function ( g , f ) { a . lis . removeClass ( "ui-tabs-selected ui-state-active" ) ; f . addClass ( "ui-tabs-hide" ) ; a . element . dequeue ( "tabs" ) } ;
this . anchors . bind ( c . event + ".tabs" , function ( ) { var g = this , f = d ( g ) . closest ( "li" ) , i = a . panels . filter ( ":not(.ui-tabs-hide)" ) , l = a . element . find ( a . _sanitizeSelector ( g . hash ) ) ; if ( f . hasClass ( "ui-tabs-selected" ) && ! c . collapsible || f . hasClass ( "ui-state-disabled" ) || f . hasClass ( "ui-state-processing" ) || a . panels . filter ( ":animated" ) . length || a . _trigger ( "select" , null , a . _ui ( this , l [ 0 ] ) ) === false ) { this . blur ( ) ; return false } c . selected = a . anchors . index ( this ) ; a . abort ( ) ; if ( c . collapsible ) if ( f . hasClass ( "ui-tabs-selected" ) ) { c . selected =
- 1 ; c . cookie && a . _cookie ( c . selected , c . cookie ) ; a . element . queue ( "tabs" , function ( ) { s ( g , i ) } ) . dequeue ( "tabs" ) ; this . blur ( ) ; return false } else if ( ! i . length ) { c . cookie && a . _cookie ( c . selected , c . cookie ) ; a . element . queue ( "tabs" , function ( ) { r ( g , l ) } ) ; a . load ( a . anchors . index ( this ) ) ; this . blur ( ) ; return false } c . cookie && a . _cookie ( c . selected , c . cookie ) ; if ( l . length ) { i . length && a . element . queue ( "tabs" , function ( ) { s ( g , i ) } ) ; a . element . queue ( "tabs" , function ( ) { r ( g , l ) } ) ; a . load ( a . anchors . index ( this ) ) } else throw "jQuery UI Tabs: Mismatching fragment identifier." ;
d . browser . msie && this . blur ( ) } ) ; this . anchors . bind ( "click.tabs" , function ( ) { return false } ) } , _getIndex : function ( b ) { if ( typeof b == "string" ) b = this . anchors . index ( this . anchors . filter ( "[href$=" + b + "]" ) ) ; return b } , destroy : function ( ) { var b = this . options ; this . abort ( ) ; this . element . unbind ( ".tabs" ) . removeClass ( "ui-tabs ui-widget ui-widget-content ui-corner-all ui-tabs-collapsible" ) . removeData ( "tabs" ) ; this . list . removeClass ( "ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all" ) ; this . anchors . each ( function ( ) { var e =
d . data ( this , "href.tabs" ) ; if ( e ) this . href = e ; var a = d ( this ) . unbind ( ".tabs" ) ; d . each ( [ "href" , "load" , "cache" ] , function ( c , h ) { a . removeData ( h + ".tabs" ) } ) } ) ; this . lis . unbind ( ".tabs" ) . add ( this . panels ) . each ( function ( ) { d . data ( this , "destroy.tabs" ) ? d ( this ) . remove ( ) : d ( this ) . removeClass ( "ui-state-default ui-corner-top ui-tabs-selected ui-state-active ui-state-hover ui-state-focus ui-state-disabled ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide" ) } ) ; b . cookie && this . _cookie ( null , b . cookie ) ; return this } , add : function ( b ,
e , a ) { if ( a === p ) a = this . anchors . length ; var c = this , h = this . options ; e = d ( h . tabTemplate . replace ( /#\{href\}/g , b ) . replace ( /#\{label\}/g , e ) ) ; b = ! b . indexOf ( "#" ) ? b . replace ( "#" , "" ) : this . _tabId ( d ( "a" , e ) [ 0 ] ) ; e . addClass ( "ui-state-default ui-corner-top" ) . data ( "destroy.tabs" , true ) ; var j = c . element . find ( "#" + b ) ; j . length || ( j = d ( h . panelTemplate ) . attr ( "id" , b ) . data ( "destroy.tabs" , true ) ) ; j . addClass ( "ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide" ) ; if ( a >= this . lis . length ) { e . appendTo ( this . list ) ; j . appendTo ( this . list [ 0 ] . parentNode ) } else { e . insertBefore ( this . lis [ a ] ) ;
j . insertBefore ( this . panels [ a ] ) } h . disabled = d . map ( h . disabled , function ( k ) { return k >= a ? ++ k : k } ) ; this . _tabify ( ) ; if ( this . anchors . length == 1 ) { h . selected = 0 ; e . addClass ( "ui-tabs-selected ui-state-active" ) ; j . removeClass ( "ui-tabs-hide" ) ; this . element . queue ( "tabs" , function ( ) { c . _trigger ( "show" , null , c . _ui ( c . anchors [ 0 ] , c . panels [ 0 ] ) ) } ) ; this . load ( 0 ) } this . _trigger ( "add" , null , this . _ui ( this . anchors [ a ] , this . panels [ a ] ) ) ; return this } , remove : function ( b ) { b = this . _getIndex ( b ) ; var e = this . options , a = this . lis . eq ( b ) . remove ( ) , c = this . panels . eq ( b ) . remove ( ) ;
if ( a . hasClass ( "ui-tabs-selected" ) && this . anchors . length > 1 ) this . select ( b + ( b + 1 < this . anchors . length ? 1 : - 1 ) ) ; e . disabled = d . map ( d . grep ( e . disabled , function ( h ) { return h != b } ) , function ( h ) { return h >= b ? -- h : h } ) ; this . _tabify ( ) ; this . _trigger ( "remove" , null , this . _ui ( a . find ( "a" ) [ 0 ] , c [ 0 ] ) ) ; return this } , enable : function ( b ) { b = this . _getIndex ( b ) ; var e = this . options ; if ( d . inArray ( b , e . disabled ) != - 1 ) { this . lis . eq ( b ) . removeClass ( "ui-state-disabled" ) ; e . disabled = d . grep ( e . disabled , function ( a ) { return a != b } ) ; this . _trigger ( "enable" , null ,
this . _ui ( this . anchors [ b ] , this . panels [ b ] ) ) ; return this } } , disable : function ( b ) { b = this . _getIndex ( b ) ; var e = this . options ; if ( b != e . selected ) { this . lis . eq ( b ) . addClass ( "ui-state-disabled" ) ; e . disabled . push ( b ) ; e . disabled . sort ( ) ; this . _trigger ( "disable" , null , this . _ui ( this . anchors [ b ] , this . panels [ b ] ) ) } return this } , select : function ( b ) { b = this . _getIndex ( b ) ; if ( b == - 1 ) if ( this . options . collapsible && this . options . selected != - 1 ) b = this . options . selected ; else return this ; this . anchors . eq ( b ) . trigger ( this . options . event + ".tabs" ) ; return this } ,
load : function ( b ) { b = this . _getIndex ( b ) ; var e = this , a = this . options , c = this . anchors . eq ( b ) [ 0 ] , h = d . data ( c , "load.tabs" ) ; this . abort ( ) ; if ( ! h || this . element . queue ( "tabs" ) . length !== 0 && d . data ( c , "cache.tabs" ) ) this . element . dequeue ( "tabs" ) ; else { this . lis . eq ( b ) . addClass ( "ui-state-processing" ) ; if ( a . spinner ) { var j = d ( "span" , c ) ; j . data ( "label.tabs" , j . html ( ) ) . html ( a . spinner ) } this . xhr = d . ajax ( d . extend ( { } , a . ajaxOptions , { url : h , success : function ( k , n ) { e . element . find ( e . _sanitizeSelector ( c . hash ) ) . html ( k ) ; e . _cleanup ( ) ; a . cache && d . data ( c ,
"cache.tabs" , true ) ; e . _trigger ( "load" , null , e . _ui ( e . anchors [ b ] , e . panels [ b ] ) ) ; try { a . ajaxOptions . success ( k , n ) } catch ( m ) { } } , error : function ( k , n ) { e . _cleanup ( ) ; e . _trigger ( "load" , null , e . _ui ( e . anchors [ b ] , e . panels [ b ] ) ) ; try { a . ajaxOptions . error ( k , n , b , c ) } catch ( m ) { } } } ) ) ; e . element . dequeue ( "tabs" ) ; return this } } , abort : function ( ) { this . element . queue ( [ ] ) ; this . panels . stop ( false , true ) ; this . element . queue ( "tabs" , this . element . queue ( "tabs" ) . splice ( - 2 , 2 ) ) ; if ( this . xhr ) { this . xhr . abort ( ) ; delete this . xhr } this . _cleanup ( ) ; return this } ,
url : function ( b , e ) { this . anchors . eq ( b ) . removeData ( "cache.tabs" ) . data ( "load.tabs" , e ) ; return this } , length : function ( ) { return this . anchors . length } } ) ; d . extend ( d . ui . tabs , { version : "1.8.7" } ) ; d . extend ( d . ui . tabs . prototype , { rotation : null , rotate : function ( b , e ) { var a = this , c = this . options , h = a . _rotate || ( a . _rotate = function ( j ) { clearTimeout ( a . rotation ) ; a . rotation = setTimeout ( function ( ) { var k = c . selected ; a . select ( ++ k < a . anchors . length ? k : 0 ) } , b ) ; j && j . stopPropagation ( ) } ) ; e = a . _unrotate || ( a . _unrotate = ! e ? function ( j ) { j . clientX &&
a . rotate ( null ) } : function ( ) { t = c . selected ; h ( ) } ) ; if ( b ) { this . element . bind ( "tabsshow" , h ) ; this . anchors . bind ( c . event + ".tabs" , e ) ; h ( ) } else { clearTimeout ( a . rotation ) ; this . element . unbind ( "tabsshow" , h ) ; this . anchors . unbind ( c . event + ".tabs" , e ) ; delete this . _rotate ; delete this . _unrotate } return this } } ) } ) ( jQuery ) ;
;