From a432a38d3dcca1980ff8f378abe11870a39aa18c Mon Sep 17 00:00:00 2001 From: houseofyin Date: Mon, 4 Mar 2013 15:19:35 -0500 Subject: [PATCH 001/574] 23 Initial attempt a this feature along with a demo page --- src/mousetracker.js | 56 +++++++-- test/demo.html | 296 ++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 342 insertions(+), 10 deletions(-) create mode 100644 test/demo.html diff --git a/src/mousetracker.js b/src/mousetracker.js index 397fd19f..58d2e80e 100644 --- a/src/mousetracker.js +++ b/src/mousetracker.js @@ -176,6 +176,8 @@ * initiated inside the tracked element, otherwise false. * @param {Boolean} buttonDownAny * Was the button down anywhere in the screen during the event. + * @param {MouseEvent} event + * The original mouse event that triggered this handler */ enterHandler: function(){}, @@ -192,6 +194,8 @@ * initiated inside the tracked element, otherwise false. * @param {Boolean} buttonDownAny * Was the button down anywhere in the screen during the event. + * @param {MouseEvent} event + * The original mouse event that triggered this handler */ exitHandler: function(){}, @@ -203,6 +207,8 @@ * A reference to the tracker instance. * @param {OpenSeadragon.Point} position * The poistion of the event on the screen. + * @param {MouseEvent} event + * The original mouse event that triggered this handler */ pressHandler: function(){}, @@ -220,6 +226,8 @@ * @param {Boolean} insideElementRelease * Was the mouse still inside the tracked element when the button * was released. + * @param {MouseEvent} event + * The original mouse event that triggered this handler */ releaseHandler: function(){}, @@ -235,6 +243,8 @@ * The scroll delta for the event. * @param {Boolean} shift * Was the shift key being pressed during this event? + * @param {MouseEvent} event + * The original mouse event that triggered this handler */ scrollHandler: function(){}, @@ -251,6 +261,8 @@ * both pased. Useful for ignoring events. * @param {Boolean} shift * Was the shift key being pressed during this event? + * @param {MouseEvent} event + * The original mouse event that triggered this handler */ clickHandler: function(){}, @@ -267,6 +279,8 @@ * end drag. Usefule for ignoring or weighting the events. * @param {Boolean} shift * Was the shift key being pressed during this event? + * @param {Event} event + * The original mouse or wheel event that triggered this handler */ dragHandler: function(){}, @@ -280,6 +294,8 @@ * The key code that was pressed. * @param {Boolean} shift * Was the shift key being pressed during this event? + * @param {MouseEvent} event + * The original mouse event that triggered this handler */ keyHandler: function(){}, @@ -521,7 +537,8 @@ propagate = tracker.keyHandler( tracker, event.keyCode ? event.keyCode : event.charCode, - event.shiftKey + event.shiftKey, + event ); if( !propagate ){ $.cancelEvent( event ); @@ -568,7 +585,8 @@ tracker, getMouseRelative( event, tracker.element ), delegate.buttonDown, - IS_BUTTON_DOWN + IS_BUTTON_DOWN, + event ); if( propagate === false ){ $.cancelEvent( event ); @@ -615,7 +633,8 @@ tracker, getMouseRelative( event, tracker.element ), delegate.buttonDown, - IS_BUTTON_DOWN + IS_BUTTON_DOWN, + event ); if( propagate === false ){ @@ -648,7 +667,8 @@ if ( tracker.pressHandler ) { propagate = tracker.pressHandler( tracker, - getMouseRelative( event, tracker.element ) + getMouseRelative( event, tracker.element ), + event ); if( propagate === false ){ $.cancelEvent( event ); @@ -683,7 +703,16 @@ event.targetTouches.length == 1 && event.changedTouches.length == 1 ){ - THIS[ tracker.hash ].lastTouch = event.touches[ 0 ]; + THIS[ tracker.hash ].lastTouch = event.touches[ 0 ]; + +//DWK So onMouseOver and onMouseDown are both expecting an event for the second +//DWK parameter. This is passing a Touch point instead. Although a Touch +//DWK object is very similar to an event object that are not identical. +//DWK not sure if this is a problem. May need to include a comment in the +//DWK API notes, since this object as passed here is getting passed along. +//DWK Alternately, should there be some way to still pass the original +//DWK touch event along. + onMouseOver( tracker, event.changedTouches[ 0 ] ); onMouseDown( tracker, event.touches[ 0 ] ); } @@ -731,7 +760,8 @@ tracker, getMouseRelative( event, tracker.element ), insideElementPress, - insideElementRelease + insideElementRelease, + event ); if( propagate === false ){ $.cancelEvent( event ); @@ -755,6 +785,7 @@ event.changedTouches.length == 1 ){ THIS[ tracker.hash ].lastTouch = null; +//DWK See comment in onTouchStart onMouseUp( tracker, event.changedTouches[ 0 ] ); onMouseOut( tracker, event.changedTouches[ 0 ] ); } @@ -863,7 +894,8 @@ tracker, getMouseRelative( event, tracker.element ), nDelta, - event.shiftKey + event.shiftKey, + event ); if( propagate === false ){ $.cancelEvent( event ); @@ -897,7 +929,8 @@ tracker, getMouseRelative( event, tracker.element ), quick, - event.shiftKey + event.shiftKey, + event ); if( propagate === false ){ $.cancelEvent( event ); @@ -927,7 +960,8 @@ tracker, getMouseRelative( event, tracker.element ), delta, - event.shiftKey + event.shiftKey, + event ); if( propagate === false ){ $.cancelEvent( event ); @@ -949,7 +983,7 @@ event.targetTouches.length === 1 && event.changedTouches.length === 1 && THIS[ tracker.hash ].lastTouch.identifier === event.touches[ 0 ].identifier){ - +//DWK See comment in onTouchStart onMouseMove( tracker, event.touches[ 0 ] ); } else if ( event.touches.length === 2 ){ @@ -964,6 +998,8 @@ if( Math.abs( THIS[ tracker.hash ].lastPinchDelta - pinchDelta ) > 75 ){ //$.console.debug( "pinch delta : " + pinchDelta + " | previous : " + THIS[ tracker.hash ].lastPinchDelta); +//DWK This is a variant on the onTouchStart comment, but instead of a Touch +//DWK object, a generic object with a handful of properties is passed onMouseWheelSpin( tracker, { shift: false, pageX: THIS[ tracker.hash ].pinchMidpoint.x, diff --git a/test/demo.html b/test/demo.html new file mode 100644 index 00000000..e38b9b51 --- /dev/null +++ b/test/demo.html @@ -0,0 +1,296 @@ + + + OpenSeadragon Expose Origina Event Demo + + + + +
+
+ Simple demo page to verify that event handlers pass along the original source event +
+
+
+ +
+
+ + + + From 6285a779f393a72463ff80789a535cc9922500eb Mon Sep 17 00:00:00 2001 From: thatcher Date: Wed, 6 Mar 2013 17:34:12 -0500 Subject: [PATCH 002/574] cleaning up event names, reducing demo cases to just addHandler interface, normalizing event data to express more idiomatic javascript pattern of passing object instead of invoking callback with positional parameters --- src/button.js | 89 ++++++++++--- src/viewer.js | 49 ++++--- test/demo.html | 356 +++++++++++++++++-------------------------------- 3 files changed, 218 insertions(+), 276 deletions(-) diff --git a/src/button.js b/src/button.js index 4b98faf3..cec5d1f2 100644 --- a/src/button.js +++ b/src/button.js @@ -141,41 +141,81 @@ $.Button = function( options ) { clickTimeThreshold: this.clickTimeThreshold, clickDistThreshold: this.clickDistThreshold, - enterHandler: function( tracker, position, buttonDownElement, buttonDownAny ) { + enterHandler: function( tracker, position, buttonDownElement, buttonDownAny, event ) { if ( buttonDownElement ) { inTo( _this, $.ButtonState.DOWN ); - _this.raiseEvent( "onEnter", _this ); + _this.raiseEvent( "enter", { + button: _this, + tracker: tracker, + position: position, + buttonDownElement: buttonDownElement, + buttonDownAny: buttonDownAny, + originalEvent: event + }); } else if ( !buttonDownAny ) { inTo( _this, $.ButtonState.HOVER ); } }, - focusHandler: function( tracker, position, buttonDownElement, buttonDownAny ) { - this.enterHandler( tracker, position, buttonDownElement, buttonDownAny ); - _this.raiseEvent( "onFocus", _this ); + focusHandler: function( tracker, position, buttonDownElement, buttonDownAny, event ) { + this.enterHandler( tracker, position, buttonDownElement, buttonDownAny, event ); + _this.raiseEvent( "focus", { + button: _this, + tracker: tracker, + position: position, + buttonDownElement: buttonDownElement, + buttonDownAny: buttonDownAny, + originalEvent: event + }); }, - exitHandler: function( tracker, position, buttonDownElement, buttonDownAny ) { + exitHandler: function( tracker, position, buttonDownElement, buttonDownAny, event ) { outTo( _this, $.ButtonState.GROUP ); if ( buttonDownElement ) { - _this.raiseEvent( "onExit", _this ); + _this.raiseEvent( "exit", { + button: _this, + tracker: tracker, + position: position, + buttonDownElement: buttonDownElement, + buttonDownAny: buttonDownAny, + originalEvent: event + }); } }, - blurHandler: function( tracker, position, buttonDownElement, buttonDownAny ) { - this.exitHandler( tracker, position, buttonDownElement, buttonDownAny ); - _this.raiseEvent( "onBlur", _this ); + blurHandler: function( tracker, position, buttonDownElement, buttonDownAny, event ) { + this.exitHandler( tracker, position, buttonDownElement, buttonDownAny, event ); + _this.raiseEvent( "blur", { + button: _this, + tracker: tracker, + position: position, + buttonDownElement: buttonDownElement, + buttonDownAny: buttonDownAny, + originalEvent: event + }); }, - pressHandler: function( tracker, position ) { + pressHandler: function( tracker, position, event ) { inTo( _this, $.ButtonState.DOWN ); - _this.raiseEvent( "onPress", _this ); + _this.raiseEvent( "press", { + button: _this, + tracker: tracker, + position: position, + originalEvent: event + }); }, - releaseHandler: function( tracker, position, insideElementPress, insideElementRelease ) { + releaseHandler: function( tracker, position, insideElementPress, insideElementRelease, event ) { if ( insideElementPress && insideElementRelease ) { outTo( _this, $.ButtonState.HOVER ); - _this.raiseEvent( "onRelease", _this ); + _this.raiseEvent( "release", { + button: _this, + tracker: tracker, + position: position, + insideElementPress: insideElementPress, + insideElementRelease: insideElementRelease, + originalEvent: event + }); } else if ( insideElementPress ) { outTo( _this, $.ButtonState.GROUP ); } else { @@ -183,17 +223,28 @@ $.Button = function( options ) { } }, - clickHandler: function( tracker, position, quick, shift ) { + clickHandler: function( tracker, position, quick, shift, event ) { if ( quick ) { - _this.raiseEvent("onClick", _this); + _this.raiseEvent("click", { + button: _this, + tracker: tracker, + position: position, + quick: quick, + shift: shift, + originalEvent: event + }); } }, - keyHandler: function( tracker, key ){ + keyHandler: function( tracker, key, event ){ //console.log( "%s : handling key %s!", _this.tooltip, key); if( 13 === key ){ - _this.raiseEvent( "onClick", _this ); - _this.raiseEvent( "onRelease", _this ); + _this.raiseEvent( "keypress", { + button: _this, + tracker: tracker, + key: key, + originalEvent: event + }); return false; } return true; diff --git a/src/viewer.js b/src/viewer.js index 2a6cf9dc..16cd3210 100644 --- a/src/viewer.js +++ b/src/viewer.js @@ -1169,7 +1169,7 @@ function onBlur(){ } -function onCanvasClick( tracker, position, quick, shift ) { +function onCanvasClick( tracker, position, quick, shift, event ) { var zoomPreClick, factor; if ( this.viewport && quick ) { // ignore clicks where mouse moved @@ -1181,15 +1181,16 @@ function onCanvasClick( tracker, position, quick, shift ) { ); this.viewport.applyConstraints(); } - this.raiseEvent( 'canvas-click', { + this.raiseEvent( 'click', { tracker: tracker, position: position, quick: quick, - shift: shift + shift: shift, + originalEvent: event }); } -function onCanvasDrag( tracker, position, delta, shift ) { +function onCanvasDrag( tracker, position, delta, shift, event ) { if ( this.viewport ) { if( !this.panHorizontal ){ delta.x = 0; @@ -1206,27 +1207,29 @@ function onCanvasDrag( tracker, position, delta, shift ) { this.viewport.applyConstraints(); } } - this.raiseEvent( 'canvas-click', { + this.raiseEvent( 'drag', { tracker: tracker, position: position, delta: delta, - shift: shift + shift: shift, + originalEvent: event }); } -function onCanvasRelease( tracker, position, insideElementPress, insideElementRelease ) { +function onCanvasRelease( tracker, position, insideElementPress, insideElementRelease, event ) { if ( insideElementPress && this.viewport ) { this.viewport.applyConstraints(); } - this.raiseEvent( 'canvas-release', { + this.raiseEvent( 'release', { tracker: tracker, position: position, insideElementPress: insideElementPress, - insideElementRelease: insideElementRelease + insideElementRelease: insideElementRelease, + originalEvent: event }); } -function onCanvasScroll( tracker, position, scroll, shift ) { +function onCanvasScroll( tracker, position, scroll, shift, event ) { var factor; if ( this.viewport ) { factor = Math.pow( this.zoomPerScroll, scroll ); @@ -1236,54 +1239,58 @@ function onCanvasScroll( tracker, position, scroll, shift ) { ); this.viewport.applyConstraints(); } - this.raiseEvent( 'canvas-scroll', { + this.raiseEvent( 'scroll', { tracker: tracker, position: position, scroll: scroll, - shift: shift + shift: shift, + originalEvent: event }); //cancels event return false; } -function onContainerExit( tracker, position, buttonDownElement, buttonDownAny ) { +function onContainerExit( tracker, position, buttonDownElement, buttonDownAny, event ) { if ( !buttonDownElement ) { THIS[ this.hash ].mouseInside = false; if ( !THIS[ this.hash ].animating ) { beginControlsAutoHide( this ); } } - this.raiseEvent( 'container-exit', { + this.raiseEvent( 'exit', { tracker: tracker, position: position, buttonDownElement: buttonDownElement, - buttonDownAny: buttonDownAny + buttonDownAny: buttonDownAny, + originalEvent: event }); } -function onContainerRelease( tracker, position, insideElementPress, insideElementRelease ) { +function onContainerRelease( tracker, position, insideElementPress, insideElementRelease, event ) { if ( !insideElementRelease ) { THIS[ this.hash ].mouseInside = false; if ( !THIS[ this.hash ].animating ) { beginControlsAutoHide( this ); } } - this.raiseEvent( 'container-release', { + this.raiseEvent( 'release', { tracker: tracker, position: position, insideElementPress: insideElementPress, - insideElementRelease: insideElementRelease + insideElementRelease: insideElementRelease, + originalEvent: event }); } -function onContainerEnter( tracker, position, buttonDownElement, buttonDownAny ) { +function onContainerEnter( tracker, position, buttonDownElement, buttonDownAny, event ) { THIS[ this.hash ].mouseInside = true; abortControlsAutoHide( this ); - this.raiseEvent( 'container-enter', { + this.raiseEvent( 'enter', { tracker: tracker, position: position, buttonDownElement: buttonDownElement, - buttonDownAny: buttonDownAny + buttonDownAny: buttonDownAny, + originalEvent: event }); } diff --git a/test/demo.html b/test/demo.html index e38b9b51..9022d115 100644 --- a/test/demo.html +++ b/test/demo.html @@ -5,290 +5,174 @@
-
- Simple demo page to verify that event handlers pass along the original source event -
-
-
- -
+
+ Simple demo page to verify that event handlers pass along the original source event +
+
+
+ +
From 3b2bde2940cc120f51938e187cdc921f111aa475 Mon Sep 17 00:00:00 2001 From: houseofyin Date: Fri, 15 Mar 2013 10:59:47 -0400 Subject: [PATCH 003/574] Initial pass at making the navigator float --- src/control.js | 25 ++++++++++------ src/controldock.js | 6 ++-- src/navigator.js | 16 +++++++++-- src/openseadragon.js | 2 +- src/referencestrip.js | 6 ++-- src/viewer.js | 16 ++++++----- test/navigatordemo.html | 64 +++++++++++++++++++++++++++++++++++++++++ 7 files changed, 109 insertions(+), 26 deletions(-) create mode 100644 test/navigatordemo.html diff --git a/src/control.js b/src/control.js index cdb10cd1..ce1af74b 100644 --- a/src/control.js +++ b/src/control.js @@ -32,9 +32,12 @@ $.ControlAnchor = { * @property {Element} wrapper - a nuetral element surrounding the control * element. */ -$.Control = function ( element, anchor, container ) { +$.Control = function ( element, options, container ) { + var parent = element.parentNode; + options.attachToViewer = (typeof options.attachToViewer === 'undefined') ? true : options.attachToViewer; + this.autoFade = (typeof options.autoFade === 'undefined') ? true : options.autoFade; this.element = element; - this.anchor = anchor; + this.anchor = options.anchor; this.container = container; this.wrapper = $.makeNeutralElement( "span" ); this.wrapper.style.display = "inline-block"; @@ -45,14 +48,18 @@ $.Control = function ( element, anchor, container ) { this.wrapper.style.width = this.wrapper.style.height = "100%"; } - if ( this.anchor == $.ControlAnchor.TOP_RIGHT || - this.anchor == $.ControlAnchor.BOTTOM_RIGHT ) { - this.container.insertBefore( - this.wrapper, - this.container.firstChild - ); + if (options.attachToViewer ) { + if ( this.anchor == $.ControlAnchor.TOP_RIGHT || + this.anchor == $.ControlAnchor.BOTTOM_RIGHT ) { + this.container.insertBefore( + this.wrapper, + this.container.firstChild + ); + } else { + this.container.appendChild( this.wrapper ); + } } else { - this.container.appendChild( this.wrapper ); + parent.appendChild( this.wrapper ); } }; diff --git a/src/controldock.js b/src/controldock.js index 5360463b..6b3ddd9a 100644 --- a/src/controldock.js +++ b/src/controldock.js @@ -54,7 +54,7 @@ /** * @function */ - addControl: function ( element, anchor ) { + addControl: function ( element, controlOptions ) { element = $.getElement( element ); var div = null; @@ -62,7 +62,7 @@ return; // they're trying to add a duplicate control } - switch ( anchor ) { + switch ( controlOptions.anchor ) { case $.ControlAnchor.TOP_RIGHT: div = this.controls.topright; element.style.position = "relative"; @@ -96,7 +96,7 @@ } this.controls.push( - new $.Control( element, anchor, div ) + new $.Control( element, controlOptions, div ) ); element.style.display = "inline-block"; }, diff --git a/src/navigator.js b/src/navigator.js index 04d17a4d..cc0f1564 100644 --- a/src/navigator.js +++ b/src/navigator.js @@ -24,9 +24,19 @@ $.Navigator = function( options ){ if( !options.id ){ options.id = 'navigator-' + (+new Date()); this.element = $.makeNeutralElement( "div" ); - this.element.id = options.id; - this.element.className = 'navigator'; + options.controlOptions = {anchor: $.ControlAnchor.TOP_RIGHT, + attachToViewer: true, + autoFade: true}; } + else + { + this.element = document.getElementById( options.id ); + options.controlOptions = {anchor: $.ControlAnchor.NONE, + attachToViewer: false, + autoFade: false}; + } + this.element.id = options.id; + this.element.className += ' navigator'; options = $.extend( true, { sizeRatio: $.DEFAULT_SETTINGS.navigatorSizeRatio @@ -179,7 +189,7 @@ $.Navigator = function( options ){ viewer.addControl( this.element, - $.ControlAnchor.TOP_RIGHT + options.controlOptions ); if( options.width && options.height ){ diff --git a/src/openseadragon.js b/src/openseadragon.js index c70d7a7b..db05fe9d 100644 --- a/src/openseadragon.js +++ b/src/openseadragon.js @@ -503,7 +503,7 @@ window.OpenSeadragon = window.OpenSeadragon || function( options ){ //VIEWPORT NAVIGATOR SETTINGS showNavigator: true, //promoted to default in 0.9.64 - navigatorElement: null, + navigatorId: null, navigatorHeight: null, navigatorWidth: null, navigatorPosition: null, diff --git a/src/referencestrip.js b/src/referencestrip.js index 20f8ff03..d7613f9d 100644 --- a/src/referencestrip.js +++ b/src/referencestrip.js @@ -97,7 +97,7 @@ $.ReferenceStrip = function( options ){ this.element.style.height = options.height + 'px'; viewer.addControl( this.element, - $.ControlAnchor.BOTTOM_LEFT + {anchor: $.ControlAnchor.BOTTOM_LEFT} ); } else { if( "horizontal" == options.scroll ){ @@ -114,7 +114,7 @@ $.ReferenceStrip = function( options ){ viewer.addControl( this.element, - $.ControlAnchor.BOTTOM_LEFT + {anchor: $.ControlAnchor.BOTTOM_LEFT} ); }else { this.element.style.height = ( @@ -130,7 +130,7 @@ $.ReferenceStrip = function( options ){ viewer.addControl( this.element, - $.ControlAnchor.TOP_LEFT + {anchor: $.ControlAnchor.TOP_LEFT} ); } diff --git a/src/viewer.js b/src/viewer.js index 16cd3210..439131f8 100644 --- a/src/viewer.js +++ b/src/viewer.js @@ -230,7 +230,7 @@ $.Viewer = function( options ) { for ( i = 0; i < this.customControls.length; i++ ) { this.addControl( this.customControls[ i ].id, - this.customControls[ i ].anchor + {anchor: this.customControls[ i ].anchor} ); } @@ -432,7 +432,7 @@ $.extend( $.Viewer.prototype, $.EventHandler.prototype, $.ControlDock.prototype, //Instantiate a navigator if configured if ( this.showNavigator && ! this.navigator && !this.collectionMode ){ this.navigator = new $.Navigator({ - id: this.navigatorElement, + id: this.navigatorId, position: this.navigatorPosition, sizeRatio: this.navigatorSizeRatio, height: this.navigatorHeight, @@ -883,12 +883,12 @@ $.extend( $.Viewer.prototype, $.EventHandler.prototype, $.ControlDock.prototype, if( this.toolbar ){ this.toolbar.addControl( this.pagingControl, - $.ControlAnchor.BOTTOM_RIGHT + {anchor: $.ControlAnchor.BOTTOM_RIGHT} ); }else{ this.addControl( this.pagingControl, - $.ControlAnchor.TOP_LEFT + {anchor: $.ControlAnchor.TOP_LEFT} ); } } @@ -1005,12 +1005,12 @@ $.extend( $.Viewer.prototype, $.EventHandler.prototype, $.ControlDock.prototype, if( this.toolbar ){ this.toolbar.addControl( this.navControl, - $.ControlAnchor.TOP_LEFT + {anchor: $.ControlAnchor.TOP_LEFT} ); }else{ this.addControl( this.navControl, - $.ControlAnchor.TOP_LEFT + {anchor: $.ControlAnchor.TOP_LEFT} ); } } @@ -1135,7 +1135,9 @@ function updateControlsFade( viewer ) { opacity = Math.max( 0.0, opacity ); for ( i = viewer.controls.length - 1; i >= 0; i--) { - viewer.controls[ i ].setOpacity( opacity ); + if (viewer.controls[ i ].autoFade) { + viewer.controls[ i ].setOpacity( opacity ); + } } if ( opacity > 0 ) { diff --git a/test/navigatordemo.html b/test/navigatordemo.html new file mode 100644 index 00000000..03507cc3 --- /dev/null +++ b/test/navigatordemo.html @@ -0,0 +1,64 @@ + + + OpenSeadragon Expose Origina Event Demo + + + + + + + +
+
+ Simple demo page to verify that event handlers pass along the original source event +
+
+ +
+ + + + From 3e2b337a5227d4306ffe1edd8fdc82fba3350862 Mon Sep 17 00:00:00 2001 From: houseofyin Date: Fri, 15 Mar 2013 22:29:27 -0400 Subject: [PATCH 004/574] Another checkpoint --- src/navigator.js | 210 +++++++++++++++++++++++++++-------------------- 1 file changed, 123 insertions(+), 87 deletions(-) diff --git a/src/navigator.js b/src/navigator.js index cc0f1564..9bbda161 100644 --- a/src/navigator.js +++ b/src/navigator.js @@ -18,7 +18,7 @@ $.Navigator = function( options ){ var _this = this, viewer = options.viewer, viewerSize = $.getElementSize( viewer.element ); - + //We may need to create a new element and id if they did not //provide the id for the existing element if( !options.id ){ @@ -52,29 +52,31 @@ $.Navigator = function( options ){ options.minPixelRatio = this.minPixelRatio = viewer.minPixelRatio; - (function( style ){ - style.marginTop = '0px'; - style.marginRight = '0px'; - style.marginBottom = '0px'; - style.marginLeft = '0px'; - style.border = '2px solid #555'; + this.viewerDimensionsInPoints = viewer.viewport.deltaPointsFromPixels($.getElementSize( viewer.element)); + this.borderWidth = 2; + + (function( style, borderWidth ){ + style.margin = '0px'; + style.border = borderWidth + 'px solid #555'; + style.padding = '0px'; style.background = '#000'; style.opacity = 0.8; style.overflow = 'hidden'; - }( this.element.style )); + }( this.element.style, this.borderWidth)); - this.displayRegion = $.makeNeutralElement( "textarea" ); + this.displayRegion = $.makeNeutralElement( "div" ); this.displayRegion.id = this.element.id + '-displayregion'; this.displayRegion.className = 'displayregion'; - (function( style ){ + (function( style, borderWidth ){ style.position = 'relative'; style.top = '0px'; style.left = '0px'; style.fontSize = '0px'; style.overflow = 'hidden'; - style.border = '2px solid #900'; - + style.border = borderWidth + 'px solid #900'; + style.margin = '0px'; + style.padding = '0px'; //TODO: IE doesnt like this property being set //try{ style.outline = '2px auto #909'; }catch(e){/*ignore*/} @@ -89,10 +91,13 @@ $.Navigator = function( options ){ style.styleFloat = 'left'; //IE style.zIndex = 999999999; style.cursor = 'default'; - }( this.displayRegion.style )); + }( this.displayRegion.style, this.borderWidth )); + this.element.innerTracker = new $.MouseTracker({ element: this.element, + clickHandler: $.delegate( this, onCanvasClick ), + releaseHandler: $.delegate( this, onCanvasRelease ), scrollHandler: function(){ //dont scroll the page up and down if the user is scrolling //in the navigator @@ -104,77 +109,81 @@ $.Navigator = function( options ){ element: this.displayRegion, clickTimeThreshold: this.clickTimeThreshold, clickDistThreshold: this.clickDistThreshold, - clickHandler: $.delegate( this, onCanvasClick ), + + +// clickHandler: $.delegate( this, onCanvasClick ), dragHandler: $.delegate( this, onCanvasDrag ), releaseHandler: $.delegate( this, onCanvasRelease ), - scrollHandler: $.delegate( this, onCanvasScroll ), - focusHandler: function(){ - var point = $.getElementPosition( _this.viewer.element ); + scrollHandler: $.delegate( this, onCanvasScroll ) - window.scrollTo( 0, point.y ); - _this.viewer.setControlsEnabled( true ); - (function( style ){ - style.border = '2px solid #437AB2'; - //style.outline = '2px auto #437AB2'; - }( this.element.style )); - - }, - blurHandler: function(){ - _this.viewer.setControlsEnabled( false ); - (function( style ){ - style.border = '2px solid #900'; - //style.outline = '2px auto #900'; - }( this.element.style )); - }, - keyHandler: function(tracker, keyCode, shiftKey){ - //console.log( keyCode ); - switch( keyCode ){ - case 61://=|+ - _this.viewer.viewport.zoomBy(1.1); - _this.viewer.viewport.applyConstraints(); - return false; - case 45://-|_ - _this.viewer.viewport.zoomBy(0.9); - _this.viewer.viewport.applyConstraints(); - return false; - case 48://0|) - _this.viewer.viewport.goHome(); - _this.viewer.viewport.applyConstraints(); - return false; - case 119://w - case 87://W - case 38://up arrow - if (shiftKey) - _this.viewer.viewport.zoomBy(1.1); - else - _this.viewer.viewport.panBy(new $.Point(0, -0.05)); - _this.viewer.viewport.applyConstraints(); - return false; - case 115://s - case 83://S - case 40://down arrow - if (shiftKey) - _this.viewer.viewport.zoomBy(0.9); - else - _this.viewer.viewport.panBy(new $.Point(0, 0.05)); - _this.viewer.viewport.applyConstraints(); - return false; - case 97://a - case 37://left arrow - _this.viewer.viewport.panBy(new $.Point(-0.05, 0)); - _this.viewer.viewport.applyConstraints(); - return false; - case 100://d - case 39://right arrow - _this.viewer.viewport.panBy(new $.Point(0.05, 0)); - _this.viewer.viewport.applyConstraints(); - return false; - default: - //console.log( 'navigator keycode %s', keyCode ); - return true; - } - } +// focusHandler: function(){ +// var point = $.getElementPosition( _this.viewer.element ); +// +// window.scrollTo( 0, point.y ); +// +//// _this.viewer.setControlsEnabled( true ); +// (function( style ){ +// style.border = '2px solid #437AB2'; +// //style.outline = '2px auto #437AB2'; +// }( this.element.style )); +// +// }, +// blurHandler: function(){ +//// _this.viewer.setControlsEnabled( false ); +// (function( style ){ +// style.border = '2px solid #900'; +// //style.outline = '2px auto #900'; +// }( this.element.style )); +// }, +// keyHandler: function(tracker, keyCode, shiftKey){ +// //console.log( keyCode ); +// switch( keyCode ){ +// case 61://=|+ +// _this.viewer.viewport.zoomBy(1.1); +// _this.viewer.viewport.applyConstraints(); +// return false; +// case 45://-|_ +// _this.viewer.viewport.zoomBy(0.9); +// _this.viewer.viewport.applyConstraints(); +// return false; +// case 48://0|) +// _this.viewer.viewport.goHome(); +// _this.viewer.viewport.applyConstraints(); +// return false; +// case 119://w +// case 87://W +// case 38://up arrow +// if (shiftKey) +// _this.viewer.viewport.zoomBy(1.1); +// else +// _this.viewer.viewport.panBy(new $.Point(0, -0.05)); +// _this.viewer.viewport.applyConstraints(); +// return false; +// case 115://s +// case 83://S +// case 40://down arrow +// if (shiftKey) +// _this.viewer.viewport.zoomBy(0.9); +// else +// _this.viewer.viewport.panBy(new $.Point(0, 0.05)); +// _this.viewer.viewport.applyConstraints(); +// return false; +// case 97://a +// case 37://left arrow +// _this.viewer.viewport.panBy(new $.Point(-0.05, 0)); +// _this.viewer.viewport.applyConstraints(); +// return false; +// case 100://d +// case 39://right arrow +// _this.viewer.viewport.panBy(new $.Point(0.05, 0)); +// _this.viewer.viewport.applyConstraints(); +// return false; +// default: +// //console.log( 'navigator keycode %s', keyCode ); +// return true; +// } +// } }).setTracking( true ); // default state /*this.displayRegion.outerTracker = new $.MouseTracker({ @@ -224,35 +233,61 @@ $.extend( $.Navigator.prototype, $.EventHandler.prototype, $.Viewer.prototype, { bottomright = this.viewport.pixelFromPoint( bounds.getBottomRight() ); //update style for navigator-box - (function(style){ + (function(style, borderWidth){ style.top = topleft.y + 'px'; style.left = topleft.x + 'px'; - var width = Math.abs( topleft.x - bottomright.x ) - 3; // TODO: What does this magic number mean? - var height = Math.abs( topleft.y - bottomright.y ) - 3; + var width = Math.abs( topleft.x - bottomright.x ) - (borderWidth); + var height = Math.abs( topleft.y - bottomright.y ) - (borderWidth); // make sure width and height are non-negative so IE doesn't throw style.width = Math.max( width, 0 ) + 'px'; style.height = Math.max( height, 0 ) + 'px'; - }( this.displayRegion.style )); + }( this.displayRegion.style, this.borderWidth)); } } }); - /** * @private * @inner * @function */ function onCanvasClick( tracker, position, quick, shift ) { - this.displayRegion.focus(); + var theNewBounds; + var positionInPoints; + var dimensionsInPoints; + var contentAspectRatio = this.viewer.source.dimensions.x / this.viewer.source.dimensions.y; + if (! this.drag) + { + if ( this.viewer.viewport ) { + positionInPoints = this.viewport.deltaPointsFromPixels(position); + dimensionsInPoints = this.viewer.viewport.getBounds().getSize(); + theNewBounds = new $.Rect( + positionInPoints.x, + positionInPoints.y, + dimensionsInPoints.x, + dimensionsInPoints.y + ); + if (contentAspectRatio > this.viewer.viewport.getAspectRatio()) + { + theNewBounds.y = theNewBounds.y - ((this.viewerDimensionsInPoints.y - (1/contentAspectRatio)) /2 ); + } + else { + theNewBounds.x = theNewBounds.x - ((this.viewerDimensionsInPoints.x -1) /2 ); + } + this.viewer.viewport.fitBounds(theNewBounds); + } + } + else + { + this.drag = false; + } } - /** * @private * @inner @@ -260,6 +295,7 @@ function onCanvasClick( tracker, position, quick, shift ) { */ function onCanvasDrag( tracker, position, delta, shift ) { if ( this.viewer.viewport ) { + this.drag = true; if( !this.panHorizontal ){ delta.x = 0; } From 80ff8f908ac7199424101f3251fc0f3e80ed9cf3 Mon Sep 17 00:00:00 2001 From: houseofyin Date: Sat, 16 Mar 2013 16:35:33 -0400 Subject: [PATCH 005/574] Another checkpoint, added keyboard navigation to the main viewer --- src/viewer.js | 100 ++++++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 85 insertions(+), 15 deletions(-) diff --git a/src/viewer.js b/src/viewer.js index 439131f8..a9b11823 100644 --- a/src/viewer.js +++ b/src/viewer.js @@ -167,30 +167,43 @@ $.Viewer = function( options ) { this.element = this.element || document.getElementById( this.id ); this.canvas = $.makeNeutralElement( "div" ); + this.textAreaToReceiveKeyboardCommands = $.makeNeutralElement( "textarea" ); this.canvas.className = "openseadragon-canvas"; - (function( canvas ){ - canvas.width = "100%"; - canvas.height = "100%"; - canvas.overflow = "hidden"; - canvas.position = "absolute"; - canvas.top = "0px"; - canvas.left = "0px"; + (function( style ){ + style.width = "100%"; + style.height = "100%"; + style.overflow = "hidden"; + style.position = "absolute"; + style.top = "0px"; + style.left = "0px"; }( this.canvas.style )); + this.textAreaToReceiveKeyboardCommands.className = "findmetoo"; + (function( style ){ + style.width = "100%"; + style.height = "100%"; + style.overflow = "hidden"; + style.position = "absolute"; + style.top = "0px"; + style.left = "0px"; + }( this.textAreaToReceiveKeyboardCommands.style )); + + //the container is created through applying the ControlDock constructor above this.container.className = "openseadragon-container"; - (function( container ){ - container.width = "100%"; - container.height = "100%"; - container.position = "relative"; - container.overflow = "hidden"; - container.left = "0px"; - container.top = "0px"; - container.textAlign = "left"; // needed to protect against + (function( style ){ + style.width = "100%"; + style.height = "100%"; + style.position = "relative"; + style.overflow = "hidden"; + style.left = "0px"; + style.top = "0px"; + style.textAlign = "left"; // needed to protect against }( this.container.style )); this.container.insertBefore( this.canvas, this.container.firstChild ); + this.container.insertBefore( this.textAreaToReceiveKeyboardCommands, this.container.firstChild ); this.element.appendChild( this.container ); //Used for toggling between fullscreen and default container size @@ -201,6 +214,63 @@ $.Viewer = function( options ) { this.bodyOverflow = document.body.style.overflow; this.docOverflow = document.documentElement.style.overflow; + this.textAreaToReceiveKeyboardCommands.innerTracker = new $.MouseTracker({ + _this : this, + element: this.textAreaToReceiveKeyboardCommands, + focusHandler: function(){ + var point = $.getElementPosition( this.element ); + window.scrollTo( 0, point.y ); + }, + + keyHandler: function(tracker, keyCode, shiftKey){ + switch( keyCode ){ + case 61://=|+ + _this.viewport.zoomBy(1.1); + _this.viewport.applyConstraints(); + return false; + case 45://-|_ + _this.viewport.zoomBy(0.9); + _this.viewport.applyConstraints(); + return false; + case 48://0|) + _this.viewport.goHome(); + _this.viewport.applyConstraints(); + return false; + case 119://w + case 87://W + case 38://up arrow + if (shiftKey) + _this.viewport.zoomBy(1.1); + else + _this.viewport.panBy(new $.Point(0, -0.05)); + _this.viewport.applyConstraints(); + return false; + case 115://s + case 83://S + case 40://down arrow + if (shiftKey) + _this.viewport.zoomBy(0.9); + else + _this.viewport.panBy(new $.Point(0, 0.05)); + _this.viewport.applyConstraints(); + return false; + case 97://a + case 37://left arrow + _this.viewport.panBy(new $.Point(-0.05, 0)); + _this.viewport.applyConstraints(); + return false; + case 100://d + case 39://right arrow + _this.viewport.panBy(new $.Point(0.05, 0)); + _this.viewport.applyConstraints(); + return false; + default: + //console.log( 'navigator keycode %s', keyCode ); + return true; + } + } + }).setTracking( true ); // default state + this.innerTracker = new $.MouseTracker({ element: this.canvas, clickTimeThreshold: this.clickTimeThreshold, From 24c82e39b86a0c240b4a59bf317c1371396cabe7 Mon Sep 17 00:00:00 2001 From: houseofyin Date: Sat, 16 Mar 2013 21:05:02 -0400 Subject: [PATCH 006/574] Adding some demo pages for the nav changes --- test/navigatordefaultdemo.html | 58 +++++++++++++++++++++ test/navigatordemo.html | 95 ++++++++++++++++++++++++++++------ test/navigatorjquerydemo.html | 64 +++++++++++++++++++++++ 3 files changed, 200 insertions(+), 17 deletions(-) create mode 100644 test/navigatordefaultdemo.html create mode 100644 test/navigatorjquerydemo.html diff --git a/test/navigatordefaultdemo.html b/test/navigatordefaultdemo.html new file mode 100644 index 00000000..d7bdad15 --- /dev/null +++ b/test/navigatordefaultdemo.html @@ -0,0 +1,58 @@ + + + OpenSeadragon Expose Origina Event Demo + + + + +
+
+ Simple demo page to verify that event handlers pass along the original source event +
+
+ +
+ + + + diff --git a/test/navigatordemo.html b/test/navigatordemo.html index 03507cc3..6be0829c 100644 --- a/test/navigatordemo.html +++ b/test/navigatordemo.html @@ -2,11 +2,9 @@ OpenSeadragon Expose Origina Event Demo - - - +
- Simple demo page to verify that event handlers pass along the original source event + Simple demo page to verify navigator can be placed on an element outside of the main viewer
-
- + + diff --git a/test/navigatorjquerydemo.html b/test/navigatorjquerydemo.html new file mode 100644 index 00000000..03507cc3 --- /dev/null +++ b/test/navigatorjquerydemo.html @@ -0,0 +1,64 @@ + + + OpenSeadragon Expose Origina Event Demo + + + + + + + +
+
+ Simple demo page to verify that event handlers pass along the original source event +
+
+ +
+ + + + From 12e1ad1576830e61b6bf1e6e63724e3f74a217c6 Mon Sep 17 00:00:00 2001 From: houseofyin Date: Thu, 21 Mar 2013 13:53:53 -0400 Subject: [PATCH 007/574] Adding JQuery UI library to support some test scenarios --- .../css/smoothness/images/animated-overlay.gif | Bin 0 -> 1738 bytes .../images/ui-bg_flat_0_aaaaaa_40x100.png | Bin 0 -> 212 bytes .../images/ui-bg_flat_75_ffffff_40x100.png | Bin 0 -> 208 bytes .../images/ui-bg_glass_55_fbf9ee_1x400.png | Bin 0 -> 335 bytes .../images/ui-bg_glass_65_ffffff_1x400.png | Bin 0 -> 207 bytes .../images/ui-bg_glass_75_dadada_1x400.png | Bin 0 -> 262 bytes .../images/ui-bg_glass_75_e6e6e6_1x400.png | Bin 0 -> 262 bytes .../images/ui-bg_glass_95_fef1ec_1x400.png | Bin 0 -> 332 bytes .../ui-bg_highlight-soft_75_cccccc_1x100.png | Bin 0 -> 280 bytes .../images/ui-icons_222222_256x240.png | Bin 0 -> 6922 bytes .../images/ui-icons_2e83ff_256x240.png | Bin 0 -> 4549 bytes .../images/ui-icons_454545_256x240.png | Bin 0 -> 6992 bytes .../images/ui-icons_888888_256x240.png | Bin 0 -> 6999 bytes .../images/ui-icons_cd0a0a_256x240.png | Bin 0 -> 4549 bytes .../css/smoothness/jquery-ui-1.10.2.min.css | 5 +++++ .../jquery-ui-1.10.2/js/jquery-ui-1.10.2.min.js | 7 +++++++ 16 files changed, 12 insertions(+) create mode 100755 test/lib/jquery-ui-1.10.2/css/smoothness/images/animated-overlay.gif create mode 100755 test/lib/jquery-ui-1.10.2/css/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png create mode 100755 test/lib/jquery-ui-1.10.2/css/smoothness/images/ui-bg_flat_75_ffffff_40x100.png create mode 100755 test/lib/jquery-ui-1.10.2/css/smoothness/images/ui-bg_glass_55_fbf9ee_1x400.png create mode 100755 test/lib/jquery-ui-1.10.2/css/smoothness/images/ui-bg_glass_65_ffffff_1x400.png create mode 100755 test/lib/jquery-ui-1.10.2/css/smoothness/images/ui-bg_glass_75_dadada_1x400.png create mode 100755 test/lib/jquery-ui-1.10.2/css/smoothness/images/ui-bg_glass_75_e6e6e6_1x400.png create mode 100755 test/lib/jquery-ui-1.10.2/css/smoothness/images/ui-bg_glass_95_fef1ec_1x400.png create mode 100755 test/lib/jquery-ui-1.10.2/css/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png create mode 100755 test/lib/jquery-ui-1.10.2/css/smoothness/images/ui-icons_222222_256x240.png create mode 100755 test/lib/jquery-ui-1.10.2/css/smoothness/images/ui-icons_2e83ff_256x240.png create mode 100755 test/lib/jquery-ui-1.10.2/css/smoothness/images/ui-icons_454545_256x240.png create mode 100755 test/lib/jquery-ui-1.10.2/css/smoothness/images/ui-icons_888888_256x240.png create mode 100755 test/lib/jquery-ui-1.10.2/css/smoothness/images/ui-icons_cd0a0a_256x240.png create mode 100755 test/lib/jquery-ui-1.10.2/css/smoothness/jquery-ui-1.10.2.min.css create mode 100755 test/lib/jquery-ui-1.10.2/js/jquery-ui-1.10.2.min.js diff --git a/test/lib/jquery-ui-1.10.2/css/smoothness/images/animated-overlay.gif b/test/lib/jquery-ui-1.10.2/css/smoothness/images/animated-overlay.gif new file mode 100755 index 0000000000000000000000000000000000000000..d441f75ebfbdf26a265dfccd670120d25c0a341c GIT binary patch literal 1738 zcmZ|OX;ji_6b5ixNYt8>l?gOuO)6lU%W(mxn(`>1S(XO;u`D+P%xqBvMr|w-Vyr1s z7R|Cn0b8|Hu<=Zmv1mFqh9Fj!NuZfKB2MP$e75`XJ@>=!y!Ux9xR3x;EW!q1^V>X| znVFuRUN`NqJ2)ybXh%e__h!!pv(M|S3+?9F%(K}zyE40MGyhWF5-IDgL&=%2-9`Nk z!1@8uk4t%_{(K~>N;sK&dzJbwJ=$kYTlL=$%#0Pfh>U{%i@~wWbvYsD_K-D`&+u1( z#Ma`>%q<^UhzGvi(hyE`zCD{-=2|zL5>wnB=DE!U?(CZG%q4@lDnCq_%&3DCla#(X zmBhDD+RN$aMWWHm?ig*>1Onn6~r?Ma~N2JKAxN>H%UtRyRqS)6Um!-Tz%-r=& zQmTb^JFIe3W^-kAm`}`2P|niMh>RYyd)S^f(dbrx965?rzbhP|XeP}o&&DSZ4|oYQ z)I{f!SfycYw?3=9W;o-B%U5xs(pP267X~9-7L|4WzaYexC0GtG8wWygm63rF{llCEraxzkc=IxvFQ-y37=_;e5 zJLq^gsSO0Ayz?a>E_?{dmUc+t#qv$)XN8$<<}rQ#)lsiw+pmL&J>~+hgpo>i$m+;l zZIa_ZRIfSeT$~v5d`EBV&*k`apPgjv&B|+d`Q!nyu{L4rs%ZfoF0*Kq8I%ByOcFpL zK=>wzofZo<+0GZLCnWM3oQ^pb(gRSf02;~cEn@LJ>~XB9IkEX{$N#Z`m%>S!U{uPx zloI%bLdo$Adxlh(Uv^yX7s5G&C zLwNRG>~T?G{kzupp8EcyLGPoPf)@&9Wqfw_l&uU-6cexk%5;uQg%wb=0k_733{i#& z1a2p)gV3S2+QG1-K9tZ}E~I<(P0r2aFFY-c{o?TUOz3Xjod#TLE2A_c?*T7t z=1>~%YW450{Qqno4t`}gvLnuMrcu8+#xEBoY%2_+Mb#Z6S38+r*M4O`-+!zl(@m`D zQsi|GA2l3gEy}LFe<#Hv8?$_L#u8E|3-bP$*La*E>B{X!Sy4i6?TKam!49aXCAW4S*P_O^H4^*DpiA40o}Uqw~Eo&veh1`|8i zD2$x+>_b^bXE4N;AW=5>iYak2%!JAh0j1*k1{p#iRCjbB7!cSws~U{1IA@acLII$t z$>X#A+^s6iJ5~DFG!xa?>z{=lxtdi1rzbM-(nqAu3D8h-&64xo6|E!p?pK0xT;qoK z`6%+SpBk+~M?nO}>2mTw!A{yZ6O>Z@kwSd4;8aWU5z!P~tQl?u==^+R`{OmOS}oZh zOXQ3{6kuz?Is^n^L7;9ieB9C+8B{>t+pDrlq4xGDDn#T#3T5$l1g`FTQkU;b-981j zNm{zC`$wn7etklM#qHI4=3m5gwa6DNS{?Z!vSObi_od{4eUo=_S2BKNpkSdiqe(k9WtkeM79;2-%CFbb)aB=&H1?i1}uwFzoZQ(38Kn1zBP ORn*B%u*Wk|4g3!*Rv{Mv literal 0 HcmV?d00001 diff --git a/test/lib/jquery-ui-1.10.2/css/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png b/test/lib/jquery-ui-1.10.2/css/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png new file mode 100755 index 0000000000000000000000000000000000000000..f690f8ded8c6e0661a7009fd4593f70a1c2e4248 GIT binary patch literal 212 zcmeAS@N?(olHy`uVBq!ia0vp^8bF-F1SA+{?>A)!QcOwS?k)_>#w|r1Kptm-M`SUO z_5fqIli7AahM1>|V~EA+ zRdP`(kYX@0Ff`URFxE9R2{AOaGB&m{Fw`|Lw=ytTb7sv{6b-rgDVb@NxHa6JD543} Oz~JfX=d#Wzp$P!Bm^0)6 literal 0 HcmV?d00001 diff --git a/test/lib/jquery-ui-1.10.2/css/smoothness/images/ui-bg_flat_75_ffffff_40x100.png b/test/lib/jquery-ui-1.10.2/css/smoothness/images/ui-bg_flat_75_ffffff_40x100.png new file mode 100755 index 0000000000000000000000000000000000000000..591edc33537798786d44cd86d7a8dadff8926c68 GIT binary patch literal 208 zcmeAS@N?(olHy`uVBq!ia0vp^8bF-F2qYNp$opRhQcOwS?k)_Bce{j_0C}7R9+AaB z+5?Q;PG;Ky8A6^ejv*T7lYj6t@hpC#;TbB#aBAWwna#KLs)4eqC9V-ADTyViR>?)F zK#IZ0z|dINz*yJNB*f6v%GlV-z(Ci)97uBQUap9uAvZrIGp!Q0hU#bXbAcKdJYD@< J);T3K0RY08Gznc6a#?2AmP!?*K(O3p^r= zfwTu0yPeFo12TF&T^vI^j=w#x$i?I+((tf;UXnmgbH|3oY>pC!)f}(GR!16S-u+#{ ze6YEqRkW=8vGl=5qArKM<9}TC-}iEvB{zdaTcX5$wyRTK&ALl&Jb7@Arc8(SF|=o**UftDnm{ Hr-UW|-~2Mj literal 0 HcmV?d00001 diff --git a/test/lib/jquery-ui-1.10.2/css/smoothness/images/ui-bg_glass_75_dadada_1x400.png b/test/lib/jquery-ui-1.10.2/css/smoothness/images/ui-bg_glass_75_dadada_1x400.png new file mode 100755 index 0000000000000000000000000000000000000000..7407c23284aa2d17f3e9d6ccd4a200d549edd3ed GIT binary patch literal 262 zcmeAS@N?(olHy`uVBq!ia0vp^j6gI&0LWmFTHNUZq?nSt-Ch3w7g=q17Rci)@Q5r1 z(jH*!b~4)z#PD=+46!(!T=8puqDZgOs>RXUCGx5b?-VBQkUm|IuXOmYJrBRJgj{Vx zMbNnqUkncy+qa2-mWYc>swkcIuvGK#>(0d)B7)5f`@$Ei28nH~0h*~=;u=wsl30>z zm0Xkxq!^4042^XSjCBo7LJUo4DP8|RM literal 0 HcmV?d00001 diff --git a/test/lib/jquery-ui-1.10.2/css/smoothness/images/ui-bg_glass_95_fef1ec_1x400.png b/test/lib/jquery-ui-1.10.2/css/smoothness/images/ui-bg_glass_95_fef1ec_1x400.png new file mode 100755 index 0000000000000000000000000000000000000000..dc91de12d3a0630aadf4f381a30ff1fdd69faf62 GIT binary patch literal 332 zcmeAS@N?(olHy`uVBq!ia0vp^j6gI&fCnc6a#?2AmP!?*K(O3p^r= zfwTu0yPeFo12VciT^vI^j=w#>k(V)1qW$CZ|6)SVV-&*#dav<$DMuV&n0Dbpw@al&Jb7@Arc8(SF|=o**UftDnm{r-UW|m3VUm literal 0 HcmV?d00001 diff --git a/test/lib/jquery-ui-1.10.2/css/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png b/test/lib/jquery-ui-1.10.2/css/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png new file mode 100755 index 0000000000000000000000000000000000000000..8698e57cb21fad3a6e73e7fae3f45c50f36bc23a GIT binary patch literal 280 zcmeAS@N?(olHy`uVBq!ia0vp^j6j?s03;ZUuHXC*q?nSt-Ch3w7g=q17Rci)@Q5r1 z(jH*!b~4)z$cXZEaSV~ToLo`U+vu0Ue0cG9p8hWqa?gxxGLm=1A1u)Cewe3oSeCaf zI$k30UHXoTXA5lSJe(zTcE%W-S*bfB&J`pw9sa4-R?IGW?p~6`>jMSP&M+u3 zY@9al)zrvpHlQu4C9V-ADTyViR>?)FK#IZ0z|dINz*yJNB*f6v%GlV-z);t~+{(aU i&6zb*Q8eV{r(~v8;?{6?qKGC?1B0ilpUXO@geCw~23oQJ literal 0 HcmV?d00001 diff --git a/test/lib/jquery-ui-1.10.2/css/smoothness/images/ui-icons_222222_256x240.png b/test/lib/jquery-ui-1.10.2/css/smoothness/images/ui-icons_222222_256x240.png new file mode 100755 index 0000000000000000000000000000000000000000..25fa1a274a30ca94a7cff03c52ea086ac792ff30 GIT binary patch literal 6922 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 literal 0 HcmV?d00001 diff --git a/test/lib/jquery-ui-1.10.2/css/smoothness/images/ui-icons_2e83ff_256x240.png b/test/lib/jquery-ui-1.10.2/css/smoothness/images/ui-icons_2e83ff_256x240.png new file mode 100755 index 0000000000000000000000000000000000000000..15627376da6f1b464cc09d84bbdd931267388108 GIT binary patch literal 4549 zcmeHK2U8PFw@yL`gaFc{D^V0dT4;jQP=bNbK{_u%ib`*aLVzGu=~4s~gjcE{M5IZP zPy}fLhNhuJ1nEVZ5K2Du-uY(kf4I-=>^Zx$&z#+7XU?4S*u>}t3ll#R003aoL+h9U z0Kiihu*pbwI#1~7ADnKmniyE1q#|kmKmMzLK=ZQCsX#V?W=7@!J~lZpqe<(dZ0U

ZBfGO(lhK=JS@L$w<@3+WU&~h-D-*wYdNmd< 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 VhkiY-s;7qldMG2EN-gZ8{{ZmMbguva literal 0 HcmV?d00001 diff --git a/test/lib/jquery-ui-1.10.2/css/smoothness/images/ui-icons_454545_256x240.png b/test/lib/jquery-ui-1.10.2/css/smoothness/images/ui-icons_454545_256x240.png new file mode 100755 index 0000000000000000000000000000000000000000..c38caab964492eff617a018bf374b8812a9d9141 GIT binary patch literal 6992 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 literal 0 HcmV?d00001 diff --git a/test/lib/jquery-ui-1.10.2/css/smoothness/images/ui-icons_888888_256x240.png b/test/lib/jquery-ui-1.10.2/css/smoothness/images/ui-icons_888888_256x240.png new file mode 100755 index 0000000000000000000000000000000000000000..ee9199507fb79eee20907b98ad6b08f4e5c9e0f9 GIT binary patch literal 6999 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 literal 0 HcmV?d00001 diff --git a/test/lib/jquery-ui-1.10.2/css/smoothness/images/ui-icons_cd0a0a_256x240.png b/test/lib/jquery-ui-1.10.2/css/smoothness/images/ui-icons_cd0a0a_256x240.png new file mode 100755 index 0000000000000000000000000000000000000000..1b81d041141451ae27751e167469a3f8a1742d2e GIT binary patch literal 4549 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 Tuh&)O><~Z~X{24HiGKVaF1#!o literal 0 HcmV?d00001 diff --git a/test/lib/jquery-ui-1.10.2/css/smoothness/jquery-ui-1.10.2.min.css b/test/lib/jquery-ui-1.10.2/css/smoothness/jquery-ui-1.10.2.min.css new file mode 100755 index 00000000..743ecacd --- /dev/null +++ b/test/lib/jquery-ui-1.10.2/css/smoothness/jquery-ui-1.10.2.min.css @@ -0,0 +1,5 @@ +/*! jQuery UI - v1.10.2 - 2013-03-14 +* http://jqueryui.com +* Includes: jquery.ui.core.css, jquery.ui.accordion.css, jquery.ui.autocomplete.css, jquery.ui.button.css, jquery.ui.datepicker.css, jquery.ui.dialog.css, jquery.ui.menu.css, jquery.ui.progressbar.css, jquery.ui.resizable.css, jquery.ui.selectable.css, jquery.ui.slider.css, jquery.ui.spinner.css, jquery.ui.tabs.css, jquery.ui.tooltip.css +* To view and modify this theme, visit http://jqueryui.com/themeroller/ +* Copyright 2013 jQuery Foundation and other contributors Licensed MIT */.ui-helper-hidden{display:none}.ui-helper-hidden-accessible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.ui-helper-reset{margin:0;padding:0;border:0;outline:0;line-height:1.3;text-decoration:none;font-size:100%;list-style:none}.ui-helper-clearfix:before,.ui-helper-clearfix:after{content:"";display:table;border-collapse:collapse}.ui-helper-clearfix:after{clear:both}.ui-helper-clearfix{min-height:0}.ui-helper-zfix{width:100%;height:100%;top:0;left:0;position:absolute;opacity:0;filter:Alpha(Opacity=0)}.ui-front{z-index:100}.ui-state-disabled{cursor:default!important}.ui-icon{display:block;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat}.ui-widget-overlay{position:fixed;top:0;left:0;width:100%;height:100%}.ui-accordion .ui-accordion-header{display:block;cursor:pointer;position:relative;margin-top:2px;padding:.5em .5em .5em .7em;min-height:0}.ui-accordion .ui-accordion-icons{padding-left:2.2em}.ui-accordion .ui-accordion-noicons{padding-left:.7em}.ui-accordion .ui-accordion-icons .ui-accordion-icons{padding-left:2.2em}.ui-accordion .ui-accordion-header .ui-accordion-header-icon{position:absolute;left:.5em;top:50%;margin-top:-8px}.ui-accordion .ui-accordion-content{padding:1em 2.2em;border-top:0;overflow:auto}.ui-autocomplete{position:absolute;top:0;left:0;cursor:default}.ui-button{display:inline-block;position:relative;padding:0;line-height:normal;margin-right:.1em;cursor:pointer;vertical-align:middle;text-align:center;overflow:visible}.ui-button,.ui-button:link,.ui-button:visited,.ui-button:hover,.ui-button:active{text-decoration:none}.ui-button-icon-only{width:2.2em}button.ui-button-icon-only{width:2.4em}.ui-button-icons-only{width:3.4em}button.ui-button-icons-only{width:3.7em}.ui-button .ui-button-text{display:block;line-height:normal}.ui-button-text-only .ui-button-text{padding:.4em 1em}.ui-button-icon-only .ui-button-text,.ui-button-icons-only .ui-button-text{padding:.4em;text-indent:-9999999px}.ui-button-text-icon-primary .ui-button-text,.ui-button-text-icons .ui-button-text{padding:.4em 1em .4em 2.1em}.ui-button-text-icon-secondary .ui-button-text,.ui-button-text-icons .ui-button-text{padding:.4em 2.1em .4em 1em}.ui-button-text-icons .ui-button-text{padding-left:2.1em;padding-right:2.1em}input.ui-button{padding:.4em 1em}.ui-button-icon-only .ui-icon,.ui-button-text-icon-primary .ui-icon,.ui-button-text-icon-secondary .ui-icon,.ui-button-text-icons .ui-icon,.ui-button-icons-only .ui-icon{position:absolute;top:50%;margin-top:-8px}.ui-button-icon-only .ui-icon{left:50%;margin-left:-8px}.ui-button-text-icon-primary .ui-button-icon-primary,.ui-button-text-icons .ui-button-icon-primary,.ui-button-icons-only .ui-button-icon-primary{left:.5em}.ui-button-text-icon-secondary .ui-button-icon-secondary,.ui-button-text-icons .ui-button-icon-secondary,.ui-button-icons-only .ui-button-icon-secondary{right:.5em}.ui-buttonset{margin-right:7px}.ui-buttonset .ui-button{margin-left:0;margin-right:-.3em}input.ui-button::-moz-focus-inner,button.ui-button::-moz-focus-inner{border:0;padding:0}.ui-datepicker{width:17em;padding:.2em .2em 0;display:none}.ui-datepicker .ui-datepicker-header{position:relative;padding:.2em 0}.ui-datepicker .ui-datepicker-prev,.ui-datepicker .ui-datepicker-next{position:absolute;top:2px;width:1.8em;height:1.8em}.ui-datepicker .ui-datepicker-prev-hover,.ui-datepicker .ui-datepicker-next-hover{top:1px}.ui-datepicker .ui-datepicker-prev{left:2px}.ui-datepicker .ui-datepicker-next{right:2px}.ui-datepicker .ui-datepicker-prev-hover{left:1px}.ui-datepicker .ui-datepicker-next-hover{right:1px}.ui-datepicker .ui-datepicker-prev span,.ui-datepicker .ui-datepicker-next span{display:block;position:absolute;left:50%;margin-left:-8px;top:50%;margin-top:-8px}.ui-datepicker .ui-datepicker-title{margin:0 2.3em;line-height:1.8em;text-align:center}.ui-datepicker .ui-datepicker-title select{font-size:1em;margin:1px 0}.ui-datepicker select.ui-datepicker-month-year{width:100%}.ui-datepicker select.ui-datepicker-month,.ui-datepicker select.ui-datepicker-year{width:49%}.ui-datepicker table{width:100%;font-size:.9em;border-collapse:collapse;margin:0 0 .4em}.ui-datepicker th{padding:.7em .3em;text-align:center;font-weight:700;border:0}.ui-datepicker td{border:0;padding:1px}.ui-datepicker td span,.ui-datepicker td a{display:block;padding:.2em;text-align:right;text-decoration:none}.ui-datepicker .ui-datepicker-buttonpane{background-image:none;margin:.7em 0 0;padding:0 .2em;border-left:0;border-right:0;border-bottom:0}.ui-datepicker .ui-datepicker-buttonpane button{float:right;margin:.5em .2em .4em;cursor:pointer;padding:.2em .6em .3em;width:auto;overflow:visible}.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current{float:left}.ui-datepicker.ui-datepicker-multi{width:auto}.ui-datepicker-multi .ui-datepicker-group{float:left}.ui-datepicker-multi .ui-datepicker-group table{width:95%;margin:0 auto .4em}.ui-datepicker-multi-2 .ui-datepicker-group{width:50%}.ui-datepicker-multi-3 .ui-datepicker-group{width:33.3%}.ui-datepicker-multi-4 .ui-datepicker-group{width:25%}.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header,.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header{border-left-width:0}.ui-datepicker-multi .ui-datepicker-buttonpane{clear:left}.ui-datepicker-row-break{clear:both;width:100%;font-size:0}.ui-datepicker-rtl{direction:rtl}.ui-datepicker-rtl .ui-datepicker-prev{right:2px;left:auto}.ui-datepicker-rtl .ui-datepicker-next{left:2px;right:auto}.ui-datepicker-rtl .ui-datepicker-prev:hover{right:1px;left:auto}.ui-datepicker-rtl .ui-datepicker-next:hover{left:1px;right:auto}.ui-datepicker-rtl .ui-datepicker-buttonpane{clear:right}.ui-datepicker-rtl .ui-datepicker-buttonpane button{float:left}.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current,.ui-datepicker-rtl .ui-datepicker-group{float:right}.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header,.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header{border-right-width:0;border-left-width:1px}.ui-dialog{position:absolute;top:0;left:0;padding:.2em;outline:0}.ui-dialog .ui-dialog-titlebar{padding:.4em 1em;position:relative}.ui-dialog .ui-dialog-title{float:left;margin:.1em 0;white-space:nowrap;width:90%;overflow:hidden;text-overflow:ellipsis}.ui-dialog .ui-dialog-titlebar-close{position:absolute;right:.3em;top:50%;width:21px;margin:-10px 0 0 0;padding:1px;height:20px}.ui-dialog .ui-dialog-content{position:relative;border:0;padding:.5em 1em;background:0;overflow:auto}.ui-dialog .ui-dialog-buttonpane{text-align:left;border-width:1px 0 0;background-image:none;margin-top:.5em;padding:.3em 1em .5em .4em}.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset{float:right}.ui-dialog .ui-dialog-buttonpane button{margin:.5em .4em .5em 0;cursor:pointer}.ui-dialog .ui-resizable-se{width:12px;height:12px;right:-5px;bottom:-5px;background-position:16px 16px}.ui-draggable .ui-dialog-titlebar{cursor:move}.ui-menu{list-style:none;padding:2px;margin:0;display:block;outline:0}.ui-menu .ui-menu{margin-top:-3px;position:absolute}.ui-menu .ui-menu-item{margin:0;padding:0;width:100%}.ui-menu .ui-menu-divider{margin:5px -2px 5px -2px;height:0;font-size:0;line-height:0;border-width:1px 0 0}.ui-menu .ui-menu-item a{text-decoration:none;display:block;padding:2px .4em;line-height:1.5;min-height:0;font-weight:400}.ui-menu .ui-menu-item a.ui-state-focus,.ui-menu .ui-menu-item a.ui-state-active{font-weight:400;margin:-1px}.ui-menu .ui-state-disabled{font-weight:400;margin:.4em 0 .2em;line-height:1.5}.ui-menu .ui-state-disabled a{cursor:default}.ui-menu-icons{position:relative}.ui-menu-icons .ui-menu-item a{position:relative;padding-left:2em}.ui-menu .ui-icon{position:absolute;top:.2em;left:.2em}.ui-menu .ui-menu-icon{position:static;float:right}.ui-progressbar{height:2em;text-align:left;overflow:hidden}.ui-progressbar .ui-progressbar-value{margin:-1px;height:100%}.ui-progressbar .ui-progressbar-overlay{background:url(images/animated-overlay.gif);height:100%;filter:alpha(opacity=25);opacity:.25}.ui-progressbar-indeterminate .ui-progressbar-value{background-image:none}.ui-resizable{position:relative}.ui-resizable-handle{position:absolute;font-size:.1px;display:block}.ui-resizable-disabled .ui-resizable-handle,.ui-resizable-autohide .ui-resizable-handle{display:none}.ui-resizable-n{cursor:n-resize;height:7px;width:100%;top:-5px;left:0}.ui-resizable-s{cursor:s-resize;height:7px;width:100%;bottom:-5px;left:0}.ui-resizable-e{cursor:e-resize;width:7px;right:-5px;top:0;height:100%}.ui-resizable-w{cursor:w-resize;width:7px;left:-5px;top:0;height:100%}.ui-resizable-se{cursor:se-resize;width:12px;height:12px;right:1px;bottom:1px}.ui-resizable-sw{cursor:sw-resize;width:9px;height:9px;left:-5px;bottom:-5px}.ui-resizable-nw{cursor:nw-resize;width:9px;height:9px;left:-5px;top:-5px}.ui-resizable-ne{cursor:ne-resize;width:9px;height:9px;right:-5px;top:-5px}.ui-selectable-helper{position:absolute;z-index:100;border:1px dotted #000}.ui-slider{position:relative;text-align:left}.ui-slider .ui-slider-handle{position:absolute;z-index:2;width:1.2em;height:1.2em;cursor:default}.ui-slider .ui-slider-range{position:absolute;z-index:1;font-size:.7em;display:block;border:0;background-position:0 0}.ui-slider.ui-state-disabled .ui-slider-handle,.ui-slider.ui-state-disabled .ui-slider-range{filter:inherit}.ui-slider-horizontal{height:.8em}.ui-slider-horizontal .ui-slider-handle{top:-.3em;margin-left:-.6em}.ui-slider-horizontal .ui-slider-range{top:0;height:100%}.ui-slider-horizontal .ui-slider-range-min{left:0}.ui-slider-horizontal .ui-slider-range-max{right:0}.ui-slider-vertical{width:.8em;height:100px}.ui-slider-vertical .ui-slider-handle{left:-.3em;margin-left:0;margin-bottom:-.6em}.ui-slider-vertical .ui-slider-range{left:0;width:100%}.ui-slider-vertical .ui-slider-range-min{bottom:0}.ui-slider-vertical .ui-slider-range-max{top:0}.ui-spinner{position:relative;display:inline-block;overflow:hidden;padding:0;vertical-align:middle}.ui-spinner-input{border:0;background:0;color:inherit;padding:0;margin:.2em 0;vertical-align:middle;margin-left:.4em;margin-right:22px}.ui-spinner-button{width:16px;height:50%;font-size:.5em;padding:0;margin:0;text-align:center;position:absolute;cursor:default;display:block;overflow:hidden;right:0}.ui-spinner a.ui-spinner-button{border-top:0;border-bottom:0;border-right:0}.ui-spinner .ui-icon{position:absolute;margin-top:-8px;top:50%;left:0}.ui-spinner-up{top:0}.ui-spinner-down{bottom:0}.ui-spinner .ui-icon-triangle-1-s{background-position:-65px -16px}.ui-tabs{position:relative;padding:.2em}.ui-tabs .ui-tabs-nav{margin:0;padding:.2em .2em 0}.ui-tabs .ui-tabs-nav li{list-style:none;float:left;position:relative;top:0;margin:1px .2em 0 0;border-bottom-width:0;padding:0;white-space:nowrap}.ui-tabs .ui-tabs-nav li a{float:left;padding:.5em 1em;text-decoration:none}.ui-tabs .ui-tabs-nav li.ui-tabs-active{margin-bottom:-1px;padding-bottom:1px}.ui-tabs .ui-tabs-nav li.ui-tabs-active a,.ui-tabs .ui-tabs-nav li.ui-state-disabled a,.ui-tabs .ui-tabs-nav li.ui-tabs-loading a{cursor:text}.ui-tabs .ui-tabs-nav li a,.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active a{cursor:pointer}.ui-tabs .ui-tabs-panel{display:block;border-width:0;padding:1em 1.4em;background:0}.ui-tooltip{padding:8px;position:absolute;z-index:9999;max-width:300px;-webkit-box-shadow:0 0 5px #aaa;box-shadow:0 0 5px #aaa}body .ui-tooltip{border-width:2px}.ui-widget{font-family:Verdana,Arial,sans-serif;font-size:1.1em}.ui-widget .ui-widget{font-size:1em}.ui-widget input,.ui-widget select,.ui-widget textarea,.ui-widget button{font-family:Verdana,Arial,sans-serif;font-size:1em}.ui-widget-content{border:1px solid #aaa;background:#fff url(images/ui-bg_flat_75_ffffff_40x100.png) 50% 50% repeat-x;color:#222}.ui-widget-content a{color:#222}.ui-widget-header{border:1px solid #aaa;background:#ccc url(images/ui-bg_highlight-soft_75_cccccc_1x100.png) 50% 50% repeat-x;color:#222;font-weight:bold}.ui-widget-header a{color:#222}.ui-state-default,.ui-widget-content .ui-state-default,.ui-widget-header .ui-state-default{border:1px solid #d3d3d3;background:#e6e6e6 url(images/ui-bg_glass_75_e6e6e6_1x400.png) 50% 50% repeat-x;font-weight:normal;color:#555}.ui-state-default a,.ui-state-default a:link,.ui-state-default a:visited{color:#555;text-decoration:none}.ui-state-hover,.ui-widget-content .ui-state-hover,.ui-widget-header .ui-state-hover,.ui-state-focus,.ui-widget-content .ui-state-focus,.ui-widget-header .ui-state-focus{border:1px solid #999;background:#dadada url(images/ui-bg_glass_75_dadada_1x400.png) 50% 50% repeat-x;font-weight:normal;color:#212121}.ui-state-hover a,.ui-state-hover a:hover,.ui-state-hover a:link,.ui-state-hover a:visited{color:#212121;text-decoration:none}.ui-state-active,.ui-widget-content .ui-state-active,.ui-widget-header .ui-state-active{border:1px solid #aaa;background:#fff url(images/ui-bg_glass_65_ffffff_1x400.png) 50% 50% repeat-x;font-weight:normal;color:#212121}.ui-state-active a,.ui-state-active a:link,.ui-state-active a:visited{color:#212121;text-decoration:none}.ui-state-highlight,.ui-widget-content .ui-state-highlight,.ui-widget-header .ui-state-highlight{border:1px solid #fcefa1;background:#fbf9ee url(images/ui-bg_glass_55_fbf9ee_1x400.png) 50% 50% repeat-x;color:#363636}.ui-state-highlight a,.ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a{color:#363636}.ui-state-error,.ui-widget-content .ui-state-error,.ui-widget-header .ui-state-error{border:1px solid #cd0a0a;background:#fef1ec url(images/ui-bg_glass_95_fef1ec_1x400.png) 50% 50% repeat-x;color:#cd0a0a}.ui-state-error a,.ui-widget-content .ui-state-error a,.ui-widget-header .ui-state-error a{color:#cd0a0a}.ui-state-error-text,.ui-widget-content .ui-state-error-text,.ui-widget-header .ui-state-error-text{color:#cd0a0a}.ui-priority-primary,.ui-widget-content .ui-priority-primary,.ui-widget-header .ui-priority-primary{font-weight:bold}.ui-priority-secondary,.ui-widget-content .ui-priority-secondary,.ui-widget-header .ui-priority-secondary{opacity:.7;filter:Alpha(Opacity=70);font-weight:normal}.ui-state-disabled,.ui-widget-content .ui-state-disabled,.ui-widget-header .ui-state-disabled{opacity:.35;filter:Alpha(Opacity=35);background-image:none}.ui-state-disabled .ui-icon{filter:Alpha(Opacity=35)}.ui-icon{width:16px;height:16px}.ui-icon,.ui-widget-content .ui-icon{background-image:url(images/ui-icons_222222_256x240.png)}.ui-widget-header .ui-icon{background-image:url(images/ui-icons_222222_256x240.png)}.ui-state-default .ui-icon{background-image:url(images/ui-icons_888888_256x240.png)}.ui-state-hover .ui-icon,.ui-state-focus .ui-icon{background-image:url(images/ui-icons_454545_256x240.png)}.ui-state-active .ui-icon{background-image:url(images/ui-icons_454545_256x240.png)}.ui-state-highlight .ui-icon{background-image:url(images/ui-icons_2e83ff_256x240.png)}.ui-state-error .ui-icon,.ui-state-error-text .ui-icon{background-image:url(images/ui-icons_cd0a0a_256x240.png)}.ui-icon-blank{background-position:16px 16px}.ui-icon-carat-1-n{background-position:0 0}.ui-icon-carat-1-ne{background-position:-16px 0}.ui-icon-carat-1-e{background-position:-32px 0}.ui-icon-carat-1-se{background-position:-48px 0}.ui-icon-carat-1-s{background-position:-64px 0}.ui-icon-carat-1-sw{background-position:-80px 0}.ui-icon-carat-1-w{background-position:-96px 0}.ui-icon-carat-1-nw{background-position:-112px 0}.ui-icon-carat-2-n-s{background-position:-128px 0}.ui-icon-carat-2-e-w{background-position:-144px 0}.ui-icon-triangle-1-n{background-position:0 -16px}.ui-icon-triangle-1-ne{background-position:-16px -16px}.ui-icon-triangle-1-e{background-position:-32px -16px}.ui-icon-triangle-1-se{background-position:-48px -16px}.ui-icon-triangle-1-s{background-position:-64px -16px}.ui-icon-triangle-1-sw{background-position:-80px -16px}.ui-icon-triangle-1-w{background-position:-96px -16px}.ui-icon-triangle-1-nw{background-position:-112px -16px}.ui-icon-triangle-2-n-s{background-position:-128px -16px}.ui-icon-triangle-2-e-w{background-position:-144px -16px}.ui-icon-arrow-1-n{background-position:0 -32px}.ui-icon-arrow-1-ne{background-position:-16px -32px}.ui-icon-arrow-1-e{background-position:-32px -32px}.ui-icon-arrow-1-se{background-position:-48px -32px}.ui-icon-arrow-1-s{background-position:-64px -32px}.ui-icon-arrow-1-sw{background-position:-80px -32px}.ui-icon-arrow-1-w{background-position:-96px -32px}.ui-icon-arrow-1-nw{background-position:-112px -32px}.ui-icon-arrow-2-n-s{background-position:-128px -32px}.ui-icon-arrow-2-ne-sw{background-position:-144px -32px}.ui-icon-arrow-2-e-w{background-position:-160px -32px}.ui-icon-arrow-2-se-nw{background-position:-176px -32px}.ui-icon-arrowstop-1-n{background-position:-192px -32px}.ui-icon-arrowstop-1-e{background-position:-208px -32px}.ui-icon-arrowstop-1-s{background-position:-224px -32px}.ui-icon-arrowstop-1-w{background-position:-240px -32px}.ui-icon-arrowthick-1-n{background-position:0 -48px}.ui-icon-arrowthick-1-ne{background-position:-16px -48px}.ui-icon-arrowthick-1-e{background-position:-32px -48px}.ui-icon-arrowthick-1-se{background-position:-48px -48px}.ui-icon-arrowthick-1-s{background-position:-64px -48px}.ui-icon-arrowthick-1-sw{background-position:-80px -48px}.ui-icon-arrowthick-1-w{background-position:-96px -48px}.ui-icon-arrowthick-1-nw{background-position:-112px -48px}.ui-icon-arrowthick-2-n-s{background-position:-128px -48px}.ui-icon-arrowthick-2-ne-sw{background-position:-144px -48px}.ui-icon-arrowthick-2-e-w{background-position:-160px -48px}.ui-icon-arrowthick-2-se-nw{background-position:-176px -48px}.ui-icon-arrowthickstop-1-n{background-position:-192px -48px}.ui-icon-arrowthickstop-1-e{background-position:-208px -48px}.ui-icon-arrowthickstop-1-s{background-position:-224px -48px}.ui-icon-arrowthickstop-1-w{background-position:-240px -48px}.ui-icon-arrowreturnthick-1-w{background-position:0 -64px}.ui-icon-arrowreturnthick-1-n{background-position:-16px -64px}.ui-icon-arrowreturnthick-1-e{background-position:-32px -64px}.ui-icon-arrowreturnthick-1-s{background-position:-48px -64px}.ui-icon-arrowreturn-1-w{background-position:-64px -64px}.ui-icon-arrowreturn-1-n{background-position:-80px -64px}.ui-icon-arrowreturn-1-e{background-position:-96px -64px}.ui-icon-arrowreturn-1-s{background-position:-112px -64px}.ui-icon-arrowrefresh-1-w{background-position:-128px -64px}.ui-icon-arrowrefresh-1-n{background-position:-144px -64px}.ui-icon-arrowrefresh-1-e{background-position:-160px -64px}.ui-icon-arrowrefresh-1-s{background-position:-176px -64px}.ui-icon-arrow-4{background-position:0 -80px}.ui-icon-arrow-4-diag{background-position:-16px -80px}.ui-icon-extlink{background-position:-32px -80px}.ui-icon-newwin{background-position:-48px -80px}.ui-icon-refresh{background-position:-64px -80px}.ui-icon-shuffle{background-position:-80px -80px}.ui-icon-transfer-e-w{background-position:-96px -80px}.ui-icon-transferthick-e-w{background-position:-112px -80px}.ui-icon-folder-collapsed{background-position:0 -96px}.ui-icon-folder-open{background-position:-16px -96px}.ui-icon-document{background-position:-32px -96px}.ui-icon-document-b{background-position:-48px -96px}.ui-icon-note{background-position:-64px -96px}.ui-icon-mail-closed{background-position:-80px -96px}.ui-icon-mail-open{background-position:-96px -96px}.ui-icon-suitcase{background-position:-112px -96px}.ui-icon-comment{background-position:-128px -96px}.ui-icon-person{background-position:-144px -96px}.ui-icon-print{background-position:-160px -96px}.ui-icon-trash{background-position:-176px -96px}.ui-icon-locked{background-position:-192px -96px}.ui-icon-unlocked{background-position:-208px -96px}.ui-icon-bookmark{background-position:-224px -96px}.ui-icon-tag{background-position:-240px -96px}.ui-icon-home{background-position:0 -112px}.ui-icon-flag{background-position:-16px -112px}.ui-icon-calendar{background-position:-32px -112px}.ui-icon-cart{background-position:-48px -112px}.ui-icon-pencil{background-position:-64px -112px}.ui-icon-clock{background-position:-80px -112px}.ui-icon-disk{background-position:-96px -112px}.ui-icon-calculator{background-position:-112px -112px}.ui-icon-zoomin{background-position:-128px -112px}.ui-icon-zoomout{background-position:-144px -112px}.ui-icon-search{background-position:-160px -112px}.ui-icon-wrench{background-position:-176px -112px}.ui-icon-gear{background-position:-192px -112px}.ui-icon-heart{background-position:-208px -112px}.ui-icon-star{background-position:-224px -112px}.ui-icon-link{background-position:-240px -112px}.ui-icon-cancel{background-position:0 -128px}.ui-icon-plus{background-position:-16px -128px}.ui-icon-plusthick{background-position:-32px -128px}.ui-icon-minus{background-position:-48px -128px}.ui-icon-minusthick{background-position:-64px -128px}.ui-icon-close{background-position:-80px -128px}.ui-icon-closethick{background-position:-96px -128px}.ui-icon-key{background-position:-112px -128px}.ui-icon-lightbulb{background-position:-128px -128px}.ui-icon-scissors{background-position:-144px -128px}.ui-icon-clipboard{background-position:-160px -128px}.ui-icon-copy{background-position:-176px -128px}.ui-icon-contact{background-position:-192px -128px}.ui-icon-image{background-position:-208px -128px}.ui-icon-video{background-position:-224px -128px}.ui-icon-script{background-position:-240px -128px}.ui-icon-alert{background-position:0 -144px}.ui-icon-info{background-position:-16px -144px}.ui-icon-notice{background-position:-32px -144px}.ui-icon-help{background-position:-48px -144px}.ui-icon-check{background-position:-64px -144px}.ui-icon-bullet{background-position:-80px -144px}.ui-icon-radio-on{background-position:-96px -144px}.ui-icon-radio-off{background-position:-112px -144px}.ui-icon-pin-w{background-position:-128px -144px}.ui-icon-pin-s{background-position:-144px -144px}.ui-icon-play{background-position:0 -160px}.ui-icon-pause{background-position:-16px -160px}.ui-icon-seek-next{background-position:-32px -160px}.ui-icon-seek-prev{background-position:-48px -160px}.ui-icon-seek-end{background-position:-64px -160px}.ui-icon-seek-start{background-position:-80px -160px}.ui-icon-seek-first{background-position:-80px -160px}.ui-icon-stop{background-position:-96px -160px}.ui-icon-eject{background-position:-112px -160px}.ui-icon-volume-off{background-position:-128px -160px}.ui-icon-volume-on{background-position:-144px -160px}.ui-icon-power{background-position:0 -176px}.ui-icon-signal-diag{background-position:-16px -176px}.ui-icon-signal{background-position:-32px -176px}.ui-icon-battery-0{background-position:-48px -176px}.ui-icon-battery-1{background-position:-64px -176px}.ui-icon-battery-2{background-position:-80px -176px}.ui-icon-battery-3{background-position:-96px -176px}.ui-icon-circle-plus{background-position:0 -192px}.ui-icon-circle-minus{background-position:-16px -192px}.ui-icon-circle-close{background-position:-32px -192px}.ui-icon-circle-triangle-e{background-position:-48px -192px}.ui-icon-circle-triangle-s{background-position:-64px -192px}.ui-icon-circle-triangle-w{background-position:-80px -192px}.ui-icon-circle-triangle-n{background-position:-96px -192px}.ui-icon-circle-arrow-e{background-position:-112px -192px}.ui-icon-circle-arrow-s{background-position:-128px -192px}.ui-icon-circle-arrow-w{background-position:-144px -192px}.ui-icon-circle-arrow-n{background-position:-160px -192px}.ui-icon-circle-zoomin{background-position:-176px -192px}.ui-icon-circle-zoomout{background-position:-192px -192px}.ui-icon-circle-check{background-position:-208px -192px}.ui-icon-circlesmall-plus{background-position:0 -208px}.ui-icon-circlesmall-minus{background-position:-16px -208px}.ui-icon-circlesmall-close{background-position:-32px -208px}.ui-icon-squaresmall-plus{background-position:-48px -208px}.ui-icon-squaresmall-minus{background-position:-64px -208px}.ui-icon-squaresmall-close{background-position:-80px -208px}.ui-icon-grip-dotted-vertical{background-position:0 -224px}.ui-icon-grip-dotted-horizontal{background-position:-16px -224px}.ui-icon-grip-solid-vertical{background-position:-32px -224px}.ui-icon-grip-solid-horizontal{background-position:-48px -224px}.ui-icon-gripsmall-diagonal-se{background-position:-64px -224px}.ui-icon-grip-diagonal-se{background-position:-80px -224px}.ui-corner-all,.ui-corner-top,.ui-corner-left,.ui-corner-tl{border-top-left-radius:4px}.ui-corner-all,.ui-corner-top,.ui-corner-right,.ui-corner-tr{border-top-right-radius:4px}.ui-corner-all,.ui-corner-bottom,.ui-corner-left,.ui-corner-bl{border-bottom-left-radius:4px}.ui-corner-all,.ui-corner-bottom,.ui-corner-right,.ui-corner-br{border-bottom-right-radius:4px}.ui-widget-overlay{background:#aaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x;opacity:.3;filter:Alpha(Opacity=30)}.ui-widget-shadow{margin:-8px 0 0 -8px;padding:8px;background:#aaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x;opacity:.3;filter:Alpha(Opacity=30);border-radius:8px} \ No newline at end of file diff --git a/test/lib/jquery-ui-1.10.2/js/jquery-ui-1.10.2.min.js b/test/lib/jquery-ui-1.10.2/js/jquery-ui-1.10.2.min.js new file mode 100755 index 00000000..cb0c100b --- /dev/null +++ b/test/lib/jquery-ui-1.10.2/js/jquery-ui-1.10.2.min.js @@ -0,0 +1,7 @@ +/*! jQuery UI - v1.10.2 - 2013-03-14 +* http://jqueryui.com +* Includes: jquery.ui.core.js, jquery.ui.widget.js, jquery.ui.mouse.js, jquery.ui.position.js, jquery.ui.accordion.js, jquery.ui.autocomplete.js, jquery.ui.button.js, jquery.ui.datepicker.js, jquery.ui.dialog.js, jquery.ui.draggable.js, jquery.ui.droppable.js, jquery.ui.effect.js, jquery.ui.effect-blind.js, jquery.ui.effect-bounce.js, jquery.ui.effect-clip.js, jquery.ui.effect-drop.js, jquery.ui.effect-explode.js, jquery.ui.effect-fade.js, jquery.ui.effect-fold.js, jquery.ui.effect-highlight.js, jquery.ui.effect-pulsate.js, jquery.ui.effect-scale.js, jquery.ui.effect-shake.js, jquery.ui.effect-slide.js, jquery.ui.effect-transfer.js, jquery.ui.menu.js, jquery.ui.progressbar.js, jquery.ui.resizable.js, jquery.ui.selectable.js, jquery.ui.slider.js, jquery.ui.sortable.js, jquery.ui.spinner.js, jquery.ui.tabs.js, jquery.ui.tooltip.js +* Copyright 2013 jQuery Foundation and other contributors Licensed MIT */ + +(function(e,t){function i(t,i){var a,n,r,o=t.nodeName.toLowerCase();return"area"===o?(a=t.parentNode,n=a.name,t.href&&n&&"map"===a.nodeName.toLowerCase()?(r=e("img[usemap=#"+n+"]")[0],!!r&&s(r)):!1):(/input|select|textarea|button|object/.test(o)?!t.disabled:"a"===o?t.href||i:i)&&s(t)}function s(t){return e.expr.filters.visible(t)&&!e(t).parents().addBack().filter(function(){return"hidden"===e.css(this,"visibility")}).length}var a=0,n=/^ui-id-\d+$/;e.ui=e.ui||{},e.extend(e.ui,{version:"1.10.2",keyCode:{BACKSPACE:8,COMMA:188,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,LEFT:37,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SPACE:32,TAB:9,UP:38}}),e.fn.extend({focus:function(t){return function(i,s){return"number"==typeof i?this.each(function(){var t=this;setTimeout(function(){e(t).focus(),s&&s.call(t)},i)}):t.apply(this,arguments)}}(e.fn.focus),scrollParent:function(){var t;return t=e.ui.ie&&/(static|relative)/.test(this.css("position"))||/absolute/.test(this.css("position"))?this.parents().filter(function(){return/(relative|absolute|fixed)/.test(e.css(this,"position"))&&/(auto|scroll)/.test(e.css(this,"overflow")+e.css(this,"overflow-y")+e.css(this,"overflow-x"))}).eq(0):this.parents().filter(function(){return/(auto|scroll)/.test(e.css(this,"overflow")+e.css(this,"overflow-y")+e.css(this,"overflow-x"))}).eq(0),/fixed/.test(this.css("position"))||!t.length?e(document):t},zIndex:function(i){if(i!==t)return this.css("zIndex",i);if(this.length)for(var s,a,n=e(this[0]);n.length&&n[0]!==document;){if(s=n.css("position"),("absolute"===s||"relative"===s||"fixed"===s)&&(a=parseInt(n.css("zIndex"),10),!isNaN(a)&&0!==a))return a;n=n.parent()}return 0},uniqueId:function(){return this.each(function(){this.id||(this.id="ui-id-"+ ++a)})},removeUniqueId:function(){return this.each(function(){n.test(this.id)&&e(this).removeAttr("id")})}}),e.extend(e.expr[":"],{data:e.expr.createPseudo?e.expr.createPseudo(function(t){return function(i){return!!e.data(i,t)}}):function(t,i,s){return!!e.data(t,s[3])},focusable:function(t){return i(t,!isNaN(e.attr(t,"tabindex")))},tabbable:function(t){var s=e.attr(t,"tabindex"),a=isNaN(s);return(a||s>=0)&&i(t,!a)}}),e("").outerWidth(1).jquery||e.each(["Width","Height"],function(i,s){function a(t,i,s,a){return e.each(n,function(){i-=parseFloat(e.css(t,"padding"+this))||0,s&&(i-=parseFloat(e.css(t,"border"+this+"Width"))||0),a&&(i-=parseFloat(e.css(t,"margin"+this))||0)}),i}var n="Width"===s?["Left","Right"]:["Top","Bottom"],r=s.toLowerCase(),o={innerWidth:e.fn.innerWidth,innerHeight:e.fn.innerHeight,outerWidth:e.fn.outerWidth,outerHeight:e.fn.outerHeight};e.fn["inner"+s]=function(i){return i===t?o["inner"+s].call(this):this.each(function(){e(this).css(r,a(this,i)+"px")})},e.fn["outer"+s]=function(t,i){return"number"!=typeof t?o["outer"+s].call(this,t):this.each(function(){e(this).css(r,a(this,t,!0,i)+"px")})}}),e.fn.addBack||(e.fn.addBack=function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}),e("").data("a-b","a").removeData("a-b").data("a-b")&&(e.fn.removeData=function(t){return function(i){return arguments.length?t.call(this,e.camelCase(i)):t.call(this)}}(e.fn.removeData)),e.ui.ie=!!/msie [\w.]+/.exec(navigator.userAgent.toLowerCase()),e.support.selectstart="onselectstart"in document.createElement("div"),e.fn.extend({disableSelection:function(){return this.bind((e.support.selectstart?"selectstart":"mousedown")+".ui-disableSelection",function(e){e.preventDefault()})},enableSelection:function(){return this.unbind(".ui-disableSelection")}}),e.extend(e.ui,{plugin:{add:function(t,i,s){var a,n=e.ui[t].prototype;for(a in s)n.plugins[a]=n.plugins[a]||[],n.plugins[a].push([i,s[a]])},call:function(e,t,i){var s,a=e.plugins[t];if(a&&e.element[0].parentNode&&11!==e.element[0].parentNode.nodeType)for(s=0;a.length>s;s++)e.options[a[s][0]]&&a[s][1].apply(e.element,i)}},hasScroll:function(t,i){if("hidden"===e(t).css("overflow"))return!1;var s=i&&"left"===i?"scrollLeft":"scrollTop",a=!1;return t[s]>0?!0:(t[s]=1,a=t[s]>0,t[s]=0,a)}})})(jQuery);(function(e,t){var i=0,s=Array.prototype.slice,n=e.cleanData;e.cleanData=function(t){for(var i,s=0;null!=(i=t[s]);s++)try{e(i).triggerHandler("remove")}catch(a){}n(t)},e.widget=function(i,s,n){var a,r,o,h,l={},u=i.split(".")[0];i=i.split(".")[1],a=u+"-"+i,n||(n=s,s=e.Widget),e.expr[":"][a.toLowerCase()]=function(t){return!!e.data(t,a)},e[u]=e[u]||{},r=e[u][i],o=e[u][i]=function(e,i){return this._createWidget?(arguments.length&&this._createWidget(e,i),t):new o(e,i)},e.extend(o,r,{version:n.version,_proto:e.extend({},n),_childConstructors:[]}),h=new s,h.options=e.widget.extend({},h.options),e.each(n,function(i,n){return e.isFunction(n)?(l[i]=function(){var e=function(){return s.prototype[i].apply(this,arguments)},t=function(e){return s.prototype[i].apply(this,e)};return function(){var i,s=this._super,a=this._superApply;return this._super=e,this._superApply=t,i=n.apply(this,arguments),this._super=s,this._superApply=a,i}}(),t):(l[i]=n,t)}),o.prototype=e.widget.extend(h,{widgetEventPrefix:r?h.widgetEventPrefix:i},l,{constructor:o,namespace:u,widgetName:i,widgetFullName:a}),r?(e.each(r._childConstructors,function(t,i){var s=i.prototype;e.widget(s.namespace+"."+s.widgetName,o,i._proto)}),delete r._childConstructors):s._childConstructors.push(o),e.widget.bridge(i,o)},e.widget.extend=function(i){for(var n,a,r=s.call(arguments,1),o=0,h=r.length;h>o;o++)for(n in r[o])a=r[o][n],r[o].hasOwnProperty(n)&&a!==t&&(i[n]=e.isPlainObject(a)?e.isPlainObject(i[n])?e.widget.extend({},i[n],a):e.widget.extend({},a):a);return i},e.widget.bridge=function(i,n){var a=n.prototype.widgetFullName||i;e.fn[i]=function(r){var o="string"==typeof r,h=s.call(arguments,1),l=this;return r=!o&&h.length?e.widget.extend.apply(null,[r].concat(h)):r,o?this.each(function(){var s,n=e.data(this,a);return n?e.isFunction(n[r])&&"_"!==r.charAt(0)?(s=n[r].apply(n,h),s!==n&&s!==t?(l=s&&s.jquery?l.pushStack(s.get()):s,!1):t):e.error("no such method '"+r+"' for "+i+" widget instance"):e.error("cannot call methods on "+i+" prior to initialization; "+"attempted to call method '"+r+"'")}):this.each(function(){var t=e.data(this,a);t?t.option(r||{})._init():e.data(this,a,new n(r,this))}),l}},e.Widget=function(){},e.Widget._childConstructors=[],e.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",defaultElement:"

",options:{disabled:!1,create:null},_createWidget:function(t,s){s=e(s||this.defaultElement||this)[0],this.element=e(s),this.uuid=i++,this.eventNamespace="."+this.widgetName+this.uuid,this.options=e.widget.extend({},this.options,this._getCreateOptions(),t),this.bindings=e(),this.hoverable=e(),this.focusable=e(),s!==this&&(e.data(s,this.widgetFullName,this),this._on(!0,this.element,{remove:function(e){e.target===s&&this.destroy()}}),this.document=e(s.style?s.ownerDocument:s.document||s),this.window=e(this.document[0].defaultView||this.document[0].parentWindow)),this._create(),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:e.noop,_getCreateEventData:e.noop,_create:e.noop,_init:e.noop,destroy:function(){this._destroy(),this.element.unbind(this.eventNamespace).removeData(this.widgetName).removeData(this.widgetFullName).removeData(e.camelCase(this.widgetFullName)),this.widget().unbind(this.eventNamespace).removeAttr("aria-disabled").removeClass(this.widgetFullName+"-disabled "+"ui-state-disabled"),this.bindings.unbind(this.eventNamespace),this.hoverable.removeClass("ui-state-hover"),this.focusable.removeClass("ui-state-focus")},_destroy:e.noop,widget:function(){return this.element},option:function(i,s){var n,a,r,o=i;if(0===arguments.length)return e.widget.extend({},this.options);if("string"==typeof i)if(o={},n=i.split("."),i=n.shift(),n.length){for(a=o[i]=e.widget.extend({},this.options[i]),r=0;n.length-1>r;r++)a[n[r]]=a[n[r]]||{},a=a[n[r]];if(i=n.pop(),s===t)return a[i]===t?null:a[i];a[i]=s}else{if(s===t)return this.options[i]===t?null:this.options[i];o[i]=s}return this._setOptions(o),this},_setOptions:function(e){var t;for(t in e)this._setOption(t,e[t]);return this},_setOption:function(e,t){return this.options[e]=t,"disabled"===e&&(this.widget().toggleClass(this.widgetFullName+"-disabled ui-state-disabled",!!t).attr("aria-disabled",t),this.hoverable.removeClass("ui-state-hover"),this.focusable.removeClass("ui-state-focus")),this},enable:function(){return this._setOption("disabled",!1)},disable:function(){return this._setOption("disabled",!0)},_on:function(i,s,n){var a,r=this;"boolean"!=typeof i&&(n=s,s=i,i=!1),n?(s=a=e(s),this.bindings=this.bindings.add(s)):(n=s,s=this.element,a=this.widget()),e.each(n,function(n,o){function h(){return i||r.options.disabled!==!0&&!e(this).hasClass("ui-state-disabled")?("string"==typeof o?r[o]:o).apply(r,arguments):t}"string"!=typeof o&&(h.guid=o.guid=o.guid||h.guid||e.guid++);var l=n.match(/^(\w+)\s*(.*)$/),u=l[1]+r.eventNamespace,c=l[2];c?a.delegate(c,u,h):s.bind(u,h)})},_off:function(e,t){t=(t||"").split(" ").join(this.eventNamespace+" ")+this.eventNamespace,e.unbind(t).undelegate(t)},_delay:function(e,t){function i(){return("string"==typeof e?s[e]:e).apply(s,arguments)}var s=this;return setTimeout(i,t||0)},_hoverable:function(t){this.hoverable=this.hoverable.add(t),this._on(t,{mouseenter:function(t){e(t.currentTarget).addClass("ui-state-hover")},mouseleave:function(t){e(t.currentTarget).removeClass("ui-state-hover")}})},_focusable:function(t){this.focusable=this.focusable.add(t),this._on(t,{focusin:function(t){e(t.currentTarget).addClass("ui-state-focus")},focusout:function(t){e(t.currentTarget).removeClass("ui-state-focus")}})},_trigger:function(t,i,s){var n,a,r=this.options[t];if(s=s||{},i=e.Event(i),i.type=(t===this.widgetEventPrefix?t:this.widgetEventPrefix+t).toLowerCase(),i.target=this.element[0],a=i.originalEvent)for(n in a)n in i||(i[n]=a[n]);return this.element.trigger(i,s),!(e.isFunction(r)&&r.apply(this.element[0],[i].concat(s))===!1||i.isDefaultPrevented())}},e.each({show:"fadeIn",hide:"fadeOut"},function(t,i){e.Widget.prototype["_"+t]=function(s,n,a){"string"==typeof n&&(n={effect:n});var r,o=n?n===!0||"number"==typeof n?i:n.effect||i:t;n=n||{},"number"==typeof n&&(n={duration:n}),r=!e.isEmptyObject(n),n.complete=a,n.delay&&s.delay(n.delay),r&&e.effects&&e.effects.effect[o]?s[t](n):o!==t&&s[o]?s[o](n.duration,n.easing,a):s.queue(function(i){e(this)[t](),a&&a.call(s[0]),i()})}})})(jQuery);(function(e){var t=!1;e(document).mouseup(function(){t=!1}),e.widget("ui.mouse",{version:"1.10.2",options:{cancel:"input,textarea,button,select,option",distance:1,delay:0},_mouseInit:function(){var t=this;this.element.bind("mousedown."+this.widgetName,function(e){return t._mouseDown(e)}).bind("click."+this.widgetName,function(i){return!0===e.data(i.target,t.widgetName+".preventClickEvent")?(e.removeData(i.target,t.widgetName+".preventClickEvent"),i.stopImmediatePropagation(),!1):undefined}),this.started=!1},_mouseDestroy:function(){this.element.unbind("."+this.widgetName),this._mouseMoveDelegate&&e(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate)},_mouseDown:function(i){if(!t){this._mouseStarted&&this._mouseUp(i),this._mouseDownEvent=i;var s=this,n=1===i.which,a="string"==typeof this.options.cancel&&i.target.nodeName?e(i.target).closest(this.options.cancel).length:!1;return n&&!a&&this._mouseCapture(i)?(this.mouseDelayMet=!this.options.delay,this.mouseDelayMet||(this._mouseDelayTimer=setTimeout(function(){s.mouseDelayMet=!0},this.options.delay)),this._mouseDistanceMet(i)&&this._mouseDelayMet(i)&&(this._mouseStarted=this._mouseStart(i)!==!1,!this._mouseStarted)?(i.preventDefault(),!0):(!0===e.data(i.target,this.widgetName+".preventClickEvent")&&e.removeData(i.target,this.widgetName+".preventClickEvent"),this._mouseMoveDelegate=function(e){return s._mouseMove(e)},this._mouseUpDelegate=function(e){return s._mouseUp(e)},e(document).bind("mousemove."+this.widgetName,this._mouseMoveDelegate).bind("mouseup."+this.widgetName,this._mouseUpDelegate),i.preventDefault(),t=!0,!0)):!0}},_mouseMove:function(t){return e.ui.ie&&(!document.documentMode||9>document.documentMode)&&!t.button?this._mouseUp(t):this._mouseStarted?(this._mouseDrag(t),t.preventDefault()):(this._mouseDistanceMet(t)&&this._mouseDelayMet(t)&&(this._mouseStarted=this._mouseStart(this._mouseDownEvent,t)!==!1,this._mouseStarted?this._mouseDrag(t):this._mouseUp(t)),!this._mouseStarted)},_mouseUp:function(t){return e(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate),this._mouseStarted&&(this._mouseStarted=!1,t.target===this._mouseDownEvent.target&&e.data(t.target,this.widgetName+".preventClickEvent",!0),this._mouseStop(t)),!1},_mouseDistanceMet:function(e){return Math.max(Math.abs(this._mouseDownEvent.pageX-e.pageX),Math.abs(this._mouseDownEvent.pageY-e.pageY))>=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return!0}})})(jQuery);(function(t,e){function i(t,e,i){return[parseFloat(t[0])*(p.test(t[0])?e/100:1),parseFloat(t[1])*(p.test(t[1])?i/100:1)]}function s(e,i){return parseInt(t.css(e,i),10)||0}function n(e){var i=e[0];return 9===i.nodeType?{width:e.width(),height:e.height(),offset:{top:0,left:0}}:t.isWindow(i)?{width:e.width(),height:e.height(),offset:{top:e.scrollTop(),left:e.scrollLeft()}}:i.preventDefault?{width:0,height:0,offset:{top:i.pageY,left:i.pageX}}:{width:e.outerWidth(),height:e.outerHeight(),offset:e.offset()}}t.ui=t.ui||{};var a,o=Math.max,r=Math.abs,h=Math.round,l=/left|center|right/,c=/top|center|bottom/,u=/[\+\-]\d+(\.[\d]+)?%?/,d=/^\w+/,p=/%$/,f=t.fn.position;t.position={scrollbarWidth:function(){if(a!==e)return a;var i,s,n=t("
"),o=n.children()[0];return t("body").append(n),i=o.offsetWidth,n.css("overflow","scroll"),s=o.offsetWidth,i===s&&(s=n[0].clientWidth),n.remove(),a=i-s},getScrollInfo:function(e){var i=e.isWindow?"":e.element.css("overflow-x"),s=e.isWindow?"":e.element.css("overflow-y"),n="scroll"===i||"auto"===i&&e.widths?"left":i>0?"right":"center",vertical:0>a?"top":n>0?"bottom":"middle"};u>p&&p>r(i+s)&&(h.horizontal="center"),d>m&&m>r(n+a)&&(h.vertical="middle"),h.important=o(r(i),r(s))>o(r(n),r(a))?"horizontal":"vertical",e.using.call(this,t,h)}),c.offset(t.extend(C,{using:l}))})},t.ui.position={fit:{left:function(t,e){var i,s=e.within,n=s.isWindow?s.scrollLeft:s.offset.left,a=s.width,r=t.left-e.collisionPosition.marginLeft,h=n-r,l=r+e.collisionWidth-a-n;e.collisionWidth>a?h>0&&0>=l?(i=t.left+h+e.collisionWidth-a-n,t.left+=h-i):t.left=l>0&&0>=h?n:h>l?n+a-e.collisionWidth:n:h>0?t.left+=h:l>0?t.left-=l:t.left=o(t.left-r,t.left)},top:function(t,e){var i,s=e.within,n=s.isWindow?s.scrollTop:s.offset.top,a=e.within.height,r=t.top-e.collisionPosition.marginTop,h=n-r,l=r+e.collisionHeight-a-n;e.collisionHeight>a?h>0&&0>=l?(i=t.top+h+e.collisionHeight-a-n,t.top+=h-i):t.top=l>0&&0>=h?n:h>l?n+a-e.collisionHeight:n:h>0?t.top+=h:l>0?t.top-=l:t.top=o(t.top-r,t.top)}},flip:{left:function(t,e){var i,s,n=e.within,a=n.offset.left+n.scrollLeft,o=n.width,h=n.isWindow?n.scrollLeft:n.offset.left,l=t.left-e.collisionPosition.marginLeft,c=l-h,u=l+e.collisionWidth-o-h,d="left"===e.my[0]?-e.elemWidth:"right"===e.my[0]?e.elemWidth:0,p="left"===e.at[0]?e.targetWidth:"right"===e.at[0]?-e.targetWidth:0,f=-2*e.offset[0];0>c?(i=t.left+d+p+f+e.collisionWidth-o-a,(0>i||r(c)>i)&&(t.left+=d+p+f)):u>0&&(s=t.left-e.collisionPosition.marginLeft+d+p+f-h,(s>0||u>r(s))&&(t.left+=d+p+f))},top:function(t,e){var i,s,n=e.within,a=n.offset.top+n.scrollTop,o=n.height,h=n.isWindow?n.scrollTop:n.offset.top,l=t.top-e.collisionPosition.marginTop,c=l-h,u=l+e.collisionHeight-o-h,d="top"===e.my[1],p=d?-e.elemHeight:"bottom"===e.my[1]?e.elemHeight:0,f="top"===e.at[1]?e.targetHeight:"bottom"===e.at[1]?-e.targetHeight:0,m=-2*e.offset[1];0>c?(s=t.top+p+f+m+e.collisionHeight-o-a,t.top+p+f+m>c&&(0>s||r(c)>s)&&(t.top+=p+f+m)):u>0&&(i=t.top-e.collisionPosition.marginTop+p+f+m-h,t.top+p+f+m>u&&(i>0||u>r(i))&&(t.top+=p+f+m))}},flipfit:{left:function(){t.ui.position.flip.left.apply(this,arguments),t.ui.position.fit.left.apply(this,arguments)},top:function(){t.ui.position.flip.top.apply(this,arguments),t.ui.position.fit.top.apply(this,arguments)}}},function(){var e,i,s,n,a,o=document.getElementsByTagName("body")[0],r=document.createElement("div");e=document.createElement(o?"div":"body"),s={visibility:"hidden",width:0,height:0,border:0,margin:0,background:"none"},o&&t.extend(s,{position:"absolute",left:"-1000px",top:"-1000px"});for(a in s)e.style[a]=s[a];e.appendChild(r),i=o||document.documentElement,i.insertBefore(e,i.firstChild),r.style.cssText="position: absolute; left: 10.7432222px;",n=t(r).offset().left,t.support.offsetFractions=n>10&&11>n,e.innerHTML="",i.removeChild(e)}()})(jQuery);(function(t){var e=0,i={},s={};i.height=i.paddingTop=i.paddingBottom=i.borderTopWidth=i.borderBottomWidth="hide",s.height=s.paddingTop=s.paddingBottom=s.borderTopWidth=s.borderBottomWidth="show",t.widget("ui.accordion",{version:"1.10.2",options:{active:0,animate:{},collapsible:!1,event:"click",header:"> li > :first-child,> :not(li):even",heightStyle:"auto",icons:{activeHeader:"ui-icon-triangle-1-s",header:"ui-icon-triangle-1-e"},activate:null,beforeActivate:null},_create:function(){var e=this.options;this.prevShow=this.prevHide=t(),this.element.addClass("ui-accordion ui-widget ui-helper-reset").attr("role","tablist"),e.collapsible||e.active!==!1&&null!=e.active||(e.active=0),this._processPanels(),0>e.active&&(e.active+=this.headers.length),this._refresh()},_getCreateEventData:function(){return{header:this.active,panel:this.active.length?this.active.next():t(),content:this.active.length?this.active.next():t()}},_createIcons:function(){var e=this.options.icons;e&&(t("").addClass("ui-accordion-header-icon ui-icon "+e.header).prependTo(this.headers),this.active.children(".ui-accordion-header-icon").removeClass(e.header).addClass(e.activeHeader),this.headers.addClass("ui-accordion-icons"))},_destroyIcons:function(){this.headers.removeClass("ui-accordion-icons").children(".ui-accordion-header-icon").remove()},_destroy:function(){var t;this.element.removeClass("ui-accordion ui-widget ui-helper-reset").removeAttr("role"),this.headers.removeClass("ui-accordion-header ui-accordion-header-active ui-helper-reset ui-state-default ui-corner-all ui-state-active ui-state-disabled ui-corner-top").removeAttr("role").removeAttr("aria-selected").removeAttr("aria-controls").removeAttr("tabIndex").each(function(){/^ui-accordion/.test(this.id)&&this.removeAttribute("id")}),this._destroyIcons(),t=this.headers.next().css("display","").removeAttr("role").removeAttr("aria-expanded").removeAttr("aria-hidden").removeAttr("aria-labelledby").removeClass("ui-helper-reset ui-widget-content ui-corner-bottom ui-accordion-content ui-accordion-content-active ui-state-disabled").each(function(){/^ui-accordion/.test(this.id)&&this.removeAttribute("id")}),"content"!==this.options.heightStyle&&t.css("height","")},_setOption:function(t,e){return"active"===t?(this._activate(e),undefined):("event"===t&&(this.options.event&&this._off(this.headers,this.options.event),this._setupEvents(e)),this._super(t,e),"collapsible"!==t||e||this.options.active!==!1||this._activate(0),"icons"===t&&(this._destroyIcons(),e&&this._createIcons()),"disabled"===t&&this.headers.add(this.headers.next()).toggleClass("ui-state-disabled",!!e),undefined)},_keydown:function(e){if(!e.altKey&&!e.ctrlKey){var i=t.ui.keyCode,s=this.headers.length,n=this.headers.index(e.target),a=!1;switch(e.keyCode){case i.RIGHT:case i.DOWN:a=this.headers[(n+1)%s];break;case i.LEFT:case i.UP:a=this.headers[(n-1+s)%s];break;case i.SPACE:case i.ENTER:this._eventHandler(e);break;case i.HOME:a=this.headers[0];break;case i.END:a=this.headers[s-1]}a&&(t(e.target).attr("tabIndex",-1),t(a).attr("tabIndex",0),a.focus(),e.preventDefault())}},_panelKeyDown:function(e){e.keyCode===t.ui.keyCode.UP&&e.ctrlKey&&t(e.currentTarget).prev().focus()},refresh:function(){var e=this.options;this._processPanels(),(e.active===!1&&e.collapsible===!0||!this.headers.length)&&(e.active=!1,this.active=t()),e.active===!1?this._activate(0):this.active.length&&!t.contains(this.element[0],this.active[0])?this.headers.length===this.headers.find(".ui-state-disabled").length?(e.active=!1,this.active=t()):this._activate(Math.max(0,e.active-1)):e.active=this.headers.index(this.active),this._destroyIcons(),this._refresh()},_processPanels:function(){this.headers=this.element.find(this.options.header).addClass("ui-accordion-header ui-helper-reset ui-state-default ui-corner-all"),this.headers.next().addClass("ui-accordion-content ui-helper-reset ui-widget-content ui-corner-bottom").filter(":not(.ui-accordion-content-active)").hide()},_refresh:function(){var i,s=this.options,n=s.heightStyle,a=this.element.parent(),o=this.accordionId="ui-accordion-"+(this.element.attr("id")||++e);this.active=this._findActive(s.active).addClass("ui-accordion-header-active ui-state-active ui-corner-top").removeClass("ui-corner-all"),this.active.next().addClass("ui-accordion-content-active").show(),this.headers.attr("role","tab").each(function(e){var i=t(this),s=i.attr("id"),n=i.next(),a=n.attr("id");s||(s=o+"-header-"+e,i.attr("id",s)),a||(a=o+"-panel-"+e,n.attr("id",a)),i.attr("aria-controls",a),n.attr("aria-labelledby",s)}).next().attr("role","tabpanel"),this.headers.not(this.active).attr({"aria-selected":"false",tabIndex:-1}).next().attr({"aria-expanded":"false","aria-hidden":"true"}).hide(),this.active.length?this.active.attr({"aria-selected":"true",tabIndex:0}).next().attr({"aria-expanded":"true","aria-hidden":"false"}):this.headers.eq(0).attr("tabIndex",0),this._createIcons(),this._setupEvents(s.event),"fill"===n?(i=a.height(),this.element.siblings(":visible").each(function(){var e=t(this),s=e.css("position");"absolute"!==s&&"fixed"!==s&&(i-=e.outerHeight(!0))}),this.headers.each(function(){i-=t(this).outerHeight(!0)}),this.headers.next().each(function(){t(this).height(Math.max(0,i-t(this).innerHeight()+t(this).height()))}).css("overflow","auto")):"auto"===n&&(i=0,this.headers.next().each(function(){i=Math.max(i,t(this).css("height","").height())}).height(i))},_activate:function(e){var i=this._findActive(e)[0];i!==this.active[0]&&(i=i||this.active[0],this._eventHandler({target:i,currentTarget:i,preventDefault:t.noop}))},_findActive:function(e){return"number"==typeof e?this.headers.eq(e):t()},_setupEvents:function(e){var i={keydown:"_keydown"};e&&t.each(e.split(" "),function(t,e){i[e]="_eventHandler"}),this._off(this.headers.add(this.headers.next())),this._on(this.headers,i),this._on(this.headers.next(),{keydown:"_panelKeyDown"}),this._hoverable(this.headers),this._focusable(this.headers)},_eventHandler:function(e){var i=this.options,s=this.active,n=t(e.currentTarget),a=n[0]===s[0],o=a&&i.collapsible,r=o?t():n.next(),h=s.next(),l={oldHeader:s,oldPanel:h,newHeader:o?t():n,newPanel:r};e.preventDefault(),a&&!i.collapsible||this._trigger("beforeActivate",e,l)===!1||(i.active=o?!1:this.headers.index(n),this.active=a?t():n,this._toggle(l),s.removeClass("ui-accordion-header-active ui-state-active"),i.icons&&s.children(".ui-accordion-header-icon").removeClass(i.icons.activeHeader).addClass(i.icons.header),a||(n.removeClass("ui-corner-all").addClass("ui-accordion-header-active ui-state-active ui-corner-top"),i.icons&&n.children(".ui-accordion-header-icon").removeClass(i.icons.header).addClass(i.icons.activeHeader),n.next().addClass("ui-accordion-content-active")))},_toggle:function(e){var i=e.newPanel,s=this.prevShow.length?this.prevShow:e.oldPanel;this.prevShow.add(this.prevHide).stop(!0,!0),this.prevShow=i,this.prevHide=s,this.options.animate?this._animate(i,s,e):(s.hide(),i.show(),this._toggleComplete(e)),s.attr({"aria-expanded":"false","aria-hidden":"true"}),s.prev().attr("aria-selected","false"),i.length&&s.length?s.prev().attr("tabIndex",-1):i.length&&this.headers.filter(function(){return 0===t(this).attr("tabIndex")}).attr("tabIndex",-1),i.attr({"aria-expanded":"true","aria-hidden":"false"}).prev().attr({"aria-selected":"true",tabIndex:0})},_animate:function(t,e,n){var a,o,r,h=this,l=0,c=t.length&&(!e.length||t.index()",options:{appendTo:null,autoFocus:!1,delay:300,minLength:1,position:{my:"left top",at:"left bottom",collision:"none"},source:null,change:null,close:null,focus:null,open:null,response:null,search:null,select:null},pending:0,_create:function(){var t,i,s,n=this.element[0].nodeName.toLowerCase(),a="textarea"===n,o="input"===n;this.isMultiLine=a?!0:o?!1:this.element.prop("isContentEditable"),this.valueMethod=this.element[a||o?"val":"text"],this.isNewMenu=!0,this.element.addClass("ui-autocomplete-input").attr("autocomplete","off"),this._on(this.element,{keydown:function(n){if(this.element.prop("readOnly"))return t=!0,s=!0,i=!0,undefined;t=!1,s=!1,i=!1;var a=e.ui.keyCode;switch(n.keyCode){case a.PAGE_UP:t=!0,this._move("previousPage",n);break;case a.PAGE_DOWN:t=!0,this._move("nextPage",n);break;case a.UP:t=!0,this._keyEvent("previous",n);break;case a.DOWN:t=!0,this._keyEvent("next",n);break;case a.ENTER:case a.NUMPAD_ENTER:this.menu.active&&(t=!0,n.preventDefault(),this.menu.select(n));break;case a.TAB:this.menu.active&&this.menu.select(n);break;case a.ESCAPE:this.menu.element.is(":visible")&&(this._value(this.term),this.close(n),n.preventDefault());break;default:i=!0,this._searchTimeout(n)}},keypress:function(s){if(t)return t=!1,s.preventDefault(),undefined;if(!i){var n=e.ui.keyCode;switch(s.keyCode){case n.PAGE_UP:this._move("previousPage",s);break;case n.PAGE_DOWN:this._move("nextPage",s);break;case n.UP:this._keyEvent("previous",s);break;case n.DOWN:this._keyEvent("next",s)}}},input:function(e){return s?(s=!1,e.preventDefault(),undefined):(this._searchTimeout(e),undefined)},focus:function(){this.selectedItem=null,this.previous=this._value()},blur:function(e){return this.cancelBlur?(delete this.cancelBlur,undefined):(clearTimeout(this.searching),this.close(e),this._change(e),undefined)}}),this._initSource(),this.menu=e("