2011-07-15 22:09:04 -07:00
/ * !
* jQuery UI 1.8 . 14
*
* Copyright 2011 , 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
* /
( function ( c , j ) { function k ( a , b ) { var d = a . nodeName . toLowerCase ( ) ; if ( "area" === d ) { b = a . parentNode ; d = b . name ; if ( ! a . href || ! d || b . nodeName . toLowerCase ( ) !== "map" ) return false ; a = c ( "img[usemap=#" + d + "]" ) [ 0 ] ; return ! ! a && l ( a ) } return ( /input|select|textarea|button|object/ . test ( d ) ? ! a . disabled : "a" == d ? a . href || b : b ) && l ( a ) } function l ( a ) { return ! c ( a ) . parents ( ) . andSelf ( ) . filter ( function ( ) { return c . curCSS ( this , "visibility" ) === "hidden" || c . expr . filters . hidden ( this ) } ) . length } c . ui = c . ui || { } ; if ( ! c . ui . version ) { c . extend ( c . ui , { version : "1.8.14" ,
keyCode : { ALT : 18 , BACKSPACE : 8 , CAPS _LOCK : 20 , COMMA : 188 , COMMAND : 91 , COMMAND _LEFT : 91 , COMMAND _RIGHT : 93 , CONTROL : 17 , DELETE : 46 , DOWN : 40 , END : 35 , ENTER : 13 , ESCAPE : 27 , HOME : 36 , INSERT : 45 , LEFT : 37 , MENU : 93 , NUMPAD _ADD : 107 , NUMPAD _DECIMAL : 110 , NUMPAD _DIVIDE : 111 , NUMPAD _ENTER : 108 , NUMPAD _MULTIPLY : 106 , NUMPAD _SUBTRACT : 109 , PAGE _DOWN : 34 , PAGE _UP : 33 , PERIOD : 190 , RIGHT : 39 , SHIFT : 16 , SPACE : 32 , TAB : 9 , UP : 38 , WINDOWS : 91 } } ) ; c . fn . extend ( { _focus : c . fn . focus , focus : function ( a , b ) { return typeof a === "number" ? this . each ( function ( ) { var d = this ; setTimeout ( function ( ) { c ( d ) . focus ( ) ;
b && b . call ( d ) } , a ) } ) : this . _focus . apply ( this , arguments ) } , scrollParent : function ( ) { var a ; a = c . browser . msie && /(static|relative)/ . test ( this . css ( "position" ) ) || /absolute/ . test ( this . css ( "position" ) ) ? this . parents ( ) . filter ( function ( ) { return /(relative|absolute|fixed)/ . test ( c . curCSS ( this , "position" , 1 ) ) && /(auto|scroll)/ . test ( c . curCSS ( this , "overflow" , 1 ) + c . curCSS ( this , "overflow-y" , 1 ) + c . curCSS ( this , "overflow-x" , 1 ) ) } ) . eq ( 0 ) : this . parents ( ) . filter ( function ( ) { return /(auto|scroll)/ . test ( c . curCSS ( this , "overflow" , 1 ) + c . curCSS ( this ,
"overflow-y" , 1 ) + c . curCSS ( this , "overflow-x" , 1 ) ) } ) . eq ( 0 ) ; return /fixed/ . test ( this . css ( "position" ) ) || ! a . length ? c ( document ) : a } , zIndex : function ( a ) { if ( a !== j ) return this . css ( "zIndex" , a ) ; if ( this . length ) { a = c ( this [ 0 ] ) ; for ( var b ; a . length && a [ 0 ] !== document ; ) { b = a . css ( "position" ) ; if ( b === "absolute" || b === "relative" || b === "fixed" ) { b = parseInt ( a . css ( "zIndex" ) , 10 ) ; if ( ! isNaN ( b ) && b !== 0 ) return b } a = a . parent ( ) } } return 0 } , disableSelection : function ( ) { return this . bind ( ( c . support . selectstart ? "selectstart" : "mousedown" ) + ".ui-disableSelection" ,
function ( a ) { a . preventDefault ( ) } ) } , enableSelection : function ( ) { return this . unbind ( ".ui-disableSelection" ) } } ) ; c . each ( [ "Width" , "Height" ] , function ( a , b ) { function d ( f , g , m , n ) { c . each ( e , function ( ) { g -= parseFloat ( c . curCSS ( f , "padding" + this , true ) ) || 0 ; if ( m ) g -= parseFloat ( c . curCSS ( f , "border" + this + "Width" , true ) ) || 0 ; if ( n ) g -= parseFloat ( c . curCSS ( f , "margin" + this , true ) ) || 0 } ) ; return g } var e = b === "Width" ? [ "Left" , "Right" ] : [ "Top" , "Bottom" ] , h = b . toLowerCase ( ) , i = { innerWidth : c . fn . innerWidth , innerHeight : c . fn . innerHeight , outerWidth : c . fn . outerWidth ,
outerHeight : c . fn . outerHeight } ; c . fn [ "inner" + b ] = function ( f ) { if ( f === j ) return i [ "inner" + b ] . call ( this ) ; return this . each ( function ( ) { c ( this ) . css ( h , d ( this , f ) + "px" ) } ) } ; c . fn [ "outer" + b ] = function ( f , g ) { if ( typeof f !== "number" ) return i [ "outer" + b ] . call ( this , f ) ; return this . each ( function ( ) { c ( this ) . css ( h , d ( this , f , true , g ) + "px" ) } ) } } ) ; c . extend ( c . expr [ ":" ] , { data : function ( a , b , d ) { return ! ! c . data ( a , d [ 3 ] ) } , focusable : function ( a ) { return k ( a , ! isNaN ( c . attr ( a , "tabindex" ) ) ) } , tabbable : function ( a ) { var b = c . attr ( a , "tabindex" ) , d = isNaN ( b ) ;
return ( d || b >= 0 ) && k ( a , ! d ) } } ) ; c ( function ( ) { var a = document . body , b = a . appendChild ( b = document . createElement ( "div" ) ) ; c . extend ( b . style , { minHeight : "100px" , height : "auto" , padding : 0 , borderWidth : 0 } ) ; c . support . minHeight = b . offsetHeight === 100 ; c . support . selectstart = "onselectstart" in b ; a . removeChild ( b ) . style . display = "none" } ) ; c . extend ( c . ui , { plugin : { add : function ( a , b , d ) { a = c . ui [ a ] . prototype ; for ( var e in d ) { a . plugins [ e ] = a . plugins [ e ] || [ ] ; a . plugins [ e ] . push ( [ b , d [ e ] ] ) } } , call : function ( a , b , d ) { if ( ( b = a . plugins [ b ] ) && a . element [ 0 ] . parentNode ) for ( var e =
0 ; e < b . length ; e ++ ) a . options [ b [ e ] [ 0 ] ] && b [ e ] [ 1 ] . apply ( a . element , d ) } } , contains : function ( a , b ) { return document . compareDocumentPosition ? a . compareDocumentPosition ( b ) & 16 : a !== b && a . contains ( b ) } , hasScroll : function ( a , b ) { if ( c ( a ) . css ( "overflow" ) === "hidden" ) return false ; b = b && b === "left" ? "scrollLeft" : "scrollTop" ; var d = false ; if ( a [ b ] > 0 ) return true ; a [ b ] = 1 ; d = a [ b ] > 0 ; a [ b ] = 0 ; return d } , isOverAxis : function ( a , b , d ) { return a > b && a < b + d } , isOver : function ( a , b , d , e , h , i ) { return c . ui . isOverAxis ( a , d , h ) && c . ui . isOverAxis ( b , e , i ) } } ) } } ) ( jQuery ) ;
; / * !
* jQuery UI Widget 1.8 . 14
*
* Copyright 2011 , 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/Widget
* /
( function ( b , j ) { if ( b . cleanData ) { var k = b . cleanData ; b . cleanData = function ( a ) { for ( var c = 0 , d ; ( d = a [ c ] ) != null ; c ++ ) b ( d ) . triggerHandler ( "remove" ) ; k ( a ) } } else { var l = b . fn . remove ; b . fn . remove = function ( a , c ) { return this . each ( function ( ) { if ( ! c ) if ( ! a || b . filter ( a , [ this ] ) . length ) b ( "*" , this ) . add ( [ this ] ) . each ( function ( ) { b ( this ) . triggerHandler ( "remove" ) } ) ; return l . call ( b ( this ) , a , c ) } ) } } b . widget = function ( a , c , d ) { var e = a . split ( "." ) [ 0 ] , f ; a = a . split ( "." ) [ 1 ] ; f = e + "-" + a ; if ( ! d ) { d = c ; c = b . Widget } b . expr [ ":" ] [ f ] = function ( h ) { return ! ! b . data ( h ,
a ) } ; b [ e ] = b [ e ] || { } ; b [ e ] [ a ] = function ( h , g ) { arguments . length && this . _createWidget ( h , g ) } ; c = new c ; c . options = b . extend ( true , { } , c . options ) ; b [ e ] [ a ] . prototype = b . extend ( true , c , { namespace : e , widgetName : a , widgetEventPrefix : b [ e ] [ a ] . prototype . widgetEventPrefix || a , widgetBaseClass : f } , d ) ; b . widget . bridge ( a , b [ e ] [ a ] ) } ; b . widget . bridge = function ( a , c ) { b . fn [ a ] = function ( d ) { var e = typeof d === "string" , f = Array . prototype . slice . call ( arguments , 1 ) , h = this ; d = ! e && f . length ? b . extend . apply ( null , [ true , d ] . concat ( f ) ) : d ; if ( e && d . charAt ( 0 ) === "_" ) return h ;
e ? this . each ( function ( ) { var g = b . data ( this , a ) , i = g && b . isFunction ( g [ d ] ) ? g [ d ] . apply ( g , f ) : g ; if ( i !== g && i !== j ) { h = i ; return false } } ) : this . each ( function ( ) { var g = b . data ( this , a ) ; g ? g . option ( d || { } ) . _init ( ) : b . data ( this , a , new c ( d , this ) ) } ) ; return h } } ; b . Widget = function ( a , c ) { arguments . length && this . _createWidget ( a , c ) } ; b . Widget . prototype = { widgetName : "widget" , widgetEventPrefix : "" , options : { disabled : false } , _createWidget : function ( a , c ) { b . data ( c , this . widgetName , this ) ; this . element = b ( c ) ; this . options = b . extend ( true , { } , this . options ,
this . _getCreateOptions ( ) , a ) ; var d = this ; this . element . bind ( "remove." + this . widgetName , function ( ) { d . destroy ( ) } ) ; this . _create ( ) ; this . _trigger ( "create" ) ; this . _init ( ) } , _getCreateOptions : function ( ) { return b . metadata && b . metadata . get ( this . element [ 0 ] ) [ this . widgetName ] } , _create : function ( ) { } , _init : function ( ) { } , destroy : function ( ) { this . element . unbind ( "." + this . widgetName ) . removeData ( this . widgetName ) ; this . widget ( ) . unbind ( "." + this . widgetName ) . removeAttr ( "aria-disabled" ) . removeClass ( this . widgetBaseClass + "-disabled ui-state-disabled" ) } ,
widget : function ( ) { return this . element } , option : function ( a , c ) { var d = a ; if ( arguments . length === 0 ) return b . extend ( { } , this . options ) ; if ( typeof a === "string" ) { if ( c === j ) return this . options [ a ] ; d = { } ; d [ a ] = c } this . _setOptions ( d ) ; return this } , _setOptions : function ( a ) { var c = this ; b . each ( a , function ( d , e ) { c . _setOption ( d , e ) } ) ; return this } , _setOption : function ( a , c ) { this . options [ a ] = c ; if ( a === "disabled" ) this . widget ( ) [ c ? "addClass" : "removeClass" ] ( this . widgetBaseClass + "-disabled ui-state-disabled" ) . attr ( "aria-disabled" , c ) ; return this } ,
enable : function ( ) { return this . _setOption ( "disabled" , false ) } , disable : function ( ) { return this . _setOption ( "disabled" , true ) } , _trigger : function ( a , c , d ) { var e = this . options [ a ] ; c = b . Event ( c ) ; c . type = ( a === this . widgetEventPrefix ? a : this . widgetEventPrefix + a ) . toLowerCase ( ) ; d = d || { } ; if ( c . originalEvent ) { a = b . event . props . length ; for ( var f ; a ; ) { f = b . event . props [ -- a ] ; c [ f ] = c . originalEvent [ f ] } } this . element . trigger ( c , d ) ; return ! ( b . isFunction ( e ) && e . call ( this . element [ 0 ] , c , d ) === false || c . isDefaultPrevented ( ) ) } } } ) ( jQuery ) ;
2011-07-30 10:40:41 -07:00
; / * !
* jQuery UI Mouse 1.8 . 14
*
* Copyright 2011 , 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/Mouse
*
* Depends :
* jquery . ui . widget . js
* /
( function ( b ) { var d = false ; b ( document ) . mousedown ( function ( ) { d = false } ) ; b . widget ( "ui.mouse" , { options : { cancel : ":input,option" , distance : 1 , delay : 0 } , _mouseInit : function ( ) { var a = this ; this . element . bind ( "mousedown." + this . widgetName , function ( c ) { return a . _mouseDown ( c ) } ) . bind ( "click." + this . widgetName , function ( c ) { if ( true === b . data ( c . target , a . widgetName + ".preventClickEvent" ) ) { b . removeData ( c . target , a . widgetName + ".preventClickEvent" ) ; c . stopImmediatePropagation ( ) ; return false } } ) ; this . started = false } , _mouseDestroy : function ( ) { this . element . unbind ( "." +
this . widgetName ) } , _mouseDown : function ( a ) { if ( ! d ) { this . _mouseStarted && this . _mouseUp ( a ) ; this . _mouseDownEvent = a ; var c = this , f = a . which == 1 , g = typeof this . options . cancel == "string" ? b ( a . target ) . closest ( this . options . cancel ) . length : false ; if ( ! f || g || ! this . _mouseCapture ( a ) ) return true ; this . mouseDelayMet = ! this . options . delay ; if ( ! this . mouseDelayMet ) this . _mouseDelayTimer = setTimeout ( function ( ) { c . mouseDelayMet = true } , this . options . delay ) ; if ( this . _mouseDistanceMet ( a ) && this . _mouseDelayMet ( a ) ) { this . _mouseStarted = this . _mouseStart ( a ) !==
false ; if ( ! this . _mouseStarted ) { a . preventDefault ( ) ; return true } } true === b . data ( a . target , this . widgetName + ".preventClickEvent" ) && b . removeData ( a . target , this . widgetName + ".preventClickEvent" ) ; this . _mouseMoveDelegate = function ( e ) { return c . _mouseMove ( e ) } ; this . _mouseUpDelegate = function ( e ) { return c . _mouseUp ( e ) } ; b ( document ) . bind ( "mousemove." + this . widgetName , this . _mouseMoveDelegate ) . bind ( "mouseup." + this . widgetName , this . _mouseUpDelegate ) ; a . preventDefault ( ) ; return d = true } } , _mouseMove : function ( a ) { if ( b . browser . msie &&
! ( document . documentMode >= 9 ) && ! a . button ) return this . _mouseUp ( a ) ; if ( this . _mouseStarted ) { this . _mouseDrag ( a ) ; return a . preventDefault ( ) } if ( this . _mouseDistanceMet ( a ) && this . _mouseDelayMet ( a ) ) ( this . _mouseStarted = this . _mouseStart ( this . _mouseDownEvent , a ) !== false ) ? this . _mouseDrag ( a ) : this . _mouseUp ( a ) ; return ! this . _mouseStarted } , _mouseUp : function ( a ) { b ( document ) . unbind ( "mousemove." + this . widgetName , this . _mouseMoveDelegate ) . unbind ( "mouseup." + this . widgetName , this . _mouseUpDelegate ) ; if ( this . _mouseStarted ) { this . _mouseStarted =
false ; a . target == this . _mouseDownEvent . target && b . data ( a . target , this . widgetName + ".preventClickEvent" , true ) ; this . _mouseStop ( a ) } return false } , _mouseDistanceMet : function ( a ) { return Math . max ( Math . abs ( this . _mouseDownEvent . pageX - a . pageX ) , Math . abs ( this . _mouseDownEvent . pageY - a . pageY ) ) >= this . options . distance } , _mouseDelayMet : function ( ) { return this . mouseDelayMet } , _mouseStart : function ( ) { } , _mouseDrag : function ( ) { } , _mouseStop : function ( ) { } , _mouseCapture : function ( ) { return true } } ) } ) ( jQuery ) ;
2011-07-15 22:09:04 -07:00
; / *
* jQuery UI Position 1.8 . 14
*
* Copyright 2011 , 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/Position
* /
( function ( c ) { c . ui = c . ui || { } ; var n = /left|center|right/ , o = /top|center|bottom/ , t = c . fn . position , u = c . fn . offset ; c . fn . position = function ( b ) { if ( ! b || ! b . of ) return t . apply ( this , arguments ) ; b = c . extend ( { } , b ) ; var a = c ( b . of ) , d = a [ 0 ] , g = ( b . collision || "flip" ) . split ( " " ) , e = b . offset ? b . offset . split ( " " ) : [ 0 , 0 ] , h , k , j ; if ( d . nodeType === 9 ) { h = a . width ( ) ; k = a . height ( ) ; j = { top : 0 , left : 0 } } else if ( d . setTimeout ) { h = a . width ( ) ; k = a . height ( ) ; j = { top : a . scrollTop ( ) , left : a . scrollLeft ( ) } } else if ( d . preventDefault ) { b . at = "left top" ; h = k = 0 ; j = { top : b . of . pageY ,
left : b . of . pageX } } else { h = a . outerWidth ( ) ; k = a . outerHeight ( ) ; j = a . offset ( ) } c . each ( [ "my" , "at" ] , function ( ) { var f = ( b [ this ] || "" ) . split ( " " ) ; if ( f . length === 1 ) f = n . test ( f [ 0 ] ) ? f . concat ( [ "center" ] ) : o . test ( f [ 0 ] ) ? [ "center" ] . concat ( f ) : [ "center" , "center" ] ; f [ 0 ] = n . test ( f [ 0 ] ) ? f [ 0 ] : "center" ; f [ 1 ] = o . test ( f [ 1 ] ) ? f [ 1 ] : "center" ; b [ this ] = f } ) ; if ( g . length === 1 ) g [ 1 ] = g [ 0 ] ; e [ 0 ] = parseInt ( e [ 0 ] , 10 ) || 0 ; if ( e . length === 1 ) e [ 1 ] = e [ 0 ] ; e [ 1 ] = parseInt ( e [ 1 ] , 10 ) || 0 ; if ( b . at [ 0 ] === "right" ) j . left += h ; else if ( b . at [ 0 ] === "center" ) j . left += h / 2 ; if ( b . at [ 1 ] === "bottom" ) j . top +=
k ; else if ( b . at [ 1 ] === "center" ) j . top += k / 2 ; j . left += e [ 0 ] ; j . top += e [ 1 ] ; return this . each ( function ( ) { var f = c ( this ) , l = f . outerWidth ( ) , m = f . outerHeight ( ) , p = parseInt ( c . curCSS ( this , "marginLeft" , true ) ) || 0 , q = parseInt ( c . curCSS ( this , "marginTop" , true ) ) || 0 , v = l + p + ( parseInt ( c . curCSS ( this , "marginRight" , true ) ) || 0 ) , w = m + q + ( parseInt ( c . curCSS ( this , "marginBottom" , true ) ) || 0 ) , i = c . extend ( { } , j ) , r ; if ( b . my [ 0 ] === "right" ) i . left -= l ; else if ( b . my [ 0 ] === "center" ) i . left -= l / 2 ; if ( b . my [ 1 ] === "bottom" ) i . top -= m ; else if ( b . my [ 1 ] === "center" ) i . top -=
m / 2 ; i . left = Math . round ( i . left ) ; i . top = Math . round ( i . top ) ; r = { left : i . left - p , top : i . top - q } ; c . each ( [ "left" , "top" ] , function ( s , x ) { c . ui . position [ g [ s ] ] && c . ui . position [ g [ s ] ] [ x ] ( i , { targetWidth : h , targetHeight : k , elemWidth : l , elemHeight : m , collisionPosition : r , collisionWidth : v , collisionHeight : w , offset : e , my : b . my , at : b . at } ) } ) ; c . fn . bgiframe && f . bgiframe ( ) ; f . offset ( c . extend ( i , { using : b . using } ) ) } ) } ; c . ui . position = { fit : { left : function ( b , a ) { var d = c ( window ) ; d = a . collisionPosition . left + a . collisionWidth - d . width ( ) - d . scrollLeft ( ) ; b . left =
d > 0 ? b . left - d : Math . max ( b . left - a . collisionPosition . left , b . left ) } , top : function ( b , a ) { var d = c ( window ) ; d = a . collisionPosition . top + a . collisionHeight - d . height ( ) - d . scrollTop ( ) ; b . top = d > 0 ? b . top - d : Math . max ( b . top - a . collisionPosition . top , b . top ) } } , flip : { left : function ( b , a ) { if ( a . at [ 0 ] !== "center" ) { var d = c ( window ) ; d = a . collisionPosition . left + a . collisionWidth - d . width ( ) - d . scrollLeft ( ) ; var g = a . my [ 0 ] === "left" ? - a . elemWidth : a . my [ 0 ] === "right" ? a . elemWidth : 0 , e = a . at [ 0 ] === "left" ? a . targetWidth : - a . targetWidth , h = - 2 * a . offset [ 0 ] ; b . left +=
a . collisionPosition . left < 0 ? g + e + h : d > 0 ? g + e + h : 0 } } , top : function ( b , a ) { if ( a . at [ 1 ] !== "center" ) { var d = c ( window ) ; d = a . collisionPosition . top + a . collisionHeight - d . height ( ) - d . scrollTop ( ) ; var g = a . my [ 1 ] === "top" ? - a . elemHeight : a . my [ 1 ] === "bottom" ? a . elemHeight : 0 , e = a . at [ 1 ] === "top" ? a . targetHeight : - a . targetHeight , h = - 2 * a . offset [ 1 ] ; b . top += a . collisionPosition . top < 0 ? g + e + h : d > 0 ? g + e + h : 0 } } } } ; if ( ! c . offset . setOffset ) { c . offset . setOffset = function ( b , a ) { if ( /static/ . test ( c . curCSS ( b , "position" ) ) ) b . style . position = "relative" ; var d = c ( b ) ,
g = d . offset ( ) , e = parseInt ( c . curCSS ( b , "top" , true ) , 10 ) || 0 , h = parseInt ( c . curCSS ( b , "left" , true ) , 10 ) || 0 ; g = { top : a . top - g . top + e , left : a . left - g . left + h } ; "using" in a ? a . using . call ( b , g ) : d . css ( g ) } ; c . fn . offset = function ( b ) { var a = this [ 0 ] ; if ( ! a || ! a . ownerDocument ) return null ; if ( b ) return this . each ( function ( ) { c . offset . setOffset ( this , b ) } ) ; return u . call ( this ) } } } ) ( jQuery ) ;
2011-07-30 10:40:41 -07:00
; / *
* jQuery UI Draggable 1.8 . 14
*
* Copyright 2011 , 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/Draggables
*
* Depends :
* jquery . ui . core . js
* jquery . ui . mouse . js
* jquery . ui . widget . js
* /
( function ( d ) { d . widget ( "ui.draggable" , d . ui . mouse , { widgetEventPrefix : "drag" , options : { addClasses : true , appendTo : "parent" , axis : false , connectToSortable : false , containment : false , cursor : "auto" , cursorAt : false , grid : false , handle : false , helper : "original" , iframeFix : false , opacity : false , refreshPositions : false , revert : false , revertDuration : 500 , scope : "default" , scroll : true , scrollSensitivity : 20 , scrollSpeed : 20 , snap : false , snapMode : "both" , snapTolerance : 20 , stack : false , zIndex : false } , _create : function ( ) { if ( this . options . helper ==
"original" && ! /^(?:r|a|f)/ . test ( this . element . css ( "position" ) ) ) this . element [ 0 ] . style . position = "relative" ; this . options . addClasses && this . element . addClass ( "ui-draggable" ) ; this . options . disabled && this . element . addClass ( "ui-draggable-disabled" ) ; this . _mouseInit ( ) } , destroy : function ( ) { if ( this . element . data ( "draggable" ) ) { this . element . removeData ( "draggable" ) . unbind ( ".draggable" ) . removeClass ( "ui-draggable ui-draggable-dragging ui-draggable-disabled" ) ; this . _mouseDestroy ( ) ; return this } } , _mouseCapture : function ( a ) { var b =
this . options ; if ( this . helper || b . disabled || d ( a . target ) . is ( ".ui-resizable-handle" ) ) return false ; this . handle = this . _getHandle ( a ) ; if ( ! this . handle ) return false ; d ( b . iframeFix === true ? "iframe" : b . iframeFix ) . each ( function ( ) { d ( '<div class="ui-draggable-iframeFix" style="background: #fff;"></div>' ) . css ( { width : this . offsetWidth + "px" , height : this . offsetHeight + "px" , position : "absolute" , opacity : "0.001" , zIndex : 1E3 } ) . css ( d ( this ) . offset ( ) ) . appendTo ( "body" ) } ) ; return true } , _mouseStart : function ( a ) { var b = this . options ; this . helper =
this . _createHelper ( a ) ; this . _cacheHelperProportions ( ) ; if ( d . ui . ddmanager ) d . ui . ddmanager . current = this ; this . _cacheMargins ( ) ; this . cssPosition = this . helper . css ( "position" ) ; this . scrollParent = this . helper . scrollParent ( ) ; this . offset = this . positionAbs = this . element . offset ( ) ; this . offset = { top : this . offset . top - this . margins . top , left : this . offset . left - this . margins . left } ; d . extend ( this . offset , { click : { left : a . pageX - this . offset . left , top : a . pageY - this . offset . top } , parent : this . _getParentOffset ( ) , relative : this . _getRelativeOffset ( ) } ) ;
this . originalPosition = this . position = this . _generatePosition ( a ) ; this . originalPageX = a . pageX ; this . originalPageY = a . pageY ; b . cursorAt && this . _adjustOffsetFromHelper ( b . cursorAt ) ; b . containment && this . _setContainment ( ) ; if ( this . _trigger ( "start" , a ) === false ) { this . _clear ( ) ; return false } this . _cacheHelperProportions ( ) ; d . ui . ddmanager && ! b . dropBehaviour && d . ui . ddmanager . prepareOffsets ( this , a ) ; this . helper . addClass ( "ui-draggable-dragging" ) ; this . _mouseDrag ( a , true ) ; d . ui . ddmanager && d . ui . ddmanager . dragStart ( this , a ) ; return true } ,
_mouseDrag : function ( a , b ) { this . position = this . _generatePosition ( a ) ; this . positionAbs = this . _convertPositionTo ( "absolute" ) ; if ( ! b ) { b = this . _uiHash ( ) ; if ( this . _trigger ( "drag" , a , b ) === false ) { this . _mouseUp ( { } ) ; return false } this . position = b . position } if ( ! this . options . axis || this . options . axis != "y" ) this . helper [ 0 ] . style . left = this . position . left + "px" ; if ( ! this . options . axis || this . options . axis != "x" ) this . helper [ 0 ] . style . top = this . position . top + "px" ; d . ui . ddmanager && d . ui . ddmanager . drag ( this , a ) ; return false } , _mouseStop : function ( a ) { var b =
false ; if ( d . ui . ddmanager && ! this . options . dropBehaviour ) b = d . ui . ddmanager . drop ( this , a ) ; if ( this . dropped ) { b = this . dropped ; this . dropped = false } if ( ( ! this . element [ 0 ] || ! this . element [ 0 ] . parentNode ) && this . options . helper == "original" ) return false ; if ( this . options . revert == "invalid" && ! b || this . options . revert == "valid" && b || this . options . revert === true || d . isFunction ( this . options . revert ) && this . options . revert . call ( this . element , b ) ) { var c = this ; d ( this . helper ) . animate ( this . originalPosition , parseInt ( this . options . revertDuration ,
10 ) , function ( ) { c . _trigger ( "stop" , a ) !== false && c . _clear ( ) } ) } else this . _trigger ( "stop" , a ) !== false && this . _clear ( ) ; return false } , _mouseUp : function ( a ) { this . options . iframeFix === true && d ( "div.ui-draggable-iframeFix" ) . each ( function ( ) { this . parentNode . removeChild ( this ) } ) ; d . ui . ddmanager && d . ui . ddmanager . dragStop ( this , a ) ; return d . ui . mouse . prototype . _mouseUp . call ( this , a ) } , cancel : function ( ) { this . helper . is ( ".ui-draggable-dragging" ) ? this . _mouseUp ( { } ) : this . _clear ( ) ; return this } , _getHandle : function ( a ) { var b = ! this . options . handle ||
! d ( this . options . handle , this . element ) . length ? true : false ; d ( this . options . handle , this . element ) . find ( "*" ) . andSelf ( ) . each ( function ( ) { if ( this == a . target ) b = true } ) ; return b } , _createHelper : function ( a ) { var b = this . options ; a = d . isFunction ( b . helper ) ? d ( b . helper . apply ( this . element [ 0 ] , [ a ] ) ) : b . helper == "clone" ? this . element . clone ( ) . removeAttr ( "id" ) : this . element ; a . parents ( "body" ) . length || a . appendTo ( b . appendTo == "parent" ? this . element [ 0 ] . parentNode : b . appendTo ) ; a [ 0 ] != this . element [ 0 ] && ! /(fixed|absolute)/ . test ( a . css ( "position" ) ) &&
a . css ( "position" , "absolute" ) ; return a } , _adjustOffsetFromHelper : function ( a ) { if ( typeof a == "string" ) a = a . split ( " " ) ; if ( d . isArray ( a ) ) a = { left : + a [ 0 ] , top : + a [ 1 ] || 0 } ; if ( "left" in a ) this . offset . click . left = a . left + this . margins . left ; if ( "right" in a ) this . offset . click . left = this . helperProportions . width - a . right + this . margins . left ; if ( "top" in a ) this . offset . click . top = a . top + this . margins . top ; if ( "bottom" in a ) this . offset . click . top = this . helperProportions . height - a . bottom + this . margins . top } , _getParentOffset : function ( ) { this . offsetParent =
this . helper . offsetParent ( ) ; var a = this . offsetParent . offset ( ) ; if ( this . cssPosition == "absolute" && this . scrollParent [ 0 ] != document && d . ui . contains ( this . scrollParent [ 0 ] , this . offsetParent [ 0 ] ) ) { a . left += this . scrollParent . scrollLeft ( ) ; a . top += this . scrollParent . scrollTop ( ) } if ( this . offsetParent [ 0 ] == document . body || this . offsetParent [ 0 ] . tagName && this . offsetParent [ 0 ] . tagName . toLowerCase ( ) == "html" && d . browser . msie ) a = { top : 0 , left : 0 } ; return { top : a . top + ( parseInt ( this . offsetParent . css ( "borderTopWidth" ) , 10 ) || 0 ) , left : a . left + ( parseInt ( this . offsetParent . css ( "borderLeftWidth" ) ,
10 ) || 0 ) } } , _getRelativeOffset : function ( ) { if ( this . cssPosition == "relative" ) { var a = this . element . position ( ) ; return { top : a . top - ( parseInt ( this . helper . css ( "top" ) , 10 ) || 0 ) + this . scrollParent . scrollTop ( ) , left : a . left - ( parseInt ( this . helper . css ( "left" ) , 10 ) || 0 ) + this . scrollParent . scrollLeft ( ) } } else return { top : 0 , left : 0 } } , _cacheMargins : function ( ) { this . margins = { left : parseInt ( this . element . css ( "marginLeft" ) , 10 ) || 0 , top : parseInt ( this . element . css ( "marginTop" ) , 10 ) || 0 , right : parseInt ( this . element . css ( "marginRight" ) , 10 ) || 0 , bottom : parseInt ( this . element . css ( "marginBottom" ) ,
10 ) || 0 } } , _cacheHelperProportions : function ( ) { this . helperProportions = { width : this . helper . outerWidth ( ) , height : this . helper . outerHeight ( ) } } , _setContainment : function ( ) { var a = this . options ; if ( a . containment == "parent" ) a . containment = this . helper [ 0 ] . parentNode ; if ( a . containment == "document" || a . containment == "window" ) this . containment = [ a . containment == "document" ? 0 : d ( window ) . scrollLeft ( ) - this . offset . relative . left - this . offset . parent . left , a . containment == "document" ? 0 : d ( window ) . scrollTop ( ) - this . offset . relative . top - this . offset . parent . top ,
( a . containment == "document" ? 0 : d ( window ) . scrollLeft ( ) ) + d ( a . containment == "document" ? document : window ) . width ( ) - this . helperProportions . width - this . margins . left , ( a . containment == "document" ? 0 : d ( window ) . scrollTop ( ) ) + ( d ( a . containment == "document" ? document : window ) . height ( ) || document . body . parentNode . scrollHeight ) - this . helperProportions . height - this . margins . top ] ; if ( ! /^(document|window|parent)$/ . test ( a . containment ) && a . containment . constructor != Array ) { a = d ( a . containment ) ; var b = a [ 0 ] ; if ( b ) { a . offset ( ) ; var c = d ( b ) . css ( "overflow" ) !=
"hidden" ; this . containment = [ ( parseInt ( d ( b ) . css ( "borderLeftWidth" ) , 10 ) || 0 ) + ( parseInt ( d ( b ) . css ( "paddingLeft" ) , 10 ) || 0 ) , ( parseInt ( d ( b ) . css ( "borderTopWidth" ) , 10 ) || 0 ) + ( parseInt ( d ( b ) . css ( "paddingTop" ) , 10 ) || 0 ) , ( c ? Math . max ( b . scrollWidth , b . offsetWidth ) : b . offsetWidth ) - ( parseInt ( d ( b ) . css ( "borderLeftWidth" ) , 10 ) || 0 ) - ( parseInt ( d ( b ) . css ( "paddingRight" ) , 10 ) || 0 ) - this . helperProportions . width - this . margins . left - this . margins . right , ( c ? Math . max ( b . scrollHeight , b . offsetHeight ) : b . offsetHeight ) - ( parseInt ( d ( b ) . css ( "borderTopWidth" ) ,
10 ) || 0 ) - ( parseInt ( d ( b ) . css ( "paddingBottom" ) , 10 ) || 0 ) - this . helperProportions . height - this . margins . top - this . margins . bottom ] ; this . relative _container = a } } else if ( a . containment . constructor == Array ) this . containment = a . containment } , _convertPositionTo : function ( a , b ) { if ( ! b ) b = this . position ; a = a == "absolute" ? 1 : - 1 ; var c = this . cssPosition == "absolute" && ! ( this . scrollParent [ 0 ] != document && d . ui . contains ( this . scrollParent [ 0 ] , this . offsetParent [ 0 ] ) ) ? this . offsetParent : this . scrollParent , f = /(html|body)/i . test ( c [ 0 ] . tagName ) ; return { top : b . top +
this . offset . relative . top * a + this . offset . parent . top * a - ( d . browser . safari && d . browser . version < 526 && this . cssPosition == "fixed" ? 0 : ( this . cssPosition == "fixed" ? - this . scrollParent . scrollTop ( ) : f ? 0 : c . scrollTop ( ) ) * a ) , left : b . left + this . offset . relative . left * a + this . offset . parent . left * a - ( d . browser . safari && d . browser . version < 526 && this . cssPosition == "fixed" ? 0 : ( this . cssPosition == "fixed" ? - this . scrollParent . scrollLeft ( ) : f ? 0 : c . scrollLeft ( ) ) * a ) } } , _generatePosition : function ( a ) { var b = this . options , c = this . cssPosition == "absolute" &&
! ( this . scrollParent [ 0 ] != document && d . ui . contains ( this . scrollParent [ 0 ] , this . offsetParent [ 0 ] ) ) ? this . offsetParent : this . scrollParent , f = /(html|body)/i . test ( c [ 0 ] . tagName ) , e = a . pageX , h = a . pageY ; if ( this . originalPosition ) { var g ; if ( this . containment ) { if ( this . relative _container ) { g = this . relative _container . offset ( ) ; g = [ this . containment [ 0 ] + g . left , this . containment [ 1 ] + g . top , this . containment [ 2 ] + g . left , this . containment [ 3 ] + g . top ] } else g = this . containment ; if ( a . pageX - this . offset . click . left < g [ 0 ] ) e = g [ 0 ] + this . offset . click . left ;
if ( a . pageY - this . offset . click . top < g [ 1 ] ) h = g [ 1 ] + this . offset . click . top ; if ( a . pageX - this . offset . click . left > g [ 2 ] ) e = g [ 2 ] + this . offset . click . left ; if ( a . pageY - this . offset . click . top > g [ 3 ] ) h = g [ 3 ] + this . offset . click . top } if ( b . grid ) { h = b . grid [ 1 ] ? this . originalPageY + Math . round ( ( h - this . originalPageY ) / b . grid [ 1 ] ) * b . grid [ 1 ] : this . originalPageY ; h = g ? ! ( h - this . offset . click . top < g [ 1 ] || h - this . offset . click . top > g [ 3 ] ) ? h : ! ( h - this . offset . click . top < g [ 1 ] ) ? h - b . grid [ 1 ] : h + b . grid [ 1 ] : h ; e = b . grid [ 0 ] ? this . originalPageX + Math . round ( ( e - this . originalPageX ) /
b . grid [ 0 ] ) * b . grid [ 0 ] : this . originalPageX ; e = g ? ! ( e - this . offset . click . left < g [ 0 ] || e - this . offset . click . left > g [ 2 ] ) ? e : ! ( e - this . offset . click . left < g [ 0 ] ) ? e - b . grid [ 0 ] : e + b . grid [ 0 ] : e } } return { top : h - this . offset . click . top - this . offset . relative . top - this . offset . parent . top + ( d . browser . safari && d . browser . version < 526 && this . cssPosition == "fixed" ? 0 : this . cssPosition == "fixed" ? - this . scrollParent . scrollTop ( ) : f ? 0 : c . scrollTop ( ) ) , left : e - this . offset . click . left - this . offset . relative . left - this . offset . parent . left + ( d . browser . safari && d . browser . version <
526 && this . cssPosition == "fixed" ? 0 : this . cssPosition == "fixed" ? - this . scrollParent . scrollLeft ( ) : f ? 0 : c . scrollLeft ( ) ) } } , _clear : function ( ) { this . helper . removeClass ( "ui-draggable-dragging" ) ; this . helper [ 0 ] != this . element [ 0 ] && ! this . cancelHelperRemoval && this . helper . remove ( ) ; this . helper = null ; this . cancelHelperRemoval = false } , _trigger : function ( a , b , c ) { c = c || this . _uiHash ( ) ; d . ui . plugin . call ( this , a , [ b , c ] ) ; if ( a == "drag" ) this . positionAbs = this . _convertPositionTo ( "absolute" ) ; return d . Widget . prototype . _trigger . call ( this , a , b ,
c ) } , plugins : { } , _uiHash : function ( ) { return { helper : this . helper , position : this . position , originalPosition : this . originalPosition , offset : this . positionAbs } } } ) ; d . extend ( d . ui . draggable , { version : "1.8.14" } ) ; d . ui . plugin . add ( "draggable" , "connectToSortable" , { start : function ( a , b ) { var c = d ( this ) . data ( "draggable" ) , f = c . options , e = d . extend ( { } , b , { item : c . element } ) ; c . sortables = [ ] ; d ( f . connectToSortable ) . each ( function ( ) { var h = d . data ( this , "sortable" ) ; if ( h && ! h . options . disabled ) { c . sortables . push ( { instance : h , shouldRevert : h . options . revert } ) ;
h . refreshPositions ( ) ; h . _trigger ( "activate" , a , e ) } } ) } , stop : function ( a , b ) { var c = d ( this ) . data ( "draggable" ) , f = d . extend ( { } , b , { item : c . element } ) ; d . each ( c . sortables , function ( ) { if ( this . instance . isOver ) { this . instance . isOver = 0 ; c . cancelHelperRemoval = true ; this . instance . cancelHelperRemoval = false ; if ( this . shouldRevert ) this . instance . options . revert = true ; this . instance . _mouseStop ( a ) ; this . instance . options . helper = this . instance . options . _helper ; c . options . helper == "original" && this . instance . currentItem . css ( { top : "auto" , left : "auto" } ) } else { this . instance . cancelHelperRemoval =
false ; this . instance . _trigger ( "deactivate" , a , f ) } } ) } , drag : function ( a , b ) { var c = d ( this ) . data ( "draggable" ) , f = this ; d . each ( c . sortables , function ( ) { this . instance . positionAbs = c . positionAbs ; this . instance . helperProportions = c . helperProportions ; this . instance . offset . click = c . offset . click ; if ( this . instance . _intersectsWith ( this . instance . containerCache ) ) { if ( ! this . instance . isOver ) { this . instance . isOver = 1 ; this . instance . currentItem = d ( f ) . clone ( ) . removeAttr ( "id" ) . appendTo ( this . instance . element ) . data ( "sortable-item" , true ) ;
this . instance . options . _helper = this . instance . options . helper ; this . instance . options . helper = function ( ) { return b . helper [ 0 ] } ; a . target = this . instance . currentItem [ 0 ] ; this . instance . _mouseCapture ( a , true ) ; this . instance . _mouseStart ( a , true , true ) ; this . instance . offset . click . top = c . offset . click . top ; this . instance . offset . click . left = c . offset . click . left ; this . instance . offset . parent . left -= c . offset . parent . left - this . instance . offset . parent . left ; this . instance . offset . parent . top -= c . offset . parent . top - this . instance . offset . parent . top ;
c . _trigger ( "toSortable" , a ) ; c . dropped = this . instance . element ; c . currentItem = c . element ; this . instance . fromOutside = c } this . instance . currentItem && this . instance . _mouseDrag ( a ) } else if ( this . instance . isOver ) { this . instance . isOver = 0 ; this . instance . cancelHelperRemoval = true ; this . instance . options . revert = false ; this . instance . _trigger ( "out" , a , this . instance . _uiHash ( this . instance ) ) ; this . instance . _mouseStop ( a , true ) ; this . instance . options . helper = this . instance . options . _helper ; this . instance . currentItem . remove ( ) ; this . instance . placeholder &&
this . instance . placeholder . remove ( ) ; c . _trigger ( "fromSortable" , a ) ; c . dropped = false } } ) } } ) ; d . ui . plugin . add ( "draggable" , "cursor" , { start : function ( ) { var a = d ( "body" ) , b = d ( this ) . data ( "draggable" ) . options ; if ( a . css ( "cursor" ) ) b . _cursor = a . css ( "cursor" ) ; a . css ( "cursor" , b . cursor ) } , stop : function ( ) { var a = d ( this ) . data ( "draggable" ) . options ; a . _cursor && d ( "body" ) . css ( "cursor" , a . _cursor ) } } ) ; d . ui . plugin . add ( "draggable" , "opacity" , { start : function ( a , b ) { a = d ( b . helper ) ; b = d ( this ) . data ( "draggable" ) . options ; if ( a . css ( "opacity" ) ) b . _opacity =
a . css ( "opacity" ) ; a . css ( "opacity" , b . opacity ) } , stop : function ( a , b ) { a = d ( this ) . data ( "draggable" ) . options ; a . _opacity && d ( b . helper ) . css ( "opacity" , a . _opacity ) } } ) ; d . ui . plugin . add ( "draggable" , "scroll" , { start : function ( ) { var a = d ( this ) . data ( "draggable" ) ; if ( a . scrollParent [ 0 ] != document && a . scrollParent [ 0 ] . tagName != "HTML" ) a . overflowOffset = a . scrollParent . offset ( ) } , drag : function ( a ) { var b = d ( this ) . data ( "draggable" ) , c = b . options , f = false ; if ( b . scrollParent [ 0 ] != document && b . scrollParent [ 0 ] . tagName != "HTML" ) { if ( ! c . axis || c . axis !=
"x" ) if ( b . overflowOffset . top + b . scrollParent [ 0 ] . offsetHeight - a . pageY < c . scrollSensitivity ) b . scrollParent [ 0 ] . scrollTop = f = b . scrollParent [ 0 ] . scrollTop + c . scrollSpeed ; else if ( a . pageY - b . overflowOffset . top < c . scrollSensitivity ) b . scrollParent [ 0 ] . scrollTop = f = b . scrollParent [ 0 ] . scrollTop - c . scrollSpeed ; if ( ! c . axis || c . axis != "y" ) if ( b . overflowOffset . left + b . scrollParent [ 0 ] . offsetWidth - a . pageX < c . scrollSensitivity ) b . scrollParent [ 0 ] . scrollLeft = f = b . scrollParent [ 0 ] . scrollLeft + c . scrollSpeed ; else if ( a . pageX - b . overflowOffset . left <
c . scrollSensitivity ) b . scrollParent [ 0 ] . scrollLeft = f = b . scrollParent [ 0 ] . scrollLeft - c . scrollSpeed } else { if ( ! c . axis || c . axis != "x" ) if ( a . pageY - d ( document ) . scrollTop ( ) < c . scrollSensitivity ) f = d ( document ) . scrollTop ( d ( document ) . scrollTop ( ) - c . scrollSpeed ) ; else if ( d ( window ) . height ( ) - ( a . pageY - d ( document ) . scrollTop ( ) ) < c . scrollSensitivity ) f = d ( document ) . scrollTop ( d ( document ) . scrollTop ( ) + c . scrollSpeed ) ; if ( ! c . axis || c . axis != "y" ) if ( a . pageX - d ( document ) . scrollLeft ( ) < c . scrollSensitivity ) f = d ( document ) . scrollLeft ( d ( document ) . scrollLeft ( ) -
c . scrollSpeed ) ; else if ( d ( window ) . width ( ) - ( a . pageX - d ( document ) . scrollLeft ( ) ) < c . scrollSensitivity ) f = d ( document ) . scrollLeft ( d ( document ) . scrollLeft ( ) + c . scrollSpeed ) } f !== false && d . ui . ddmanager && ! c . dropBehaviour && d . ui . ddmanager . prepareOffsets ( b , a ) } } ) ; d . ui . plugin . add ( "draggable" , "snap" , { start : function ( ) { var a = d ( this ) . data ( "draggable" ) , b = a . options ; a . snapElements = [ ] ; d ( b . snap . constructor != String ? b . snap . items || ":data(draggable)" : b . snap ) . each ( function ( ) { var c = d ( this ) , f = c . offset ( ) ; this != a . element [ 0 ] && a . snapElements . push ( { item : this ,
width : c . outerWidth ( ) , height : c . outerHeight ( ) , top : f . top , left : f . left } ) } ) } , drag : function ( a , b ) { for ( var c = d ( this ) . data ( "draggable" ) , f = c . options , e = f . snapTolerance , h = b . offset . left , g = h + c . helperProportions . width , n = b . offset . top , o = n + c . helperProportions . height , i = c . snapElements . length - 1 ; i >= 0 ; i -- ) { var j = c . snapElements [ i ] . left , l = j + c . snapElements [ i ] . width , k = c . snapElements [ i ] . top , m = k + c . snapElements [ i ] . height ; if ( j - e < h && h < l + e && k - e < n && n < m + e || j - e < h && h < l + e && k - e < o && o < m + e || j - e < g && g < l + e && k - e < n && n < m + e || j - e < g && g < l + e && k - e < o &&
o < m + e ) { if ( f . snapMode != "inner" ) { var p = Math . abs ( k - o ) <= e , q = Math . abs ( m - n ) <= e , r = Math . abs ( j - g ) <= e , s = Math . abs ( l - h ) <= e ; if ( p ) b . position . top = c . _convertPositionTo ( "relative" , { top : k - c . helperProportions . height , left : 0 } ) . top - c . margins . top ; if ( q ) b . position . top = c . _convertPositionTo ( "relative" , { top : m , left : 0 } ) . top - c . margins . top ; if ( r ) b . position . left = c . _convertPositionTo ( "relative" , { top : 0 , left : j - c . helperProportions . width } ) . left - c . margins . left ; if ( s ) b . position . left = c . _convertPositionTo ( "relative" , { top : 0 , left : l } ) . left - c . margins . left } var t =
p || q || r || s ; if ( f . snapMode != "outer" ) { p = Math . abs ( k - n ) <= e ; q = Math . abs ( m - o ) <= e ; r = Math . abs ( j - h ) <= e ; s = Math . abs ( l - g ) <= e ; if ( p ) b . position . top = c . _convertPositionTo ( "relative" , { top : k , left : 0 } ) . top - c . margins . top ; if ( q ) b . position . top = c . _convertPositionTo ( "relative" , { top : m - c . helperProportions . height , left : 0 } ) . top - c . margins . top ; if ( r ) b . position . left = c . _convertPositionTo ( "relative" , { top : 0 , left : j } ) . left - c . margins . left ; if ( s ) b . position . left = c . _convertPositionTo ( "relative" , { top : 0 , left : l - c . helperProportions . width } ) . left - c . margins . left } if ( ! c . snapElements [ i ] . snapping &&
( p || q || r || s || t ) ) c . options . snap . snap && c . options . snap . snap . call ( c . element , a , d . extend ( c . _uiHash ( ) , { snapItem : c . snapElements [ i ] . item } ) ) ; c . snapElements [ i ] . snapping = p || q || r || s || t } else { c . snapElements [ i ] . snapping && c . options . snap . release && c . options . snap . release . call ( c . element , a , d . extend ( c . _uiHash ( ) , { snapItem : c . snapElements [ i ] . item } ) ) ; c . snapElements [ i ] . snapping = false } } } } ) ; d . ui . plugin . add ( "draggable" , "stack" , { start : function ( ) { var a = d ( this ) . data ( "draggable" ) . options ; a = d . makeArray ( d ( a . stack ) ) . sort ( function ( c , f ) { return ( parseInt ( d ( c ) . css ( "zIndex" ) ,
10 ) || 0 ) - ( parseInt ( d ( f ) . css ( "zIndex" ) , 10 ) || 0 ) } ) ; if ( a . length ) { var b = parseInt ( a [ 0 ] . style . zIndex ) || 0 ; d ( a ) . each ( function ( c ) { this . style . zIndex = b + c } ) ; this [ 0 ] . style . zIndex = b + a . length } } } ) ; d . ui . plugin . add ( "draggable" , "zIndex" , { start : function ( a , b ) { a = d ( b . helper ) ; b = d ( this ) . data ( "draggable" ) . options ; if ( a . css ( "zIndex" ) ) b . _zIndex = a . css ( "zIndex" ) ; a . css ( "zIndex" , b . zIndex ) } , stop : function ( a , b ) { a = d ( this ) . data ( "draggable" ) . options ; a . _zIndex && d ( b . helper ) . css ( "zIndex" , a . _zIndex ) } } ) } ) ( jQuery ) ;
; / *
* jQuery UI Droppable 1.8 . 14
*
* Copyright 2011 , 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/Droppables
*
* Depends :
* jquery . ui . core . js
* jquery . ui . widget . js
* jquery . ui . mouse . js
* jquery . ui . draggable . js
* /
( function ( d ) { d . widget ( "ui.droppable" , { widgetEventPrefix : "drop" , options : { accept : "*" , activeClass : false , addClasses : true , greedy : false , hoverClass : false , scope : "default" , tolerance : "intersect" } , _create : function ( ) { var a = this . options , b = a . accept ; this . isover = 0 ; this . isout = 1 ; this . accept = d . isFunction ( b ) ? b : function ( c ) { return c . is ( b ) } ; this . proportions = { width : this . element [ 0 ] . offsetWidth , height : this . element [ 0 ] . offsetHeight } ; d . ui . ddmanager . droppables [ a . scope ] = d . ui . ddmanager . droppables [ a . scope ] || [ ] ; d . ui . ddmanager . droppables [ a . scope ] . push ( this ) ;
a . addClasses && this . element . addClass ( "ui-droppable" ) } , destroy : function ( ) { for ( var a = d . ui . ddmanager . droppables [ this . options . scope ] , b = 0 ; b < a . length ; b ++ ) a [ b ] == this && a . splice ( b , 1 ) ; this . element . removeClass ( "ui-droppable ui-droppable-disabled" ) . removeData ( "droppable" ) . unbind ( ".droppable" ) ; return this } , _setOption : function ( a , b ) { if ( a == "accept" ) this . accept = d . isFunction ( b ) ? b : function ( c ) { return c . is ( b ) } ; d . Widget . prototype . _setOption . apply ( this , arguments ) } , _activate : function ( a ) { var b = d . ui . ddmanager . current ; this . options . activeClass &&
this . element . addClass ( this . options . activeClass ) ; b && this . _trigger ( "activate" , a , this . ui ( b ) ) } , _deactivate : function ( a ) { var b = d . ui . ddmanager . current ; this . options . activeClass && this . element . removeClass ( this . options . activeClass ) ; b && this . _trigger ( "deactivate" , a , this . ui ( b ) ) } , _over : function ( a ) { var b = d . ui . ddmanager . current ; if ( ! ( ! b || ( b . currentItem || b . element ) [ 0 ] == this . element [ 0 ] ) ) if ( this . accept . call ( this . element [ 0 ] , b . currentItem || b . element ) ) { this . options . hoverClass && this . element . addClass ( this . options . hoverClass ) ;
this . _trigger ( "over" , a , this . ui ( b ) ) } } , _out : function ( a ) { var b = d . ui . ddmanager . current ; if ( ! ( ! b || ( b . currentItem || b . element ) [ 0 ] == this . element [ 0 ] ) ) if ( this . accept . call ( this . element [ 0 ] , b . currentItem || b . element ) ) { this . options . hoverClass && this . element . removeClass ( this . options . hoverClass ) ; this . _trigger ( "out" , a , this . ui ( b ) ) } } , _drop : function ( a , b ) { var c = b || d . ui . ddmanager . current ; if ( ! c || ( c . currentItem || c . element ) [ 0 ] == this . element [ 0 ] ) return false ; var e = false ; this . element . find ( ":data(droppable)" ) . not ( ".ui-draggable-dragging" ) . each ( function ( ) { var g =
d . data ( this , "droppable" ) ; if ( g . options . greedy && ! g . options . disabled && g . options . scope == c . options . scope && g . accept . call ( g . element [ 0 ] , c . currentItem || c . element ) && d . ui . intersect ( c , d . extend ( g , { offset : g . element . offset ( ) } ) , g . options . tolerance ) ) { e = true ; return false } } ) ; if ( e ) return false ; if ( this . accept . call ( this . element [ 0 ] , c . currentItem || c . element ) ) { this . options . activeClass && this . element . removeClass ( this . options . activeClass ) ; this . options . hoverClass && this . element . removeClass ( this . options . hoverClass ) ; this . _trigger ( "drop" ,
a , this . ui ( c ) ) ; return this . element } return false } , ui : function ( a ) { return { draggable : a . currentItem || a . element , helper : a . helper , position : a . position , offset : a . positionAbs } } } ) ; d . extend ( d . ui . droppable , { version : "1.8.14" } ) ; d . ui . intersect = function ( a , b , c ) { if ( ! b . offset ) return false ; var e = ( a . positionAbs || a . position . absolute ) . left , g = e + a . helperProportions . width , f = ( a . positionAbs || a . position . absolute ) . top , h = f + a . helperProportions . height , i = b . offset . left , k = i + b . proportions . width , j = b . offset . top , l = j + b . proportions . height ;
switch ( c ) { case "fit" : return i <= e && g <= k && j <= f && h <= l ; case "intersect" : return i < e + a . helperProportions . width / 2 && g - a . helperProportions . width / 2 < k && j < f + a . helperProportions . height / 2 && h - a . helperProportions . height / 2 < l ; case "pointer" : return d . ui . isOver ( ( a . positionAbs || a . position . absolute ) . top + ( a . clickOffset || a . offset . click ) . top , ( a . positionAbs || a . position . absolute ) . left + ( a . clickOffset || a . offset . click ) . left , j , i , b . proportions . height , b . proportions . width ) ; case "touch" : return ( f >= j && f <= l || h >= j && h <= l || f < j && h > l ) && ( e >=
i && e <= k || g >= i && g <= k || e < i && g > k ) ; default : return false } } ; d . ui . ddmanager = { current : null , droppables : { "default" : [ ] } , prepareOffsets : function ( a , b ) { var c = d . ui . ddmanager . droppables [ a . options . scope ] || [ ] , e = b ? b . type : null , g = ( a . currentItem || a . element ) . find ( ":data(droppable)" ) . andSelf ( ) , f = 0 ; a : for ( ; f < c . length ; f ++ ) if ( ! ( c [ f ] . options . disabled || a && ! c [ f ] . accept . call ( c [ f ] . element [ 0 ] , a . currentItem || a . element ) ) ) { for ( var h = 0 ; h < g . length ; h ++ ) if ( g [ h ] == c [ f ] . element [ 0 ] ) { c [ f ] . proportions . height = 0 ; continue a } c [ f ] . visible = c [ f ] . element . css ( "display" ) !=
"none" ; if ( c [ f ] . visible ) { e == "mousedown" && c [ f ] . _activate . call ( c [ f ] , b ) ; c [ f ] . offset = c [ f ] . element . offset ( ) ; c [ f ] . proportions = { width : c [ f ] . element [ 0 ] . offsetWidth , height : c [ f ] . element [ 0 ] . offsetHeight } } } } , 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 } , dragStart : function ( a , b ) { a . element . parentsUntil ( "body" ) . bind ( "scroll.droppable" , function ( ) { a . options . refreshPositions || d . ui . ddmanager . prepareOffsets ( a , b ) } ) } , 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 ) } } } } ) } , dragStop : function ( a , b ) { a . element . parentsUntil ( "body" ) . unbind ( "scroll.droppable" ) ;
a . options . refreshPositions || d . ui . ddmanager . prepareOffsets ( a , b ) } } } ) ( jQuery ) ;
2011-07-15 22:09:04 -07:00
; / *
* jQuery UI Autocomplete 1.8 . 14
*
* Copyright 2011 , 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/Autocomplete
*
* Depends :
* jquery . ui . core . js
* jquery . ui . widget . js
* jquery . ui . position . js
* /
( function ( d ) { var e = 0 ; d . widget ( "ui.autocomplete" , { options : { appendTo : "body" , autoFocus : false , delay : 300 , minLength : 1 , position : { my : "left top" , at : "left bottom" , collision : "none" } , source : null } , pending : 0 , _create : function ( ) { var a = this , b = this . element [ 0 ] . ownerDocument , g ; this . element . addClass ( "ui-autocomplete-input" ) . attr ( "autocomplete" , "off" ) . attr ( { role : "textbox" , "aria-autocomplete" : "list" , "aria-haspopup" : "true" } ) . bind ( "keydown.autocomplete" , function ( c ) { if ( ! ( a . options . disabled || a . element . attr ( "readonly" ) ) ) { g =
false ; var f = d . ui . keyCode ; switch ( c . keyCode ) { c ase f . PAGE _UP : a . _move ( "previousPage" , c ) ; break ; case f . PAGE _DOWN : a . _move ( "nextPage" , c ) ; break ; case f . UP : a . _move ( "previous" , c ) ; c . preventDefault ( ) ; break ; case f . DOWN : a . _move ( "next" , c ) ; c . preventDefault ( ) ; break ; case f . ENTER : case f . NUMPAD _ENTER : if ( a . menu . active ) { g = true ; c . preventDefault ( ) } case f . TAB : if ( ! a . menu . active ) return ; a . menu . select ( c ) ; break ; case f . ESCAPE : a . element . val ( a . term ) ; a . close ( c ) ; break ; default : clearTimeout ( a . searching ) ; a . searching = setTimeout ( function ( ) { if ( a . term !=
a . element . val ( ) ) { a . selectedItem = null ; a . search ( null , c ) } } , a . options . delay ) ; break } } } ) . bind ( "keypress.autocomplete" , function ( c ) { if ( g ) { g = false ; c . preventDefault ( ) } } ) . bind ( "focus.autocomplete" , function ( ) { if ( ! a . options . disabled ) { a . selectedItem = null ; a . previous = a . element . val ( ) } } ) . bind ( "blur.autocomplete" , function ( c ) { if ( ! a . options . disabled ) { clearTimeout ( a . searching ) ; a . closing = setTimeout ( function ( ) { a . close ( c ) ; a . _change ( c ) } , 150 ) } } ) ; this . _initSource ( ) ; this . response = function ( ) { return a . _response . apply ( a , arguments ) } ;
this . menu = d ( "<ul></ul>" ) . addClass ( "ui-autocomplete" ) . appendTo ( d ( this . options . appendTo || "body" , b ) [ 0 ] ) . mousedown ( function ( c ) { var f = a . menu . element [ 0 ] ; d ( c . target ) . closest ( ".ui-menu-item" ) . length || setTimeout ( function ( ) { d ( document ) . one ( "mousedown" , function ( h ) { h . target !== a . element [ 0 ] && h . target !== f && ! d . ui . contains ( f , h . target ) && a . close ( ) } ) } , 1 ) ; setTimeout ( function ( ) { clearTimeout ( a . closing ) } , 13 ) } ) . menu ( { focus : function ( c , f ) { f = f . item . data ( "item.autocomplete" ) ; false !== a . _trigger ( "focus" , c , { item : f } ) && /^key/ . test ( c . originalEvent . type ) &&
a . element . val ( f . value ) } , selected : function ( c , f ) { var h = f . item . data ( "item.autocomplete" ) , i = a . previous ; if ( a . element [ 0 ] !== b . activeElement ) { a . element . focus ( ) ; a . previous = i ; setTimeout ( function ( ) { a . previous = i ; a . selectedItem = h } , 1 ) } false !== a . _trigger ( "select" , c , { item : h } ) && a . element . val ( h . value ) ; a . term = a . element . val ( ) ; a . close ( c ) ; a . selectedItem = h } , blur : function ( ) { a . menu . element . is ( ":visible" ) && a . element . val ( ) !== a . term && a . element . val ( a . term ) } } ) . zIndex ( this . element . zIndex ( ) + 1 ) . css ( { top : 0 , left : 0 } ) . hide ( ) . data ( "menu" ) ;
d . fn . bgiframe && this . menu . element . bgiframe ( ) } , destroy : function ( ) { this . element . removeClass ( "ui-autocomplete-input" ) . removeAttr ( "autocomplete" ) . removeAttr ( "role" ) . removeAttr ( "aria-autocomplete" ) . removeAttr ( "aria-haspopup" ) ; this . menu . element . remove ( ) ; d . Widget . prototype . destroy . call ( this ) } , _setOption : function ( a , b ) { d . Widget . prototype . _setOption . apply ( this , arguments ) ; a === "source" && this . _initSource ( ) ; if ( a === "appendTo" ) this . menu . element . appendTo ( d ( b || "body" , this . element [ 0 ] . ownerDocument ) [ 0 ] ) ; a === "disabled" &&
b && this . xhr && this . xhr . abort ( ) } , _initSource : function ( ) { var a = this , b , g ; if ( d . isArray ( this . options . source ) ) { b = this . options . source ; this . source = function ( c , f ) { f ( d . ui . autocomplete . filter ( b , c . term ) ) } } else if ( typeof this . options . source === "string" ) { g = this . options . source ; this . source = function ( c , f ) { a . xhr && a . xhr . abort ( ) ; a . xhr = d . ajax ( { url : g , data : c , dataType : "json" , autocompleteRequest : ++ e , success : function ( h ) { this . autocompleteRequest === e && f ( h ) } , error : function ( ) { this . autocompleteRequest === e && f ( [ ] ) } } ) } } else this . source =
this . options . source } , search : function ( a , b ) { a = a != null ? a : this . element . val ( ) ; this . term = this . element . val ( ) ; if ( a . length < this . options . minLength ) return this . close ( b ) ; clearTimeout ( this . closing ) ; if ( this . _trigger ( "search" , b ) !== false ) return this . _search ( a ) } , _search : function ( a ) { this . pending ++ ; this . element . addClass ( "ui-autocomplete-loading" ) ; this . source ( { term : a } , this . response ) } , _response : function ( a ) { if ( ! this . options . disabled && a && a . length ) { a = this . _normalize ( a ) ; this . _suggest ( a ) ; this . _trigger ( "open" ) } else this . close ( ) ;
this . pending -- ; this . pending || this . element . removeClass ( "ui-autocomplete-loading" ) } , close : function ( a ) { clearTimeout ( this . closing ) ; if ( this . menu . element . is ( ":visible" ) ) { this . menu . element . hide ( ) ; this . menu . deactivate ( ) ; this . _trigger ( "close" , a ) } } , _change : function ( a ) { this . previous !== this . element . val ( ) && this . _trigger ( "change" , a , { item : this . selectedItem } ) } , _normalize : function ( a ) { if ( a . length && a [ 0 ] . label && a [ 0 ] . value ) return a ; return d . map ( a , function ( b ) { if ( typeof b === "string" ) return { label : b , value : b } ; return d . extend ( { label : b . label ||
b . value , value : b . value || b . label } , b ) } ) } , _suggest : function ( a ) { var b = this . menu . element . empty ( ) . zIndex ( this . element . zIndex ( ) + 1 ) ; this . _renderMenu ( b , a ) ; this . menu . deactivate ( ) ; this . menu . refresh ( ) ; b . show ( ) ; this . _resizeMenu ( ) ; b . position ( d . extend ( { of : this . element } , this . options . position ) ) ; this . options . autoFocus && this . menu . next ( new d . Event ( "mouseover" ) ) } , _resizeMenu : function ( ) { var a = this . menu . element ; a . outerWidth ( Math . max ( a . width ( "" ) . outerWidth ( ) , this . element . outerWidth ( ) ) ) } , _renderMenu : function ( a , b ) { var g = this ;
d . each ( b , function ( c , f ) { g . _renderItem ( a , f ) } ) } , _renderItem : function ( a , b ) { return d ( "<li></li>" ) . data ( "item.autocomplete" , b ) . append ( d ( "<a></a>" ) . text ( b . label ) ) . appendTo ( a ) } , _move : function ( a , b ) { if ( this . menu . element . is ( ":visible" ) ) if ( this . menu . first ( ) && /^previous/ . test ( a ) || this . menu . last ( ) && /^next/ . test ( a ) ) { this . element . val ( this . term ) ; this . menu . deactivate ( ) } else this . menu [ a ] ( b ) ; else this . search ( null , b ) } , widget : function ( ) { return this . menu . element } } ) ; d . extend ( d . ui . autocomplete , { escapeRegex : function ( a ) { return a . replace ( /[-[\]{}()*+?.,\\^$|#\s]/g ,
"\\$&" ) } , filter : function ( a , b ) { var g = new RegExp ( d . ui . autocomplete . escapeRegex ( b ) , "i" ) ; return d . grep ( a , function ( c ) { return g . test ( c . label || c . value || c ) } ) } } ) } ) ( jQuery ) ;
( function ( d ) { d . widget ( "ui.menu" , { _create : function ( ) { var e = this ; this . element . addClass ( "ui-menu ui-widget ui-widget-content ui-corner-all" ) . attr ( { role : "listbox" , "aria-activedescendant" : "ui-active-menuitem" } ) . click ( function ( a ) { if ( d ( a . target ) . closest ( ".ui-menu-item a" ) . length ) { a . preventDefault ( ) ; e . select ( a ) } } ) ; this . refresh ( ) } , refresh : function ( ) { var e = this ; this . element . children ( "li:not(.ui-menu-item):has(a)" ) . addClass ( "ui-menu-item" ) . attr ( "role" , "menuitem" ) . children ( "a" ) . addClass ( "ui-corner-all" ) . attr ( "tabindex" ,
- 1 ) . mouseenter ( function ( a ) { e . activate ( a , d ( this ) . parent ( ) ) } ) . mouseleave ( function ( ) { e . deactivate ( ) } ) } , activate : function ( e , a ) { this . deactivate ( ) ; if ( this . hasScroll ( ) ) { var b = a . offset ( ) . top - this . element . offset ( ) . top , g = this . element . scrollTop ( ) , c = this . element . height ( ) ; if ( b < 0 ) this . element . scrollTop ( g + b ) ; else b >= c && this . element . scrollTop ( g + b - c + a . height ( ) ) } this . active = a . eq ( 0 ) . children ( "a" ) . addClass ( "ui-state-hover" ) . attr ( "id" , "ui-active-menuitem" ) . end ( ) ; this . _trigger ( "focus" , e , { item : a } ) } , deactivate : function ( ) { if ( this . active ) { this . active . children ( "a" ) . removeClass ( "ui-state-hover" ) . removeAttr ( "id" ) ;
this . _trigger ( "blur" ) ; this . active = null } } , next : function ( e ) { this . move ( "next" , ".ui-menu-item:first" , e ) } , previous : function ( e ) { this . move ( "prev" , ".ui-menu-item:last" , e ) } , first : function ( ) { return this . active && ! this . active . prevAll ( ".ui-menu-item" ) . length } , last : function ( ) { return this . active && ! this . active . nextAll ( ".ui-menu-item" ) . length } , move : function ( e , a , b ) { if ( this . active ) { e = this . active [ e + "All" ] ( ".ui-menu-item" ) . eq ( 0 ) ; e . length ? this . activate ( b , e ) : this . activate ( b , this . element . children ( a ) ) } else this . activate ( b ,
this . element . children ( a ) ) } , nextPage : function ( e ) { if ( this . hasScroll ( ) ) if ( ! this . active || this . last ( ) ) this . activate ( e , this . element . children ( ".ui-menu-item:first" ) ) ; else { var a = this . active . offset ( ) . top , b = this . element . height ( ) , g = this . element . children ( ".ui-menu-item" ) . filter ( function ( ) { var c = d ( this ) . offset ( ) . top - a - b + d ( this ) . height ( ) ; return c < 10 && c > - 10 } ) ; g . length || ( g = this . element . children ( ".ui-menu-item:last" ) ) ; this . activate ( e , g ) } else this . activate ( e , this . element . children ( ".ui-menu-item" ) . filter ( ! this . active ||
this . last ( ) ? ":first" : ":last" ) ) } , previousPage : function ( e ) { if ( this . hasScroll ( ) ) if ( ! this . active || this . first ( ) ) this . activate ( e , this . element . children ( ".ui-menu-item:last" ) ) ; else { var a = this . active . offset ( ) . top , b = this . element . height ( ) ; result = this . element . children ( ".ui-menu-item" ) . filter ( function ( ) { var g = d ( this ) . offset ( ) . top - a + b - d ( this ) . height ( ) ; return g < 10 && g > - 10 } ) ; result . length || ( result = this . element . children ( ".ui-menu-item:first" ) ) ; this . activate ( e , result ) } else this . activate ( e , this . element . children ( ".ui-menu-item" ) . filter ( ! this . active ||
this . first ( ) ? ":last" : ":first" ) ) } , hasScroll : function ( ) { return this . element . height ( ) < this . element [ d . fn . prop ? "prop" : "attr" ] ( "scrollHeight" ) } , select : function ( e ) { this . _trigger ( "selected" , e , { item : this . active } ) } } ) } ) ( jQuery ) ;
;