Blame | Last modification | View Log | RSS feed
/*!* jQuery UI 1.8.5** Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)* Dual licensed under the MIT or GPL Version 2 licenses.* http://jquery.org/license** http://docs.jquery.com/UI*/(function( $, undefined ) {// prevent duplicate loading// this is only a problem because we proxy existing functions// and we don't want to double proxy them$.ui = $.ui || {};if ( $.ui.version ) {return;}$.extend( $.ui, {version: "1.8.5",keyCode: {ALT: 18,BACKSPACE: 8,CAPS_LOCK: 20,COMMA: 188,COMMAND: 91,COMMAND_LEFT: 91, // COMMANDCOMMAND_RIGHT: 93,CONTROL: 17,DELETE: 46,DOWN: 40,END: 35,ENTER: 13,ESCAPE: 27,HOME: 36,INSERT: 45,LEFT: 37,MENU: 93, // COMMAND_RIGHTNUMPAD_ADD: 107,NUMPAD_DECIMAL: 110,NUMPAD_DIVIDE: 111,NUMPAD_ENTER: 108,NUMPAD_MULTIPLY: 106,NUMPAD_SUBTRACT: 109,PAGE_DOWN: 34,PAGE_UP: 33,PERIOD: 190,RIGHT: 39,SHIFT: 16,SPACE: 32,TAB: 9,UP: 38,WINDOWS: 91 // COMMAND}});// plugins$.fn.extend({_focus: $.fn.focus,focus: function( delay, fn ) {return typeof delay === "number" ?this.each(function() {var elem = this;setTimeout(function() {$( elem ).focus();if ( fn ) {fn.call( elem );}}, delay );}) :this._focus.apply( this, arguments );},scrollParent: function() {var scrollParent;if (($.browser.msie && (/(static|relative)/).test(this.css('position'))) || (/absolute/).test(this.css('position'))) {scrollParent = this.parents().filter(function() {return (/(relative|absolute|fixed)/).test($.curCSS(this,'position',1)) && (/(auto|scroll)/).test($.curCSS(this,'overflow',1)+$.curCSS(this,'overflow-y',1)+$.curCSS(this,'overflow-x',1));}).eq(0);} else {scrollParent = this.parents().filter(function() {return (/(auto|scroll)/).test($.curCSS(this,'overflow',1)+$.curCSS(this,'overflow-y',1)+$.curCSS(this,'overflow-x',1));}).eq(0);}return (/fixed/).test(this.css('position')) || !scrollParent.length ? $(document) : scrollParent;},zIndex: function( zIndex ) {if ( zIndex !== undefined ) {return this.css( "zIndex", zIndex );}if ( this.length ) {var elem = $( this[ 0 ] ), position, value;while ( elem.length && elem[ 0 ] !== document ) {// Ignore z-index if position is set to a value where z-index is ignored by the browser// This makes behavior of this function consistent across browsers// WebKit always returns auto if the element is positionedposition = elem.css( "position" );if ( position === "absolute" || position === "relative" || position === "fixed" ) {// IE returns 0 when zIndex is not specified// other browsers return a string// we ignore the case of nested elements with an explicit value of 0// <div style="z-index: -10;"><div style="z-index: 0;"></div></div>value = parseInt( elem.css( "zIndex" ) );if ( !isNaN( value ) && value != 0 ) {return value;}}elem = elem.parent();}}return 0;},disableSelection: function() {return this.bind("mousedown.ui-disableSelection selectstart.ui-disableSelection",function( event ) {event.preventDefault();});},enableSelection: function() {return this.unbind( ".ui-disableSelection" );}});$.each( [ "Width", "Height" ], function( i, name ) {var side = name === "Width" ? [ "Left", "Right" ] : [ "Top", "Bottom" ],type = name.toLowerCase(),orig = {innerWidth: $.fn.innerWidth,innerHeight: $.fn.innerHeight,outerWidth: $.fn.outerWidth,outerHeight: $.fn.outerHeight};function reduce( elem, size, border, margin ) {$.each( side, function() {size -= parseFloat( $.curCSS( elem, "padding" + this, true) ) || 0;if ( border ) {size -= parseFloat( $.curCSS( elem, "border" + this + "Width", true) ) || 0;}if ( margin ) {size -= parseFloat( $.curCSS( elem, "margin" + this, true) ) || 0;}});return size;}$.fn[ "inner" + name ] = function( size ) {if ( size === undefined ) {return orig[ "inner" + name ].call( this );}return this.each(function() {$.style( this, type, reduce( this, size ) + "px" );});};$.fn[ "outer" + name] = function( size, margin ) {if ( typeof size !== "number" ) {return orig[ "outer" + name ].call( this, size );}return this.each(function() {$.style( this, type, reduce( this, size, true, margin ) + "px" );});};});// selectorsfunction visible( element ) {return !$( element ).parents().andSelf().filter(function() {return $.curCSS( this, "visibility" ) === "hidden" ||$.expr.filters.hidden( this );}).length;}$.extend( $.expr[ ":" ], {data: function( elem, i, match ) {return !!$.data( elem, match[ 3 ] );},focusable: function( element ) {var nodeName = element.nodeName.toLowerCase(),tabIndex = $.attr( element, "tabindex" );if ( "area" === nodeName ) {var map = element.parentNode,mapName = map.name,img;if ( !element.href || !mapName || map.nodeName.toLowerCase() !== "map" ) {return false;}img = $( "img[usemap=#" + mapName + "]" )[0];return !!img && visible( img );}return ( /input|select|textarea|button|object/.test( nodeName )? !element.disabled: "a" == nodeName? element.href || !isNaN( tabIndex ): !isNaN( tabIndex ))// the element and all of its ancestors must be visible&& visible( element );},tabbable: function( element ) {var tabIndex = $.attr( element, "tabindex" );return ( isNaN( tabIndex ) || tabIndex >= 0 ) && $( element ).is( ":focusable" );}});// support$(function() {var div = document.createElement( "div" ),body = document.body;$.extend( div.style, {minHeight: "100px",height: "auto",padding: 0,borderWidth: 0});$.support.minHeight = body.appendChild( div ).offsetHeight === 100;// set display to none to avoid a layout bug in IE// http://dev.jquery.com/ticket/4014body.removeChild( div ).style.display = "none";});// deprecated$.extend( $.ui, {// $.ui.plugin is deprecated. Use the proxy pattern instead.plugin: {add: function( module, option, set ) {var proto = $.ui[ module ].prototype;for ( var i in set ) {proto.plugins[ i ] = proto.plugins[ i ] || [];proto.plugins[ i ].push( [ option, set[ i ] ] );}},call: function( instance, name, args ) {var set = instance.plugins[ name ];if ( !set || !instance.element[ 0 ].parentNode ) {return;}for ( var i = 0; i < set.length; i++ ) {if ( instance.options[ set[ i ][ 0 ] ] ) {set[ i ][ 1 ].apply( instance.element, args );}}}},// will be deprecated when we switch to jQuery 1.4 - use jQuery.contains()contains: function( a, b ) {return document.compareDocumentPosition ?a.compareDocumentPosition( b ) & 16 :a !== b && a.contains( b );},// only used by resizablehasScroll: function( el, a ) {//If overflow is hidden, the element might have extra content, but the user wants to hide itif ( $( el ).css( "overflow" ) === "hidden") {return false;}var scroll = ( a && a === "left" ) ? "scrollLeft" : "scrollTop",has = false;if ( el[ scroll ] > 0 ) {return true;}// TODO: determine which cases actually cause this to happen// if the element doesn't have the scroll set, see if it's possible to// set the scrollel[ scroll ] = 1;has = ( el[ scroll ] > 0 );el[ scroll ] = 0;return has;},// these are odd functions, fix the API or move into individual pluginsisOverAxis: function( x, reference, size ) {//Determines when x coordinate is over "b" element axisreturn ( x > reference ) && ( x < ( reference + size ) );},isOver: function( y, x, top, left, height, width ) {//Determines when x, y coordinates is over "b" elementreturn $.ui.isOverAxis( y, top, height ) && $.ui.isOverAxis( x, left, width );}});})( jQuery );