client/lib/jquery-ui.js
author cavaliet
Thu, 13 Feb 2014 16:38:51 +0100
changeset 262 f6d0fa1db02a
parent 211 d87f6bdee43d
permissions -rw-r--r--
update libs and debug resize
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
262
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
     1
/*! jQuery UI - v1.10.4 - 2014-02-09
211
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
     2
* http://jqueryui.com
262
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
     3
* Includes: jquery.ui.core.js, jquery.ui.widget.js, jquery.ui.mouse.js, jquery.ui.position.js, jquery.ui.draggable.js, jquery.ui.droppable.js, jquery.ui.resizable.js, jquery.ui.selectable.js, jquery.ui.sortable.js, jquery.ui.accordion.js, jquery.ui.autocomplete.js, jquery.ui.button.js, jquery.ui.datepicker.js, jquery.ui.dialog.js, jquery.ui.menu.js, jquery.ui.progressbar.js, jquery.ui.slider.js, jquery.ui.spinner.js, jquery.ui.tabs.js, jquery.ui.tooltip.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
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
     4
* Copyright 2014 jQuery Foundation and other contributors; Licensed MIT */
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
     5
211
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
     6
(function( $, undefined ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
     7
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
     8
var uuid = 0,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
     9
	runiqueId = /^ui-id-\d+$/;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
    10
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
    11
// $.ui might exist from components with no dependencies, e.g., $.ui.position
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
    12
$.ui = $.ui || {};
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
    13
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
    14
$.extend( $.ui, {
262
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
    15
	version: "1.10.4",
211
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
    16
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
    17
	keyCode: {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
    18
		BACKSPACE: 8,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
    19
		COMMA: 188,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
    20
		DELETE: 46,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
    21
		DOWN: 40,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
    22
		END: 35,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
    23
		ENTER: 13,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
    24
		ESCAPE: 27,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
    25
		HOME: 36,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
    26
		LEFT: 37,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
    27
		NUMPAD_ADD: 107,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
    28
		NUMPAD_DECIMAL: 110,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
    29
		NUMPAD_DIVIDE: 111,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
    30
		NUMPAD_ENTER: 108,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
    31
		NUMPAD_MULTIPLY: 106,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
    32
		NUMPAD_SUBTRACT: 109,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
    33
		PAGE_DOWN: 34,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
    34
		PAGE_UP: 33,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
    35
		PERIOD: 190,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
    36
		RIGHT: 39,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
    37
		SPACE: 32,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
    38
		TAB: 9,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
    39
		UP: 38
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
    40
	}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
    41
});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
    42
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
    43
// plugins
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
    44
$.fn.extend({
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
    45
	focus: (function( orig ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
    46
		return function( delay, fn ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
    47
			return typeof delay === "number" ?
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
    48
				this.each(function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
    49
					var elem = this;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
    50
					setTimeout(function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
    51
						$( elem ).focus();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
    52
						if ( fn ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
    53
							fn.call( elem );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
    54
						}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
    55
					}, delay );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
    56
				}) :
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
    57
				orig.apply( this, arguments );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
    58
		};
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
    59
	})( $.fn.focus ),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
    60
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
    61
	scrollParent: function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
    62
		var scrollParent;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
    63
		if (($.ui.ie && (/(static|relative)/).test(this.css("position"))) || (/absolute/).test(this.css("position"))) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
    64
			scrollParent = this.parents().filter(function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
    65
				return (/(relative|absolute|fixed)/).test($.css(this,"position")) && (/(auto|scroll)/).test($.css(this,"overflow")+$.css(this,"overflow-y")+$.css(this,"overflow-x"));
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
    66
			}).eq(0);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
    67
		} else {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
    68
			scrollParent = this.parents().filter(function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
    69
				return (/(auto|scroll)/).test($.css(this,"overflow")+$.css(this,"overflow-y")+$.css(this,"overflow-x"));
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
    70
			}).eq(0);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
    71
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
    72
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
    73
		return (/fixed/).test(this.css("position")) || !scrollParent.length ? $(document) : scrollParent;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
    74
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
    75
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
    76
	zIndex: function( zIndex ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
    77
		if ( zIndex !== undefined ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
    78
			return this.css( "zIndex", zIndex );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
    79
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
    80
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
    81
		if ( this.length ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
    82
			var elem = $( this[ 0 ] ), position, value;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
    83
			while ( elem.length && elem[ 0 ] !== document ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
    84
				// Ignore z-index if position is set to a value where z-index is ignored by the browser
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
    85
				// This makes behavior of this function consistent across browsers
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
    86
				// WebKit always returns auto if the element is positioned
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
    87
				position = elem.css( "position" );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
    88
				if ( position === "absolute" || position === "relative" || position === "fixed" ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
    89
					// IE returns 0 when zIndex is not specified
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
    90
					// other browsers return a string
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
    91
					// we ignore the case of nested elements with an explicit value of 0
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
    92
					// <div style="z-index: -10;"><div style="z-index: 0;"></div></div>
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
    93
					value = parseInt( elem.css( "zIndex" ), 10 );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
    94
					if ( !isNaN( value ) && value !== 0 ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
    95
						return value;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
    96
					}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
    97
				}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
    98
				elem = elem.parent();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
    99
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   100
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   101
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   102
		return 0;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   103
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   104
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   105
	uniqueId: function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   106
		return this.each(function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   107
			if ( !this.id ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   108
				this.id = "ui-id-" + (++uuid);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   109
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   110
		});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   111
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   112
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   113
	removeUniqueId: function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   114
		return this.each(function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   115
			if ( runiqueId.test( this.id ) ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   116
				$( this ).removeAttr( "id" );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   117
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   118
		});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   119
	}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   120
});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   121
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   122
// selectors
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   123
function focusable( element, isTabIndexNotNaN ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   124
	var map, mapName, img,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   125
		nodeName = element.nodeName.toLowerCase();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   126
	if ( "area" === nodeName ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   127
		map = element.parentNode;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   128
		mapName = map.name;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   129
		if ( !element.href || !mapName || map.nodeName.toLowerCase() !== "map" ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   130
			return false;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   131
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   132
		img = $( "img[usemap=#" + mapName + "]" )[0];
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   133
		return !!img && visible( img );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   134
	}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   135
	return ( /input|select|textarea|button|object/.test( nodeName ) ?
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   136
		!element.disabled :
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   137
		"a" === nodeName ?
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   138
			element.href || isTabIndexNotNaN :
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   139
			isTabIndexNotNaN) &&
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   140
		// the element and all of its ancestors must be visible
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   141
		visible( element );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   142
}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   143
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   144
function visible( element ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   145
	return $.expr.filters.visible( element ) &&
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   146
		!$( element ).parents().addBack().filter(function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   147
			return $.css( this, "visibility" ) === "hidden";
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   148
		}).length;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   149
}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   150
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   151
$.extend( $.expr[ ":" ], {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   152
	data: $.expr.createPseudo ?
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   153
		$.expr.createPseudo(function( dataName ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   154
			return function( elem ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   155
				return !!$.data( elem, dataName );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   156
			};
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   157
		}) :
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   158
		// support: jQuery <1.8
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   159
		function( elem, i, match ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   160
			return !!$.data( elem, match[ 3 ] );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   161
		},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   162
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   163
	focusable: function( element ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   164
		return focusable( element, !isNaN( $.attr( element, "tabindex" ) ) );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   165
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   166
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   167
	tabbable: function( element ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   168
		var tabIndex = $.attr( element, "tabindex" ),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   169
			isTabIndexNaN = isNaN( tabIndex );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   170
		return ( isTabIndexNaN || tabIndex >= 0 ) && focusable( element, !isTabIndexNaN );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   171
	}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   172
});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   173
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   174
// support: jQuery <1.8
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   175
if ( !$( "<a>" ).outerWidth( 1 ).jquery ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   176
	$.each( [ "Width", "Height" ], function( i, name ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   177
		var side = name === "Width" ? [ "Left", "Right" ] : [ "Top", "Bottom" ],
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   178
			type = name.toLowerCase(),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   179
			orig = {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   180
				innerWidth: $.fn.innerWidth,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   181
				innerHeight: $.fn.innerHeight,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   182
				outerWidth: $.fn.outerWidth,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   183
				outerHeight: $.fn.outerHeight
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   184
			};
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   185
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   186
		function reduce( elem, size, border, margin ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   187
			$.each( side, function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   188
				size -= parseFloat( $.css( elem, "padding" + this ) ) || 0;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   189
				if ( border ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   190
					size -= parseFloat( $.css( elem, "border" + this + "Width" ) ) || 0;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   191
				}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   192
				if ( margin ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   193
					size -= parseFloat( $.css( elem, "margin" + this ) ) || 0;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   194
				}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   195
			});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   196
			return size;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   197
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   198
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   199
		$.fn[ "inner" + name ] = function( size ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   200
			if ( size === undefined ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   201
				return orig[ "inner" + name ].call( this );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   202
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   203
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   204
			return this.each(function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   205
				$( this ).css( type, reduce( this, size ) + "px" );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   206
			});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   207
		};
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   208
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   209
		$.fn[ "outer" + name] = function( size, margin ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   210
			if ( typeof size !== "number" ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   211
				return orig[ "outer" + name ].call( this, size );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   212
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   213
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   214
			return this.each(function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   215
				$( this).css( type, reduce( this, size, true, margin ) + "px" );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   216
			});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   217
		};
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   218
	});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   219
}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   220
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   221
// support: jQuery <1.8
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   222
if ( !$.fn.addBack ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   223
	$.fn.addBack = function( selector ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   224
		return this.add( selector == null ?
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   225
			this.prevObject : this.prevObject.filter( selector )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   226
		);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   227
	};
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   228
}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   229
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   230
// support: jQuery 1.6.1, 1.6.2 (http://bugs.jquery.com/ticket/9413)
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   231
if ( $( "<a>" ).data( "a-b", "a" ).removeData( "a-b" ).data( "a-b" ) ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   232
	$.fn.removeData = (function( removeData ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   233
		return function( key ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   234
			if ( arguments.length ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   235
				return removeData.call( this, $.camelCase( key ) );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   236
			} else {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   237
				return removeData.call( this );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   238
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   239
		};
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   240
	})( $.fn.removeData );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   241
}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   242
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   243
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   244
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   245
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   246
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   247
// deprecated
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   248
$.ui.ie = !!/msie [\w.]+/.exec( navigator.userAgent.toLowerCase() );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   249
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   250
$.support.selectstart = "onselectstart" in document.createElement( "div" );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   251
$.fn.extend({
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   252
	disableSelection: function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   253
		return this.bind( ( $.support.selectstart ? "selectstart" : "mousedown" ) +
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   254
			".ui-disableSelection", function( event ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   255
				event.preventDefault();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   256
			});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   257
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   258
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   259
	enableSelection: function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   260
		return this.unbind( ".ui-disableSelection" );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   261
	}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   262
});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   263
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   264
$.extend( $.ui, {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   265
	// $.ui.plugin is deprecated. Use $.widget() extensions instead.
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   266
	plugin: {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   267
		add: function( module, option, set ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   268
			var i,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   269
				proto = $.ui[ module ].prototype;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   270
			for ( i in set ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   271
				proto.plugins[ i ] = proto.plugins[ i ] || [];
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   272
				proto.plugins[ i ].push( [ option, set[ i ] ] );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   273
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   274
		},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   275
		call: function( instance, name, args ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   276
			var i,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   277
				set = instance.plugins[ name ];
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   278
			if ( !set || !instance.element[ 0 ].parentNode || instance.element[ 0 ].parentNode.nodeType === 11 ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   279
				return;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   280
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   281
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   282
			for ( i = 0; i < set.length; i++ ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   283
				if ( instance.options[ set[ i ][ 0 ] ] ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   284
					set[ i ][ 1 ].apply( instance.element, args );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   285
				}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   286
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   287
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   288
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   289
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   290
	// only used by resizable
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   291
	hasScroll: function( el, a ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   292
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   293
		//If overflow is hidden, the element might have extra content, but the user wants to hide it
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   294
		if ( $( el ).css( "overflow" ) === "hidden") {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   295
			return false;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   296
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   297
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   298
		var scroll = ( a && a === "left" ) ? "scrollLeft" : "scrollTop",
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   299
			has = false;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   300
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   301
		if ( el[ scroll ] > 0 ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   302
			return true;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   303
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   304
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   305
		// TODO: determine which cases actually cause this to happen
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   306
		// if the element doesn't have the scroll set, see if it's possible to
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   307
		// set the scroll
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   308
		el[ scroll ] = 1;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   309
		has = ( el[ scroll ] > 0 );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   310
		el[ scroll ] = 0;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   311
		return has;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   312
	}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   313
});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   314
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   315
})( jQuery );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   316
(function( $, undefined ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   317
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   318
var uuid = 0,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   319
	slice = Array.prototype.slice,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   320
	_cleanData = $.cleanData;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   321
$.cleanData = function( elems ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   322
	for ( var i = 0, elem; (elem = elems[i]) != null; i++ ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   323
		try {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   324
			$( elem ).triggerHandler( "remove" );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   325
		// http://bugs.jquery.com/ticket/8235
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   326
		} catch( e ) {}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   327
	}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   328
	_cleanData( elems );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   329
};
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   330
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   331
$.widget = function( name, base, prototype ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   332
	var fullName, existingConstructor, constructor, basePrototype,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   333
		// proxiedPrototype allows the provided prototype to remain unmodified
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   334
		// so that it can be used as a mixin for multiple widgets (#8876)
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   335
		proxiedPrototype = {},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   336
		namespace = name.split( "." )[ 0 ];
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   337
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   338
	name = name.split( "." )[ 1 ];
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   339
	fullName = namespace + "-" + name;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   340
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   341
	if ( !prototype ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   342
		prototype = base;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   343
		base = $.Widget;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   344
	}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   345
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   346
	// create selector for plugin
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   347
	$.expr[ ":" ][ fullName.toLowerCase() ] = function( elem ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   348
		return !!$.data( elem, fullName );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   349
	};
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   350
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   351
	$[ namespace ] = $[ namespace ] || {};
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   352
	existingConstructor = $[ namespace ][ name ];
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   353
	constructor = $[ namespace ][ name ] = function( options, element ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   354
		// allow instantiation without "new" keyword
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   355
		if ( !this._createWidget ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   356
			return new constructor( options, element );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   357
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   358
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   359
		// allow instantiation without initializing for simple inheritance
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   360
		// must use "new" keyword (the code above always passes args)
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   361
		if ( arguments.length ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   362
			this._createWidget( options, element );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   363
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   364
	};
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   365
	// extend with the existing constructor to carry over any static properties
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   366
	$.extend( constructor, existingConstructor, {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   367
		version: prototype.version,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   368
		// copy the object used to create the prototype in case we need to
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   369
		// redefine the widget later
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   370
		_proto: $.extend( {}, prototype ),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   371
		// track widgets that inherit from this widget in case this widget is
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   372
		// redefined after a widget inherits from it
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   373
		_childConstructors: []
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   374
	});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   375
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   376
	basePrototype = new base();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   377
	// we need to make the options hash a property directly on the new instance
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   378
	// otherwise we'll modify the options hash on the prototype that we're
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   379
	// inheriting from
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   380
	basePrototype.options = $.widget.extend( {}, basePrototype.options );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   381
	$.each( prototype, function( prop, value ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   382
		if ( !$.isFunction( value ) ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   383
			proxiedPrototype[ prop ] = value;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   384
			return;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   385
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   386
		proxiedPrototype[ prop ] = (function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   387
			var _super = function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   388
					return base.prototype[ prop ].apply( this, arguments );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   389
				},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   390
				_superApply = function( args ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   391
					return base.prototype[ prop ].apply( this, args );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   392
				};
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   393
			return function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   394
				var __super = this._super,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   395
					__superApply = this._superApply,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   396
					returnValue;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   397
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   398
				this._super = _super;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   399
				this._superApply = _superApply;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   400
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   401
				returnValue = value.apply( this, arguments );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   402
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   403
				this._super = __super;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   404
				this._superApply = __superApply;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   405
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   406
				return returnValue;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   407
			};
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   408
		})();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   409
	});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   410
	constructor.prototype = $.widget.extend( basePrototype, {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   411
		// TODO: remove support for widgetEventPrefix
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   412
		// always use the name + a colon as the prefix, e.g., draggable:start
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   413
		// don't prefix for widgets that aren't DOM-based
262
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
   414
		widgetEventPrefix: existingConstructor ? (basePrototype.widgetEventPrefix || name) : name
211
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   415
	}, proxiedPrototype, {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   416
		constructor: constructor,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   417
		namespace: namespace,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   418
		widgetName: name,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   419
		widgetFullName: fullName
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   420
	});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   421
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   422
	// If this widget is being redefined then we need to find all widgets that
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   423
	// are inheriting from it and redefine all of them so that they inherit from
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   424
	// the new version of this widget. We're essentially trying to replace one
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   425
	// level in the prototype chain.
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   426
	if ( existingConstructor ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   427
		$.each( existingConstructor._childConstructors, function( i, child ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   428
			var childPrototype = child.prototype;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   429
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   430
			// redefine the child widget using the same prototype that was
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   431
			// originally used, but inherit from the new version of the base
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   432
			$.widget( childPrototype.namespace + "." + childPrototype.widgetName, constructor, child._proto );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   433
		});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   434
		// remove the list of existing child constructors from the old constructor
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   435
		// so the old child constructors can be garbage collected
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   436
		delete existingConstructor._childConstructors;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   437
	} else {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   438
		base._childConstructors.push( constructor );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   439
	}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   440
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   441
	$.widget.bridge( name, constructor );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   442
};
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   443
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   444
$.widget.extend = function( target ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   445
	var input = slice.call( arguments, 1 ),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   446
		inputIndex = 0,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   447
		inputLength = input.length,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   448
		key,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   449
		value;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   450
	for ( ; inputIndex < inputLength; inputIndex++ ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   451
		for ( key in input[ inputIndex ] ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   452
			value = input[ inputIndex ][ key ];
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   453
			if ( input[ inputIndex ].hasOwnProperty( key ) && value !== undefined ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   454
				// Clone objects
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   455
				if ( $.isPlainObject( value ) ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   456
					target[ key ] = $.isPlainObject( target[ key ] ) ?
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   457
						$.widget.extend( {}, target[ key ], value ) :
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   458
						// Don't extend strings, arrays, etc. with objects
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   459
						$.widget.extend( {}, value );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   460
				// Copy everything else by reference
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   461
				} else {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   462
					target[ key ] = value;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   463
				}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   464
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   465
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   466
	}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   467
	return target;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   468
};
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   469
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   470
$.widget.bridge = function( name, object ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   471
	var fullName = object.prototype.widgetFullName || name;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   472
	$.fn[ name ] = function( options ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   473
		var isMethodCall = typeof options === "string",
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   474
			args = slice.call( arguments, 1 ),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   475
			returnValue = this;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   476
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   477
		// allow multiple hashes to be passed on init
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   478
		options = !isMethodCall && args.length ?
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   479
			$.widget.extend.apply( null, [ options ].concat(args) ) :
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   480
			options;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   481
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   482
		if ( isMethodCall ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   483
			this.each(function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   484
				var methodValue,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   485
					instance = $.data( this, fullName );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   486
				if ( !instance ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   487
					return $.error( "cannot call methods on " + name + " prior to initialization; " +
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   488
						"attempted to call method '" + options + "'" );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   489
				}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   490
				if ( !$.isFunction( instance[options] ) || options.charAt( 0 ) === "_" ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   491
					return $.error( "no such method '" + options + "' for " + name + " widget instance" );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   492
				}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   493
				methodValue = instance[ options ].apply( instance, args );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   494
				if ( methodValue !== instance && methodValue !== undefined ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   495
					returnValue = methodValue && methodValue.jquery ?
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   496
						returnValue.pushStack( methodValue.get() ) :
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   497
						methodValue;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   498
					return false;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   499
				}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   500
			});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   501
		} else {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   502
			this.each(function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   503
				var instance = $.data( this, fullName );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   504
				if ( instance ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   505
					instance.option( options || {} )._init();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   506
				} else {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   507
					$.data( this, fullName, new object( options, this ) );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   508
				}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   509
			});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   510
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   511
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   512
		return returnValue;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   513
	};
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   514
};
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   515
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   516
$.Widget = function( /* options, element */ ) {};
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   517
$.Widget._childConstructors = [];
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   518
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   519
$.Widget.prototype = {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   520
	widgetName: "widget",
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   521
	widgetEventPrefix: "",
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   522
	defaultElement: "<div>",
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   523
	options: {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   524
		disabled: false,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   525
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   526
		// callbacks
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   527
		create: null
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   528
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   529
	_createWidget: function( options, element ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   530
		element = $( element || this.defaultElement || this )[ 0 ];
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   531
		this.element = $( element );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   532
		this.uuid = uuid++;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   533
		this.eventNamespace = "." + this.widgetName + this.uuid;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   534
		this.options = $.widget.extend( {},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   535
			this.options,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   536
			this._getCreateOptions(),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   537
			options );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   538
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   539
		this.bindings = $();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   540
		this.hoverable = $();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   541
		this.focusable = $();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   542
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   543
		if ( element !== this ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   544
			$.data( element, this.widgetFullName, this );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   545
			this._on( true, this.element, {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   546
				remove: function( event ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   547
					if ( event.target === element ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   548
						this.destroy();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   549
					}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   550
				}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   551
			});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   552
			this.document = $( element.style ?
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   553
				// element within the document
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   554
				element.ownerDocument :
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   555
				// element is window or document
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   556
				element.document || element );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   557
			this.window = $( this.document[0].defaultView || this.document[0].parentWindow );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   558
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   559
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   560
		this._create();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   561
		this._trigger( "create", null, this._getCreateEventData() );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   562
		this._init();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   563
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   564
	_getCreateOptions: $.noop,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   565
	_getCreateEventData: $.noop,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   566
	_create: $.noop,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   567
	_init: $.noop,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   568
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   569
	destroy: function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   570
		this._destroy();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   571
		// we can probably remove the unbind calls in 2.0
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   572
		// all event bindings should go through this._on()
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   573
		this.element
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   574
			.unbind( this.eventNamespace )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   575
			// 1.9 BC for #7810
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   576
			// TODO remove dual storage
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   577
			.removeData( this.widgetName )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   578
			.removeData( this.widgetFullName )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   579
			// support: jquery <1.6.3
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   580
			// http://bugs.jquery.com/ticket/9413
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   581
			.removeData( $.camelCase( this.widgetFullName ) );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   582
		this.widget()
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   583
			.unbind( this.eventNamespace )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   584
			.removeAttr( "aria-disabled" )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   585
			.removeClass(
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   586
				this.widgetFullName + "-disabled " +
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   587
				"ui-state-disabled" );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   588
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   589
		// clean up events and states
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   590
		this.bindings.unbind( this.eventNamespace );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   591
		this.hoverable.removeClass( "ui-state-hover" );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   592
		this.focusable.removeClass( "ui-state-focus" );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   593
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   594
	_destroy: $.noop,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   595
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   596
	widget: function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   597
		return this.element;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   598
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   599
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   600
	option: function( key, value ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   601
		var options = key,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   602
			parts,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   603
			curOption,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   604
			i;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   605
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   606
		if ( arguments.length === 0 ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   607
			// don't return a reference to the internal hash
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   608
			return $.widget.extend( {}, this.options );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   609
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   610
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   611
		if ( typeof key === "string" ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   612
			// handle nested keys, e.g., "foo.bar" => { foo: { bar: ___ } }
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   613
			options = {};
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   614
			parts = key.split( "." );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   615
			key = parts.shift();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   616
			if ( parts.length ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   617
				curOption = options[ key ] = $.widget.extend( {}, this.options[ key ] );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   618
				for ( i = 0; i < parts.length - 1; i++ ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   619
					curOption[ parts[ i ] ] = curOption[ parts[ i ] ] || {};
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   620
					curOption = curOption[ parts[ i ] ];
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   621
				}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   622
				key = parts.pop();
262
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
   623
				if ( arguments.length === 1 ) {
211
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   624
					return curOption[ key ] === undefined ? null : curOption[ key ];
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   625
				}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   626
				curOption[ key ] = value;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   627
			} else {
262
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
   628
				if ( arguments.length === 1 ) {
211
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   629
					return this.options[ key ] === undefined ? null : this.options[ key ];
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   630
				}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   631
				options[ key ] = value;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   632
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   633
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   634
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   635
		this._setOptions( options );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   636
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   637
		return this;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   638
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   639
	_setOptions: function( options ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   640
		var key;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   641
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   642
		for ( key in options ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   643
			this._setOption( key, options[ key ] );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   644
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   645
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   646
		return this;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   647
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   648
	_setOption: function( key, value ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   649
		this.options[ key ] = value;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   650
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   651
		if ( key === "disabled" ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   652
			this.widget()
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   653
				.toggleClass( this.widgetFullName + "-disabled ui-state-disabled", !!value )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   654
				.attr( "aria-disabled", value );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   655
			this.hoverable.removeClass( "ui-state-hover" );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   656
			this.focusable.removeClass( "ui-state-focus" );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   657
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   658
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   659
		return this;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   660
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   661
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   662
	enable: function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   663
		return this._setOption( "disabled", false );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   664
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   665
	disable: function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   666
		return this._setOption( "disabled", true );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   667
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   668
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   669
	_on: function( suppressDisabledCheck, element, handlers ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   670
		var delegateElement,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   671
			instance = this;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   672
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   673
		// no suppressDisabledCheck flag, shuffle arguments
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   674
		if ( typeof suppressDisabledCheck !== "boolean" ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   675
			handlers = element;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   676
			element = suppressDisabledCheck;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   677
			suppressDisabledCheck = false;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   678
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   679
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   680
		// no element argument, shuffle and use this.element
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   681
		if ( !handlers ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   682
			handlers = element;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   683
			element = this.element;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   684
			delegateElement = this.widget();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   685
		} else {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   686
			// accept selectors, DOM elements
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   687
			element = delegateElement = $( element );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   688
			this.bindings = this.bindings.add( element );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   689
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   690
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   691
		$.each( handlers, function( event, handler ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   692
			function handlerProxy() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   693
				// allow widgets to customize the disabled handling
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   694
				// - disabled as an array instead of boolean
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   695
				// - disabled class as method for disabling individual parts
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   696
				if ( !suppressDisabledCheck &&
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   697
						( instance.options.disabled === true ||
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   698
							$( this ).hasClass( "ui-state-disabled" ) ) ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   699
					return;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   700
				}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   701
				return ( typeof handler === "string" ? instance[ handler ] : handler )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   702
					.apply( instance, arguments );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   703
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   704
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   705
			// copy the guid so direct unbinding works
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   706
			if ( typeof handler !== "string" ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   707
				handlerProxy.guid = handler.guid =
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   708
					handler.guid || handlerProxy.guid || $.guid++;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   709
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   710
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   711
			var match = event.match( /^(\w+)\s*(.*)$/ ),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   712
				eventName = match[1] + instance.eventNamespace,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   713
				selector = match[2];
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   714
			if ( selector ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   715
				delegateElement.delegate( selector, eventName, handlerProxy );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   716
			} else {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   717
				element.bind( eventName, handlerProxy );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   718
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   719
		});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   720
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   721
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   722
	_off: function( element, eventName ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   723
		eventName = (eventName || "").split( " " ).join( this.eventNamespace + " " ) + this.eventNamespace;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   724
		element.unbind( eventName ).undelegate( eventName );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   725
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   726
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   727
	_delay: function( handler, delay ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   728
		function handlerProxy() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   729
			return ( typeof handler === "string" ? instance[ handler ] : handler )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   730
				.apply( instance, arguments );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   731
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   732
		var instance = this;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   733
		return setTimeout( handlerProxy, delay || 0 );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   734
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   735
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   736
	_hoverable: function( element ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   737
		this.hoverable = this.hoverable.add( element );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   738
		this._on( element, {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   739
			mouseenter: function( event ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   740
				$( event.currentTarget ).addClass( "ui-state-hover" );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   741
			},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   742
			mouseleave: function( event ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   743
				$( event.currentTarget ).removeClass( "ui-state-hover" );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   744
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   745
		});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   746
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   747
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   748
	_focusable: function( element ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   749
		this.focusable = this.focusable.add( element );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   750
		this._on( element, {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   751
			focusin: function( event ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   752
				$( event.currentTarget ).addClass( "ui-state-focus" );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   753
			},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   754
			focusout: function( event ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   755
				$( event.currentTarget ).removeClass( "ui-state-focus" );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   756
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   757
		});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   758
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   759
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   760
	_trigger: function( type, event, data ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   761
		var prop, orig,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   762
			callback = this.options[ type ];
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   763
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   764
		data = data || {};
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   765
		event = $.Event( event );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   766
		event.type = ( type === this.widgetEventPrefix ?
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   767
			type :
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   768
			this.widgetEventPrefix + type ).toLowerCase();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   769
		// the original event may come from any element
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   770
		// so we need to reset the target on the new event
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   771
		event.target = this.element[ 0 ];
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   772
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   773
		// copy original event properties over to the new event
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   774
		orig = event.originalEvent;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   775
		if ( orig ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   776
			for ( prop in orig ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   777
				if ( !( prop in event ) ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   778
					event[ prop ] = orig[ prop ];
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   779
				}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   780
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   781
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   782
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   783
		this.element.trigger( event, data );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   784
		return !( $.isFunction( callback ) &&
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   785
			callback.apply( this.element[0], [ event ].concat( data ) ) === false ||
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   786
			event.isDefaultPrevented() );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   787
	}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   788
};
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   789
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   790
$.each( { show: "fadeIn", hide: "fadeOut" }, function( method, defaultEffect ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   791
	$.Widget.prototype[ "_" + method ] = function( element, options, callback ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   792
		if ( typeof options === "string" ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   793
			options = { effect: options };
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   794
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   795
		var hasOptions,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   796
			effectName = !options ?
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   797
				method :
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   798
				options === true || typeof options === "number" ?
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   799
					defaultEffect :
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   800
					options.effect || defaultEffect;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   801
		options = options || {};
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   802
		if ( typeof options === "number" ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   803
			options = { duration: options };
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   804
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   805
		hasOptions = !$.isEmptyObject( options );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   806
		options.complete = callback;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   807
		if ( options.delay ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   808
			element.delay( options.delay );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   809
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   810
		if ( hasOptions && $.effects && $.effects.effect[ effectName ] ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   811
			element[ method ]( options );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   812
		} else if ( effectName !== method && element[ effectName ] ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   813
			element[ effectName ]( options.duration, options.easing, callback );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   814
		} else {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   815
			element.queue(function( next ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   816
				$( this )[ method ]();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   817
				if ( callback ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   818
					callback.call( element[ 0 ] );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   819
				}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   820
				next();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   821
			});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   822
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   823
	};
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   824
});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   825
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   826
})( jQuery );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   827
(function( $, undefined ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   828
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   829
var mouseHandled = false;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   830
$( document ).mouseup( function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   831
	mouseHandled = false;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   832
});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   833
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   834
$.widget("ui.mouse", {
262
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
   835
	version: "1.10.4",
211
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   836
	options: {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   837
		cancel: "input,textarea,button,select,option",
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   838
		distance: 1,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   839
		delay: 0
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   840
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   841
	_mouseInit: function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   842
		var that = this;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   843
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   844
		this.element
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   845
			.bind("mousedown."+this.widgetName, function(event) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   846
				return that._mouseDown(event);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   847
			})
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   848
			.bind("click."+this.widgetName, function(event) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   849
				if (true === $.data(event.target, that.widgetName + ".preventClickEvent")) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   850
					$.removeData(event.target, that.widgetName + ".preventClickEvent");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   851
					event.stopImmediatePropagation();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   852
					return false;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   853
				}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   854
			});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   855
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   856
		this.started = false;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   857
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   858
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   859
	// TODO: make sure destroying one instance of mouse doesn't mess with
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   860
	// other instances of mouse
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   861
	_mouseDestroy: function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   862
		this.element.unbind("."+this.widgetName);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   863
		if ( this._mouseMoveDelegate ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   864
			$(document)
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   865
				.unbind("mousemove."+this.widgetName, this._mouseMoveDelegate)
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   866
				.unbind("mouseup."+this.widgetName, this._mouseUpDelegate);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   867
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   868
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   869
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   870
	_mouseDown: function(event) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   871
		// don't let more than one widget handle mouseStart
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   872
		if( mouseHandled ) { return; }
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   873
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   874
		// we may have missed mouseup (out of window)
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   875
		(this._mouseStarted && this._mouseUp(event));
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   876
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   877
		this._mouseDownEvent = event;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   878
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   879
		var that = this,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   880
			btnIsLeft = (event.which === 1),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   881
			// event.target.nodeName works around a bug in IE 8 with
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   882
			// disabled inputs (#7620)
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   883
			elIsCancel = (typeof this.options.cancel === "string" && event.target.nodeName ? $(event.target).closest(this.options.cancel).length : false);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   884
		if (!btnIsLeft || elIsCancel || !this._mouseCapture(event)) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   885
			return true;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   886
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   887
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   888
		this.mouseDelayMet = !this.options.delay;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   889
		if (!this.mouseDelayMet) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   890
			this._mouseDelayTimer = setTimeout(function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   891
				that.mouseDelayMet = true;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   892
			}, this.options.delay);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   893
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   894
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   895
		if (this._mouseDistanceMet(event) && this._mouseDelayMet(event)) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   896
			this._mouseStarted = (this._mouseStart(event) !== false);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   897
			if (!this._mouseStarted) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   898
				event.preventDefault();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   899
				return true;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   900
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   901
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   902
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   903
		// Click event may never have fired (Gecko & Opera)
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   904
		if (true === $.data(event.target, this.widgetName + ".preventClickEvent")) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   905
			$.removeData(event.target, this.widgetName + ".preventClickEvent");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   906
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   907
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   908
		// these delegates are required to keep context
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   909
		this._mouseMoveDelegate = function(event) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   910
			return that._mouseMove(event);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   911
		};
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   912
		this._mouseUpDelegate = function(event) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   913
			return that._mouseUp(event);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   914
		};
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   915
		$(document)
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   916
			.bind("mousemove."+this.widgetName, this._mouseMoveDelegate)
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   917
			.bind("mouseup."+this.widgetName, this._mouseUpDelegate);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   918
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   919
		event.preventDefault();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   920
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   921
		mouseHandled = true;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   922
		return true;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   923
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   924
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   925
	_mouseMove: function(event) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   926
		// IE mouseup check - mouseup happened when mouse was out of window
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   927
		if ($.ui.ie && ( !document.documentMode || document.documentMode < 9 ) && !event.button) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   928
			return this._mouseUp(event);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   929
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   930
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   931
		if (this._mouseStarted) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   932
			this._mouseDrag(event);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   933
			return event.preventDefault();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   934
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   935
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   936
		if (this._mouseDistanceMet(event) && this._mouseDelayMet(event)) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   937
			this._mouseStarted =
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   938
				(this._mouseStart(this._mouseDownEvent, event) !== false);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   939
			(this._mouseStarted ? this._mouseDrag(event) : this._mouseUp(event));
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   940
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   941
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   942
		return !this._mouseStarted;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   943
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   944
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   945
	_mouseUp: function(event) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   946
		$(document)
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   947
			.unbind("mousemove."+this.widgetName, this._mouseMoveDelegate)
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   948
			.unbind("mouseup."+this.widgetName, this._mouseUpDelegate);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   949
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   950
		if (this._mouseStarted) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   951
			this._mouseStarted = false;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   952
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   953
			if (event.target === this._mouseDownEvent.target) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   954
				$.data(event.target, this.widgetName + ".preventClickEvent", true);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   955
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   956
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   957
			this._mouseStop(event);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   958
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   959
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   960
		return false;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   961
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   962
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   963
	_mouseDistanceMet: function(event) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   964
		return (Math.max(
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   965
				Math.abs(this._mouseDownEvent.pageX - event.pageX),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   966
				Math.abs(this._mouseDownEvent.pageY - event.pageY)
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   967
			) >= this.options.distance
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   968
		);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   969
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   970
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   971
	_mouseDelayMet: function(/* event */) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   972
		return this.mouseDelayMet;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   973
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   974
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   975
	// These are placeholder methods, to be overriden by extending plugin
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   976
	_mouseStart: function(/* event */) {},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   977
	_mouseDrag: function(/* event */) {},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   978
	_mouseStop: function(/* event */) {},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   979
	_mouseCapture: function(/* event */) { return true; }
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   980
});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   981
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
   982
})(jQuery);
262
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
   983
(function( $, undefined ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
   984
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
   985
$.ui = $.ui || {};
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
   986
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
   987
var cachedScrollbarWidth,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
   988
	max = Math.max,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
   989
	abs = Math.abs,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
   990
	round = Math.round,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
   991
	rhorizontal = /left|center|right/,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
   992
	rvertical = /top|center|bottom/,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
   993
	roffset = /[\+\-]\d+(\.[\d]+)?%?/,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
   994
	rposition = /^\w+/,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
   995
	rpercent = /%$/,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
   996
	_position = $.fn.position;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
   997
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
   998
function getOffsets( offsets, width, height ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
   999
	return [
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1000
		parseFloat( offsets[ 0 ] ) * ( rpercent.test( offsets[ 0 ] ) ? width / 100 : 1 ),
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1001
		parseFloat( offsets[ 1 ] ) * ( rpercent.test( offsets[ 1 ] ) ? height / 100 : 1 )
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1002
	];
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1003
}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1004
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1005
function parseCss( element, property ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1006
	return parseInt( $.css( element, property ), 10 ) || 0;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1007
}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1008
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1009
function getDimensions( elem ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1010
	var raw = elem[0];
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1011
	if ( raw.nodeType === 9 ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1012
		return {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1013
			width: elem.width(),
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1014
			height: elem.height(),
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1015
			offset: { top: 0, left: 0 }
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1016
		};
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1017
	}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1018
	if ( $.isWindow( raw ) ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1019
		return {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1020
			width: elem.width(),
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1021
			height: elem.height(),
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1022
			offset: { top: elem.scrollTop(), left: elem.scrollLeft() }
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1023
		};
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1024
	}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1025
	if ( raw.preventDefault ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1026
		return {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1027
			width: 0,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1028
			height: 0,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1029
			offset: { top: raw.pageY, left: raw.pageX }
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1030
		};
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1031
	}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1032
	return {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1033
		width: elem.outerWidth(),
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1034
		height: elem.outerHeight(),
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1035
		offset: elem.offset()
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1036
	};
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1037
}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1038
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1039
$.position = {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1040
	scrollbarWidth: function() {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1041
		if ( cachedScrollbarWidth !== undefined ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1042
			return cachedScrollbarWidth;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1043
		}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1044
		var w1, w2,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1045
			div = $( "<div style='display:block;position:absolute;width:50px;height:50px;overflow:hidden;'><div style='height:100px;width:auto;'></div></div>" ),
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1046
			innerDiv = div.children()[0];
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1047
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1048
		$( "body" ).append( div );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1049
		w1 = innerDiv.offsetWidth;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1050
		div.css( "overflow", "scroll" );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1051
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1052
		w2 = innerDiv.offsetWidth;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1053
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1054
		if ( w1 === w2 ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1055
			w2 = div[0].clientWidth;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1056
		}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1057
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1058
		div.remove();
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1059
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1060
		return (cachedScrollbarWidth = w1 - w2);
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1061
	},
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1062
	getScrollInfo: function( within ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1063
		var overflowX = within.isWindow || within.isDocument ? "" :
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1064
				within.element.css( "overflow-x" ),
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1065
			overflowY = within.isWindow || within.isDocument ? "" :
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1066
				within.element.css( "overflow-y" ),
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1067
			hasOverflowX = overflowX === "scroll" ||
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1068
				( overflowX === "auto" && within.width < within.element[0].scrollWidth ),
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1069
			hasOverflowY = overflowY === "scroll" ||
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1070
				( overflowY === "auto" && within.height < within.element[0].scrollHeight );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1071
		return {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1072
			width: hasOverflowY ? $.position.scrollbarWidth() : 0,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1073
			height: hasOverflowX ? $.position.scrollbarWidth() : 0
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1074
		};
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1075
	},
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1076
	getWithinInfo: function( element ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1077
		var withinElement = $( element || window ),
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1078
			isWindow = $.isWindow( withinElement[0] ),
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1079
			isDocument = !!withinElement[ 0 ] && withinElement[ 0 ].nodeType === 9;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1080
		return {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1081
			element: withinElement,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1082
			isWindow: isWindow,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1083
			isDocument: isDocument,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1084
			offset: withinElement.offset() || { left: 0, top: 0 },
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1085
			scrollLeft: withinElement.scrollLeft(),
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1086
			scrollTop: withinElement.scrollTop(),
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1087
			width: isWindow ? withinElement.width() : withinElement.outerWidth(),
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1088
			height: isWindow ? withinElement.height() : withinElement.outerHeight()
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1089
		};
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1090
	}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1091
};
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1092
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1093
$.fn.position = function( options ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1094
	if ( !options || !options.of ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1095
		return _position.apply( this, arguments );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1096
	}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1097
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1098
	// make a copy, we don't want to modify arguments
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1099
	options = $.extend( {}, options );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1100
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1101
	var atOffset, targetWidth, targetHeight, targetOffset, basePosition, dimensions,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1102
		target = $( options.of ),
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1103
		within = $.position.getWithinInfo( options.within ),
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1104
		scrollInfo = $.position.getScrollInfo( within ),
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1105
		collision = ( options.collision || "flip" ).split( " " ),
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1106
		offsets = {};
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1107
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1108
	dimensions = getDimensions( target );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1109
	if ( target[0].preventDefault ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1110
		// force left top to allow flipping
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1111
		options.at = "left top";
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1112
	}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1113
	targetWidth = dimensions.width;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1114
	targetHeight = dimensions.height;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1115
	targetOffset = dimensions.offset;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1116
	// clone to reuse original targetOffset later
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1117
	basePosition = $.extend( {}, targetOffset );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1118
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1119
	// force my and at to have valid horizontal and vertical positions
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1120
	// if a value is missing or invalid, it will be converted to center
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1121
	$.each( [ "my", "at" ], function() {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1122
		var pos = ( options[ this ] || "" ).split( " " ),
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1123
			horizontalOffset,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1124
			verticalOffset;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1125
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1126
		if ( pos.length === 1) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1127
			pos = rhorizontal.test( pos[ 0 ] ) ?
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1128
				pos.concat( [ "center" ] ) :
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1129
				rvertical.test( pos[ 0 ] ) ?
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1130
					[ "center" ].concat( pos ) :
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1131
					[ "center", "center" ];
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1132
		}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1133
		pos[ 0 ] = rhorizontal.test( pos[ 0 ] ) ? pos[ 0 ] : "center";
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1134
		pos[ 1 ] = rvertical.test( pos[ 1 ] ) ? pos[ 1 ] : "center";
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1135
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1136
		// calculate offsets
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1137
		horizontalOffset = roffset.exec( pos[ 0 ] );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1138
		verticalOffset = roffset.exec( pos[ 1 ] );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1139
		offsets[ this ] = [
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1140
			horizontalOffset ? horizontalOffset[ 0 ] : 0,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1141
			verticalOffset ? verticalOffset[ 0 ] : 0
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1142
		];
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1143
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1144
		// reduce to just the positions without the offsets
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1145
		options[ this ] = [
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1146
			rposition.exec( pos[ 0 ] )[ 0 ],
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1147
			rposition.exec( pos[ 1 ] )[ 0 ]
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1148
		];
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1149
	});
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1150
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1151
	// normalize collision option
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1152
	if ( collision.length === 1 ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1153
		collision[ 1 ] = collision[ 0 ];
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1154
	}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1155
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1156
	if ( options.at[ 0 ] === "right" ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1157
		basePosition.left += targetWidth;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1158
	} else if ( options.at[ 0 ] === "center" ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1159
		basePosition.left += targetWidth / 2;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1160
	}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1161
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1162
	if ( options.at[ 1 ] === "bottom" ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1163
		basePosition.top += targetHeight;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1164
	} else if ( options.at[ 1 ] === "center" ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1165
		basePosition.top += targetHeight / 2;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1166
	}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1167
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1168
	atOffset = getOffsets( offsets.at, targetWidth, targetHeight );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1169
	basePosition.left += atOffset[ 0 ];
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1170
	basePosition.top += atOffset[ 1 ];
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1171
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1172
	return this.each(function() {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1173
		var collisionPosition, using,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1174
			elem = $( this ),
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1175
			elemWidth = elem.outerWidth(),
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1176
			elemHeight = elem.outerHeight(),
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1177
			marginLeft = parseCss( this, "marginLeft" ),
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1178
			marginTop = parseCss( this, "marginTop" ),
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1179
			collisionWidth = elemWidth + marginLeft + parseCss( this, "marginRight" ) + scrollInfo.width,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1180
			collisionHeight = elemHeight + marginTop + parseCss( this, "marginBottom" ) + scrollInfo.height,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1181
			position = $.extend( {}, basePosition ),
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1182
			myOffset = getOffsets( offsets.my, elem.outerWidth(), elem.outerHeight() );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1183
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1184
		if ( options.my[ 0 ] === "right" ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1185
			position.left -= elemWidth;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1186
		} else if ( options.my[ 0 ] === "center" ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1187
			position.left -= elemWidth / 2;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1188
		}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1189
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1190
		if ( options.my[ 1 ] === "bottom" ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1191
			position.top -= elemHeight;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1192
		} else if ( options.my[ 1 ] === "center" ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1193
			position.top -= elemHeight / 2;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1194
		}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1195
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1196
		position.left += myOffset[ 0 ];
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1197
		position.top += myOffset[ 1 ];
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1198
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1199
		// if the browser doesn't support fractions, then round for consistent results
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1200
		if ( !$.support.offsetFractions ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1201
			position.left = round( position.left );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1202
			position.top = round( position.top );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1203
		}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1204
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1205
		collisionPosition = {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1206
			marginLeft: marginLeft,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1207
			marginTop: marginTop
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1208
		};
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1209
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1210
		$.each( [ "left", "top" ], function( i, dir ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1211
			if ( $.ui.position[ collision[ i ] ] ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1212
				$.ui.position[ collision[ i ] ][ dir ]( position, {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1213
					targetWidth: targetWidth,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1214
					targetHeight: targetHeight,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1215
					elemWidth: elemWidth,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1216
					elemHeight: elemHeight,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1217
					collisionPosition: collisionPosition,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1218
					collisionWidth: collisionWidth,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1219
					collisionHeight: collisionHeight,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1220
					offset: [ atOffset[ 0 ] + myOffset[ 0 ], atOffset [ 1 ] + myOffset[ 1 ] ],
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1221
					my: options.my,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1222
					at: options.at,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1223
					within: within,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1224
					elem : elem
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1225
				});
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1226
			}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1227
		});
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1228
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1229
		if ( options.using ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1230
			// adds feedback as second argument to using callback, if present
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1231
			using = function( props ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1232
				var left = targetOffset.left - position.left,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1233
					right = left + targetWidth - elemWidth,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1234
					top = targetOffset.top - position.top,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1235
					bottom = top + targetHeight - elemHeight,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1236
					feedback = {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1237
						target: {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1238
							element: target,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1239
							left: targetOffset.left,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1240
							top: targetOffset.top,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1241
							width: targetWidth,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1242
							height: targetHeight
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1243
						},
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1244
						element: {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1245
							element: elem,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1246
							left: position.left,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1247
							top: position.top,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1248
							width: elemWidth,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1249
							height: elemHeight
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1250
						},
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1251
						horizontal: right < 0 ? "left" : left > 0 ? "right" : "center",
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1252
						vertical: bottom < 0 ? "top" : top > 0 ? "bottom" : "middle"
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1253
					};
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1254
				if ( targetWidth < elemWidth && abs( left + right ) < targetWidth ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1255
					feedback.horizontal = "center";
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1256
				}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1257
				if ( targetHeight < elemHeight && abs( top + bottom ) < targetHeight ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1258
					feedback.vertical = "middle";
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1259
				}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1260
				if ( max( abs( left ), abs( right ) ) > max( abs( top ), abs( bottom ) ) ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1261
					feedback.important = "horizontal";
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1262
				} else {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1263
					feedback.important = "vertical";
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1264
				}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1265
				options.using.call( this, props, feedback );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1266
			};
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1267
		}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1268
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1269
		elem.offset( $.extend( position, { using: using } ) );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1270
	});
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1271
};
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1272
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1273
$.ui.position = {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1274
	fit: {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1275
		left: function( position, data ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1276
			var within = data.within,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1277
				withinOffset = within.isWindow ? within.scrollLeft : within.offset.left,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1278
				outerWidth = within.width,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1279
				collisionPosLeft = position.left - data.collisionPosition.marginLeft,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1280
				overLeft = withinOffset - collisionPosLeft,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1281
				overRight = collisionPosLeft + data.collisionWidth - outerWidth - withinOffset,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1282
				newOverRight;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1283
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1284
			// element is wider than within
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1285
			if ( data.collisionWidth > outerWidth ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1286
				// element is initially over the left side of within
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1287
				if ( overLeft > 0 && overRight <= 0 ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1288
					newOverRight = position.left + overLeft + data.collisionWidth - outerWidth - withinOffset;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1289
					position.left += overLeft - newOverRight;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1290
				// element is initially over right side of within
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1291
				} else if ( overRight > 0 && overLeft <= 0 ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1292
					position.left = withinOffset;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1293
				// element is initially over both left and right sides of within
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1294
				} else {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1295
					if ( overLeft > overRight ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1296
						position.left = withinOffset + outerWidth - data.collisionWidth;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1297
					} else {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1298
						position.left = withinOffset;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1299
					}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1300
				}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1301
			// too far left -> align with left edge
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1302
			} else if ( overLeft > 0 ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1303
				position.left += overLeft;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1304
			// too far right -> align with right edge
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1305
			} else if ( overRight > 0 ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1306
				position.left -= overRight;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1307
			// adjust based on position and margin
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1308
			} else {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1309
				position.left = max( position.left - collisionPosLeft, position.left );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1310
			}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1311
		},
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1312
		top: function( position, data ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1313
			var within = data.within,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1314
				withinOffset = within.isWindow ? within.scrollTop : within.offset.top,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1315
				outerHeight = data.within.height,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1316
				collisionPosTop = position.top - data.collisionPosition.marginTop,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1317
				overTop = withinOffset - collisionPosTop,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1318
				overBottom = collisionPosTop + data.collisionHeight - outerHeight - withinOffset,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1319
				newOverBottom;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1320
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1321
			// element is taller than within
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1322
			if ( data.collisionHeight > outerHeight ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1323
				// element is initially over the top of within
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1324
				if ( overTop > 0 && overBottom <= 0 ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1325
					newOverBottom = position.top + overTop + data.collisionHeight - outerHeight - withinOffset;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1326
					position.top += overTop - newOverBottom;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1327
				// element is initially over bottom of within
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1328
				} else if ( overBottom > 0 && overTop <= 0 ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1329
					position.top = withinOffset;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1330
				// element is initially over both top and bottom of within
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1331
				} else {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1332
					if ( overTop > overBottom ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1333
						position.top = withinOffset + outerHeight - data.collisionHeight;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1334
					} else {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1335
						position.top = withinOffset;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1336
					}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1337
				}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1338
			// too far up -> align with top
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1339
			} else if ( overTop > 0 ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1340
				position.top += overTop;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1341
			// too far down -> align with bottom edge
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1342
			} else if ( overBottom > 0 ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1343
				position.top -= overBottom;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1344
			// adjust based on position and margin
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1345
			} else {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1346
				position.top = max( position.top - collisionPosTop, position.top );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1347
			}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1348
		}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1349
	},
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1350
	flip: {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1351
		left: function( position, data ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1352
			var within = data.within,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1353
				withinOffset = within.offset.left + within.scrollLeft,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1354
				outerWidth = within.width,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1355
				offsetLeft = within.isWindow ? within.scrollLeft : within.offset.left,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1356
				collisionPosLeft = position.left - data.collisionPosition.marginLeft,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1357
				overLeft = collisionPosLeft - offsetLeft,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1358
				overRight = collisionPosLeft + data.collisionWidth - outerWidth - offsetLeft,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1359
				myOffset = data.my[ 0 ] === "left" ?
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1360
					-data.elemWidth :
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1361
					data.my[ 0 ] === "right" ?
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1362
						data.elemWidth :
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1363
						0,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1364
				atOffset = data.at[ 0 ] === "left" ?
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1365
					data.targetWidth :
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1366
					data.at[ 0 ] === "right" ?
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1367
						-data.targetWidth :
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1368
						0,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1369
				offset = -2 * data.offset[ 0 ],
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1370
				newOverRight,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1371
				newOverLeft;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1372
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1373
			if ( overLeft < 0 ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1374
				newOverRight = position.left + myOffset + atOffset + offset + data.collisionWidth - outerWidth - withinOffset;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1375
				if ( newOverRight < 0 || newOverRight < abs( overLeft ) ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1376
					position.left += myOffset + atOffset + offset;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1377
				}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1378
			}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1379
			else if ( overRight > 0 ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1380
				newOverLeft = position.left - data.collisionPosition.marginLeft + myOffset + atOffset + offset - offsetLeft;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1381
				if ( newOverLeft > 0 || abs( newOverLeft ) < overRight ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1382
					position.left += myOffset + atOffset + offset;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1383
				}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1384
			}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1385
		},
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1386
		top: function( position, data ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1387
			var within = data.within,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1388
				withinOffset = within.offset.top + within.scrollTop,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1389
				outerHeight = within.height,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1390
				offsetTop = within.isWindow ? within.scrollTop : within.offset.top,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1391
				collisionPosTop = position.top - data.collisionPosition.marginTop,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1392
				overTop = collisionPosTop - offsetTop,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1393
				overBottom = collisionPosTop + data.collisionHeight - outerHeight - offsetTop,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1394
				top = data.my[ 1 ] === "top",
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1395
				myOffset = top ?
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1396
					-data.elemHeight :
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1397
					data.my[ 1 ] === "bottom" ?
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1398
						data.elemHeight :
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1399
						0,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1400
				atOffset = data.at[ 1 ] === "top" ?
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1401
					data.targetHeight :
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1402
					data.at[ 1 ] === "bottom" ?
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1403
						-data.targetHeight :
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1404
						0,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1405
				offset = -2 * data.offset[ 1 ],
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1406
				newOverTop,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1407
				newOverBottom;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1408
			if ( overTop < 0 ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1409
				newOverBottom = position.top + myOffset + atOffset + offset + data.collisionHeight - outerHeight - withinOffset;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1410
				if ( ( position.top + myOffset + atOffset + offset) > overTop && ( newOverBottom < 0 || newOverBottom < abs( overTop ) ) ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1411
					position.top += myOffset + atOffset + offset;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1412
				}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1413
			}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1414
			else if ( overBottom > 0 ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1415
				newOverTop = position.top - data.collisionPosition.marginTop + myOffset + atOffset + offset - offsetTop;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1416
				if ( ( position.top + myOffset + atOffset + offset) > overBottom && ( newOverTop > 0 || abs( newOverTop ) < overBottom ) ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1417
					position.top += myOffset + atOffset + offset;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1418
				}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1419
			}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1420
		}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1421
	},
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1422
	flipfit: {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1423
		left: function() {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1424
			$.ui.position.flip.left.apply( this, arguments );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1425
			$.ui.position.fit.left.apply( this, arguments );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1426
		},
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1427
		top: function() {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1428
			$.ui.position.flip.top.apply( this, arguments );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1429
			$.ui.position.fit.top.apply( this, arguments );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1430
		}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1431
	}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1432
};
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1433
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1434
// fraction support test
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1435
(function () {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1436
	var testElement, testElementParent, testElementStyle, offsetLeft, i,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1437
		body = document.getElementsByTagName( "body" )[ 0 ],
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1438
		div = document.createElement( "div" );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1439
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1440
	//Create a "fake body" for testing based on method used in jQuery.support
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1441
	testElement = document.createElement( body ? "div" : "body" );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1442
	testElementStyle = {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1443
		visibility: "hidden",
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1444
		width: 0,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1445
		height: 0,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1446
		border: 0,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1447
		margin: 0,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1448
		background: "none"
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1449
	};
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1450
	if ( body ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1451
		$.extend( testElementStyle, {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1452
			position: "absolute",
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1453
			left: "-1000px",
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1454
			top: "-1000px"
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1455
		});
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1456
	}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1457
	for ( i in testElementStyle ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1458
		testElement.style[ i ] = testElementStyle[ i ];
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1459
	}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1460
	testElement.appendChild( div );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1461
	testElementParent = body || document.documentElement;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1462
	testElementParent.insertBefore( testElement, testElementParent.firstChild );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1463
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1464
	div.style.cssText = "position: absolute; left: 10.7432222px;";
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1465
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1466
	offsetLeft = $( div ).offset().left;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1467
	$.support.offsetFractions = offsetLeft > 10 && offsetLeft < 11;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1468
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1469
	testElement.innerHTML = "";
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1470
	testElementParent.removeChild( testElement );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1471
})();
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1472
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1473
}( jQuery ) );
211
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1474
(function( $, undefined ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1475
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1476
$.widget("ui.draggable", $.ui.mouse, {
262
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  1477
	version: "1.10.4",
211
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1478
	widgetEventPrefix: "drag",
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1479
	options: {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1480
		addClasses: true,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1481
		appendTo: "parent",
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1482
		axis: false,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1483
		connectToSortable: false,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1484
		containment: false,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1485
		cursor: "auto",
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1486
		cursorAt: false,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1487
		grid: false,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1488
		handle: false,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1489
		helper: "original",
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1490
		iframeFix: false,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1491
		opacity: false,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1492
		refreshPositions: false,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1493
		revert: false,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1494
		revertDuration: 500,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1495
		scope: "default",
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1496
		scroll: true,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1497
		scrollSensitivity: 20,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1498
		scrollSpeed: 20,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1499
		snap: false,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1500
		snapMode: "both",
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1501
		snapTolerance: 20,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1502
		stack: false,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1503
		zIndex: false,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1504
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1505
		// callbacks
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1506
		drag: null,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1507
		start: null,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1508
		stop: null
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1509
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1510
	_create: function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1511
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1512
		if (this.options.helper === "original" && !(/^(?:r|a|f)/).test(this.element.css("position"))) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1513
			this.element[0].style.position = "relative";
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1514
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1515
		if (this.options.addClasses){
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1516
			this.element.addClass("ui-draggable");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1517
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1518
		if (this.options.disabled){
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1519
			this.element.addClass("ui-draggable-disabled");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1520
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1521
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1522
		this._mouseInit();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1523
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1524
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1525
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1526
	_destroy: function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1527
		this.element.removeClass( "ui-draggable ui-draggable-dragging ui-draggable-disabled" );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1528
		this._mouseDestroy();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1529
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1530
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1531
	_mouseCapture: function(event) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1532
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1533
		var o = this.options;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1534
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1535
		// among others, prevent a drag on a resizable-handle
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1536
		if (this.helper || o.disabled || $(event.target).closest(".ui-resizable-handle").length > 0) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1537
			return false;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1538
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1539
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1540
		//Quit if we're not on a valid handle
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1541
		this.handle = this._getHandle(event);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1542
		if (!this.handle) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1543
			return false;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1544
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1545
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1546
		$(o.iframeFix === true ? "iframe" : o.iframeFix).each(function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1547
			$("<div class='ui-draggable-iframeFix' style='background: #fff;'></div>")
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1548
			.css({
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1549
				width: this.offsetWidth+"px", height: this.offsetHeight+"px",
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1550
				position: "absolute", opacity: "0.001", zIndex: 1000
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1551
			})
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1552
			.css($(this).offset())
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1553
			.appendTo("body");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1554
		});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1555
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1556
		return true;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1557
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1558
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1559
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1560
	_mouseStart: function(event) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1561
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1562
		var o = this.options;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1563
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1564
		//Create and append the visible helper
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1565
		this.helper = this._createHelper(event);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1566
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1567
		this.helper.addClass("ui-draggable-dragging");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1568
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1569
		//Cache the helper size
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1570
		this._cacheHelperProportions();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1571
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1572
		//If ddmanager is used for droppables, set the global draggable
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1573
		if($.ui.ddmanager) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1574
			$.ui.ddmanager.current = this;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1575
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1576
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1577
		/*
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1578
		 * - Position generation -
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1579
		 * This block generates everything position related - it's the core of draggables.
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1580
		 */
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1581
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1582
		//Cache the margins of the original element
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1583
		this._cacheMargins();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1584
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1585
		//Store the helper's css position
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1586
		this.cssPosition = this.helper.css( "position" );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1587
		this.scrollParent = this.helper.scrollParent();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1588
		this.offsetParent = this.helper.offsetParent();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1589
		this.offsetParentCssPosition = this.offsetParent.css( "position" );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1590
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1591
		//The element's absolute position on the page minus margins
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1592
		this.offset = this.positionAbs = this.element.offset();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1593
		this.offset = {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1594
			top: this.offset.top - this.margins.top,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1595
			left: this.offset.left - this.margins.left
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1596
		};
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1597
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1598
		//Reset scroll cache
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1599
		this.offset.scroll = false;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1600
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1601
		$.extend(this.offset, {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1602
			click: { //Where the click happened, relative to the element
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1603
				left: event.pageX - this.offset.left,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1604
				top: event.pageY - this.offset.top
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1605
			},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1606
			parent: this._getParentOffset(),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1607
			relative: this._getRelativeOffset() //This is a relative to absolute position minus the actual position calculation - only used for relative positioned helper
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1608
		});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1609
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1610
		//Generate the original position
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1611
		this.originalPosition = this.position = this._generatePosition(event);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1612
		this.originalPageX = event.pageX;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1613
		this.originalPageY = event.pageY;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1614
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1615
		//Adjust the mouse offset relative to the helper if "cursorAt" is supplied
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1616
		(o.cursorAt && this._adjustOffsetFromHelper(o.cursorAt));
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1617
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1618
		//Set a containment if given in the options
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1619
		this._setContainment();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1620
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1621
		//Trigger event + callbacks
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1622
		if(this._trigger("start", event) === false) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1623
			this._clear();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1624
			return false;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1625
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1626
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1627
		//Recache the helper size
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1628
		this._cacheHelperProportions();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1629
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1630
		//Prepare the droppable offsets
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1631
		if ($.ui.ddmanager && !o.dropBehaviour) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1632
			$.ui.ddmanager.prepareOffsets(this, event);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1633
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1634
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1635
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1636
		this._mouseDrag(event, true); //Execute the drag once - this causes the helper not to be visible before getting its correct position
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1637
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1638
		//If the ddmanager is used for droppables, inform the manager that dragging has started (see #5003)
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1639
		if ( $.ui.ddmanager ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1640
			$.ui.ddmanager.dragStart(this, event);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1641
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1642
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1643
		return true;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1644
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1645
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1646
	_mouseDrag: function(event, noPropagation) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1647
		// reset any necessary cached properties (see #5009)
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1648
		if ( this.offsetParentCssPosition === "fixed" ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1649
			this.offset.parent = this._getParentOffset();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1650
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1651
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1652
		//Compute the helpers position
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1653
		this.position = this._generatePosition(event);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1654
		this.positionAbs = this._convertPositionTo("absolute");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1655
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1656
		//Call plugins and callbacks and use the resulting position if something is returned
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1657
		if (!noPropagation) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1658
			var ui = this._uiHash();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1659
			if(this._trigger("drag", event, ui) === false) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1660
				this._mouseUp({});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1661
				return false;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1662
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1663
			this.position = ui.position;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1664
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1665
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1666
		if(!this.options.axis || this.options.axis !== "y") {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1667
			this.helper[0].style.left = this.position.left+"px";
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1668
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1669
		if(!this.options.axis || this.options.axis !== "x") {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1670
			this.helper[0].style.top = this.position.top+"px";
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1671
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1672
		if($.ui.ddmanager) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1673
			$.ui.ddmanager.drag(this, event);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1674
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1675
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1676
		return false;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1677
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1678
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1679
	_mouseStop: function(event) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1680
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1681
		//If we are using droppables, inform the manager about the drop
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1682
		var that = this,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1683
			dropped = false;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1684
		if ($.ui.ddmanager && !this.options.dropBehaviour) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1685
			dropped = $.ui.ddmanager.drop(this, event);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1686
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1687
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1688
		//if a drop comes from outside (a sortable)
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1689
		if(this.dropped) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1690
			dropped = this.dropped;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1691
			this.dropped = false;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1692
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1693
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1694
		//if the original element is no longer in the DOM don't bother to continue (see #8269)
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1695
		if ( this.options.helper === "original" && !$.contains( this.element[ 0 ].ownerDocument, this.element[ 0 ] ) ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1696
			return false;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1697
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1698
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1699
		if((this.options.revert === "invalid" && !dropped) || (this.options.revert === "valid" && dropped) || this.options.revert === true || ($.isFunction(this.options.revert) && this.options.revert.call(this.element, dropped))) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1700
			$(this.helper).animate(this.originalPosition, parseInt(this.options.revertDuration, 10), function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1701
				if(that._trigger("stop", event) !== false) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1702
					that._clear();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1703
				}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1704
			});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1705
		} else {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1706
			if(this._trigger("stop", event) !== false) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1707
				this._clear();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1708
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1709
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1710
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1711
		return false;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1712
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1713
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1714
	_mouseUp: function(event) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1715
		//Remove frame helpers
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1716
		$("div.ui-draggable-iframeFix").each(function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1717
			this.parentNode.removeChild(this);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1718
		});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1719
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1720
		//If the ddmanager is used for droppables, inform the manager that dragging has stopped (see #5003)
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1721
		if( $.ui.ddmanager ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1722
			$.ui.ddmanager.dragStop(this, event);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1723
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1724
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1725
		return $.ui.mouse.prototype._mouseUp.call(this, event);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1726
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1727
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1728
	cancel: function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1729
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1730
		if(this.helper.is(".ui-draggable-dragging")) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1731
			this._mouseUp({});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1732
		} else {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1733
			this._clear();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1734
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1735
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1736
		return this;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1737
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1738
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1739
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1740
	_getHandle: function(event) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1741
		return this.options.handle ?
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1742
			!!$( event.target ).closest( this.element.find( this.options.handle ) ).length :
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1743
			true;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1744
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1745
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1746
	_createHelper: function(event) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1747
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1748
		var o = this.options,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1749
			helper = $.isFunction(o.helper) ? $(o.helper.apply(this.element[0], [event])) : (o.helper === "clone" ? this.element.clone().removeAttr("id") : this.element);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1750
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1751
		if(!helper.parents("body").length) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1752
			helper.appendTo((o.appendTo === "parent" ? this.element[0].parentNode : o.appendTo));
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1753
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1754
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1755
		if(helper[0] !== this.element[0] && !(/(fixed|absolute)/).test(helper.css("position"))) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1756
			helper.css("position", "absolute");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1757
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1758
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1759
		return helper;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1760
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1761
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1762
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1763
	_adjustOffsetFromHelper: function(obj) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1764
		if (typeof obj === "string") {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1765
			obj = obj.split(" ");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1766
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1767
		if ($.isArray(obj)) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1768
			obj = {left: +obj[0], top: +obj[1] || 0};
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1769
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1770
		if ("left" in obj) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1771
			this.offset.click.left = obj.left + this.margins.left;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1772
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1773
		if ("right" in obj) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1774
			this.offset.click.left = this.helperProportions.width - obj.right + this.margins.left;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1775
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1776
		if ("top" in obj) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1777
			this.offset.click.top = obj.top + this.margins.top;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1778
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1779
		if ("bottom" in obj) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1780
			this.offset.click.top = this.helperProportions.height - obj.bottom + this.margins.top;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1781
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1782
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1783
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1784
	_getParentOffset: function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1785
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1786
		//Get the offsetParent and cache its position
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1787
		var po = this.offsetParent.offset();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1788
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1789
		// This is a special case where we need to modify a offset calculated on start, since the following happened:
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1790
		// 1. The position of the helper is absolute, so it's position is calculated based on the next positioned parent
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1791
		// 2. The actual offset parent is a child of the scroll parent, and the scroll parent isn't the document, which means that
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1792
		//    the scroll is included in the initial calculation of the offset of the parent, and never recalculated upon drag
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1793
		if(this.cssPosition === "absolute" && this.scrollParent[0] !== document && $.contains(this.scrollParent[0], this.offsetParent[0])) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1794
			po.left += this.scrollParent.scrollLeft();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1795
			po.top += this.scrollParent.scrollTop();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1796
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1797
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1798
		//This needs to be actually done for all browsers, since pageX/pageY includes this information
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1799
		//Ugly IE fix
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1800
		if((this.offsetParent[0] === document.body) ||
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1801
			(this.offsetParent[0].tagName && this.offsetParent[0].tagName.toLowerCase() === "html" && $.ui.ie)) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1802
			po = { top: 0, left: 0 };
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1803
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1804
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1805
		return {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1806
			top: po.top + (parseInt(this.offsetParent.css("borderTopWidth"),10) || 0),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1807
			left: po.left + (parseInt(this.offsetParent.css("borderLeftWidth"),10) || 0)
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1808
		};
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1809
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1810
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1811
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1812
	_getRelativeOffset: function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1813
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1814
		if(this.cssPosition === "relative") {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1815
			var p = this.element.position();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1816
			return {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1817
				top: p.top - (parseInt(this.helper.css("top"),10) || 0) + this.scrollParent.scrollTop(),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1818
				left: p.left - (parseInt(this.helper.css("left"),10) || 0) + this.scrollParent.scrollLeft()
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1819
			};
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1820
		} else {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1821
			return { top: 0, left: 0 };
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1822
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1823
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1824
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1825
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1826
	_cacheMargins: function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1827
		this.margins = {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1828
			left: (parseInt(this.element.css("marginLeft"),10) || 0),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1829
			top: (parseInt(this.element.css("marginTop"),10) || 0),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1830
			right: (parseInt(this.element.css("marginRight"),10) || 0),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1831
			bottom: (parseInt(this.element.css("marginBottom"),10) || 0)
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1832
		};
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1833
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1834
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1835
	_cacheHelperProportions: function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1836
		this.helperProportions = {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1837
			width: this.helper.outerWidth(),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1838
			height: this.helper.outerHeight()
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1839
		};
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1840
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1841
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1842
	_setContainment: function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1843
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1844
		var over, c, ce,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1845
			o = this.options;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1846
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1847
		if ( !o.containment ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1848
			this.containment = null;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1849
			return;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1850
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1851
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1852
		if ( o.containment === "window" ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1853
			this.containment = [
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1854
				$( window ).scrollLeft() - this.offset.relative.left - this.offset.parent.left,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1855
				$( window ).scrollTop() - this.offset.relative.top - this.offset.parent.top,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1856
				$( window ).scrollLeft() + $( window ).width() - this.helperProportions.width - this.margins.left,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1857
				$( window ).scrollTop() + ( $( window ).height() || document.body.parentNode.scrollHeight ) - this.helperProportions.height - this.margins.top
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1858
			];
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1859
			return;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1860
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1861
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1862
		if ( o.containment === "document") {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1863
			this.containment = [
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1864
				0,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1865
				0,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1866
				$( document ).width() - this.helperProportions.width - this.margins.left,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1867
				( $( document ).height() || document.body.parentNode.scrollHeight ) - this.helperProportions.height - this.margins.top
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1868
			];
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1869
			return;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1870
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1871
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1872
		if ( o.containment.constructor === Array ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1873
			this.containment = o.containment;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1874
			return;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1875
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1876
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1877
		if ( o.containment === "parent" ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1878
			o.containment = this.helper[ 0 ].parentNode;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1879
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1880
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1881
		c = $( o.containment );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1882
		ce = c[ 0 ];
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1883
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1884
		if( !ce ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1885
			return;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1886
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1887
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1888
		over = c.css( "overflow" ) !== "hidden";
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1889
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1890
		this.containment = [
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1891
			( parseInt( c.css( "borderLeftWidth" ), 10 ) || 0 ) + ( parseInt( c.css( "paddingLeft" ), 10 ) || 0 ),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1892
			( parseInt( c.css( "borderTopWidth" ), 10 ) || 0 ) + ( parseInt( c.css( "paddingTop" ), 10 ) || 0 ) ,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1893
			( over ? Math.max( ce.scrollWidth, ce.offsetWidth ) : ce.offsetWidth ) - ( parseInt( c.css( "borderRightWidth" ), 10 ) || 0 ) - ( parseInt( c.css( "paddingRight" ), 10 ) || 0 ) - this.helperProportions.width - this.margins.left - this.margins.right,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1894
			( over ? Math.max( ce.scrollHeight, ce.offsetHeight ) : ce.offsetHeight ) - ( parseInt( c.css( "borderBottomWidth" ), 10 ) || 0 ) - ( parseInt( c.css( "paddingBottom" ), 10 ) || 0 ) - this.helperProportions.height - this.margins.top  - this.margins.bottom
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1895
		];
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1896
		this.relative_container = c;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1897
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1898
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1899
	_convertPositionTo: function(d, pos) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1900
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1901
		if(!pos) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1902
			pos = this.position;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1903
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1904
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1905
		var mod = d === "absolute" ? 1 : -1,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1906
			scroll = this.cssPosition === "absolute" && !( this.scrollParent[ 0 ] !== document && $.contains( this.scrollParent[ 0 ], this.offsetParent[ 0 ] ) ) ? this.offsetParent : this.scrollParent;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1907
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1908
		//Cache the scroll
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1909
		if (!this.offset.scroll) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1910
			this.offset.scroll = {top : scroll.scrollTop(), left : scroll.scrollLeft()};
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1911
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1912
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1913
		return {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1914
			top: (
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1915
				pos.top	+																// The absolute mouse position
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1916
				this.offset.relative.top * mod +										// Only for relative positioned nodes: Relative offset from element to offset parent
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1917
				this.offset.parent.top * mod -										// The offsetParent's offset without borders (offset + border)
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1918
				( ( this.cssPosition === "fixed" ? -this.scrollParent.scrollTop() : this.offset.scroll.top ) * mod )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1919
			),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1920
			left: (
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1921
				pos.left +																// The absolute mouse position
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1922
				this.offset.relative.left * mod +										// Only for relative positioned nodes: Relative offset from element to offset parent
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1923
				this.offset.parent.left * mod	-										// The offsetParent's offset without borders (offset + border)
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1924
				( ( this.cssPosition === "fixed" ? -this.scrollParent.scrollLeft() : this.offset.scroll.left ) * mod )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1925
			)
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1926
		};
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1927
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1928
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1929
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1930
	_generatePosition: function(event) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1931
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1932
		var containment, co, top, left,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1933
			o = this.options,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1934
			scroll = this.cssPosition === "absolute" && !( this.scrollParent[ 0 ] !== document && $.contains( this.scrollParent[ 0 ], this.offsetParent[ 0 ] ) ) ? this.offsetParent : this.scrollParent,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1935
			pageX = event.pageX,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1936
			pageY = event.pageY;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1937
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1938
		//Cache the scroll
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1939
		if (!this.offset.scroll) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1940
			this.offset.scroll = {top : scroll.scrollTop(), left : scroll.scrollLeft()};
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1941
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1942
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1943
		/*
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1944
		 * - Position constraining -
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1945
		 * Constrain the position to a mix of grid, containment.
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1946
		 */
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1947
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1948
		// If we are not dragging yet, we won't check for options
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1949
		if ( this.originalPosition ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1950
			if ( this.containment ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1951
				if ( this.relative_container ){
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1952
					co = this.relative_container.offset();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1953
					containment = [
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1954
						this.containment[ 0 ] + co.left,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1955
						this.containment[ 1 ] + co.top,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1956
						this.containment[ 2 ] + co.left,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1957
						this.containment[ 3 ] + co.top
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1958
					];
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1959
				}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1960
				else {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1961
					containment = this.containment;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1962
				}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1963
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1964
				if(event.pageX - this.offset.click.left < containment[0]) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1965
					pageX = containment[0] + this.offset.click.left;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1966
				}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1967
				if(event.pageY - this.offset.click.top < containment[1]) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1968
					pageY = containment[1] + this.offset.click.top;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1969
				}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1970
				if(event.pageX - this.offset.click.left > containment[2]) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1971
					pageX = containment[2] + this.offset.click.left;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1972
				}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1973
				if(event.pageY - this.offset.click.top > containment[3]) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1974
					pageY = containment[3] + this.offset.click.top;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1975
				}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1976
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1977
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1978
			if(o.grid) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1979
				//Check for grid elements set to 0 to prevent divide by 0 error causing invalid argument errors in IE (see ticket #6950)
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1980
				top = o.grid[1] ? this.originalPageY + Math.round((pageY - this.originalPageY) / o.grid[1]) * o.grid[1] : this.originalPageY;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1981
				pageY = containment ? ((top - this.offset.click.top >= containment[1] || top - this.offset.click.top > containment[3]) ? top : ((top - this.offset.click.top >= containment[1]) ? top - o.grid[1] : top + o.grid[1])) : top;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1982
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1983
				left = o.grid[0] ? this.originalPageX + Math.round((pageX - this.originalPageX) / o.grid[0]) * o.grid[0] : this.originalPageX;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1984
				pageX = containment ? ((left - this.offset.click.left >= containment[0] || left - this.offset.click.left > containment[2]) ? left : ((left - this.offset.click.left >= containment[0]) ? left - o.grid[0] : left + o.grid[0])) : left;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1985
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1986
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1987
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1988
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1989
		return {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1990
			top: (
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1991
				pageY -																	// The absolute mouse position
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1992
				this.offset.click.top	-												// Click offset (relative to the element)
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1993
				this.offset.relative.top -												// Only for relative positioned nodes: Relative offset from element to offset parent
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1994
				this.offset.parent.top +												// The offsetParent's offset without borders (offset + border)
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1995
				( this.cssPosition === "fixed" ? -this.scrollParent.scrollTop() : this.offset.scroll.top )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1996
			),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1997
			left: (
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1998
				pageX -																	// The absolute mouse position
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1999
				this.offset.click.left -												// Click offset (relative to the element)
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2000
				this.offset.relative.left -												// Only for relative positioned nodes: Relative offset from element to offset parent
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2001
				this.offset.parent.left +												// The offsetParent's offset without borders (offset + border)
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2002
				( this.cssPosition === "fixed" ? -this.scrollParent.scrollLeft() : this.offset.scroll.left )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2003
			)
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2004
		};
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2005
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2006
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2007
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2008
	_clear: function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2009
		this.helper.removeClass("ui-draggable-dragging");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2010
		if(this.helper[0] !== this.element[0] && !this.cancelHelperRemoval) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2011
			this.helper.remove();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2012
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2013
		this.helper = null;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2014
		this.cancelHelperRemoval = false;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2015
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2016
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2017
	// From now on bulk stuff - mainly helpers
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2018
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2019
	_trigger: function(type, event, ui) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2020
		ui = ui || this._uiHash();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2021
		$.ui.plugin.call(this, type, [event, ui]);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2022
		//The absolute position has to be recalculated after plugins
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2023
		if(type === "drag") {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2024
			this.positionAbs = this._convertPositionTo("absolute");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2025
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2026
		return $.Widget.prototype._trigger.call(this, type, event, ui);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2027
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2028
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2029
	plugins: {},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2030
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2031
	_uiHash: function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2032
		return {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2033
			helper: this.helper,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2034
			position: this.position,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2035
			originalPosition: this.originalPosition,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2036
			offset: this.positionAbs
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2037
		};
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2038
	}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2039
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2040
});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2041
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2042
$.ui.plugin.add("draggable", "connectToSortable", {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2043
	start: function(event, ui) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2044
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2045
		var inst = $(this).data("ui-draggable"), o = inst.options,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2046
			uiSortable = $.extend({}, ui, { item: inst.element });
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2047
		inst.sortables = [];
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2048
		$(o.connectToSortable).each(function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2049
			var sortable = $.data(this, "ui-sortable");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2050
			if (sortable && !sortable.options.disabled) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2051
				inst.sortables.push({
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2052
					instance: sortable,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2053
					shouldRevert: sortable.options.revert
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2054
				});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2055
				sortable.refreshPositions();	// Call the sortable's refreshPositions at drag start to refresh the containerCache since the sortable container cache is used in drag and needs to be up to date (this will ensure it's initialised as well as being kept in step with any changes that might have happened on the page).
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2056
				sortable._trigger("activate", event, uiSortable);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2057
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2058
		});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2059
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2060
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2061
	stop: function(event, ui) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2062
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2063
		//If we are still over the sortable, we fake the stop event of the sortable, but also remove helper
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2064
		var inst = $(this).data("ui-draggable"),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2065
			uiSortable = $.extend({}, ui, { item: inst.element });
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2066
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2067
		$.each(inst.sortables, function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2068
			if(this.instance.isOver) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2069
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2070
				this.instance.isOver = 0;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2071
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2072
				inst.cancelHelperRemoval = true; //Don't remove the helper in the draggable instance
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2073
				this.instance.cancelHelperRemoval = false; //Remove it in the sortable instance (so sortable plugins like revert still work)
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2074
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2075
				//The sortable revert is supported, and we have to set a temporary dropped variable on the draggable to support revert: "valid/invalid"
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2076
				if(this.shouldRevert) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2077
					this.instance.options.revert = this.shouldRevert;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2078
				}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2079
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2080
				//Trigger the stop of the sortable
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2081
				this.instance._mouseStop(event);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2082
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2083
				this.instance.options.helper = this.instance.options._helper;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2084
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2085
				//If the helper has been the original item, restore properties in the sortable
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2086
				if(inst.options.helper === "original") {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2087
					this.instance.currentItem.css({ top: "auto", left: "auto" });
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2088
				}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2089
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2090
			} else {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2091
				this.instance.cancelHelperRemoval = false; //Remove the helper in the sortable instance
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2092
				this.instance._trigger("deactivate", event, uiSortable);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2093
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2094
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2095
		});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2096
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2097
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2098
	drag: function(event, ui) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2099
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2100
		var inst = $(this).data("ui-draggable"), that = this;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2101
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2102
		$.each(inst.sortables, function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2103
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2104
			var innermostIntersecting = false,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2105
				thisSortable = this;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2106
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2107
			//Copy over some variables to allow calling the sortable's native _intersectsWith
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2108
			this.instance.positionAbs = inst.positionAbs;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2109
			this.instance.helperProportions = inst.helperProportions;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2110
			this.instance.offset.click = inst.offset.click;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2111
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2112
			if(this.instance._intersectsWith(this.instance.containerCache)) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2113
				innermostIntersecting = true;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2114
				$.each(inst.sortables, function () {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2115
					this.instance.positionAbs = inst.positionAbs;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2116
					this.instance.helperProportions = inst.helperProportions;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2117
					this.instance.offset.click = inst.offset.click;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2118
					if (this !== thisSortable &&
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2119
						this.instance._intersectsWith(this.instance.containerCache) &&
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2120
						$.contains(thisSortable.instance.element[0], this.instance.element[0])
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2121
					) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2122
						innermostIntersecting = false;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2123
					}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2124
					return innermostIntersecting;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2125
				});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2126
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2127
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2128
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2129
			if(innermostIntersecting) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2130
				//If it intersects, we use a little isOver variable and set it once, so our move-in stuff gets fired only once
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2131
				if(!this.instance.isOver) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2132
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2133
					this.instance.isOver = 1;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2134
					//Now we fake the start of dragging for the sortable instance,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2135
					//by cloning the list group item, appending it to the sortable and using it as inst.currentItem
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2136
					//We can then fire the start event of the sortable with our passed browser event, and our own helper (so it doesn't create a new one)
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2137
					this.instance.currentItem = $(that).clone().removeAttr("id").appendTo(this.instance.element).data("ui-sortable-item", true);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2138
					this.instance.options._helper = this.instance.options.helper; //Store helper option to later restore it
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2139
					this.instance.options.helper = function() { return ui.helper[0]; };
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2140
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2141
					event.target = this.instance.currentItem[0];
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2142
					this.instance._mouseCapture(event, true);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2143
					this.instance._mouseStart(event, true, true);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2144
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2145
					//Because the browser event is way off the new appended portlet, we modify a couple of variables to reflect the changes
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2146
					this.instance.offset.click.top = inst.offset.click.top;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2147
					this.instance.offset.click.left = inst.offset.click.left;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2148
					this.instance.offset.parent.left -= inst.offset.parent.left - this.instance.offset.parent.left;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2149
					this.instance.offset.parent.top -= inst.offset.parent.top - this.instance.offset.parent.top;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2150
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2151
					inst._trigger("toSortable", event);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2152
					inst.dropped = this.instance.element; //draggable revert needs that
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2153
					//hack so receive/update callbacks work (mostly)
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2154
					inst.currentItem = inst.element;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2155
					this.instance.fromOutside = inst;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2156
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2157
				}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2158
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2159
				//Provided we did all the previous steps, we can fire the drag event of the sortable on every draggable drag, when it intersects with the sortable
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2160
				if(this.instance.currentItem) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2161
					this.instance._mouseDrag(event);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2162
				}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2163
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2164
			} else {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2165
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2166
				//If it doesn't intersect with the sortable, and it intersected before,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2167
				//we fake the drag stop of the sortable, but make sure it doesn't remove the helper by using cancelHelperRemoval
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2168
				if(this.instance.isOver) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2169
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2170
					this.instance.isOver = 0;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2171
					this.instance.cancelHelperRemoval = true;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2172
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2173
					//Prevent reverting on this forced stop
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2174
					this.instance.options.revert = false;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2175
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2176
					// The out event needs to be triggered independently
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2177
					this.instance._trigger("out", event, this.instance._uiHash(this.instance));
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2178
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2179
					this.instance._mouseStop(event, true);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2180
					this.instance.options.helper = this.instance.options._helper;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2181
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2182
					//Now we remove our currentItem, the list group clone again, and the placeholder, and animate the helper back to it's original size
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2183
					this.instance.currentItem.remove();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2184
					if(this.instance.placeholder) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2185
						this.instance.placeholder.remove();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2186
					}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2187
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2188
					inst._trigger("fromSortable", event);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2189
					inst.dropped = false; //draggable revert needs that
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2190
				}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2191
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2192
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2193
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2194
		});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2195
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2196
	}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2197
});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2198
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2199
$.ui.plugin.add("draggable", "cursor", {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2200
	start: function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2201
		var t = $("body"), o = $(this).data("ui-draggable").options;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2202
		if (t.css("cursor")) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2203
			o._cursor = t.css("cursor");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2204
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2205
		t.css("cursor", o.cursor);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2206
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2207
	stop: function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2208
		var o = $(this).data("ui-draggable").options;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2209
		if (o._cursor) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2210
			$("body").css("cursor", o._cursor);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2211
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2212
	}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2213
});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2214
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2215
$.ui.plugin.add("draggable", "opacity", {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2216
	start: function(event, ui) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2217
		var t = $(ui.helper), o = $(this).data("ui-draggable").options;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2218
		if(t.css("opacity")) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2219
			o._opacity = t.css("opacity");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2220
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2221
		t.css("opacity", o.opacity);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2222
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2223
	stop: function(event, ui) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2224
		var o = $(this).data("ui-draggable").options;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2225
		if(o._opacity) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2226
			$(ui.helper).css("opacity", o._opacity);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2227
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2228
	}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2229
});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2230
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2231
$.ui.plugin.add("draggable", "scroll", {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2232
	start: function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2233
		var i = $(this).data("ui-draggable");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2234
		if(i.scrollParent[0] !== document && i.scrollParent[0].tagName !== "HTML") {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2235
			i.overflowOffset = i.scrollParent.offset();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2236
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2237
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2238
	drag: function( event ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2239
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2240
		var i = $(this).data("ui-draggable"), o = i.options, scrolled = false;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2241
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2242
		if(i.scrollParent[0] !== document && i.scrollParent[0].tagName !== "HTML") {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2243
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2244
			if(!o.axis || o.axis !== "x") {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2245
				if((i.overflowOffset.top + i.scrollParent[0].offsetHeight) - event.pageY < o.scrollSensitivity) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2246
					i.scrollParent[0].scrollTop = scrolled = i.scrollParent[0].scrollTop + o.scrollSpeed;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2247
				} else if(event.pageY - i.overflowOffset.top < o.scrollSensitivity) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2248
					i.scrollParent[0].scrollTop = scrolled = i.scrollParent[0].scrollTop - o.scrollSpeed;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2249
				}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2250
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2251
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2252
			if(!o.axis || o.axis !== "y") {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2253
				if((i.overflowOffset.left + i.scrollParent[0].offsetWidth) - event.pageX < o.scrollSensitivity) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2254
					i.scrollParent[0].scrollLeft = scrolled = i.scrollParent[0].scrollLeft + o.scrollSpeed;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2255
				} else if(event.pageX - i.overflowOffset.left < o.scrollSensitivity) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2256
					i.scrollParent[0].scrollLeft = scrolled = i.scrollParent[0].scrollLeft - o.scrollSpeed;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2257
				}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2258
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2259
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2260
		} else {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2261
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2262
			if(!o.axis || o.axis !== "x") {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2263
				if(event.pageY - $(document).scrollTop() < o.scrollSensitivity) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2264
					scrolled = $(document).scrollTop($(document).scrollTop() - o.scrollSpeed);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2265
				} else if($(window).height() - (event.pageY - $(document).scrollTop()) < o.scrollSensitivity) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2266
					scrolled = $(document).scrollTop($(document).scrollTop() + o.scrollSpeed);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2267
				}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2268
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2269
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2270
			if(!o.axis || o.axis !== "y") {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2271
				if(event.pageX - $(document).scrollLeft() < o.scrollSensitivity) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2272
					scrolled = $(document).scrollLeft($(document).scrollLeft() - o.scrollSpeed);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2273
				} else if($(window).width() - (event.pageX - $(document).scrollLeft()) < o.scrollSensitivity) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2274
					scrolled = $(document).scrollLeft($(document).scrollLeft() + o.scrollSpeed);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2275
				}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2276
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2277
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2278
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2279
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2280
		if(scrolled !== false && $.ui.ddmanager && !o.dropBehaviour) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2281
			$.ui.ddmanager.prepareOffsets(i, event);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2282
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2283
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2284
	}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2285
});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2286
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2287
$.ui.plugin.add("draggable", "snap", {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2288
	start: function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2289
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2290
		var i = $(this).data("ui-draggable"),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2291
			o = i.options;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2292
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2293
		i.snapElements = [];
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2294
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2295
		$(o.snap.constructor !== String ? ( o.snap.items || ":data(ui-draggable)" ) : o.snap).each(function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2296
			var $t = $(this),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2297
				$o = $t.offset();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2298
			if(this !== i.element[0]) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2299
				i.snapElements.push({
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2300
					item: this,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2301
					width: $t.outerWidth(), height: $t.outerHeight(),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2302
					top: $o.top, left: $o.left
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2303
				});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2304
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2305
		});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2306
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2307
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2308
	drag: function(event, ui) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2309
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2310
		var ts, bs, ls, rs, l, r, t, b, i, first,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2311
			inst = $(this).data("ui-draggable"),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2312
			o = inst.options,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2313
			d = o.snapTolerance,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2314
			x1 = ui.offset.left, x2 = x1 + inst.helperProportions.width,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2315
			y1 = ui.offset.top, y2 = y1 + inst.helperProportions.height;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2316
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2317
		for (i = inst.snapElements.length - 1; i >= 0; i--){
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2318
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2319
			l = inst.snapElements[i].left;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2320
			r = l + inst.snapElements[i].width;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2321
			t = inst.snapElements[i].top;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2322
			b = t + inst.snapElements[i].height;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2323
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2324
			if ( x2 < l - d || x1 > r + d || y2 < t - d || y1 > b + d || !$.contains( inst.snapElements[ i ].item.ownerDocument, inst.snapElements[ i ].item ) ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2325
				if(inst.snapElements[i].snapping) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2326
					(inst.options.snap.release && inst.options.snap.release.call(inst.element, event, $.extend(inst._uiHash(), { snapItem: inst.snapElements[i].item })));
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2327
				}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2328
				inst.snapElements[i].snapping = false;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2329
				continue;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2330
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2331
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2332
			if(o.snapMode !== "inner") {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2333
				ts = Math.abs(t - y2) <= d;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2334
				bs = Math.abs(b - y1) <= d;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2335
				ls = Math.abs(l - x2) <= d;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2336
				rs = Math.abs(r - x1) <= d;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2337
				if(ts) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2338
					ui.position.top = inst._convertPositionTo("relative", { top: t - inst.helperProportions.height, left: 0 }).top - inst.margins.top;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2339
				}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2340
				if(bs) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2341
					ui.position.top = inst._convertPositionTo("relative", { top: b, left: 0 }).top - inst.margins.top;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2342
				}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2343
				if(ls) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2344
					ui.position.left = inst._convertPositionTo("relative", { top: 0, left: l - inst.helperProportions.width }).left - inst.margins.left;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2345
				}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2346
				if(rs) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2347
					ui.position.left = inst._convertPositionTo("relative", { top: 0, left: r }).left - inst.margins.left;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2348
				}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2349
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2350
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2351
			first = (ts || bs || ls || rs);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2352
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2353
			if(o.snapMode !== "outer") {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2354
				ts = Math.abs(t - y1) <= d;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2355
				bs = Math.abs(b - y2) <= d;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2356
				ls = Math.abs(l - x1) <= d;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2357
				rs = Math.abs(r - x2) <= d;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2358
				if(ts) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2359
					ui.position.top = inst._convertPositionTo("relative", { top: t, left: 0 }).top - inst.margins.top;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2360
				}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2361
				if(bs) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2362
					ui.position.top = inst._convertPositionTo("relative", { top: b - inst.helperProportions.height, left: 0 }).top - inst.margins.top;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2363
				}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2364
				if(ls) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2365
					ui.position.left = inst._convertPositionTo("relative", { top: 0, left: l }).left - inst.margins.left;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2366
				}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2367
				if(rs) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2368
					ui.position.left = inst._convertPositionTo("relative", { top: 0, left: r - inst.helperProportions.width }).left - inst.margins.left;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2369
				}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2370
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2371
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2372
			if(!inst.snapElements[i].snapping && (ts || bs || ls || rs || first)) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2373
				(inst.options.snap.snap && inst.options.snap.snap.call(inst.element, event, $.extend(inst._uiHash(), { snapItem: inst.snapElements[i].item })));
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2374
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2375
			inst.snapElements[i].snapping = (ts || bs || ls || rs || first);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2376
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2377
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2378
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2379
	}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2380
});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2381
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2382
$.ui.plugin.add("draggable", "stack", {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2383
	start: function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2384
		var min,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2385
			o = this.data("ui-draggable").options,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2386
			group = $.makeArray($(o.stack)).sort(function(a,b) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2387
				return (parseInt($(a).css("zIndex"),10) || 0) - (parseInt($(b).css("zIndex"),10) || 0);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2388
			});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2389
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2390
		if (!group.length) { return; }
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2391
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2392
		min = parseInt($(group[0]).css("zIndex"), 10) || 0;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2393
		$(group).each(function(i) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2394
			$(this).css("zIndex", min + i);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2395
		});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2396
		this.css("zIndex", (min + group.length));
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2397
	}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2398
});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2399
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2400
$.ui.plugin.add("draggable", "zIndex", {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2401
	start: function(event, ui) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2402
		var t = $(ui.helper), o = $(this).data("ui-draggable").options;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2403
		if(t.css("zIndex")) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2404
			o._zIndex = t.css("zIndex");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2405
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2406
		t.css("zIndex", o.zIndex);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2407
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2408
	stop: function(event, ui) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2409
		var o = $(this).data("ui-draggable").options;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2410
		if(o._zIndex) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2411
			$(ui.helper).css("zIndex", o._zIndex);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2412
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2413
	}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2414
});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2415
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2416
})(jQuery);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2417
(function( $, undefined ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2418
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2419
function isOverAxis( x, reference, size ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2420
	return ( x > reference ) && ( x < ( reference + size ) );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2421
}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2422
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2423
$.widget("ui.droppable", {
262
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  2424
	version: "1.10.4",
211
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2425
	widgetEventPrefix: "drop",
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2426
	options: {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2427
		accept: "*",
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2428
		activeClass: false,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2429
		addClasses: true,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2430
		greedy: false,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2431
		hoverClass: false,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2432
		scope: "default",
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2433
		tolerance: "intersect",
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2434
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2435
		// callbacks
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2436
		activate: null,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2437
		deactivate: null,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2438
		drop: null,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2439
		out: null,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2440
		over: null
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2441
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2442
	_create: function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2443
262
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  2444
		var proportions,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  2445
			o = this.options,
211
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2446
			accept = o.accept;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2447
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2448
		this.isover = false;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2449
		this.isout = true;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2450
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2451
		this.accept = $.isFunction(accept) ? accept : function(d) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2452
			return d.is(accept);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2453
		};
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2454
262
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  2455
		this.proportions = function( /* valueToWrite */ ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  2456
			if ( arguments.length ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  2457
				// Store the droppable's proportions
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  2458
				proportions = arguments[ 0 ];
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  2459
			} else {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  2460
				// Retrieve or derive the droppable's proportions
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  2461
				return proportions ?
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  2462
					proportions :
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  2463
					proportions = {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  2464
						width: this.element[ 0 ].offsetWidth,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  2465
						height: this.element[ 0 ].offsetHeight
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  2466
					};
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  2467
			}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  2468
		};
211
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2469
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2470
		// Add the reference and positions to the manager
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2471
		$.ui.ddmanager.droppables[o.scope] = $.ui.ddmanager.droppables[o.scope] || [];
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2472
		$.ui.ddmanager.droppables[o.scope].push(this);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2473
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2474
		(o.addClasses && this.element.addClass("ui-droppable"));
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2475
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2476
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2477
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2478
	_destroy: function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2479
		var i = 0,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2480
			drop = $.ui.ddmanager.droppables[this.options.scope];
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2481
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2482
		for ( ; i < drop.length; i++ ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2483
			if ( drop[i] === this ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2484
				drop.splice(i, 1);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2485
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2486
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2487
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2488
		this.element.removeClass("ui-droppable ui-droppable-disabled");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2489
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2490
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2491
	_setOption: function(key, value) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2492
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2493
		if(key === "accept") {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2494
			this.accept = $.isFunction(value) ? value : function(d) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2495
				return d.is(value);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2496
			};
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2497
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2498
		$.Widget.prototype._setOption.apply(this, arguments);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2499
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2500
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2501
	_activate: function(event) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2502
		var draggable = $.ui.ddmanager.current;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2503
		if(this.options.activeClass) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2504
			this.element.addClass(this.options.activeClass);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2505
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2506
		if(draggable){
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2507
			this._trigger("activate", event, this.ui(draggable));
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2508
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2509
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2510
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2511
	_deactivate: function(event) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2512
		var draggable = $.ui.ddmanager.current;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2513
		if(this.options.activeClass) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2514
			this.element.removeClass(this.options.activeClass);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2515
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2516
		if(draggable){
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2517
			this._trigger("deactivate", event, this.ui(draggable));
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2518
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2519
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2520
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2521
	_over: function(event) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2522
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2523
		var draggable = $.ui.ddmanager.current;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2524
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2525
		// Bail if draggable and droppable are same element
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2526
		if (!draggable || (draggable.currentItem || draggable.element)[0] === this.element[0]) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2527
			return;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2528
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2529
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2530
		if (this.accept.call(this.element[0],(draggable.currentItem || draggable.element))) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2531
			if(this.options.hoverClass) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2532
				this.element.addClass(this.options.hoverClass);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2533
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2534
			this._trigger("over", event, this.ui(draggable));
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2535
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2536
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2537
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2538
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2539
	_out: function(event) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2540
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2541
		var draggable = $.ui.ddmanager.current;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2542
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2543
		// Bail if draggable and droppable are same element
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2544
		if (!draggable || (draggable.currentItem || draggable.element)[0] === this.element[0]) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2545
			return;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2546
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2547
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2548
		if (this.accept.call(this.element[0],(draggable.currentItem || draggable.element))) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2549
			if(this.options.hoverClass) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2550
				this.element.removeClass(this.options.hoverClass);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2551
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2552
			this._trigger("out", event, this.ui(draggable));
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2553
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2554
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2555
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2556
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2557
	_drop: function(event,custom) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2558
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2559
		var draggable = custom || $.ui.ddmanager.current,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2560
			childrenIntersection = false;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2561
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2562
		// Bail if draggable and droppable are same element
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2563
		if (!draggable || (draggable.currentItem || draggable.element)[0] === this.element[0]) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2564
			return false;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2565
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2566
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2567
		this.element.find(":data(ui-droppable)").not(".ui-draggable-dragging").each(function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2568
			var inst = $.data(this, "ui-droppable");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2569
			if(
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2570
				inst.options.greedy &&
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2571
				!inst.options.disabled &&
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2572
				inst.options.scope === draggable.options.scope &&
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2573
				inst.accept.call(inst.element[0], (draggable.currentItem || draggable.element)) &&
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2574
				$.ui.intersect(draggable, $.extend(inst, { offset: inst.element.offset() }), inst.options.tolerance)
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2575
			) { childrenIntersection = true; return false; }
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2576
		});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2577
		if(childrenIntersection) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2578
			return false;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2579
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2580
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2581
		if(this.accept.call(this.element[0],(draggable.currentItem || draggable.element))) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2582
			if(this.options.activeClass) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2583
				this.element.removeClass(this.options.activeClass);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2584
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2585
			if(this.options.hoverClass) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2586
				this.element.removeClass(this.options.hoverClass);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2587
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2588
			this._trigger("drop", event, this.ui(draggable));
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2589
			return this.element;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2590
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2591
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2592
		return false;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2593
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2594
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2595
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2596
	ui: function(c) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2597
		return {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2598
			draggable: (c.currentItem || c.element),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2599
			helper: c.helper,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2600
			position: c.position,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2601
			offset: c.positionAbs
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2602
		};
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2603
	}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2604
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2605
});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2606
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2607
$.ui.intersect = function(draggable, droppable, toleranceMode) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2608
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2609
	if (!droppable.offset) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2610
		return false;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2611
	}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2612
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2613
	var draggableLeft, draggableTop,
262
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  2614
		x1 = (draggable.positionAbs || draggable.position.absolute).left,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  2615
		y1 = (draggable.positionAbs || draggable.position.absolute).top,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  2616
		x2 = x1 + draggable.helperProportions.width,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  2617
		y2 = y1 + draggable.helperProportions.height,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  2618
		l = droppable.offset.left,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  2619
		t = droppable.offset.top,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  2620
		r = l + droppable.proportions().width,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  2621
		b = t + droppable.proportions().height;
211
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2622
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2623
	switch (toleranceMode) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2624
		case "fit":
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2625
			return (l <= x1 && x2 <= r && t <= y1 && y2 <= b);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2626
		case "intersect":
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2627
			return (l < x1 + (draggable.helperProportions.width / 2) && // Right Half
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2628
				x2 - (draggable.helperProportions.width / 2) < r && // Left Half
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2629
				t < y1 + (draggable.helperProportions.height / 2) && // Bottom Half
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2630
				y2 - (draggable.helperProportions.height / 2) < b ); // Top Half
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2631
		case "pointer":
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2632
			draggableLeft = ((draggable.positionAbs || draggable.position.absolute).left + (draggable.clickOffset || draggable.offset.click).left);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2633
			draggableTop = ((draggable.positionAbs || draggable.position.absolute).top + (draggable.clickOffset || draggable.offset.click).top);
262
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  2634
			return isOverAxis( draggableTop, t, droppable.proportions().height ) && isOverAxis( draggableLeft, l, droppable.proportions().width );
211
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2635
		case "touch":
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2636
			return (
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2637
				(y1 >= t && y1 <= b) ||	// Top edge touching
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2638
				(y2 >= t && y2 <= b) ||	// Bottom edge touching
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2639
				(y1 < t && y2 > b)		// Surrounded vertically
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2640
			) && (
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2641
				(x1 >= l && x1 <= r) ||	// Left edge touching
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2642
				(x2 >= l && x2 <= r) ||	// Right edge touching
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2643
				(x1 < l && x2 > r)		// Surrounded horizontally
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2644
			);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2645
		default:
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2646
			return false;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2647
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2648
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2649
};
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2650
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2651
/*
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2652
	This manager tracks offsets of draggables and droppables
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2653
*/
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2654
$.ui.ddmanager = {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2655
	current: null,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2656
	droppables: { "default": [] },
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2657
	prepareOffsets: function(t, event) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2658
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2659
		var i, j,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2660
			m = $.ui.ddmanager.droppables[t.options.scope] || [],
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2661
			type = event ? event.type : null, // workaround for #2317
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2662
			list = (t.currentItem || t.element).find(":data(ui-droppable)").addBack();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2663
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2664
		droppablesLoop: for (i = 0; i < m.length; i++) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2665
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2666
			//No disabled and non-accepted
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2667
			if(m[i].options.disabled || (t && !m[i].accept.call(m[i].element[0],(t.currentItem || t.element)))) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2668
				continue;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2669
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2670
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2671
			// Filter out elements in the current dragged item
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2672
			for (j=0; j < list.length; j++) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2673
				if(list[j] === m[i].element[0]) {
262
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  2674
					m[i].proportions().height = 0;
211
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2675
					continue droppablesLoop;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2676
				}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2677
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2678
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2679
			m[i].visible = m[i].element.css("display") !== "none";
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2680
			if(!m[i].visible) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2681
				continue;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2682
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2683
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2684
			//Activate the droppable if used directly from draggables
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2685
			if(type === "mousedown") {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2686
				m[i]._activate.call(m[i], event);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2687
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2688
262
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  2689
			m[ i ].offset = m[ i ].element.offset();
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  2690
			m[ i ].proportions({ width: m[ i ].element[ 0 ].offsetWidth, height: m[ i ].element[ 0 ].offsetHeight });
211
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2691
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2692
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2693
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2694
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2695
	drop: function(draggable, event) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2696
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2697
		var dropped = false;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2698
		// Create a copy of the droppables in case the list changes during the drop (#9116)
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2699
		$.each(($.ui.ddmanager.droppables[draggable.options.scope] || []).slice(), function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2700
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2701
			if(!this.options) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2702
				return;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2703
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2704
			if (!this.options.disabled && this.visible && $.ui.intersect(draggable, this, this.options.tolerance)) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2705
				dropped = this._drop.call(this, event) || dropped;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2706
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2707
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2708
			if (!this.options.disabled && this.visible && this.accept.call(this.element[0],(draggable.currentItem || draggable.element))) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2709
				this.isout = true;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2710
				this.isover = false;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2711
				this._deactivate.call(this, event);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2712
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2713
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2714
		});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2715
		return dropped;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2716
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2717
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2718
	dragStart: function( draggable, event ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2719
		//Listen for scrolling so that if the dragging causes scrolling the position of the droppables can be recalculated (see #5003)
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2720
		draggable.element.parentsUntil( "body" ).bind( "scroll.droppable", function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2721
			if( !draggable.options.refreshPositions ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2722
				$.ui.ddmanager.prepareOffsets( draggable, event );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2723
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2724
		});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2725
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2726
	drag: function(draggable, event) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2727
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2728
		//If you have a highly dynamic page, you might try this option. It renders positions every time you move the mouse.
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2729
		if(draggable.options.refreshPositions) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2730
			$.ui.ddmanager.prepareOffsets(draggable, event);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2731
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2732
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2733
		//Run through all droppables and check their positions based on specific tolerance options
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2734
		$.each($.ui.ddmanager.droppables[draggable.options.scope] || [], function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2735
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2736
			if(this.options.disabled || this.greedyChild || !this.visible) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2737
				return;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2738
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2739
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2740
			var parentInstance, scope, parent,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2741
				intersects = $.ui.intersect(draggable, this, this.options.tolerance),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2742
				c = !intersects && this.isover ? "isout" : (intersects && !this.isover ? "isover" : null);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2743
			if(!c) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2744
				return;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2745
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2746
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2747
			if (this.options.greedy) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2748
				// find droppable parents with same scope
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2749
				scope = this.options.scope;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2750
				parent = this.element.parents(":data(ui-droppable)").filter(function () {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2751
					return $.data(this, "ui-droppable").options.scope === scope;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2752
				});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2753
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2754
				if (parent.length) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2755
					parentInstance = $.data(parent[0], "ui-droppable");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2756
					parentInstance.greedyChild = (c === "isover");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2757
				}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2758
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2759
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2760
			// we just moved into a greedy child
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2761
			if (parentInstance && c === "isover") {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2762
				parentInstance.isover = false;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2763
				parentInstance.isout = true;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2764
				parentInstance._out.call(parentInstance, event);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2765
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2766
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2767
			this[c] = true;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2768
			this[c === "isout" ? "isover" : "isout"] = false;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2769
			this[c === "isover" ? "_over" : "_out"].call(this, event);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2770
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2771
			// we just moved out of a greedy child
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2772
			if (parentInstance && c === "isout") {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2773
				parentInstance.isout = false;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2774
				parentInstance.isover = true;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2775
				parentInstance._over.call(parentInstance, event);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2776
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2777
		});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2778
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2779
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2780
	dragStop: function( draggable, event ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2781
		draggable.element.parentsUntil( "body" ).unbind( "scroll.droppable" );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2782
		//Call prepareOffsets one final time since IE does not fire return scroll events when overflow was caused by drag (see #5003)
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2783
		if( !draggable.options.refreshPositions ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2784
			$.ui.ddmanager.prepareOffsets( draggable, event );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2785
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2786
	}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2787
};
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2788
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2789
})(jQuery);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2790
(function( $, undefined ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2791
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2792
function num(v) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2793
	return parseInt(v, 10) || 0;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2794
}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2795
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2796
function isNumber(value) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2797
	return !isNaN(parseInt(value, 10));
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2798
}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2799
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2800
$.widget("ui.resizable", $.ui.mouse, {
262
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  2801
	version: "1.10.4",
211
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2802
	widgetEventPrefix: "resize",
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2803
	options: {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2804
		alsoResize: false,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2805
		animate: false,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2806
		animateDuration: "slow",
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2807
		animateEasing: "swing",
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2808
		aspectRatio: false,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2809
		autoHide: false,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2810
		containment: false,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2811
		ghost: false,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2812
		grid: false,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2813
		handles: "e,s,se",
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2814
		helper: false,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2815
		maxHeight: null,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2816
		maxWidth: null,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2817
		minHeight: 10,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2818
		minWidth: 10,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2819
		// See #7960
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2820
		zIndex: 90,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2821
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2822
		// callbacks
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2823
		resize: null,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2824
		start: null,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2825
		stop: null
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2826
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2827
	_create: function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2828
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2829
		var n, i, handle, axis, hname,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2830
			that = this,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2831
			o = this.options;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2832
		this.element.addClass("ui-resizable");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2833
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2834
		$.extend(this, {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2835
			_aspectRatio: !!(o.aspectRatio),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2836
			aspectRatio: o.aspectRatio,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2837
			originalElement: this.element,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2838
			_proportionallyResizeElements: [],
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2839
			_helper: o.helper || o.ghost || o.animate ? o.helper || "ui-resizable-helper" : null
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2840
		});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2841
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2842
		//Wrap the element if it cannot hold child nodes
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2843
		if(this.element[0].nodeName.match(/canvas|textarea|input|select|button|img/i)) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2844
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2845
			//Create a wrapper element and set the wrapper to the new current internal element
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2846
			this.element.wrap(
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2847
				$("<div class='ui-wrapper' style='overflow: hidden;'></div>").css({
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2848
					position: this.element.css("position"),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2849
					width: this.element.outerWidth(),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2850
					height: this.element.outerHeight(),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2851
					top: this.element.css("top"),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2852
					left: this.element.css("left")
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2853
				})
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2854
			);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2855
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2856
			//Overwrite the original this.element
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2857
			this.element = this.element.parent().data(
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2858
				"ui-resizable", this.element.data("ui-resizable")
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2859
			);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2860
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2861
			this.elementIsWrapper = true;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2862
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2863
			//Move margins to the wrapper
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2864
			this.element.css({ marginLeft: this.originalElement.css("marginLeft"), marginTop: this.originalElement.css("marginTop"), marginRight: this.originalElement.css("marginRight"), marginBottom: this.originalElement.css("marginBottom") });
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2865
			this.originalElement.css({ marginLeft: 0, marginTop: 0, marginRight: 0, marginBottom: 0});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2866
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2867
			//Prevent Safari textarea resize
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2868
			this.originalResizeStyle = this.originalElement.css("resize");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2869
			this.originalElement.css("resize", "none");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2870
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2871
			//Push the actual element to our proportionallyResize internal array
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2872
			this._proportionallyResizeElements.push(this.originalElement.css({ position: "static", zoom: 1, display: "block" }));
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2873
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2874
			// avoid IE jump (hard set the margin)
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2875
			this.originalElement.css({ margin: this.originalElement.css("margin") });
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2876
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2877
			// fix handlers offset
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2878
			this._proportionallyResize();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2879
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2880
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2881
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2882
		this.handles = o.handles || (!$(".ui-resizable-handle", this.element).length ? "e,s,se" : { n: ".ui-resizable-n", e: ".ui-resizable-e", s: ".ui-resizable-s", w: ".ui-resizable-w", se: ".ui-resizable-se", sw: ".ui-resizable-sw", ne: ".ui-resizable-ne", nw: ".ui-resizable-nw" });
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2883
		if(this.handles.constructor === String) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2884
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2885
			if ( this.handles === "all") {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2886
				this.handles = "n,e,s,w,se,sw,ne,nw";
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2887
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2888
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2889
			n = this.handles.split(",");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2890
			this.handles = {};
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2891
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2892
			for(i = 0; i < n.length; i++) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2893
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2894
				handle = $.trim(n[i]);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2895
				hname = "ui-resizable-"+handle;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2896
				axis = $("<div class='ui-resizable-handle " + hname + "'></div>");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2897
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2898
				// Apply zIndex to all handles - see #7960
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2899
				axis.css({ zIndex: o.zIndex });
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2900
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2901
				//TODO : What's going on here?
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2902
				if ("se" === handle) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2903
					axis.addClass("ui-icon ui-icon-gripsmall-diagonal-se");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2904
				}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2905
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2906
				//Insert into internal handles object and append to element
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2907
				this.handles[handle] = ".ui-resizable-"+handle;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2908
				this.element.append(axis);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2909
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2910
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2911
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2912
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2913
		this._renderAxis = function(target) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2914
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2915
			var i, axis, padPos, padWrapper;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2916
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2917
			target = target || this.element;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2918
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2919
			for(i in this.handles) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2920
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2921
				if(this.handles[i].constructor === String) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2922
					this.handles[i] = $(this.handles[i], this.element).show();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2923
				}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2924
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2925
				//Apply pad to wrapper element, needed to fix axis position (textarea, inputs, scrolls)
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2926
				if (this.elementIsWrapper && this.originalElement[0].nodeName.match(/textarea|input|select|button/i)) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2927
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2928
					axis = $(this.handles[i], this.element);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2929
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2930
					//Checking the correct pad and border
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2931
					padWrapper = /sw|ne|nw|se|n|s/.test(i) ? axis.outerHeight() : axis.outerWidth();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2932
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2933
					//The padding type i have to apply...
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2934
					padPos = [ "padding",
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2935
						/ne|nw|n/.test(i) ? "Top" :
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2936
						/se|sw|s/.test(i) ? "Bottom" :
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2937
						/^e$/.test(i) ? "Right" : "Left" ].join("");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2938
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2939
					target.css(padPos, padWrapper);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2940
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2941
					this._proportionallyResize();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2942
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2943
				}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2944
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2945
				//TODO: What's that good for? There's not anything to be executed left
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2946
				if(!$(this.handles[i]).length) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2947
					continue;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2948
				}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2949
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2950
		};
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2951
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2952
		//TODO: make renderAxis a prototype function
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2953
		this._renderAxis(this.element);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2954
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2955
		this._handles = $(".ui-resizable-handle", this.element)
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2956
			.disableSelection();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2957
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2958
		//Matching axis name
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2959
		this._handles.mouseover(function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2960
			if (!that.resizing) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2961
				if (this.className) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2962
					axis = this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2963
				}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2964
				//Axis, default = se
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2965
				that.axis = axis && axis[1] ? axis[1] : "se";
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2966
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2967
		});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2968
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2969
		//If we want to auto hide the elements
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2970
		if (o.autoHide) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2971
			this._handles.hide();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2972
			$(this.element)
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2973
				.addClass("ui-resizable-autohide")
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2974
				.mouseenter(function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2975
					if (o.disabled) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2976
						return;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2977
					}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2978
					$(this).removeClass("ui-resizable-autohide");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2979
					that._handles.show();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2980
				})
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2981
				.mouseleave(function(){
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2982
					if (o.disabled) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2983
						return;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2984
					}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2985
					if (!that.resizing) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2986
						$(this).addClass("ui-resizable-autohide");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2987
						that._handles.hide();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2988
					}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2989
				});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2990
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2991
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2992
		//Initialize the mouse interaction
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2993
		this._mouseInit();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2994
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2995
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2996
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2997
	_destroy: function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2998
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2999
		this._mouseDestroy();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3000
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3001
		var wrapper,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3002
			_destroy = function(exp) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3003
				$(exp).removeClass("ui-resizable ui-resizable-disabled ui-resizable-resizing")
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3004
					.removeData("resizable").removeData("ui-resizable").unbind(".resizable").find(".ui-resizable-handle").remove();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3005
			};
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3006
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3007
		//TODO: Unwrap at same DOM position
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3008
		if (this.elementIsWrapper) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3009
			_destroy(this.element);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3010
			wrapper = this.element;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3011
			this.originalElement.css({
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3012
				position: wrapper.css("position"),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3013
				width: wrapper.outerWidth(),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3014
				height: wrapper.outerHeight(),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3015
				top: wrapper.css("top"),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3016
				left: wrapper.css("left")
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3017
			}).insertAfter( wrapper );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3018
			wrapper.remove();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3019
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3020
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3021
		this.originalElement.css("resize", this.originalResizeStyle);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3022
		_destroy(this.originalElement);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3023
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3024
		return this;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3025
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3026
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3027
	_mouseCapture: function(event) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3028
		var i, handle,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3029
			capture = false;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3030
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3031
		for (i in this.handles) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3032
			handle = $(this.handles[i])[0];
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3033
			if (handle === event.target || $.contains(handle, event.target)) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3034
				capture = true;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3035
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3036
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3037
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3038
		return !this.options.disabled && capture;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3039
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3040
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3041
	_mouseStart: function(event) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3042
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3043
		var curleft, curtop, cursor,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3044
			o = this.options,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3045
			iniPos = this.element.position(),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3046
			el = this.element;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3047
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3048
		this.resizing = true;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3049
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3050
		// bugfix for http://dev.jquery.com/ticket/1749
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3051
		if ( (/absolute/).test( el.css("position") ) ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3052
			el.css({ position: "absolute", top: el.css("top"), left: el.css("left") });
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3053
		} else if (el.is(".ui-draggable")) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3054
			el.css({ position: "absolute", top: iniPos.top, left: iniPos.left });
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3055
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3056
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3057
		this._renderProxy();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3058
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3059
		curleft = num(this.helper.css("left"));
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3060
		curtop = num(this.helper.css("top"));
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3061
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3062
		if (o.containment) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3063
			curleft += $(o.containment).scrollLeft() || 0;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3064
			curtop += $(o.containment).scrollTop() || 0;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3065
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3066
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3067
		//Store needed variables
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3068
		this.offset = this.helper.offset();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3069
		this.position = { left: curleft, top: curtop };
262
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  3070
		this.size = this._helper ? { width: this.helper.width(), height: this.helper.height() } : { width: el.width(), height: el.height() };
211
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3071
		this.originalSize = this._helper ? { width: el.outerWidth(), height: el.outerHeight() } : { width: el.width(), height: el.height() };
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3072
		this.originalPosition = { left: curleft, top: curtop };
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3073
		this.sizeDiff = { width: el.outerWidth() - el.width(), height: el.outerHeight() - el.height() };
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3074
		this.originalMousePosition = { left: event.pageX, top: event.pageY };
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3075
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3076
		//Aspect Ratio
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3077
		this.aspectRatio = (typeof o.aspectRatio === "number") ? o.aspectRatio : ((this.originalSize.width / this.originalSize.height) || 1);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3078
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3079
		cursor = $(".ui-resizable-" + this.axis).css("cursor");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3080
		$("body").css("cursor", cursor === "auto" ? this.axis + "-resize" : cursor);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3081
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3082
		el.addClass("ui-resizable-resizing");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3083
		this._propagate("start", event);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3084
		return true;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3085
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3086
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3087
	_mouseDrag: function(event) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3088
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3089
		//Increase performance, avoid regex
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3090
		var data,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3091
			el = this.helper, props = {},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3092
			smp = this.originalMousePosition,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3093
			a = this.axis,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3094
			prevTop = this.position.top,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3095
			prevLeft = this.position.left,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3096
			prevWidth = this.size.width,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3097
			prevHeight = this.size.height,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3098
			dx = (event.pageX-smp.left)||0,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3099
			dy = (event.pageY-smp.top)||0,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3100
			trigger = this._change[a];
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3101
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3102
		if (!trigger) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3103
			return false;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3104
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3105
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3106
		// Calculate the attrs that will be change
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3107
		data = trigger.apply(this, [event, dx, dy]);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3108
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3109
		// Put this in the mouseDrag handler since the user can start pressing shift while resizing
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3110
		this._updateVirtualBoundaries(event.shiftKey);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3111
		if (this._aspectRatio || event.shiftKey) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3112
			data = this._updateRatio(data, event);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3113
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3114
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3115
		data = this._respectSize(data, event);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3116
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3117
		this._updateCache(data);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3118
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3119
		// plugins callbacks need to be called first
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3120
		this._propagate("resize", event);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3121
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3122
		if (this.position.top !== prevTop) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3123
			props.top = this.position.top + "px";
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3124
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3125
		if (this.position.left !== prevLeft) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3126
			props.left = this.position.left + "px";
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3127
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3128
		if (this.size.width !== prevWidth) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3129
			props.width = this.size.width + "px";
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3130
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3131
		if (this.size.height !== prevHeight) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3132
			props.height = this.size.height + "px";
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3133
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3134
		el.css(props);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3135
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3136
		if (!this._helper && this._proportionallyResizeElements.length) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3137
			this._proportionallyResize();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3138
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3139
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3140
		// Call the user callback if the element was resized
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3141
		if ( ! $.isEmptyObject(props) ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3142
			this._trigger("resize", event, this.ui());
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3143
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3144
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3145
		return false;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3146
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3147
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3148
	_mouseStop: function(event) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3149
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3150
		this.resizing = false;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3151
		var pr, ista, soffseth, soffsetw, s, left, top,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3152
			o = this.options, that = this;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3153
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3154
		if(this._helper) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3155
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3156
			pr = this._proportionallyResizeElements;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3157
			ista = pr.length && (/textarea/i).test(pr[0].nodeName);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3158
			soffseth = ista && $.ui.hasScroll(pr[0], "left") /* TODO - jump height */ ? 0 : that.sizeDiff.height;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3159
			soffsetw = ista ? 0 : that.sizeDiff.width;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3160
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3161
			s = { width: (that.helper.width()  - soffsetw), height: (that.helper.height() - soffseth) };
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3162
			left = (parseInt(that.element.css("left"), 10) + (that.position.left - that.originalPosition.left)) || null;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3163
			top = (parseInt(that.element.css("top"), 10) + (that.position.top - that.originalPosition.top)) || null;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3164
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3165
			if (!o.animate) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3166
				this.element.css($.extend(s, { top: top, left: left }));
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3167
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3168
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3169
			that.helper.height(that.size.height);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3170
			that.helper.width(that.size.width);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3171
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3172
			if (this._helper && !o.animate) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3173
				this._proportionallyResize();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3174
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3175
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3176
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3177
		$("body").css("cursor", "auto");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3178
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3179
		this.element.removeClass("ui-resizable-resizing");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3180
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3181
		this._propagate("stop", event);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3182
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3183
		if (this._helper) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3184
			this.helper.remove();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3185
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3186
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3187
		return false;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3188
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3189
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3190
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3191
	_updateVirtualBoundaries: function(forceAspectRatio) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3192
		var pMinWidth, pMaxWidth, pMinHeight, pMaxHeight, b,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3193
			o = this.options;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3194
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3195
		b = {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3196
			minWidth: isNumber(o.minWidth) ? o.minWidth : 0,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3197
			maxWidth: isNumber(o.maxWidth) ? o.maxWidth : Infinity,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3198
			minHeight: isNumber(o.minHeight) ? o.minHeight : 0,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3199
			maxHeight: isNumber(o.maxHeight) ? o.maxHeight : Infinity
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3200
		};
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3201
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3202
		if(this._aspectRatio || forceAspectRatio) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3203
			// We want to create an enclosing box whose aspect ration is the requested one
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3204
			// First, compute the "projected" size for each dimension based on the aspect ratio and other dimension
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3205
			pMinWidth = b.minHeight * this.aspectRatio;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3206
			pMinHeight = b.minWidth / this.aspectRatio;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3207
			pMaxWidth = b.maxHeight * this.aspectRatio;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3208
			pMaxHeight = b.maxWidth / this.aspectRatio;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3209
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3210
			if(pMinWidth > b.minWidth) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3211
				b.minWidth = pMinWidth;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3212
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3213
			if(pMinHeight > b.minHeight) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3214
				b.minHeight = pMinHeight;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3215
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3216
			if(pMaxWidth < b.maxWidth) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3217
				b.maxWidth = pMaxWidth;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3218
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3219
			if(pMaxHeight < b.maxHeight) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3220
				b.maxHeight = pMaxHeight;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3221
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3222
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3223
		this._vBoundaries = b;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3224
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3225
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3226
	_updateCache: function(data) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3227
		this.offset = this.helper.offset();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3228
		if (isNumber(data.left)) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3229
			this.position.left = data.left;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3230
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3231
		if (isNumber(data.top)) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3232
			this.position.top = data.top;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3233
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3234
		if (isNumber(data.height)) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3235
			this.size.height = data.height;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3236
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3237
		if (isNumber(data.width)) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3238
			this.size.width = data.width;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3239
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3240
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3241
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3242
	_updateRatio: function( data ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3243
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3244
		var cpos = this.position,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3245
			csize = this.size,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3246
			a = this.axis;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3247
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3248
		if (isNumber(data.height)) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3249
			data.width = (data.height * this.aspectRatio);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3250
		} else if (isNumber(data.width)) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3251
			data.height = (data.width / this.aspectRatio);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3252
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3253
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3254
		if (a === "sw") {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3255
			data.left = cpos.left + (csize.width - data.width);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3256
			data.top = null;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3257
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3258
		if (a === "nw") {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3259
			data.top = cpos.top + (csize.height - data.height);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3260
			data.left = cpos.left + (csize.width - data.width);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3261
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3262
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3263
		return data;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3264
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3265
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3266
	_respectSize: function( data ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3267
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3268
		var o = this._vBoundaries,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3269
			a = this.axis,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3270
			ismaxw = isNumber(data.width) && o.maxWidth && (o.maxWidth < data.width), ismaxh = isNumber(data.height) && o.maxHeight && (o.maxHeight < data.height),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3271
			isminw = isNumber(data.width) && o.minWidth && (o.minWidth > data.width), isminh = isNumber(data.height) && o.minHeight && (o.minHeight > data.height),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3272
			dw = this.originalPosition.left + this.originalSize.width,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3273
			dh = this.position.top + this.size.height,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3274
			cw = /sw|nw|w/.test(a), ch = /nw|ne|n/.test(a);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3275
		if (isminw) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3276
			data.width = o.minWidth;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3277
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3278
		if (isminh) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3279
			data.height = o.minHeight;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3280
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3281
		if (ismaxw) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3282
			data.width = o.maxWidth;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3283
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3284
		if (ismaxh) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3285
			data.height = o.maxHeight;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3286
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3287
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3288
		if (isminw && cw) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3289
			data.left = dw - o.minWidth;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3290
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3291
		if (ismaxw && cw) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3292
			data.left = dw - o.maxWidth;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3293
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3294
		if (isminh && ch) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3295
			data.top = dh - o.minHeight;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3296
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3297
		if (ismaxh && ch) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3298
			data.top = dh - o.maxHeight;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3299
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3300
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3301
		// fixing jump error on top/left - bug #2330
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3302
		if (!data.width && !data.height && !data.left && data.top) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3303
			data.top = null;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3304
		} else if (!data.width && !data.height && !data.top && data.left) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3305
			data.left = null;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3306
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3307
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3308
		return data;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3309
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3310
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3311
	_proportionallyResize: function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3312
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3313
		if (!this._proportionallyResizeElements.length) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3314
			return;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3315
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3316
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3317
		var i, j, borders, paddings, prel,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3318
			element = this.helper || this.element;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3319
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3320
		for ( i=0; i < this._proportionallyResizeElements.length; i++) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3321
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3322
			prel = this._proportionallyResizeElements[i];
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3323
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3324
			if (!this.borderDif) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3325
				this.borderDif = [];
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3326
				borders = [prel.css("borderTopWidth"), prel.css("borderRightWidth"), prel.css("borderBottomWidth"), prel.css("borderLeftWidth")];
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3327
				paddings = [prel.css("paddingTop"), prel.css("paddingRight"), prel.css("paddingBottom"), prel.css("paddingLeft")];
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3328
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3329
				for ( j = 0; j < borders.length; j++ ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3330
					this.borderDif[ j ] = ( parseInt( borders[ j ], 10 ) || 0 ) + ( parseInt( paddings[ j ], 10 ) || 0 );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3331
				}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3332
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3333
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3334
			prel.css({
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3335
				height: (element.height() - this.borderDif[0] - this.borderDif[2]) || 0,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3336
				width: (element.width() - this.borderDif[1] - this.borderDif[3]) || 0
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3337
			});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3338
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3339
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3340
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3341
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3342
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3343
	_renderProxy: function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3344
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3345
		var el = this.element, o = this.options;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3346
		this.elementOffset = el.offset();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3347
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3348
		if(this._helper) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3349
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3350
			this.helper = this.helper || $("<div style='overflow:hidden;'></div>");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3351
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3352
			this.helper.addClass(this._helper).css({
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3353
				width: this.element.outerWidth() - 1,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3354
				height: this.element.outerHeight() - 1,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3355
				position: "absolute",
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3356
				left: this.elementOffset.left +"px",
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3357
				top: this.elementOffset.top +"px",
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3358
				zIndex: ++o.zIndex //TODO: Don't modify option
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3359
			});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3360
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3361
			this.helper
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3362
				.appendTo("body")
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3363
				.disableSelection();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3364
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3365
		} else {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3366
			this.helper = this.element;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3367
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3368
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3369
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3370
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3371
	_change: {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3372
		e: function(event, dx) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3373
			return { width: this.originalSize.width + dx };
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3374
		},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3375
		w: function(event, dx) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3376
			var cs = this.originalSize, sp = this.originalPosition;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3377
			return { left: sp.left + dx, width: cs.width - dx };
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3378
		},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3379
		n: function(event, dx, dy) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3380
			var cs = this.originalSize, sp = this.originalPosition;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3381
			return { top: sp.top + dy, height: cs.height - dy };
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3382
		},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3383
		s: function(event, dx, dy) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3384
			return { height: this.originalSize.height + dy };
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3385
		},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3386
		se: function(event, dx, dy) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3387
			return $.extend(this._change.s.apply(this, arguments), this._change.e.apply(this, [event, dx, dy]));
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3388
		},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3389
		sw: function(event, dx, dy) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3390
			return $.extend(this._change.s.apply(this, arguments), this._change.w.apply(this, [event, dx, dy]));
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3391
		},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3392
		ne: function(event, dx, dy) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3393
			return $.extend(this._change.n.apply(this, arguments), this._change.e.apply(this, [event, dx, dy]));
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3394
		},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3395
		nw: function(event, dx, dy) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3396
			return $.extend(this._change.n.apply(this, arguments), this._change.w.apply(this, [event, dx, dy]));
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3397
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3398
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3399
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3400
	_propagate: function(n, event) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3401
		$.ui.plugin.call(this, n, [event, this.ui()]);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3402
		(n !== "resize" && this._trigger(n, event, this.ui()));
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3403
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3404
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3405
	plugins: {},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3406
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3407
	ui: function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3408
		return {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3409
			originalElement: this.originalElement,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3410
			element: this.element,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3411
			helper: this.helper,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3412
			position: this.position,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3413
			size: this.size,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3414
			originalSize: this.originalSize,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3415
			originalPosition: this.originalPosition
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3416
		};
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3417
	}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3418
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3419
});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3420
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3421
/*
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3422
 * Resizable Extensions
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3423
 */
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3424
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3425
$.ui.plugin.add("resizable", "animate", {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3426
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3427
	stop: function( event ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3428
		var that = $(this).data("ui-resizable"),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3429
			o = that.options,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3430
			pr = that._proportionallyResizeElements,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3431
			ista = pr.length && (/textarea/i).test(pr[0].nodeName),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3432
			soffseth = ista && $.ui.hasScroll(pr[0], "left") /* TODO - jump height */ ? 0 : that.sizeDiff.height,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3433
			soffsetw = ista ? 0 : that.sizeDiff.width,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3434
			style = { width: (that.size.width - soffsetw), height: (that.size.height - soffseth) },
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3435
			left = (parseInt(that.element.css("left"), 10) + (that.position.left - that.originalPosition.left)) || null,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3436
			top = (parseInt(that.element.css("top"), 10) + (that.position.top - that.originalPosition.top)) || null;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3437
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3438
		that.element.animate(
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3439
			$.extend(style, top && left ? { top: top, left: left } : {}), {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3440
				duration: o.animateDuration,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3441
				easing: o.animateEasing,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3442
				step: function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3443
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3444
					var data = {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3445
						width: parseInt(that.element.css("width"), 10),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3446
						height: parseInt(that.element.css("height"), 10),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3447
						top: parseInt(that.element.css("top"), 10),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3448
						left: parseInt(that.element.css("left"), 10)
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3449
					};
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3450
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3451
					if (pr && pr.length) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3452
						$(pr[0]).css({ width: data.width, height: data.height });
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3453
					}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3454
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3455
					// propagating resize, and updating values for each animation step
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3456
					that._updateCache(data);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3457
					that._propagate("resize", event);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3458
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3459
				}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3460
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3461
		);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3462
	}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3463
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3464
});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3465
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3466
$.ui.plugin.add("resizable", "containment", {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3467
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3468
	start: function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3469
		var element, p, co, ch, cw, width, height,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3470
			that = $(this).data("ui-resizable"),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3471
			o = that.options,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3472
			el = that.element,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3473
			oc = o.containment,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3474
			ce = (oc instanceof $) ? oc.get(0) : (/parent/.test(oc)) ? el.parent().get(0) : oc;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3475
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3476
		if (!ce) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3477
			return;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3478
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3479
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3480
		that.containerElement = $(ce);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3481
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3482
		if (/document/.test(oc) || oc === document) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3483
			that.containerOffset = { left: 0, top: 0 };
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3484
			that.containerPosition = { left: 0, top: 0 };
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3485
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3486
			that.parentData = {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3487
				element: $(document), left: 0, top: 0,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3488
				width: $(document).width(), height: $(document).height() || document.body.parentNode.scrollHeight
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3489
			};
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3490
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3491
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3492
		// i'm a node, so compute top, left, right, bottom
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3493
		else {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3494
			element = $(ce);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3495
			p = [];
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3496
			$([ "Top", "Right", "Left", "Bottom" ]).each(function(i, name) { p[i] = num(element.css("padding" + name)); });
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3497
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3498
			that.containerOffset = element.offset();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3499
			that.containerPosition = element.position();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3500
			that.containerSize = { height: (element.innerHeight() - p[3]), width: (element.innerWidth() - p[1]) };
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3501
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3502
			co = that.containerOffset;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3503
			ch = that.containerSize.height;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3504
			cw = that.containerSize.width;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3505
			width = ($.ui.hasScroll(ce, "left") ? ce.scrollWidth : cw );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3506
			height = ($.ui.hasScroll(ce) ? ce.scrollHeight : ch);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3507
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3508
			that.parentData = {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3509
				element: ce, left: co.left, top: co.top, width: width, height: height
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3510
			};
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3511
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3512
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3513
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3514
	resize: function( event ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3515
		var woset, hoset, isParent, isOffsetRelative,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3516
			that = $(this).data("ui-resizable"),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3517
			o = that.options,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3518
			co = that.containerOffset, cp = that.position,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3519
			pRatio = that._aspectRatio || event.shiftKey,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3520
			cop = { top:0, left:0 }, ce = that.containerElement;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3521
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3522
		if (ce[0] !== document && (/static/).test(ce.css("position"))) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3523
			cop = co;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3524
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3525
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3526
		if (cp.left < (that._helper ? co.left : 0)) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3527
			that.size.width = that.size.width + (that._helper ? (that.position.left - co.left) : (that.position.left - cop.left));
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3528
			if (pRatio) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3529
				that.size.height = that.size.width / that.aspectRatio;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3530
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3531
			that.position.left = o.helper ? co.left : 0;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3532
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3533
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3534
		if (cp.top < (that._helper ? co.top : 0)) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3535
			that.size.height = that.size.height + (that._helper ? (that.position.top - co.top) : that.position.top);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3536
			if (pRatio) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3537
				that.size.width = that.size.height * that.aspectRatio;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3538
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3539
			that.position.top = that._helper ? co.top : 0;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3540
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3541
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3542
		that.offset.left = that.parentData.left+that.position.left;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3543
		that.offset.top = that.parentData.top+that.position.top;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3544
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3545
		woset = Math.abs( (that._helper ? that.offset.left - cop.left : (that.offset.left - cop.left)) + that.sizeDiff.width );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3546
		hoset = Math.abs( (that._helper ? that.offset.top - cop.top : (that.offset.top - co.top)) + that.sizeDiff.height );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3547
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3548
		isParent = that.containerElement.get(0) === that.element.parent().get(0);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3549
		isOffsetRelative = /relative|absolute/.test(that.containerElement.css("position"));
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3550
262
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  3551
		if ( isParent && isOffsetRelative ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  3552
			woset -= Math.abs( that.parentData.left );
211
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3553
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3554
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3555
		if (woset + that.size.width >= that.parentData.width) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3556
			that.size.width = that.parentData.width - woset;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3557
			if (pRatio) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3558
				that.size.height = that.size.width / that.aspectRatio;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3559
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3560
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3561
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3562
		if (hoset + that.size.height >= that.parentData.height) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3563
			that.size.height = that.parentData.height - hoset;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3564
			if (pRatio) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3565
				that.size.width = that.size.height * that.aspectRatio;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3566
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3567
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3568
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3569
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3570
	stop: function(){
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3571
		var that = $(this).data("ui-resizable"),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3572
			o = that.options,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3573
			co = that.containerOffset,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3574
			cop = that.containerPosition,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3575
			ce = that.containerElement,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3576
			helper = $(that.helper),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3577
			ho = helper.offset(),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3578
			w = helper.outerWidth() - that.sizeDiff.width,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3579
			h = helper.outerHeight() - that.sizeDiff.height;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3580
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3581
		if (that._helper && !o.animate && (/relative/).test(ce.css("position"))) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3582
			$(this).css({ left: ho.left - cop.left - co.left, width: w, height: h });
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3583
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3584
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3585
		if (that._helper && !o.animate && (/static/).test(ce.css("position"))) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3586
			$(this).css({ left: ho.left - cop.left - co.left, width: w, height: h });
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3587
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3588
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3589
	}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3590
});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3591
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3592
$.ui.plugin.add("resizable", "alsoResize", {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3593
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3594
	start: function () {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3595
		var that = $(this).data("ui-resizable"),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3596
			o = that.options,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3597
			_store = function (exp) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3598
				$(exp).each(function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3599
					var el = $(this);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3600
					el.data("ui-resizable-alsoresize", {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3601
						width: parseInt(el.width(), 10), height: parseInt(el.height(), 10),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3602
						left: parseInt(el.css("left"), 10), top: parseInt(el.css("top"), 10)
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3603
					});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3604
				});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3605
			};
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3606
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3607
		if (typeof(o.alsoResize) === "object" && !o.alsoResize.parentNode) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3608
			if (o.alsoResize.length) { o.alsoResize = o.alsoResize[0]; _store(o.alsoResize); }
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3609
			else { $.each(o.alsoResize, function (exp) { _store(exp); }); }
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3610
		}else{
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3611
			_store(o.alsoResize);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3612
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3613
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3614
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3615
	resize: function (event, ui) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3616
		var that = $(this).data("ui-resizable"),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3617
			o = that.options,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3618
			os = that.originalSize,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3619
			op = that.originalPosition,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3620
			delta = {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3621
				height: (that.size.height - os.height) || 0, width: (that.size.width - os.width) || 0,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3622
				top: (that.position.top - op.top) || 0, left: (that.position.left - op.left) || 0
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3623
			},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3624
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3625
			_alsoResize = function (exp, c) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3626
				$(exp).each(function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3627
					var el = $(this), start = $(this).data("ui-resizable-alsoresize"), style = {},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3628
						css = c && c.length ? c : el.parents(ui.originalElement[0]).length ? ["width", "height"] : ["width", "height", "top", "left"];
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3629
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3630
					$.each(css, function (i, prop) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3631
						var sum = (start[prop]||0) + (delta[prop]||0);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3632
						if (sum && sum >= 0) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3633
							style[prop] = sum || null;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3634
						}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3635
					});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3636
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3637
					el.css(style);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3638
				});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3639
			};
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3640
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3641
		if (typeof(o.alsoResize) === "object" && !o.alsoResize.nodeType) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3642
			$.each(o.alsoResize, function (exp, c) { _alsoResize(exp, c); });
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3643
		}else{
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3644
			_alsoResize(o.alsoResize);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3645
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3646
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3647
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3648
	stop: function () {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3649
		$(this).removeData("resizable-alsoresize");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3650
	}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3651
});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3652
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3653
$.ui.plugin.add("resizable", "ghost", {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3654
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3655
	start: function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3656
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3657
		var that = $(this).data("ui-resizable"), o = that.options, cs = that.size;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3658
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3659
		that.ghost = that.originalElement.clone();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3660
		that.ghost
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3661
			.css({ opacity: 0.25, display: "block", position: "relative", height: cs.height, width: cs.width, margin: 0, left: 0, top: 0 })
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3662
			.addClass("ui-resizable-ghost")
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3663
			.addClass(typeof o.ghost === "string" ? o.ghost : "");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3664
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3665
		that.ghost.appendTo(that.helper);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3666
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3667
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3668
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3669
	resize: function(){
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3670
		var that = $(this).data("ui-resizable");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3671
		if (that.ghost) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3672
			that.ghost.css({ position: "relative", height: that.size.height, width: that.size.width });
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3673
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3674
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3675
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3676
	stop: function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3677
		var that = $(this).data("ui-resizable");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3678
		if (that.ghost && that.helper) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3679
			that.helper.get(0).removeChild(that.ghost.get(0));
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3680
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3681
	}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3682
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3683
});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3684
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3685
$.ui.plugin.add("resizable", "grid", {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3686
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3687
	resize: function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3688
		var that = $(this).data("ui-resizable"),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3689
			o = that.options,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3690
			cs = that.size,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3691
			os = that.originalSize,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3692
			op = that.originalPosition,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3693
			a = that.axis,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3694
			grid = typeof o.grid === "number" ? [o.grid, o.grid] : o.grid,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3695
			gridX = (grid[0]||1),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3696
			gridY = (grid[1]||1),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3697
			ox = Math.round((cs.width - os.width) / gridX) * gridX,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3698
			oy = Math.round((cs.height - os.height) / gridY) * gridY,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3699
			newWidth = os.width + ox,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3700
			newHeight = os.height + oy,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3701
			isMaxWidth = o.maxWidth && (o.maxWidth < newWidth),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3702
			isMaxHeight = o.maxHeight && (o.maxHeight < newHeight),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3703
			isMinWidth = o.minWidth && (o.minWidth > newWidth),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3704
			isMinHeight = o.minHeight && (o.minHeight > newHeight);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3705
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3706
		o.grid = grid;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3707
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3708
		if (isMinWidth) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3709
			newWidth = newWidth + gridX;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3710
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3711
		if (isMinHeight) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3712
			newHeight = newHeight + gridY;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3713
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3714
		if (isMaxWidth) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3715
			newWidth = newWidth - gridX;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3716
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3717
		if (isMaxHeight) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3718
			newHeight = newHeight - gridY;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3719
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3720
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3721
		if (/^(se|s|e)$/.test(a)) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3722
			that.size.width = newWidth;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3723
			that.size.height = newHeight;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3724
		} else if (/^(ne)$/.test(a)) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3725
			that.size.width = newWidth;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3726
			that.size.height = newHeight;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3727
			that.position.top = op.top - oy;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3728
		} else if (/^(sw)$/.test(a)) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3729
			that.size.width = newWidth;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3730
			that.size.height = newHeight;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3731
			that.position.left = op.left - ox;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3732
		} else {
262
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  3733
			if ( newHeight - gridY > 0 ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  3734
				that.size.height = newHeight;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  3735
				that.position.top = op.top - oy;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  3736
			} else {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  3737
				that.size.height = gridY;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  3738
				that.position.top = op.top + os.height - gridY;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  3739
			}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  3740
			if ( newWidth - gridX > 0 ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  3741
				that.size.width = newWidth;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  3742
				that.position.left = op.left - ox;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  3743
			} else {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  3744
				that.size.width = gridX;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  3745
				that.position.left = op.left + os.width - gridX;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  3746
			}
211
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3747
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3748
	}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3749
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3750
});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3751
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3752
})(jQuery);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3753
(function( $, undefined ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3754
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3755
$.widget("ui.selectable", $.ui.mouse, {
262
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  3756
	version: "1.10.4",
211
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3757
	options: {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3758
		appendTo: "body",
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3759
		autoRefresh: true,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3760
		distance: 0,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3761
		filter: "*",
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3762
		tolerance: "touch",
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3763
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3764
		// callbacks
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3765
		selected: null,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3766
		selecting: null,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3767
		start: null,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3768
		stop: null,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3769
		unselected: null,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3770
		unselecting: null
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3771
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3772
	_create: function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3773
		var selectees,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3774
			that = this;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3775
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3776
		this.element.addClass("ui-selectable");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3777
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3778
		this.dragged = false;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3779
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3780
		// cache selectee children based on filter
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3781
		this.refresh = function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3782
			selectees = $(that.options.filter, that.element[0]);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3783
			selectees.addClass("ui-selectee");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3784
			selectees.each(function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3785
				var $this = $(this),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3786
					pos = $this.offset();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3787
				$.data(this, "selectable-item", {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3788
					element: this,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3789
					$element: $this,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3790
					left: pos.left,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3791
					top: pos.top,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3792
					right: pos.left + $this.outerWidth(),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3793
					bottom: pos.top + $this.outerHeight(),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3794
					startselected: false,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3795
					selected: $this.hasClass("ui-selected"),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3796
					selecting: $this.hasClass("ui-selecting"),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3797
					unselecting: $this.hasClass("ui-unselecting")
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3798
				});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3799
			});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3800
		};
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3801
		this.refresh();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3802
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3803
		this.selectees = selectees.addClass("ui-selectee");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3804
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3805
		this._mouseInit();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3806
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3807
		this.helper = $("<div class='ui-selectable-helper'></div>");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3808
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3809
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3810
	_destroy: function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3811
		this.selectees
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3812
			.removeClass("ui-selectee")
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3813
			.removeData("selectable-item");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3814
		this.element
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3815
			.removeClass("ui-selectable ui-selectable-disabled");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3816
		this._mouseDestroy();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3817
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3818
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3819
	_mouseStart: function(event) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3820
		var that = this,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3821
			options = this.options;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3822
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3823
		this.opos = [event.pageX, event.pageY];
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3824
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3825
		if (this.options.disabled) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3826
			return;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3827
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3828
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3829
		this.selectees = $(options.filter, this.element[0]);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3830
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3831
		this._trigger("start", event);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3832
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3833
		$(options.appendTo).append(this.helper);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3834
		// position helper (lasso)
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3835
		this.helper.css({
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3836
			"left": event.pageX,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3837
			"top": event.pageY,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3838
			"width": 0,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3839
			"height": 0
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3840
		});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3841
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3842
		if (options.autoRefresh) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3843
			this.refresh();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3844
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3845
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3846
		this.selectees.filter(".ui-selected").each(function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3847
			var selectee = $.data(this, "selectable-item");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3848
			selectee.startselected = true;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3849
			if (!event.metaKey && !event.ctrlKey) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3850
				selectee.$element.removeClass("ui-selected");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3851
				selectee.selected = false;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3852
				selectee.$element.addClass("ui-unselecting");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3853
				selectee.unselecting = true;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3854
				// selectable UNSELECTING callback
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3855
				that._trigger("unselecting", event, {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3856
					unselecting: selectee.element
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3857
				});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3858
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3859
		});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3860
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3861
		$(event.target).parents().addBack().each(function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3862
			var doSelect,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3863
				selectee = $.data(this, "selectable-item");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3864
			if (selectee) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3865
				doSelect = (!event.metaKey && !event.ctrlKey) || !selectee.$element.hasClass("ui-selected");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3866
				selectee.$element
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3867
					.removeClass(doSelect ? "ui-unselecting" : "ui-selected")
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3868
					.addClass(doSelect ? "ui-selecting" : "ui-unselecting");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3869
				selectee.unselecting = !doSelect;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3870
				selectee.selecting = doSelect;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3871
				selectee.selected = doSelect;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3872
				// selectable (UN)SELECTING callback
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3873
				if (doSelect) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3874
					that._trigger("selecting", event, {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3875
						selecting: selectee.element
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3876
					});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3877
				} else {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3878
					that._trigger("unselecting", event, {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3879
						unselecting: selectee.element
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3880
					});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3881
				}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3882
				return false;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3883
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3884
		});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3885
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3886
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3887
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3888
	_mouseDrag: function(event) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3889
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3890
		this.dragged = true;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3891
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3892
		if (this.options.disabled) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3893
			return;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3894
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3895
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3896
		var tmp,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3897
			that = this,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3898
			options = this.options,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3899
			x1 = this.opos[0],
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3900
			y1 = this.opos[1],
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3901
			x2 = event.pageX,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3902
			y2 = event.pageY;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3903
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3904
		if (x1 > x2) { tmp = x2; x2 = x1; x1 = tmp; }
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3905
		if (y1 > y2) { tmp = y2; y2 = y1; y1 = tmp; }
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3906
		this.helper.css({left: x1, top: y1, width: x2-x1, height: y2-y1});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3907
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3908
		this.selectees.each(function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3909
			var selectee = $.data(this, "selectable-item"),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3910
				hit = false;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3911
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3912
			//prevent helper from being selected if appendTo: selectable
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3913
			if (!selectee || selectee.element === that.element[0]) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3914
				return;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3915
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3916
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3917
			if (options.tolerance === "touch") {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3918
				hit = ( !(selectee.left > x2 || selectee.right < x1 || selectee.top > y2 || selectee.bottom < y1) );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3919
			} else if (options.tolerance === "fit") {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3920
				hit = (selectee.left > x1 && selectee.right < x2 && selectee.top > y1 && selectee.bottom < y2);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3921
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3922
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3923
			if (hit) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3924
				// SELECT
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3925
				if (selectee.selected) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3926
					selectee.$element.removeClass("ui-selected");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3927
					selectee.selected = false;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3928
				}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3929
				if (selectee.unselecting) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3930
					selectee.$element.removeClass("ui-unselecting");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3931
					selectee.unselecting = false;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3932
				}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3933
				if (!selectee.selecting) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3934
					selectee.$element.addClass("ui-selecting");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3935
					selectee.selecting = true;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3936
					// selectable SELECTING callback
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3937
					that._trigger("selecting", event, {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3938
						selecting: selectee.element
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3939
					});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3940
				}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3941
			} else {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3942
				// UNSELECT
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3943
				if (selectee.selecting) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3944
					if ((event.metaKey || event.ctrlKey) && selectee.startselected) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3945
						selectee.$element.removeClass("ui-selecting");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3946
						selectee.selecting = false;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3947
						selectee.$element.addClass("ui-selected");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3948
						selectee.selected = true;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3949
					} else {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3950
						selectee.$element.removeClass("ui-selecting");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3951
						selectee.selecting = false;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3952
						if (selectee.startselected) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3953
							selectee.$element.addClass("ui-unselecting");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3954
							selectee.unselecting = true;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3955
						}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3956
						// selectable UNSELECTING callback
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3957
						that._trigger("unselecting", event, {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3958
							unselecting: selectee.element
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3959
						});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3960
					}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3961
				}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3962
				if (selectee.selected) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3963
					if (!event.metaKey && !event.ctrlKey && !selectee.startselected) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3964
						selectee.$element.removeClass("ui-selected");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3965
						selectee.selected = false;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3966
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3967
						selectee.$element.addClass("ui-unselecting");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3968
						selectee.unselecting = true;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3969
						// selectable UNSELECTING callback
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3970
						that._trigger("unselecting", event, {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3971
							unselecting: selectee.element
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3972
						});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3973
					}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3974
				}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3975
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3976
		});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3977
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3978
		return false;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3979
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3980
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3981
	_mouseStop: function(event) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3982
		var that = this;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3983
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3984
		this.dragged = false;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3985
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3986
		$(".ui-unselecting", this.element[0]).each(function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3987
			var selectee = $.data(this, "selectable-item");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3988
			selectee.$element.removeClass("ui-unselecting");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3989
			selectee.unselecting = false;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3990
			selectee.startselected = false;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3991
			that._trigger("unselected", event, {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3992
				unselected: selectee.element
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3993
			});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3994
		});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3995
		$(".ui-selecting", this.element[0]).each(function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3996
			var selectee = $.data(this, "selectable-item");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3997
			selectee.$element.removeClass("ui-selecting").addClass("ui-selected");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3998
			selectee.selecting = false;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3999
			selectee.selected = true;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4000
			selectee.startselected = true;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4001
			that._trigger("selected", event, {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4002
				selected: selectee.element
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4003
			});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4004
		});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4005
		this._trigger("stop", event);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4006
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4007
		this.helper.remove();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4008
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4009
		return false;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4010
	}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4011
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4012
});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4013
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4014
})(jQuery);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4015
(function( $, undefined ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4016
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4017
function isOverAxis( x, reference, size ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4018
	return ( x > reference ) && ( x < ( reference + size ) );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4019
}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4020
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4021
function isFloating(item) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4022
	return (/left|right/).test(item.css("float")) || (/inline|table-cell/).test(item.css("display"));
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4023
}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4024
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4025
$.widget("ui.sortable", $.ui.mouse, {
262
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  4026
	version: "1.10.4",
211
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4027
	widgetEventPrefix: "sort",
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4028
	ready: false,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4029
	options: {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4030
		appendTo: "parent",
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4031
		axis: false,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4032
		connectWith: false,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4033
		containment: false,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4034
		cursor: "auto",
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4035
		cursorAt: false,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4036
		dropOnEmpty: true,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4037
		forcePlaceholderSize: false,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4038
		forceHelperSize: false,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4039
		grid: false,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4040
		handle: false,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4041
		helper: "original",
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4042
		items: "> *",
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4043
		opacity: false,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4044
		placeholder: false,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4045
		revert: false,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4046
		scroll: true,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4047
		scrollSensitivity: 20,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4048
		scrollSpeed: 20,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4049
		scope: "default",
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4050
		tolerance: "intersect",
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4051
		zIndex: 1000,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4052
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4053
		// callbacks
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4054
		activate: null,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4055
		beforeStop: null,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4056
		change: null,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4057
		deactivate: null,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4058
		out: null,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4059
		over: null,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4060
		receive: null,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4061
		remove: null,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4062
		sort: null,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4063
		start: null,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4064
		stop: null,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4065
		update: null
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4066
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4067
	_create: function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4068
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4069
		var o = this.options;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4070
		this.containerCache = {};
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4071
		this.element.addClass("ui-sortable");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4072
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4073
		//Get the items
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4074
		this.refresh();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4075
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4076
		//Let's determine if the items are being displayed horizontally
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4077
		this.floating = this.items.length ? o.axis === "x" || isFloating(this.items[0].item) : false;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4078
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4079
		//Let's determine the parent's offset
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4080
		this.offset = this.element.offset();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4081
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4082
		//Initialize mouse events for interaction
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4083
		this._mouseInit();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4084
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4085
		//We're ready to go
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4086
		this.ready = true;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4087
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4088
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4089
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4090
	_destroy: function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4091
		this.element
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4092
			.removeClass("ui-sortable ui-sortable-disabled");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4093
		this._mouseDestroy();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4094
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4095
		for ( var i = this.items.length - 1; i >= 0; i-- ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4096
			this.items[i].item.removeData(this.widgetName + "-item");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4097
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4098
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4099
		return this;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4100
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4101
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4102
	_setOption: function(key, value){
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4103
		if ( key === "disabled" ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4104
			this.options[ key ] = value;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4105
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4106
			this.widget().toggleClass( "ui-sortable-disabled", !!value );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4107
		} else {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4108
			// Don't call widget base _setOption for disable as it adds ui-state-disabled class
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4109
			$.Widget.prototype._setOption.apply(this, arguments);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4110
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4111
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4112
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4113
	_mouseCapture: function(event, overrideHandle) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4114
		var currentItem = null,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4115
			validHandle = false,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4116
			that = this;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4117
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4118
		if (this.reverting) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4119
			return false;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4120
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4121
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4122
		if(this.options.disabled || this.options.type === "static") {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4123
			return false;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4124
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4125
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4126
		//We have to refresh the items data once first
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4127
		this._refreshItems(event);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4128
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4129
		//Find out if the clicked node (or one of its parents) is a actual item in this.items
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4130
		$(event.target).parents().each(function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4131
			if($.data(this, that.widgetName + "-item") === that) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4132
				currentItem = $(this);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4133
				return false;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4134
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4135
		});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4136
		if($.data(event.target, that.widgetName + "-item") === that) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4137
			currentItem = $(event.target);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4138
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4139
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4140
		if(!currentItem) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4141
			return false;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4142
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4143
		if(this.options.handle && !overrideHandle) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4144
			$(this.options.handle, currentItem).find("*").addBack().each(function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4145
				if(this === event.target) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4146
					validHandle = true;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4147
				}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4148
			});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4149
			if(!validHandle) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4150
				return false;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4151
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4152
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4153
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4154
		this.currentItem = currentItem;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4155
		this._removeCurrentsFromItems();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4156
		return true;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4157
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4158
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4159
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4160
	_mouseStart: function(event, overrideHandle, noActivation) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4161
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4162
		var i, body,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4163
			o = this.options;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4164
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4165
		this.currentContainer = this;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4166
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4167
		//We only need to call refreshPositions, because the refreshItems call has been moved to mouseCapture
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4168
		this.refreshPositions();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4169
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4170
		//Create and append the visible helper
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4171
		this.helper = this._createHelper(event);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4172
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4173
		//Cache the helper size
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4174
		this._cacheHelperProportions();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4175
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4176
		/*
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4177
		 * - Position generation -
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4178
		 * This block generates everything position related - it's the core of draggables.
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4179
		 */
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4180
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4181
		//Cache the margins of the original element
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4182
		this._cacheMargins();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4183
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4184
		//Get the next scrolling parent
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4185
		this.scrollParent = this.helper.scrollParent();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4186
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4187
		//The element's absolute position on the page minus margins
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4188
		this.offset = this.currentItem.offset();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4189
		this.offset = {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4190
			top: this.offset.top - this.margins.top,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4191
			left: this.offset.left - this.margins.left
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4192
		};
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4193
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4194
		$.extend(this.offset, {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4195
			click: { //Where the click happened, relative to the element
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4196
				left: event.pageX - this.offset.left,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4197
				top: event.pageY - this.offset.top
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4198
			},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4199
			parent: this._getParentOffset(),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4200
			relative: this._getRelativeOffset() //This is a relative to absolute position minus the actual position calculation - only used for relative positioned helper
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4201
		});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4202
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4203
		// Only after we got the offset, we can change the helper's position to absolute
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4204
		// TODO: Still need to figure out a way to make relative sorting possible
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4205
		this.helper.css("position", "absolute");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4206
		this.cssPosition = this.helper.css("position");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4207
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4208
		//Generate the original position
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4209
		this.originalPosition = this._generatePosition(event);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4210
		this.originalPageX = event.pageX;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4211
		this.originalPageY = event.pageY;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4212
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4213
		//Adjust the mouse offset relative to the helper if "cursorAt" is supplied
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4214
		(o.cursorAt && this._adjustOffsetFromHelper(o.cursorAt));
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4215
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4216
		//Cache the former DOM position
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4217
		this.domPosition = { prev: this.currentItem.prev()[0], parent: this.currentItem.parent()[0] };
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4218
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4219
		//If the helper is not the original, hide the original so it's not playing any role during the drag, won't cause anything bad this way
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4220
		if(this.helper[0] !== this.currentItem[0]) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4221
			this.currentItem.hide();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4222
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4223
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4224
		//Create the placeholder
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4225
		this._createPlaceholder();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4226
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4227
		//Set a containment if given in the options
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4228
		if(o.containment) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4229
			this._setContainment();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4230
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4231
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4232
		if( o.cursor && o.cursor !== "auto" ) { // cursor option
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4233
			body = this.document.find( "body" );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4234
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4235
			// support: IE
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4236
			this.storedCursor = body.css( "cursor" );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4237
			body.css( "cursor", o.cursor );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4238
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4239
			this.storedStylesheet = $( "<style>*{ cursor: "+o.cursor+" !important; }</style>" ).appendTo( body );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4240
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4241
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4242
		if(o.opacity) { // opacity option
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4243
			if (this.helper.css("opacity")) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4244
				this._storedOpacity = this.helper.css("opacity");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4245
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4246
			this.helper.css("opacity", o.opacity);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4247
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4248
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4249
		if(o.zIndex) { // zIndex option
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4250
			if (this.helper.css("zIndex")) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4251
				this._storedZIndex = this.helper.css("zIndex");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4252
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4253
			this.helper.css("zIndex", o.zIndex);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4254
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4255
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4256
		//Prepare scrolling
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4257
		if(this.scrollParent[0] !== document && this.scrollParent[0].tagName !== "HTML") {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4258
			this.overflowOffset = this.scrollParent.offset();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4259
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4260
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4261
		//Call callbacks
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4262
		this._trigger("start", event, this._uiHash());
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4263
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4264
		//Recache the helper size
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4265
		if(!this._preserveHelperProportions) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4266
			this._cacheHelperProportions();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4267
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4268
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4269
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4270
		//Post "activate" events to possible containers
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4271
		if( !noActivation ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4272
			for ( i = this.containers.length - 1; i >= 0; i-- ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4273
				this.containers[ i ]._trigger( "activate", event, this._uiHash( this ) );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4274
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4275
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4276
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4277
		//Prepare possible droppables
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4278
		if($.ui.ddmanager) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4279
			$.ui.ddmanager.current = this;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4280
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4281
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4282
		if ($.ui.ddmanager && !o.dropBehaviour) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4283
			$.ui.ddmanager.prepareOffsets(this, event);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4284
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4285
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4286
		this.dragging = true;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4287
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4288
		this.helper.addClass("ui-sortable-helper");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4289
		this._mouseDrag(event); //Execute the drag once - this causes the helper not to be visible before getting its correct position
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4290
		return true;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4291
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4292
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4293
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4294
	_mouseDrag: function(event) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4295
		var i, item, itemElement, intersection,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4296
			o = this.options,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4297
			scrolled = false;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4298
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4299
		//Compute the helpers position
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4300
		this.position = this._generatePosition(event);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4301
		this.positionAbs = this._convertPositionTo("absolute");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4302
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4303
		if (!this.lastPositionAbs) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4304
			this.lastPositionAbs = this.positionAbs;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4305
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4306
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4307
		//Do scrolling
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4308
		if(this.options.scroll) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4309
			if(this.scrollParent[0] !== document && this.scrollParent[0].tagName !== "HTML") {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4310
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4311
				if((this.overflowOffset.top + this.scrollParent[0].offsetHeight) - event.pageY < o.scrollSensitivity) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4312
					this.scrollParent[0].scrollTop = scrolled = this.scrollParent[0].scrollTop + o.scrollSpeed;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4313
				} else if(event.pageY - this.overflowOffset.top < o.scrollSensitivity) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4314
					this.scrollParent[0].scrollTop = scrolled = this.scrollParent[0].scrollTop - o.scrollSpeed;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4315
				}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4316
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4317
				if((this.overflowOffset.left + this.scrollParent[0].offsetWidth) - event.pageX < o.scrollSensitivity) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4318
					this.scrollParent[0].scrollLeft = scrolled = this.scrollParent[0].scrollLeft + o.scrollSpeed;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4319
				} else if(event.pageX - this.overflowOffset.left < o.scrollSensitivity) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4320
					this.scrollParent[0].scrollLeft = scrolled = this.scrollParent[0].scrollLeft - o.scrollSpeed;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4321
				}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4322
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4323
			} else {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4324
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4325
				if(event.pageY - $(document).scrollTop() < o.scrollSensitivity) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4326
					scrolled = $(document).scrollTop($(document).scrollTop() - o.scrollSpeed);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4327
				} else if($(window).height() - (event.pageY - $(document).scrollTop()) < o.scrollSensitivity) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4328
					scrolled = $(document).scrollTop($(document).scrollTop() + o.scrollSpeed);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4329
				}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4330
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4331
				if(event.pageX - $(document).scrollLeft() < o.scrollSensitivity) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4332
					scrolled = $(document).scrollLeft($(document).scrollLeft() - o.scrollSpeed);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4333
				} else if($(window).width() - (event.pageX - $(document).scrollLeft()) < o.scrollSensitivity) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4334
					scrolled = $(document).scrollLeft($(document).scrollLeft() + o.scrollSpeed);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4335
				}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4336
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4337
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4338
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4339
			if(scrolled !== false && $.ui.ddmanager && !o.dropBehaviour) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4340
				$.ui.ddmanager.prepareOffsets(this, event);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4341
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4342
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4343
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4344
		//Regenerate the absolute position used for position checks
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4345
		this.positionAbs = this._convertPositionTo("absolute");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4346
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4347
		//Set the helper position
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4348
		if(!this.options.axis || this.options.axis !== "y") {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4349
			this.helper[0].style.left = this.position.left+"px";
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4350
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4351
		if(!this.options.axis || this.options.axis !== "x") {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4352
			this.helper[0].style.top = this.position.top+"px";
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4353
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4354
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4355
		//Rearrange
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4356
		for (i = this.items.length - 1; i >= 0; i--) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4357
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4358
			//Cache variables and intersection, continue if no intersection
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4359
			item = this.items[i];
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4360
			itemElement = item.item[0];
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4361
			intersection = this._intersectsWithPointer(item);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4362
			if (!intersection) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4363
				continue;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4364
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4365
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4366
			// Only put the placeholder inside the current Container, skip all
262
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  4367
			// items from other containers. This works because when moving
211
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4368
			// an item from one container to another the
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4369
			// currentContainer is switched before the placeholder is moved.
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4370
			//
262
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  4371
			// Without this, moving items in "sub-sortables" can cause
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  4372
			// the placeholder to jitter beetween the outer and inner container.
211
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4373
			if (item.instance !== this.currentContainer) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4374
				continue;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4375
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4376
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4377
			// cannot intersect with itself
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4378
			// no useless actions that have been done before
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4379
			// no action if the item moved is the parent of the item checked
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4380
			if (itemElement !== this.currentItem[0] &&
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4381
				this.placeholder[intersection === 1 ? "next" : "prev"]()[0] !== itemElement &&
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4382
				!$.contains(this.placeholder[0], itemElement) &&
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4383
				(this.options.type === "semi-dynamic" ? !$.contains(this.element[0], itemElement) : true)
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4384
			) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4385
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4386
				this.direction = intersection === 1 ? "down" : "up";
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4387
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4388
				if (this.options.tolerance === "pointer" || this._intersectsWithSides(item)) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4389
					this._rearrange(event, item);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4390
				} else {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4391
					break;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4392
				}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4393
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4394
				this._trigger("change", event, this._uiHash());
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4395
				break;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4396
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4397
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4398
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4399
		//Post events to containers
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4400
		this._contactContainers(event);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4401
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4402
		//Interconnect with droppables
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4403
		if($.ui.ddmanager) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4404
			$.ui.ddmanager.drag(this, event);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4405
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4406
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4407
		//Call callbacks
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4408
		this._trigger("sort", event, this._uiHash());
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4409
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4410
		this.lastPositionAbs = this.positionAbs;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4411
		return false;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4412
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4413
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4414
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4415
	_mouseStop: function(event, noPropagation) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4416
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4417
		if(!event) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4418
			return;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4419
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4420
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4421
		//If we are using droppables, inform the manager about the drop
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4422
		if ($.ui.ddmanager && !this.options.dropBehaviour) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4423
			$.ui.ddmanager.drop(this, event);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4424
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4425
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4426
		if(this.options.revert) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4427
			var that = this,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4428
				cur = this.placeholder.offset(),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4429
				axis = this.options.axis,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4430
				animation = {};
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4431
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4432
			if ( !axis || axis === "x" ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4433
				animation.left = cur.left - this.offset.parent.left - this.margins.left + (this.offsetParent[0] === document.body ? 0 : this.offsetParent[0].scrollLeft);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4434
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4435
			if ( !axis || axis === "y" ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4436
				animation.top = cur.top - this.offset.parent.top - this.margins.top + (this.offsetParent[0] === document.body ? 0 : this.offsetParent[0].scrollTop);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4437
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4438
			this.reverting = true;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4439
			$(this.helper).animate( animation, parseInt(this.options.revert, 10) || 500, function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4440
				that._clear(event);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4441
			});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4442
		} else {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4443
			this._clear(event, noPropagation);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4444
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4445
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4446
		return false;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4447
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4448
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4449
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4450
	cancel: function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4451
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4452
		if(this.dragging) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4453
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4454
			this._mouseUp({ target: null });
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4455
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4456
			if(this.options.helper === "original") {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4457
				this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4458
			} else {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4459
				this.currentItem.show();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4460
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4461
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4462
			//Post deactivating events to containers
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4463
			for (var i = this.containers.length - 1; i >= 0; i--){
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4464
				this.containers[i]._trigger("deactivate", null, this._uiHash(this));
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4465
				if(this.containers[i].containerCache.over) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4466
					this.containers[i]._trigger("out", null, this._uiHash(this));
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4467
					this.containers[i].containerCache.over = 0;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4468
				}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4469
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4470
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4471
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4472
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4473
		if (this.placeholder) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4474
			//$(this.placeholder[0]).remove(); would have been the jQuery way - unfortunately, it unbinds ALL events from the original node!
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4475
			if(this.placeholder[0].parentNode) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4476
				this.placeholder[0].parentNode.removeChild(this.placeholder[0]);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4477
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4478
			if(this.options.helper !== "original" && this.helper && this.helper[0].parentNode) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4479
				this.helper.remove();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4480
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4481
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4482
			$.extend(this, {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4483
				helper: null,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4484
				dragging: false,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4485
				reverting: false,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4486
				_noFinalSort: null
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4487
			});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4488
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4489
			if(this.domPosition.prev) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4490
				$(this.domPosition.prev).after(this.currentItem);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4491
			} else {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4492
				$(this.domPosition.parent).prepend(this.currentItem);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4493
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4494
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4495
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4496
		return this;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4497
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4498
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4499
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4500
	serialize: function(o) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4501
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4502
		var items = this._getItemsAsjQuery(o && o.connected),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4503
			str = [];
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4504
		o = o || {};
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4505
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4506
		$(items).each(function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4507
			var res = ($(o.item || this).attr(o.attribute || "id") || "").match(o.expression || (/(.+)[\-=_](.+)/));
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4508
			if (res) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4509
				str.push((o.key || res[1]+"[]")+"="+(o.key && o.expression ? res[1] : res[2]));
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4510
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4511
		});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4512
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4513
		if(!str.length && o.key) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4514
			str.push(o.key + "=");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4515
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4516
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4517
		return str.join("&");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4518
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4519
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4520
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4521
	toArray: function(o) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4522
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4523
		var items = this._getItemsAsjQuery(o && o.connected),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4524
			ret = [];
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4525
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4526
		o = o || {};
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4527
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4528
		items.each(function() { ret.push($(o.item || this).attr(o.attribute || "id") || ""); });
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4529
		return ret;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4530
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4531
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4532
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4533
	/* Be careful with the following core functions */
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4534
	_intersectsWith: function(item) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4535
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4536
		var x1 = this.positionAbs.left,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4537
			x2 = x1 + this.helperProportions.width,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4538
			y1 = this.positionAbs.top,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4539
			y2 = y1 + this.helperProportions.height,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4540
			l = item.left,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4541
			r = l + item.width,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4542
			t = item.top,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4543
			b = t + item.height,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4544
			dyClick = this.offset.click.top,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4545
			dxClick = this.offset.click.left,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4546
			isOverElementHeight = ( this.options.axis === "x" ) || ( ( y1 + dyClick ) > t && ( y1 + dyClick ) < b ),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4547
			isOverElementWidth = ( this.options.axis === "y" ) || ( ( x1 + dxClick ) > l && ( x1 + dxClick ) < r ),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4548
			isOverElement = isOverElementHeight && isOverElementWidth;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4549
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4550
		if ( this.options.tolerance === "pointer" ||
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4551
			this.options.forcePointerForContainers ||
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4552
			(this.options.tolerance !== "pointer" && this.helperProportions[this.floating ? "width" : "height"] > item[this.floating ? "width" : "height"])
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4553
		) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4554
			return isOverElement;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4555
		} else {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4556
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4557
			return (l < x1 + (this.helperProportions.width / 2) && // Right Half
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4558
				x2 - (this.helperProportions.width / 2) < r && // Left Half
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4559
				t < y1 + (this.helperProportions.height / 2) && // Bottom Half
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4560
				y2 - (this.helperProportions.height / 2) < b ); // Top Half
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4561
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4562
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4563
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4564
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4565
	_intersectsWithPointer: function(item) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4566
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4567
		var isOverElementHeight = (this.options.axis === "x") || isOverAxis(this.positionAbs.top + this.offset.click.top, item.top, item.height),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4568
			isOverElementWidth = (this.options.axis === "y") || isOverAxis(this.positionAbs.left + this.offset.click.left, item.left, item.width),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4569
			isOverElement = isOverElementHeight && isOverElementWidth,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4570
			verticalDirection = this._getDragVerticalDirection(),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4571
			horizontalDirection = this._getDragHorizontalDirection();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4572
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4573
		if (!isOverElement) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4574
			return false;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4575
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4576
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4577
		return this.floating ?
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4578
			( ((horizontalDirection && horizontalDirection === "right") || verticalDirection === "down") ? 2 : 1 )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4579
			: ( verticalDirection && (verticalDirection === "down" ? 2 : 1) );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4580
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4581
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4582
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4583
	_intersectsWithSides: function(item) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4584
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4585
		var isOverBottomHalf = isOverAxis(this.positionAbs.top + this.offset.click.top, item.top + (item.height/2), item.height),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4586
			isOverRightHalf = isOverAxis(this.positionAbs.left + this.offset.click.left, item.left + (item.width/2), item.width),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4587
			verticalDirection = this._getDragVerticalDirection(),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4588
			horizontalDirection = this._getDragHorizontalDirection();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4589
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4590
		if (this.floating && horizontalDirection) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4591
			return ((horizontalDirection === "right" && isOverRightHalf) || (horizontalDirection === "left" && !isOverRightHalf));
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4592
		} else {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4593
			return verticalDirection && ((verticalDirection === "down" && isOverBottomHalf) || (verticalDirection === "up" && !isOverBottomHalf));
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4594
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4595
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4596
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4597
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4598
	_getDragVerticalDirection: function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4599
		var delta = this.positionAbs.top - this.lastPositionAbs.top;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4600
		return delta !== 0 && (delta > 0 ? "down" : "up");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4601
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4602
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4603
	_getDragHorizontalDirection: function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4604
		var delta = this.positionAbs.left - this.lastPositionAbs.left;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4605
		return delta !== 0 && (delta > 0 ? "right" : "left");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4606
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4607
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4608
	refresh: function(event) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4609
		this._refreshItems(event);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4610
		this.refreshPositions();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4611
		return this;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4612
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4613
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4614
	_connectWith: function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4615
		var options = this.options;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4616
		return options.connectWith.constructor === String ? [options.connectWith] : options.connectWith;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4617
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4618
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4619
	_getItemsAsjQuery: function(connected) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4620
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4621
		var i, j, cur, inst,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4622
			items = [],
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4623
			queries = [],
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4624
			connectWith = this._connectWith();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4625
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4626
		if(connectWith && connected) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4627
			for (i = connectWith.length - 1; i >= 0; i--){
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4628
				cur = $(connectWith[i]);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4629
				for ( j = cur.length - 1; j >= 0; j--){
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4630
					inst = $.data(cur[j], this.widgetFullName);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4631
					if(inst && inst !== this && !inst.options.disabled) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4632
						queries.push([$.isFunction(inst.options.items) ? inst.options.items.call(inst.element) : $(inst.options.items, inst.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"), inst]);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4633
					}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4634
				}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4635
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4636
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4637
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4638
		queries.push([$.isFunction(this.options.items) ? this.options.items.call(this.element, null, { options: this.options, item: this.currentItem }) : $(this.options.items, this.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"), this]);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4639
262
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  4640
		function addItems() {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  4641
			items.push( this );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  4642
		}
211
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4643
		for (i = queries.length - 1; i >= 0; i--){
262
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  4644
			queries[i][0].each( addItems );
211
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4645
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4646
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4647
		return $(items);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4648
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4649
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4650
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4651
	_removeCurrentsFromItems: function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4652
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4653
		var list = this.currentItem.find(":data(" + this.widgetName + "-item)");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4654
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4655
		this.items = $.grep(this.items, function (item) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4656
			for (var j=0; j < list.length; j++) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4657
				if(list[j] === item.item[0]) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4658
					return false;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4659
				}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4660
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4661
			return true;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4662
		});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4663
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4664
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4665
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4666
	_refreshItems: function(event) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4667
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4668
		this.items = [];
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4669
		this.containers = [this];
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4670
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4671
		var i, j, cur, inst, targetData, _queries, item, queriesLength,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4672
			items = this.items,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4673
			queries = [[$.isFunction(this.options.items) ? this.options.items.call(this.element[0], event, { item: this.currentItem }) : $(this.options.items, this.element), this]],
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4674
			connectWith = this._connectWith();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4675
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4676
		if(connectWith && this.ready) { //Shouldn't be run the first time through due to massive slow-down
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4677
			for (i = connectWith.length - 1; i >= 0; i--){
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4678
				cur = $(connectWith[i]);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4679
				for (j = cur.length - 1; j >= 0; j--){
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4680
					inst = $.data(cur[j], this.widgetFullName);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4681
					if(inst && inst !== this && !inst.options.disabled) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4682
						queries.push([$.isFunction(inst.options.items) ? inst.options.items.call(inst.element[0], event, { item: this.currentItem }) : $(inst.options.items, inst.element), inst]);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4683
						this.containers.push(inst);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4684
					}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4685
				}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4686
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4687
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4688
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4689
		for (i = queries.length - 1; i >= 0; i--) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4690
			targetData = queries[i][1];
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4691
			_queries = queries[i][0];
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4692
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4693
			for (j=0, queriesLength = _queries.length; j < queriesLength; j++) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4694
				item = $(_queries[j]);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4695
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4696
				item.data(this.widgetName + "-item", targetData); // Data for target checking (mouse manager)
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4697
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4698
				items.push({
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4699
					item: item,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4700
					instance: targetData,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4701
					width: 0, height: 0,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4702
					left: 0, top: 0
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4703
				});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4704
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4705
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4706
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4707
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4708
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4709
	refreshPositions: function(fast) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4710
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4711
		//This has to be redone because due to the item being moved out/into the offsetParent, the offsetParent's position will change
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4712
		if(this.offsetParent && this.helper) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4713
			this.offset.parent = this._getParentOffset();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4714
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4715
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4716
		var i, item, t, p;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4717
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4718
		for (i = this.items.length - 1; i >= 0; i--){
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4719
			item = this.items[i];
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4720
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4721
			//We ignore calculating positions of all connected containers when we're not over them
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4722
			if(item.instance !== this.currentContainer && this.currentContainer && item.item[0] !== this.currentItem[0]) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4723
				continue;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4724
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4725
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4726
			t = this.options.toleranceElement ? $(this.options.toleranceElement, item.item) : item.item;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4727
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4728
			if (!fast) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4729
				item.width = t.outerWidth();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4730
				item.height = t.outerHeight();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4731
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4732
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4733
			p = t.offset();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4734
			item.left = p.left;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4735
			item.top = p.top;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4736
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4737
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4738
		if(this.options.custom && this.options.custom.refreshContainers) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4739
			this.options.custom.refreshContainers.call(this);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4740
		} else {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4741
			for (i = this.containers.length - 1; i >= 0; i--){
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4742
				p = this.containers[i].element.offset();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4743
				this.containers[i].containerCache.left = p.left;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4744
				this.containers[i].containerCache.top = p.top;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4745
				this.containers[i].containerCache.width	= this.containers[i].element.outerWidth();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4746
				this.containers[i].containerCache.height = this.containers[i].element.outerHeight();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4747
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4748
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4749
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4750
		return this;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4751
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4752
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4753
	_createPlaceholder: function(that) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4754
		that = that || this;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4755
		var className,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4756
			o = that.options;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4757
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4758
		if(!o.placeholder || o.placeholder.constructor === String) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4759
			className = o.placeholder;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4760
			o.placeholder = {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4761
				element: function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4762
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4763
					var nodeName = that.currentItem[0].nodeName.toLowerCase(),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4764
						element = $( "<" + nodeName + ">", that.document[0] )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4765
							.addClass(className || that.currentItem[0].className+" ui-sortable-placeholder")
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4766
							.removeClass("ui-sortable-helper");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4767
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4768
					if ( nodeName === "tr" ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4769
						that.currentItem.children().each(function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4770
							$( "<td>&#160;</td>", that.document[0] )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4771
								.attr( "colspan", $( this ).attr( "colspan" ) || 1 )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4772
								.appendTo( element );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4773
						});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4774
					} else if ( nodeName === "img" ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4775
						element.attr( "src", that.currentItem.attr( "src" ) );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4776
					}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4777
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4778
					if ( !className ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4779
						element.css( "visibility", "hidden" );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4780
					}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4781
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4782
					return element;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4783
				},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4784
				update: function(container, p) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4785
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4786
					// 1. If a className is set as 'placeholder option, we don't force sizes - the class is responsible for that
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4787
					// 2. The option 'forcePlaceholderSize can be enabled to force it even if a class name is specified
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4788
					if(className && !o.forcePlaceholderSize) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4789
						return;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4790
					}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4791
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4792
					//If the element doesn't have a actual height by itself (without styles coming from a stylesheet), it receives the inline height from the dragged item
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4793
					if(!p.height()) { p.height(that.currentItem.innerHeight() - parseInt(that.currentItem.css("paddingTop")||0, 10) - parseInt(that.currentItem.css("paddingBottom")||0, 10)); }
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4794
					if(!p.width()) { p.width(that.currentItem.innerWidth() - parseInt(that.currentItem.css("paddingLeft")||0, 10) - parseInt(that.currentItem.css("paddingRight")||0, 10)); }
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4795
				}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4796
			};
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4797
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4798
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4799
		//Create the placeholder
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4800
		that.placeholder = $(o.placeholder.element.call(that.element, that.currentItem));
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4801
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4802
		//Append it after the actual current item
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4803
		that.currentItem.after(that.placeholder);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4804
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4805
		//Update the size of the placeholder (TODO: Logic to fuzzy, see line 316/317)
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4806
		o.placeholder.update(that, that.placeholder);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4807
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4808
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4809
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4810
	_contactContainers: function(event) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4811
		var i, j, dist, itemWithLeastDistance, posProperty, sizeProperty, base, cur, nearBottom, floating,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4812
			innermostContainer = null,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4813
			innermostIndex = null;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4814
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4815
		// get innermost container that intersects with item
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4816
		for (i = this.containers.length - 1; i >= 0; i--) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4817
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4818
			// never consider a container that's located within the item itself
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4819
			if($.contains(this.currentItem[0], this.containers[i].element[0])) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4820
				continue;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4821
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4822
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4823
			if(this._intersectsWith(this.containers[i].containerCache)) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4824
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4825
				// if we've already found a container and it's more "inner" than this, then continue
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4826
				if(innermostContainer && $.contains(this.containers[i].element[0], innermostContainer.element[0])) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4827
					continue;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4828
				}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4829
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4830
				innermostContainer = this.containers[i];
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4831
				innermostIndex = i;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4832
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4833
			} else {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4834
				// container doesn't intersect. trigger "out" event if necessary
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4835
				if(this.containers[i].containerCache.over) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4836
					this.containers[i]._trigger("out", event, this._uiHash(this));
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4837
					this.containers[i].containerCache.over = 0;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4838
				}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4839
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4840
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4841
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4842
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4843
		// if no intersecting containers found, return
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4844
		if(!innermostContainer) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4845
			return;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4846
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4847
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4848
		// move the item into the container if it's not there already
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4849
		if(this.containers.length === 1) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4850
			if (!this.containers[innermostIndex].containerCache.over) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4851
				this.containers[innermostIndex]._trigger("over", event, this._uiHash(this));
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4852
				this.containers[innermostIndex].containerCache.over = 1;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4853
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4854
		} else {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4855
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4856
			//When entering a new container, we will find the item with the least distance and append our item near it
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4857
			dist = 10000;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4858
			itemWithLeastDistance = null;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4859
			floating = innermostContainer.floating || isFloating(this.currentItem);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4860
			posProperty = floating ? "left" : "top";
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4861
			sizeProperty = floating ? "width" : "height";
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4862
			base = this.positionAbs[posProperty] + this.offset.click[posProperty];
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4863
			for (j = this.items.length - 1; j >= 0; j--) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4864
				if(!$.contains(this.containers[innermostIndex].element[0], this.items[j].item[0])) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4865
					continue;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4866
				}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4867
				if(this.items[j].item[0] === this.currentItem[0]) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4868
					continue;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4869
				}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4870
				if (floating && !isOverAxis(this.positionAbs.top + this.offset.click.top, this.items[j].top, this.items[j].height)) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4871
					continue;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4872
				}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4873
				cur = this.items[j].item.offset()[posProperty];
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4874
				nearBottom = false;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4875
				if(Math.abs(cur - base) > Math.abs(cur + this.items[j][sizeProperty] - base)){
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4876
					nearBottom = true;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4877
					cur += this.items[j][sizeProperty];
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4878
				}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4879
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4880
				if(Math.abs(cur - base) < dist) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4881
					dist = Math.abs(cur - base); itemWithLeastDistance = this.items[j];
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4882
					this.direction = nearBottom ? "up": "down";
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4883
				}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4884
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4885
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4886
			//Check if dropOnEmpty is enabled
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4887
			if(!itemWithLeastDistance && !this.options.dropOnEmpty) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4888
				return;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4889
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4890
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4891
			if(this.currentContainer === this.containers[innermostIndex]) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4892
				return;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4893
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4894
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4895
			itemWithLeastDistance ? this._rearrange(event, itemWithLeastDistance, null, true) : this._rearrange(event, null, this.containers[innermostIndex].element, true);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4896
			this._trigger("change", event, this._uiHash());
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4897
			this.containers[innermostIndex]._trigger("change", event, this._uiHash(this));
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4898
			this.currentContainer = this.containers[innermostIndex];
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4899
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4900
			//Update the placeholder
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4901
			this.options.placeholder.update(this.currentContainer, this.placeholder);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4902
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4903
			this.containers[innermostIndex]._trigger("over", event, this._uiHash(this));
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4904
			this.containers[innermostIndex].containerCache.over = 1;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4905
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4906
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4907
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4908
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4909
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4910
	_createHelper: function(event) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4911
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4912
		var o = this.options,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4913
			helper = $.isFunction(o.helper) ? $(o.helper.apply(this.element[0], [event, this.currentItem])) : (o.helper === "clone" ? this.currentItem.clone() : this.currentItem);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4914
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4915
		//Add the helper to the DOM if that didn't happen already
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4916
		if(!helper.parents("body").length) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4917
			$(o.appendTo !== "parent" ? o.appendTo : this.currentItem[0].parentNode)[0].appendChild(helper[0]);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4918
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4919
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4920
		if(helper[0] === this.currentItem[0]) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4921
			this._storedCSS = { width: this.currentItem[0].style.width, height: this.currentItem[0].style.height, position: this.currentItem.css("position"), top: this.currentItem.css("top"), left: this.currentItem.css("left") };
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4922
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4923
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4924
		if(!helper[0].style.width || o.forceHelperSize) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4925
			helper.width(this.currentItem.width());
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4926
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4927
		if(!helper[0].style.height || o.forceHelperSize) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4928
			helper.height(this.currentItem.height());
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4929
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4930
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4931
		return helper;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4932
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4933
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4934
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4935
	_adjustOffsetFromHelper: function(obj) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4936
		if (typeof obj === "string") {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4937
			obj = obj.split(" ");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4938
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4939
		if ($.isArray(obj)) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4940
			obj = {left: +obj[0], top: +obj[1] || 0};
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4941
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4942
		if ("left" in obj) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4943
			this.offset.click.left = obj.left + this.margins.left;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4944
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4945
		if ("right" in obj) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4946
			this.offset.click.left = this.helperProportions.width - obj.right + this.margins.left;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4947
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4948
		if ("top" in obj) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4949
			this.offset.click.top = obj.top + this.margins.top;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4950
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4951
		if ("bottom" in obj) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4952
			this.offset.click.top = this.helperProportions.height - obj.bottom + this.margins.top;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4953
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4954
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4955
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4956
	_getParentOffset: function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4957
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4958
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4959
		//Get the offsetParent and cache its position
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4960
		this.offsetParent = this.helper.offsetParent();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4961
		var po = this.offsetParent.offset();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4962
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4963
		// This is a special case where we need to modify a offset calculated on start, since the following happened:
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4964
		// 1. The position of the helper is absolute, so it's position is calculated based on the next positioned parent
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4965
		// 2. The actual offset parent is a child of the scroll parent, and the scroll parent isn't the document, which means that
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4966
		//    the scroll is included in the initial calculation of the offset of the parent, and never recalculated upon drag
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4967
		if(this.cssPosition === "absolute" && this.scrollParent[0] !== document && $.contains(this.scrollParent[0], this.offsetParent[0])) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4968
			po.left += this.scrollParent.scrollLeft();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4969
			po.top += this.scrollParent.scrollTop();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4970
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4971
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4972
		// This needs to be actually done for all browsers, since pageX/pageY includes this information
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4973
		// with an ugly IE fix
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4974
		if( this.offsetParent[0] === document.body || (this.offsetParent[0].tagName && this.offsetParent[0].tagName.toLowerCase() === "html" && $.ui.ie)) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4975
			po = { top: 0, left: 0 };
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4976
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4977
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4978
		return {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4979
			top: po.top + (parseInt(this.offsetParent.css("borderTopWidth"),10) || 0),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4980
			left: po.left + (parseInt(this.offsetParent.css("borderLeftWidth"),10) || 0)
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4981
		};
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4982
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4983
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4984
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4985
	_getRelativeOffset: function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4986
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4987
		if(this.cssPosition === "relative") {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4988
			var p = this.currentItem.position();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4989
			return {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4990
				top: p.top - (parseInt(this.helper.css("top"),10) || 0) + this.scrollParent.scrollTop(),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4991
				left: p.left - (parseInt(this.helper.css("left"),10) || 0) + this.scrollParent.scrollLeft()
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4992
			};
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4993
		} else {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4994
			return { top: 0, left: 0 };
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4995
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4996
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4997
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4998
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  4999
	_cacheMargins: function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5000
		this.margins = {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5001
			left: (parseInt(this.currentItem.css("marginLeft"),10) || 0),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5002
			top: (parseInt(this.currentItem.css("marginTop"),10) || 0)
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5003
		};
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5004
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5005
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5006
	_cacheHelperProportions: function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5007
		this.helperProportions = {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5008
			width: this.helper.outerWidth(),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5009
			height: this.helper.outerHeight()
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5010
		};
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5011
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5012
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5013
	_setContainment: function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5014
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5015
		var ce, co, over,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5016
			o = this.options;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5017
		if(o.containment === "parent") {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5018
			o.containment = this.helper[0].parentNode;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5019
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5020
		if(o.containment === "document" || o.containment === "window") {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5021
			this.containment = [
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5022
				0 - this.offset.relative.left - this.offset.parent.left,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5023
				0 - this.offset.relative.top - this.offset.parent.top,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5024
				$(o.containment === "document" ? document : window).width() - this.helperProportions.width - this.margins.left,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5025
				($(o.containment === "document" ? document : window).height() || document.body.parentNode.scrollHeight) - this.helperProportions.height - this.margins.top
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5026
			];
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5027
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5028
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5029
		if(!(/^(document|window|parent)$/).test(o.containment)) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5030
			ce = $(o.containment)[0];
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5031
			co = $(o.containment).offset();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5032
			over = ($(ce).css("overflow") !== "hidden");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5033
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5034
			this.containment = [
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5035
				co.left + (parseInt($(ce).css("borderLeftWidth"),10) || 0) + (parseInt($(ce).css("paddingLeft"),10) || 0) - this.margins.left,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5036
				co.top + (parseInt($(ce).css("borderTopWidth"),10) || 0) + (parseInt($(ce).css("paddingTop"),10) || 0) - this.margins.top,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5037
				co.left+(over ? Math.max(ce.scrollWidth,ce.offsetWidth) : ce.offsetWidth) - (parseInt($(ce).css("borderLeftWidth"),10) || 0) - (parseInt($(ce).css("paddingRight"),10) || 0) - this.helperProportions.width - this.margins.left,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5038
				co.top+(over ? Math.max(ce.scrollHeight,ce.offsetHeight) : ce.offsetHeight) - (parseInt($(ce).css("borderTopWidth"),10) || 0) - (parseInt($(ce).css("paddingBottom"),10) || 0) - this.helperProportions.height - this.margins.top
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5039
			];
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5040
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5041
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5042
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5043
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5044
	_convertPositionTo: function(d, pos) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5045
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5046
		if(!pos) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5047
			pos = this.position;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5048
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5049
		var mod = d === "absolute" ? 1 : -1,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5050
			scroll = this.cssPosition === "absolute" && !(this.scrollParent[0] !== document && $.contains(this.scrollParent[0], this.offsetParent[0])) ? this.offsetParent : this.scrollParent,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5051
			scrollIsRootNode = (/(html|body)/i).test(scroll[0].tagName);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5052
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5053
		return {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5054
			top: (
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5055
				pos.top	+																// The absolute mouse position
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5056
				this.offset.relative.top * mod +										// Only for relative positioned nodes: Relative offset from element to offset parent
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5057
				this.offset.parent.top * mod -											// The offsetParent's offset without borders (offset + border)
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5058
				( ( this.cssPosition === "fixed" ? -this.scrollParent.scrollTop() : ( scrollIsRootNode ? 0 : scroll.scrollTop() ) ) * mod)
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5059
			),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5060
			left: (
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5061
				pos.left +																// The absolute mouse position
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5062
				this.offset.relative.left * mod +										// Only for relative positioned nodes: Relative offset from element to offset parent
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5063
				this.offset.parent.left * mod	-										// The offsetParent's offset without borders (offset + border)
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5064
				( ( this.cssPosition === "fixed" ? -this.scrollParent.scrollLeft() : scrollIsRootNode ? 0 : scroll.scrollLeft() ) * mod)
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5065
			)
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5066
		};
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5067
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5068
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5069
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5070
	_generatePosition: function(event) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5071
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5072
		var top, left,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5073
			o = this.options,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5074
			pageX = event.pageX,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5075
			pageY = event.pageY,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5076
			scroll = this.cssPosition === "absolute" && !(this.scrollParent[0] !== document && $.contains(this.scrollParent[0], this.offsetParent[0])) ? this.offsetParent : this.scrollParent, scrollIsRootNode = (/(html|body)/i).test(scroll[0].tagName);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5077
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5078
		// This is another very weird special case that only happens for relative elements:
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5079
		// 1. If the css position is relative
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5080
		// 2. and the scroll parent is the document or similar to the offset parent
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5081
		// we have to refresh the relative offset during the scroll so there are no jumps
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5082
		if(this.cssPosition === "relative" && !(this.scrollParent[0] !== document && this.scrollParent[0] !== this.offsetParent[0])) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5083
			this.offset.relative = this._getRelativeOffset();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5084
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5085
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5086
		/*
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5087
		 * - Position constraining -
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5088
		 * Constrain the position to a mix of grid, containment.
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5089
		 */
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5090
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5091
		if(this.originalPosition) { //If we are not dragging yet, we won't check for options
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5092
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5093
			if(this.containment) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5094
				if(event.pageX - this.offset.click.left < this.containment[0]) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5095
					pageX = this.containment[0] + this.offset.click.left;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5096
				}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5097
				if(event.pageY - this.offset.click.top < this.containment[1]) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5098
					pageY = this.containment[1] + this.offset.click.top;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5099
				}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5100
				if(event.pageX - this.offset.click.left > this.containment[2]) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5101
					pageX = this.containment[2] + this.offset.click.left;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5102
				}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5103
				if(event.pageY - this.offset.click.top > this.containment[3]) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5104
					pageY = this.containment[3] + this.offset.click.top;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5105
				}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5106
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5107
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5108
			if(o.grid) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5109
				top = this.originalPageY + Math.round((pageY - this.originalPageY) / o.grid[1]) * o.grid[1];
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5110
				pageY = this.containment ? ( (top - this.offset.click.top >= this.containment[1] && top - this.offset.click.top <= this.containment[3]) ? top : ((top - this.offset.click.top >= this.containment[1]) ? top - o.grid[1] : top + o.grid[1])) : top;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5111
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5112
				left = this.originalPageX + Math.round((pageX - this.originalPageX) / o.grid[0]) * o.grid[0];
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5113
				pageX = this.containment ? ( (left - this.offset.click.left >= this.containment[0] && left - this.offset.click.left <= this.containment[2]) ? left : ((left - this.offset.click.left >= this.containment[0]) ? left - o.grid[0] : left + o.grid[0])) : left;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5114
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5115
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5116
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5117
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5118
		return {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5119
			top: (
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5120
				pageY -																// The absolute mouse position
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5121
				this.offset.click.top -													// Click offset (relative to the element)
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5122
				this.offset.relative.top	-											// Only for relative positioned nodes: Relative offset from element to offset parent
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5123
				this.offset.parent.top +												// The offsetParent's offset without borders (offset + border)
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5124
				( ( this.cssPosition === "fixed" ? -this.scrollParent.scrollTop() : ( scrollIsRootNode ? 0 : scroll.scrollTop() ) ))
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5125
			),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5126
			left: (
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5127
				pageX -																// The absolute mouse position
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5128
				this.offset.click.left -												// Click offset (relative to the element)
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5129
				this.offset.relative.left	-											// Only for relative positioned nodes: Relative offset from element to offset parent
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5130
				this.offset.parent.left +												// The offsetParent's offset without borders (offset + border)
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5131
				( ( this.cssPosition === "fixed" ? -this.scrollParent.scrollLeft() : scrollIsRootNode ? 0 : scroll.scrollLeft() ))
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5132
			)
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5133
		};
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5134
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5135
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5136
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5137
	_rearrange: function(event, i, a, hardRefresh) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5138
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5139
		a ? a[0].appendChild(this.placeholder[0]) : i.item[0].parentNode.insertBefore(this.placeholder[0], (this.direction === "down" ? i.item[0] : i.item[0].nextSibling));
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5140
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5141
		//Various things done here to improve the performance:
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5142
		// 1. we create a setTimeout, that calls refreshPositions
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5143
		// 2. on the instance, we have a counter variable, that get's higher after every append
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5144
		// 3. on the local scope, we copy the counter variable, and check in the timeout, if it's still the same
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5145
		// 4. this lets only the last addition to the timeout stack through
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5146
		this.counter = this.counter ? ++this.counter : 1;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5147
		var counter = this.counter;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5148
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5149
		this._delay(function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5150
			if(counter === this.counter) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5151
				this.refreshPositions(!hardRefresh); //Precompute after each DOM insertion, NOT on mousemove
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5152
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5153
		});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5154
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5155
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5156
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5157
	_clear: function(event, noPropagation) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5158
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5159
		this.reverting = false;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5160
		// We delay all events that have to be triggered to after the point where the placeholder has been removed and
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5161
		// everything else normalized again
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5162
		var i,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5163
			delayedTriggers = [];
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5164
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5165
		// We first have to update the dom position of the actual currentItem
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5166
		// Note: don't do it if the current item is already removed (by a user), or it gets reappended (see #4088)
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5167
		if(!this._noFinalSort && this.currentItem.parent().length) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5168
			this.placeholder.before(this.currentItem);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5169
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5170
		this._noFinalSort = null;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5171
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5172
		if(this.helper[0] === this.currentItem[0]) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5173
			for(i in this._storedCSS) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5174
				if(this._storedCSS[i] === "auto" || this._storedCSS[i] === "static") {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5175
					this._storedCSS[i] = "";
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5176
				}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5177
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5178
			this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5179
		} else {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5180
			this.currentItem.show();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5181
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5182
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5183
		if(this.fromOutside && !noPropagation) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5184
			delayedTriggers.push(function(event) { this._trigger("receive", event, this._uiHash(this.fromOutside)); });
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5185
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5186
		if((this.fromOutside || this.domPosition.prev !== this.currentItem.prev().not(".ui-sortable-helper")[0] || this.domPosition.parent !== this.currentItem.parent()[0]) && !noPropagation) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5187
			delayedTriggers.push(function(event) { this._trigger("update", event, this._uiHash()); }); //Trigger update callback if the DOM position has changed
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5188
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5189
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5190
		// Check if the items Container has Changed and trigger appropriate
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5191
		// events.
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5192
		if (this !== this.currentContainer) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5193
			if(!noPropagation) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5194
				delayedTriggers.push(function(event) { this._trigger("remove", event, this._uiHash()); });
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5195
				delayedTriggers.push((function(c) { return function(event) { c._trigger("receive", event, this._uiHash(this)); };  }).call(this, this.currentContainer));
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5196
				delayedTriggers.push((function(c) { return function(event) { c._trigger("update", event, this._uiHash(this));  }; }).call(this, this.currentContainer));
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5197
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5198
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5199
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5200
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5201
		//Post events to containers
262
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  5202
		function delayEvent( type, instance, container ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  5203
			return function( event ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  5204
				container._trigger( type, event, instance._uiHash( instance ) );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  5205
			};
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  5206
		}
211
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5207
		for (i = this.containers.length - 1; i >= 0; i--){
262
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  5208
			if (!noPropagation) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  5209
				delayedTriggers.push( delayEvent( "deactivate", this, this.containers[ i ] ) );
211
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5210
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5211
			if(this.containers[i].containerCache.over) {
262
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  5212
				delayedTriggers.push( delayEvent( "out", this, this.containers[ i ] ) );
211
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5213
				this.containers[i].containerCache.over = 0;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5214
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5215
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5216
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5217
		//Do what was originally in plugins
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5218
		if ( this.storedCursor ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5219
			this.document.find( "body" ).css( "cursor", this.storedCursor );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5220
			this.storedStylesheet.remove();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5221
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5222
		if(this._storedOpacity) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5223
			this.helper.css("opacity", this._storedOpacity);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5224
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5225
		if(this._storedZIndex) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5226
			this.helper.css("zIndex", this._storedZIndex === "auto" ? "" : this._storedZIndex);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5227
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5228
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5229
		this.dragging = false;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5230
		if(this.cancelHelperRemoval) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5231
			if(!noPropagation) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5232
				this._trigger("beforeStop", event, this._uiHash());
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5233
				for (i=0; i < delayedTriggers.length; i++) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5234
					delayedTriggers[i].call(this, event);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5235
				} //Trigger all delayed events
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5236
				this._trigger("stop", event, this._uiHash());
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5237
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5238
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5239
			this.fromOutside = false;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5240
			return false;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5241
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5242
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5243
		if(!noPropagation) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5244
			this._trigger("beforeStop", event, this._uiHash());
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5245
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5246
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5247
		//$(this.placeholder[0]).remove(); would have been the jQuery way - unfortunately, it unbinds ALL events from the original node!
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5248
		this.placeholder[0].parentNode.removeChild(this.placeholder[0]);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5249
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5250
		if(this.helper[0] !== this.currentItem[0]) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5251
			this.helper.remove();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5252
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5253
		this.helper = null;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5254
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5255
		if(!noPropagation) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5256
			for (i=0; i < delayedTriggers.length; i++) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5257
				delayedTriggers[i].call(this, event);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5258
			} //Trigger all delayed events
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5259
			this._trigger("stop", event, this._uiHash());
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5260
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5261
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5262
		this.fromOutside = false;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5263
		return true;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5264
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5265
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5266
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5267
	_trigger: function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5268
		if ($.Widget.prototype._trigger.apply(this, arguments) === false) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5269
			this.cancel();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5270
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5271
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5272
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5273
	_uiHash: function(_inst) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5274
		var inst = _inst || this;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5275
		return {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5276
			helper: inst.helper,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5277
			placeholder: inst.placeholder || $([]),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5278
			position: inst.position,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5279
			originalPosition: inst.originalPosition,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5280
			offset: inst.positionAbs,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5281
			item: inst.currentItem,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5282
			sender: _inst ? _inst.element : null
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5283
		};
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5284
	}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5285
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5286
});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5287
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5288
})(jQuery);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5289
(function( $, undefined ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5290
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5291
var uid = 0,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5292
	hideProps = {},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5293
	showProps = {};
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5294
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5295
hideProps.height = hideProps.paddingTop = hideProps.paddingBottom =
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5296
	hideProps.borderTopWidth = hideProps.borderBottomWidth = "hide";
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5297
showProps.height = showProps.paddingTop = showProps.paddingBottom =
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5298
	showProps.borderTopWidth = showProps.borderBottomWidth = "show";
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5299
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5300
$.widget( "ui.accordion", {
262
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  5301
	version: "1.10.4",
211
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5302
	options: {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5303
		active: 0,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5304
		animate: {},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5305
		collapsible: false,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5306
		event: "click",
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5307
		header: "> li > :first-child,> :not(li):even",
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5308
		heightStyle: "auto",
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5309
		icons: {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5310
			activeHeader: "ui-icon-triangle-1-s",
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5311
			header: "ui-icon-triangle-1-e"
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5312
		},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5313
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5314
		// callbacks
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5315
		activate: null,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5316
		beforeActivate: null
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5317
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5318
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5319
	_create: function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5320
		var options = this.options;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5321
		this.prevShow = this.prevHide = $();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5322
		this.element.addClass( "ui-accordion ui-widget ui-helper-reset" )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5323
			// ARIA
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5324
			.attr( "role", "tablist" );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5325
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5326
		// don't allow collapsible: false and active: false / null
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5327
		if ( !options.collapsible && (options.active === false || options.active == null) ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5328
			options.active = 0;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5329
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5330
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5331
		this._processPanels();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5332
		// handle negative values
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5333
		if ( options.active < 0 ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5334
			options.active += this.headers.length;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5335
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5336
		this._refresh();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5337
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5338
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5339
	_getCreateEventData: function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5340
		return {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5341
			header: this.active,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5342
			panel: !this.active.length ? $() : this.active.next(),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5343
			content: !this.active.length ? $() : this.active.next()
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5344
		};
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5345
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5346
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5347
	_createIcons: function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5348
		var icons = this.options.icons;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5349
		if ( icons ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5350
			$( "<span>" )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5351
				.addClass( "ui-accordion-header-icon ui-icon " + icons.header )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5352
				.prependTo( this.headers );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5353
			this.active.children( ".ui-accordion-header-icon" )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5354
				.removeClass( icons.header )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5355
				.addClass( icons.activeHeader );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5356
			this.headers.addClass( "ui-accordion-icons" );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5357
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5358
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5359
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5360
	_destroyIcons: function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5361
		this.headers
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5362
			.removeClass( "ui-accordion-icons" )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5363
			.children( ".ui-accordion-header-icon" )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5364
				.remove();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5365
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5366
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5367
	_destroy: function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5368
		var contents;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5369
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5370
		// clean up main element
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5371
		this.element
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5372
			.removeClass( "ui-accordion ui-widget ui-helper-reset" )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5373
			.removeAttr( "role" );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5374
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5375
		// clean up headers
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5376
		this.headers
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5377
			.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" )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5378
			.removeAttr( "role" )
262
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  5379
			.removeAttr( "aria-expanded" )
211
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5380
			.removeAttr( "aria-selected" )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5381
			.removeAttr( "aria-controls" )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5382
			.removeAttr( "tabIndex" )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5383
			.each(function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5384
				if ( /^ui-accordion/.test( this.id ) ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5385
					this.removeAttribute( "id" );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5386
				}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5387
			});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5388
		this._destroyIcons();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5389
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5390
		// clean up content panels
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5391
		contents = this.headers.next()
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5392
			.css( "display", "" )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5393
			.removeAttr( "role" )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5394
			.removeAttr( "aria-hidden" )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5395
			.removeAttr( "aria-labelledby" )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5396
			.removeClass( "ui-helper-reset ui-widget-content ui-corner-bottom ui-accordion-content ui-accordion-content-active ui-state-disabled" )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5397
			.each(function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5398
				if ( /^ui-accordion/.test( this.id ) ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5399
					this.removeAttribute( "id" );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5400
				}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5401
			});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5402
		if ( this.options.heightStyle !== "content" ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5403
			contents.css( "height", "" );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5404
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5405
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5406
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5407
	_setOption: function( key, value ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5408
		if ( key === "active" ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5409
			// _activate() will handle invalid values and update this.options
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5410
			this._activate( value );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5411
			return;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5412
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5413
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5414
		if ( key === "event" ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5415
			if ( this.options.event ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5416
				this._off( this.headers, this.options.event );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5417
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5418
			this._setupEvents( value );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5419
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5420
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5421
		this._super( key, value );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5422
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5423
		// setting collapsible: false while collapsed; open first panel
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5424
		if ( key === "collapsible" && !value && this.options.active === false ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5425
			this._activate( 0 );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5426
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5427
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5428
		if ( key === "icons" ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5429
			this._destroyIcons();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5430
			if ( value ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5431
				this._createIcons();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5432
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5433
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5434
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5435
		// #5332 - opacity doesn't cascade to positioned elements in IE
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5436
		// so we need to add the disabled class to the headers and panels
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5437
		if ( key === "disabled" ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5438
			this.headers.add( this.headers.next() )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5439
				.toggleClass( "ui-state-disabled", !!value );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5440
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5441
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5442
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5443
	_keydown: function( event ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5444
		if ( event.altKey || event.ctrlKey ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5445
			return;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5446
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5447
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5448
		var keyCode = $.ui.keyCode,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5449
			length = this.headers.length,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5450
			currentIndex = this.headers.index( event.target ),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5451
			toFocus = false;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5452
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5453
		switch ( event.keyCode ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5454
			case keyCode.RIGHT:
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5455
			case keyCode.DOWN:
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5456
				toFocus = this.headers[ ( currentIndex + 1 ) % length ];
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5457
				break;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5458
			case keyCode.LEFT:
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5459
			case keyCode.UP:
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5460
				toFocus = this.headers[ ( currentIndex - 1 + length ) % length ];
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5461
				break;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5462
			case keyCode.SPACE:
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5463
			case keyCode.ENTER:
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5464
				this._eventHandler( event );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5465
				break;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5466
			case keyCode.HOME:
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5467
				toFocus = this.headers[ 0 ];
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5468
				break;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5469
			case keyCode.END:
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5470
				toFocus = this.headers[ length - 1 ];
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5471
				break;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5472
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5473
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5474
		if ( toFocus ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5475
			$( event.target ).attr( "tabIndex", -1 );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5476
			$( toFocus ).attr( "tabIndex", 0 );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5477
			toFocus.focus();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5478
			event.preventDefault();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5479
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5480
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5481
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5482
	_panelKeyDown : function( event ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5483
		if ( event.keyCode === $.ui.keyCode.UP && event.ctrlKey ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5484
			$( event.currentTarget ).prev().focus();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5485
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5486
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5487
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5488
	refresh: function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5489
		var options = this.options;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5490
		this._processPanels();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5491
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5492
		// was collapsed or no panel
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5493
		if ( ( options.active === false && options.collapsible === true ) || !this.headers.length ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5494
			options.active = false;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5495
			this.active = $();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5496
		// active false only when collapsible is true
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5497
		} else if ( options.active === false ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5498
			this._activate( 0 );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5499
		// was active, but active panel is gone
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5500
		} else if ( this.active.length && !$.contains( this.element[ 0 ], this.active[ 0 ] ) ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5501
			// all remaining panel are disabled
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5502
			if ( this.headers.length === this.headers.find(".ui-state-disabled").length ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5503
				options.active = false;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5504
				this.active = $();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5505
			// activate previous panel
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5506
			} else {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5507
				this._activate( Math.max( 0, options.active - 1 ) );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5508
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5509
		// was active, active panel still exists
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5510
		} else {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5511
			// make sure active index is correct
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5512
			options.active = this.headers.index( this.active );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5513
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5514
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5515
		this._destroyIcons();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5516
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5517
		this._refresh();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5518
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5519
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5520
	_processPanels: function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5521
		this.headers = this.element.find( this.options.header )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5522
			.addClass( "ui-accordion-header ui-helper-reset ui-state-default ui-corner-all" );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5523
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5524
		this.headers.next()
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5525
			.addClass( "ui-accordion-content ui-helper-reset ui-widget-content ui-corner-bottom" )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5526
			.filter(":not(.ui-accordion-content-active)")
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5527
			.hide();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5528
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5529
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5530
	_refresh: function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5531
		var maxHeight,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5532
			options = this.options,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5533
			heightStyle = options.heightStyle,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5534
			parent = this.element.parent(),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5535
			accordionId = this.accordionId = "ui-accordion-" +
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5536
				(this.element.attr( "id" ) || ++uid);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5537
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5538
		this.active = this._findActive( options.active )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5539
			.addClass( "ui-accordion-header-active ui-state-active ui-corner-top" )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5540
			.removeClass( "ui-corner-all" );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5541
		this.active.next()
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5542
			.addClass( "ui-accordion-content-active" )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5543
			.show();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5544
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5545
		this.headers
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5546
			.attr( "role", "tab" )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5547
			.each(function( i ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5548
				var header = $( this ),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5549
					headerId = header.attr( "id" ),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5550
					panel = header.next(),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5551
					panelId = panel.attr( "id" );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5552
				if ( !headerId ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5553
					headerId = accordionId + "-header-" + i;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5554
					header.attr( "id", headerId );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5555
				}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5556
				if ( !panelId ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5557
					panelId = accordionId + "-panel-" + i;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5558
					panel.attr( "id", panelId );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5559
				}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5560
				header.attr( "aria-controls", panelId );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5561
				panel.attr( "aria-labelledby", headerId );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5562
			})
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5563
			.next()
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5564
				.attr( "role", "tabpanel" );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5565
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5566
		this.headers
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5567
			.not( this.active )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5568
			.attr({
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5569
				"aria-selected": "false",
262
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  5570
				"aria-expanded": "false",
211
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5571
				tabIndex: -1
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5572
			})
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5573
			.next()
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5574
				.attr({
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5575
					"aria-hidden": "true"
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5576
				})
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5577
				.hide();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5578
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5579
		// make sure at least one header is in the tab order
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5580
		if ( !this.active.length ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5581
			this.headers.eq( 0 ).attr( "tabIndex", 0 );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5582
		} else {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5583
			this.active.attr({
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5584
				"aria-selected": "true",
262
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  5585
				"aria-expanded": "true",
211
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5586
				tabIndex: 0
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5587
			})
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5588
			.next()
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5589
				.attr({
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5590
					"aria-hidden": "false"
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5591
				});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5592
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5593
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5594
		this._createIcons();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5595
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5596
		this._setupEvents( options.event );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5597
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5598
		if ( heightStyle === "fill" ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5599
			maxHeight = parent.height();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5600
			this.element.siblings( ":visible" ).each(function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5601
				var elem = $( this ),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5602
					position = elem.css( "position" );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5603
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5604
				if ( position === "absolute" || position === "fixed" ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5605
					return;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5606
				}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5607
				maxHeight -= elem.outerHeight( true );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5608
			});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5609
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5610
			this.headers.each(function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5611
				maxHeight -= $( this ).outerHeight( true );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5612
			});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5613
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5614
			this.headers.next()
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5615
				.each(function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5616
					$( this ).height( Math.max( 0, maxHeight -
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5617
						$( this ).innerHeight() + $( this ).height() ) );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5618
				})
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5619
				.css( "overflow", "auto" );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5620
		} else if ( heightStyle === "auto" ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5621
			maxHeight = 0;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5622
			this.headers.next()
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5623
				.each(function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5624
					maxHeight = Math.max( maxHeight, $( this ).css( "height", "" ).height() );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5625
				})
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5626
				.height( maxHeight );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5627
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5628
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5629
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5630
	_activate: function( index ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5631
		var active = this._findActive( index )[ 0 ];
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5632
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5633
		// trying to activate the already active panel
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5634
		if ( active === this.active[ 0 ] ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5635
			return;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5636
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5637
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5638
		// trying to collapse, simulate a click on the currently active header
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5639
		active = active || this.active[ 0 ];
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5640
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5641
		this._eventHandler({
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5642
			target: active,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5643
			currentTarget: active,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5644
			preventDefault: $.noop
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5645
		});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5646
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5647
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5648
	_findActive: function( selector ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5649
		return typeof selector === "number" ? this.headers.eq( selector ) : $();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5650
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5651
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5652
	_setupEvents: function( event ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5653
		var events = {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5654
			keydown: "_keydown"
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5655
		};
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5656
		if ( event ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5657
			$.each( event.split(" "), function( index, eventName ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5658
				events[ eventName ] = "_eventHandler";
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5659
			});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5660
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5661
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5662
		this._off( this.headers.add( this.headers.next() ) );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5663
		this._on( this.headers, events );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5664
		this._on( this.headers.next(), { keydown: "_panelKeyDown" });
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5665
		this._hoverable( this.headers );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5666
		this._focusable( this.headers );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5667
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5668
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5669
	_eventHandler: function( event ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5670
		var options = this.options,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5671
			active = this.active,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5672
			clicked = $( event.currentTarget ),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5673
			clickedIsActive = clicked[ 0 ] === active[ 0 ],
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5674
			collapsing = clickedIsActive && options.collapsible,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5675
			toShow = collapsing ? $() : clicked.next(),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5676
			toHide = active.next(),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5677
			eventData = {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5678
				oldHeader: active,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5679
				oldPanel: toHide,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5680
				newHeader: collapsing ? $() : clicked,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5681
				newPanel: toShow
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5682
			};
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5683
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5684
		event.preventDefault();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5685
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5686
		if (
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5687
				// click on active header, but not collapsible
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5688
				( clickedIsActive && !options.collapsible ) ||
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5689
				// allow canceling activation
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5690
				( this._trigger( "beforeActivate", event, eventData ) === false ) ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5691
			return;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5692
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5693
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5694
		options.active = collapsing ? false : this.headers.index( clicked );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5695
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5696
		// when the call to ._toggle() comes after the class changes
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5697
		// it causes a very odd bug in IE 8 (see #6720)
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5698
		this.active = clickedIsActive ? $() : clicked;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5699
		this._toggle( eventData );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5700
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5701
		// switch classes
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5702
		// corner classes on the previously active header stay after the animation
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5703
		active.removeClass( "ui-accordion-header-active ui-state-active" );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5704
		if ( options.icons ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5705
			active.children( ".ui-accordion-header-icon" )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5706
				.removeClass( options.icons.activeHeader )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5707
				.addClass( options.icons.header );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5708
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5709
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5710
		if ( !clickedIsActive ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5711
			clicked
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5712
				.removeClass( "ui-corner-all" )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5713
				.addClass( "ui-accordion-header-active ui-state-active ui-corner-top" );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5714
			if ( options.icons ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5715
				clicked.children( ".ui-accordion-header-icon" )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5716
					.removeClass( options.icons.header )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5717
					.addClass( options.icons.activeHeader );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5718
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5719
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5720
			clicked
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5721
				.next()
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5722
				.addClass( "ui-accordion-content-active" );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5723
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5724
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5725
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5726
	_toggle: function( data ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5727
		var toShow = data.newPanel,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5728
			toHide = this.prevShow.length ? this.prevShow : data.oldPanel;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5729
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5730
		// handle activating a panel during the animation for another activation
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5731
		this.prevShow.add( this.prevHide ).stop( true, true );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5732
		this.prevShow = toShow;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5733
		this.prevHide = toHide;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5734
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5735
		if ( this.options.animate ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5736
			this._animate( toShow, toHide, data );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5737
		} else {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5738
			toHide.hide();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5739
			toShow.show();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5740
			this._toggleComplete( data );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5741
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5742
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5743
		toHide.attr({
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5744
			"aria-hidden": "true"
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5745
		});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5746
		toHide.prev().attr( "aria-selected", "false" );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5747
		// if we're switching panels, remove the old header from the tab order
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5748
		// if we're opening from collapsed state, remove the previous header from the tab order
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5749
		// if we're collapsing, then keep the collapsing header in the tab order
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5750
		if ( toShow.length && toHide.length ) {
262
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  5751
			toHide.prev().attr({
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  5752
				"tabIndex": -1,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  5753
				"aria-expanded": "false"
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  5754
			});
211
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5755
		} else if ( toShow.length ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5756
			this.headers.filter(function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5757
				return $( this ).attr( "tabIndex" ) === 0;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5758
			})
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5759
			.attr( "tabIndex", -1 );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5760
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5761
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5762
		toShow
262
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  5763
			.attr( "aria-hidden", "false" )
211
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5764
			.prev()
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5765
				.attr({
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5766
					"aria-selected": "true",
262
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  5767
					tabIndex: 0,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  5768
					"aria-expanded": "true"
211
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5769
				});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5770
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5771
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5772
	_animate: function( toShow, toHide, data ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5773
		var total, easing, duration,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5774
			that = this,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5775
			adjust = 0,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5776
			down = toShow.length &&
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5777
				( !toHide.length || ( toShow.index() < toHide.index() ) ),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5778
			animate = this.options.animate || {},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5779
			options = down && animate.down || animate,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5780
			complete = function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5781
				that._toggleComplete( data );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5782
			};
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5783
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5784
		if ( typeof options === "number" ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5785
			duration = options;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5786
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5787
		if ( typeof options === "string" ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5788
			easing = options;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5789
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5790
		// fall back from options to animation in case of partial down settings
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5791
		easing = easing || options.easing || animate.easing;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5792
		duration = duration || options.duration || animate.duration;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5793
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5794
		if ( !toHide.length ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5795
			return toShow.animate( showProps, duration, easing, complete );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5796
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5797
		if ( !toShow.length ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5798
			return toHide.animate( hideProps, duration, easing, complete );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5799
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5800
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5801
		total = toShow.show().outerHeight();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5802
		toHide.animate( hideProps, {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5803
			duration: duration,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5804
			easing: easing,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5805
			step: function( now, fx ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5806
				fx.now = Math.round( now );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5807
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5808
		});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5809
		toShow
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5810
			.hide()
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5811
			.animate( showProps, {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5812
				duration: duration,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5813
				easing: easing,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5814
				complete: complete,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5815
				step: function( now, fx ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5816
					fx.now = Math.round( now );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5817
					if ( fx.prop !== "height" ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5818
						adjust += fx.now;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5819
					} else if ( that.options.heightStyle !== "content" ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5820
						fx.now = Math.round( total - toHide.outerHeight() - adjust );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5821
						adjust = 0;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5822
					}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5823
				}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5824
			});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5825
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5826
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5827
	_toggleComplete: function( data ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5828
		var toHide = data.oldPanel;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5829
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5830
		toHide
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5831
			.removeClass( "ui-accordion-content-active" )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5832
			.prev()
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5833
				.removeClass( "ui-corner-top" )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5834
				.addClass( "ui-corner-all" );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5835
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5836
		// Work around for rendering bug in IE (#5421)
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5837
		if ( toHide.length ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5838
			toHide.parent()[0].className = toHide.parent()[0].className;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5839
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5840
		this._trigger( "activate", null, data );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5841
	}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5842
});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5843
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5844
})( jQuery );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5845
(function( $, undefined ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5846
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5847
$.widget( "ui.autocomplete", {
262
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  5848
	version: "1.10.4",
211
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5849
	defaultElement: "<input>",
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5850
	options: {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5851
		appendTo: null,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5852
		autoFocus: false,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5853
		delay: 300,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5854
		minLength: 1,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5855
		position: {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5856
			my: "left top",
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5857
			at: "left bottom",
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5858
			collision: "none"
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5859
		},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5860
		source: null,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5861
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5862
		// callbacks
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5863
		change: null,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5864
		close: null,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5865
		focus: null,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5866
		open: null,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5867
		response: null,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5868
		search: null,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5869
		select: null
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5870
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5871
262
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  5872
	requestIndex: 0,
211
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5873
	pending: 0,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5874
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5875
	_create: function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5876
		// Some browsers only repeat keydown events, not keypress events,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5877
		// so we use the suppressKeyPress flag to determine if we've already
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5878
		// handled the keydown event. #7269
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5879
		// Unfortunately the code for & in keypress is the same as the up arrow,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5880
		// so we use the suppressKeyPressRepeat flag to avoid handling keypress
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5881
		// events when we know the keydown event was used to modify the
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5882
		// search term. #7799
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5883
		var suppressKeyPress, suppressKeyPressRepeat, suppressInput,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5884
			nodeName = this.element[0].nodeName.toLowerCase(),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5885
			isTextarea = nodeName === "textarea",
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5886
			isInput = nodeName === "input";
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5887
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5888
		this.isMultiLine =
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5889
			// Textareas are always multi-line
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5890
			isTextarea ? true :
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5891
			// Inputs are always single-line, even if inside a contentEditable element
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5892
			// IE also treats inputs as contentEditable
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5893
			isInput ? false :
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5894
			// All other element types are determined by whether or not they're contentEditable
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5895
			this.element.prop( "isContentEditable" );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5896
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5897
		this.valueMethod = this.element[ isTextarea || isInput ? "val" : "text" ];
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5898
		this.isNewMenu = true;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5899
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5900
		this.element
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5901
			.addClass( "ui-autocomplete-input" )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5902
			.attr( "autocomplete", "off" );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5903
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5904
		this._on( this.element, {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5905
			keydown: function( event ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5906
				if ( this.element.prop( "readOnly" ) ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5907
					suppressKeyPress = true;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5908
					suppressInput = true;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5909
					suppressKeyPressRepeat = true;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5910
					return;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5911
				}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5912
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5913
				suppressKeyPress = false;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5914
				suppressInput = false;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5915
				suppressKeyPressRepeat = false;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5916
				var keyCode = $.ui.keyCode;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5917
				switch( event.keyCode ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5918
				case keyCode.PAGE_UP:
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5919
					suppressKeyPress = true;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5920
					this._move( "previousPage", event );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5921
					break;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5922
				case keyCode.PAGE_DOWN:
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5923
					suppressKeyPress = true;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5924
					this._move( "nextPage", event );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5925
					break;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5926
				case keyCode.UP:
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5927
					suppressKeyPress = true;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5928
					this._keyEvent( "previous", event );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5929
					break;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5930
				case keyCode.DOWN:
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5931
					suppressKeyPress = true;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5932
					this._keyEvent( "next", event );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5933
					break;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5934
				case keyCode.ENTER:
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5935
				case keyCode.NUMPAD_ENTER:
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5936
					// when menu is open and has focus
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5937
					if ( this.menu.active ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5938
						// #6055 - Opera still allows the keypress to occur
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5939
						// which causes forms to submit
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5940
						suppressKeyPress = true;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5941
						event.preventDefault();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5942
						this.menu.select( event );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5943
					}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5944
					break;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5945
				case keyCode.TAB:
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5946
					if ( this.menu.active ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5947
						this.menu.select( event );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5948
					}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5949
					break;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5950
				case keyCode.ESCAPE:
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5951
					if ( this.menu.element.is( ":visible" ) ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5952
						this._value( this.term );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5953
						this.close( event );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5954
						// Different browsers have different default behavior for escape
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5955
						// Single press can mean undo or clear
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5956
						// Double press in IE means clear the whole form
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5957
						event.preventDefault();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5958
					}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5959
					break;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5960
				default:
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5961
					suppressKeyPressRepeat = true;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5962
					// search timeout should be triggered before the input value is changed
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5963
					this._searchTimeout( event );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5964
					break;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5965
				}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5966
			},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5967
			keypress: function( event ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5968
				if ( suppressKeyPress ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5969
					suppressKeyPress = false;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5970
					if ( !this.isMultiLine || this.menu.element.is( ":visible" ) ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5971
						event.preventDefault();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5972
					}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5973
					return;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5974
				}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5975
				if ( suppressKeyPressRepeat ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5976
					return;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5977
				}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5978
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5979
				// replicate some key handlers to allow them to repeat in Firefox and Opera
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5980
				var keyCode = $.ui.keyCode;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5981
				switch( event.keyCode ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5982
				case keyCode.PAGE_UP:
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5983
					this._move( "previousPage", event );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5984
					break;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5985
				case keyCode.PAGE_DOWN:
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5986
					this._move( "nextPage", event );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5987
					break;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5988
				case keyCode.UP:
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5989
					this._keyEvent( "previous", event );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5990
					break;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5991
				case keyCode.DOWN:
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5992
					this._keyEvent( "next", event );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5993
					break;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5994
				}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5995
			},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5996
			input: function( event ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5997
				if ( suppressInput ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5998
					suppressInput = false;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  5999
					event.preventDefault();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6000
					return;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6001
				}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6002
				this._searchTimeout( event );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6003
			},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6004
			focus: function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6005
				this.selectedItem = null;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6006
				this.previous = this._value();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6007
			},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6008
			blur: function( event ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6009
				if ( this.cancelBlur ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6010
					delete this.cancelBlur;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6011
					return;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6012
				}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6013
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6014
				clearTimeout( this.searching );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6015
				this.close( event );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6016
				this._change( event );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6017
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6018
		});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6019
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6020
		this._initSource();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6021
		this.menu = $( "<ul>" )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6022
			.addClass( "ui-autocomplete ui-front" )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6023
			.appendTo( this._appendTo() )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6024
			.menu({
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6025
				// disable ARIA support, the live region takes care of that
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6026
				role: null
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6027
			})
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6028
			.hide()
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6029
			.data( "ui-menu" );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6030
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6031
		this._on( this.menu.element, {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6032
			mousedown: function( event ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6033
				// prevent moving focus out of the text field
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6034
				event.preventDefault();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6035
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6036
				// IE doesn't prevent moving focus even with event.preventDefault()
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6037
				// so we set a flag to know when we should ignore the blur event
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6038
				this.cancelBlur = true;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6039
				this._delay(function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6040
					delete this.cancelBlur;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6041
				});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6042
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6043
				// clicking on the scrollbar causes focus to shift to the body
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6044
				// but we can't detect a mouseup or a click immediately afterward
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6045
				// so we have to track the next mousedown and close the menu if
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6046
				// the user clicks somewhere outside of the autocomplete
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6047
				var menuElement = this.menu.element[ 0 ];
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6048
				if ( !$( event.target ).closest( ".ui-menu-item" ).length ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6049
					this._delay(function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6050
						var that = this;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6051
						this.document.one( "mousedown", function( event ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6052
							if ( event.target !== that.element[ 0 ] &&
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6053
									event.target !== menuElement &&
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6054
									!$.contains( menuElement, event.target ) ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6055
								that.close();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6056
							}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6057
						});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6058
					});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6059
				}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6060
			},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6061
			menufocus: function( event, ui ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6062
				// support: Firefox
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6063
				// Prevent accidental activation of menu items in Firefox (#7024 #9118)
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6064
				if ( this.isNewMenu ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6065
					this.isNewMenu = false;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6066
					if ( event.originalEvent && /^mouse/.test( event.originalEvent.type ) ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6067
						this.menu.blur();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6068
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6069
						this.document.one( "mousemove", function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6070
							$( event.target ).trigger( event.originalEvent );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6071
						});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6072
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6073
						return;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6074
					}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6075
				}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6076
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6077
				var item = ui.item.data( "ui-autocomplete-item" );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6078
				if ( false !== this._trigger( "focus", event, { item: item } ) ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6079
					// use value to match what will end up in the input, if it was a key event
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6080
					if ( event.originalEvent && /^key/.test( event.originalEvent.type ) ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6081
						this._value( item.value );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6082
					}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6083
				} else {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6084
					// Normally the input is populated with the item's value as the
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6085
					// menu is navigated, causing screen readers to notice a change and
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6086
					// announce the item. Since the focus event was canceled, this doesn't
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6087
					// happen, so we update the live region so that screen readers can
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6088
					// still notice the change and announce it.
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6089
					this.liveRegion.text( item.value );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6090
				}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6091
			},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6092
			menuselect: function( event, ui ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6093
				var item = ui.item.data( "ui-autocomplete-item" ),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6094
					previous = this.previous;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6095
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6096
				// only trigger when focus was lost (click on menu)
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6097
				if ( this.element[0] !== this.document[0].activeElement ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6098
					this.element.focus();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6099
					this.previous = previous;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6100
					// #6109 - IE triggers two focus events and the second
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6101
					// is asynchronous, so we need to reset the previous
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6102
					// term synchronously and asynchronously :-(
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6103
					this._delay(function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6104
						this.previous = previous;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6105
						this.selectedItem = item;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6106
					});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6107
				}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6108
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6109
				if ( false !== this._trigger( "select", event, { item: item } ) ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6110
					this._value( item.value );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6111
				}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6112
				// reset the term after the select event
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6113
				// this allows custom select handling to work properly
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6114
				this.term = this._value();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6115
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6116
				this.close( event );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6117
				this.selectedItem = item;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6118
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6119
		});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6120
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6121
		this.liveRegion = $( "<span>", {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6122
				role: "status",
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6123
				"aria-live": "polite"
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6124
			})
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6125
			.addClass( "ui-helper-hidden-accessible" )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6126
			.insertBefore( this.element );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6127
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6128
		// turning off autocomplete prevents the browser from remembering the
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6129
		// value when navigating through history, so we re-enable autocomplete
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6130
		// if the page is unloaded before the widget is destroyed. #7790
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6131
		this._on( this.window, {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6132
			beforeunload: function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6133
				this.element.removeAttr( "autocomplete" );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6134
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6135
		});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6136
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6137
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6138
	_destroy: function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6139
		clearTimeout( this.searching );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6140
		this.element
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6141
			.removeClass( "ui-autocomplete-input" )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6142
			.removeAttr( "autocomplete" );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6143
		this.menu.element.remove();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6144
		this.liveRegion.remove();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6145
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6146
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6147
	_setOption: function( key, value ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6148
		this._super( key, value );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6149
		if ( key === "source" ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6150
			this._initSource();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6151
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6152
		if ( key === "appendTo" ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6153
			this.menu.element.appendTo( this._appendTo() );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6154
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6155
		if ( key === "disabled" && value && this.xhr ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6156
			this.xhr.abort();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6157
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6158
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6159
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6160
	_appendTo: function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6161
		var element = this.options.appendTo;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6162
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6163
		if ( element ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6164
			element = element.jquery || element.nodeType ?
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6165
				$( element ) :
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6166
				this.document.find( element ).eq( 0 );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6167
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6168
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6169
		if ( !element ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6170
			element = this.element.closest( ".ui-front" );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6171
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6172
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6173
		if ( !element.length ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6174
			element = this.document[0].body;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6175
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6176
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6177
		return element;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6178
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6179
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6180
	_initSource: function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6181
		var array, url,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6182
			that = this;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6183
		if ( $.isArray(this.options.source) ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6184
			array = this.options.source;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6185
			this.source = function( request, response ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6186
				response( $.ui.autocomplete.filter( array, request.term ) );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6187
			};
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6188
		} else if ( typeof this.options.source === "string" ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6189
			url = this.options.source;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6190
			this.source = function( request, response ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6191
				if ( that.xhr ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6192
					that.xhr.abort();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6193
				}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6194
				that.xhr = $.ajax({
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6195
					url: url,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6196
					data: request,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6197
					dataType: "json",
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6198
					success: function( data ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6199
						response( data );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6200
					},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6201
					error: function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6202
						response( [] );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6203
					}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6204
				});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6205
			};
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6206
		} else {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6207
			this.source = this.options.source;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6208
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6209
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6210
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6211
	_searchTimeout: function( event ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6212
		clearTimeout( this.searching );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6213
		this.searching = this._delay(function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6214
			// only search if the value has changed
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6215
			if ( this.term !== this._value() ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6216
				this.selectedItem = null;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6217
				this.search( null, event );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6218
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6219
		}, this.options.delay );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6220
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6221
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6222
	search: function( value, event ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6223
		value = value != null ? value : this._value();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6224
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6225
		// always save the actual value, not the one passed as an argument
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6226
		this.term = this._value();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6227
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6228
		if ( value.length < this.options.minLength ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6229
			return this.close( event );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6230
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6231
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6232
		if ( this._trigger( "search", event ) === false ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6233
			return;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6234
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6235
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6236
		return this._search( value );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6237
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6238
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6239
	_search: function( value ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6240
		this.pending++;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6241
		this.element.addClass( "ui-autocomplete-loading" );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6242
		this.cancelSearch = false;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6243
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6244
		this.source( { term: value }, this._response() );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6245
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6246
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6247
	_response: function() {
262
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  6248
		var index = ++this.requestIndex;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  6249
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  6250
		return $.proxy(function( content ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  6251
			if ( index === this.requestIndex ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  6252
				this.__response( content );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  6253
			}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  6254
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  6255
			this.pending--;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  6256
			if ( !this.pending ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  6257
				this.element.removeClass( "ui-autocomplete-loading" );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  6258
			}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  6259
		}, this );
211
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6260
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6261
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6262
	__response: function( content ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6263
		if ( content ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6264
			content = this._normalize( content );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6265
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6266
		this._trigger( "response", null, { content: content } );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6267
		if ( !this.options.disabled && content && content.length && !this.cancelSearch ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6268
			this._suggest( content );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6269
			this._trigger( "open" );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6270
		} else {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6271
			// use ._close() instead of .close() so we don't cancel future searches
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6272
			this._close();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6273
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6274
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6275
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6276
	close: function( event ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6277
		this.cancelSearch = true;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6278
		this._close( event );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6279
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6280
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6281
	_close: function( event ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6282
		if ( this.menu.element.is( ":visible" ) ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6283
			this.menu.element.hide();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6284
			this.menu.blur();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6285
			this.isNewMenu = true;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6286
			this._trigger( "close", event );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6287
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6288
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6289
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6290
	_change: function( event ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6291
		if ( this.previous !== this._value() ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6292
			this._trigger( "change", event, { item: this.selectedItem } );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6293
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6294
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6295
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6296
	_normalize: function( items ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6297
		// assume all items have the right format when the first item is complete
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6298
		if ( items.length && items[0].label && items[0].value ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6299
			return items;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6300
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6301
		return $.map( items, function( item ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6302
			if ( typeof item === "string" ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6303
				return {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6304
					label: item,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6305
					value: item
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6306
				};
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6307
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6308
			return $.extend({
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6309
				label: item.label || item.value,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6310
				value: item.value || item.label
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6311
			}, item );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6312
		});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6313
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6314
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6315
	_suggest: function( items ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6316
		var ul = this.menu.element.empty();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6317
		this._renderMenu( ul, items );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6318
		this.isNewMenu = true;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6319
		this.menu.refresh();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6320
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6321
		// size and position menu
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6322
		ul.show();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6323
		this._resizeMenu();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6324
		ul.position( $.extend({
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6325
			of: this.element
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6326
		}, this.options.position ));
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6327
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6328
		if ( this.options.autoFocus ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6329
			this.menu.next();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6330
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6331
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6332
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6333
	_resizeMenu: function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6334
		var ul = this.menu.element;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6335
		ul.outerWidth( Math.max(
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6336
			// Firefox wraps long text (possibly a rounding bug)
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6337
			// so we add 1px to avoid the wrapping (#7513)
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6338
			ul.width( "" ).outerWidth() + 1,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6339
			this.element.outerWidth()
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6340
		) );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6341
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6342
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6343
	_renderMenu: function( ul, items ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6344
		var that = this;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6345
		$.each( items, function( index, item ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6346
			that._renderItemData( ul, item );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6347
		});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6348
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6349
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6350
	_renderItemData: function( ul, item ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6351
		return this._renderItem( ul, item ).data( "ui-autocomplete-item", item );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6352
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6353
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6354
	_renderItem: function( ul, item ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6355
		return $( "<li>" )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6356
			.append( $( "<a>" ).text( item.label ) )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6357
			.appendTo( ul );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6358
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6359
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6360
	_move: function( direction, event ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6361
		if ( !this.menu.element.is( ":visible" ) ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6362
			this.search( null, event );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6363
			return;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6364
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6365
		if ( this.menu.isFirstItem() && /^previous/.test( direction ) ||
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6366
				this.menu.isLastItem() && /^next/.test( direction ) ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6367
			this._value( this.term );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6368
			this.menu.blur();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6369
			return;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6370
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6371
		this.menu[ direction ]( event );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6372
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6373
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6374
	widget: function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6375
		return this.menu.element;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6376
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6377
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6378
	_value: function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6379
		return this.valueMethod.apply( this.element, arguments );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6380
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6381
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6382
	_keyEvent: function( keyEvent, event ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6383
		if ( !this.isMultiLine || this.menu.element.is( ":visible" ) ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6384
			this._move( keyEvent, event );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6385
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6386
			// prevents moving cursor to beginning/end of the text field in some browsers
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6387
			event.preventDefault();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6388
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6389
	}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6390
});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6391
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6392
$.extend( $.ui.autocomplete, {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6393
	escapeRegex: function( value ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6394
		return value.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g, "\\$&");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6395
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6396
	filter: function(array, term) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6397
		var matcher = new RegExp( $.ui.autocomplete.escapeRegex(term), "i" );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6398
		return $.grep( array, function(value) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6399
			return matcher.test( value.label || value.value || value );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6400
		});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6401
	}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6402
});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6403
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6404
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6405
// live region extension, adding a `messages` option
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6406
// NOTE: This is an experimental API. We are still investigating
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6407
// a full solution for string manipulation and internationalization.
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6408
$.widget( "ui.autocomplete", $.ui.autocomplete, {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6409
	options: {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6410
		messages: {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6411
			noResults: "No search results.",
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6412
			results: function( amount ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6413
				return amount + ( amount > 1 ? " results are" : " result is" ) +
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6414
					" available, use up and down arrow keys to navigate.";
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6415
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6416
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6417
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6418
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6419
	__response: function( content ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6420
		var message;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6421
		this._superApply( arguments );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6422
		if ( this.options.disabled || this.cancelSearch ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6423
			return;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6424
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6425
		if ( content && content.length ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6426
			message = this.options.messages.results( content.length );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6427
		} else {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6428
			message = this.options.messages.noResults;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6429
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6430
		this.liveRegion.text( message );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6431
	}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6432
});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6433
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6434
}( jQuery ));
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6435
(function( $, undefined ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6436
262
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  6437
var lastActive,
211
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6438
	baseClasses = "ui-button ui-widget ui-state-default ui-corner-all",
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6439
	typeClasses = "ui-button-icons-only ui-button-icon-only ui-button-text-icons ui-button-text-icon-primary ui-button-text-icon-secondary ui-button-text-only",
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6440
	formResetHandler = function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6441
		var form = $( this );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6442
		setTimeout(function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6443
			form.find( ":ui-button" ).button( "refresh" );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6444
		}, 1 );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6445
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6446
	radioGroup = function( radio ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6447
		var name = radio.name,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6448
			form = radio.form,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6449
			radios = $( [] );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6450
		if ( name ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6451
			name = name.replace( /'/g, "\\'" );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6452
			if ( form ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6453
				radios = $( form ).find( "[name='" + name + "']" );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6454
			} else {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6455
				radios = $( "[name='" + name + "']", radio.ownerDocument )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6456
					.filter(function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6457
						return !this.form;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6458
					});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6459
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6460
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6461
		return radios;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6462
	};
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6463
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6464
$.widget( "ui.button", {
262
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  6465
	version: "1.10.4",
211
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6466
	defaultElement: "<button>",
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6467
	options: {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6468
		disabled: null,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6469
		text: true,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6470
		label: null,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6471
		icons: {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6472
			primary: null,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6473
			secondary: null
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6474
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6475
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6476
	_create: function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6477
		this.element.closest( "form" )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6478
			.unbind( "reset" + this.eventNamespace )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6479
			.bind( "reset" + this.eventNamespace, formResetHandler );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6480
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6481
		if ( typeof this.options.disabled !== "boolean" ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6482
			this.options.disabled = !!this.element.prop( "disabled" );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6483
		} else {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6484
			this.element.prop( "disabled", this.options.disabled );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6485
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6486
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6487
		this._determineButtonType();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6488
		this.hasTitle = !!this.buttonElement.attr( "title" );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6489
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6490
		var that = this,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6491
			options = this.options,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6492
			toggleButton = this.type === "checkbox" || this.type === "radio",
262
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  6493
			activeClass = !toggleButton ? "ui-state-active" : "";
211
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6494
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6495
		if ( options.label === null ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6496
			options.label = (this.type === "input" ? this.buttonElement.val() : this.buttonElement.html());
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6497
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6498
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6499
		this._hoverable( this.buttonElement );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6500
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6501
		this.buttonElement
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6502
			.addClass( baseClasses )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6503
			.attr( "role", "button" )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6504
			.bind( "mouseenter" + this.eventNamespace, function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6505
				if ( options.disabled ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6506
					return;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6507
				}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6508
				if ( this === lastActive ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6509
					$( this ).addClass( "ui-state-active" );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6510
				}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6511
			})
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6512
			.bind( "mouseleave" + this.eventNamespace, function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6513
				if ( options.disabled ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6514
					return;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6515
				}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6516
				$( this ).removeClass( activeClass );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6517
			})
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6518
			.bind( "click" + this.eventNamespace, function( event ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6519
				if ( options.disabled ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6520
					event.preventDefault();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6521
					event.stopImmediatePropagation();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6522
				}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6523
			});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6524
262
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  6525
		// Can't use _focusable() because the element that receives focus
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  6526
		// and the element that gets the ui-state-focus class are different
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  6527
		this._on({
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  6528
			focus: function() {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  6529
				this.buttonElement.addClass( "ui-state-focus" );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  6530
			},
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  6531
			blur: function() {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  6532
				this.buttonElement.removeClass( "ui-state-focus" );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  6533
			}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  6534
		});
211
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6535
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6536
		if ( toggleButton ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6537
			this.element.bind( "change" + this.eventNamespace, function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6538
				that.refresh();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6539
			});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6540
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6541
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6542
		if ( this.type === "checkbox" ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6543
			this.buttonElement.bind( "click" + this.eventNamespace, function() {
262
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  6544
				if ( options.disabled ) {
211
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6545
					return false;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6546
				}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6547
			});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6548
		} else if ( this.type === "radio" ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6549
			this.buttonElement.bind( "click" + this.eventNamespace, function() {
262
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  6550
				if ( options.disabled ) {
211
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6551
					return false;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6552
				}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6553
				$( this ).addClass( "ui-state-active" );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6554
				that.buttonElement.attr( "aria-pressed", "true" );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6555
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6556
				var radio = that.element[ 0 ];
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6557
				radioGroup( radio )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6558
					.not( radio )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6559
					.map(function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6560
						return $( this ).button( "widget" )[ 0 ];
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6561
					})
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6562
					.removeClass( "ui-state-active" )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6563
					.attr( "aria-pressed", "false" );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6564
			});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6565
		} else {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6566
			this.buttonElement
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6567
				.bind( "mousedown" + this.eventNamespace, function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6568
					if ( options.disabled ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6569
						return false;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6570
					}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6571
					$( this ).addClass( "ui-state-active" );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6572
					lastActive = this;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6573
					that.document.one( "mouseup", function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6574
						lastActive = null;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6575
					});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6576
				})
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6577
				.bind( "mouseup" + this.eventNamespace, function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6578
					if ( options.disabled ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6579
						return false;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6580
					}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6581
					$( this ).removeClass( "ui-state-active" );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6582
				})
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6583
				.bind( "keydown" + this.eventNamespace, function(event) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6584
					if ( options.disabled ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6585
						return false;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6586
					}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6587
					if ( event.keyCode === $.ui.keyCode.SPACE || event.keyCode === $.ui.keyCode.ENTER ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6588
						$( this ).addClass( "ui-state-active" );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6589
					}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6590
				})
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6591
				// see #8559, we bind to blur here in case the button element loses
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6592
				// focus between keydown and keyup, it would be left in an "active" state
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6593
				.bind( "keyup" + this.eventNamespace + " blur" + this.eventNamespace, function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6594
					$( this ).removeClass( "ui-state-active" );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6595
				});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6596
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6597
			if ( this.buttonElement.is("a") ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6598
				this.buttonElement.keyup(function(event) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6599
					if ( event.keyCode === $.ui.keyCode.SPACE ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6600
						// TODO pass through original event correctly (just as 2nd argument doesn't work)
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6601
						$( this ).click();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6602
					}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6603
				});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6604
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6605
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6606
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6607
		// TODO: pull out $.Widget's handling for the disabled option into
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6608
		// $.Widget.prototype._setOptionDisabled so it's easy to proxy and can
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6609
		// be overridden by individual plugins
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6610
		this._setOption( "disabled", options.disabled );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6611
		this._resetButton();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6612
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6613
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6614
	_determineButtonType: function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6615
		var ancestor, labelSelector, checked;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6616
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6617
		if ( this.element.is("[type=checkbox]") ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6618
			this.type = "checkbox";
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6619
		} else if ( this.element.is("[type=radio]") ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6620
			this.type = "radio";
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6621
		} else if ( this.element.is("input") ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6622
			this.type = "input";
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6623
		} else {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6624
			this.type = "button";
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6625
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6626
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6627
		if ( this.type === "checkbox" || this.type === "radio" ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6628
			// we don't search against the document in case the element
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6629
			// is disconnected from the DOM
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6630
			ancestor = this.element.parents().last();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6631
			labelSelector = "label[for='" + this.element.attr("id") + "']";
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6632
			this.buttonElement = ancestor.find( labelSelector );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6633
			if ( !this.buttonElement.length ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6634
				ancestor = ancestor.length ? ancestor.siblings() : this.element.siblings();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6635
				this.buttonElement = ancestor.filter( labelSelector );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6636
				if ( !this.buttonElement.length ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6637
					this.buttonElement = ancestor.find( labelSelector );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6638
				}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6639
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6640
			this.element.addClass( "ui-helper-hidden-accessible" );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6641
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6642
			checked = this.element.is( ":checked" );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6643
			if ( checked ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6644
				this.buttonElement.addClass( "ui-state-active" );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6645
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6646
			this.buttonElement.prop( "aria-pressed", checked );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6647
		} else {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6648
			this.buttonElement = this.element;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6649
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6650
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6651
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6652
	widget: function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6653
		return this.buttonElement;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6654
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6655
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6656
	_destroy: function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6657
		this.element
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6658
			.removeClass( "ui-helper-hidden-accessible" );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6659
		this.buttonElement
262
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  6660
			.removeClass( baseClasses + " ui-state-active " + typeClasses )
211
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6661
			.removeAttr( "role" )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6662
			.removeAttr( "aria-pressed" )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6663
			.html( this.buttonElement.find(".ui-button-text").html() );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6664
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6665
		if ( !this.hasTitle ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6666
			this.buttonElement.removeAttr( "title" );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6667
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6668
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6669
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6670
	_setOption: function( key, value ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6671
		this._super( key, value );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6672
		if ( key === "disabled" ) {
262
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  6673
			this.element.prop( "disabled", !!value );
211
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6674
			if ( value ) {
262
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  6675
				this.buttonElement.removeClass( "ui-state-focus" );
211
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6676
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6677
			return;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6678
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6679
		this._resetButton();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6680
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6681
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6682
	refresh: function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6683
		//See #8237 & #8828
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6684
		var isDisabled = this.element.is( "input, button" ) ? this.element.is( ":disabled" ) : this.element.hasClass( "ui-button-disabled" );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6685
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6686
		if ( isDisabled !== this.options.disabled ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6687
			this._setOption( "disabled", isDisabled );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6688
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6689
		if ( this.type === "radio" ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6690
			radioGroup( this.element[0] ).each(function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6691
				if ( $( this ).is( ":checked" ) ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6692
					$( this ).button( "widget" )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6693
						.addClass( "ui-state-active" )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6694
						.attr( "aria-pressed", "true" );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6695
				} else {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6696
					$( this ).button( "widget" )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6697
						.removeClass( "ui-state-active" )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6698
						.attr( "aria-pressed", "false" );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6699
				}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6700
			});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6701
		} else if ( this.type === "checkbox" ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6702
			if ( this.element.is( ":checked" ) ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6703
				this.buttonElement
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6704
					.addClass( "ui-state-active" )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6705
					.attr( "aria-pressed", "true" );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6706
			} else {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6707
				this.buttonElement
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6708
					.removeClass( "ui-state-active" )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6709
					.attr( "aria-pressed", "false" );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6710
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6711
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6712
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6713
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6714
	_resetButton: function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6715
		if ( this.type === "input" ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6716
			if ( this.options.label ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6717
				this.element.val( this.options.label );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6718
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6719
			return;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6720
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6721
		var buttonElement = this.buttonElement.removeClass( typeClasses ),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6722
			buttonText = $( "<span></span>", this.document[0] )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6723
				.addClass( "ui-button-text" )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6724
				.html( this.options.label )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6725
				.appendTo( buttonElement.empty() )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6726
				.text(),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6727
			icons = this.options.icons,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6728
			multipleIcons = icons.primary && icons.secondary,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6729
			buttonClasses = [];
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6730
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6731
		if ( icons.primary || icons.secondary ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6732
			if ( this.options.text ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6733
				buttonClasses.push( "ui-button-text-icon" + ( multipleIcons ? "s" : ( icons.primary ? "-primary" : "-secondary" ) ) );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6734
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6735
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6736
			if ( icons.primary ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6737
				buttonElement.prepend( "<span class='ui-button-icon-primary ui-icon " + icons.primary + "'></span>" );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6738
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6739
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6740
			if ( icons.secondary ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6741
				buttonElement.append( "<span class='ui-button-icon-secondary ui-icon " + icons.secondary + "'></span>" );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6742
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6743
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6744
			if ( !this.options.text ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6745
				buttonClasses.push( multipleIcons ? "ui-button-icons-only" : "ui-button-icon-only" );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6746
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6747
				if ( !this.hasTitle ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6748
					buttonElement.attr( "title", $.trim( buttonText ) );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6749
				}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6750
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6751
		} else {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6752
			buttonClasses.push( "ui-button-text-only" );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6753
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6754
		buttonElement.addClass( buttonClasses.join( " " ) );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6755
	}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6756
});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6757
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6758
$.widget( "ui.buttonset", {
262
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  6759
	version: "1.10.4",
211
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6760
	options: {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6761
		items: "button, input[type=button], input[type=submit], input[type=reset], input[type=checkbox], input[type=radio], a, :data(ui-button)"
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6762
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6763
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6764
	_create: function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6765
		this.element.addClass( "ui-buttonset" );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6766
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6767
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6768
	_init: function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6769
		this.refresh();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6770
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6771
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6772
	_setOption: function( key, value ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6773
		if ( key === "disabled" ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6774
			this.buttons.button( "option", key, value );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6775
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6776
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6777
		this._super( key, value );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6778
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6779
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6780
	refresh: function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6781
		var rtl = this.element.css( "direction" ) === "rtl";
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6782
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6783
		this.buttons = this.element.find( this.options.items )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6784
			.filter( ":ui-button" )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6785
				.button( "refresh" )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6786
			.end()
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6787
			.not( ":ui-button" )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6788
				.button()
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6789
			.end()
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6790
			.map(function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6791
				return $( this ).button( "widget" )[ 0 ];
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6792
			})
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6793
				.removeClass( "ui-corner-all ui-corner-left ui-corner-right" )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6794
				.filter( ":first" )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6795
					.addClass( rtl ? "ui-corner-right" : "ui-corner-left" )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6796
				.end()
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6797
				.filter( ":last" )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6798
					.addClass( rtl ? "ui-corner-left" : "ui-corner-right" )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6799
				.end()
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6800
			.end();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6801
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6802
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6803
	_destroy: function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6804
		this.element.removeClass( "ui-buttonset" );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6805
		this.buttons
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6806
			.map(function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6807
				return $( this ).button( "widget" )[ 0 ];
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6808
			})
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6809
				.removeClass( "ui-corner-left ui-corner-right" )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6810
			.end()
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6811
			.button( "destroy" );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6812
	}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6813
});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6814
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6815
}( jQuery ) );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6816
(function( $, undefined ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6817
262
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  6818
$.extend($.ui, { datepicker: { version: "1.10.4" } });
211
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6819
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6820
var PROP_NAME = "datepicker",
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6821
	instActive;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6822
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6823
/* Date picker manager.
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6824
   Use the singleton instance of this class, $.datepicker, to interact with the date picker.
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6825
   Settings for (groups of) date pickers are maintained in an instance object,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6826
   allowing multiple different settings on the same page. */
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6827
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6828
function Datepicker() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6829
	this._curInst = null; // The current instance in use
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6830
	this._keyEvent = false; // If the last event was a key event
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6831
	this._disabledInputs = []; // List of date picker inputs that have been disabled
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6832
	this._datepickerShowing = false; // True if the popup picker is showing , false if not
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6833
	this._inDialog = false; // True if showing within a "dialog", false if not
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6834
	this._mainDivId = "ui-datepicker-div"; // The ID of the main datepicker division
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6835
	this._inlineClass = "ui-datepicker-inline"; // The name of the inline marker class
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6836
	this._appendClass = "ui-datepicker-append"; // The name of the append marker class
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6837
	this._triggerClass = "ui-datepicker-trigger"; // The name of the trigger marker class
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6838
	this._dialogClass = "ui-datepicker-dialog"; // The name of the dialog marker class
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6839
	this._disableClass = "ui-datepicker-disabled"; // The name of the disabled covering marker class
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6840
	this._unselectableClass = "ui-datepicker-unselectable"; // The name of the unselectable cell marker class
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6841
	this._currentClass = "ui-datepicker-current-day"; // The name of the current day marker class
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6842
	this._dayOverClass = "ui-datepicker-days-cell-over"; // The name of the day hover marker class
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6843
	this.regional = []; // Available regional settings, indexed by language code
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6844
	this.regional[""] = { // Default regional settings
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6845
		closeText: "Done", // Display text for close link
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6846
		prevText: "Prev", // Display text for previous month link
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6847
		nextText: "Next", // Display text for next month link
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6848
		currentText: "Today", // Display text for current month link
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6849
		monthNames: ["January","February","March","April","May","June",
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6850
			"July","August","September","October","November","December"], // Names of months for drop-down and formatting
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6851
		monthNamesShort: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"], // For formatting
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6852
		dayNames: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"], // For formatting
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6853
		dayNamesShort: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"], // For formatting
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6854
		dayNamesMin: ["Su","Mo","Tu","We","Th","Fr","Sa"], // Column headings for days starting at Sunday
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6855
		weekHeader: "Wk", // Column header for week of the year
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6856
		dateFormat: "mm/dd/yy", // See format options on parseDate
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6857
		firstDay: 0, // The first day of the week, Sun = 0, Mon = 1, ...
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6858
		isRTL: false, // True if right-to-left language, false if left-to-right
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6859
		showMonthAfterYear: false, // True if the year select precedes month, false for month then year
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6860
		yearSuffix: "" // Additional text to append to the year in the month headers
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6861
	};
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6862
	this._defaults = { // Global defaults for all the date picker instances
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6863
		showOn: "focus", // "focus" for popup on focus,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6864
			// "button" for trigger button, or "both" for either
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6865
		showAnim: "fadeIn", // Name of jQuery animation for popup
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6866
		showOptions: {}, // Options for enhanced animations
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6867
		defaultDate: null, // Used when field is blank: actual date,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6868
			// +/-number for offset from today, null for today
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6869
		appendText: "", // Display text following the input box, e.g. showing the format
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6870
		buttonText: "...", // Text for trigger button
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6871
		buttonImage: "", // URL for trigger button image
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6872
		buttonImageOnly: false, // True if the image appears alone, false if it appears on a button
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6873
		hideIfNoPrevNext: false, // True to hide next/previous month links
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6874
			// if not applicable, false to just disable them
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6875
		navigationAsDateFormat: false, // True if date formatting applied to prev/today/next links
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6876
		gotoCurrent: false, // True if today link goes back to current selection instead
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6877
		changeMonth: false, // True if month can be selected directly, false if only prev/next
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6878
		changeYear: false, // True if year can be selected directly, false if only prev/next
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6879
		yearRange: "c-10:c+10", // Range of years to display in drop-down,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6880
			// either relative to today's year (-nn:+nn), relative to currently displayed year
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6881
			// (c-nn:c+nn), absolute (nnnn:nnnn), or a combination of the above (nnnn:-n)
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6882
		showOtherMonths: false, // True to show dates in other months, false to leave blank
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6883
		selectOtherMonths: false, // True to allow selection of dates in other months, false for unselectable
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6884
		showWeek: false, // True to show week of the year, false to not show it
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6885
		calculateWeek: this.iso8601Week, // How to calculate the week of the year,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6886
			// takes a Date and returns the number of the week for it
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6887
		shortYearCutoff: "+10", // Short year values < this are in the current century,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6888
			// > this are in the previous century,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6889
			// string value starting with "+" for current year + value
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6890
		minDate: null, // The earliest selectable date, or null for no limit
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6891
		maxDate: null, // The latest selectable date, or null for no limit
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6892
		duration: "fast", // Duration of display/closure
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6893
		beforeShowDay: null, // Function that takes a date and returns an array with
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6894
			// [0] = true if selectable, false if not, [1] = custom CSS class name(s) or "",
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6895
			// [2] = cell title (optional), e.g. $.datepicker.noWeekends
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6896
		beforeShow: null, // Function that takes an input field and
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6897
			// returns a set of custom settings for the date picker
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6898
		onSelect: null, // Define a callback function when a date is selected
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6899
		onChangeMonthYear: null, // Define a callback function when the month or year is changed
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6900
		onClose: null, // Define a callback function when the datepicker is closed
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6901
		numberOfMonths: 1, // Number of months to show at a time
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6902
		showCurrentAtPos: 0, // The position in multipe months at which to show the current month (starting at 0)
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6903
		stepMonths: 1, // Number of months to step back/forward
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6904
		stepBigMonths: 12, // Number of months to step back/forward for the big links
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6905
		altField: "", // Selector for an alternate field to store selected dates into
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6906
		altFormat: "", // The date format to use for the alternate field
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6907
		constrainInput: true, // The input is constrained by the current date format
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6908
		showButtonPanel: false, // True to show button panel, false to not show it
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6909
		autoSize: false, // True to size the input for the date format, false to leave as is
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6910
		disabled: false // The initial disabled state
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6911
	};
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6912
	$.extend(this._defaults, this.regional[""]);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6913
	this.dpDiv = bindHover($("<div id='" + this._mainDivId + "' class='ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all'></div>"));
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6914
}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6915
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6916
$.extend(Datepicker.prototype, {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6917
	/* Class name added to elements to indicate already configured with a date picker. */
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6918
	markerClassName: "hasDatepicker",
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6919
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6920
	//Keep track of the maximum number of rows displayed (see #7043)
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6921
	maxRows: 4,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6922
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6923
	// TODO rename to "widget" when switching to widget factory
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6924
	_widgetDatepicker: function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6925
		return this.dpDiv;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6926
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6927
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6928
	/* Override the default settings for all instances of the date picker.
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6929
	 * @param  settings  object - the new settings to use as defaults (anonymous object)
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6930
	 * @return the manager object
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6931
	 */
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6932
	setDefaults: function(settings) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6933
		extendRemove(this._defaults, settings || {});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6934
		return this;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6935
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6936
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6937
	/* Attach the date picker to a jQuery selection.
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6938
	 * @param  target	element - the target input field or division or span
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6939
	 * @param  settings  object - the new settings to use for this date picker instance (anonymous)
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6940
	 */
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6941
	_attachDatepicker: function(target, settings) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6942
		var nodeName, inline, inst;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6943
		nodeName = target.nodeName.toLowerCase();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6944
		inline = (nodeName === "div" || nodeName === "span");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6945
		if (!target.id) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6946
			this.uuid += 1;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6947
			target.id = "dp" + this.uuid;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6948
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6949
		inst = this._newInst($(target), inline);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6950
		inst.settings = $.extend({}, settings || {});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6951
		if (nodeName === "input") {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6952
			this._connectDatepicker(target, inst);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6953
		} else if (inline) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6954
			this._inlineDatepicker(target, inst);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6955
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6956
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6957
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6958
	/* Create a new instance object. */
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6959
	_newInst: function(target, inline) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6960
		var id = target[0].id.replace(/([^A-Za-z0-9_\-])/g, "\\\\$1"); // escape jQuery meta chars
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6961
		return {id: id, input: target, // associated target
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6962
			selectedDay: 0, selectedMonth: 0, selectedYear: 0, // current selection
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6963
			drawMonth: 0, drawYear: 0, // month being drawn
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6964
			inline: inline, // is datepicker inline or not
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6965
			dpDiv: (!inline ? this.dpDiv : // presentation div
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6966
			bindHover($("<div class='" + this._inlineClass + " ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all'></div>")))};
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6967
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6968
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6969
	/* Attach the date picker to an input field. */
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6970
	_connectDatepicker: function(target, inst) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6971
		var input = $(target);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6972
		inst.append = $([]);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6973
		inst.trigger = $([]);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6974
		if (input.hasClass(this.markerClassName)) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6975
			return;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6976
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6977
		this._attachments(input, inst);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6978
		input.addClass(this.markerClassName).keydown(this._doKeyDown).
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6979
			keypress(this._doKeyPress).keyup(this._doKeyUp);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6980
		this._autoSize(inst);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6981
		$.data(target, PROP_NAME, inst);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6982
		//If disabled option is true, disable the datepicker once it has been attached to the input (see ticket #5665)
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6983
		if( inst.settings.disabled ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6984
			this._disableDatepicker( target );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6985
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6986
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6987
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6988
	/* Make attachments based on settings. */
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6989
	_attachments: function(input, inst) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6990
		var showOn, buttonText, buttonImage,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6991
			appendText = this._get(inst, "appendText"),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6992
			isRTL = this._get(inst, "isRTL");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6993
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6994
		if (inst.append) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6995
			inst.append.remove();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6996
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6997
		if (appendText) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6998
			inst.append = $("<span class='" + this._appendClass + "'>" + appendText + "</span>");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  6999
			input[isRTL ? "before" : "after"](inst.append);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7000
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7001
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7002
		input.unbind("focus", this._showDatepicker);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7003
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7004
		if (inst.trigger) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7005
			inst.trigger.remove();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7006
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7007
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7008
		showOn = this._get(inst, "showOn");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7009
		if (showOn === "focus" || showOn === "both") { // pop-up date picker when in the marked field
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7010
			input.focus(this._showDatepicker);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7011
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7012
		if (showOn === "button" || showOn === "both") { // pop-up date picker when button clicked
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7013
			buttonText = this._get(inst, "buttonText");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7014
			buttonImage = this._get(inst, "buttonImage");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7015
			inst.trigger = $(this._get(inst, "buttonImageOnly") ?
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7016
				$("<img/>").addClass(this._triggerClass).
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7017
					attr({ src: buttonImage, alt: buttonText, title: buttonText }) :
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7018
				$("<button type='button'></button>").addClass(this._triggerClass).
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7019
					html(!buttonImage ? buttonText : $("<img/>").attr(
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7020
					{ src:buttonImage, alt:buttonText, title:buttonText })));
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7021
			input[isRTL ? "before" : "after"](inst.trigger);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7022
			inst.trigger.click(function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7023
				if ($.datepicker._datepickerShowing && $.datepicker._lastInput === input[0]) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7024
					$.datepicker._hideDatepicker();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7025
				} else if ($.datepicker._datepickerShowing && $.datepicker._lastInput !== input[0]) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7026
					$.datepicker._hideDatepicker();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7027
					$.datepicker._showDatepicker(input[0]);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7028
				} else {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7029
					$.datepicker._showDatepicker(input[0]);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7030
				}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7031
				return false;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7032
			});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7033
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7034
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7035
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7036
	/* Apply the maximum length for the date format. */
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7037
	_autoSize: function(inst) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7038
		if (this._get(inst, "autoSize") && !inst.inline) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7039
			var findMax, max, maxI, i,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7040
				date = new Date(2009, 12 - 1, 20), // Ensure double digits
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7041
				dateFormat = this._get(inst, "dateFormat");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7042
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7043
			if (dateFormat.match(/[DM]/)) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7044
				findMax = function(names) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7045
					max = 0;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7046
					maxI = 0;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7047
					for (i = 0; i < names.length; i++) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7048
						if (names[i].length > max) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7049
							max = names[i].length;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7050
							maxI = i;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7051
						}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7052
					}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7053
					return maxI;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7054
				};
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7055
				date.setMonth(findMax(this._get(inst, (dateFormat.match(/MM/) ?
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7056
					"monthNames" : "monthNamesShort"))));
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7057
				date.setDate(findMax(this._get(inst, (dateFormat.match(/DD/) ?
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7058
					"dayNames" : "dayNamesShort"))) + 20 - date.getDay());
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7059
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7060
			inst.input.attr("size", this._formatDate(inst, date).length);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7061
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7062
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7063
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7064
	/* Attach an inline date picker to a div. */
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7065
	_inlineDatepicker: function(target, inst) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7066
		var divSpan = $(target);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7067
		if (divSpan.hasClass(this.markerClassName)) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7068
			return;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7069
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7070
		divSpan.addClass(this.markerClassName).append(inst.dpDiv);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7071
		$.data(target, PROP_NAME, inst);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7072
		this._setDate(inst, this._getDefaultDate(inst), true);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7073
		this._updateDatepicker(inst);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7074
		this._updateAlternate(inst);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7075
		//If disabled option is true, disable the datepicker before showing it (see ticket #5665)
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7076
		if( inst.settings.disabled ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7077
			this._disableDatepicker( target );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7078
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7079
		// Set display:block in place of inst.dpDiv.show() which won't work on disconnected elements
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7080
		// http://bugs.jqueryui.com/ticket/7552 - A Datepicker created on a detached div has zero height
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7081
		inst.dpDiv.css( "display", "block" );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7082
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7083
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7084
	/* Pop-up the date picker in a "dialog" box.
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7085
	 * @param  input element - ignored
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7086
	 * @param  date	string or Date - the initial date to display
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7087
	 * @param  onSelect  function - the function to call when a date is selected
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7088
	 * @param  settings  object - update the dialog date picker instance's settings (anonymous object)
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7089
	 * @param  pos int[2] - coordinates for the dialog's position within the screen or
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7090
	 *					event - with x/y coordinates or
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7091
	 *					leave empty for default (screen centre)
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7092
	 * @return the manager object
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7093
	 */
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7094
	_dialogDatepicker: function(input, date, onSelect, settings, pos) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7095
		var id, browserWidth, browserHeight, scrollX, scrollY,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7096
			inst = this._dialogInst; // internal instance
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7097
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7098
		if (!inst) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7099
			this.uuid += 1;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7100
			id = "dp" + this.uuid;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7101
			this._dialogInput = $("<input type='text' id='" + id +
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7102
				"' style='position: absolute; top: -100px; width: 0px;'/>");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7103
			this._dialogInput.keydown(this._doKeyDown);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7104
			$("body").append(this._dialogInput);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7105
			inst = this._dialogInst = this._newInst(this._dialogInput, false);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7106
			inst.settings = {};
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7107
			$.data(this._dialogInput[0], PROP_NAME, inst);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7108
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7109
		extendRemove(inst.settings, settings || {});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7110
		date = (date && date.constructor === Date ? this._formatDate(inst, date) : date);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7111
		this._dialogInput.val(date);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7112
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7113
		this._pos = (pos ? (pos.length ? pos : [pos.pageX, pos.pageY]) : null);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7114
		if (!this._pos) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7115
			browserWidth = document.documentElement.clientWidth;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7116
			browserHeight = document.documentElement.clientHeight;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7117
			scrollX = document.documentElement.scrollLeft || document.body.scrollLeft;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7118
			scrollY = document.documentElement.scrollTop || document.body.scrollTop;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7119
			this._pos = // should use actual width/height below
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7120
				[(browserWidth / 2) - 100 + scrollX, (browserHeight / 2) - 150 + scrollY];
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7121
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7122
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7123
		// move input on screen for focus, but hidden behind dialog
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7124
		this._dialogInput.css("left", (this._pos[0] + 20) + "px").css("top", this._pos[1] + "px");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7125
		inst.settings.onSelect = onSelect;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7126
		this._inDialog = true;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7127
		this.dpDiv.addClass(this._dialogClass);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7128
		this._showDatepicker(this._dialogInput[0]);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7129
		if ($.blockUI) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7130
			$.blockUI(this.dpDiv);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7131
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7132
		$.data(this._dialogInput[0], PROP_NAME, inst);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7133
		return this;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7134
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7135
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7136
	/* Detach a datepicker from its control.
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7137
	 * @param  target	element - the target input field or division or span
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7138
	 */
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7139
	_destroyDatepicker: function(target) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7140
		var nodeName,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7141
			$target = $(target),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7142
			inst = $.data(target, PROP_NAME);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7143
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7144
		if (!$target.hasClass(this.markerClassName)) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7145
			return;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7146
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7147
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7148
		nodeName = target.nodeName.toLowerCase();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7149
		$.removeData(target, PROP_NAME);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7150
		if (nodeName === "input") {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7151
			inst.append.remove();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7152
			inst.trigger.remove();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7153
			$target.removeClass(this.markerClassName).
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7154
				unbind("focus", this._showDatepicker).
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7155
				unbind("keydown", this._doKeyDown).
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7156
				unbind("keypress", this._doKeyPress).
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7157
				unbind("keyup", this._doKeyUp);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7158
		} else if (nodeName === "div" || nodeName === "span") {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7159
			$target.removeClass(this.markerClassName).empty();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7160
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7161
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7162
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7163
	/* Enable the date picker to a jQuery selection.
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7164
	 * @param  target	element - the target input field or division or span
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7165
	 */
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7166
	_enableDatepicker: function(target) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7167
		var nodeName, inline,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7168
			$target = $(target),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7169
			inst = $.data(target, PROP_NAME);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7170
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7171
		if (!$target.hasClass(this.markerClassName)) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7172
			return;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7173
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7174
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7175
		nodeName = target.nodeName.toLowerCase();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7176
		if (nodeName === "input") {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7177
			target.disabled = false;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7178
			inst.trigger.filter("button").
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7179
				each(function() { this.disabled = false; }).end().
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7180
				filter("img").css({opacity: "1.0", cursor: ""});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7181
		} else if (nodeName === "div" || nodeName === "span") {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7182
			inline = $target.children("." + this._inlineClass);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7183
			inline.children().removeClass("ui-state-disabled");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7184
			inline.find("select.ui-datepicker-month, select.ui-datepicker-year").
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7185
				prop("disabled", false);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7186
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7187
		this._disabledInputs = $.map(this._disabledInputs,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7188
			function(value) { return (value === target ? null : value); }); // delete entry
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7189
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7190
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7191
	/* Disable the date picker to a jQuery selection.
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7192
	 * @param  target	element - the target input field or division or span
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7193
	 */
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7194
	_disableDatepicker: function(target) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7195
		var nodeName, inline,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7196
			$target = $(target),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7197
			inst = $.data(target, PROP_NAME);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7198
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7199
		if (!$target.hasClass(this.markerClassName)) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7200
			return;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7201
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7202
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7203
		nodeName = target.nodeName.toLowerCase();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7204
		if (nodeName === "input") {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7205
			target.disabled = true;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7206
			inst.trigger.filter("button").
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7207
				each(function() { this.disabled = true; }).end().
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7208
				filter("img").css({opacity: "0.5", cursor: "default"});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7209
		} else if (nodeName === "div" || nodeName === "span") {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7210
			inline = $target.children("." + this._inlineClass);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7211
			inline.children().addClass("ui-state-disabled");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7212
			inline.find("select.ui-datepicker-month, select.ui-datepicker-year").
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7213
				prop("disabled", true);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7214
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7215
		this._disabledInputs = $.map(this._disabledInputs,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7216
			function(value) { return (value === target ? null : value); }); // delete entry
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7217
		this._disabledInputs[this._disabledInputs.length] = target;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7218
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7219
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7220
	/* Is the first field in a jQuery collection disabled as a datepicker?
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7221
	 * @param  target	element - the target input field or division or span
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7222
	 * @return boolean - true if disabled, false if enabled
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7223
	 */
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7224
	_isDisabledDatepicker: function(target) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7225
		if (!target) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7226
			return false;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7227
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7228
		for (var i = 0; i < this._disabledInputs.length; i++) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7229
			if (this._disabledInputs[i] === target) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7230
				return true;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7231
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7232
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7233
		return false;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7234
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7235
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7236
	/* Retrieve the instance data for the target control.
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7237
	 * @param  target  element - the target input field or division or span
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7238
	 * @return  object - the associated instance data
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7239
	 * @throws  error if a jQuery problem getting data
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7240
	 */
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7241
	_getInst: function(target) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7242
		try {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7243
			return $.data(target, PROP_NAME);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7244
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7245
		catch (err) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7246
			throw "Missing instance data for this datepicker";
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7247
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7248
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7249
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7250
	/* Update or retrieve the settings for a date picker attached to an input field or division.
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7251
	 * @param  target  element - the target input field or division or span
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7252
	 * @param  name	object - the new settings to update or
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7253
	 *				string - the name of the setting to change or retrieve,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7254
	 *				when retrieving also "all" for all instance settings or
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7255
	 *				"defaults" for all global defaults
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7256
	 * @param  value   any - the new value for the setting
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7257
	 *				(omit if above is an object or to retrieve a value)
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7258
	 */
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7259
	_optionDatepicker: function(target, name, value) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7260
		var settings, date, minDate, maxDate,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7261
			inst = this._getInst(target);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7262
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7263
		if (arguments.length === 2 && typeof name === "string") {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7264
			return (name === "defaults" ? $.extend({}, $.datepicker._defaults) :
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7265
				(inst ? (name === "all" ? $.extend({}, inst.settings) :
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7266
				this._get(inst, name)) : null));
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7267
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7268
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7269
		settings = name || {};
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7270
		if (typeof name === "string") {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7271
			settings = {};
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7272
			settings[name] = value;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7273
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7274
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7275
		if (inst) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7276
			if (this._curInst === inst) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7277
				this._hideDatepicker();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7278
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7279
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7280
			date = this._getDateDatepicker(target, true);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7281
			minDate = this._getMinMaxDate(inst, "min");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7282
			maxDate = this._getMinMaxDate(inst, "max");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7283
			extendRemove(inst.settings, settings);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7284
			// reformat the old minDate/maxDate values if dateFormat changes and a new minDate/maxDate isn't provided
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7285
			if (minDate !== null && settings.dateFormat !== undefined && settings.minDate === undefined) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7286
				inst.settings.minDate = this._formatDate(inst, minDate);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7287
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7288
			if (maxDate !== null && settings.dateFormat !== undefined && settings.maxDate === undefined) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7289
				inst.settings.maxDate = this._formatDate(inst, maxDate);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7290
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7291
			if ( "disabled" in settings ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7292
				if ( settings.disabled ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7293
					this._disableDatepicker(target);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7294
				} else {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7295
					this._enableDatepicker(target);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7296
				}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7297
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7298
			this._attachments($(target), inst);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7299
			this._autoSize(inst);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7300
			this._setDate(inst, date);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7301
			this._updateAlternate(inst);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7302
			this._updateDatepicker(inst);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7303
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7304
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7305
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7306
	// change method deprecated
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7307
	_changeDatepicker: function(target, name, value) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7308
		this._optionDatepicker(target, name, value);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7309
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7310
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7311
	/* Redraw the date picker attached to an input field or division.
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7312
	 * @param  target  element - the target input field or division or span
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7313
	 */
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7314
	_refreshDatepicker: function(target) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7315
		var inst = this._getInst(target);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7316
		if (inst) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7317
			this._updateDatepicker(inst);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7318
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7319
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7320
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7321
	/* Set the dates for a jQuery selection.
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7322
	 * @param  target element - the target input field or division or span
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7323
	 * @param  date	Date - the new date
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7324
	 */
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7325
	_setDateDatepicker: function(target, date) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7326
		var inst = this._getInst(target);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7327
		if (inst) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7328
			this._setDate(inst, date);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7329
			this._updateDatepicker(inst);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7330
			this._updateAlternate(inst);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7331
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7332
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7333
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7334
	/* Get the date(s) for the first entry in a jQuery selection.
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7335
	 * @param  target element - the target input field or division or span
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7336
	 * @param  noDefault boolean - true if no default date is to be used
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7337
	 * @return Date - the current date
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7338
	 */
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7339
	_getDateDatepicker: function(target, noDefault) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7340
		var inst = this._getInst(target);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7341
		if (inst && !inst.inline) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7342
			this._setDateFromField(inst, noDefault);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7343
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7344
		return (inst ? this._getDate(inst) : null);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7345
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7346
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7347
	/* Handle keystrokes. */
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7348
	_doKeyDown: function(event) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7349
		var onSelect, dateStr, sel,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7350
			inst = $.datepicker._getInst(event.target),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7351
			handled = true,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7352
			isRTL = inst.dpDiv.is(".ui-datepicker-rtl");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7353
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7354
		inst._keyEvent = true;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7355
		if ($.datepicker._datepickerShowing) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7356
			switch (event.keyCode) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7357
				case 9: $.datepicker._hideDatepicker();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7358
						handled = false;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7359
						break; // hide on tab out
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7360
				case 13: sel = $("td." + $.datepicker._dayOverClass + ":not(." +
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7361
									$.datepicker._currentClass + ")", inst.dpDiv);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7362
						if (sel[0]) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7363
							$.datepicker._selectDay(event.target, inst.selectedMonth, inst.selectedYear, sel[0]);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7364
						}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7365
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7366
						onSelect = $.datepicker._get(inst, "onSelect");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7367
						if (onSelect) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7368
							dateStr = $.datepicker._formatDate(inst);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7369
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7370
							// trigger custom callback
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7371
							onSelect.apply((inst.input ? inst.input[0] : null), [dateStr, inst]);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7372
						} else {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7373
							$.datepicker._hideDatepicker();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7374
						}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7375
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7376
						return false; // don't submit the form
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7377
				case 27: $.datepicker._hideDatepicker();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7378
						break; // hide on escape
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7379
				case 33: $.datepicker._adjustDate(event.target, (event.ctrlKey ?
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7380
							-$.datepicker._get(inst, "stepBigMonths") :
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7381
							-$.datepicker._get(inst, "stepMonths")), "M");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7382
						break; // previous month/year on page up/+ ctrl
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7383
				case 34: $.datepicker._adjustDate(event.target, (event.ctrlKey ?
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7384
							+$.datepicker._get(inst, "stepBigMonths") :
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7385
							+$.datepicker._get(inst, "stepMonths")), "M");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7386
						break; // next month/year on page down/+ ctrl
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7387
				case 35: if (event.ctrlKey || event.metaKey) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7388
							$.datepicker._clearDate(event.target);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7389
						}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7390
						handled = event.ctrlKey || event.metaKey;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7391
						break; // clear on ctrl or command +end
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7392
				case 36: if (event.ctrlKey || event.metaKey) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7393
							$.datepicker._gotoToday(event.target);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7394
						}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7395
						handled = event.ctrlKey || event.metaKey;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7396
						break; // current on ctrl or command +home
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7397
				case 37: if (event.ctrlKey || event.metaKey) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7398
							$.datepicker._adjustDate(event.target, (isRTL ? +1 : -1), "D");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7399
						}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7400
						handled = event.ctrlKey || event.metaKey;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7401
						// -1 day on ctrl or command +left
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7402
						if (event.originalEvent.altKey) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7403
							$.datepicker._adjustDate(event.target, (event.ctrlKey ?
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7404
								-$.datepicker._get(inst, "stepBigMonths") :
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7405
								-$.datepicker._get(inst, "stepMonths")), "M");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7406
						}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7407
						// next month/year on alt +left on Mac
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7408
						break;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7409
				case 38: if (event.ctrlKey || event.metaKey) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7410
							$.datepicker._adjustDate(event.target, -7, "D");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7411
						}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7412
						handled = event.ctrlKey || event.metaKey;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7413
						break; // -1 week on ctrl or command +up
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7414
				case 39: if (event.ctrlKey || event.metaKey) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7415
							$.datepicker._adjustDate(event.target, (isRTL ? -1 : +1), "D");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7416
						}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7417
						handled = event.ctrlKey || event.metaKey;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7418
						// +1 day on ctrl or command +right
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7419
						if (event.originalEvent.altKey) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7420
							$.datepicker._adjustDate(event.target, (event.ctrlKey ?
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7421
								+$.datepicker._get(inst, "stepBigMonths") :
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7422
								+$.datepicker._get(inst, "stepMonths")), "M");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7423
						}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7424
						// next month/year on alt +right
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7425
						break;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7426
				case 40: if (event.ctrlKey || event.metaKey) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7427
							$.datepicker._adjustDate(event.target, +7, "D");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7428
						}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7429
						handled = event.ctrlKey || event.metaKey;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7430
						break; // +1 week on ctrl or command +down
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7431
				default: handled = false;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7432
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7433
		} else if (event.keyCode === 36 && event.ctrlKey) { // display the date picker on ctrl+home
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7434
			$.datepicker._showDatepicker(this);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7435
		} else {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7436
			handled = false;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7437
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7438
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7439
		if (handled) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7440
			event.preventDefault();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7441
			event.stopPropagation();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7442
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7443
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7444
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7445
	/* Filter entered characters - based on date format. */
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7446
	_doKeyPress: function(event) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7447
		var chars, chr,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7448
			inst = $.datepicker._getInst(event.target);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7449
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7450
		if ($.datepicker._get(inst, "constrainInput")) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7451
			chars = $.datepicker._possibleChars($.datepicker._get(inst, "dateFormat"));
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7452
			chr = String.fromCharCode(event.charCode == null ? event.keyCode : event.charCode);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7453
			return event.ctrlKey || event.metaKey || (chr < " " || !chars || chars.indexOf(chr) > -1);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7454
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7455
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7456
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7457
	/* Synchronise manual entry and field/alternate field. */
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7458
	_doKeyUp: function(event) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7459
		var date,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7460
			inst = $.datepicker._getInst(event.target);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7461
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7462
		if (inst.input.val() !== inst.lastVal) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7463
			try {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7464
				date = $.datepicker.parseDate($.datepicker._get(inst, "dateFormat"),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7465
					(inst.input ? inst.input.val() : null),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7466
					$.datepicker._getFormatConfig(inst));
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7467
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7468
				if (date) { // only if valid
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7469
					$.datepicker._setDateFromField(inst);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7470
					$.datepicker._updateAlternate(inst);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7471
					$.datepicker._updateDatepicker(inst);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7472
				}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7473
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7474
			catch (err) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7475
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7476
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7477
		return true;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7478
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7479
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7480
	/* Pop-up the date picker for a given input field.
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7481
	 * If false returned from beforeShow event handler do not show.
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7482
	 * @param  input  element - the input field attached to the date picker or
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7483
	 *					event - if triggered by focus
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7484
	 */
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7485
	_showDatepicker: function(input) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7486
		input = input.target || input;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7487
		if (input.nodeName.toLowerCase() !== "input") { // find from button/image trigger
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7488
			input = $("input", input.parentNode)[0];
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7489
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7490
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7491
		if ($.datepicker._isDisabledDatepicker(input) || $.datepicker._lastInput === input) { // already here
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7492
			return;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7493
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7494
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7495
		var inst, beforeShow, beforeShowSettings, isFixed,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7496
			offset, showAnim, duration;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7497
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7498
		inst = $.datepicker._getInst(input);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7499
		if ($.datepicker._curInst && $.datepicker._curInst !== inst) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7500
			$.datepicker._curInst.dpDiv.stop(true, true);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7501
			if ( inst && $.datepicker._datepickerShowing ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7502
				$.datepicker._hideDatepicker( $.datepicker._curInst.input[0] );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7503
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7504
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7505
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7506
		beforeShow = $.datepicker._get(inst, "beforeShow");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7507
		beforeShowSettings = beforeShow ? beforeShow.apply(input, [input, inst]) : {};
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7508
		if(beforeShowSettings === false){
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7509
			return;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7510
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7511
		extendRemove(inst.settings, beforeShowSettings);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7512
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7513
		inst.lastVal = null;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7514
		$.datepicker._lastInput = input;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7515
		$.datepicker._setDateFromField(inst);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7516
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7517
		if ($.datepicker._inDialog) { // hide cursor
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7518
			input.value = "";
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7519
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7520
		if (!$.datepicker._pos) { // position below input
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7521
			$.datepicker._pos = $.datepicker._findPos(input);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7522
			$.datepicker._pos[1] += input.offsetHeight; // add the height
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7523
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7524
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7525
		isFixed = false;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7526
		$(input).parents().each(function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7527
			isFixed |= $(this).css("position") === "fixed";
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7528
			return !isFixed;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7529
		});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7530
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7531
		offset = {left: $.datepicker._pos[0], top: $.datepicker._pos[1]};
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7532
		$.datepicker._pos = null;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7533
		//to avoid flashes on Firefox
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7534
		inst.dpDiv.empty();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7535
		// determine sizing offscreen
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7536
		inst.dpDiv.css({position: "absolute", display: "block", top: "-1000px"});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7537
		$.datepicker._updateDatepicker(inst);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7538
		// fix width for dynamic number of date pickers
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7539
		// and adjust position before showing
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7540
		offset = $.datepicker._checkOffset(inst, offset, isFixed);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7541
		inst.dpDiv.css({position: ($.datepicker._inDialog && $.blockUI ?
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7542
			"static" : (isFixed ? "fixed" : "absolute")), display: "none",
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7543
			left: offset.left + "px", top: offset.top + "px"});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7544
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7545
		if (!inst.inline) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7546
			showAnim = $.datepicker._get(inst, "showAnim");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7547
			duration = $.datepicker._get(inst, "duration");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7548
			inst.dpDiv.zIndex($(input).zIndex()+1);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7549
			$.datepicker._datepickerShowing = true;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7550
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7551
			if ( $.effects && $.effects.effect[ showAnim ] ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7552
				inst.dpDiv.show(showAnim, $.datepicker._get(inst, "showOptions"), duration);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7553
			} else {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7554
				inst.dpDiv[showAnim || "show"](showAnim ? duration : null);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7555
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7556
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7557
			if ( $.datepicker._shouldFocusInput( inst ) ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7558
				inst.input.focus();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7559
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7560
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7561
			$.datepicker._curInst = inst;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7562
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7563
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7564
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7565
	/* Generate the date picker content. */
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7566
	_updateDatepicker: function(inst) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7567
		this.maxRows = 4; //Reset the max number of rows being displayed (see #7043)
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7568
		instActive = inst; // for delegate hover events
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7569
		inst.dpDiv.empty().append(this._generateHTML(inst));
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7570
		this._attachHandlers(inst);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7571
		inst.dpDiv.find("." + this._dayOverClass + " a").mouseover();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7572
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7573
		var origyearshtml,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7574
			numMonths = this._getNumberOfMonths(inst),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7575
			cols = numMonths[1],
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7576
			width = 17;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7577
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7578
		inst.dpDiv.removeClass("ui-datepicker-multi-2 ui-datepicker-multi-3 ui-datepicker-multi-4").width("");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7579
		if (cols > 1) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7580
			inst.dpDiv.addClass("ui-datepicker-multi-" + cols).css("width", (width * cols) + "em");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7581
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7582
		inst.dpDiv[(numMonths[0] !== 1 || numMonths[1] !== 1 ? "add" : "remove") +
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7583
			"Class"]("ui-datepicker-multi");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7584
		inst.dpDiv[(this._get(inst, "isRTL") ? "add" : "remove") +
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7585
			"Class"]("ui-datepicker-rtl");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7586
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7587
		if (inst === $.datepicker._curInst && $.datepicker._datepickerShowing && $.datepicker._shouldFocusInput( inst ) ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7588
			inst.input.focus();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7589
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7590
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7591
		// deffered render of the years select (to avoid flashes on Firefox)
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7592
		if( inst.yearshtml ){
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7593
			origyearshtml = inst.yearshtml;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7594
			setTimeout(function(){
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7595
				//assure that inst.yearshtml didn't change.
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7596
				if( origyearshtml === inst.yearshtml && inst.yearshtml ){
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7597
					inst.dpDiv.find("select.ui-datepicker-year:first").replaceWith(inst.yearshtml);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7598
				}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7599
				origyearshtml = inst.yearshtml = null;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7600
			}, 0);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7601
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7602
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7603
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7604
	// #6694 - don't focus the input if it's already focused
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7605
	// this breaks the change event in IE
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7606
	// Support: IE and jQuery <1.9
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7607
	_shouldFocusInput: function( inst ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7608
		return inst.input && inst.input.is( ":visible" ) && !inst.input.is( ":disabled" ) && !inst.input.is( ":focus" );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7609
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7610
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7611
	/* Check positioning to remain on screen. */
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7612
	_checkOffset: function(inst, offset, isFixed) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7613
		var dpWidth = inst.dpDiv.outerWidth(),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7614
			dpHeight = inst.dpDiv.outerHeight(),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7615
			inputWidth = inst.input ? inst.input.outerWidth() : 0,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7616
			inputHeight = inst.input ? inst.input.outerHeight() : 0,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7617
			viewWidth = document.documentElement.clientWidth + (isFixed ? 0 : $(document).scrollLeft()),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7618
			viewHeight = document.documentElement.clientHeight + (isFixed ? 0 : $(document).scrollTop());
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7619
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7620
		offset.left -= (this._get(inst, "isRTL") ? (dpWidth - inputWidth) : 0);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7621
		offset.left -= (isFixed && offset.left === inst.input.offset().left) ? $(document).scrollLeft() : 0;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7622
		offset.top -= (isFixed && offset.top === (inst.input.offset().top + inputHeight)) ? $(document).scrollTop() : 0;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7623
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7624
		// now check if datepicker is showing outside window viewport - move to a better place if so.
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7625
		offset.left -= Math.min(offset.left, (offset.left + dpWidth > viewWidth && viewWidth > dpWidth) ?
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7626
			Math.abs(offset.left + dpWidth - viewWidth) : 0);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7627
		offset.top -= Math.min(offset.top, (offset.top + dpHeight > viewHeight && viewHeight > dpHeight) ?
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7628
			Math.abs(dpHeight + inputHeight) : 0);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7629
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7630
		return offset;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7631
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7632
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7633
	/* Find an object's position on the screen. */
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7634
	_findPos: function(obj) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7635
		var position,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7636
			inst = this._getInst(obj),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7637
			isRTL = this._get(inst, "isRTL");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7638
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7639
		while (obj && (obj.type === "hidden" || obj.nodeType !== 1 || $.expr.filters.hidden(obj))) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7640
			obj = obj[isRTL ? "previousSibling" : "nextSibling"];
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7641
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7642
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7643
		position = $(obj).offset();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7644
		return [position.left, position.top];
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7645
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7646
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7647
	/* Hide the date picker from view.
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7648
	 * @param  input  element - the input field attached to the date picker
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7649
	 */
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7650
	_hideDatepicker: function(input) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7651
		var showAnim, duration, postProcess, onClose,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7652
			inst = this._curInst;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7653
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7654
		if (!inst || (input && inst !== $.data(input, PROP_NAME))) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7655
			return;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7656
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7657
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7658
		if (this._datepickerShowing) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7659
			showAnim = this._get(inst, "showAnim");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7660
			duration = this._get(inst, "duration");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7661
			postProcess = function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7662
				$.datepicker._tidyDialog(inst);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7663
			};
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7664
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7665
			// DEPRECATED: after BC for 1.8.x $.effects[ showAnim ] is not needed
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7666
			if ( $.effects && ( $.effects.effect[ showAnim ] || $.effects[ showAnim ] ) ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7667
				inst.dpDiv.hide(showAnim, $.datepicker._get(inst, "showOptions"), duration, postProcess);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7668
			} else {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7669
				inst.dpDiv[(showAnim === "slideDown" ? "slideUp" :
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7670
					(showAnim === "fadeIn" ? "fadeOut" : "hide"))]((showAnim ? duration : null), postProcess);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7671
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7672
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7673
			if (!showAnim) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7674
				postProcess();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7675
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7676
			this._datepickerShowing = false;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7677
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7678
			onClose = this._get(inst, "onClose");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7679
			if (onClose) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7680
				onClose.apply((inst.input ? inst.input[0] : null), [(inst.input ? inst.input.val() : ""), inst]);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7681
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7682
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7683
			this._lastInput = null;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7684
			if (this._inDialog) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7685
				this._dialogInput.css({ position: "absolute", left: "0", top: "-100px" });
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7686
				if ($.blockUI) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7687
					$.unblockUI();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7688
					$("body").append(this.dpDiv);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7689
				}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7690
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7691
			this._inDialog = false;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7692
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7693
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7694
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7695
	/* Tidy up after a dialog display. */
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7696
	_tidyDialog: function(inst) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7697
		inst.dpDiv.removeClass(this._dialogClass).unbind(".ui-datepicker-calendar");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7698
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7699
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7700
	/* Close date picker if clicked elsewhere. */
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7701
	_checkExternalClick: function(event) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7702
		if (!$.datepicker._curInst) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7703
			return;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7704
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7705
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7706
		var $target = $(event.target),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7707
			inst = $.datepicker._getInst($target[0]);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7708
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7709
		if ( ( ( $target[0].id !== $.datepicker._mainDivId &&
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7710
				$target.parents("#" + $.datepicker._mainDivId).length === 0 &&
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7711
				!$target.hasClass($.datepicker.markerClassName) &&
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7712
				!$target.closest("." + $.datepicker._triggerClass).length &&
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7713
				$.datepicker._datepickerShowing && !($.datepicker._inDialog && $.blockUI) ) ) ||
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7714
			( $target.hasClass($.datepicker.markerClassName) && $.datepicker._curInst !== inst ) ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7715
				$.datepicker._hideDatepicker();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7716
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7717
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7718
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7719
	/* Adjust one of the date sub-fields. */
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7720
	_adjustDate: function(id, offset, period) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7721
		var target = $(id),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7722
			inst = this._getInst(target[0]);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7723
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7724
		if (this._isDisabledDatepicker(target[0])) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7725
			return;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7726
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7727
		this._adjustInstDate(inst, offset +
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7728
			(period === "M" ? this._get(inst, "showCurrentAtPos") : 0), // undo positioning
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7729
			period);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7730
		this._updateDatepicker(inst);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7731
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7732
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7733
	/* Action for current link. */
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7734
	_gotoToday: function(id) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7735
		var date,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7736
			target = $(id),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7737
			inst = this._getInst(target[0]);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7738
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7739
		if (this._get(inst, "gotoCurrent") && inst.currentDay) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7740
			inst.selectedDay = inst.currentDay;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7741
			inst.drawMonth = inst.selectedMonth = inst.currentMonth;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7742
			inst.drawYear = inst.selectedYear = inst.currentYear;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7743
		} else {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7744
			date = new Date();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7745
			inst.selectedDay = date.getDate();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7746
			inst.drawMonth = inst.selectedMonth = date.getMonth();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7747
			inst.drawYear = inst.selectedYear = date.getFullYear();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7748
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7749
		this._notifyChange(inst);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7750
		this._adjustDate(target);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7751
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7752
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7753
	/* Action for selecting a new month/year. */
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7754
	_selectMonthYear: function(id, select, period) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7755
		var target = $(id),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7756
			inst = this._getInst(target[0]);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7757
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7758
		inst["selected" + (period === "M" ? "Month" : "Year")] =
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7759
		inst["draw" + (period === "M" ? "Month" : "Year")] =
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7760
			parseInt(select.options[select.selectedIndex].value,10);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7761
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7762
		this._notifyChange(inst);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7763
		this._adjustDate(target);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7764
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7765
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7766
	/* Action for selecting a day. */
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7767
	_selectDay: function(id, month, year, td) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7768
		var inst,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7769
			target = $(id);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7770
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7771
		if ($(td).hasClass(this._unselectableClass) || this._isDisabledDatepicker(target[0])) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7772
			return;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7773
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7774
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7775
		inst = this._getInst(target[0]);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7776
		inst.selectedDay = inst.currentDay = $("a", td).html();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7777
		inst.selectedMonth = inst.currentMonth = month;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7778
		inst.selectedYear = inst.currentYear = year;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7779
		this._selectDate(id, this._formatDate(inst,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7780
			inst.currentDay, inst.currentMonth, inst.currentYear));
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7781
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7782
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7783
	/* Erase the input field and hide the date picker. */
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7784
	_clearDate: function(id) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7785
		var target = $(id);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7786
		this._selectDate(target, "");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7787
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7788
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7789
	/* Update the input field with the selected date. */
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7790
	_selectDate: function(id, dateStr) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7791
		var onSelect,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7792
			target = $(id),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7793
			inst = this._getInst(target[0]);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7794
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7795
		dateStr = (dateStr != null ? dateStr : this._formatDate(inst));
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7796
		if (inst.input) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7797
			inst.input.val(dateStr);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7798
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7799
		this._updateAlternate(inst);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7800
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7801
		onSelect = this._get(inst, "onSelect");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7802
		if (onSelect) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7803
			onSelect.apply((inst.input ? inst.input[0] : null), [dateStr, inst]);  // trigger custom callback
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7804
		} else if (inst.input) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7805
			inst.input.trigger("change"); // fire the change event
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7806
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7807
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7808
		if (inst.inline){
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7809
			this._updateDatepicker(inst);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7810
		} else {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7811
			this._hideDatepicker();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7812
			this._lastInput = inst.input[0];
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7813
			if (typeof(inst.input[0]) !== "object") {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7814
				inst.input.focus(); // restore focus
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7815
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7816
			this._lastInput = null;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7817
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7818
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7819
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7820
	/* Update any alternate field to synchronise with the main field. */
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7821
	_updateAlternate: function(inst) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7822
		var altFormat, date, dateStr,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7823
			altField = this._get(inst, "altField");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7824
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7825
		if (altField) { // update alternate field too
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7826
			altFormat = this._get(inst, "altFormat") || this._get(inst, "dateFormat");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7827
			date = this._getDate(inst);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7828
			dateStr = this.formatDate(altFormat, date, this._getFormatConfig(inst));
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7829
			$(altField).each(function() { $(this).val(dateStr); });
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7830
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7831
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7832
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7833
	/* Set as beforeShowDay function to prevent selection of weekends.
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7834
	 * @param  date  Date - the date to customise
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7835
	 * @return [boolean, string] - is this date selectable?, what is its CSS class?
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7836
	 */
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7837
	noWeekends: function(date) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7838
		var day = date.getDay();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7839
		return [(day > 0 && day < 6), ""];
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7840
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7841
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7842
	/* Set as calculateWeek to determine the week of the year based on the ISO 8601 definition.
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7843
	 * @param  date  Date - the date to get the week for
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7844
	 * @return  number - the number of the week within the year that contains this date
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7845
	 */
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7846
	iso8601Week: function(date) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7847
		var time,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7848
			checkDate = new Date(date.getTime());
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7849
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7850
		// Find Thursday of this week starting on Monday
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7851
		checkDate.setDate(checkDate.getDate() + 4 - (checkDate.getDay() || 7));
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7852
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7853
		time = checkDate.getTime();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7854
		checkDate.setMonth(0); // Compare with Jan 1
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7855
		checkDate.setDate(1);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7856
		return Math.floor(Math.round((time - checkDate) / 86400000) / 7) + 1;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7857
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7858
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7859
	/* Parse a string value into a date object.
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7860
	 * See formatDate below for the possible formats.
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7861
	 *
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7862
	 * @param  format string - the expected format of the date
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7863
	 * @param  value string - the date in the above format
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7864
	 * @param  settings Object - attributes include:
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7865
	 *					shortYearCutoff  number - the cutoff year for determining the century (optional)
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7866
	 *					dayNamesShort	string[7] - abbreviated names of the days from Sunday (optional)
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7867
	 *					dayNames		string[7] - names of the days from Sunday (optional)
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7868
	 *					monthNamesShort string[12] - abbreviated names of the months (optional)
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7869
	 *					monthNames		string[12] - names of the months (optional)
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7870
	 * @return  Date - the extracted date value or null if value is blank
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7871
	 */
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7872
	parseDate: function (format, value, settings) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7873
		if (format == null || value == null) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7874
			throw "Invalid arguments";
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7875
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7876
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7877
		value = (typeof value === "object" ? value.toString() : value + "");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7878
		if (value === "") {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7879
			return null;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7880
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7881
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7882
		var iFormat, dim, extra,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7883
			iValue = 0,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7884
			shortYearCutoffTemp = (settings ? settings.shortYearCutoff : null) || this._defaults.shortYearCutoff,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7885
			shortYearCutoff = (typeof shortYearCutoffTemp !== "string" ? shortYearCutoffTemp :
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7886
				new Date().getFullYear() % 100 + parseInt(shortYearCutoffTemp, 10)),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7887
			dayNamesShort = (settings ? settings.dayNamesShort : null) || this._defaults.dayNamesShort,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7888
			dayNames = (settings ? settings.dayNames : null) || this._defaults.dayNames,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7889
			monthNamesShort = (settings ? settings.monthNamesShort : null) || this._defaults.monthNamesShort,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7890
			monthNames = (settings ? settings.monthNames : null) || this._defaults.monthNames,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7891
			year = -1,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7892
			month = -1,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7893
			day = -1,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7894
			doy = -1,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7895
			literal = false,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7896
			date,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7897
			// Check whether a format character is doubled
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7898
			lookAhead = function(match) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7899
				var matches = (iFormat + 1 < format.length && format.charAt(iFormat + 1) === match);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7900
				if (matches) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7901
					iFormat++;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7902
				}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7903
				return matches;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7904
			},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7905
			// Extract a number from the string value
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7906
			getNumber = function(match) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7907
				var isDoubled = lookAhead(match),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7908
					size = (match === "@" ? 14 : (match === "!" ? 20 :
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7909
					(match === "y" && isDoubled ? 4 : (match === "o" ? 3 : 2)))),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7910
					digits = new RegExp("^\\d{1," + size + "}"),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7911
					num = value.substring(iValue).match(digits);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7912
				if (!num) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7913
					throw "Missing number at position " + iValue;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7914
				}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7915
				iValue += num[0].length;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7916
				return parseInt(num[0], 10);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7917
			},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7918
			// Extract a name from the string value and convert to an index
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7919
			getName = function(match, shortNames, longNames) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7920
				var index = -1,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7921
					names = $.map(lookAhead(match) ? longNames : shortNames, function (v, k) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7922
						return [ [k, v] ];
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7923
					}).sort(function (a, b) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7924
						return -(a[1].length - b[1].length);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7925
					});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7926
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7927
				$.each(names, function (i, pair) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7928
					var name = pair[1];
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7929
					if (value.substr(iValue, name.length).toLowerCase() === name.toLowerCase()) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7930
						index = pair[0];
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7931
						iValue += name.length;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7932
						return false;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7933
					}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7934
				});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7935
				if (index !== -1) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7936
					return index + 1;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7937
				} else {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7938
					throw "Unknown name at position " + iValue;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7939
				}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7940
			},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7941
			// Confirm that a literal character matches the string value
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7942
			checkLiteral = function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7943
				if (value.charAt(iValue) !== format.charAt(iFormat)) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7944
					throw "Unexpected literal at position " + iValue;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7945
				}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7946
				iValue++;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7947
			};
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7948
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7949
		for (iFormat = 0; iFormat < format.length; iFormat++) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7950
			if (literal) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7951
				if (format.charAt(iFormat) === "'" && !lookAhead("'")) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7952
					literal = false;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7953
				} else {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7954
					checkLiteral();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7955
				}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7956
			} else {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7957
				switch (format.charAt(iFormat)) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7958
					case "d":
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7959
						day = getNumber("d");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7960
						break;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7961
					case "D":
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7962
						getName("D", dayNamesShort, dayNames);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7963
						break;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7964
					case "o":
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7965
						doy = getNumber("o");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7966
						break;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7967
					case "m":
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7968
						month = getNumber("m");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7969
						break;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7970
					case "M":
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7971
						month = getName("M", monthNamesShort, monthNames);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7972
						break;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7973
					case "y":
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7974
						year = getNumber("y");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7975
						break;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7976
					case "@":
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7977
						date = new Date(getNumber("@"));
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7978
						year = date.getFullYear();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7979
						month = date.getMonth() + 1;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7980
						day = date.getDate();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7981
						break;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7982
					case "!":
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7983
						date = new Date((getNumber("!") - this._ticksTo1970) / 10000);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7984
						year = date.getFullYear();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7985
						month = date.getMonth() + 1;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7986
						day = date.getDate();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7987
						break;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7988
					case "'":
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7989
						if (lookAhead("'")){
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7990
							checkLiteral();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7991
						} else {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7992
							literal = true;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7993
						}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7994
						break;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7995
					default:
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7996
						checkLiteral();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7997
				}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7998
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  7999
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8000
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8001
		if (iValue < value.length){
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8002
			extra = value.substr(iValue);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8003
			if (!/^\s+/.test(extra)) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8004
				throw "Extra/unparsed characters found in date: " + extra;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8005
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8006
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8007
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8008
		if (year === -1) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8009
			year = new Date().getFullYear();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8010
		} else if (year < 100) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8011
			year += new Date().getFullYear() - new Date().getFullYear() % 100 +
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8012
				(year <= shortYearCutoff ? 0 : -100);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8013
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8014
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8015
		if (doy > -1) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8016
			month = 1;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8017
			day = doy;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8018
			do {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8019
				dim = this._getDaysInMonth(year, month - 1);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8020
				if (day <= dim) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8021
					break;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8022
				}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8023
				month++;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8024
				day -= dim;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8025
			} while (true);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8026
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8027
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8028
		date = this._daylightSavingAdjust(new Date(year, month - 1, day));
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8029
		if (date.getFullYear() !== year || date.getMonth() + 1 !== month || date.getDate() !== day) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8030
			throw "Invalid date"; // E.g. 31/02/00
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8031
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8032
		return date;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8033
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8034
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8035
	/* Standard date formats. */
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8036
	ATOM: "yy-mm-dd", // RFC 3339 (ISO 8601)
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8037
	COOKIE: "D, dd M yy",
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8038
	ISO_8601: "yy-mm-dd",
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8039
	RFC_822: "D, d M y",
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8040
	RFC_850: "DD, dd-M-y",
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8041
	RFC_1036: "D, d M y",
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8042
	RFC_1123: "D, d M yy",
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8043
	RFC_2822: "D, d M yy",
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8044
	RSS: "D, d M y", // RFC 822
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8045
	TICKS: "!",
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8046
	TIMESTAMP: "@",
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8047
	W3C: "yy-mm-dd", // ISO 8601
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8048
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8049
	_ticksTo1970: (((1970 - 1) * 365 + Math.floor(1970 / 4) - Math.floor(1970 / 100) +
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8050
		Math.floor(1970 / 400)) * 24 * 60 * 60 * 10000000),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8051
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8052
	/* Format a date object into a string value.
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8053
	 * The format can be combinations of the following:
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8054
	 * d  - day of month (no leading zero)
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8055
	 * dd - day of month (two digit)
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8056
	 * o  - day of year (no leading zeros)
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8057
	 * oo - day of year (three digit)
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8058
	 * D  - day name short
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8059
	 * DD - day name long
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8060
	 * m  - month of year (no leading zero)
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8061
	 * mm - month of year (two digit)
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8062
	 * M  - month name short
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8063
	 * MM - month name long
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8064
	 * y  - year (two digit)
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8065
	 * yy - year (four digit)
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8066
	 * @ - Unix timestamp (ms since 01/01/1970)
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8067
	 * ! - Windows ticks (100ns since 01/01/0001)
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8068
	 * "..." - literal text
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8069
	 * '' - single quote
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8070
	 *
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8071
	 * @param  format string - the desired format of the date
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8072
	 * @param  date Date - the date value to format
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8073
	 * @param  settings Object - attributes include:
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8074
	 *					dayNamesShort	string[7] - abbreviated names of the days from Sunday (optional)
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8075
	 *					dayNames		string[7] - names of the days from Sunday (optional)
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8076
	 *					monthNamesShort string[12] - abbreviated names of the months (optional)
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8077
	 *					monthNames		string[12] - names of the months (optional)
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8078
	 * @return  string - the date in the above format
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8079
	 */
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8080
	formatDate: function (format, date, settings) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8081
		if (!date) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8082
			return "";
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8083
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8084
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8085
		var iFormat,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8086
			dayNamesShort = (settings ? settings.dayNamesShort : null) || this._defaults.dayNamesShort,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8087
			dayNames = (settings ? settings.dayNames : null) || this._defaults.dayNames,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8088
			monthNamesShort = (settings ? settings.monthNamesShort : null) || this._defaults.monthNamesShort,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8089
			monthNames = (settings ? settings.monthNames : null) || this._defaults.monthNames,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8090
			// Check whether a format character is doubled
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8091
			lookAhead = function(match) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8092
				var matches = (iFormat + 1 < format.length && format.charAt(iFormat + 1) === match);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8093
				if (matches) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8094
					iFormat++;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8095
				}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8096
				return matches;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8097
			},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8098
			// Format a number, with leading zero if necessary
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8099
			formatNumber = function(match, value, len) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8100
				var num = "" + value;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8101
				if (lookAhead(match)) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8102
					while (num.length < len) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8103
						num = "0" + num;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8104
					}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8105
				}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8106
				return num;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8107
			},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8108
			// Format a name, short or long as requested
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8109
			formatName = function(match, value, shortNames, longNames) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8110
				return (lookAhead(match) ? longNames[value] : shortNames[value]);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8111
			},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8112
			output = "",
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8113
			literal = false;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8114
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8115
		if (date) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8116
			for (iFormat = 0; iFormat < format.length; iFormat++) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8117
				if (literal) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8118
					if (format.charAt(iFormat) === "'" && !lookAhead("'")) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8119
						literal = false;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8120
					} else {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8121
						output += format.charAt(iFormat);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8122
					}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8123
				} else {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8124
					switch (format.charAt(iFormat)) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8125
						case "d":
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8126
							output += formatNumber("d", date.getDate(), 2);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8127
							break;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8128
						case "D":
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8129
							output += formatName("D", date.getDay(), dayNamesShort, dayNames);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8130
							break;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8131
						case "o":
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8132
							output += formatNumber("o",
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8133
								Math.round((new Date(date.getFullYear(), date.getMonth(), date.getDate()).getTime() - new Date(date.getFullYear(), 0, 0).getTime()) / 86400000), 3);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8134
							break;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8135
						case "m":
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8136
							output += formatNumber("m", date.getMonth() + 1, 2);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8137
							break;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8138
						case "M":
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8139
							output += formatName("M", date.getMonth(), monthNamesShort, monthNames);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8140
							break;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8141
						case "y":
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8142
							output += (lookAhead("y") ? date.getFullYear() :
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8143
								(date.getYear() % 100 < 10 ? "0" : "") + date.getYear() % 100);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8144
							break;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8145
						case "@":
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8146
							output += date.getTime();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8147
							break;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8148
						case "!":
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8149
							output += date.getTime() * 10000 + this._ticksTo1970;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8150
							break;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8151
						case "'":
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8152
							if (lookAhead("'")) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8153
								output += "'";
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8154
							} else {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8155
								literal = true;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8156
							}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8157
							break;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8158
						default:
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8159
							output += format.charAt(iFormat);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8160
					}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8161
				}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8162
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8163
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8164
		return output;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8165
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8166
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8167
	/* Extract all possible characters from the date format. */
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8168
	_possibleChars: function (format) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8169
		var iFormat,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8170
			chars = "",
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8171
			literal = false,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8172
			// Check whether a format character is doubled
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8173
			lookAhead = function(match) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8174
				var matches = (iFormat + 1 < format.length && format.charAt(iFormat + 1) === match);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8175
				if (matches) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8176
					iFormat++;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8177
				}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8178
				return matches;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8179
			};
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8180
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8181
		for (iFormat = 0; iFormat < format.length; iFormat++) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8182
			if (literal) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8183
				if (format.charAt(iFormat) === "'" && !lookAhead("'")) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8184
					literal = false;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8185
				} else {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8186
					chars += format.charAt(iFormat);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8187
				}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8188
			} else {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8189
				switch (format.charAt(iFormat)) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8190
					case "d": case "m": case "y": case "@":
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8191
						chars += "0123456789";
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8192
						break;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8193
					case "D": case "M":
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8194
						return null; // Accept anything
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8195
					case "'":
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8196
						if (lookAhead("'")) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8197
							chars += "'";
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8198
						} else {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8199
							literal = true;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8200
						}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8201
						break;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8202
					default:
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8203
						chars += format.charAt(iFormat);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8204
				}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8205
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8206
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8207
		return chars;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8208
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8209
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8210
	/* Get a setting value, defaulting if necessary. */
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8211
	_get: function(inst, name) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8212
		return inst.settings[name] !== undefined ?
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8213
			inst.settings[name] : this._defaults[name];
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8214
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8215
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8216
	/* Parse existing date and initialise date picker. */
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8217
	_setDateFromField: function(inst, noDefault) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8218
		if (inst.input.val() === inst.lastVal) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8219
			return;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8220
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8221
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8222
		var dateFormat = this._get(inst, "dateFormat"),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8223
			dates = inst.lastVal = inst.input ? inst.input.val() : null,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8224
			defaultDate = this._getDefaultDate(inst),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8225
			date = defaultDate,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8226
			settings = this._getFormatConfig(inst);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8227
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8228
		try {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8229
			date = this.parseDate(dateFormat, dates, settings) || defaultDate;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8230
		} catch (event) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8231
			dates = (noDefault ? "" : dates);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8232
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8233
		inst.selectedDay = date.getDate();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8234
		inst.drawMonth = inst.selectedMonth = date.getMonth();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8235
		inst.drawYear = inst.selectedYear = date.getFullYear();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8236
		inst.currentDay = (dates ? date.getDate() : 0);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8237
		inst.currentMonth = (dates ? date.getMonth() : 0);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8238
		inst.currentYear = (dates ? date.getFullYear() : 0);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8239
		this._adjustInstDate(inst);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8240
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8241
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8242
	/* Retrieve the default date shown on opening. */
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8243
	_getDefaultDate: function(inst) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8244
		return this._restrictMinMax(inst,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8245
			this._determineDate(inst, this._get(inst, "defaultDate"), new Date()));
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8246
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8247
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8248
	/* A date may be specified as an exact value or a relative one. */
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8249
	_determineDate: function(inst, date, defaultDate) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8250
		var offsetNumeric = function(offset) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8251
				var date = new Date();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8252
				date.setDate(date.getDate() + offset);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8253
				return date;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8254
			},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8255
			offsetString = function(offset) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8256
				try {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8257
					return $.datepicker.parseDate($.datepicker._get(inst, "dateFormat"),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8258
						offset, $.datepicker._getFormatConfig(inst));
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8259
				}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8260
				catch (e) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8261
					// Ignore
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8262
				}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8263
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8264
				var date = (offset.toLowerCase().match(/^c/) ?
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8265
					$.datepicker._getDate(inst) : null) || new Date(),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8266
					year = date.getFullYear(),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8267
					month = date.getMonth(),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8268
					day = date.getDate(),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8269
					pattern = /([+\-]?[0-9]+)\s*(d|D|w|W|m|M|y|Y)?/g,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8270
					matches = pattern.exec(offset);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8271
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8272
				while (matches) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8273
					switch (matches[2] || "d") {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8274
						case "d" : case "D" :
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8275
							day += parseInt(matches[1],10); break;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8276
						case "w" : case "W" :
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8277
							day += parseInt(matches[1],10) * 7; break;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8278
						case "m" : case "M" :
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8279
							month += parseInt(matches[1],10);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8280
							day = Math.min(day, $.datepicker._getDaysInMonth(year, month));
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8281
							break;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8282
						case "y": case "Y" :
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8283
							year += parseInt(matches[1],10);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8284
							day = Math.min(day, $.datepicker._getDaysInMonth(year, month));
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8285
							break;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8286
					}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8287
					matches = pattern.exec(offset);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8288
				}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8289
				return new Date(year, month, day);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8290
			},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8291
			newDate = (date == null || date === "" ? defaultDate : (typeof date === "string" ? offsetString(date) :
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8292
				(typeof date === "number" ? (isNaN(date) ? defaultDate : offsetNumeric(date)) : new Date(date.getTime()))));
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8293
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8294
		newDate = (newDate && newDate.toString() === "Invalid Date" ? defaultDate : newDate);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8295
		if (newDate) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8296
			newDate.setHours(0);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8297
			newDate.setMinutes(0);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8298
			newDate.setSeconds(0);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8299
			newDate.setMilliseconds(0);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8300
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8301
		return this._daylightSavingAdjust(newDate);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8302
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8303
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8304
	/* Handle switch to/from daylight saving.
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8305
	 * Hours may be non-zero on daylight saving cut-over:
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8306
	 * > 12 when midnight changeover, but then cannot generate
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8307
	 * midnight datetime, so jump to 1AM, otherwise reset.
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8308
	 * @param  date  (Date) the date to check
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8309
	 * @return  (Date) the corrected date
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8310
	 */
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8311
	_daylightSavingAdjust: function(date) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8312
		if (!date) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8313
			return null;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8314
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8315
		date.setHours(date.getHours() > 12 ? date.getHours() + 2 : 0);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8316
		return date;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8317
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8318
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8319
	/* Set the date(s) directly. */
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8320
	_setDate: function(inst, date, noChange) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8321
		var clear = !date,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8322
			origMonth = inst.selectedMonth,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8323
			origYear = inst.selectedYear,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8324
			newDate = this._restrictMinMax(inst, this._determineDate(inst, date, new Date()));
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8325
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8326
		inst.selectedDay = inst.currentDay = newDate.getDate();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8327
		inst.drawMonth = inst.selectedMonth = inst.currentMonth = newDate.getMonth();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8328
		inst.drawYear = inst.selectedYear = inst.currentYear = newDate.getFullYear();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8329
		if ((origMonth !== inst.selectedMonth || origYear !== inst.selectedYear) && !noChange) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8330
			this._notifyChange(inst);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8331
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8332
		this._adjustInstDate(inst);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8333
		if (inst.input) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8334
			inst.input.val(clear ? "" : this._formatDate(inst));
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8335
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8336
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8337
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8338
	/* Retrieve the date(s) directly. */
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8339
	_getDate: function(inst) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8340
		var startDate = (!inst.currentYear || (inst.input && inst.input.val() === "") ? null :
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8341
			this._daylightSavingAdjust(new Date(
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8342
			inst.currentYear, inst.currentMonth, inst.currentDay)));
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8343
			return startDate;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8344
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8345
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8346
	/* Attach the onxxx handlers.  These are declared statically so
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8347
	 * they work with static code transformers like Caja.
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8348
	 */
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8349
	_attachHandlers: function(inst) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8350
		var stepMonths = this._get(inst, "stepMonths"),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8351
			id = "#" + inst.id.replace( /\\\\/g, "\\" );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8352
		inst.dpDiv.find("[data-handler]").map(function () {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8353
			var handler = {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8354
				prev: function () {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8355
					$.datepicker._adjustDate(id, -stepMonths, "M");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8356
				},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8357
				next: function () {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8358
					$.datepicker._adjustDate(id, +stepMonths, "M");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8359
				},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8360
				hide: function () {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8361
					$.datepicker._hideDatepicker();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8362
				},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8363
				today: function () {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8364
					$.datepicker._gotoToday(id);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8365
				},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8366
				selectDay: function () {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8367
					$.datepicker._selectDay(id, +this.getAttribute("data-month"), +this.getAttribute("data-year"), this);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8368
					return false;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8369
				},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8370
				selectMonth: function () {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8371
					$.datepicker._selectMonthYear(id, this, "M");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8372
					return false;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8373
				},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8374
				selectYear: function () {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8375
					$.datepicker._selectMonthYear(id, this, "Y");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8376
					return false;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8377
				}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8378
			};
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8379
			$(this).bind(this.getAttribute("data-event"), handler[this.getAttribute("data-handler")]);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8380
		});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8381
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8382
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8383
	/* Generate the HTML for the current state of the date picker. */
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8384
	_generateHTML: function(inst) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8385
		var maxDraw, prevText, prev, nextText, next, currentText, gotoDate,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8386
			controls, buttonPanel, firstDay, showWeek, dayNames, dayNamesMin,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8387
			monthNames, monthNamesShort, beforeShowDay, showOtherMonths,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8388
			selectOtherMonths, defaultDate, html, dow, row, group, col, selectedDate,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8389
			cornerClass, calender, thead, day, daysInMonth, leadDays, curRows, numRows,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8390
			printDate, dRow, tbody, daySettings, otherMonth, unselectable,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8391
			tempDate = new Date(),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8392
			today = this._daylightSavingAdjust(
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8393
				new Date(tempDate.getFullYear(), tempDate.getMonth(), tempDate.getDate())), // clear time
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8394
			isRTL = this._get(inst, "isRTL"),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8395
			showButtonPanel = this._get(inst, "showButtonPanel"),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8396
			hideIfNoPrevNext = this._get(inst, "hideIfNoPrevNext"),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8397
			navigationAsDateFormat = this._get(inst, "navigationAsDateFormat"),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8398
			numMonths = this._getNumberOfMonths(inst),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8399
			showCurrentAtPos = this._get(inst, "showCurrentAtPos"),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8400
			stepMonths = this._get(inst, "stepMonths"),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8401
			isMultiMonth = (numMonths[0] !== 1 || numMonths[1] !== 1),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8402
			currentDate = this._daylightSavingAdjust((!inst.currentDay ? new Date(9999, 9, 9) :
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8403
				new Date(inst.currentYear, inst.currentMonth, inst.currentDay))),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8404
			minDate = this._getMinMaxDate(inst, "min"),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8405
			maxDate = this._getMinMaxDate(inst, "max"),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8406
			drawMonth = inst.drawMonth - showCurrentAtPos,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8407
			drawYear = inst.drawYear;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8408
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8409
		if (drawMonth < 0) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8410
			drawMonth += 12;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8411
			drawYear--;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8412
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8413
		if (maxDate) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8414
			maxDraw = this._daylightSavingAdjust(new Date(maxDate.getFullYear(),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8415
				maxDate.getMonth() - (numMonths[0] * numMonths[1]) + 1, maxDate.getDate()));
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8416
			maxDraw = (minDate && maxDraw < minDate ? minDate : maxDraw);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8417
			while (this._daylightSavingAdjust(new Date(drawYear, drawMonth, 1)) > maxDraw) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8418
				drawMonth--;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8419
				if (drawMonth < 0) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8420
					drawMonth = 11;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8421
					drawYear--;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8422
				}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8423
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8424
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8425
		inst.drawMonth = drawMonth;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8426
		inst.drawYear = drawYear;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8427
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8428
		prevText = this._get(inst, "prevText");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8429
		prevText = (!navigationAsDateFormat ? prevText : this.formatDate(prevText,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8430
			this._daylightSavingAdjust(new Date(drawYear, drawMonth - stepMonths, 1)),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8431
			this._getFormatConfig(inst)));
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8432
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8433
		prev = (this._canAdjustMonth(inst, -1, drawYear, drawMonth) ?
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8434
			"<a class='ui-datepicker-prev ui-corner-all' data-handler='prev' data-event='click'" +
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8435
			" title='" + prevText + "'><span class='ui-icon ui-icon-circle-triangle-" + ( isRTL ? "e" : "w") + "'>" + prevText + "</span></a>" :
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8436
			(hideIfNoPrevNext ? "" : "<a class='ui-datepicker-prev ui-corner-all ui-state-disabled' title='"+ prevText +"'><span class='ui-icon ui-icon-circle-triangle-" + ( isRTL ? "e" : "w") + "'>" + prevText + "</span></a>"));
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8437
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8438
		nextText = this._get(inst, "nextText");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8439
		nextText = (!navigationAsDateFormat ? nextText : this.formatDate(nextText,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8440
			this._daylightSavingAdjust(new Date(drawYear, drawMonth + stepMonths, 1)),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8441
			this._getFormatConfig(inst)));
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8442
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8443
		next = (this._canAdjustMonth(inst, +1, drawYear, drawMonth) ?
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8444
			"<a class='ui-datepicker-next ui-corner-all' data-handler='next' data-event='click'" +
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8445
			" title='" + nextText + "'><span class='ui-icon ui-icon-circle-triangle-" + ( isRTL ? "w" : "e") + "'>" + nextText + "</span></a>" :
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8446
			(hideIfNoPrevNext ? "" : "<a class='ui-datepicker-next ui-corner-all ui-state-disabled' title='"+ nextText + "'><span class='ui-icon ui-icon-circle-triangle-" + ( isRTL ? "w" : "e") + "'>" + nextText + "</span></a>"));
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8447
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8448
		currentText = this._get(inst, "currentText");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8449
		gotoDate = (this._get(inst, "gotoCurrent") && inst.currentDay ? currentDate : today);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8450
		currentText = (!navigationAsDateFormat ? currentText :
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8451
			this.formatDate(currentText, gotoDate, this._getFormatConfig(inst)));
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8452
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8453
		controls = (!inst.inline ? "<button type='button' class='ui-datepicker-close ui-state-default ui-priority-primary ui-corner-all' data-handler='hide' data-event='click'>" +
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8454
			this._get(inst, "closeText") + "</button>" : "");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8455
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8456
		buttonPanel = (showButtonPanel) ? "<div class='ui-datepicker-buttonpane ui-widget-content'>" + (isRTL ? controls : "") +
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8457
			(this._isInRange(inst, gotoDate) ? "<button type='button' class='ui-datepicker-current ui-state-default ui-priority-secondary ui-corner-all' data-handler='today' data-event='click'" +
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8458
			">" + currentText + "</button>" : "") + (isRTL ? "" : controls) + "</div>" : "";
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8459
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8460
		firstDay = parseInt(this._get(inst, "firstDay"),10);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8461
		firstDay = (isNaN(firstDay) ? 0 : firstDay);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8462
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8463
		showWeek = this._get(inst, "showWeek");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8464
		dayNames = this._get(inst, "dayNames");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8465
		dayNamesMin = this._get(inst, "dayNamesMin");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8466
		monthNames = this._get(inst, "monthNames");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8467
		monthNamesShort = this._get(inst, "monthNamesShort");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8468
		beforeShowDay = this._get(inst, "beforeShowDay");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8469
		showOtherMonths = this._get(inst, "showOtherMonths");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8470
		selectOtherMonths = this._get(inst, "selectOtherMonths");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8471
		defaultDate = this._getDefaultDate(inst);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8472
		html = "";
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8473
		dow;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8474
		for (row = 0; row < numMonths[0]; row++) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8475
			group = "";
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8476
			this.maxRows = 4;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8477
			for (col = 0; col < numMonths[1]; col++) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8478
				selectedDate = this._daylightSavingAdjust(new Date(drawYear, drawMonth, inst.selectedDay));
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8479
				cornerClass = " ui-corner-all";
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8480
				calender = "";
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8481
				if (isMultiMonth) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8482
					calender += "<div class='ui-datepicker-group";
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8483
					if (numMonths[1] > 1) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8484
						switch (col) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8485
							case 0: calender += " ui-datepicker-group-first";
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8486
								cornerClass = " ui-corner-" + (isRTL ? "right" : "left"); break;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8487
							case numMonths[1]-1: calender += " ui-datepicker-group-last";
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8488
								cornerClass = " ui-corner-" + (isRTL ? "left" : "right"); break;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8489
							default: calender += " ui-datepicker-group-middle"; cornerClass = ""; break;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8490
						}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8491
					}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8492
					calender += "'>";
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8493
				}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8494
				calender += "<div class='ui-datepicker-header ui-widget-header ui-helper-clearfix" + cornerClass + "'>" +
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8495
					(/all|left/.test(cornerClass) && row === 0 ? (isRTL ? next : prev) : "") +
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8496
					(/all|right/.test(cornerClass) && row === 0 ? (isRTL ? prev : next) : "") +
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8497
					this._generateMonthYearHeader(inst, drawMonth, drawYear, minDate, maxDate,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8498
					row > 0 || col > 0, monthNames, monthNamesShort) + // draw month headers
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8499
					"</div><table class='ui-datepicker-calendar'><thead>" +
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8500
					"<tr>";
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8501
				thead = (showWeek ? "<th class='ui-datepicker-week-col'>" + this._get(inst, "weekHeader") + "</th>" : "");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8502
				for (dow = 0; dow < 7; dow++) { // days of the week
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8503
					day = (dow + firstDay) % 7;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8504
					thead += "<th" + ((dow + firstDay + 6) % 7 >= 5 ? " class='ui-datepicker-week-end'" : "") + ">" +
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8505
						"<span title='" + dayNames[day] + "'>" + dayNamesMin[day] + "</span></th>";
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8506
				}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8507
				calender += thead + "</tr></thead><tbody>";
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8508
				daysInMonth = this._getDaysInMonth(drawYear, drawMonth);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8509
				if (drawYear === inst.selectedYear && drawMonth === inst.selectedMonth) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8510
					inst.selectedDay = Math.min(inst.selectedDay, daysInMonth);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8511
				}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8512
				leadDays = (this._getFirstDayOfMonth(drawYear, drawMonth) - firstDay + 7) % 7;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8513
				curRows = Math.ceil((leadDays + daysInMonth) / 7); // calculate the number of rows to generate
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8514
				numRows = (isMultiMonth ? this.maxRows > curRows ? this.maxRows : curRows : curRows); //If multiple months, use the higher number of rows (see #7043)
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8515
				this.maxRows = numRows;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8516
				printDate = this._daylightSavingAdjust(new Date(drawYear, drawMonth, 1 - leadDays));
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8517
				for (dRow = 0; dRow < numRows; dRow++) { // create date picker rows
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8518
					calender += "<tr>";
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8519
					tbody = (!showWeek ? "" : "<td class='ui-datepicker-week-col'>" +
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8520
						this._get(inst, "calculateWeek")(printDate) + "</td>");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8521
					for (dow = 0; dow < 7; dow++) { // create date picker days
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8522
						daySettings = (beforeShowDay ?
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8523
							beforeShowDay.apply((inst.input ? inst.input[0] : null), [printDate]) : [true, ""]);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8524
						otherMonth = (printDate.getMonth() !== drawMonth);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8525
						unselectable = (otherMonth && !selectOtherMonths) || !daySettings[0] ||
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8526
							(minDate && printDate < minDate) || (maxDate && printDate > maxDate);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8527
						tbody += "<td class='" +
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8528
							((dow + firstDay + 6) % 7 >= 5 ? " ui-datepicker-week-end" : "") + // highlight weekends
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8529
							(otherMonth ? " ui-datepicker-other-month" : "") + // highlight days from other months
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8530
							((printDate.getTime() === selectedDate.getTime() && drawMonth === inst.selectedMonth && inst._keyEvent) || // user pressed key
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8531
							(defaultDate.getTime() === printDate.getTime() && defaultDate.getTime() === selectedDate.getTime()) ?
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8532
							// or defaultDate is current printedDate and defaultDate is selectedDate
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8533
							" " + this._dayOverClass : "") + // highlight selected day
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8534
							(unselectable ? " " + this._unselectableClass + " ui-state-disabled": "") +  // highlight unselectable days
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8535
							(otherMonth && !showOtherMonths ? "" : " " + daySettings[1] + // highlight custom dates
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8536
							(printDate.getTime() === currentDate.getTime() ? " " + this._currentClass : "") + // highlight selected day
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8537
							(printDate.getTime() === today.getTime() ? " ui-datepicker-today" : "")) + "'" + // highlight today (if different)
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8538
							((!otherMonth || showOtherMonths) && daySettings[2] ? " title='" + daySettings[2].replace(/'/g, "&#39;") + "'" : "") + // cell title
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8539
							(unselectable ? "" : " data-handler='selectDay' data-event='click' data-month='" + printDate.getMonth() + "' data-year='" + printDate.getFullYear() + "'") + ">" + // actions
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8540
							(otherMonth && !showOtherMonths ? "&#xa0;" : // display for other months
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8541
							(unselectable ? "<span class='ui-state-default'>" + printDate.getDate() + "</span>" : "<a class='ui-state-default" +
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8542
							(printDate.getTime() === today.getTime() ? " ui-state-highlight" : "") +
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8543
							(printDate.getTime() === currentDate.getTime() ? " ui-state-active" : "") + // highlight selected day
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8544
							(otherMonth ? " ui-priority-secondary" : "") + // distinguish dates from other months
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8545
							"' href='#'>" + printDate.getDate() + "</a>")) + "</td>"; // display selectable date
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8546
						printDate.setDate(printDate.getDate() + 1);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8547
						printDate = this._daylightSavingAdjust(printDate);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8548
					}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8549
					calender += tbody + "</tr>";
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8550
				}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8551
				drawMonth++;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8552
				if (drawMonth > 11) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8553
					drawMonth = 0;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8554
					drawYear++;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8555
				}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8556
				calender += "</tbody></table>" + (isMultiMonth ? "</div>" +
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8557
							((numMonths[0] > 0 && col === numMonths[1]-1) ? "<div class='ui-datepicker-row-break'></div>" : "") : "");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8558
				group += calender;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8559
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8560
			html += group;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8561
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8562
		html += buttonPanel;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8563
		inst._keyEvent = false;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8564
		return html;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8565
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8566
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8567
	/* Generate the month and year header. */
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8568
	_generateMonthYearHeader: function(inst, drawMonth, drawYear, minDate, maxDate,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8569
			secondary, monthNames, monthNamesShort) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8570
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8571
		var inMinYear, inMaxYear, month, years, thisYear, determineYear, year, endYear,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8572
			changeMonth = this._get(inst, "changeMonth"),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8573
			changeYear = this._get(inst, "changeYear"),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8574
			showMonthAfterYear = this._get(inst, "showMonthAfterYear"),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8575
			html = "<div class='ui-datepicker-title'>",
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8576
			monthHtml = "";
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8577
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8578
		// month selection
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8579
		if (secondary || !changeMonth) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8580
			monthHtml += "<span class='ui-datepicker-month'>" + monthNames[drawMonth] + "</span>";
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8581
		} else {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8582
			inMinYear = (minDate && minDate.getFullYear() === drawYear);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8583
			inMaxYear = (maxDate && maxDate.getFullYear() === drawYear);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8584
			monthHtml += "<select class='ui-datepicker-month' data-handler='selectMonth' data-event='change'>";
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8585
			for ( month = 0; month < 12; month++) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8586
				if ((!inMinYear || month >= minDate.getMonth()) && (!inMaxYear || month <= maxDate.getMonth())) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8587
					monthHtml += "<option value='" + month + "'" +
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8588
						(month === drawMonth ? " selected='selected'" : "") +
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8589
						">" + monthNamesShort[month] + "</option>";
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8590
				}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8591
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8592
			monthHtml += "</select>";
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8593
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8594
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8595
		if (!showMonthAfterYear) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8596
			html += monthHtml + (secondary || !(changeMonth && changeYear) ? "&#xa0;" : "");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8597
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8598
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8599
		// year selection
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8600
		if ( !inst.yearshtml ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8601
			inst.yearshtml = "";
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8602
			if (secondary || !changeYear) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8603
				html += "<span class='ui-datepicker-year'>" + drawYear + "</span>";
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8604
			} else {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8605
				// determine range of years to display
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8606
				years = this._get(inst, "yearRange").split(":");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8607
				thisYear = new Date().getFullYear();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8608
				determineYear = function(value) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8609
					var year = (value.match(/c[+\-].*/) ? drawYear + parseInt(value.substring(1), 10) :
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8610
						(value.match(/[+\-].*/) ? thisYear + parseInt(value, 10) :
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8611
						parseInt(value, 10)));
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8612
					return (isNaN(year) ? thisYear : year);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8613
				};
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8614
				year = determineYear(years[0]);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8615
				endYear = Math.max(year, determineYear(years[1] || ""));
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8616
				year = (minDate ? Math.max(year, minDate.getFullYear()) : year);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8617
				endYear = (maxDate ? Math.min(endYear, maxDate.getFullYear()) : endYear);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8618
				inst.yearshtml += "<select class='ui-datepicker-year' data-handler='selectYear' data-event='change'>";
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8619
				for (; year <= endYear; year++) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8620
					inst.yearshtml += "<option value='" + year + "'" +
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8621
						(year === drawYear ? " selected='selected'" : "") +
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8622
						">" + year + "</option>";
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8623
				}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8624
				inst.yearshtml += "</select>";
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8625
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8626
				html += inst.yearshtml;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8627
				inst.yearshtml = null;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8628
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8629
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8630
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8631
		html += this._get(inst, "yearSuffix");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8632
		if (showMonthAfterYear) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8633
			html += (secondary || !(changeMonth && changeYear) ? "&#xa0;" : "") + monthHtml;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8634
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8635
		html += "</div>"; // Close datepicker_header
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8636
		return html;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8637
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8638
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8639
	/* Adjust one of the date sub-fields. */
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8640
	_adjustInstDate: function(inst, offset, period) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8641
		var year = inst.drawYear + (period === "Y" ? offset : 0),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8642
			month = inst.drawMonth + (period === "M" ? offset : 0),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8643
			day = Math.min(inst.selectedDay, this._getDaysInMonth(year, month)) + (period === "D" ? offset : 0),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8644
			date = this._restrictMinMax(inst, this._daylightSavingAdjust(new Date(year, month, day)));
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8645
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8646
		inst.selectedDay = date.getDate();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8647
		inst.drawMonth = inst.selectedMonth = date.getMonth();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8648
		inst.drawYear = inst.selectedYear = date.getFullYear();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8649
		if (period === "M" || period === "Y") {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8650
			this._notifyChange(inst);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8651
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8652
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8653
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8654
	/* Ensure a date is within any min/max bounds. */
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8655
	_restrictMinMax: function(inst, date) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8656
		var minDate = this._getMinMaxDate(inst, "min"),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8657
			maxDate = this._getMinMaxDate(inst, "max"),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8658
			newDate = (minDate && date < minDate ? minDate : date);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8659
		return (maxDate && newDate > maxDate ? maxDate : newDate);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8660
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8661
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8662
	/* Notify change of month/year. */
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8663
	_notifyChange: function(inst) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8664
		var onChange = this._get(inst, "onChangeMonthYear");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8665
		if (onChange) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8666
			onChange.apply((inst.input ? inst.input[0] : null),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8667
				[inst.selectedYear, inst.selectedMonth + 1, inst]);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8668
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8669
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8670
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8671
	/* Determine the number of months to show. */
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8672
	_getNumberOfMonths: function(inst) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8673
		var numMonths = this._get(inst, "numberOfMonths");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8674
		return (numMonths == null ? [1, 1] : (typeof numMonths === "number" ? [1, numMonths] : numMonths));
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8675
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8676
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8677
	/* Determine the current maximum date - ensure no time components are set. */
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8678
	_getMinMaxDate: function(inst, minMax) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8679
		return this._determineDate(inst, this._get(inst, minMax + "Date"), null);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8680
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8681
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8682
	/* Find the number of days in a given month. */
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8683
	_getDaysInMonth: function(year, month) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8684
		return 32 - this._daylightSavingAdjust(new Date(year, month, 32)).getDate();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8685
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8686
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8687
	/* Find the day of the week of the first of a month. */
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8688
	_getFirstDayOfMonth: function(year, month) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8689
		return new Date(year, month, 1).getDay();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8690
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8691
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8692
	/* Determines if we should allow a "next/prev" month display change. */
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8693
	_canAdjustMonth: function(inst, offset, curYear, curMonth) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8694
		var numMonths = this._getNumberOfMonths(inst),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8695
			date = this._daylightSavingAdjust(new Date(curYear,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8696
			curMonth + (offset < 0 ? offset : numMonths[0] * numMonths[1]), 1));
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8697
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8698
		if (offset < 0) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8699
			date.setDate(this._getDaysInMonth(date.getFullYear(), date.getMonth()));
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8700
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8701
		return this._isInRange(inst, date);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8702
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8703
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8704
	/* Is the given date in the accepted range? */
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8705
	_isInRange: function(inst, date) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8706
		var yearSplit, currentYear,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8707
			minDate = this._getMinMaxDate(inst, "min"),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8708
			maxDate = this._getMinMaxDate(inst, "max"),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8709
			minYear = null,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8710
			maxYear = null,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8711
			years = this._get(inst, "yearRange");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8712
			if (years){
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8713
				yearSplit = years.split(":");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8714
				currentYear = new Date().getFullYear();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8715
				minYear = parseInt(yearSplit[0], 10);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8716
				maxYear = parseInt(yearSplit[1], 10);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8717
				if ( yearSplit[0].match(/[+\-].*/) ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8718
					minYear += currentYear;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8719
				}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8720
				if ( yearSplit[1].match(/[+\-].*/) ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8721
					maxYear += currentYear;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8722
				}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8723
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8724
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8725
		return ((!minDate || date.getTime() >= minDate.getTime()) &&
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8726
			(!maxDate || date.getTime() <= maxDate.getTime()) &&
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8727
			(!minYear || date.getFullYear() >= minYear) &&
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8728
			(!maxYear || date.getFullYear() <= maxYear));
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8729
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8730
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8731
	/* Provide the configuration settings for formatting/parsing. */
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8732
	_getFormatConfig: function(inst) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8733
		var shortYearCutoff = this._get(inst, "shortYearCutoff");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8734
		shortYearCutoff = (typeof shortYearCutoff !== "string" ? shortYearCutoff :
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8735
			new Date().getFullYear() % 100 + parseInt(shortYearCutoff, 10));
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8736
		return {shortYearCutoff: shortYearCutoff,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8737
			dayNamesShort: this._get(inst, "dayNamesShort"), dayNames: this._get(inst, "dayNames"),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8738
			monthNamesShort: this._get(inst, "monthNamesShort"), monthNames: this._get(inst, "monthNames")};
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8739
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8740
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8741
	/* Format the given date for display. */
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8742
	_formatDate: function(inst, day, month, year) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8743
		if (!day) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8744
			inst.currentDay = inst.selectedDay;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8745
			inst.currentMonth = inst.selectedMonth;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8746
			inst.currentYear = inst.selectedYear;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8747
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8748
		var date = (day ? (typeof day === "object" ? day :
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8749
			this._daylightSavingAdjust(new Date(year, month, day))) :
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8750
			this._daylightSavingAdjust(new Date(inst.currentYear, inst.currentMonth, inst.currentDay)));
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8751
		return this.formatDate(this._get(inst, "dateFormat"), date, this._getFormatConfig(inst));
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8752
	}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8753
});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8754
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8755
/*
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8756
 * Bind hover events for datepicker elements.
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8757
 * Done via delegate so the binding only occurs once in the lifetime of the parent div.
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8758
 * Global instActive, set by _updateDatepicker allows the handlers to find their way back to the active picker.
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8759
 */
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8760
function bindHover(dpDiv) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8761
	var selector = "button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a";
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8762
	return dpDiv.delegate(selector, "mouseout", function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8763
			$(this).removeClass("ui-state-hover");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8764
			if (this.className.indexOf("ui-datepicker-prev") !== -1) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8765
				$(this).removeClass("ui-datepicker-prev-hover");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8766
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8767
			if (this.className.indexOf("ui-datepicker-next") !== -1) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8768
				$(this).removeClass("ui-datepicker-next-hover");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8769
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8770
		})
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8771
		.delegate(selector, "mouseover", function(){
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8772
			if (!$.datepicker._isDisabledDatepicker( instActive.inline ? dpDiv.parent()[0] : instActive.input[0])) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8773
				$(this).parents(".ui-datepicker-calendar").find("a").removeClass("ui-state-hover");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8774
				$(this).addClass("ui-state-hover");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8775
				if (this.className.indexOf("ui-datepicker-prev") !== -1) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8776
					$(this).addClass("ui-datepicker-prev-hover");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8777
				}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8778
				if (this.className.indexOf("ui-datepicker-next") !== -1) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8779
					$(this).addClass("ui-datepicker-next-hover");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8780
				}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8781
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8782
		});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8783
}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8784
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8785
/* jQuery extend now ignores nulls! */
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8786
function extendRemove(target, props) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8787
	$.extend(target, props);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8788
	for (var name in props) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8789
		if (props[name] == null) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8790
			target[name] = props[name];
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8791
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8792
	}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8793
	return target;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8794
}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8795
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8796
/* Invoke the datepicker functionality.
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8797
   @param  options  string - a command, optionally followed by additional parameters or
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8798
					Object - settings for attaching new datepicker functionality
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8799
   @return  jQuery object */
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8800
$.fn.datepicker = function(options){
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8801
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8802
	/* Verify an empty collection wasn't passed - Fixes #6976 */
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8803
	if ( !this.length ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8804
		return this;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8805
	}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8806
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8807
	/* Initialise the date picker. */
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8808
	if (!$.datepicker.initialized) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8809
		$(document).mousedown($.datepicker._checkExternalClick);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8810
		$.datepicker.initialized = true;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8811
	}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8812
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8813
	/* Append datepicker main container to body if not exist. */
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8814
	if ($("#"+$.datepicker._mainDivId).length === 0) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8815
		$("body").append($.datepicker.dpDiv);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8816
	}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8817
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8818
	var otherArgs = Array.prototype.slice.call(arguments, 1);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8819
	if (typeof options === "string" && (options === "isDisabled" || options === "getDate" || options === "widget")) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8820
		return $.datepicker["_" + options + "Datepicker"].
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8821
			apply($.datepicker, [this[0]].concat(otherArgs));
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8822
	}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8823
	if (options === "option" && arguments.length === 2 && typeof arguments[1] === "string") {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8824
		return $.datepicker["_" + options + "Datepicker"].
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8825
			apply($.datepicker, [this[0]].concat(otherArgs));
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8826
	}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8827
	return this.each(function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8828
		typeof options === "string" ?
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8829
			$.datepicker["_" + options + "Datepicker"].
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8830
				apply($.datepicker, [this].concat(otherArgs)) :
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8831
			$.datepicker._attachDatepicker(this, options);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8832
	});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8833
};
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8834
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8835
$.datepicker = new Datepicker(); // singleton instance
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8836
$.datepicker.initialized = false;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8837
$.datepicker.uuid = new Date().getTime();
262
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  8838
$.datepicker.version = "1.10.4";
211
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8839
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8840
})(jQuery);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8841
(function( $, undefined ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8842
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8843
var sizeRelatedOptions = {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8844
		buttons: true,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8845
		height: true,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8846
		maxHeight: true,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8847
		maxWidth: true,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8848
		minHeight: true,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8849
		minWidth: true,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8850
		width: true
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8851
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8852
	resizableRelatedOptions = {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8853
		maxHeight: true,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8854
		maxWidth: true,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8855
		minHeight: true,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8856
		minWidth: true
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8857
	};
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8858
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8859
$.widget( "ui.dialog", {
262
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  8860
	version: "1.10.4",
211
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8861
	options: {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8862
		appendTo: "body",
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8863
		autoOpen: true,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8864
		buttons: [],
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8865
		closeOnEscape: true,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8866
		closeText: "close",
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8867
		dialogClass: "",
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8868
		draggable: true,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8869
		hide: null,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8870
		height: "auto",
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8871
		maxHeight: null,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8872
		maxWidth: null,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8873
		minHeight: 150,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8874
		minWidth: 150,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8875
		modal: false,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8876
		position: {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8877
			my: "center",
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8878
			at: "center",
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8879
			of: window,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8880
			collision: "fit",
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8881
			// Ensure the titlebar is always visible
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8882
			using: function( pos ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8883
				var topOffset = $( this ).css( pos ).offset().top;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8884
				if ( topOffset < 0 ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8885
					$( this ).css( "top", pos.top - topOffset );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8886
				}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8887
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8888
		},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8889
		resizable: true,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8890
		show: null,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8891
		title: null,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8892
		width: 300,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8893
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8894
		// callbacks
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8895
		beforeClose: null,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8896
		close: null,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8897
		drag: null,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8898
		dragStart: null,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8899
		dragStop: null,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8900
		focus: null,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8901
		open: null,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8902
		resize: null,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8903
		resizeStart: null,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8904
		resizeStop: null
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8905
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8906
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8907
	_create: function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8908
		this.originalCss = {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8909
			display: this.element[0].style.display,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8910
			width: this.element[0].style.width,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8911
			minHeight: this.element[0].style.minHeight,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8912
			maxHeight: this.element[0].style.maxHeight,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8913
			height: this.element[0].style.height
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8914
		};
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8915
		this.originalPosition = {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8916
			parent: this.element.parent(),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8917
			index: this.element.parent().children().index( this.element )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8918
		};
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8919
		this.originalTitle = this.element.attr("title");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8920
		this.options.title = this.options.title || this.originalTitle;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8921
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8922
		this._createWrapper();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8923
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8924
		this.element
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8925
			.show()
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8926
			.removeAttr("title")
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8927
			.addClass("ui-dialog-content ui-widget-content")
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8928
			.appendTo( this.uiDialog );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8929
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8930
		this._createTitlebar();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8931
		this._createButtonPane();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8932
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8933
		if ( this.options.draggable && $.fn.draggable ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8934
			this._makeDraggable();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8935
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8936
		if ( this.options.resizable && $.fn.resizable ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8937
			this._makeResizable();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8938
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8939
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8940
		this._isOpen = false;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8941
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8942
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8943
	_init: function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8944
		if ( this.options.autoOpen ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8945
			this.open();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8946
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8947
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8948
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8949
	_appendTo: function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8950
		var element = this.options.appendTo;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8951
		if ( element && (element.jquery || element.nodeType) ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8952
			return $( element );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8953
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8954
		return this.document.find( element || "body" ).eq( 0 );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8955
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8956
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8957
	_destroy: function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8958
		var next,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8959
			originalPosition = this.originalPosition;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8960
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8961
		this._destroyOverlay();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8962
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8963
		this.element
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8964
			.removeUniqueId()
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8965
			.removeClass("ui-dialog-content ui-widget-content")
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8966
			.css( this.originalCss )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8967
			// Without detaching first, the following becomes really slow
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8968
			.detach();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8969
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8970
		this.uiDialog.stop( true, true ).remove();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8971
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8972
		if ( this.originalTitle ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8973
			this.element.attr( "title", this.originalTitle );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8974
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8975
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8976
		next = originalPosition.parent.children().eq( originalPosition.index );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8977
		// Don't try to place the dialog next to itself (#8613)
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8978
		if ( next.length && next[0] !== this.element[0] ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8979
			next.before( this.element );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8980
		} else {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8981
			originalPosition.parent.append( this.element );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8982
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8983
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8984
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8985
	widget: function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8986
		return this.uiDialog;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8987
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8988
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8989
	disable: $.noop,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8990
	enable: $.noop,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8991
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8992
	close: function( event ) {
262
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  8993
		var activeElement,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  8994
			that = this;
211
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8995
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8996
		if ( !this._isOpen || this._trigger( "beforeClose", event ) === false ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8997
			return;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8998
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  8999
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9000
		this._isOpen = false;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9001
		this._destroyOverlay();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9002
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9003
		if ( !this.opener.filter(":focusable").focus().length ) {
262
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  9004
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  9005
			// support: IE9
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  9006
			// IE9 throws an "Unspecified error" accessing document.activeElement from an <iframe>
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  9007
			try {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  9008
				activeElement = this.document[ 0 ].activeElement;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  9009
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  9010
				// Support: IE9, IE10
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  9011
				// If the <body> is blurred, IE will switch windows, see #4520
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  9012
				if ( activeElement && activeElement.nodeName.toLowerCase() !== "body" ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  9013
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  9014
					// Hiding a focused element doesn't trigger blur in WebKit
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  9015
					// so in case we have nothing to focus on, explicitly blur the active element
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  9016
					// https://bugs.webkit.org/show_bug.cgi?id=47182
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  9017
					$( activeElement ).blur();
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  9018
				}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  9019
			} catch ( error ) {}
211
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9020
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9021
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9022
		this._hide( this.uiDialog, this.options.hide, function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9023
			that._trigger( "close", event );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9024
		});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9025
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9026
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9027
	isOpen: function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9028
		return this._isOpen;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9029
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9030
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9031
	moveToTop: function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9032
		this._moveToTop();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9033
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9034
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9035
	_moveToTop: function( event, silent ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9036
		var moved = !!this.uiDialog.nextAll(":visible").insertBefore( this.uiDialog ).length;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9037
		if ( moved && !silent ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9038
			this._trigger( "focus", event );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9039
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9040
		return moved;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9041
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9042
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9043
	open: function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9044
		var that = this;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9045
		if ( this._isOpen ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9046
			if ( this._moveToTop() ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9047
				this._focusTabbable();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9048
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9049
			return;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9050
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9051
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9052
		this._isOpen = true;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9053
		this.opener = $( this.document[0].activeElement );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9054
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9055
		this._size();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9056
		this._position();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9057
		this._createOverlay();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9058
		this._moveToTop( null, true );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9059
		this._show( this.uiDialog, this.options.show, function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9060
			that._focusTabbable();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9061
			that._trigger("focus");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9062
		});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9063
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9064
		this._trigger("open");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9065
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9066
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9067
	_focusTabbable: function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9068
		// Set focus to the first match:
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9069
		// 1. First element inside the dialog matching [autofocus]
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9070
		// 2. Tabbable element inside the content element
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9071
		// 3. Tabbable element inside the buttonpane
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9072
		// 4. The close button
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9073
		// 5. The dialog itself
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9074
		var hasFocus = this.element.find("[autofocus]");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9075
		if ( !hasFocus.length ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9076
			hasFocus = this.element.find(":tabbable");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9077
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9078
		if ( !hasFocus.length ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9079
			hasFocus = this.uiDialogButtonPane.find(":tabbable");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9080
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9081
		if ( !hasFocus.length ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9082
			hasFocus = this.uiDialogTitlebarClose.filter(":tabbable");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9083
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9084
		if ( !hasFocus.length ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9085
			hasFocus = this.uiDialog;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9086
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9087
		hasFocus.eq( 0 ).focus();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9088
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9089
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9090
	_keepFocus: function( event ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9091
		function checkFocus() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9092
			var activeElement = this.document[0].activeElement,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9093
				isActive = this.uiDialog[0] === activeElement ||
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9094
					$.contains( this.uiDialog[0], activeElement );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9095
			if ( !isActive ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9096
				this._focusTabbable();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9097
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9098
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9099
		event.preventDefault();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9100
		checkFocus.call( this );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9101
		// support: IE
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9102
		// IE <= 8 doesn't prevent moving focus even with event.preventDefault()
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9103
		// so we check again later
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9104
		this._delay( checkFocus );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9105
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9106
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9107
	_createWrapper: function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9108
		this.uiDialog = $("<div>")
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9109
			.addClass( "ui-dialog ui-widget ui-widget-content ui-corner-all ui-front " +
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9110
				this.options.dialogClass )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9111
			.hide()
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9112
			.attr({
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9113
				// Setting tabIndex makes the div focusable
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9114
				tabIndex: -1,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9115
				role: "dialog"
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9116
			})
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9117
			.appendTo( this._appendTo() );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9118
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9119
		this._on( this.uiDialog, {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9120
			keydown: function( event ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9121
				if ( this.options.closeOnEscape && !event.isDefaultPrevented() && event.keyCode &&
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9122
						event.keyCode === $.ui.keyCode.ESCAPE ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9123
					event.preventDefault();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9124
					this.close( event );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9125
					return;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9126
				}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9127
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9128
				// prevent tabbing out of dialogs
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9129
				if ( event.keyCode !== $.ui.keyCode.TAB ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9130
					return;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9131
				}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9132
				var tabbables = this.uiDialog.find(":tabbable"),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9133
					first = tabbables.filter(":first"),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9134
					last  = tabbables.filter(":last");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9135
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9136
				if ( ( event.target === last[0] || event.target === this.uiDialog[0] ) && !event.shiftKey ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9137
					first.focus( 1 );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9138
					event.preventDefault();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9139
				} else if ( ( event.target === first[0] || event.target === this.uiDialog[0] ) && event.shiftKey ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9140
					last.focus( 1 );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9141
					event.preventDefault();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9142
				}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9143
			},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9144
			mousedown: function( event ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9145
				if ( this._moveToTop( event ) ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9146
					this._focusTabbable();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9147
				}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9148
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9149
		});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9150
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9151
		// We assume that any existing aria-describedby attribute means
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9152
		// that the dialog content is marked up properly
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9153
		// otherwise we brute force the content as the description
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9154
		if ( !this.element.find("[aria-describedby]").length ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9155
			this.uiDialog.attr({
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9156
				"aria-describedby": this.element.uniqueId().attr("id")
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9157
			});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9158
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9159
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9160
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9161
	_createTitlebar: function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9162
		var uiDialogTitle;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9163
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9164
		this.uiDialogTitlebar = $("<div>")
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9165
			.addClass("ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix")
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9166
			.prependTo( this.uiDialog );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9167
		this._on( this.uiDialogTitlebar, {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9168
			mousedown: function( event ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9169
				// Don't prevent click on close button (#8838)
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9170
				// Focusing a dialog that is partially scrolled out of view
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9171
				// causes the browser to scroll it into view, preventing the click event
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9172
				if ( !$( event.target ).closest(".ui-dialog-titlebar-close") ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9173
					// Dialog isn't getting focus when dragging (#8063)
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9174
					this.uiDialog.focus();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9175
				}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9176
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9177
		});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9178
262
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  9179
		// support: IE
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  9180
		// Use type="button" to prevent enter keypresses in textboxes from closing the
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  9181
		// dialog in IE (#9312)
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  9182
		this.uiDialogTitlebarClose = $( "<button type='button'></button>" )
211
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9183
			.button({
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9184
				label: this.options.closeText,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9185
				icons: {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9186
					primary: "ui-icon-closethick"
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9187
				},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9188
				text: false
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9189
			})
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9190
			.addClass("ui-dialog-titlebar-close")
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9191
			.appendTo( this.uiDialogTitlebar );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9192
		this._on( this.uiDialogTitlebarClose, {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9193
			click: function( event ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9194
				event.preventDefault();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9195
				this.close( event );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9196
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9197
		});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9198
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9199
		uiDialogTitle = $("<span>")
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9200
			.uniqueId()
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9201
			.addClass("ui-dialog-title")
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9202
			.prependTo( this.uiDialogTitlebar );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9203
		this._title( uiDialogTitle );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9204
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9205
		this.uiDialog.attr({
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9206
			"aria-labelledby": uiDialogTitle.attr("id")
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9207
		});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9208
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9209
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9210
	_title: function( title ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9211
		if ( !this.options.title ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9212
			title.html("&#160;");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9213
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9214
		title.text( this.options.title );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9215
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9216
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9217
	_createButtonPane: function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9218
		this.uiDialogButtonPane = $("<div>")
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9219
			.addClass("ui-dialog-buttonpane ui-widget-content ui-helper-clearfix");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9220
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9221
		this.uiButtonSet = $("<div>")
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9222
			.addClass("ui-dialog-buttonset")
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9223
			.appendTo( this.uiDialogButtonPane );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9224
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9225
		this._createButtons();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9226
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9227
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9228
	_createButtons: function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9229
		var that = this,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9230
			buttons = this.options.buttons;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9231
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9232
		// if we already have a button pane, remove it
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9233
		this.uiDialogButtonPane.remove();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9234
		this.uiButtonSet.empty();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9235
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9236
		if ( $.isEmptyObject( buttons ) || ($.isArray( buttons ) && !buttons.length) ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9237
			this.uiDialog.removeClass("ui-dialog-buttons");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9238
			return;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9239
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9240
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9241
		$.each( buttons, function( name, props ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9242
			var click, buttonOptions;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9243
			props = $.isFunction( props ) ?
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9244
				{ click: props, text: name } :
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9245
				props;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9246
			// Default to a non-submitting button
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9247
			props = $.extend( { type: "button" }, props );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9248
			// Change the context for the click callback to be the main element
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9249
			click = props.click;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9250
			props.click = function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9251
				click.apply( that.element[0], arguments );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9252
			};
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9253
			buttonOptions = {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9254
				icons: props.icons,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9255
				text: props.showText
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9256
			};
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9257
			delete props.icons;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9258
			delete props.showText;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9259
			$( "<button></button>", props )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9260
				.button( buttonOptions )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9261
				.appendTo( that.uiButtonSet );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9262
		});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9263
		this.uiDialog.addClass("ui-dialog-buttons");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9264
		this.uiDialogButtonPane.appendTo( this.uiDialog );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9265
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9266
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9267
	_makeDraggable: function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9268
		var that = this,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9269
			options = this.options;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9270
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9271
		function filteredUi( ui ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9272
			return {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9273
				position: ui.position,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9274
				offset: ui.offset
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9275
			};
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9276
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9277
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9278
		this.uiDialog.draggable({
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9279
			cancel: ".ui-dialog-content, .ui-dialog-titlebar-close",
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9280
			handle: ".ui-dialog-titlebar",
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9281
			containment: "document",
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9282
			start: function( event, ui ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9283
				$( this ).addClass("ui-dialog-dragging");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9284
				that._blockFrames();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9285
				that._trigger( "dragStart", event, filteredUi( ui ) );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9286
			},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9287
			drag: function( event, ui ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9288
				that._trigger( "drag", event, filteredUi( ui ) );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9289
			},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9290
			stop: function( event, ui ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9291
				options.position = [
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9292
					ui.position.left - that.document.scrollLeft(),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9293
					ui.position.top - that.document.scrollTop()
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9294
				];
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9295
				$( this ).removeClass("ui-dialog-dragging");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9296
				that._unblockFrames();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9297
				that._trigger( "dragStop", event, filteredUi( ui ) );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9298
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9299
		});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9300
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9301
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9302
	_makeResizable: function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9303
		var that = this,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9304
			options = this.options,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9305
			handles = options.resizable,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9306
			// .ui-resizable has position: relative defined in the stylesheet
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9307
			// but dialogs have to use absolute or fixed positioning
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9308
			position = this.uiDialog.css("position"),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9309
			resizeHandles = typeof handles === "string" ?
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9310
				handles	:
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9311
				"n,e,s,w,se,sw,ne,nw";
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9312
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9313
		function filteredUi( ui ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9314
			return {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9315
				originalPosition: ui.originalPosition,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9316
				originalSize: ui.originalSize,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9317
				position: ui.position,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9318
				size: ui.size
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9319
			};
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9320
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9321
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9322
		this.uiDialog.resizable({
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9323
			cancel: ".ui-dialog-content",
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9324
			containment: "document",
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9325
			alsoResize: this.element,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9326
			maxWidth: options.maxWidth,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9327
			maxHeight: options.maxHeight,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9328
			minWidth: options.minWidth,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9329
			minHeight: this._minHeight(),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9330
			handles: resizeHandles,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9331
			start: function( event, ui ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9332
				$( this ).addClass("ui-dialog-resizing");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9333
				that._blockFrames();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9334
				that._trigger( "resizeStart", event, filteredUi( ui ) );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9335
			},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9336
			resize: function( event, ui ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9337
				that._trigger( "resize", event, filteredUi( ui ) );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9338
			},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9339
			stop: function( event, ui ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9340
				options.height = $( this ).height();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9341
				options.width = $( this ).width();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9342
				$( this ).removeClass("ui-dialog-resizing");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9343
				that._unblockFrames();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9344
				that._trigger( "resizeStop", event, filteredUi( ui ) );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9345
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9346
		})
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9347
		.css( "position", position );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9348
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9349
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9350
	_minHeight: function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9351
		var options = this.options;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9352
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9353
		return options.height === "auto" ?
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9354
			options.minHeight :
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9355
			Math.min( options.minHeight, options.height );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9356
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9357
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9358
	_position: function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9359
		// Need to show the dialog to get the actual offset in the position plugin
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9360
		var isVisible = this.uiDialog.is(":visible");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9361
		if ( !isVisible ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9362
			this.uiDialog.show();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9363
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9364
		this.uiDialog.position( this.options.position );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9365
		if ( !isVisible ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9366
			this.uiDialog.hide();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9367
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9368
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9369
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9370
	_setOptions: function( options ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9371
		var that = this,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9372
			resize = false,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9373
			resizableOptions = {};
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9374
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9375
		$.each( options, function( key, value ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9376
			that._setOption( key, value );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9377
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9378
			if ( key in sizeRelatedOptions ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9379
				resize = true;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9380
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9381
			if ( key in resizableRelatedOptions ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9382
				resizableOptions[ key ] = value;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9383
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9384
		});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9385
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9386
		if ( resize ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9387
			this._size();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9388
			this._position();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9389
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9390
		if ( this.uiDialog.is(":data(ui-resizable)") ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9391
			this.uiDialog.resizable( "option", resizableOptions );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9392
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9393
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9394
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9395
	_setOption: function( key, value ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9396
		var isDraggable, isResizable,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9397
			uiDialog = this.uiDialog;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9398
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9399
		if ( key === "dialogClass" ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9400
			uiDialog
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9401
				.removeClass( this.options.dialogClass )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9402
				.addClass( value );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9403
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9404
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9405
		if ( key === "disabled" ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9406
			return;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9407
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9408
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9409
		this._super( key, value );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9410
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9411
		if ( key === "appendTo" ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9412
			this.uiDialog.appendTo( this._appendTo() );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9413
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9414
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9415
		if ( key === "buttons" ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9416
			this._createButtons();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9417
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9418
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9419
		if ( key === "closeText" ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9420
			this.uiDialogTitlebarClose.button({
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9421
				// Ensure that we always pass a string
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9422
				label: "" + value
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9423
			});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9424
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9425
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9426
		if ( key === "draggable" ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9427
			isDraggable = uiDialog.is(":data(ui-draggable)");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9428
			if ( isDraggable && !value ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9429
				uiDialog.draggable("destroy");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9430
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9431
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9432
			if ( !isDraggable && value ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9433
				this._makeDraggable();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9434
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9435
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9436
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9437
		if ( key === "position" ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9438
			this._position();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9439
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9440
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9441
		if ( key === "resizable" ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9442
			// currently resizable, becoming non-resizable
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9443
			isResizable = uiDialog.is(":data(ui-resizable)");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9444
			if ( isResizable && !value ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9445
				uiDialog.resizable("destroy");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9446
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9447
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9448
			// currently resizable, changing handles
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9449
			if ( isResizable && typeof value === "string" ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9450
				uiDialog.resizable( "option", "handles", value );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9451
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9452
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9453
			// currently non-resizable, becoming resizable
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9454
			if ( !isResizable && value !== false ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9455
				this._makeResizable();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9456
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9457
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9458
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9459
		if ( key === "title" ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9460
			this._title( this.uiDialogTitlebar.find(".ui-dialog-title") );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9461
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9462
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9463
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9464
	_size: function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9465
		// If the user has resized the dialog, the .ui-dialog and .ui-dialog-content
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9466
		// divs will both have width and height set, so we need to reset them
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9467
		var nonContentHeight, minContentHeight, maxContentHeight,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9468
			options = this.options;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9469
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9470
		// Reset content sizing
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9471
		this.element.show().css({
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9472
			width: "auto",
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9473
			minHeight: 0,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9474
			maxHeight: "none",
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9475
			height: 0
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9476
		});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9477
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9478
		if ( options.minWidth > options.width ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9479
			options.width = options.minWidth;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9480
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9481
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9482
		// reset wrapper sizing
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9483
		// determine the height of all the non-content elements
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9484
		nonContentHeight = this.uiDialog.css({
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9485
				height: "auto",
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9486
				width: options.width
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9487
			})
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9488
			.outerHeight();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9489
		minContentHeight = Math.max( 0, options.minHeight - nonContentHeight );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9490
		maxContentHeight = typeof options.maxHeight === "number" ?
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9491
			Math.max( 0, options.maxHeight - nonContentHeight ) :
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9492
			"none";
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9493
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9494
		if ( options.height === "auto" ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9495
			this.element.css({
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9496
				minHeight: minContentHeight,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9497
				maxHeight: maxContentHeight,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9498
				height: "auto"
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9499
			});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9500
		} else {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9501
			this.element.height( Math.max( 0, options.height - nonContentHeight ) );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9502
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9503
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9504
		if (this.uiDialog.is(":data(ui-resizable)") ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9505
			this.uiDialog.resizable( "option", "minHeight", this._minHeight() );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9506
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9507
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9508
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9509
	_blockFrames: function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9510
		this.iframeBlocks = this.document.find( "iframe" ).map(function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9511
			var iframe = $( this );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9512
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9513
			return $( "<div>" )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9514
				.css({
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9515
					position: "absolute",
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9516
					width: iframe.outerWidth(),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9517
					height: iframe.outerHeight()
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9518
				})
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9519
				.appendTo( iframe.parent() )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9520
				.offset( iframe.offset() )[0];
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9521
		});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9522
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9523
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9524
	_unblockFrames: function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9525
		if ( this.iframeBlocks ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9526
			this.iframeBlocks.remove();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9527
			delete this.iframeBlocks;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9528
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9529
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9530
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9531
	_allowInteraction: function( event ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9532
		if ( $( event.target ).closest(".ui-dialog").length ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9533
			return true;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9534
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9535
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9536
		// TODO: Remove hack when datepicker implements
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9537
		// the .ui-front logic (#8989)
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9538
		return !!$( event.target ).closest(".ui-datepicker").length;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9539
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9540
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9541
	_createOverlay: function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9542
		if ( !this.options.modal ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9543
			return;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9544
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9545
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9546
		var that = this,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9547
			widgetFullName = this.widgetFullName;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9548
		if ( !$.ui.dialog.overlayInstances ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9549
			// Prevent use of anchors and inputs.
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9550
			// We use a delay in case the overlay is created from an
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9551
			// event that we're going to be cancelling. (#2804)
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9552
			this._delay(function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9553
				// Handle .dialog().dialog("close") (#4065)
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9554
				if ( $.ui.dialog.overlayInstances ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9555
					this.document.bind( "focusin.dialog", function( event ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9556
						if ( !that._allowInteraction( event ) ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9557
							event.preventDefault();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9558
							$(".ui-dialog:visible:last .ui-dialog-content")
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9559
								.data( widgetFullName )._focusTabbable();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9560
						}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9561
					});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9562
				}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9563
			});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9564
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9565
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9566
		this.overlay = $("<div>")
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9567
			.addClass("ui-widget-overlay ui-front")
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9568
			.appendTo( this._appendTo() );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9569
		this._on( this.overlay, {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9570
			mousedown: "_keepFocus"
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9571
		});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9572
		$.ui.dialog.overlayInstances++;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9573
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9574
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9575
	_destroyOverlay: function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9576
		if ( !this.options.modal ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9577
			return;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9578
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9579
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9580
		if ( this.overlay ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9581
			$.ui.dialog.overlayInstances--;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9582
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9583
			if ( !$.ui.dialog.overlayInstances ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9584
				this.document.unbind( "focusin.dialog" );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9585
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9586
			this.overlay.remove();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9587
			this.overlay = null;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9588
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9589
	}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9590
});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9591
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9592
$.ui.dialog.overlayInstances = 0;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9593
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9594
// DEPRECATED
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9595
if ( $.uiBackCompat !== false ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9596
	// position option with array notation
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9597
	// just override with old implementation
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9598
	$.widget( "ui.dialog", $.ui.dialog, {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9599
		_position: function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9600
			var position = this.options.position,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9601
				myAt = [],
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9602
				offset = [ 0, 0 ],
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9603
				isVisible;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9604
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9605
			if ( position ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9606
				if ( typeof position === "string" || (typeof position === "object" && "0" in position ) ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9607
					myAt = position.split ? position.split(" ") : [ position[0], position[1] ];
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9608
					if ( myAt.length === 1 ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9609
						myAt[1] = myAt[0];
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9610
					}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9611
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9612
					$.each( [ "left", "top" ], function( i, offsetPosition ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9613
						if ( +myAt[ i ] === myAt[ i ] ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9614
							offset[ i ] = myAt[ i ];
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9615
							myAt[ i ] = offsetPosition;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9616
						}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9617
					});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9618
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9619
					position = {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9620
						my: myAt[0] + (offset[0] < 0 ? offset[0] : "+" + offset[0]) + " " +
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9621
							myAt[1] + (offset[1] < 0 ? offset[1] : "+" + offset[1]),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9622
						at: myAt.join(" ")
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9623
					};
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9624
				}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9625
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9626
				position = $.extend( {}, $.ui.dialog.prototype.options.position, position );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9627
			} else {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9628
				position = $.ui.dialog.prototype.options.position;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9629
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9630
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9631
			// need to show the dialog to get the actual offset in the position plugin
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9632
			isVisible = this.uiDialog.is(":visible");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9633
			if ( !isVisible ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9634
				this.uiDialog.show();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9635
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9636
			this.uiDialog.position( position );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9637
			if ( !isVisible ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9638
				this.uiDialog.hide();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9639
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9640
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9641
	});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9642
}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9643
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9644
}( jQuery ) );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9645
(function( $, undefined ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9646
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9647
$.widget( "ui.menu", {
262
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  9648
	version: "1.10.4",
211
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9649
	defaultElement: "<ul>",
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9650
	delay: 300,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9651
	options: {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9652
		icons: {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9653
			submenu: "ui-icon-carat-1-e"
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9654
		},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9655
		menus: "ul",
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9656
		position: {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9657
			my: "left top",
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9658
			at: "right top"
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9659
		},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9660
		role: "menu",
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9661
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9662
		// callbacks
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9663
		blur: null,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9664
		focus: null,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9665
		select: null
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9666
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9667
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9668
	_create: function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9669
		this.activeMenu = this.element;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9670
		// flag used to prevent firing of the click handler
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9671
		// as the event bubbles up through nested menus
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9672
		this.mouseHandled = false;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9673
		this.element
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9674
			.uniqueId()
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9675
			.addClass( "ui-menu ui-widget ui-widget-content ui-corner-all" )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9676
			.toggleClass( "ui-menu-icons", !!this.element.find( ".ui-icon" ).length )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9677
			.attr({
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9678
				role: this.options.role,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9679
				tabIndex: 0
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9680
			})
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9681
			// need to catch all clicks on disabled menu
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9682
			// not possible through _on
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9683
			.bind( "click" + this.eventNamespace, $.proxy(function( event ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9684
				if ( this.options.disabled ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9685
					event.preventDefault();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9686
				}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9687
			}, this ));
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9688
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9689
		if ( this.options.disabled ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9690
			this.element
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9691
				.addClass( "ui-state-disabled" )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9692
				.attr( "aria-disabled", "true" );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9693
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9694
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9695
		this._on({
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9696
			// Prevent focus from sticking to links inside menu after clicking
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9697
			// them (focus should always stay on UL during navigation).
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9698
			"mousedown .ui-menu-item > a": function( event ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9699
				event.preventDefault();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9700
			},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9701
			"click .ui-state-disabled > a": function( event ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9702
				event.preventDefault();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9703
			},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9704
			"click .ui-menu-item:has(a)": function( event ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9705
				var target = $( event.target ).closest( ".ui-menu-item" );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9706
				if ( !this.mouseHandled && target.not( ".ui-state-disabled" ).length ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9707
					this.select( event );
262
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  9708
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  9709
					// Only set the mouseHandled flag if the event will bubble, see #9469.
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  9710
					if ( !event.isPropagationStopped() ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  9711
						this.mouseHandled = true;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  9712
					}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  9713
211
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9714
					// Open submenu on click
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9715
					if ( target.has( ".ui-menu" ).length ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9716
						this.expand( event );
262
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  9717
					} else if ( !this.element.is( ":focus" ) && $( this.document[ 0 ].activeElement ).closest( ".ui-menu" ).length ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  9718
211
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9719
						// Redirect focus to the menu
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9720
						this.element.trigger( "focus", [ true ] );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9721
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9722
						// If the active item is on the top level, let it stay active.
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9723
						// Otherwise, blur the active item since it is no longer visible.
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9724
						if ( this.active && this.active.parents( ".ui-menu" ).length === 1 ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9725
							clearTimeout( this.timer );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9726
						}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9727
					}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9728
				}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9729
			},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9730
			"mouseenter .ui-menu-item": function( event ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9731
				var target = $( event.currentTarget );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9732
				// Remove ui-state-active class from siblings of the newly focused menu item
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9733
				// to avoid a jump caused by adjacent elements both having a class with a border
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9734
				target.siblings().children( ".ui-state-active" ).removeClass( "ui-state-active" );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9735
				this.focus( event, target );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9736
			},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9737
			mouseleave: "collapseAll",
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9738
			"mouseleave .ui-menu": "collapseAll",
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9739
			focus: function( event, keepActiveItem ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9740
				// If there's already an active item, keep it active
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9741
				// If not, activate the first item
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9742
				var item = this.active || this.element.children( ".ui-menu-item" ).eq( 0 );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9743
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9744
				if ( !keepActiveItem ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9745
					this.focus( event, item );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9746
				}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9747
			},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9748
			blur: function( event ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9749
				this._delay(function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9750
					if ( !$.contains( this.element[0], this.document[0].activeElement ) ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9751
						this.collapseAll( event );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9752
					}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9753
				});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9754
			},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9755
			keydown: "_keydown"
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9756
		});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9757
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9758
		this.refresh();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9759
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9760
		// Clicks outside of a menu collapse any open menus
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9761
		this._on( this.document, {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9762
			click: function( event ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9763
				if ( !$( event.target ).closest( ".ui-menu" ).length ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9764
					this.collapseAll( event );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9765
				}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9766
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9767
				// Reset the mouseHandled flag
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9768
				this.mouseHandled = false;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9769
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9770
		});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9771
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9772
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9773
	_destroy: function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9774
		// Destroy (sub)menus
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9775
		this.element
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9776
			.removeAttr( "aria-activedescendant" )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9777
			.find( ".ui-menu" ).addBack()
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9778
				.removeClass( "ui-menu ui-widget ui-widget-content ui-corner-all ui-menu-icons" )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9779
				.removeAttr( "role" )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9780
				.removeAttr( "tabIndex" )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9781
				.removeAttr( "aria-labelledby" )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9782
				.removeAttr( "aria-expanded" )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9783
				.removeAttr( "aria-hidden" )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9784
				.removeAttr( "aria-disabled" )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9785
				.removeUniqueId()
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9786
				.show();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9787
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9788
		// Destroy menu items
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9789
		this.element.find( ".ui-menu-item" )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9790
			.removeClass( "ui-menu-item" )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9791
			.removeAttr( "role" )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9792
			.removeAttr( "aria-disabled" )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9793
			.children( "a" )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9794
				.removeUniqueId()
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9795
				.removeClass( "ui-corner-all ui-state-hover" )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9796
				.removeAttr( "tabIndex" )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9797
				.removeAttr( "role" )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9798
				.removeAttr( "aria-haspopup" )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9799
				.children().each( function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9800
					var elem = $( this );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9801
					if ( elem.data( "ui-menu-submenu-carat" ) ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9802
						elem.remove();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9803
					}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9804
				});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9805
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9806
		// Destroy menu dividers
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9807
		this.element.find( ".ui-menu-divider" ).removeClass( "ui-menu-divider ui-widget-content" );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9808
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9809
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9810
	_keydown: function( event ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9811
		var match, prev, character, skip, regex,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9812
			preventDefault = true;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9813
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9814
		function escape( value ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9815
			return value.replace( /[\-\[\]{}()*+?.,\\\^$|#\s]/g, "\\$&" );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9816
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9817
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9818
		switch ( event.keyCode ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9819
		case $.ui.keyCode.PAGE_UP:
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9820
			this.previousPage( event );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9821
			break;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9822
		case $.ui.keyCode.PAGE_DOWN:
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9823
			this.nextPage( event );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9824
			break;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9825
		case $.ui.keyCode.HOME:
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9826
			this._move( "first", "first", event );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9827
			break;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9828
		case $.ui.keyCode.END:
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9829
			this._move( "last", "last", event );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9830
			break;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9831
		case $.ui.keyCode.UP:
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9832
			this.previous( event );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9833
			break;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9834
		case $.ui.keyCode.DOWN:
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9835
			this.next( event );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9836
			break;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9837
		case $.ui.keyCode.LEFT:
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9838
			this.collapse( event );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9839
			break;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9840
		case $.ui.keyCode.RIGHT:
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9841
			if ( this.active && !this.active.is( ".ui-state-disabled" ) ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9842
				this.expand( event );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9843
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9844
			break;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9845
		case $.ui.keyCode.ENTER:
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9846
		case $.ui.keyCode.SPACE:
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9847
			this._activate( event );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9848
			break;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9849
		case $.ui.keyCode.ESCAPE:
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9850
			this.collapse( event );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9851
			break;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9852
		default:
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9853
			preventDefault = false;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9854
			prev = this.previousFilter || "";
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9855
			character = String.fromCharCode( event.keyCode );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9856
			skip = false;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9857
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9858
			clearTimeout( this.filterTimer );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9859
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9860
			if ( character === prev ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9861
				skip = true;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9862
			} else {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9863
				character = prev + character;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9864
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9865
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9866
			regex = new RegExp( "^" + escape( character ), "i" );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9867
			match = this.activeMenu.children( ".ui-menu-item" ).filter(function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9868
				return regex.test( $( this ).children( "a" ).text() );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9869
			});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9870
			match = skip && match.index( this.active.next() ) !== -1 ?
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9871
				this.active.nextAll( ".ui-menu-item" ) :
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9872
				match;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9873
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9874
			// If no matches on the current filter, reset to the last character pressed
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9875
			// to move down the menu to the first item that starts with that character
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9876
			if ( !match.length ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9877
				character = String.fromCharCode( event.keyCode );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9878
				regex = new RegExp( "^" + escape( character ), "i" );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9879
				match = this.activeMenu.children( ".ui-menu-item" ).filter(function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9880
					return regex.test( $( this ).children( "a" ).text() );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9881
				});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9882
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9883
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9884
			if ( match.length ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9885
				this.focus( event, match );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9886
				if ( match.length > 1 ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9887
					this.previousFilter = character;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9888
					this.filterTimer = this._delay(function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9889
						delete this.previousFilter;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9890
					}, 1000 );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9891
				} else {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9892
					delete this.previousFilter;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9893
				}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9894
			} else {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9895
				delete this.previousFilter;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9896
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9897
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9898
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9899
		if ( preventDefault ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9900
			event.preventDefault();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9901
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9902
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9903
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9904
	_activate: function( event ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9905
		if ( !this.active.is( ".ui-state-disabled" ) ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9906
			if ( this.active.children( "a[aria-haspopup='true']" ).length ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9907
				this.expand( event );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9908
			} else {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9909
				this.select( event );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9910
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9911
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9912
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9913
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9914
	refresh: function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9915
		var menus,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9916
			icon = this.options.icons.submenu,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9917
			submenus = this.element.find( this.options.menus );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9918
262
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  9919
		this.element.toggleClass( "ui-menu-icons", !!this.element.find( ".ui-icon" ).length );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
  9920
211
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9921
		// Initialize nested menus
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9922
		submenus.filter( ":not(.ui-menu)" )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9923
			.addClass( "ui-menu ui-widget ui-widget-content ui-corner-all" )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9924
			.hide()
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9925
			.attr({
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9926
				role: this.options.role,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9927
				"aria-hidden": "true",
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9928
				"aria-expanded": "false"
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9929
			})
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9930
			.each(function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9931
				var menu = $( this ),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9932
					item = menu.prev( "a" ),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9933
					submenuCarat = $( "<span>" )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9934
						.addClass( "ui-menu-icon ui-icon " + icon )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9935
						.data( "ui-menu-submenu-carat", true );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9936
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9937
				item
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9938
					.attr( "aria-haspopup", "true" )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9939
					.prepend( submenuCarat );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9940
				menu.attr( "aria-labelledby", item.attr( "id" ) );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9941
			});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9942
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9943
		menus = submenus.add( this.element );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9944
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9945
		// Don't refresh list items that are already adapted
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9946
		menus.children( ":not(.ui-menu-item):has(a)" )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9947
			.addClass( "ui-menu-item" )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9948
			.attr( "role", "presentation" )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9949
			.children( "a" )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9950
				.uniqueId()
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9951
				.addClass( "ui-corner-all" )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9952
				.attr({
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9953
					tabIndex: -1,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9954
					role: this._itemRole()
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9955
				});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9956
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9957
		// Initialize unlinked menu-items containing spaces and/or dashes only as dividers
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9958
		menus.children( ":not(.ui-menu-item)" ).each(function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9959
			var item = $( this );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9960
			// hyphen, em dash, en dash
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9961
			if ( !/[^\-\u2014\u2013\s]/.test( item.text() ) ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9962
				item.addClass( "ui-widget-content ui-menu-divider" );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9963
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9964
		});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9965
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9966
		// Add aria-disabled attribute to any disabled menu item
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9967
		menus.children( ".ui-state-disabled" ).attr( "aria-disabled", "true" );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9968
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9969
		// If the active item has been removed, blur the menu
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9970
		if ( this.active && !$.contains( this.element[ 0 ], this.active[ 0 ] ) ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9971
			this.blur();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9972
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9973
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9974
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9975
	_itemRole: function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9976
		return {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9977
			menu: "menuitem",
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9978
			listbox: "option"
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9979
		}[ this.options.role ];
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9980
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9981
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9982
	_setOption: function( key, value ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9983
		if ( key === "icons" ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9984
			this.element.find( ".ui-menu-icon" )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9985
				.removeClass( this.options.icons.submenu )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9986
				.addClass( value.submenu );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9987
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9988
		this._super( key, value );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9989
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9990
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9991
	focus: function( event, item ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9992
		var nested, focused;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9993
		this.blur( event, event && event.type === "focus" );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9994
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9995
		this._scrollIntoView( item );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9996
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9997
		this.active = item.first();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9998
		focused = this.active.children( "a" ).addClass( "ui-state-focus" );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
  9999
		// Only update aria-activedescendant if there's a role
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10000
		// otherwise we assume focus is managed elsewhere
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10001
		if ( this.options.role ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10002
			this.element.attr( "aria-activedescendant", focused.attr( "id" ) );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10003
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10004
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10005
		// Highlight active parent menu item, if any
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10006
		this.active
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10007
			.parent()
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10008
			.closest( ".ui-menu-item" )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10009
			.children( "a:first" )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10010
			.addClass( "ui-state-active" );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10011
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10012
		if ( event && event.type === "keydown" ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10013
			this._close();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10014
		} else {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10015
			this.timer = this._delay(function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10016
				this._close();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10017
			}, this.delay );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10018
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10019
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10020
		nested = item.children( ".ui-menu" );
262
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 10021
		if ( nested.length && event && ( /^mouse/.test( event.type ) ) ) {
211
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10022
			this._startOpening(nested);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10023
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10024
		this.activeMenu = item.parent();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10025
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10026
		this._trigger( "focus", event, { item: item } );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10027
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10028
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10029
	_scrollIntoView: function( item ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10030
		var borderTop, paddingTop, offset, scroll, elementHeight, itemHeight;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10031
		if ( this._hasScroll() ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10032
			borderTop = parseFloat( $.css( this.activeMenu[0], "borderTopWidth" ) ) || 0;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10033
			paddingTop = parseFloat( $.css( this.activeMenu[0], "paddingTop" ) ) || 0;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10034
			offset = item.offset().top - this.activeMenu.offset().top - borderTop - paddingTop;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10035
			scroll = this.activeMenu.scrollTop();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10036
			elementHeight = this.activeMenu.height();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10037
			itemHeight = item.height();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10038
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10039
			if ( offset < 0 ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10040
				this.activeMenu.scrollTop( scroll + offset );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10041
			} else if ( offset + itemHeight > elementHeight ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10042
				this.activeMenu.scrollTop( scroll + offset - elementHeight + itemHeight );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10043
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10044
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10045
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10046
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10047
	blur: function( event, fromFocus ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10048
		if ( !fromFocus ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10049
			clearTimeout( this.timer );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10050
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10051
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10052
		if ( !this.active ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10053
			return;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10054
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10055
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10056
		this.active.children( "a" ).removeClass( "ui-state-focus" );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10057
		this.active = null;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10058
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10059
		this._trigger( "blur", event, { item: this.active } );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10060
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10061
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10062
	_startOpening: function( submenu ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10063
		clearTimeout( this.timer );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10064
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10065
		// Don't open if already open fixes a Firefox bug that caused a .5 pixel
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10066
		// shift in the submenu position when mousing over the carat icon
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10067
		if ( submenu.attr( "aria-hidden" ) !== "true" ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10068
			return;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10069
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10070
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10071
		this.timer = this._delay(function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10072
			this._close();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10073
			this._open( submenu );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10074
		}, this.delay );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10075
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10076
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10077
	_open: function( submenu ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10078
		var position = $.extend({
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10079
			of: this.active
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10080
		}, this.options.position );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10081
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10082
		clearTimeout( this.timer );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10083
		this.element.find( ".ui-menu" ).not( submenu.parents( ".ui-menu" ) )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10084
			.hide()
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10085
			.attr( "aria-hidden", "true" );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10086
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10087
		submenu
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10088
			.show()
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10089
			.removeAttr( "aria-hidden" )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10090
			.attr( "aria-expanded", "true" )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10091
			.position( position );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10092
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10093
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10094
	collapseAll: function( event, all ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10095
		clearTimeout( this.timer );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10096
		this.timer = this._delay(function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10097
			// If we were passed an event, look for the submenu that contains the event
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10098
			var currentMenu = all ? this.element :
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10099
				$( event && event.target ).closest( this.element.find( ".ui-menu" ) );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10100
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10101
			// If we found no valid submenu ancestor, use the main menu to close all sub menus anyway
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10102
			if ( !currentMenu.length ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10103
				currentMenu = this.element;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10104
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10105
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10106
			this._close( currentMenu );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10107
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10108
			this.blur( event );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10109
			this.activeMenu = currentMenu;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10110
		}, this.delay );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10111
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10112
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10113
	// With no arguments, closes the currently active menu - if nothing is active
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10114
	// it closes all menus.  If passed an argument, it will search for menus BELOW
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10115
	_close: function( startMenu ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10116
		if ( !startMenu ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10117
			startMenu = this.active ? this.active.parent() : this.element;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10118
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10119
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10120
		startMenu
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10121
			.find( ".ui-menu" )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10122
				.hide()
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10123
				.attr( "aria-hidden", "true" )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10124
				.attr( "aria-expanded", "false" )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10125
			.end()
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10126
			.find( "a.ui-state-active" )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10127
				.removeClass( "ui-state-active" );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10128
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10129
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10130
	collapse: function( event ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10131
		var newItem = this.active &&
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10132
			this.active.parent().closest( ".ui-menu-item", this.element );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10133
		if ( newItem && newItem.length ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10134
			this._close();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10135
			this.focus( event, newItem );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10136
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10137
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10138
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10139
	expand: function( event ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10140
		var newItem = this.active &&
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10141
			this.active
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10142
				.children( ".ui-menu " )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10143
				.children( ".ui-menu-item" )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10144
				.first();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10145
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10146
		if ( newItem && newItem.length ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10147
			this._open( newItem.parent() );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10148
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10149
			// Delay so Firefox will not hide activedescendant change in expanding submenu from AT
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10150
			this._delay(function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10151
				this.focus( event, newItem );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10152
			});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10153
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10154
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10155
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10156
	next: function( event ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10157
		this._move( "next", "first", event );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10158
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10159
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10160
	previous: function( event ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10161
		this._move( "prev", "last", event );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10162
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10163
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10164
	isFirstItem: function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10165
		return this.active && !this.active.prevAll( ".ui-menu-item" ).length;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10166
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10167
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10168
	isLastItem: function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10169
		return this.active && !this.active.nextAll( ".ui-menu-item" ).length;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10170
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10171
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10172
	_move: function( direction, filter, event ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10173
		var next;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10174
		if ( this.active ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10175
			if ( direction === "first" || direction === "last" ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10176
				next = this.active
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10177
					[ direction === "first" ? "prevAll" : "nextAll" ]( ".ui-menu-item" )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10178
					.eq( -1 );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10179
			} else {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10180
				next = this.active
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10181
					[ direction + "All" ]( ".ui-menu-item" )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10182
					.eq( 0 );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10183
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10184
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10185
		if ( !next || !next.length || !this.active ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10186
			next = this.activeMenu.children( ".ui-menu-item" )[ filter ]();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10187
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10188
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10189
		this.focus( event, next );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10190
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10191
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10192
	nextPage: function( event ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10193
		var item, base, height;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10194
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10195
		if ( !this.active ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10196
			this.next( event );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10197
			return;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10198
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10199
		if ( this.isLastItem() ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10200
			return;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10201
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10202
		if ( this._hasScroll() ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10203
			base = this.active.offset().top;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10204
			height = this.element.height();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10205
			this.active.nextAll( ".ui-menu-item" ).each(function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10206
				item = $( this );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10207
				return item.offset().top - base - height < 0;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10208
			});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10209
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10210
			this.focus( event, item );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10211
		} else {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10212
			this.focus( event, this.activeMenu.children( ".ui-menu-item" )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10213
				[ !this.active ? "first" : "last" ]() );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10214
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10215
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10216
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10217
	previousPage: function( event ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10218
		var item, base, height;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10219
		if ( !this.active ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10220
			this.next( event );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10221
			return;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10222
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10223
		if ( this.isFirstItem() ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10224
			return;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10225
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10226
		if ( this._hasScroll() ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10227
			base = this.active.offset().top;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10228
			height = this.element.height();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10229
			this.active.prevAll( ".ui-menu-item" ).each(function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10230
				item = $( this );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10231
				return item.offset().top - base + height > 0;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10232
			});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10233
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10234
			this.focus( event, item );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10235
		} else {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10236
			this.focus( event, this.activeMenu.children( ".ui-menu-item" ).first() );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10237
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10238
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10239
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10240
	_hasScroll: function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10241
		return this.element.outerHeight() < this.element.prop( "scrollHeight" );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10242
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10243
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10244
	select: function( event ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10245
		// TODO: It should never be possible to not have an active item at this
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10246
		// point, but the tests don't trigger mouseenter before click.
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10247
		this.active = this.active || $( event.target ).closest( ".ui-menu-item" );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10248
		var ui = { item: this.active };
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10249
		if ( !this.active.has( ".ui-menu" ).length ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10250
			this.collapseAll( event, true );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10251
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10252
		this._trigger( "select", event, ui );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10253
	}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10254
});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10255
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10256
}( jQuery ));
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10257
(function( $, undefined ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10258
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10259
$.widget( "ui.progressbar", {
262
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 10260
	version: "1.10.4",
211
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10261
	options: {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10262
		max: 100,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10263
		value: 0,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10264
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10265
		change: null,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10266
		complete: null
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10267
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10268
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10269
	min: 0,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10270
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10271
	_create: function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10272
		// Constrain initial value
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10273
		this.oldValue = this.options.value = this._constrainedValue();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10274
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10275
		this.element
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10276
			.addClass( "ui-progressbar ui-widget ui-widget-content ui-corner-all" )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10277
			.attr({
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10278
				// Only set static values, aria-valuenow and aria-valuemax are
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10279
				// set inside _refreshValue()
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10280
				role: "progressbar",
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10281
				"aria-valuemin": this.min
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10282
			});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10283
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10284
		this.valueDiv = $( "<div class='ui-progressbar-value ui-widget-header ui-corner-left'></div>" )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10285
			.appendTo( this.element );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10286
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10287
		this._refreshValue();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10288
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10289
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10290
	_destroy: function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10291
		this.element
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10292
			.removeClass( "ui-progressbar ui-widget ui-widget-content ui-corner-all" )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10293
			.removeAttr( "role" )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10294
			.removeAttr( "aria-valuemin" )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10295
			.removeAttr( "aria-valuemax" )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10296
			.removeAttr( "aria-valuenow" );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10297
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10298
		this.valueDiv.remove();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10299
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10300
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10301
	value: function( newValue ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10302
		if ( newValue === undefined ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10303
			return this.options.value;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10304
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10305
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10306
		this.options.value = this._constrainedValue( newValue );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10307
		this._refreshValue();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10308
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10309
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10310
	_constrainedValue: function( newValue ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10311
		if ( newValue === undefined ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10312
			newValue = this.options.value;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10313
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10314
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10315
		this.indeterminate = newValue === false;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10316
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10317
		// sanitize value
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10318
		if ( typeof newValue !== "number" ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10319
			newValue = 0;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10320
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10321
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10322
		return this.indeterminate ? false :
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10323
			Math.min( this.options.max, Math.max( this.min, newValue ) );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10324
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10325
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10326
	_setOptions: function( options ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10327
		// Ensure "value" option is set after other values (like max)
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10328
		var value = options.value;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10329
		delete options.value;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10330
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10331
		this._super( options );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10332
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10333
		this.options.value = this._constrainedValue( value );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10334
		this._refreshValue();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10335
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10336
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10337
	_setOption: function( key, value ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10338
		if ( key === "max" ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10339
			// Don't allow a max less than min
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10340
			value = Math.max( this.min, value );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10341
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10342
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10343
		this._super( key, value );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10344
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10345
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10346
	_percentage: function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10347
		return this.indeterminate ? 100 : 100 * ( this.options.value - this.min ) / ( this.options.max - this.min );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10348
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10349
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10350
	_refreshValue: function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10351
		var value = this.options.value,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10352
			percentage = this._percentage();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10353
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10354
		this.valueDiv
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10355
			.toggle( this.indeterminate || value > this.min )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10356
			.toggleClass( "ui-corner-right", value === this.options.max )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10357
			.width( percentage.toFixed(0) + "%" );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10358
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10359
		this.element.toggleClass( "ui-progressbar-indeterminate", this.indeterminate );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10360
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10361
		if ( this.indeterminate ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10362
			this.element.removeAttr( "aria-valuenow" );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10363
			if ( !this.overlayDiv ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10364
				this.overlayDiv = $( "<div class='ui-progressbar-overlay'></div>" ).appendTo( this.valueDiv );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10365
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10366
		} else {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10367
			this.element.attr({
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10368
				"aria-valuemax": this.options.max,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10369
				"aria-valuenow": value
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10370
			});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10371
			if ( this.overlayDiv ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10372
				this.overlayDiv.remove();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10373
				this.overlayDiv = null;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10374
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10375
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10376
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10377
		if ( this.oldValue !== value ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10378
			this.oldValue = value;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10379
			this._trigger( "change" );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10380
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10381
		if ( value === this.options.max ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10382
			this._trigger( "complete" );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10383
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10384
	}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10385
});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10386
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10387
})( jQuery );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10388
(function( $, undefined ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10389
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10390
// number of pages in a slider
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10391
// (how many times can you page up/down to go through the whole range)
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10392
var numPages = 5;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10393
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10394
$.widget( "ui.slider", $.ui.mouse, {
262
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 10395
	version: "1.10.4",
211
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10396
	widgetEventPrefix: "slide",
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10397
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10398
	options: {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10399
		animate: false,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10400
		distance: 0,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10401
		max: 100,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10402
		min: 0,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10403
		orientation: "horizontal",
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10404
		range: false,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10405
		step: 1,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10406
		value: 0,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10407
		values: null,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10408
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10409
		// callbacks
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10410
		change: null,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10411
		slide: null,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10412
		start: null,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10413
		stop: null
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10414
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10415
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10416
	_create: function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10417
		this._keySliding = false;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10418
		this._mouseSliding = false;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10419
		this._animateOff = true;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10420
		this._handleIndex = null;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10421
		this._detectOrientation();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10422
		this._mouseInit();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10423
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10424
		this.element
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10425
			.addClass( "ui-slider" +
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10426
				" ui-slider-" + this.orientation +
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10427
				" ui-widget" +
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10428
				" ui-widget-content" +
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10429
				" ui-corner-all");
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10430
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10431
		this._refresh();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10432
		this._setOption( "disabled", this.options.disabled );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10433
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10434
		this._animateOff = false;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10435
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10436
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10437
	_refresh: function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10438
		this._createRange();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10439
		this._createHandles();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10440
		this._setupEvents();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10441
		this._refreshValue();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10442
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10443
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10444
	_createHandles: function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10445
		var i, handleCount,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10446
			options = this.options,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10447
			existingHandles = this.element.find( ".ui-slider-handle" ).addClass( "ui-state-default ui-corner-all" ),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10448
			handle = "<a class='ui-slider-handle ui-state-default ui-corner-all' href='#'></a>",
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10449
			handles = [];
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10450
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10451
		handleCount = ( options.values && options.values.length ) || 1;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10452
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10453
		if ( existingHandles.length > handleCount ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10454
			existingHandles.slice( handleCount ).remove();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10455
			existingHandles = existingHandles.slice( 0, handleCount );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10456
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10457
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10458
		for ( i = existingHandles.length; i < handleCount; i++ ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10459
			handles.push( handle );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10460
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10461
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10462
		this.handles = existingHandles.add( $( handles.join( "" ) ).appendTo( this.element ) );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10463
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10464
		this.handle = this.handles.eq( 0 );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10465
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10466
		this.handles.each(function( i ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10467
			$( this ).data( "ui-slider-handle-index", i );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10468
		});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10469
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10470
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10471
	_createRange: function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10472
		var options = this.options,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10473
			classes = "";
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10474
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10475
		if ( options.range ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10476
			if ( options.range === true ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10477
				if ( !options.values ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10478
					options.values = [ this._valueMin(), this._valueMin() ];
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10479
				} else if ( options.values.length && options.values.length !== 2 ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10480
					options.values = [ options.values[0], options.values[0] ];
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10481
				} else if ( $.isArray( options.values ) ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10482
					options.values = options.values.slice(0);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10483
				}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10484
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10485
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10486
			if ( !this.range || !this.range.length ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10487
				this.range = $( "<div></div>" )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10488
					.appendTo( this.element );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10489
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10490
				classes = "ui-slider-range" +
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10491
				// note: this isn't the most fittingly semantic framework class for this element,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10492
				// but worked best visually with a variety of themes
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10493
				" ui-widget-header ui-corner-all";
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10494
			} else {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10495
				this.range.removeClass( "ui-slider-range-min ui-slider-range-max" )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10496
					// Handle range switching from true to min/max
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10497
					.css({
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10498
						"left": "",
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10499
						"bottom": ""
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10500
					});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10501
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10502
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10503
			this.range.addClass( classes +
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10504
				( ( options.range === "min" || options.range === "max" ) ? " ui-slider-range-" + options.range : "" ) );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10505
		} else {
262
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 10506
			if ( this.range ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 10507
				this.range.remove();
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 10508
			}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 10509
			this.range = null;
211
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10510
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10511
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10512
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10513
	_setupEvents: function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10514
		var elements = this.handles.add( this.range ).filter( "a" );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10515
		this._off( elements );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10516
		this._on( elements, this._handleEvents );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10517
		this._hoverable( elements );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10518
		this._focusable( elements );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10519
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10520
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10521
	_destroy: function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10522
		this.handles.remove();
262
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 10523
		if ( this.range ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 10524
			this.range.remove();
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 10525
		}
211
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10526
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10527
		this.element
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10528
			.removeClass( "ui-slider" +
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10529
				" ui-slider-horizontal" +
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10530
				" ui-slider-vertical" +
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10531
				" ui-widget" +
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10532
				" ui-widget-content" +
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10533
				" ui-corner-all" );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10534
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10535
		this._mouseDestroy();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10536
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10537
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10538
	_mouseCapture: function( event ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10539
		var position, normValue, distance, closestHandle, index, allowed, offset, mouseOverHandle,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10540
			that = this,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10541
			o = this.options;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10542
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10543
		if ( o.disabled ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10544
			return false;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10545
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10546
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10547
		this.elementSize = {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10548
			width: this.element.outerWidth(),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10549
			height: this.element.outerHeight()
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10550
		};
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10551
		this.elementOffset = this.element.offset();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10552
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10553
		position = { x: event.pageX, y: event.pageY };
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10554
		normValue = this._normValueFromMouse( position );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10555
		distance = this._valueMax() - this._valueMin() + 1;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10556
		this.handles.each(function( i ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10557
			var thisDistance = Math.abs( normValue - that.values(i) );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10558
			if (( distance > thisDistance ) ||
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10559
				( distance === thisDistance &&
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10560
					(i === that._lastChangedValue || that.values(i) === o.min ))) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10561
				distance = thisDistance;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10562
				closestHandle = $( this );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10563
				index = i;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10564
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10565
		});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10566
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10567
		allowed = this._start( event, index );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10568
		if ( allowed === false ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10569
			return false;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10570
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10571
		this._mouseSliding = true;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10572
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10573
		this._handleIndex = index;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10574
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10575
		closestHandle
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10576
			.addClass( "ui-state-active" )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10577
			.focus();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10578
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10579
		offset = closestHandle.offset();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10580
		mouseOverHandle = !$( event.target ).parents().addBack().is( ".ui-slider-handle" );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10581
		this._clickOffset = mouseOverHandle ? { left: 0, top: 0 } : {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10582
			left: event.pageX - offset.left - ( closestHandle.width() / 2 ),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10583
			top: event.pageY - offset.top -
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10584
				( closestHandle.height() / 2 ) -
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10585
				( parseInt( closestHandle.css("borderTopWidth"), 10 ) || 0 ) -
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10586
				( parseInt( closestHandle.css("borderBottomWidth"), 10 ) || 0) +
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10587
				( parseInt( closestHandle.css("marginTop"), 10 ) || 0)
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10588
		};
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10589
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10590
		if ( !this.handles.hasClass( "ui-state-hover" ) ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10591
			this._slide( event, index, normValue );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10592
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10593
		this._animateOff = true;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10594
		return true;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10595
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10596
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10597
	_mouseStart: function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10598
		return true;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10599
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10600
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10601
	_mouseDrag: function( event ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10602
		var position = { x: event.pageX, y: event.pageY },
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10603
			normValue = this._normValueFromMouse( position );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10604
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10605
		this._slide( event, this._handleIndex, normValue );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10606
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10607
		return false;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10608
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10609
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10610
	_mouseStop: function( event ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10611
		this.handles.removeClass( "ui-state-active" );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10612
		this._mouseSliding = false;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10613
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10614
		this._stop( event, this._handleIndex );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10615
		this._change( event, this._handleIndex );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10616
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10617
		this._handleIndex = null;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10618
		this._clickOffset = null;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10619
		this._animateOff = false;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10620
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10621
		return false;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10622
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10623
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10624
	_detectOrientation: function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10625
		this.orientation = ( this.options.orientation === "vertical" ) ? "vertical" : "horizontal";
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10626
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10627
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10628
	_normValueFromMouse: function( position ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10629
		var pixelTotal,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10630
			pixelMouse,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10631
			percentMouse,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10632
			valueTotal,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10633
			valueMouse;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10634
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10635
		if ( this.orientation === "horizontal" ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10636
			pixelTotal = this.elementSize.width;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10637
			pixelMouse = position.x - this.elementOffset.left - ( this._clickOffset ? this._clickOffset.left : 0 );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10638
		} else {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10639
			pixelTotal = this.elementSize.height;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10640
			pixelMouse = position.y - this.elementOffset.top - ( this._clickOffset ? this._clickOffset.top : 0 );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10641
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10642
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10643
		percentMouse = ( pixelMouse / pixelTotal );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10644
		if ( percentMouse > 1 ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10645
			percentMouse = 1;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10646
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10647
		if ( percentMouse < 0 ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10648
			percentMouse = 0;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10649
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10650
		if ( this.orientation === "vertical" ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10651
			percentMouse = 1 - percentMouse;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10652
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10653
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10654
		valueTotal = this._valueMax() - this._valueMin();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10655
		valueMouse = this._valueMin() + percentMouse * valueTotal;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10656
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10657
		return this._trimAlignValue( valueMouse );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10658
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10659
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10660
	_start: function( event, index ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10661
		var uiHash = {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10662
			handle: this.handles[ index ],
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10663
			value: this.value()
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10664
		};
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10665
		if ( this.options.values && this.options.values.length ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10666
			uiHash.value = this.values( index );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10667
			uiHash.values = this.values();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10668
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10669
		return this._trigger( "start", event, uiHash );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10670
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10671
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10672
	_slide: function( event, index, newVal ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10673
		var otherVal,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10674
			newValues,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10675
			allowed;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10676
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10677
		if ( this.options.values && this.options.values.length ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10678
			otherVal = this.values( index ? 0 : 1 );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10679
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10680
			if ( ( this.options.values.length === 2 && this.options.range === true ) &&
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10681
					( ( index === 0 && newVal > otherVal) || ( index === 1 && newVal < otherVal ) )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10682
				) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10683
				newVal = otherVal;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10684
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10685
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10686
			if ( newVal !== this.values( index ) ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10687
				newValues = this.values();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10688
				newValues[ index ] = newVal;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10689
				// A slide can be canceled by returning false from the slide callback
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10690
				allowed = this._trigger( "slide", event, {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10691
					handle: this.handles[ index ],
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10692
					value: newVal,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10693
					values: newValues
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10694
				} );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10695
				otherVal = this.values( index ? 0 : 1 );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10696
				if ( allowed !== false ) {
262
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 10697
					this.values( index, newVal );
211
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10698
				}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10699
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10700
		} else {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10701
			if ( newVal !== this.value() ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10702
				// A slide can be canceled by returning false from the slide callback
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10703
				allowed = this._trigger( "slide", event, {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10704
					handle: this.handles[ index ],
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10705
					value: newVal
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10706
				} );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10707
				if ( allowed !== false ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10708
					this.value( newVal );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10709
				}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10710
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10711
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10712
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10713
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10714
	_stop: function( event, index ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10715
		var uiHash = {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10716
			handle: this.handles[ index ],
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10717
			value: this.value()
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10718
		};
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10719
		if ( this.options.values && this.options.values.length ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10720
			uiHash.value = this.values( index );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10721
			uiHash.values = this.values();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10722
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10723
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10724
		this._trigger( "stop", event, uiHash );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10725
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10726
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10727
	_change: function( event, index ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10728
		if ( !this._keySliding && !this._mouseSliding ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10729
			var uiHash = {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10730
				handle: this.handles[ index ],
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10731
				value: this.value()
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10732
			};
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10733
			if ( this.options.values && this.options.values.length ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10734
				uiHash.value = this.values( index );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10735
				uiHash.values = this.values();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10736
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10737
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10738
			//store the last changed value index for reference when handles overlap
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10739
			this._lastChangedValue = index;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10740
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10741
			this._trigger( "change", event, uiHash );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10742
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10743
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10744
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10745
	value: function( newValue ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10746
		if ( arguments.length ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10747
			this.options.value = this._trimAlignValue( newValue );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10748
			this._refreshValue();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10749
			this._change( null, 0 );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10750
			return;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10751
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10752
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10753
		return this._value();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10754
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10755
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10756
	values: function( index, newValue ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10757
		var vals,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10758
			newValues,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10759
			i;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10760
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10761
		if ( arguments.length > 1 ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10762
			this.options.values[ index ] = this._trimAlignValue( newValue );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10763
			this._refreshValue();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10764
			this._change( null, index );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10765
			return;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10766
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10767
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10768
		if ( arguments.length ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10769
			if ( $.isArray( arguments[ 0 ] ) ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10770
				vals = this.options.values;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10771
				newValues = arguments[ 0 ];
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10772
				for ( i = 0; i < vals.length; i += 1 ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10773
					vals[ i ] = this._trimAlignValue( newValues[ i ] );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10774
					this._change( null, i );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10775
				}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10776
				this._refreshValue();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10777
			} else {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10778
				if ( this.options.values && this.options.values.length ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10779
					return this._values( index );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10780
				} else {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10781
					return this.value();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10782
				}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10783
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10784
		} else {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10785
			return this._values();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10786
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10787
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10788
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10789
	_setOption: function( key, value ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10790
		var i,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10791
			valsLength = 0;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10792
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10793
		if ( key === "range" && this.options.range === true ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10794
			if ( value === "min" ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10795
				this.options.value = this._values( 0 );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10796
				this.options.values = null;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10797
			} else if ( value === "max" ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10798
				this.options.value = this._values( this.options.values.length-1 );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10799
				this.options.values = null;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10800
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10801
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10802
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10803
		if ( $.isArray( this.options.values ) ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10804
			valsLength = this.options.values.length;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10805
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10806
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10807
		$.Widget.prototype._setOption.apply( this, arguments );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10808
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10809
		switch ( key ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10810
			case "orientation":
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10811
				this._detectOrientation();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10812
				this.element
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10813
					.removeClass( "ui-slider-horizontal ui-slider-vertical" )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10814
					.addClass( "ui-slider-" + this.orientation );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10815
				this._refreshValue();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10816
				break;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10817
			case "value":
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10818
				this._animateOff = true;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10819
				this._refreshValue();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10820
				this._change( null, 0 );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10821
				this._animateOff = false;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10822
				break;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10823
			case "values":
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10824
				this._animateOff = true;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10825
				this._refreshValue();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10826
				for ( i = 0; i < valsLength; i += 1 ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10827
					this._change( null, i );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10828
				}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10829
				this._animateOff = false;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10830
				break;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10831
			case "min":
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10832
			case "max":
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10833
				this._animateOff = true;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10834
				this._refreshValue();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10835
				this._animateOff = false;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10836
				break;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10837
			case "range":
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10838
				this._animateOff = true;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10839
				this._refresh();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10840
				this._animateOff = false;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10841
				break;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10842
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10843
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10844
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10845
	//internal value getter
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10846
	// _value() returns value trimmed by min and max, aligned by step
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10847
	_value: function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10848
		var val = this.options.value;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10849
		val = this._trimAlignValue( val );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10850
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10851
		return val;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10852
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10853
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10854
	//internal values getter
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10855
	// _values() returns array of values trimmed by min and max, aligned by step
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10856
	// _values( index ) returns single value trimmed by min and max, aligned by step
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10857
	_values: function( index ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10858
		var val,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10859
			vals,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10860
			i;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10861
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10862
		if ( arguments.length ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10863
			val = this.options.values[ index ];
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10864
			val = this._trimAlignValue( val );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10865
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10866
			return val;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10867
		} else if ( this.options.values && this.options.values.length ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10868
			// .slice() creates a copy of the array
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10869
			// this copy gets trimmed by min and max and then returned
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10870
			vals = this.options.values.slice();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10871
			for ( i = 0; i < vals.length; i+= 1) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10872
				vals[ i ] = this._trimAlignValue( vals[ i ] );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10873
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10874
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10875
			return vals;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10876
		} else {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10877
			return [];
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10878
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10879
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10880
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10881
	// returns the step-aligned value that val is closest to, between (inclusive) min and max
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10882
	_trimAlignValue: function( val ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10883
		if ( val <= this._valueMin() ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10884
			return this._valueMin();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10885
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10886
		if ( val >= this._valueMax() ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10887
			return this._valueMax();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10888
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10889
		var step = ( this.options.step > 0 ) ? this.options.step : 1,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10890
			valModStep = (val - this._valueMin()) % step,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10891
			alignValue = val - valModStep;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10892
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10893
		if ( Math.abs(valModStep) * 2 >= step ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10894
			alignValue += ( valModStep > 0 ) ? step : ( -step );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10895
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10896
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10897
		// Since JavaScript has problems with large floats, round
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10898
		// the final value to 5 digits after the decimal point (see #4124)
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10899
		return parseFloat( alignValue.toFixed(5) );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10900
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10901
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10902
	_valueMin: function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10903
		return this.options.min;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10904
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10905
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10906
	_valueMax: function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10907
		return this.options.max;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10908
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10909
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10910
	_refreshValue: function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10911
		var lastValPercent, valPercent, value, valueMin, valueMax,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10912
			oRange = this.options.range,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10913
			o = this.options,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10914
			that = this,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10915
			animate = ( !this._animateOff ) ? o.animate : false,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10916
			_set = {};
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10917
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10918
		if ( this.options.values && this.options.values.length ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10919
			this.handles.each(function( i ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10920
				valPercent = ( that.values(i) - that._valueMin() ) / ( that._valueMax() - that._valueMin() ) * 100;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10921
				_set[ that.orientation === "horizontal" ? "left" : "bottom" ] = valPercent + "%";
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10922
				$( this ).stop( 1, 1 )[ animate ? "animate" : "css" ]( _set, o.animate );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10923
				if ( that.options.range === true ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10924
					if ( that.orientation === "horizontal" ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10925
						if ( i === 0 ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10926
							that.range.stop( 1, 1 )[ animate ? "animate" : "css" ]( { left: valPercent + "%" }, o.animate );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10927
						}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10928
						if ( i === 1 ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10929
							that.range[ animate ? "animate" : "css" ]( { width: ( valPercent - lastValPercent ) + "%" }, { queue: false, duration: o.animate } );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10930
						}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10931
					} else {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10932
						if ( i === 0 ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10933
							that.range.stop( 1, 1 )[ animate ? "animate" : "css" ]( { bottom: ( valPercent ) + "%" }, o.animate );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10934
						}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10935
						if ( i === 1 ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10936
							that.range[ animate ? "animate" : "css" ]( { height: ( valPercent - lastValPercent ) + "%" }, { queue: false, duration: o.animate } );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10937
						}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10938
					}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10939
				}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10940
				lastValPercent = valPercent;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10941
			});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10942
		} else {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10943
			value = this.value();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10944
			valueMin = this._valueMin();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10945
			valueMax = this._valueMax();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10946
			valPercent = ( valueMax !== valueMin ) ?
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10947
					( value - valueMin ) / ( valueMax - valueMin ) * 100 :
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10948
					0;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10949
			_set[ this.orientation === "horizontal" ? "left" : "bottom" ] = valPercent + "%";
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10950
			this.handle.stop( 1, 1 )[ animate ? "animate" : "css" ]( _set, o.animate );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10951
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10952
			if ( oRange === "min" && this.orientation === "horizontal" ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10953
				this.range.stop( 1, 1 )[ animate ? "animate" : "css" ]( { width: valPercent + "%" }, o.animate );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10954
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10955
			if ( oRange === "max" && this.orientation === "horizontal" ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10956
				this.range[ animate ? "animate" : "css" ]( { width: ( 100 - valPercent ) + "%" }, { queue: false, duration: o.animate } );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10957
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10958
			if ( oRange === "min" && this.orientation === "vertical" ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10959
				this.range.stop( 1, 1 )[ animate ? "animate" : "css" ]( { height: valPercent + "%" }, o.animate );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10960
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10961
			if ( oRange === "max" && this.orientation === "vertical" ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10962
				this.range[ animate ? "animate" : "css" ]( { height: ( 100 - valPercent ) + "%" }, { queue: false, duration: o.animate } );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10963
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10964
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10965
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10966
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10967
	_handleEvents: {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10968
		keydown: function( event ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10969
			var allowed, curVal, newVal, step,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10970
				index = $( event.target ).data( "ui-slider-handle-index" );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10971
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10972
			switch ( event.keyCode ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10973
				case $.ui.keyCode.HOME:
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10974
				case $.ui.keyCode.END:
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10975
				case $.ui.keyCode.PAGE_UP:
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10976
				case $.ui.keyCode.PAGE_DOWN:
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10977
				case $.ui.keyCode.UP:
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10978
				case $.ui.keyCode.RIGHT:
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10979
				case $.ui.keyCode.DOWN:
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10980
				case $.ui.keyCode.LEFT:
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10981
					event.preventDefault();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10982
					if ( !this._keySliding ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10983
						this._keySliding = true;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10984
						$( event.target ).addClass( "ui-state-active" );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10985
						allowed = this._start( event, index );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10986
						if ( allowed === false ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10987
							return;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10988
						}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10989
					}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10990
					break;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10991
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10992
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10993
			step = this.options.step;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10994
			if ( this.options.values && this.options.values.length ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10995
				curVal = newVal = this.values( index );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10996
			} else {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10997
				curVal = newVal = this.value();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10998
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 10999
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11000
			switch ( event.keyCode ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11001
				case $.ui.keyCode.HOME:
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11002
					newVal = this._valueMin();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11003
					break;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11004
				case $.ui.keyCode.END:
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11005
					newVal = this._valueMax();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11006
					break;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11007
				case $.ui.keyCode.PAGE_UP:
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11008
					newVal = this._trimAlignValue( curVal + ( (this._valueMax() - this._valueMin()) / numPages ) );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11009
					break;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11010
				case $.ui.keyCode.PAGE_DOWN:
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11011
					newVal = this._trimAlignValue( curVal - ( (this._valueMax() - this._valueMin()) / numPages ) );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11012
					break;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11013
				case $.ui.keyCode.UP:
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11014
				case $.ui.keyCode.RIGHT:
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11015
					if ( curVal === this._valueMax() ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11016
						return;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11017
					}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11018
					newVal = this._trimAlignValue( curVal + step );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11019
					break;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11020
				case $.ui.keyCode.DOWN:
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11021
				case $.ui.keyCode.LEFT:
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11022
					if ( curVal === this._valueMin() ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11023
						return;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11024
					}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11025
					newVal = this._trimAlignValue( curVal - step );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11026
					break;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11027
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11028
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11029
			this._slide( event, index, newVal );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11030
		},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11031
		click: function( event ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11032
			event.preventDefault();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11033
		},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11034
		keyup: function( event ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11035
			var index = $( event.target ).data( "ui-slider-handle-index" );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11036
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11037
			if ( this._keySliding ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11038
				this._keySliding = false;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11039
				this._stop( event, index );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11040
				this._change( event, index );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11041
				$( event.target ).removeClass( "ui-state-active" );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11042
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11043
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11044
	}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11045
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11046
});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11047
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11048
}(jQuery));
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11049
(function( $ ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11050
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11051
function modifier( fn ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11052
	return function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11053
		var previous = this.element.val();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11054
		fn.apply( this, arguments );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11055
		this._refresh();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11056
		if ( previous !== this.element.val() ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11057
			this._trigger( "change" );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11058
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11059
	};
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11060
}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11061
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11062
$.widget( "ui.spinner", {
262
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 11063
	version: "1.10.4",
211
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11064
	defaultElement: "<input>",
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11065
	widgetEventPrefix: "spin",
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11066
	options: {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11067
		culture: null,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11068
		icons: {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11069
			down: "ui-icon-triangle-1-s",
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11070
			up: "ui-icon-triangle-1-n"
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11071
		},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11072
		incremental: true,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11073
		max: null,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11074
		min: null,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11075
		numberFormat: null,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11076
		page: 10,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11077
		step: 1,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11078
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11079
		change: null,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11080
		spin: null,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11081
		start: null,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11082
		stop: null
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11083
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11084
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11085
	_create: function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11086
		// handle string values that need to be parsed
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11087
		this._setOption( "max", this.options.max );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11088
		this._setOption( "min", this.options.min );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11089
		this._setOption( "step", this.options.step );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11090
262
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 11091
		// Only format if there is a value, prevents the field from being marked
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 11092
		// as invalid in Firefox, see #9573.
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 11093
		if ( this.value() !== "" ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 11094
			// Format the value, but don't constrain.
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 11095
			this._value( this.element.val(), true );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 11096
		}
211
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11097
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11098
		this._draw();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11099
		this._on( this._events );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11100
		this._refresh();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11101
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11102
		// turning off autocomplete prevents the browser from remembering the
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11103
		// value when navigating through history, so we re-enable autocomplete
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11104
		// if the page is unloaded before the widget is destroyed. #7790
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11105
		this._on( this.window, {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11106
			beforeunload: function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11107
				this.element.removeAttr( "autocomplete" );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11108
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11109
		});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11110
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11111
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11112
	_getCreateOptions: function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11113
		var options = {},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11114
			element = this.element;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11115
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11116
		$.each( [ "min", "max", "step" ], function( i, option ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11117
			var value = element.attr( option );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11118
			if ( value !== undefined && value.length ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11119
				options[ option ] = value;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11120
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11121
		});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11122
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11123
		return options;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11124
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11125
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11126
	_events: {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11127
		keydown: function( event ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11128
			if ( this._start( event ) && this._keydown( event ) ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11129
				event.preventDefault();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11130
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11131
		},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11132
		keyup: "_stop",
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11133
		focus: function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11134
			this.previous = this.element.val();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11135
		},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11136
		blur: function( event ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11137
			if ( this.cancelBlur ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11138
				delete this.cancelBlur;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11139
				return;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11140
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11141
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11142
			this._stop();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11143
			this._refresh();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11144
			if ( this.previous !== this.element.val() ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11145
				this._trigger( "change", event );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11146
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11147
		},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11148
		mousewheel: function( event, delta ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11149
			if ( !delta ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11150
				return;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11151
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11152
			if ( !this.spinning && !this._start( event ) ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11153
				return false;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11154
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11155
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11156
			this._spin( (delta > 0 ? 1 : -1) * this.options.step, event );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11157
			clearTimeout( this.mousewheelTimer );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11158
			this.mousewheelTimer = this._delay(function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11159
				if ( this.spinning ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11160
					this._stop( event );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11161
				}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11162
			}, 100 );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11163
			event.preventDefault();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11164
		},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11165
		"mousedown .ui-spinner-button": function( event ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11166
			var previous;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11167
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11168
			// We never want the buttons to have focus; whenever the user is
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11169
			// interacting with the spinner, the focus should be on the input.
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11170
			// If the input is focused then this.previous is properly set from
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11171
			// when the input first received focus. If the input is not focused
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11172
			// then we need to set this.previous based on the value before spinning.
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11173
			previous = this.element[0] === this.document[0].activeElement ?
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11174
				this.previous : this.element.val();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11175
			function checkFocus() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11176
				var isActive = this.element[0] === this.document[0].activeElement;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11177
				if ( !isActive ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11178
					this.element.focus();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11179
					this.previous = previous;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11180
					// support: IE
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11181
					// IE sets focus asynchronously, so we need to check if focus
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11182
					// moved off of the input because the user clicked on the button.
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11183
					this._delay(function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11184
						this.previous = previous;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11185
					});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11186
				}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11187
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11188
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11189
			// ensure focus is on (or stays on) the text field
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11190
			event.preventDefault();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11191
			checkFocus.call( this );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11192
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11193
			// support: IE
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11194
			// IE doesn't prevent moving focus even with event.preventDefault()
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11195
			// so we set a flag to know when we should ignore the blur event
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11196
			// and check (again) if focus moved off of the input.
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11197
			this.cancelBlur = true;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11198
			this._delay(function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11199
				delete this.cancelBlur;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11200
				checkFocus.call( this );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11201
			});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11202
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11203
			if ( this._start( event ) === false ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11204
				return;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11205
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11206
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11207
			this._repeat( null, $( event.currentTarget ).hasClass( "ui-spinner-up" ) ? 1 : -1, event );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11208
		},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11209
		"mouseup .ui-spinner-button": "_stop",
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11210
		"mouseenter .ui-spinner-button": function( event ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11211
			// button will add ui-state-active if mouse was down while mouseleave and kept down
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11212
			if ( !$( event.currentTarget ).hasClass( "ui-state-active" ) ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11213
				return;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11214
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11215
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11216
			if ( this._start( event ) === false ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11217
				return false;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11218
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11219
			this._repeat( null, $( event.currentTarget ).hasClass( "ui-spinner-up" ) ? 1 : -1, event );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11220
		},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11221
		// TODO: do we really want to consider this a stop?
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11222
		// shouldn't we just stop the repeater and wait until mouseup before
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11223
		// we trigger the stop event?
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11224
		"mouseleave .ui-spinner-button": "_stop"
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11225
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11226
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11227
	_draw: function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11228
		var uiSpinner = this.uiSpinner = this.element
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11229
			.addClass( "ui-spinner-input" )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11230
			.attr( "autocomplete", "off" )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11231
			.wrap( this._uiSpinnerHtml() )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11232
			.parent()
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11233
				// add buttons
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11234
				.append( this._buttonHtml() );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11235
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11236
		this.element.attr( "role", "spinbutton" );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11237
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11238
		// button bindings
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11239
		this.buttons = uiSpinner.find( ".ui-spinner-button" )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11240
			.attr( "tabIndex", -1 )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11241
			.button()
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11242
			.removeClass( "ui-corner-all" );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11243
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11244
		// IE 6 doesn't understand height: 50% for the buttons
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11245
		// unless the wrapper has an explicit height
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11246
		if ( this.buttons.height() > Math.ceil( uiSpinner.height() * 0.5 ) &&
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11247
				uiSpinner.height() > 0 ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11248
			uiSpinner.height( uiSpinner.height() );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11249
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11250
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11251
		// disable spinner if element was already disabled
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11252
		if ( this.options.disabled ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11253
			this.disable();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11254
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11255
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11256
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11257
	_keydown: function( event ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11258
		var options = this.options,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11259
			keyCode = $.ui.keyCode;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11260
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11261
		switch ( event.keyCode ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11262
		case keyCode.UP:
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11263
			this._repeat( null, 1, event );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11264
			return true;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11265
		case keyCode.DOWN:
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11266
			this._repeat( null, -1, event );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11267
			return true;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11268
		case keyCode.PAGE_UP:
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11269
			this._repeat( null, options.page, event );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11270
			return true;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11271
		case keyCode.PAGE_DOWN:
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11272
			this._repeat( null, -options.page, event );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11273
			return true;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11274
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11275
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11276
		return false;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11277
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11278
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11279
	_uiSpinnerHtml: function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11280
		return "<span class='ui-spinner ui-widget ui-widget-content ui-corner-all'></span>";
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11281
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11282
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11283
	_buttonHtml: function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11284
		return "" +
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11285
			"<a class='ui-spinner-button ui-spinner-up ui-corner-tr'>" +
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11286
				"<span class='ui-icon " + this.options.icons.up + "'>&#9650;</span>" +
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11287
			"</a>" +
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11288
			"<a class='ui-spinner-button ui-spinner-down ui-corner-br'>" +
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11289
				"<span class='ui-icon " + this.options.icons.down + "'>&#9660;</span>" +
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11290
			"</a>";
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11291
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11292
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11293
	_start: function( event ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11294
		if ( !this.spinning && this._trigger( "start", event ) === false ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11295
			return false;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11296
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11297
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11298
		if ( !this.counter ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11299
			this.counter = 1;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11300
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11301
		this.spinning = true;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11302
		return true;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11303
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11304
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11305
	_repeat: function( i, steps, event ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11306
		i = i || 500;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11307
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11308
		clearTimeout( this.timer );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11309
		this.timer = this._delay(function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11310
			this._repeat( 40, steps, event );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11311
		}, i );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11312
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11313
		this._spin( steps * this.options.step, event );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11314
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11315
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11316
	_spin: function( step, event ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11317
		var value = this.value() || 0;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11318
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11319
		if ( !this.counter ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11320
			this.counter = 1;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11321
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11322
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11323
		value = this._adjustValue( value + step * this._increment( this.counter ) );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11324
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11325
		if ( !this.spinning || this._trigger( "spin", event, { value: value } ) !== false) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11326
			this._value( value );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11327
			this.counter++;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11328
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11329
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11330
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11331
	_increment: function( i ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11332
		var incremental = this.options.incremental;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11333
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11334
		if ( incremental ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11335
			return $.isFunction( incremental ) ?
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11336
				incremental( i ) :
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11337
				Math.floor( i*i*i/50000 - i*i/500 + 17*i/200 + 1 );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11338
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11339
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11340
		return 1;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11341
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11342
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11343
	_precision: function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11344
		var precision = this._precisionOf( this.options.step );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11345
		if ( this.options.min !== null ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11346
			precision = Math.max( precision, this._precisionOf( this.options.min ) );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11347
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11348
		return precision;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11349
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11350
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11351
	_precisionOf: function( num ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11352
		var str = num.toString(),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11353
			decimal = str.indexOf( "." );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11354
		return decimal === -1 ? 0 : str.length - decimal - 1;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11355
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11356
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11357
	_adjustValue: function( value ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11358
		var base, aboveMin,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11359
			options = this.options;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11360
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11361
		// make sure we're at a valid step
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11362
		// - find out where we are relative to the base (min or 0)
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11363
		base = options.min !== null ? options.min : 0;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11364
		aboveMin = value - base;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11365
		// - round to the nearest step
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11366
		aboveMin = Math.round(aboveMin / options.step) * options.step;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11367
		// - rounding is based on 0, so adjust back to our base
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11368
		value = base + aboveMin;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11369
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11370
		// fix precision from bad JS floating point math
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11371
		value = parseFloat( value.toFixed( this._precision() ) );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11372
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11373
		// clamp the value
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11374
		if ( options.max !== null && value > options.max) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11375
			return options.max;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11376
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11377
		if ( options.min !== null && value < options.min ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11378
			return options.min;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11379
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11380
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11381
		return value;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11382
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11383
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11384
	_stop: function( event ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11385
		if ( !this.spinning ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11386
			return;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11387
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11388
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11389
		clearTimeout( this.timer );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11390
		clearTimeout( this.mousewheelTimer );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11391
		this.counter = 0;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11392
		this.spinning = false;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11393
		this._trigger( "stop", event );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11394
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11395
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11396
	_setOption: function( key, value ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11397
		if ( key === "culture" || key === "numberFormat" ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11398
			var prevValue = this._parse( this.element.val() );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11399
			this.options[ key ] = value;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11400
			this.element.val( this._format( prevValue ) );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11401
			return;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11402
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11403
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11404
		if ( key === "max" || key === "min" || key === "step" ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11405
			if ( typeof value === "string" ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11406
				value = this._parse( value );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11407
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11408
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11409
		if ( key === "icons" ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11410
			this.buttons.first().find( ".ui-icon" )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11411
				.removeClass( this.options.icons.up )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11412
				.addClass( value.up );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11413
			this.buttons.last().find( ".ui-icon" )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11414
				.removeClass( this.options.icons.down )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11415
				.addClass( value.down );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11416
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11417
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11418
		this._super( key, value );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11419
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11420
		if ( key === "disabled" ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11421
			if ( value ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11422
				this.element.prop( "disabled", true );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11423
				this.buttons.button( "disable" );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11424
			} else {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11425
				this.element.prop( "disabled", false );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11426
				this.buttons.button( "enable" );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11427
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11428
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11429
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11430
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11431
	_setOptions: modifier(function( options ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11432
		this._super( options );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11433
		this._value( this.element.val() );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11434
	}),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11435
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11436
	_parse: function( val ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11437
		if ( typeof val === "string" && val !== "" ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11438
			val = window.Globalize && this.options.numberFormat ?
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11439
				Globalize.parseFloat( val, 10, this.options.culture ) : +val;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11440
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11441
		return val === "" || isNaN( val ) ? null : val;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11442
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11443
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11444
	_format: function( value ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11445
		if ( value === "" ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11446
			return "";
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11447
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11448
		return window.Globalize && this.options.numberFormat ?
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11449
			Globalize.format( value, this.options.numberFormat, this.options.culture ) :
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11450
			value;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11451
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11452
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11453
	_refresh: function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11454
		this.element.attr({
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11455
			"aria-valuemin": this.options.min,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11456
			"aria-valuemax": this.options.max,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11457
			// TODO: what should we do with values that can't be parsed?
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11458
			"aria-valuenow": this._parse( this.element.val() )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11459
		});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11460
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11461
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11462
	// update the value without triggering change
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11463
	_value: function( value, allowAny ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11464
		var parsed;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11465
		if ( value !== "" ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11466
			parsed = this._parse( value );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11467
			if ( parsed !== null ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11468
				if ( !allowAny ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11469
					parsed = this._adjustValue( parsed );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11470
				}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11471
				value = this._format( parsed );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11472
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11473
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11474
		this.element.val( value );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11475
		this._refresh();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11476
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11477
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11478
	_destroy: function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11479
		this.element
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11480
			.removeClass( "ui-spinner-input" )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11481
			.prop( "disabled", false )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11482
			.removeAttr( "autocomplete" )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11483
			.removeAttr( "role" )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11484
			.removeAttr( "aria-valuemin" )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11485
			.removeAttr( "aria-valuemax" )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11486
			.removeAttr( "aria-valuenow" );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11487
		this.uiSpinner.replaceWith( this.element );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11488
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11489
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11490
	stepUp: modifier(function( steps ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11491
		this._stepUp( steps );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11492
	}),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11493
	_stepUp: function( steps ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11494
		if ( this._start() ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11495
			this._spin( (steps || 1) * this.options.step );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11496
			this._stop();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11497
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11498
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11499
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11500
	stepDown: modifier(function( steps ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11501
		this._stepDown( steps );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11502
	}),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11503
	_stepDown: function( steps ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11504
		if ( this._start() ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11505
			this._spin( (steps || 1) * -this.options.step );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11506
			this._stop();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11507
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11508
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11509
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11510
	pageUp: modifier(function( pages ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11511
		this._stepUp( (pages || 1) * this.options.page );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11512
	}),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11513
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11514
	pageDown: modifier(function( pages ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11515
		this._stepDown( (pages || 1) * this.options.page );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11516
	}),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11517
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11518
	value: function( newVal ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11519
		if ( !arguments.length ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11520
			return this._parse( this.element.val() );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11521
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11522
		modifier( this._value ).call( this, newVal );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11523
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11524
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11525
	widget: function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11526
		return this.uiSpinner;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11527
	}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11528
});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11529
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11530
}( jQuery ) );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11531
(function( $, undefined ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11532
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11533
var tabId = 0,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11534
	rhash = /#.*$/;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11535
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11536
function getNextTabId() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11537
	return ++tabId;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11538
}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11539
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11540
function isLocal( anchor ) {
262
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 11541
	// support: IE7
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 11542
	// IE7 doesn't normalize the href property when set via script (#9317)
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 11543
	anchor = anchor.cloneNode( false );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 11544
211
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11545
	return anchor.hash.length > 1 &&
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11546
		decodeURIComponent( anchor.href.replace( rhash, "" ) ) ===
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11547
			decodeURIComponent( location.href.replace( rhash, "" ) );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11548
}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11549
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11550
$.widget( "ui.tabs", {
262
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 11551
	version: "1.10.4",
211
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11552
	delay: 300,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11553
	options: {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11554
		active: null,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11555
		collapsible: false,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11556
		event: "click",
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11557
		heightStyle: "content",
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11558
		hide: null,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11559
		show: null,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11560
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11561
		// callbacks
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11562
		activate: null,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11563
		beforeActivate: null,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11564
		beforeLoad: null,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11565
		load: null
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11566
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11567
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11568
	_create: function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11569
		var that = this,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11570
			options = this.options;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11571
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11572
		this.running = false;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11573
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11574
		this.element
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11575
			.addClass( "ui-tabs ui-widget ui-widget-content ui-corner-all" )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11576
			.toggleClass( "ui-tabs-collapsible", options.collapsible )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11577
			// Prevent users from focusing disabled tabs via click
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11578
			.delegate( ".ui-tabs-nav > li", "mousedown" + this.eventNamespace, function( event ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11579
				if ( $( this ).is( ".ui-state-disabled" ) ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11580
					event.preventDefault();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11581
				}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11582
			})
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11583
			// support: IE <9
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11584
			// Preventing the default action in mousedown doesn't prevent IE
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11585
			// from focusing the element, so if the anchor gets focused, blur.
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11586
			// We don't have to worry about focusing the previously focused
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11587
			// element since clicking on a non-focusable element should focus
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11588
			// the body anyway.
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11589
			.delegate( ".ui-tabs-anchor", "focus" + this.eventNamespace, function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11590
				if ( $( this ).closest( "li" ).is( ".ui-state-disabled" ) ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11591
					this.blur();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11592
				}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11593
			});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11594
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11595
		this._processTabs();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11596
		options.active = this._initialActive();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11597
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11598
		// Take disabling tabs via class attribute from HTML
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11599
		// into account and update option properly.
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11600
		if ( $.isArray( options.disabled ) ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11601
			options.disabled = $.unique( options.disabled.concat(
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11602
				$.map( this.tabs.filter( ".ui-state-disabled" ), function( li ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11603
					return that.tabs.index( li );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11604
				})
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11605
			) ).sort();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11606
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11607
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11608
		// check for length avoids error when initializing empty list
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11609
		if ( this.options.active !== false && this.anchors.length ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11610
			this.active = this._findActive( options.active );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11611
		} else {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11612
			this.active = $();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11613
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11614
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11615
		this._refresh();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11616
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11617
		if ( this.active.length ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11618
			this.load( options.active );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11619
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11620
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11621
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11622
	_initialActive: function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11623
		var active = this.options.active,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11624
			collapsible = this.options.collapsible,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11625
			locationHash = location.hash.substring( 1 );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11626
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11627
		if ( active === null ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11628
			// check the fragment identifier in the URL
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11629
			if ( locationHash ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11630
				this.tabs.each(function( i, tab ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11631
					if ( $( tab ).attr( "aria-controls" ) === locationHash ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11632
						active = i;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11633
						return false;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11634
					}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11635
				});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11636
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11637
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11638
			// check for a tab marked active via a class
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11639
			if ( active === null ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11640
				active = this.tabs.index( this.tabs.filter( ".ui-tabs-active" ) );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11641
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11642
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11643
			// no active tab, set to false
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11644
			if ( active === null || active === -1 ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11645
				active = this.tabs.length ? 0 : false;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11646
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11647
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11648
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11649
		// handle numbers: negative, out of range
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11650
		if ( active !== false ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11651
			active = this.tabs.index( this.tabs.eq( active ) );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11652
			if ( active === -1 ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11653
				active = collapsible ? false : 0;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11654
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11655
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11656
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11657
		// don't allow collapsible: false and active: false
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11658
		if ( !collapsible && active === false && this.anchors.length ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11659
			active = 0;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11660
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11661
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11662
		return active;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11663
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11664
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11665
	_getCreateEventData: function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11666
		return {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11667
			tab: this.active,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11668
			panel: !this.active.length ? $() : this._getPanelForTab( this.active )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11669
		};
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11670
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11671
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11672
	_tabKeydown: function( event ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11673
		var focusedTab = $( this.document[0].activeElement ).closest( "li" ),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11674
			selectedIndex = this.tabs.index( focusedTab ),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11675
			goingForward = true;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11676
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11677
		if ( this._handlePageNav( event ) ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11678
			return;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11679
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11680
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11681
		switch ( event.keyCode ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11682
			case $.ui.keyCode.RIGHT:
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11683
			case $.ui.keyCode.DOWN:
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11684
				selectedIndex++;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11685
				break;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11686
			case $.ui.keyCode.UP:
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11687
			case $.ui.keyCode.LEFT:
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11688
				goingForward = false;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11689
				selectedIndex--;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11690
				break;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11691
			case $.ui.keyCode.END:
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11692
				selectedIndex = this.anchors.length - 1;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11693
				break;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11694
			case $.ui.keyCode.HOME:
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11695
				selectedIndex = 0;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11696
				break;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11697
			case $.ui.keyCode.SPACE:
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11698
				// Activate only, no collapsing
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11699
				event.preventDefault();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11700
				clearTimeout( this.activating );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11701
				this._activate( selectedIndex );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11702
				return;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11703
			case $.ui.keyCode.ENTER:
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11704
				// Toggle (cancel delayed activation, allow collapsing)
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11705
				event.preventDefault();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11706
				clearTimeout( this.activating );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11707
				// Determine if we should collapse or activate
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11708
				this._activate( selectedIndex === this.options.active ? false : selectedIndex );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11709
				return;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11710
			default:
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11711
				return;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11712
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11713
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11714
		// Focus the appropriate tab, based on which key was pressed
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11715
		event.preventDefault();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11716
		clearTimeout( this.activating );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11717
		selectedIndex = this._focusNextTab( selectedIndex, goingForward );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11718
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11719
		// Navigating with control key will prevent automatic activation
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11720
		if ( !event.ctrlKey ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11721
			// Update aria-selected immediately so that AT think the tab is already selected.
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11722
			// Otherwise AT may confuse the user by stating that they need to activate the tab,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11723
			// but the tab will already be activated by the time the announcement finishes.
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11724
			focusedTab.attr( "aria-selected", "false" );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11725
			this.tabs.eq( selectedIndex ).attr( "aria-selected", "true" );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11726
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11727
			this.activating = this._delay(function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11728
				this.option( "active", selectedIndex );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11729
			}, this.delay );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11730
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11731
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11732
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11733
	_panelKeydown: function( event ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11734
		if ( this._handlePageNav( event ) ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11735
			return;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11736
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11737
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11738
		// Ctrl+up moves focus to the current tab
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11739
		if ( event.ctrlKey && event.keyCode === $.ui.keyCode.UP ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11740
			event.preventDefault();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11741
			this.active.focus();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11742
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11743
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11744
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11745
	// Alt+page up/down moves focus to the previous/next tab (and activates)
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11746
	_handlePageNav: function( event ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11747
		if ( event.altKey && event.keyCode === $.ui.keyCode.PAGE_UP ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11748
			this._activate( this._focusNextTab( this.options.active - 1, false ) );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11749
			return true;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11750
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11751
		if ( event.altKey && event.keyCode === $.ui.keyCode.PAGE_DOWN ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11752
			this._activate( this._focusNextTab( this.options.active + 1, true ) );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11753
			return true;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11754
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11755
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11756
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11757
	_findNextTab: function( index, goingForward ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11758
		var lastTabIndex = this.tabs.length - 1;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11759
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11760
		function constrain() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11761
			if ( index > lastTabIndex ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11762
				index = 0;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11763
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11764
			if ( index < 0 ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11765
				index = lastTabIndex;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11766
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11767
			return index;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11768
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11769
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11770
		while ( $.inArray( constrain(), this.options.disabled ) !== -1 ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11771
			index = goingForward ? index + 1 : index - 1;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11772
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11773
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11774
		return index;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11775
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11776
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11777
	_focusNextTab: function( index, goingForward ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11778
		index = this._findNextTab( index, goingForward );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11779
		this.tabs.eq( index ).focus();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11780
		return index;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11781
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11782
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11783
	_setOption: function( key, value ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11784
		if ( key === "active" ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11785
			// _activate() will handle invalid values and update this.options
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11786
			this._activate( value );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11787
			return;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11788
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11789
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11790
		if ( key === "disabled" ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11791
			// don't use the widget factory's disabled handling
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11792
			this._setupDisabled( value );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11793
			return;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11794
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11795
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11796
		this._super( key, value);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11797
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11798
		if ( key === "collapsible" ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11799
			this.element.toggleClass( "ui-tabs-collapsible", value );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11800
			// Setting collapsible: false while collapsed; open first panel
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11801
			if ( !value && this.options.active === false ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11802
				this._activate( 0 );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11803
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11804
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11805
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11806
		if ( key === "event" ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11807
			this._setupEvents( value );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11808
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11809
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11810
		if ( key === "heightStyle" ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11811
			this._setupHeightStyle( value );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11812
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11813
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11814
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11815
	_tabId: function( tab ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11816
		return tab.attr( "aria-controls" ) || "ui-tabs-" + getNextTabId();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11817
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11818
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11819
	_sanitizeSelector: function( hash ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11820
		return hash ? hash.replace( /[!"$%&'()*+,.\/:;<=>?@\[\]\^`{|}~]/g, "\\$&" ) : "";
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11821
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11822
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11823
	refresh: function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11824
		var options = this.options,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11825
			lis = this.tablist.children( ":has(a[href])" );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11826
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11827
		// get disabled tabs from class attribute from HTML
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11828
		// this will get converted to a boolean if needed in _refresh()
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11829
		options.disabled = $.map( lis.filter( ".ui-state-disabled" ), function( tab ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11830
			return lis.index( tab );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11831
		});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11832
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11833
		this._processTabs();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11834
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11835
		// was collapsed or no tabs
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11836
		if ( options.active === false || !this.anchors.length ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11837
			options.active = false;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11838
			this.active = $();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11839
		// was active, but active tab is gone
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11840
		} else if ( this.active.length && !$.contains( this.tablist[ 0 ], this.active[ 0 ] ) ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11841
			// all remaining tabs are disabled
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11842
			if ( this.tabs.length === options.disabled.length ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11843
				options.active = false;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11844
				this.active = $();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11845
			// activate previous tab
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11846
			} else {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11847
				this._activate( this._findNextTab( Math.max( 0, options.active - 1 ), false ) );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11848
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11849
		// was active, active tab still exists
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11850
		} else {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11851
			// make sure active index is correct
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11852
			options.active = this.tabs.index( this.active );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11853
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11854
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11855
		this._refresh();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11856
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11857
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11858
	_refresh: function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11859
		this._setupDisabled( this.options.disabled );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11860
		this._setupEvents( this.options.event );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11861
		this._setupHeightStyle( this.options.heightStyle );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11862
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11863
		this.tabs.not( this.active ).attr({
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11864
			"aria-selected": "false",
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11865
			tabIndex: -1
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11866
		});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11867
		this.panels.not( this._getPanelForTab( this.active ) )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11868
			.hide()
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11869
			.attr({
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11870
				"aria-expanded": "false",
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11871
				"aria-hidden": "true"
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11872
			});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11873
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11874
		// Make sure one tab is in the tab order
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11875
		if ( !this.active.length ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11876
			this.tabs.eq( 0 ).attr( "tabIndex", 0 );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11877
		} else {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11878
			this.active
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11879
				.addClass( "ui-tabs-active ui-state-active" )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11880
				.attr({
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11881
					"aria-selected": "true",
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11882
					tabIndex: 0
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11883
				});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11884
			this._getPanelForTab( this.active )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11885
				.show()
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11886
				.attr({
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11887
					"aria-expanded": "true",
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11888
					"aria-hidden": "false"
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11889
				});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11890
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11891
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11892
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11893
	_processTabs: function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11894
		var that = this;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11895
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11896
		this.tablist = this._getList()
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11897
			.addClass( "ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all" )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11898
			.attr( "role", "tablist" );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11899
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11900
		this.tabs = this.tablist.find( "> li:has(a[href])" )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11901
			.addClass( "ui-state-default ui-corner-top" )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11902
			.attr({
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11903
				role: "tab",
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11904
				tabIndex: -1
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11905
			});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11906
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11907
		this.anchors = this.tabs.map(function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11908
				return $( "a", this )[ 0 ];
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11909
			})
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11910
			.addClass( "ui-tabs-anchor" )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11911
			.attr({
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11912
				role: "presentation",
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11913
				tabIndex: -1
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11914
			});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11915
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11916
		this.panels = $();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11917
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11918
		this.anchors.each(function( i, anchor ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11919
			var selector, panel, panelId,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11920
				anchorId = $( anchor ).uniqueId().attr( "id" ),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11921
				tab = $( anchor ).closest( "li" ),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11922
				originalAriaControls = tab.attr( "aria-controls" );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11923
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11924
			// inline tab
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11925
			if ( isLocal( anchor ) ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11926
				selector = anchor.hash;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11927
				panel = that.element.find( that._sanitizeSelector( selector ) );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11928
			// remote tab
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11929
			} else {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11930
				panelId = that._tabId( tab );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11931
				selector = "#" + panelId;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11932
				panel = that.element.find( selector );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11933
				if ( !panel.length ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11934
					panel = that._createPanel( panelId );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11935
					panel.insertAfter( that.panels[ i - 1 ] || that.tablist );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11936
				}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11937
				panel.attr( "aria-live", "polite" );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11938
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11939
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11940
			if ( panel.length) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11941
				that.panels = that.panels.add( panel );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11942
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11943
			if ( originalAriaControls ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11944
				tab.data( "ui-tabs-aria-controls", originalAriaControls );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11945
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11946
			tab.attr({
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11947
				"aria-controls": selector.substring( 1 ),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11948
				"aria-labelledby": anchorId
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11949
			});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11950
			panel.attr( "aria-labelledby", anchorId );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11951
		});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11952
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11953
		this.panels
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11954
			.addClass( "ui-tabs-panel ui-widget-content ui-corner-bottom" )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11955
			.attr( "role", "tabpanel" );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11956
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11957
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11958
	// allow overriding how to find the list for rare usage scenarios (#7715)
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11959
	_getList: function() {
262
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 11960
		return this.tablist || this.element.find( "ol,ul" ).eq( 0 );
211
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11961
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11962
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11963
	_createPanel: function( id ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11964
		return $( "<div>" )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11965
			.attr( "id", id )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11966
			.addClass( "ui-tabs-panel ui-widget-content ui-corner-bottom" )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11967
			.data( "ui-tabs-destroy", true );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11968
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11969
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11970
	_setupDisabled: function( disabled ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11971
		if ( $.isArray( disabled ) ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11972
			if ( !disabled.length ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11973
				disabled = false;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11974
			} else if ( disabled.length === this.anchors.length ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11975
				disabled = true;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11976
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11977
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11978
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11979
		// disable tabs
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11980
		for ( var i = 0, li; ( li = this.tabs[ i ] ); i++ ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11981
			if ( disabled === true || $.inArray( i, disabled ) !== -1 ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11982
				$( li )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11983
					.addClass( "ui-state-disabled" )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11984
					.attr( "aria-disabled", "true" );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11985
			} else {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11986
				$( li )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11987
					.removeClass( "ui-state-disabled" )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11988
					.removeAttr( "aria-disabled" );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11989
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11990
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11991
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11992
		this.options.disabled = disabled;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11993
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11994
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11995
	_setupEvents: function( event ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11996
		var events = {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11997
			click: function( event ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11998
				event.preventDefault();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 11999
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12000
		};
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12001
		if ( event ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12002
			$.each( event.split(" "), function( index, eventName ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12003
				events[ eventName ] = "_eventHandler";
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12004
			});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12005
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12006
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12007
		this._off( this.anchors.add( this.tabs ).add( this.panels ) );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12008
		this._on( this.anchors, events );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12009
		this._on( this.tabs, { keydown: "_tabKeydown" } );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12010
		this._on( this.panels, { keydown: "_panelKeydown" } );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12011
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12012
		this._focusable( this.tabs );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12013
		this._hoverable( this.tabs );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12014
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12015
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12016
	_setupHeightStyle: function( heightStyle ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12017
		var maxHeight,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12018
			parent = this.element.parent();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12019
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12020
		if ( heightStyle === "fill" ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12021
			maxHeight = parent.height();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12022
			maxHeight -= this.element.outerHeight() - this.element.height();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12023
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12024
			this.element.siblings( ":visible" ).each(function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12025
				var elem = $( this ),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12026
					position = elem.css( "position" );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12027
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12028
				if ( position === "absolute" || position === "fixed" ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12029
					return;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12030
				}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12031
				maxHeight -= elem.outerHeight( true );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12032
			});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12033
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12034
			this.element.children().not( this.panels ).each(function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12035
				maxHeight -= $( this ).outerHeight( true );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12036
			});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12037
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12038
			this.panels.each(function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12039
				$( this ).height( Math.max( 0, maxHeight -
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12040
					$( this ).innerHeight() + $( this ).height() ) );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12041
			})
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12042
			.css( "overflow", "auto" );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12043
		} else if ( heightStyle === "auto" ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12044
			maxHeight = 0;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12045
			this.panels.each(function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12046
				maxHeight = Math.max( maxHeight, $( this ).height( "" ).height() );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12047
			}).height( maxHeight );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12048
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12049
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12050
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12051
	_eventHandler: function( event ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12052
		var options = this.options,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12053
			active = this.active,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12054
			anchor = $( event.currentTarget ),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12055
			tab = anchor.closest( "li" ),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12056
			clickedIsActive = tab[ 0 ] === active[ 0 ],
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12057
			collapsing = clickedIsActive && options.collapsible,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12058
			toShow = collapsing ? $() : this._getPanelForTab( tab ),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12059
			toHide = !active.length ? $() : this._getPanelForTab( active ),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12060
			eventData = {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12061
				oldTab: active,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12062
				oldPanel: toHide,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12063
				newTab: collapsing ? $() : tab,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12064
				newPanel: toShow
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12065
			};
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12066
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12067
		event.preventDefault();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12068
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12069
		if ( tab.hasClass( "ui-state-disabled" ) ||
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12070
				// tab is already loading
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12071
				tab.hasClass( "ui-tabs-loading" ) ||
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12072
				// can't switch durning an animation
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12073
				this.running ||
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12074
				// click on active header, but not collapsible
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12075
				( clickedIsActive && !options.collapsible ) ||
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12076
				// allow canceling activation
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12077
				( this._trigger( "beforeActivate", event, eventData ) === false ) ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12078
			return;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12079
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12080
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12081
		options.active = collapsing ? false : this.tabs.index( tab );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12082
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12083
		this.active = clickedIsActive ? $() : tab;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12084
		if ( this.xhr ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12085
			this.xhr.abort();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12086
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12087
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12088
		if ( !toHide.length && !toShow.length ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12089
			$.error( "jQuery UI Tabs: Mismatching fragment identifier." );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12090
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12091
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12092
		if ( toShow.length ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12093
			this.load( this.tabs.index( tab ), event );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12094
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12095
		this._toggle( event, eventData );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12096
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12097
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12098
	// handles show/hide for selecting tabs
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12099
	_toggle: function( event, eventData ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12100
		var that = this,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12101
			toShow = eventData.newPanel,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12102
			toHide = eventData.oldPanel;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12103
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12104
		this.running = true;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12105
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12106
		function complete() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12107
			that.running = false;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12108
			that._trigger( "activate", event, eventData );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12109
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12110
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12111
		function show() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12112
			eventData.newTab.closest( "li" ).addClass( "ui-tabs-active ui-state-active" );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12113
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12114
			if ( toShow.length && that.options.show ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12115
				that._show( toShow, that.options.show, complete );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12116
			} else {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12117
				toShow.show();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12118
				complete();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12119
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12120
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12121
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12122
		// start out by hiding, then showing, then completing
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12123
		if ( toHide.length && this.options.hide ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12124
			this._hide( toHide, this.options.hide, function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12125
				eventData.oldTab.closest( "li" ).removeClass( "ui-tabs-active ui-state-active" );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12126
				show();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12127
			});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12128
		} else {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12129
			eventData.oldTab.closest( "li" ).removeClass( "ui-tabs-active ui-state-active" );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12130
			toHide.hide();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12131
			show();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12132
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12133
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12134
		toHide.attr({
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12135
			"aria-expanded": "false",
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12136
			"aria-hidden": "true"
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12137
		});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12138
		eventData.oldTab.attr( "aria-selected", "false" );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12139
		// If we're switching tabs, remove the old tab from the tab order.
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12140
		// If we're opening from collapsed state, remove the previous tab from the tab order.
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12141
		// If we're collapsing, then keep the collapsing tab in the tab order.
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12142
		if ( toShow.length && toHide.length ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12143
			eventData.oldTab.attr( "tabIndex", -1 );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12144
		} else if ( toShow.length ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12145
			this.tabs.filter(function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12146
				return $( this ).attr( "tabIndex" ) === 0;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12147
			})
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12148
			.attr( "tabIndex", -1 );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12149
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12150
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12151
		toShow.attr({
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12152
			"aria-expanded": "true",
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12153
			"aria-hidden": "false"
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12154
		});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12155
		eventData.newTab.attr({
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12156
			"aria-selected": "true",
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12157
			tabIndex: 0
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12158
		});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12159
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12160
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12161
	_activate: function( index ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12162
		var anchor,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12163
			active = this._findActive( index );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12164
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12165
		// trying to activate the already active panel
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12166
		if ( active[ 0 ] === this.active[ 0 ] ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12167
			return;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12168
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12169
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12170
		// trying to collapse, simulate a click on the current active header
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12171
		if ( !active.length ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12172
			active = this.active;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12173
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12174
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12175
		anchor = active.find( ".ui-tabs-anchor" )[ 0 ];
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12176
		this._eventHandler({
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12177
			target: anchor,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12178
			currentTarget: anchor,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12179
			preventDefault: $.noop
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12180
		});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12181
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12182
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12183
	_findActive: function( index ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12184
		return index === false ? $() : this.tabs.eq( index );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12185
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12186
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12187
	_getIndex: function( index ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12188
		// meta-function to give users option to provide a href string instead of a numerical index.
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12189
		if ( typeof index === "string" ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12190
			index = this.anchors.index( this.anchors.filter( "[href$='" + index + "']" ) );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12191
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12192
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12193
		return index;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12194
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12195
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12196
	_destroy: function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12197
		if ( this.xhr ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12198
			this.xhr.abort();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12199
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12200
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12201
		this.element.removeClass( "ui-tabs ui-widget ui-widget-content ui-corner-all ui-tabs-collapsible" );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12202
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12203
		this.tablist
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12204
			.removeClass( "ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all" )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12205
			.removeAttr( "role" );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12206
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12207
		this.anchors
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12208
			.removeClass( "ui-tabs-anchor" )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12209
			.removeAttr( "role" )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12210
			.removeAttr( "tabIndex" )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12211
			.removeUniqueId();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12212
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12213
		this.tabs.add( this.panels ).each(function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12214
			if ( $.data( this, "ui-tabs-destroy" ) ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12215
				$( this ).remove();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12216
			} else {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12217
				$( this )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12218
					.removeClass( "ui-state-default ui-state-active ui-state-disabled " +
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12219
						"ui-corner-top ui-corner-bottom ui-widget-content ui-tabs-active ui-tabs-panel" )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12220
					.removeAttr( "tabIndex" )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12221
					.removeAttr( "aria-live" )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12222
					.removeAttr( "aria-busy" )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12223
					.removeAttr( "aria-selected" )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12224
					.removeAttr( "aria-labelledby" )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12225
					.removeAttr( "aria-hidden" )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12226
					.removeAttr( "aria-expanded" )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12227
					.removeAttr( "role" );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12228
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12229
		});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12230
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12231
		this.tabs.each(function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12232
			var li = $( this ),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12233
				prev = li.data( "ui-tabs-aria-controls" );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12234
			if ( prev ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12235
				li
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12236
					.attr( "aria-controls", prev )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12237
					.removeData( "ui-tabs-aria-controls" );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12238
			} else {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12239
				li.removeAttr( "aria-controls" );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12240
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12241
		});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12242
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12243
		this.panels.show();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12244
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12245
		if ( this.options.heightStyle !== "content" ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12246
			this.panels.css( "height", "" );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12247
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12248
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12249
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12250
	enable: function( index ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12251
		var disabled = this.options.disabled;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12252
		if ( disabled === false ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12253
			return;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12254
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12255
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12256
		if ( index === undefined ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12257
			disabled = false;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12258
		} else {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12259
			index = this._getIndex( index );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12260
			if ( $.isArray( disabled ) ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12261
				disabled = $.map( disabled, function( num ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12262
					return num !== index ? num : null;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12263
				});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12264
			} else {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12265
				disabled = $.map( this.tabs, function( li, num ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12266
					return num !== index ? num : null;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12267
				});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12268
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12269
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12270
		this._setupDisabled( disabled );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12271
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12272
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12273
	disable: function( index ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12274
		var disabled = this.options.disabled;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12275
		if ( disabled === true ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12276
			return;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12277
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12278
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12279
		if ( index === undefined ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12280
			disabled = true;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12281
		} else {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12282
			index = this._getIndex( index );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12283
			if ( $.inArray( index, disabled ) !== -1 ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12284
				return;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12285
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12286
			if ( $.isArray( disabled ) ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12287
				disabled = $.merge( [ index ], disabled ).sort();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12288
			} else {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12289
				disabled = [ index ];
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12290
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12291
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12292
		this._setupDisabled( disabled );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12293
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12294
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12295
	load: function( index, event ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12296
		index = this._getIndex( index );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12297
		var that = this,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12298
			tab = this.tabs.eq( index ),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12299
			anchor = tab.find( ".ui-tabs-anchor" ),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12300
			panel = this._getPanelForTab( tab ),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12301
			eventData = {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12302
				tab: tab,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12303
				panel: panel
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12304
			};
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12305
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12306
		// not remote
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12307
		if ( isLocal( anchor[ 0 ] ) ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12308
			return;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12309
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12310
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12311
		this.xhr = $.ajax( this._ajaxSettings( anchor, event, eventData ) );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12312
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12313
		// support: jQuery <1.8
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12314
		// jQuery <1.8 returns false if the request is canceled in beforeSend,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12315
		// but as of 1.8, $.ajax() always returns a jqXHR object.
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12316
		if ( this.xhr && this.xhr.statusText !== "canceled" ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12317
			tab.addClass( "ui-tabs-loading" );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12318
			panel.attr( "aria-busy", "true" );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12319
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12320
			this.xhr
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12321
				.success(function( response ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12322
					// support: jQuery <1.8
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12323
					// http://bugs.jquery.com/ticket/11778
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12324
					setTimeout(function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12325
						panel.html( response );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12326
						that._trigger( "load", event, eventData );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12327
					}, 1 );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12328
				})
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12329
				.complete(function( jqXHR, status ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12330
					// support: jQuery <1.8
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12331
					// http://bugs.jquery.com/ticket/11778
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12332
					setTimeout(function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12333
						if ( status === "abort" ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12334
							that.panels.stop( false, true );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12335
						}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12336
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12337
						tab.removeClass( "ui-tabs-loading" );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12338
						panel.removeAttr( "aria-busy" );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12339
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12340
						if ( jqXHR === that.xhr ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12341
							delete that.xhr;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12342
						}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12343
					}, 1 );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12344
				});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12345
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12346
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12347
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12348
	_ajaxSettings: function( anchor, event, eventData ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12349
		var that = this;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12350
		return {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12351
			url: anchor.attr( "href" ),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12352
			beforeSend: function( jqXHR, settings ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12353
				return that._trigger( "beforeLoad", event,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12354
					$.extend( { jqXHR : jqXHR, ajaxSettings: settings }, eventData ) );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12355
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12356
		};
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12357
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12358
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12359
	_getPanelForTab: function( tab ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12360
		var id = $( tab ).attr( "aria-controls" );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12361
		return this.element.find( this._sanitizeSelector( "#" + id ) );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12362
	}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12363
});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12364
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12365
})( jQuery );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12366
(function( $ ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12367
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12368
var increments = 0;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12369
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12370
function addDescribedBy( elem, id ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12371
	var describedby = (elem.attr( "aria-describedby" ) || "").split( /\s+/ );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12372
	describedby.push( id );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12373
	elem
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12374
		.data( "ui-tooltip-id", id )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12375
		.attr( "aria-describedby", $.trim( describedby.join( " " ) ) );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12376
}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12377
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12378
function removeDescribedBy( elem ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12379
	var id = elem.data( "ui-tooltip-id" ),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12380
		describedby = (elem.attr( "aria-describedby" ) || "").split( /\s+/ ),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12381
		index = $.inArray( id, describedby );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12382
	if ( index !== -1 ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12383
		describedby.splice( index, 1 );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12384
	}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12385
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12386
	elem.removeData( "ui-tooltip-id" );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12387
	describedby = $.trim( describedby.join( " " ) );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12388
	if ( describedby ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12389
		elem.attr( "aria-describedby", describedby );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12390
	} else {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12391
		elem.removeAttr( "aria-describedby" );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12392
	}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12393
}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12394
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12395
$.widget( "ui.tooltip", {
262
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12396
	version: "1.10.4",
211
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12397
	options: {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12398
		content: function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12399
			// support: IE<9, Opera in jQuery <1.7
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12400
			// .text() can't accept undefined, so coerce to a string
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12401
			var title = $( this ).attr( "title" ) || "";
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12402
			// Escape title, since we're going from an attribute to raw HTML
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12403
			return $( "<a>" ).text( title ).html();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12404
		},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12405
		hide: true,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12406
		// Disabled elements have inconsistent behavior across browsers (#8661)
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12407
		items: "[title]:not([disabled])",
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12408
		position: {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12409
			my: "left top+15",
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12410
			at: "left bottom",
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12411
			collision: "flipfit flip"
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12412
		},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12413
		show: true,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12414
		tooltipClass: null,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12415
		track: false,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12416
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12417
		// callbacks
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12418
		close: null,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12419
		open: null
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12420
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12421
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12422
	_create: function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12423
		this._on({
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12424
			mouseover: "open",
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12425
			focusin: "open"
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12426
		});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12427
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12428
		// IDs of generated tooltips, needed for destroy
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12429
		this.tooltips = {};
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12430
		// IDs of parent tooltips where we removed the title attribute
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12431
		this.parents = {};
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12432
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12433
		if ( this.options.disabled ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12434
			this._disable();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12435
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12436
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12437
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12438
	_setOption: function( key, value ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12439
		var that = this;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12440
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12441
		if ( key === "disabled" ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12442
			this[ value ? "_disable" : "_enable" ]();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12443
			this.options[ key ] = value;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12444
			// disable element style changes
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12445
			return;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12446
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12447
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12448
		this._super( key, value );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12449
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12450
		if ( key === "content" ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12451
			$.each( this.tooltips, function( id, element ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12452
				that._updateContent( element );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12453
			});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12454
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12455
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12456
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12457
	_disable: function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12458
		var that = this;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12459
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12460
		// close open tooltips
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12461
		$.each( this.tooltips, function( id, element ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12462
			var event = $.Event( "blur" );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12463
			event.target = event.currentTarget = element[0];
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12464
			that.close( event, true );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12465
		});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12466
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12467
		// remove title attributes to prevent native tooltips
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12468
		this.element.find( this.options.items ).addBack().each(function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12469
			var element = $( this );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12470
			if ( element.is( "[title]" ) ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12471
				element
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12472
					.data( "ui-tooltip-title", element.attr( "title" ) )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12473
					.attr( "title", "" );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12474
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12475
		});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12476
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12477
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12478
	_enable: function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12479
		// restore title attributes
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12480
		this.element.find( this.options.items ).addBack().each(function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12481
			var element = $( this );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12482
			if ( element.data( "ui-tooltip-title" ) ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12483
				element.attr( "title", element.data( "ui-tooltip-title" ) );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12484
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12485
		});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12486
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12487
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12488
	open: function( event ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12489
		var that = this,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12490
			target = $( event ? event.target : this.element )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12491
				// we need closest here due to mouseover bubbling,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12492
				// but always pointing at the same event target
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12493
				.closest( this.options.items );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12494
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12495
		// No element to show a tooltip for or the tooltip is already open
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12496
		if ( !target.length || target.data( "ui-tooltip-id" ) ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12497
			return;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12498
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12499
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12500
		if ( target.attr( "title" ) ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12501
			target.data( "ui-tooltip-title", target.attr( "title" ) );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12502
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12503
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12504
		target.data( "ui-tooltip-open", true );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12505
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12506
		// kill parent tooltips, custom or native, for hover
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12507
		if ( event && event.type === "mouseover" ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12508
			target.parents().each(function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12509
				var parent = $( this ),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12510
					blurEvent;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12511
				if ( parent.data( "ui-tooltip-open" ) ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12512
					blurEvent = $.Event( "blur" );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12513
					blurEvent.target = blurEvent.currentTarget = this;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12514
					that.close( blurEvent, true );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12515
				}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12516
				if ( parent.attr( "title" ) ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12517
					parent.uniqueId();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12518
					that.parents[ this.id ] = {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12519
						element: this,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12520
						title: parent.attr( "title" )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12521
					};
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12522
					parent.attr( "title", "" );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12523
				}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12524
			});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12525
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12526
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12527
		this._updateContent( target, event );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12528
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12529
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12530
	_updateContent: function( target, event ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12531
		var content,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12532
			contentOption = this.options.content,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12533
			that = this,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12534
			eventType = event ? event.type : null;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12535
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12536
		if ( typeof contentOption === "string" ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12537
			return this._open( event, target, contentOption );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12538
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12539
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12540
		content = contentOption.call( target[0], function( response ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12541
			// ignore async response if tooltip was closed already
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12542
			if ( !target.data( "ui-tooltip-open" ) ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12543
				return;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12544
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12545
			// IE may instantly serve a cached response for ajax requests
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12546
			// delay this call to _open so the other call to _open runs first
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12547
			that._delay(function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12548
				// jQuery creates a special event for focusin when it doesn't
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12549
				// exist natively. To improve performance, the native event
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12550
				// object is reused and the type is changed. Therefore, we can't
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12551
				// rely on the type being correct after the event finished
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12552
				// bubbling, so we set it back to the previous value. (#8740)
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12553
				if ( event ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12554
					event.type = eventType;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12555
				}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12556
				this._open( event, target, response );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12557
			});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12558
		});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12559
		if ( content ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12560
			this._open( event, target, content );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12561
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12562
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12563
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12564
	_open: function( event, target, content ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12565
		var tooltip, events, delayedShow,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12566
			positionOption = $.extend( {}, this.options.position );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12567
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12568
		if ( !content ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12569
			return;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12570
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12571
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12572
		// Content can be updated multiple times. If the tooltip already
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12573
		// exists, then just update the content and bail.
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12574
		tooltip = this._find( target );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12575
		if ( tooltip.length ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12576
			tooltip.find( ".ui-tooltip-content" ).html( content );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12577
			return;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12578
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12579
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12580
		// if we have a title, clear it to prevent the native tooltip
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12581
		// we have to check first to avoid defining a title if none exists
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12582
		// (we don't want to cause an element to start matching [title])
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12583
		//
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12584
		// We use removeAttr only for key events, to allow IE to export the correct
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12585
		// accessible attributes. For mouse events, set to empty string to avoid
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12586
		// native tooltip showing up (happens only when removing inside mouseover).
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12587
		if ( target.is( "[title]" ) ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12588
			if ( event && event.type === "mouseover" ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12589
				target.attr( "title", "" );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12590
			} else {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12591
				target.removeAttr( "title" );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12592
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12593
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12594
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12595
		tooltip = this._tooltip( target );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12596
		addDescribedBy( target, tooltip.attr( "id" ) );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12597
		tooltip.find( ".ui-tooltip-content" ).html( content );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12598
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12599
		function position( event ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12600
			positionOption.of = event;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12601
			if ( tooltip.is( ":hidden" ) ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12602
				return;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12603
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12604
			tooltip.position( positionOption );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12605
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12606
		if ( this.options.track && event && /^mouse/.test( event.type ) ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12607
			this._on( this.document, {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12608
				mousemove: position
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12609
			});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12610
			// trigger once to override element-relative positioning
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12611
			position( event );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12612
		} else {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12613
			tooltip.position( $.extend({
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12614
				of: target
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12615
			}, this.options.position ) );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12616
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12617
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12618
		tooltip.hide();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12619
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12620
		this._show( tooltip, this.options.show );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12621
		// Handle tracking tooltips that are shown with a delay (#8644). As soon
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12622
		// as the tooltip is visible, position the tooltip using the most recent
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12623
		// event.
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12624
		if ( this.options.show && this.options.show.delay ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12625
			delayedShow = this.delayedShow = setInterval(function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12626
				if ( tooltip.is( ":visible" ) ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12627
					position( positionOption.of );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12628
					clearInterval( delayedShow );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12629
				}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12630
			}, $.fx.interval );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12631
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12632
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12633
		this._trigger( "open", event, { tooltip: tooltip } );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12634
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12635
		events = {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12636
			keyup: function( event ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12637
				if ( event.keyCode === $.ui.keyCode.ESCAPE ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12638
					var fakeEvent = $.Event(event);
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12639
					fakeEvent.currentTarget = target[0];
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12640
					this.close( fakeEvent, true );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12641
				}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12642
			},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12643
			remove: function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12644
				this._removeTooltip( tooltip );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12645
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12646
		};
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12647
		if ( !event || event.type === "mouseover" ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12648
			events.mouseleave = "close";
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12649
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12650
		if ( !event || event.type === "focusin" ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12651
			events.focusout = "close";
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12652
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12653
		this._on( true, target, events );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12654
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12655
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12656
	close: function( event ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12657
		var that = this,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12658
			target = $( event ? event.currentTarget : this.element ),
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12659
			tooltip = this._find( target );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12660
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12661
		// disabling closes the tooltip, so we need to track when we're closing
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12662
		// to avoid an infinite loop in case the tooltip becomes disabled on close
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12663
		if ( this.closing ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12664
			return;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12665
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12666
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12667
		// Clear the interval for delayed tracking tooltips
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12668
		clearInterval( this.delayedShow );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12669
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12670
		// only set title if we had one before (see comment in _open())
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12671
		if ( target.data( "ui-tooltip-title" ) ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12672
			target.attr( "title", target.data( "ui-tooltip-title" ) );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12673
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12674
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12675
		removeDescribedBy( target );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12676
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12677
		tooltip.stop( true );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12678
		this._hide( tooltip, this.options.hide, function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12679
			that._removeTooltip( $( this ) );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12680
		});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12681
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12682
		target.removeData( "ui-tooltip-open" );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12683
		this._off( target, "mouseleave focusout keyup" );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12684
		// Remove 'remove' binding only on delegated targets
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12685
		if ( target[0] !== this.element[0] ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12686
			this._off( target, "remove" );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12687
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12688
		this._off( this.document, "mousemove" );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12689
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12690
		if ( event && event.type === "mouseleave" ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12691
			$.each( this.parents, function( id, parent ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12692
				$( parent.element ).attr( "title", parent.title );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12693
				delete that.parents[ id ];
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12694
			});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12695
		}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12696
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12697
		this.closing = true;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12698
		this._trigger( "close", event, { tooltip: tooltip } );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12699
		this.closing = false;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12700
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12701
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12702
	_tooltip: function( element ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12703
		var id = "ui-tooltip-" + increments++,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12704
			tooltip = $( "<div>" )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12705
				.attr({
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12706
					id: id,
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12707
					role: "tooltip"
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12708
				})
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12709
				.addClass( "ui-tooltip ui-widget ui-corner-all ui-widget-content " +
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12710
					( this.options.tooltipClass || "" ) );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12711
		$( "<div>" )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12712
			.addClass( "ui-tooltip-content" )
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12713
			.appendTo( tooltip );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12714
		tooltip.appendTo( this.document[0].body );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12715
		this.tooltips[ id ] = element;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12716
		return tooltip;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12717
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12718
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12719
	_find: function( target ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12720
		var id = target.data( "ui-tooltip-id" );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12721
		return id ? $( "#" + id ) : $();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12722
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12723
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12724
	_removeTooltip: function( tooltip ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12725
		tooltip.remove();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12726
		delete this.tooltips[ tooltip.attr( "id" ) ];
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12727
	},
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12728
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12729
	_destroy: function() {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12730
		var that = this;
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12731
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12732
		// close open tooltips
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12733
		$.each( this.tooltips, function( id, element ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12734
			// Delegate to close method to handle common cleanup
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12735
			var event = $.Event( "blur" );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12736
			event.target = event.currentTarget = element[0];
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12737
			that.close( event, true );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12738
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12739
			// Remove immediately; destroying an open tooltip doesn't use the
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12740
			// hide animation
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12741
			$( "#" + id ).remove();
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12742
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12743
			// Restore the title
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12744
			if ( element.data( "ui-tooltip-title" ) ) {
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12745
				element.attr( "title", element.data( "ui-tooltip-title" ) );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12746
				element.removeData( "ui-tooltip-title" );
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12747
			}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12748
		});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12749
	}
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12750
});
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12751
d87f6bdee43d upgrade libs + add no minified versions of libs + improve build + allow disabling zoom on scroll
ymh <ymh.work@gmail.com>
parents:
diff changeset
 12752
}( jQuery ) );
262
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12753
(function($, undefined) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12754
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12755
var dataSpace = "ui-effects-";
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12756
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12757
$.effects = {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12758
	effect: {}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12759
};
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12760
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12761
/*!
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12762
 * jQuery Color Animations v2.1.2
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12763
 * https://github.com/jquery/jquery-color
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12764
 *
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12765
 * Copyright 2013 jQuery Foundation and other contributors
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12766
 * Released under the MIT license.
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12767
 * http://jquery.org/license
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12768
 *
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12769
 * Date: Wed Jan 16 08:47:09 2013 -0600
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12770
 */
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12771
(function( jQuery, undefined ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12772
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12773
	var stepHooks = "backgroundColor borderBottomColor borderLeftColor borderRightColor borderTopColor color columnRuleColor outlineColor textDecorationColor textEmphasisColor",
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12774
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12775
	// plusequals test for += 100 -= 100
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12776
	rplusequals = /^([\-+])=\s*(\d+\.?\d*)/,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12777
	// a set of RE's that can match strings and generate color tuples.
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12778
	stringParsers = [{
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12779
			re: /rgba?\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12780
			parse: function( execResult ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12781
				return [
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12782
					execResult[ 1 ],
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12783
					execResult[ 2 ],
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12784
					execResult[ 3 ],
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12785
					execResult[ 4 ]
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12786
				];
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12787
			}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12788
		}, {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12789
			re: /rgba?\(\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12790
			parse: function( execResult ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12791
				return [
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12792
					execResult[ 1 ] * 2.55,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12793
					execResult[ 2 ] * 2.55,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12794
					execResult[ 3 ] * 2.55,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12795
					execResult[ 4 ]
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12796
				];
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12797
			}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12798
		}, {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12799
			// this regex ignores A-F because it's compared against an already lowercased string
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12800
			re: /#([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})/,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12801
			parse: function( execResult ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12802
				return [
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12803
					parseInt( execResult[ 1 ], 16 ),
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12804
					parseInt( execResult[ 2 ], 16 ),
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12805
					parseInt( execResult[ 3 ], 16 )
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12806
				];
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12807
			}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12808
		}, {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12809
			// this regex ignores A-F because it's compared against an already lowercased string
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12810
			re: /#([a-f0-9])([a-f0-9])([a-f0-9])/,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12811
			parse: function( execResult ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12812
				return [
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12813
					parseInt( execResult[ 1 ] + execResult[ 1 ], 16 ),
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12814
					parseInt( execResult[ 2 ] + execResult[ 2 ], 16 ),
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12815
					parseInt( execResult[ 3 ] + execResult[ 3 ], 16 )
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12816
				];
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12817
			}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12818
		}, {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12819
			re: /hsla?\(\s*(\d+(?:\.\d+)?)\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12820
			space: "hsla",
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12821
			parse: function( execResult ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12822
				return [
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12823
					execResult[ 1 ],
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12824
					execResult[ 2 ] / 100,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12825
					execResult[ 3 ] / 100,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12826
					execResult[ 4 ]
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12827
				];
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12828
			}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12829
		}],
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12830
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12831
	// jQuery.Color( )
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12832
	color = jQuery.Color = function( color, green, blue, alpha ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12833
		return new jQuery.Color.fn.parse( color, green, blue, alpha );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12834
	},
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12835
	spaces = {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12836
		rgba: {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12837
			props: {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12838
				red: {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12839
					idx: 0,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12840
					type: "byte"
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12841
				},
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12842
				green: {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12843
					idx: 1,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12844
					type: "byte"
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12845
				},
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12846
				blue: {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12847
					idx: 2,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12848
					type: "byte"
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12849
				}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12850
			}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12851
		},
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12852
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12853
		hsla: {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12854
			props: {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12855
				hue: {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12856
					idx: 0,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12857
					type: "degrees"
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12858
				},
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12859
				saturation: {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12860
					idx: 1,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12861
					type: "percent"
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12862
				},
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12863
				lightness: {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12864
					idx: 2,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12865
					type: "percent"
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12866
				}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12867
			}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12868
		}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12869
	},
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12870
	propTypes = {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12871
		"byte": {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12872
			floor: true,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12873
			max: 255
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12874
		},
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12875
		"percent": {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12876
			max: 1
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12877
		},
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12878
		"degrees": {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12879
			mod: 360,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12880
			floor: true
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12881
		}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12882
	},
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12883
	support = color.support = {},
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12884
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12885
	// element for support tests
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12886
	supportElem = jQuery( "<p>" )[ 0 ],
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12887
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12888
	// colors = jQuery.Color.names
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12889
	colors,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12890
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12891
	// local aliases of functions called often
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12892
	each = jQuery.each;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12893
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12894
// determine rgba support immediately
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12895
supportElem.style.cssText = "background-color:rgba(1,1,1,.5)";
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12896
support.rgba = supportElem.style.backgroundColor.indexOf( "rgba" ) > -1;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12897
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12898
// define cache name and alpha properties
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12899
// for rgba and hsla spaces
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12900
each( spaces, function( spaceName, space ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12901
	space.cache = "_" + spaceName;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12902
	space.props.alpha = {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12903
		idx: 3,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12904
		type: "percent",
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12905
		def: 1
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12906
	};
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12907
});
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12908
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12909
function clamp( value, prop, allowEmpty ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12910
	var type = propTypes[ prop.type ] || {};
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12911
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12912
	if ( value == null ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12913
		return (allowEmpty || !prop.def) ? null : prop.def;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12914
	}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12915
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12916
	// ~~ is an short way of doing floor for positive numbers
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12917
	value = type.floor ? ~~value : parseFloat( value );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12918
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12919
	// IE will pass in empty strings as value for alpha,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12920
	// which will hit this case
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12921
	if ( isNaN( value ) ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12922
		return prop.def;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12923
	}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12924
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12925
	if ( type.mod ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12926
		// we add mod before modding to make sure that negatives values
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12927
		// get converted properly: -10 -> 350
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12928
		return (value + type.mod) % type.mod;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12929
	}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12930
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12931
	// for now all property types without mod have min and max
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12932
	return 0 > value ? 0 : type.max < value ? type.max : value;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12933
}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12934
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12935
function stringParse( string ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12936
	var inst = color(),
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12937
		rgba = inst._rgba = [];
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12938
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12939
	string = string.toLowerCase();
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12940
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12941
	each( stringParsers, function( i, parser ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12942
		var parsed,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12943
			match = parser.re.exec( string ),
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12944
			values = match && parser.parse( match ),
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12945
			spaceName = parser.space || "rgba";
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12946
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12947
		if ( values ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12948
			parsed = inst[ spaceName ]( values );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12949
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12950
			// if this was an rgba parse the assignment might happen twice
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12951
			// oh well....
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12952
			inst[ spaces[ spaceName ].cache ] = parsed[ spaces[ spaceName ].cache ];
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12953
			rgba = inst._rgba = parsed._rgba;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12954
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12955
			// exit each( stringParsers ) here because we matched
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12956
			return false;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12957
		}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12958
	});
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12959
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12960
	// Found a stringParser that handled it
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12961
	if ( rgba.length ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12962
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12963
		// if this came from a parsed string, force "transparent" when alpha is 0
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12964
		// chrome, (and maybe others) return "transparent" as rgba(0,0,0,0)
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12965
		if ( rgba.join() === "0,0,0,0" ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12966
			jQuery.extend( rgba, colors.transparent );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12967
		}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12968
		return inst;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12969
	}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12970
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12971
	// named colors
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12972
	return colors[ string ];
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12973
}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12974
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12975
color.fn = jQuery.extend( color.prototype, {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12976
	parse: function( red, green, blue, alpha ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12977
		if ( red === undefined ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12978
			this._rgba = [ null, null, null, null ];
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12979
			return this;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12980
		}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12981
		if ( red.jquery || red.nodeType ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12982
			red = jQuery( red ).css( green );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12983
			green = undefined;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12984
		}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12985
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12986
		var inst = this,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12987
			type = jQuery.type( red ),
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12988
			rgba = this._rgba = [];
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12989
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12990
		// more than 1 argument specified - assume ( red, green, blue, alpha )
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12991
		if ( green !== undefined ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12992
			red = [ red, green, blue, alpha ];
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12993
			type = "array";
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12994
		}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12995
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12996
		if ( type === "string" ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12997
			return this.parse( stringParse( red ) || colors._default );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12998
		}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 12999
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13000
		if ( type === "array" ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13001
			each( spaces.rgba.props, function( key, prop ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13002
				rgba[ prop.idx ] = clamp( red[ prop.idx ], prop );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13003
			});
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13004
			return this;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13005
		}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13006
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13007
		if ( type === "object" ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13008
			if ( red instanceof color ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13009
				each( spaces, function( spaceName, space ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13010
					if ( red[ space.cache ] ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13011
						inst[ space.cache ] = red[ space.cache ].slice();
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13012
					}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13013
				});
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13014
			} else {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13015
				each( spaces, function( spaceName, space ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13016
					var cache = space.cache;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13017
					each( space.props, function( key, prop ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13018
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13019
						// if the cache doesn't exist, and we know how to convert
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13020
						if ( !inst[ cache ] && space.to ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13021
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13022
							// if the value was null, we don't need to copy it
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13023
							// if the key was alpha, we don't need to copy it either
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13024
							if ( key === "alpha" || red[ key ] == null ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13025
								return;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13026
							}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13027
							inst[ cache ] = space.to( inst._rgba );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13028
						}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13029
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13030
						// this is the only case where we allow nulls for ALL properties.
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13031
						// call clamp with alwaysAllowEmpty
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13032
						inst[ cache ][ prop.idx ] = clamp( red[ key ], prop, true );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13033
					});
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13034
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13035
					// everything defined but alpha?
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13036
					if ( inst[ cache ] && jQuery.inArray( null, inst[ cache ].slice( 0, 3 ) ) < 0 ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13037
						// use the default of 1
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13038
						inst[ cache ][ 3 ] = 1;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13039
						if ( space.from ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13040
							inst._rgba = space.from( inst[ cache ] );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13041
						}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13042
					}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13043
				});
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13044
			}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13045
			return this;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13046
		}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13047
	},
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13048
	is: function( compare ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13049
		var is = color( compare ),
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13050
			same = true,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13051
			inst = this;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13052
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13053
		each( spaces, function( _, space ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13054
			var localCache,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13055
				isCache = is[ space.cache ];
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13056
			if (isCache) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13057
				localCache = inst[ space.cache ] || space.to && space.to( inst._rgba ) || [];
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13058
				each( space.props, function( _, prop ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13059
					if ( isCache[ prop.idx ] != null ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13060
						same = ( isCache[ prop.idx ] === localCache[ prop.idx ] );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13061
						return same;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13062
					}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13063
				});
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13064
			}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13065
			return same;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13066
		});
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13067
		return same;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13068
	},
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13069
	_space: function() {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13070
		var used = [],
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13071
			inst = this;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13072
		each( spaces, function( spaceName, space ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13073
			if ( inst[ space.cache ] ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13074
				used.push( spaceName );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13075
			}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13076
		});
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13077
		return used.pop();
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13078
	},
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13079
	transition: function( other, distance ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13080
		var end = color( other ),
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13081
			spaceName = end._space(),
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13082
			space = spaces[ spaceName ],
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13083
			startColor = this.alpha() === 0 ? color( "transparent" ) : this,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13084
			start = startColor[ space.cache ] || space.to( startColor._rgba ),
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13085
			result = start.slice();
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13086
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13087
		end = end[ space.cache ];
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13088
		each( space.props, function( key, prop ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13089
			var index = prop.idx,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13090
				startValue = start[ index ],
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13091
				endValue = end[ index ],
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13092
				type = propTypes[ prop.type ] || {};
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13093
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13094
			// if null, don't override start value
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13095
			if ( endValue === null ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13096
				return;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13097
			}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13098
			// if null - use end
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13099
			if ( startValue === null ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13100
				result[ index ] = endValue;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13101
			} else {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13102
				if ( type.mod ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13103
					if ( endValue - startValue > type.mod / 2 ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13104
						startValue += type.mod;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13105
					} else if ( startValue - endValue > type.mod / 2 ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13106
						startValue -= type.mod;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13107
					}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13108
				}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13109
				result[ index ] = clamp( ( endValue - startValue ) * distance + startValue, prop );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13110
			}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13111
		});
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13112
		return this[ spaceName ]( result );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13113
	},
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13114
	blend: function( opaque ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13115
		// if we are already opaque - return ourself
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13116
		if ( this._rgba[ 3 ] === 1 ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13117
			return this;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13118
		}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13119
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13120
		var rgb = this._rgba.slice(),
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13121
			a = rgb.pop(),
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13122
			blend = color( opaque )._rgba;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13123
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13124
		return color( jQuery.map( rgb, function( v, i ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13125
			return ( 1 - a ) * blend[ i ] + a * v;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13126
		}));
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13127
	},
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13128
	toRgbaString: function() {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13129
		var prefix = "rgba(",
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13130
			rgba = jQuery.map( this._rgba, function( v, i ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13131
				return v == null ? ( i > 2 ? 1 : 0 ) : v;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13132
			});
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13133
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13134
		if ( rgba[ 3 ] === 1 ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13135
			rgba.pop();
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13136
			prefix = "rgb(";
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13137
		}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13138
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13139
		return prefix + rgba.join() + ")";
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13140
	},
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13141
	toHslaString: function() {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13142
		var prefix = "hsla(",
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13143
			hsla = jQuery.map( this.hsla(), function( v, i ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13144
				if ( v == null ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13145
					v = i > 2 ? 1 : 0;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13146
				}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13147
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13148
				// catch 1 and 2
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13149
				if ( i && i < 3 ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13150
					v = Math.round( v * 100 ) + "%";
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13151
				}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13152
				return v;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13153
			});
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13154
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13155
		if ( hsla[ 3 ] === 1 ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13156
			hsla.pop();
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13157
			prefix = "hsl(";
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13158
		}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13159
		return prefix + hsla.join() + ")";
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13160
	},
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13161
	toHexString: function( includeAlpha ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13162
		var rgba = this._rgba.slice(),
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13163
			alpha = rgba.pop();
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13164
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13165
		if ( includeAlpha ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13166
			rgba.push( ~~( alpha * 255 ) );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13167
		}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13168
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13169
		return "#" + jQuery.map( rgba, function( v ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13170
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13171
			// default to 0 when nulls exist
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13172
			v = ( v || 0 ).toString( 16 );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13173
			return v.length === 1 ? "0" + v : v;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13174
		}).join("");
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13175
	},
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13176
	toString: function() {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13177
		return this._rgba[ 3 ] === 0 ? "transparent" : this.toRgbaString();
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13178
	}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13179
});
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13180
color.fn.parse.prototype = color.fn;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13181
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13182
// hsla conversions adapted from:
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13183
// https://code.google.com/p/maashaack/source/browse/packages/graphics/trunk/src/graphics/colors/HUE2RGB.as?r=5021
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13184
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13185
function hue2rgb( p, q, h ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13186
	h = ( h + 1 ) % 1;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13187
	if ( h * 6 < 1 ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13188
		return p + (q - p) * h * 6;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13189
	}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13190
	if ( h * 2 < 1) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13191
		return q;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13192
	}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13193
	if ( h * 3 < 2 ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13194
		return p + (q - p) * ((2/3) - h) * 6;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13195
	}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13196
	return p;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13197
}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13198
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13199
spaces.hsla.to = function ( rgba ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13200
	if ( rgba[ 0 ] == null || rgba[ 1 ] == null || rgba[ 2 ] == null ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13201
		return [ null, null, null, rgba[ 3 ] ];
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13202
	}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13203
	var r = rgba[ 0 ] / 255,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13204
		g = rgba[ 1 ] / 255,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13205
		b = rgba[ 2 ] / 255,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13206
		a = rgba[ 3 ],
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13207
		max = Math.max( r, g, b ),
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13208
		min = Math.min( r, g, b ),
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13209
		diff = max - min,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13210
		add = max + min,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13211
		l = add * 0.5,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13212
		h, s;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13213
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13214
	if ( min === max ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13215
		h = 0;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13216
	} else if ( r === max ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13217
		h = ( 60 * ( g - b ) / diff ) + 360;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13218
	} else if ( g === max ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13219
		h = ( 60 * ( b - r ) / diff ) + 120;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13220
	} else {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13221
		h = ( 60 * ( r - g ) / diff ) + 240;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13222
	}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13223
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13224
	// chroma (diff) == 0 means greyscale which, by definition, saturation = 0%
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13225
	// otherwise, saturation is based on the ratio of chroma (diff) to lightness (add)
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13226
	if ( diff === 0 ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13227
		s = 0;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13228
	} else if ( l <= 0.5 ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13229
		s = diff / add;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13230
	} else {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13231
		s = diff / ( 2 - add );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13232
	}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13233
	return [ Math.round(h) % 360, s, l, a == null ? 1 : a ];
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13234
};
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13235
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13236
spaces.hsla.from = function ( hsla ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13237
	if ( hsla[ 0 ] == null || hsla[ 1 ] == null || hsla[ 2 ] == null ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13238
		return [ null, null, null, hsla[ 3 ] ];
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13239
	}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13240
	var h = hsla[ 0 ] / 360,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13241
		s = hsla[ 1 ],
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13242
		l = hsla[ 2 ],
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13243
		a = hsla[ 3 ],
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13244
		q = l <= 0.5 ? l * ( 1 + s ) : l + s - l * s,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13245
		p = 2 * l - q;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13246
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13247
	return [
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13248
		Math.round( hue2rgb( p, q, h + ( 1 / 3 ) ) * 255 ),
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13249
		Math.round( hue2rgb( p, q, h ) * 255 ),
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13250
		Math.round( hue2rgb( p, q, h - ( 1 / 3 ) ) * 255 ),
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13251
		a
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13252
	];
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13253
};
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13254
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13255
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13256
each( spaces, function( spaceName, space ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13257
	var props = space.props,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13258
		cache = space.cache,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13259
		to = space.to,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13260
		from = space.from;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13261
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13262
	// makes rgba() and hsla()
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13263
	color.fn[ spaceName ] = function( value ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13264
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13265
		// generate a cache for this space if it doesn't exist
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13266
		if ( to && !this[ cache ] ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13267
			this[ cache ] = to( this._rgba );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13268
		}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13269
		if ( value === undefined ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13270
			return this[ cache ].slice();
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13271
		}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13272
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13273
		var ret,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13274
			type = jQuery.type( value ),
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13275
			arr = ( type === "array" || type === "object" ) ? value : arguments,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13276
			local = this[ cache ].slice();
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13277
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13278
		each( props, function( key, prop ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13279
			var val = arr[ type === "object" ? key : prop.idx ];
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13280
			if ( val == null ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13281
				val = local[ prop.idx ];
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13282
			}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13283
			local[ prop.idx ] = clamp( val, prop );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13284
		});
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13285
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13286
		if ( from ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13287
			ret = color( from( local ) );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13288
			ret[ cache ] = local;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13289
			return ret;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13290
		} else {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13291
			return color( local );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13292
		}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13293
	};
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13294
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13295
	// makes red() green() blue() alpha() hue() saturation() lightness()
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13296
	each( props, function( key, prop ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13297
		// alpha is included in more than one space
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13298
		if ( color.fn[ key ] ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13299
			return;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13300
		}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13301
		color.fn[ key ] = function( value ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13302
			var vtype = jQuery.type( value ),
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13303
				fn = ( key === "alpha" ? ( this._hsla ? "hsla" : "rgba" ) : spaceName ),
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13304
				local = this[ fn ](),
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13305
				cur = local[ prop.idx ],
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13306
				match;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13307
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13308
			if ( vtype === "undefined" ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13309
				return cur;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13310
			}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13311
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13312
			if ( vtype === "function" ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13313
				value = value.call( this, cur );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13314
				vtype = jQuery.type( value );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13315
			}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13316
			if ( value == null && prop.empty ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13317
				return this;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13318
			}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13319
			if ( vtype === "string" ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13320
				match = rplusequals.exec( value );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13321
				if ( match ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13322
					value = cur + parseFloat( match[ 2 ] ) * ( match[ 1 ] === "+" ? 1 : -1 );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13323
				}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13324
			}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13325
			local[ prop.idx ] = value;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13326
			return this[ fn ]( local );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13327
		};
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13328
	});
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13329
});
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13330
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13331
// add cssHook and .fx.step function for each named hook.
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13332
// accept a space separated string of properties
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13333
color.hook = function( hook ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13334
	var hooks = hook.split( " " );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13335
	each( hooks, function( i, hook ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13336
		jQuery.cssHooks[ hook ] = {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13337
			set: function( elem, value ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13338
				var parsed, curElem,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13339
					backgroundColor = "";
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13340
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13341
				if ( value !== "transparent" && ( jQuery.type( value ) !== "string" || ( parsed = stringParse( value ) ) ) ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13342
					value = color( parsed || value );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13343
					if ( !support.rgba && value._rgba[ 3 ] !== 1 ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13344
						curElem = hook === "backgroundColor" ? elem.parentNode : elem;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13345
						while (
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13346
							(backgroundColor === "" || backgroundColor === "transparent") &&
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13347
							curElem && curElem.style
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13348
						) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13349
							try {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13350
								backgroundColor = jQuery.css( curElem, "backgroundColor" );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13351
								curElem = curElem.parentNode;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13352
							} catch ( e ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13353
							}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13354
						}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13355
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13356
						value = value.blend( backgroundColor && backgroundColor !== "transparent" ?
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13357
							backgroundColor :
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13358
							"_default" );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13359
					}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13360
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13361
					value = value.toRgbaString();
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13362
				}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13363
				try {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13364
					elem.style[ hook ] = value;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13365
				} catch( e ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13366
					// wrapped to prevent IE from throwing errors on "invalid" values like 'auto' or 'inherit'
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13367
				}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13368
			}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13369
		};
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13370
		jQuery.fx.step[ hook ] = function( fx ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13371
			if ( !fx.colorInit ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13372
				fx.start = color( fx.elem, hook );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13373
				fx.end = color( fx.end );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13374
				fx.colorInit = true;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13375
			}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13376
			jQuery.cssHooks[ hook ].set( fx.elem, fx.start.transition( fx.end, fx.pos ) );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13377
		};
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13378
	});
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13379
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13380
};
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13381
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13382
color.hook( stepHooks );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13383
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13384
jQuery.cssHooks.borderColor = {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13385
	expand: function( value ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13386
		var expanded = {};
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13387
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13388
		each( [ "Top", "Right", "Bottom", "Left" ], function( i, part ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13389
			expanded[ "border" + part + "Color" ] = value;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13390
		});
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13391
		return expanded;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13392
	}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13393
};
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13394
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13395
// Basic color names only.
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13396
// Usage of any of the other color names requires adding yourself or including
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13397
// jquery.color.svg-names.js.
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13398
colors = jQuery.Color.names = {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13399
	// 4.1. Basic color keywords
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13400
	aqua: "#00ffff",
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13401
	black: "#000000",
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13402
	blue: "#0000ff",
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13403
	fuchsia: "#ff00ff",
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13404
	gray: "#808080",
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13405
	green: "#008000",
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13406
	lime: "#00ff00",
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13407
	maroon: "#800000",
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13408
	navy: "#000080",
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13409
	olive: "#808000",
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13410
	purple: "#800080",
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13411
	red: "#ff0000",
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13412
	silver: "#c0c0c0",
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13413
	teal: "#008080",
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13414
	white: "#ffffff",
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13415
	yellow: "#ffff00",
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13416
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13417
	// 4.2.3. "transparent" color keyword
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13418
	transparent: [ null, null, null, 0 ],
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13419
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13420
	_default: "#ffffff"
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13421
};
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13422
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13423
})( jQuery );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13424
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13425
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13426
/******************************************************************************/
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13427
/****************************** CLASS ANIMATIONS ******************************/
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13428
/******************************************************************************/
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13429
(function() {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13430
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13431
var classAnimationActions = [ "add", "remove", "toggle" ],
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13432
	shorthandStyles = {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13433
		border: 1,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13434
		borderBottom: 1,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13435
		borderColor: 1,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13436
		borderLeft: 1,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13437
		borderRight: 1,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13438
		borderTop: 1,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13439
		borderWidth: 1,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13440
		margin: 1,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13441
		padding: 1
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13442
	};
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13443
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13444
$.each([ "borderLeftStyle", "borderRightStyle", "borderBottomStyle", "borderTopStyle" ], function( _, prop ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13445
	$.fx.step[ prop ] = function( fx ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13446
		if ( fx.end !== "none" && !fx.setAttr || fx.pos === 1 && !fx.setAttr ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13447
			jQuery.style( fx.elem, prop, fx.end );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13448
			fx.setAttr = true;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13449
		}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13450
	};
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13451
});
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13452
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13453
function getElementStyles( elem ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13454
	var key, len,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13455
		style = elem.ownerDocument.defaultView ?
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13456
			elem.ownerDocument.defaultView.getComputedStyle( elem, null ) :
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13457
			elem.currentStyle,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13458
		styles = {};
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13459
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13460
	if ( style && style.length && style[ 0 ] && style[ style[ 0 ] ] ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13461
		len = style.length;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13462
		while ( len-- ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13463
			key = style[ len ];
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13464
			if ( typeof style[ key ] === "string" ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13465
				styles[ $.camelCase( key ) ] = style[ key ];
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13466
			}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13467
		}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13468
	// support: Opera, IE <9
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13469
	} else {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13470
		for ( key in style ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13471
			if ( typeof style[ key ] === "string" ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13472
				styles[ key ] = style[ key ];
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13473
			}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13474
		}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13475
	}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13476
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13477
	return styles;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13478
}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13479
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13480
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13481
function styleDifference( oldStyle, newStyle ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13482
	var diff = {},
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13483
		name, value;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13484
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13485
	for ( name in newStyle ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13486
		value = newStyle[ name ];
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13487
		if ( oldStyle[ name ] !== value ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13488
			if ( !shorthandStyles[ name ] ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13489
				if ( $.fx.step[ name ] || !isNaN( parseFloat( value ) ) ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13490
					diff[ name ] = value;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13491
				}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13492
			}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13493
		}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13494
	}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13495
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13496
	return diff;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13497
}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13498
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13499
// support: jQuery <1.8
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13500
if ( !$.fn.addBack ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13501
	$.fn.addBack = function( selector ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13502
		return this.add( selector == null ?
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13503
			this.prevObject : this.prevObject.filter( selector )
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13504
		);
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13505
	};
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13506
}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13507
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13508
$.effects.animateClass = function( value, duration, easing, callback ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13509
	var o = $.speed( duration, easing, callback );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13510
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13511
	return this.queue( function() {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13512
		var animated = $( this ),
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13513
			baseClass = animated.attr( "class" ) || "",
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13514
			applyClassChange,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13515
			allAnimations = o.children ? animated.find( "*" ).addBack() : animated;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13516
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13517
		// map the animated objects to store the original styles.
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13518
		allAnimations = allAnimations.map(function() {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13519
			var el = $( this );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13520
			return {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13521
				el: el,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13522
				start: getElementStyles( this )
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13523
			};
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13524
		});
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13525
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13526
		// apply class change
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13527
		applyClassChange = function() {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13528
			$.each( classAnimationActions, function(i, action) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13529
				if ( value[ action ] ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13530
					animated[ action + "Class" ]( value[ action ] );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13531
				}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13532
			});
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13533
		};
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13534
		applyClassChange();
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13535
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13536
		// map all animated objects again - calculate new styles and diff
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13537
		allAnimations = allAnimations.map(function() {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13538
			this.end = getElementStyles( this.el[ 0 ] );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13539
			this.diff = styleDifference( this.start, this.end );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13540
			return this;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13541
		});
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13542
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13543
		// apply original class
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13544
		animated.attr( "class", baseClass );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13545
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13546
		// map all animated objects again - this time collecting a promise
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13547
		allAnimations = allAnimations.map(function() {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13548
			var styleInfo = this,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13549
				dfd = $.Deferred(),
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13550
				opts = $.extend({}, o, {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13551
					queue: false,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13552
					complete: function() {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13553
						dfd.resolve( styleInfo );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13554
					}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13555
				});
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13556
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13557
			this.el.animate( this.diff, opts );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13558
			return dfd.promise();
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13559
		});
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13560
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13561
		// once all animations have completed:
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13562
		$.when.apply( $, allAnimations.get() ).done(function() {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13563
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13564
			// set the final class
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13565
			applyClassChange();
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13566
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13567
			// for each animated element,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13568
			// clear all css properties that were animated
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13569
			$.each( arguments, function() {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13570
				var el = this.el;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13571
				$.each( this.diff, function(key) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13572
					el.css( key, "" );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13573
				});
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13574
			});
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13575
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13576
			// this is guarnteed to be there if you use jQuery.speed()
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13577
			// it also handles dequeuing the next anim...
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13578
			o.complete.call( animated[ 0 ] );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13579
		});
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13580
	});
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13581
};
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13582
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13583
$.fn.extend({
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13584
	addClass: (function( orig ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13585
		return function( classNames, speed, easing, callback ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13586
			return speed ?
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13587
				$.effects.animateClass.call( this,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13588
					{ add: classNames }, speed, easing, callback ) :
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13589
				orig.apply( this, arguments );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13590
		};
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13591
	})( $.fn.addClass ),
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13592
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13593
	removeClass: (function( orig ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13594
		return function( classNames, speed, easing, callback ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13595
			return arguments.length > 1 ?
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13596
				$.effects.animateClass.call( this,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13597
					{ remove: classNames }, speed, easing, callback ) :
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13598
				orig.apply( this, arguments );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13599
		};
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13600
	})( $.fn.removeClass ),
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13601
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13602
	toggleClass: (function( orig ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13603
		return function( classNames, force, speed, easing, callback ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13604
			if ( typeof force === "boolean" || force === undefined ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13605
				if ( !speed ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13606
					// without speed parameter
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13607
					return orig.apply( this, arguments );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13608
				} else {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13609
					return $.effects.animateClass.call( this,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13610
						(force ? { add: classNames } : { remove: classNames }),
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13611
						speed, easing, callback );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13612
				}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13613
			} else {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13614
				// without force parameter
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13615
				return $.effects.animateClass.call( this,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13616
					{ toggle: classNames }, force, speed, easing );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13617
			}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13618
		};
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13619
	})( $.fn.toggleClass ),
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13620
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13621
	switchClass: function( remove, add, speed, easing, callback) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13622
		return $.effects.animateClass.call( this, {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13623
			add: add,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13624
			remove: remove
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13625
		}, speed, easing, callback );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13626
	}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13627
});
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13628
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13629
})();
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13630
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13631
/******************************************************************************/
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13632
/*********************************** EFFECTS **********************************/
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13633
/******************************************************************************/
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13634
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13635
(function() {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13636
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13637
$.extend( $.effects, {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13638
	version: "1.10.4",
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13639
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13640
	// Saves a set of properties in a data storage
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13641
	save: function( element, set ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13642
		for( var i=0; i < set.length; i++ ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13643
			if ( set[ i ] !== null ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13644
				element.data( dataSpace + set[ i ], element[ 0 ].style[ set[ i ] ] );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13645
			}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13646
		}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13647
	},
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13648
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13649
	// Restores a set of previously saved properties from a data storage
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13650
	restore: function( element, set ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13651
		var val, i;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13652
		for( i=0; i < set.length; i++ ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13653
			if ( set[ i ] !== null ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13654
				val = element.data( dataSpace + set[ i ] );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13655
				// support: jQuery 1.6.2
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13656
				// http://bugs.jquery.com/ticket/9917
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13657
				// jQuery 1.6.2 incorrectly returns undefined for any falsy value.
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13658
				// We can't differentiate between "" and 0 here, so we just assume
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13659
				// empty string since it's likely to be a more common value...
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13660
				if ( val === undefined ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13661
					val = "";
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13662
				}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13663
				element.css( set[ i ], val );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13664
			}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13665
		}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13666
	},
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13667
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13668
	setMode: function( el, mode ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13669
		if (mode === "toggle") {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13670
			mode = el.is( ":hidden" ) ? "show" : "hide";
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13671
		}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13672
		return mode;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13673
	},
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13674
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13675
	// Translates a [top,left] array into a baseline value
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13676
	// this should be a little more flexible in the future to handle a string & hash
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13677
	getBaseline: function( origin, original ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13678
		var y, x;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13679
		switch ( origin[ 0 ] ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13680
			case "top": y = 0; break;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13681
			case "middle": y = 0.5; break;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13682
			case "bottom": y = 1; break;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13683
			default: y = origin[ 0 ] / original.height;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13684
		}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13685
		switch ( origin[ 1 ] ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13686
			case "left": x = 0; break;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13687
			case "center": x = 0.5; break;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13688
			case "right": x = 1; break;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13689
			default: x = origin[ 1 ] / original.width;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13690
		}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13691
		return {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13692
			x: x,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13693
			y: y
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13694
		};
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13695
	},
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13696
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13697
	// Wraps the element around a wrapper that copies position properties
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13698
	createWrapper: function( element ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13699
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13700
		// if the element is already wrapped, return it
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13701
		if ( element.parent().is( ".ui-effects-wrapper" )) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13702
			return element.parent();
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13703
		}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13704
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13705
		// wrap the element
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13706
		var props = {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13707
				width: element.outerWidth(true),
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13708
				height: element.outerHeight(true),
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13709
				"float": element.css( "float" )
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13710
			},
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13711
			wrapper = $( "<div></div>" )
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13712
				.addClass( "ui-effects-wrapper" )
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13713
				.css({
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13714
					fontSize: "100%",
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13715
					background: "transparent",
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13716
					border: "none",
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13717
					margin: 0,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13718
					padding: 0
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13719
				}),
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13720
			// Store the size in case width/height are defined in % - Fixes #5245
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13721
			size = {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13722
				width: element.width(),
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13723
				height: element.height()
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13724
			},
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13725
			active = document.activeElement;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13726
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13727
		// support: Firefox
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13728
		// Firefox incorrectly exposes anonymous content
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13729
		// https://bugzilla.mozilla.org/show_bug.cgi?id=561664
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13730
		try {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13731
			active.id;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13732
		} catch( e ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13733
			active = document.body;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13734
		}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13735
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13736
		element.wrap( wrapper );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13737
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13738
		// Fixes #7595 - Elements lose focus when wrapped.
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13739
		if ( element[ 0 ] === active || $.contains( element[ 0 ], active ) ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13740
			$( active ).focus();
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13741
		}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13742
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13743
		wrapper = element.parent(); //Hotfix for jQuery 1.4 since some change in wrap() seems to actually lose the reference to the wrapped element
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13744
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13745
		// transfer positioning properties to the wrapper
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13746
		if ( element.css( "position" ) === "static" ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13747
			wrapper.css({ position: "relative" });
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13748
			element.css({ position: "relative" });
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13749
		} else {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13750
			$.extend( props, {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13751
				position: element.css( "position" ),
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13752
				zIndex: element.css( "z-index" )
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13753
			});
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13754
			$.each([ "top", "left", "bottom", "right" ], function(i, pos) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13755
				props[ pos ] = element.css( pos );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13756
				if ( isNaN( parseInt( props[ pos ], 10 ) ) ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13757
					props[ pos ] = "auto";
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13758
				}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13759
			});
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13760
			element.css({
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13761
				position: "relative",
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13762
				top: 0,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13763
				left: 0,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13764
				right: "auto",
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13765
				bottom: "auto"
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13766
			});
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13767
		}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13768
		element.css(size);
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13769
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13770
		return wrapper.css( props ).show();
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13771
	},
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13772
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13773
	removeWrapper: function( element ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13774
		var active = document.activeElement;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13775
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13776
		if ( element.parent().is( ".ui-effects-wrapper" ) ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13777
			element.parent().replaceWith( element );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13778
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13779
			// Fixes #7595 - Elements lose focus when wrapped.
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13780
			if ( element[ 0 ] === active || $.contains( element[ 0 ], active ) ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13781
				$( active ).focus();
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13782
			}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13783
		}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13784
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13785
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13786
		return element;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13787
	},
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13788
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13789
	setTransition: function( element, list, factor, value ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13790
		value = value || {};
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13791
		$.each( list, function( i, x ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13792
			var unit = element.cssUnit( x );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13793
			if ( unit[ 0 ] > 0 ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13794
				value[ x ] = unit[ 0 ] * factor + unit[ 1 ];
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13795
			}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13796
		});
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13797
		return value;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13798
	}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13799
});
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13800
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13801
// return an effect options object for the given parameters:
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13802
function _normalizeArguments( effect, options, speed, callback ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13803
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13804
	// allow passing all options as the first parameter
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13805
	if ( $.isPlainObject( effect ) ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13806
		options = effect;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13807
		effect = effect.effect;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13808
	}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13809
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13810
	// convert to an object
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13811
	effect = { effect: effect };
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13812
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13813
	// catch (effect, null, ...)
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13814
	if ( options == null ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13815
		options = {};
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13816
	}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13817
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13818
	// catch (effect, callback)
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13819
	if ( $.isFunction( options ) ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13820
		callback = options;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13821
		speed = null;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13822
		options = {};
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13823
	}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13824
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13825
	// catch (effect, speed, ?)
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13826
	if ( typeof options === "number" || $.fx.speeds[ options ] ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13827
		callback = speed;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13828
		speed = options;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13829
		options = {};
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13830
	}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13831
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13832
	// catch (effect, options, callback)
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13833
	if ( $.isFunction( speed ) ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13834
		callback = speed;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13835
		speed = null;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13836
	}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13837
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13838
	// add options to effect
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13839
	if ( options ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13840
		$.extend( effect, options );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13841
	}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13842
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13843
	speed = speed || options.duration;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13844
	effect.duration = $.fx.off ? 0 :
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13845
		typeof speed === "number" ? speed :
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13846
		speed in $.fx.speeds ? $.fx.speeds[ speed ] :
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13847
		$.fx.speeds._default;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13848
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13849
	effect.complete = callback || options.complete;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13850
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13851
	return effect;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13852
}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13853
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13854
function standardAnimationOption( option ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13855
	// Valid standard speeds (nothing, number, named speed)
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13856
	if ( !option || typeof option === "number" || $.fx.speeds[ option ] ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13857
		return true;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13858
	}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13859
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13860
	// Invalid strings - treat as "normal" speed
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13861
	if ( typeof option === "string" && !$.effects.effect[ option ] ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13862
		return true;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13863
	}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13864
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13865
	// Complete callback
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13866
	if ( $.isFunction( option ) ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13867
		return true;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13868
	}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13869
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13870
	// Options hash (but not naming an effect)
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13871
	if ( typeof option === "object" && !option.effect ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13872
		return true;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13873
	}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13874
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13875
	// Didn't match any standard API
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13876
	return false;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13877
}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13878
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13879
$.fn.extend({
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13880
	effect: function( /* effect, options, speed, callback */ ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13881
		var args = _normalizeArguments.apply( this, arguments ),
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13882
			mode = args.mode,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13883
			queue = args.queue,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13884
			effectMethod = $.effects.effect[ args.effect ];
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13885
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13886
		if ( $.fx.off || !effectMethod ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13887
			// delegate to the original method (e.g., .show()) if possible
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13888
			if ( mode ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13889
				return this[ mode ]( args.duration, args.complete );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13890
			} else {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13891
				return this.each( function() {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13892
					if ( args.complete ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13893
						args.complete.call( this );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13894
					}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13895
				});
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13896
			}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13897
		}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13898
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13899
		function run( next ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13900
			var elem = $( this ),
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13901
				complete = args.complete,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13902
				mode = args.mode;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13903
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13904
			function done() {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13905
				if ( $.isFunction( complete ) ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13906
					complete.call( elem[0] );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13907
				}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13908
				if ( $.isFunction( next ) ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13909
					next();
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13910
				}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13911
			}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13912
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13913
			// If the element already has the correct final state, delegate to
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13914
			// the core methods so the internal tracking of "olddisplay" works.
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13915
			if ( elem.is( ":hidden" ) ? mode === "hide" : mode === "show" ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13916
				elem[ mode ]();
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13917
				done();
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13918
			} else {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13919
				effectMethod.call( elem[0], args, done );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13920
			}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13921
		}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13922
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13923
		return queue === false ? this.each( run ) : this.queue( queue || "fx", run );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13924
	},
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13925
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13926
	show: (function( orig ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13927
		return function( option ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13928
			if ( standardAnimationOption( option ) ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13929
				return orig.apply( this, arguments );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13930
			} else {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13931
				var args = _normalizeArguments.apply( this, arguments );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13932
				args.mode = "show";
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13933
				return this.effect.call( this, args );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13934
			}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13935
		};
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13936
	})( $.fn.show ),
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13937
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13938
	hide: (function( orig ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13939
		return function( option ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13940
			if ( standardAnimationOption( option ) ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13941
				return orig.apply( this, arguments );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13942
			} else {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13943
				var args = _normalizeArguments.apply( this, arguments );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13944
				args.mode = "hide";
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13945
				return this.effect.call( this, args );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13946
			}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13947
		};
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13948
	})( $.fn.hide ),
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13949
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13950
	toggle: (function( orig ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13951
		return function( option ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13952
			if ( standardAnimationOption( option ) || typeof option === "boolean" ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13953
				return orig.apply( this, arguments );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13954
			} else {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13955
				var args = _normalizeArguments.apply( this, arguments );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13956
				args.mode = "toggle";
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13957
				return this.effect.call( this, args );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13958
			}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13959
		};
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13960
	})( $.fn.toggle ),
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13961
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13962
	// helper functions
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13963
	cssUnit: function(key) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13964
		var style = this.css( key ),
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13965
			val = [];
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13966
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13967
		$.each( [ "em", "px", "%", "pt" ], function( i, unit ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13968
			if ( style.indexOf( unit ) > 0 ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13969
				val = [ parseFloat( style ), unit ];
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13970
			}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13971
		});
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13972
		return val;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13973
	}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13974
});
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13975
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13976
})();
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13977
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13978
/******************************************************************************/
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13979
/*********************************** EASING ***********************************/
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13980
/******************************************************************************/
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13981
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13982
(function() {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13983
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13984
// based on easing equations from Robert Penner (http://www.robertpenner.com/easing)
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13985
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13986
var baseEasings = {};
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13987
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13988
$.each( [ "Quad", "Cubic", "Quart", "Quint", "Expo" ], function( i, name ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13989
	baseEasings[ name ] = function( p ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13990
		return Math.pow( p, i + 2 );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13991
	};
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13992
});
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13993
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13994
$.extend( baseEasings, {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13995
	Sine: function ( p ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13996
		return 1 - Math.cos( p * Math.PI / 2 );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13997
	},
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13998
	Circ: function ( p ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 13999
		return 1 - Math.sqrt( 1 - p * p );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14000
	},
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14001
	Elastic: function( p ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14002
		return p === 0 || p === 1 ? p :
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14003
			-Math.pow( 2, 8 * (p - 1) ) * Math.sin( ( (p - 1) * 80 - 7.5 ) * Math.PI / 15 );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14004
	},
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14005
	Back: function( p ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14006
		return p * p * ( 3 * p - 2 );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14007
	},
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14008
	Bounce: function ( p ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14009
		var pow2,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14010
			bounce = 4;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14011
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14012
		while ( p < ( ( pow2 = Math.pow( 2, --bounce ) ) - 1 ) / 11 ) {}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14013
		return 1 / Math.pow( 4, 3 - bounce ) - 7.5625 * Math.pow( ( pow2 * 3 - 2 ) / 22 - p, 2 );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14014
	}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14015
});
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14016
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14017
$.each( baseEasings, function( name, easeIn ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14018
	$.easing[ "easeIn" + name ] = easeIn;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14019
	$.easing[ "easeOut" + name ] = function( p ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14020
		return 1 - easeIn( 1 - p );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14021
	};
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14022
	$.easing[ "easeInOut" + name ] = function( p ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14023
		return p < 0.5 ?
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14024
			easeIn( p * 2 ) / 2 :
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14025
			1 - easeIn( p * -2 + 2 ) / 2;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14026
	};
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14027
});
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14028
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14029
})();
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14030
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14031
})(jQuery);
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14032
(function( $, undefined ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14033
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14034
var rvertical = /up|down|vertical/,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14035
	rpositivemotion = /up|left|vertical|horizontal/;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14036
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14037
$.effects.effect.blind = function( o, done ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14038
	// Create element
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14039
	var el = $( this ),
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14040
		props = [ "position", "top", "bottom", "left", "right", "height", "width" ],
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14041
		mode = $.effects.setMode( el, o.mode || "hide" ),
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14042
		direction = o.direction || "up",
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14043
		vertical = rvertical.test( direction ),
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14044
		ref = vertical ? "height" : "width",
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14045
		ref2 = vertical ? "top" : "left",
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14046
		motion = rpositivemotion.test( direction ),
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14047
		animation = {},
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14048
		show = mode === "show",
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14049
		wrapper, distance, margin;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14050
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14051
	// if already wrapped, the wrapper's properties are my property. #6245
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14052
	if ( el.parent().is( ".ui-effects-wrapper" ) ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14053
		$.effects.save( el.parent(), props );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14054
	} else {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14055
		$.effects.save( el, props );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14056
	}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14057
	el.show();
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14058
	wrapper = $.effects.createWrapper( el ).css({
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14059
		overflow: "hidden"
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14060
	});
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14061
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14062
	distance = wrapper[ ref ]();
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14063
	margin = parseFloat( wrapper.css( ref2 ) ) || 0;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14064
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14065
	animation[ ref ] = show ? distance : 0;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14066
	if ( !motion ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14067
		el
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14068
			.css( vertical ? "bottom" : "right", 0 )
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14069
			.css( vertical ? "top" : "left", "auto" )
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14070
			.css({ position: "absolute" });
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14071
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14072
		animation[ ref2 ] = show ? margin : distance + margin;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14073
	}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14074
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14075
	// start at 0 if we are showing
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14076
	if ( show ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14077
		wrapper.css( ref, 0 );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14078
		if ( ! motion ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14079
			wrapper.css( ref2, margin + distance );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14080
		}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14081
	}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14082
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14083
	// Animate
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14084
	wrapper.animate( animation, {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14085
		duration: o.duration,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14086
		easing: o.easing,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14087
		queue: false,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14088
		complete: function() {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14089
			if ( mode === "hide" ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14090
				el.hide();
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14091
			}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14092
			$.effects.restore( el, props );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14093
			$.effects.removeWrapper( el );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14094
			done();
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14095
		}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14096
	});
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14097
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14098
};
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14099
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14100
})(jQuery);
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14101
(function( $, undefined ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14102
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14103
$.effects.effect.bounce = function( o, done ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14104
	var el = $( this ),
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14105
		props = [ "position", "top", "bottom", "left", "right", "height", "width" ],
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14106
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14107
		// defaults:
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14108
		mode = $.effects.setMode( el, o.mode || "effect" ),
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14109
		hide = mode === "hide",
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14110
		show = mode === "show",
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14111
		direction = o.direction || "up",
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14112
		distance = o.distance,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14113
		times = o.times || 5,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14114
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14115
		// number of internal animations
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14116
		anims = times * 2 + ( show || hide ? 1 : 0 ),
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14117
		speed = o.duration / anims,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14118
		easing = o.easing,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14119
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14120
		// utility:
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14121
		ref = ( direction === "up" || direction === "down" ) ? "top" : "left",
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14122
		motion = ( direction === "up" || direction === "left" ),
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14123
		i,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14124
		upAnim,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14125
		downAnim,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14126
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14127
		// we will need to re-assemble the queue to stack our animations in place
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14128
		queue = el.queue(),
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14129
		queuelen = queue.length;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14130
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14131
	// Avoid touching opacity to prevent clearType and PNG issues in IE
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14132
	if ( show || hide ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14133
		props.push( "opacity" );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14134
	}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14135
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14136
	$.effects.save( el, props );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14137
	el.show();
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14138
	$.effects.createWrapper( el ); // Create Wrapper
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14139
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14140
	// default distance for the BIGGEST bounce is the outer Distance / 3
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14141
	if ( !distance ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14142
		distance = el[ ref === "top" ? "outerHeight" : "outerWidth" ]() / 3;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14143
	}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14144
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14145
	if ( show ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14146
		downAnim = { opacity: 1 };
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14147
		downAnim[ ref ] = 0;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14148
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14149
		// if we are showing, force opacity 0 and set the initial position
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14150
		// then do the "first" animation
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14151
		el.css( "opacity", 0 )
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14152
			.css( ref, motion ? -distance * 2 : distance * 2 )
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14153
			.animate( downAnim, speed, easing );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14154
	}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14155
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14156
	// start at the smallest distance if we are hiding
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14157
	if ( hide ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14158
		distance = distance / Math.pow( 2, times - 1 );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14159
	}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14160
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14161
	downAnim = {};
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14162
	downAnim[ ref ] = 0;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14163
	// Bounces up/down/left/right then back to 0 -- times * 2 animations happen here
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14164
	for ( i = 0; i < times; i++ ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14165
		upAnim = {};
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14166
		upAnim[ ref ] = ( motion ? "-=" : "+=" ) + distance;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14167
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14168
		el.animate( upAnim, speed, easing )
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14169
			.animate( downAnim, speed, easing );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14170
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14171
		distance = hide ? distance * 2 : distance / 2;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14172
	}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14173
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14174
	// Last Bounce when Hiding
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14175
	if ( hide ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14176
		upAnim = { opacity: 0 };
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14177
		upAnim[ ref ] = ( motion ? "-=" : "+=" ) + distance;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14178
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14179
		el.animate( upAnim, speed, easing );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14180
	}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14181
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14182
	el.queue(function() {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14183
		if ( hide ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14184
			el.hide();
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14185
		}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14186
		$.effects.restore( el, props );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14187
		$.effects.removeWrapper( el );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14188
		done();
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14189
	});
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14190
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14191
	// inject all the animations we just queued to be first in line (after "inprogress")
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14192
	if ( queuelen > 1) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14193
		queue.splice.apply( queue,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14194
			[ 1, 0 ].concat( queue.splice( queuelen, anims + 1 ) ) );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14195
	}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14196
	el.dequeue();
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14197
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14198
};
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14199
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14200
})(jQuery);
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14201
(function( $, undefined ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14202
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14203
$.effects.effect.clip = function( o, done ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14204
	// Create element
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14205
	var el = $( this ),
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14206
		props = [ "position", "top", "bottom", "left", "right", "height", "width" ],
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14207
		mode = $.effects.setMode( el, o.mode || "hide" ),
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14208
		show = mode === "show",
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14209
		direction = o.direction || "vertical",
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14210
		vert = direction === "vertical",
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14211
		size = vert ? "height" : "width",
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14212
		position = vert ? "top" : "left",
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14213
		animation = {},
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14214
		wrapper, animate, distance;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14215
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14216
	// Save & Show
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14217
	$.effects.save( el, props );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14218
	el.show();
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14219
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14220
	// Create Wrapper
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14221
	wrapper = $.effects.createWrapper( el ).css({
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14222
		overflow: "hidden"
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14223
	});
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14224
	animate = ( el[0].tagName === "IMG" ) ? wrapper : el;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14225
	distance = animate[ size ]();
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14226
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14227
	// Shift
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14228
	if ( show ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14229
		animate.css( size, 0 );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14230
		animate.css( position, distance / 2 );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14231
	}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14232
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14233
	// Create Animation Object:
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14234
	animation[ size ] = show ? distance : 0;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14235
	animation[ position ] = show ? 0 : distance / 2;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14236
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14237
	// Animate
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14238
	animate.animate( animation, {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14239
		queue: false,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14240
		duration: o.duration,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14241
		easing: o.easing,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14242
		complete: function() {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14243
			if ( !show ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14244
				el.hide();
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14245
			}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14246
			$.effects.restore( el, props );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14247
			$.effects.removeWrapper( el );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14248
			done();
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14249
		}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14250
	});
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14251
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14252
};
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14253
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14254
})(jQuery);
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14255
(function( $, undefined ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14256
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14257
$.effects.effect.drop = function( o, done ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14258
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14259
	var el = $( this ),
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14260
		props = [ "position", "top", "bottom", "left", "right", "opacity", "height", "width" ],
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14261
		mode = $.effects.setMode( el, o.mode || "hide" ),
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14262
		show = mode === "show",
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14263
		direction = o.direction || "left",
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14264
		ref = ( direction === "up" || direction === "down" ) ? "top" : "left",
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14265
		motion = ( direction === "up" || direction === "left" ) ? "pos" : "neg",
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14266
		animation = {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14267
			opacity: show ? 1 : 0
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14268
		},
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14269
		distance;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14270
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14271
	// Adjust
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14272
	$.effects.save( el, props );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14273
	el.show();
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14274
	$.effects.createWrapper( el );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14275
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14276
	distance = o.distance || el[ ref === "top" ? "outerHeight": "outerWidth" ]( true ) / 2;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14277
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14278
	if ( show ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14279
		el
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14280
			.css( "opacity", 0 )
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14281
			.css( ref, motion === "pos" ? -distance : distance );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14282
	}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14283
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14284
	// Animation
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14285
	animation[ ref ] = ( show ?
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14286
		( motion === "pos" ? "+=" : "-=" ) :
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14287
		( motion === "pos" ? "-=" : "+=" ) ) +
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14288
		distance;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14289
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14290
	// Animate
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14291
	el.animate( animation, {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14292
		queue: false,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14293
		duration: o.duration,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14294
		easing: o.easing,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14295
		complete: function() {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14296
			if ( mode === "hide" ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14297
				el.hide();
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14298
			}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14299
			$.effects.restore( el, props );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14300
			$.effects.removeWrapper( el );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14301
			done();
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14302
		}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14303
	});
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14304
};
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14305
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14306
})(jQuery);
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14307
(function( $, undefined ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14308
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14309
$.effects.effect.explode = function( o, done ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14310
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14311
	var rows = o.pieces ? Math.round( Math.sqrt( o.pieces ) ) : 3,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14312
		cells = rows,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14313
		el = $( this ),
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14314
		mode = $.effects.setMode( el, o.mode || "hide" ),
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14315
		show = mode === "show",
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14316
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14317
		// show and then visibility:hidden the element before calculating offset
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14318
		offset = el.show().css( "visibility", "hidden" ).offset(),
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14319
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14320
		// width and height of a piece
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14321
		width = Math.ceil( el.outerWidth() / cells ),
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14322
		height = Math.ceil( el.outerHeight() / rows ),
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14323
		pieces = [],
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14324
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14325
		// loop
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14326
		i, j, left, top, mx, my;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14327
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14328
	// children animate complete:
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14329
	function childComplete() {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14330
		pieces.push( this );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14331
		if ( pieces.length === rows * cells ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14332
			animComplete();
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14333
		}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14334
	}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14335
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14336
	// clone the element for each row and cell.
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14337
	for( i = 0; i < rows ; i++ ) { // ===>
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14338
		top = offset.top + i * height;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14339
		my = i - ( rows - 1 ) / 2 ;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14340
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14341
		for( j = 0; j < cells ; j++ ) { // |||
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14342
			left = offset.left + j * width;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14343
			mx = j - ( cells - 1 ) / 2 ;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14344
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14345
			// Create a clone of the now hidden main element that will be absolute positioned
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14346
			// within a wrapper div off the -left and -top equal to size of our pieces
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14347
			el
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14348
				.clone()
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14349
				.appendTo( "body" )
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14350
				.wrap( "<div></div>" )
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14351
				.css({
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14352
					position: "absolute",
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14353
					visibility: "visible",
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14354
					left: -j * width,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14355
					top: -i * height
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14356
				})
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14357
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14358
			// select the wrapper - make it overflow: hidden and absolute positioned based on
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14359
			// where the original was located +left and +top equal to the size of pieces
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14360
				.parent()
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14361
				.addClass( "ui-effects-explode" )
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14362
				.css({
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14363
					position: "absolute",
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14364
					overflow: "hidden",
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14365
					width: width,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14366
					height: height,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14367
					left: left + ( show ? mx * width : 0 ),
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14368
					top: top + ( show ? my * height : 0 ),
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14369
					opacity: show ? 0 : 1
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14370
				}).animate({
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14371
					left: left + ( show ? 0 : mx * width ),
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14372
					top: top + ( show ? 0 : my * height ),
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14373
					opacity: show ? 1 : 0
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14374
				}, o.duration || 500, o.easing, childComplete );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14375
		}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14376
	}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14377
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14378
	function animComplete() {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14379
		el.css({
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14380
			visibility: "visible"
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14381
		});
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14382
		$( pieces ).remove();
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14383
		if ( !show ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14384
			el.hide();
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14385
		}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14386
		done();
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14387
	}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14388
};
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14389
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14390
})(jQuery);
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14391
(function( $, undefined ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14392
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14393
$.effects.effect.fade = function( o, done ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14394
	var el = $( this ),
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14395
		mode = $.effects.setMode( el, o.mode || "toggle" );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14396
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14397
	el.animate({
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14398
		opacity: mode
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14399
	}, {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14400
		queue: false,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14401
		duration: o.duration,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14402
		easing: o.easing,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14403
		complete: done
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14404
	});
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14405
};
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14406
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14407
})( jQuery );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14408
(function( $, undefined ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14409
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14410
$.effects.effect.fold = function( o, done ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14411
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14412
	// Create element
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14413
	var el = $( this ),
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14414
		props = [ "position", "top", "bottom", "left", "right", "height", "width" ],
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14415
		mode = $.effects.setMode( el, o.mode || "hide" ),
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14416
		show = mode === "show",
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14417
		hide = mode === "hide",
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14418
		size = o.size || 15,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14419
		percent = /([0-9]+)%/.exec( size ),
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14420
		horizFirst = !!o.horizFirst,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14421
		widthFirst = show !== horizFirst,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14422
		ref = widthFirst ? [ "width", "height" ] : [ "height", "width" ],
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14423
		duration = o.duration / 2,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14424
		wrapper, distance,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14425
		animation1 = {},
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14426
		animation2 = {};
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14427
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14428
	$.effects.save( el, props );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14429
	el.show();
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14430
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14431
	// Create Wrapper
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14432
	wrapper = $.effects.createWrapper( el ).css({
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14433
		overflow: "hidden"
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14434
	});
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14435
	distance = widthFirst ?
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14436
		[ wrapper.width(), wrapper.height() ] :
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14437
		[ wrapper.height(), wrapper.width() ];
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14438
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14439
	if ( percent ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14440
		size = parseInt( percent[ 1 ], 10 ) / 100 * distance[ hide ? 0 : 1 ];
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14441
	}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14442
	if ( show ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14443
		wrapper.css( horizFirst ? {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14444
			height: 0,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14445
			width: size
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14446
		} : {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14447
			height: size,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14448
			width: 0
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14449
		});
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14450
	}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14451
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14452
	// Animation
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14453
	animation1[ ref[ 0 ] ] = show ? distance[ 0 ] : size;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14454
	animation2[ ref[ 1 ] ] = show ? distance[ 1 ] : 0;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14455
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14456
	// Animate
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14457
	wrapper
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14458
		.animate( animation1, duration, o.easing )
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14459
		.animate( animation2, duration, o.easing, function() {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14460
			if ( hide ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14461
				el.hide();
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14462
			}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14463
			$.effects.restore( el, props );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14464
			$.effects.removeWrapper( el );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14465
			done();
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14466
		});
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14467
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14468
};
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14469
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14470
})(jQuery);
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14471
(function( $, undefined ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14472
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14473
$.effects.effect.highlight = function( o, done ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14474
	var elem = $( this ),
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14475
		props = [ "backgroundImage", "backgroundColor", "opacity" ],
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14476
		mode = $.effects.setMode( elem, o.mode || "show" ),
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14477
		animation = {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14478
			backgroundColor: elem.css( "backgroundColor" )
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14479
		};
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14480
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14481
	if (mode === "hide") {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14482
		animation.opacity = 0;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14483
	}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14484
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14485
	$.effects.save( elem, props );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14486
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14487
	elem
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14488
		.show()
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14489
		.css({
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14490
			backgroundImage: "none",
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14491
			backgroundColor: o.color || "#ffff99"
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14492
		})
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14493
		.animate( animation, {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14494
			queue: false,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14495
			duration: o.duration,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14496
			easing: o.easing,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14497
			complete: function() {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14498
				if ( mode === "hide" ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14499
					elem.hide();
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14500
				}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14501
				$.effects.restore( elem, props );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14502
				done();
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14503
			}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14504
		});
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14505
};
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14506
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14507
})(jQuery);
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14508
(function( $, undefined ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14509
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14510
$.effects.effect.pulsate = function( o, done ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14511
	var elem = $( this ),
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14512
		mode = $.effects.setMode( elem, o.mode || "show" ),
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14513
		show = mode === "show",
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14514
		hide = mode === "hide",
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14515
		showhide = ( show || mode === "hide" ),
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14516
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14517
		// showing or hiding leaves of the "last" animation
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14518
		anims = ( ( o.times || 5 ) * 2 ) + ( showhide ? 1 : 0 ),
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14519
		duration = o.duration / anims,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14520
		animateTo = 0,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14521
		queue = elem.queue(),
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14522
		queuelen = queue.length,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14523
		i;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14524
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14525
	if ( show || !elem.is(":visible")) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14526
		elem.css( "opacity", 0 ).show();
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14527
		animateTo = 1;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14528
	}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14529
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14530
	// anims - 1 opacity "toggles"
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14531
	for ( i = 1; i < anims; i++ ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14532
		elem.animate({
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14533
			opacity: animateTo
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14534
		}, duration, o.easing );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14535
		animateTo = 1 - animateTo;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14536
	}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14537
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14538
	elem.animate({
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14539
		opacity: animateTo
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14540
	}, duration, o.easing);
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14541
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14542
	elem.queue(function() {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14543
		if ( hide ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14544
			elem.hide();
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14545
		}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14546
		done();
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14547
	});
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14548
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14549
	// We just queued up "anims" animations, we need to put them next in the queue
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14550
	if ( queuelen > 1 ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14551
		queue.splice.apply( queue,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14552
			[ 1, 0 ].concat( queue.splice( queuelen, anims + 1 ) ) );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14553
	}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14554
	elem.dequeue();
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14555
};
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14556
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14557
})(jQuery);
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14558
(function( $, undefined ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14559
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14560
$.effects.effect.puff = function( o, done ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14561
	var elem = $( this ),
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14562
		mode = $.effects.setMode( elem, o.mode || "hide" ),
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14563
		hide = mode === "hide",
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14564
		percent = parseInt( o.percent, 10 ) || 150,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14565
		factor = percent / 100,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14566
		original = {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14567
			height: elem.height(),
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14568
			width: elem.width(),
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14569
			outerHeight: elem.outerHeight(),
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14570
			outerWidth: elem.outerWidth()
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14571
		};
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14572
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14573
	$.extend( o, {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14574
		effect: "scale",
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14575
		queue: false,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14576
		fade: true,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14577
		mode: mode,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14578
		complete: done,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14579
		percent: hide ? percent : 100,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14580
		from: hide ?
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14581
			original :
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14582
			{
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14583
				height: original.height * factor,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14584
				width: original.width * factor,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14585
				outerHeight: original.outerHeight * factor,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14586
				outerWidth: original.outerWidth * factor
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14587
			}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14588
	});
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14589
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14590
	elem.effect( o );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14591
};
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14592
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14593
$.effects.effect.scale = function( o, done ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14594
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14595
	// Create element
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14596
	var el = $( this ),
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14597
		options = $.extend( true, {}, o ),
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14598
		mode = $.effects.setMode( el, o.mode || "effect" ),
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14599
		percent = parseInt( o.percent, 10 ) ||
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14600
			( parseInt( o.percent, 10 ) === 0 ? 0 : ( mode === "hide" ? 0 : 100 ) ),
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14601
		direction = o.direction || "both",
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14602
		origin = o.origin,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14603
		original = {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14604
			height: el.height(),
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14605
			width: el.width(),
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14606
			outerHeight: el.outerHeight(),
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14607
			outerWidth: el.outerWidth()
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14608
		},
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14609
		factor = {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14610
			y: direction !== "horizontal" ? (percent / 100) : 1,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14611
			x: direction !== "vertical" ? (percent / 100) : 1
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14612
		};
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14613
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14614
	// We are going to pass this effect to the size effect:
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14615
	options.effect = "size";
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14616
	options.queue = false;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14617
	options.complete = done;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14618
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14619
	// Set default origin and restore for show/hide
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14620
	if ( mode !== "effect" ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14621
		options.origin = origin || ["middle","center"];
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14622
		options.restore = true;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14623
	}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14624
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14625
	options.from = o.from || ( mode === "show" ? {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14626
		height: 0,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14627
		width: 0,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14628
		outerHeight: 0,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14629
		outerWidth: 0
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14630
	} : original );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14631
	options.to = {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14632
		height: original.height * factor.y,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14633
		width: original.width * factor.x,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14634
		outerHeight: original.outerHeight * factor.y,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14635
		outerWidth: original.outerWidth * factor.x
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14636
	};
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14637
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14638
	// Fade option to support puff
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14639
	if ( options.fade ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14640
		if ( mode === "show" ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14641
			options.from.opacity = 0;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14642
			options.to.opacity = 1;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14643
		}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14644
		if ( mode === "hide" ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14645
			options.from.opacity = 1;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14646
			options.to.opacity = 0;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14647
		}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14648
	}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14649
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14650
	// Animate
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14651
	el.effect( options );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14652
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14653
};
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14654
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14655
$.effects.effect.size = function( o, done ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14656
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14657
	// Create element
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14658
	var original, baseline, factor,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14659
		el = $( this ),
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14660
		props0 = [ "position", "top", "bottom", "left", "right", "width", "height", "overflow", "opacity" ],
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14661
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14662
		// Always restore
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14663
		props1 = [ "position", "top", "bottom", "left", "right", "overflow", "opacity" ],
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14664
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14665
		// Copy for children
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14666
		props2 = [ "width", "height", "overflow" ],
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14667
		cProps = [ "fontSize" ],
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14668
		vProps = [ "borderTopWidth", "borderBottomWidth", "paddingTop", "paddingBottom" ],
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14669
		hProps = [ "borderLeftWidth", "borderRightWidth", "paddingLeft", "paddingRight" ],
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14670
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14671
		// Set options
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14672
		mode = $.effects.setMode( el, o.mode || "effect" ),
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14673
		restore = o.restore || mode !== "effect",
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14674
		scale = o.scale || "both",
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14675
		origin = o.origin || [ "middle", "center" ],
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14676
		position = el.css( "position" ),
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14677
		props = restore ? props0 : props1,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14678
		zero = {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14679
			height: 0,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14680
			width: 0,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14681
			outerHeight: 0,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14682
			outerWidth: 0
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14683
		};
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14684
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14685
	if ( mode === "show" ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14686
		el.show();
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14687
	}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14688
	original = {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14689
		height: el.height(),
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14690
		width: el.width(),
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14691
		outerHeight: el.outerHeight(),
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14692
		outerWidth: el.outerWidth()
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14693
	};
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14694
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14695
	if ( o.mode === "toggle" && mode === "show" ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14696
		el.from = o.to || zero;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14697
		el.to = o.from || original;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14698
	} else {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14699
		el.from = o.from || ( mode === "show" ? zero : original );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14700
		el.to = o.to || ( mode === "hide" ? zero : original );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14701
	}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14702
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14703
	// Set scaling factor
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14704
	factor = {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14705
		from: {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14706
			y: el.from.height / original.height,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14707
			x: el.from.width / original.width
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14708
		},
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14709
		to: {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14710
			y: el.to.height / original.height,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14711
			x: el.to.width / original.width
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14712
		}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14713
	};
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14714
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14715
	// Scale the css box
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14716
	if ( scale === "box" || scale === "both" ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14717
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14718
		// Vertical props scaling
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14719
		if ( factor.from.y !== factor.to.y ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14720
			props = props.concat( vProps );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14721
			el.from = $.effects.setTransition( el, vProps, factor.from.y, el.from );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14722
			el.to = $.effects.setTransition( el, vProps, factor.to.y, el.to );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14723
		}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14724
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14725
		// Horizontal props scaling
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14726
		if ( factor.from.x !== factor.to.x ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14727
			props = props.concat( hProps );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14728
			el.from = $.effects.setTransition( el, hProps, factor.from.x, el.from );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14729
			el.to = $.effects.setTransition( el, hProps, factor.to.x, el.to );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14730
		}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14731
	}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14732
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14733
	// Scale the content
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14734
	if ( scale === "content" || scale === "both" ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14735
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14736
		// Vertical props scaling
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14737
		if ( factor.from.y !== factor.to.y ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14738
			props = props.concat( cProps ).concat( props2 );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14739
			el.from = $.effects.setTransition( el, cProps, factor.from.y, el.from );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14740
			el.to = $.effects.setTransition( el, cProps, factor.to.y, el.to );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14741
		}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14742
	}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14743
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14744
	$.effects.save( el, props );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14745
	el.show();
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14746
	$.effects.createWrapper( el );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14747
	el.css( "overflow", "hidden" ).css( el.from );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14748
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14749
	// Adjust
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14750
	if (origin) { // Calculate baseline shifts
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14751
		baseline = $.effects.getBaseline( origin, original );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14752
		el.from.top = ( original.outerHeight - el.outerHeight() ) * baseline.y;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14753
		el.from.left = ( original.outerWidth - el.outerWidth() ) * baseline.x;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14754
		el.to.top = ( original.outerHeight - el.to.outerHeight ) * baseline.y;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14755
		el.to.left = ( original.outerWidth - el.to.outerWidth ) * baseline.x;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14756
	}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14757
	el.css( el.from ); // set top & left
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14758
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14759
	// Animate
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14760
	if ( scale === "content" || scale === "both" ) { // Scale the children
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14761
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14762
		// Add margins/font-size
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14763
		vProps = vProps.concat([ "marginTop", "marginBottom" ]).concat(cProps);
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14764
		hProps = hProps.concat([ "marginLeft", "marginRight" ]);
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14765
		props2 = props0.concat(vProps).concat(hProps);
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14766
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14767
		el.find( "*[width]" ).each( function(){
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14768
			var child = $( this ),
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14769
				c_original = {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14770
					height: child.height(),
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14771
					width: child.width(),
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14772
					outerHeight: child.outerHeight(),
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14773
					outerWidth: child.outerWidth()
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14774
				};
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14775
			if (restore) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14776
				$.effects.save(child, props2);
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14777
			}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14778
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14779
			child.from = {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14780
				height: c_original.height * factor.from.y,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14781
				width: c_original.width * factor.from.x,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14782
				outerHeight: c_original.outerHeight * factor.from.y,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14783
				outerWidth: c_original.outerWidth * factor.from.x
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14784
			};
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14785
			child.to = {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14786
				height: c_original.height * factor.to.y,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14787
				width: c_original.width * factor.to.x,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14788
				outerHeight: c_original.height * factor.to.y,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14789
				outerWidth: c_original.width * factor.to.x
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14790
			};
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14791
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14792
			// Vertical props scaling
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14793
			if ( factor.from.y !== factor.to.y ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14794
				child.from = $.effects.setTransition( child, vProps, factor.from.y, child.from );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14795
				child.to = $.effects.setTransition( child, vProps, factor.to.y, child.to );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14796
			}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14797
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14798
			// Horizontal props scaling
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14799
			if ( factor.from.x !== factor.to.x ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14800
				child.from = $.effects.setTransition( child, hProps, factor.from.x, child.from );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14801
				child.to = $.effects.setTransition( child, hProps, factor.to.x, child.to );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14802
			}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14803
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14804
			// Animate children
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14805
			child.css( child.from );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14806
			child.animate( child.to, o.duration, o.easing, function() {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14807
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14808
				// Restore children
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14809
				if ( restore ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14810
					$.effects.restore( child, props2 );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14811
				}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14812
			});
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14813
		});
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14814
	}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14815
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14816
	// Animate
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14817
	el.animate( el.to, {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14818
		queue: false,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14819
		duration: o.duration,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14820
		easing: o.easing,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14821
		complete: function() {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14822
			if ( el.to.opacity === 0 ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14823
				el.css( "opacity", el.from.opacity );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14824
			}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14825
			if( mode === "hide" ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14826
				el.hide();
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14827
			}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14828
			$.effects.restore( el, props );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14829
			if ( !restore ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14830
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14831
				// we need to calculate our new positioning based on the scaling
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14832
				if ( position === "static" ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14833
					el.css({
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14834
						position: "relative",
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14835
						top: el.to.top,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14836
						left: el.to.left
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14837
					});
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14838
				} else {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14839
					$.each([ "top", "left" ], function( idx, pos ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14840
						el.css( pos, function( _, str ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14841
							var val = parseInt( str, 10 ),
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14842
								toRef = idx ? el.to.left : el.to.top;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14843
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14844
							// if original was "auto", recalculate the new value from wrapper
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14845
							if ( str === "auto" ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14846
								return toRef + "px";
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14847
							}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14848
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14849
							return val + toRef + "px";
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14850
						});
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14851
					});
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14852
				}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14853
			}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14854
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14855
			$.effects.removeWrapper( el );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14856
			done();
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14857
		}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14858
	});
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14859
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14860
};
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14861
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14862
})(jQuery);
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14863
(function( $, undefined ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14864
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14865
$.effects.effect.shake = function( o, done ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14866
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14867
	var el = $( this ),
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14868
		props = [ "position", "top", "bottom", "left", "right", "height", "width" ],
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14869
		mode = $.effects.setMode( el, o.mode || "effect" ),
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14870
		direction = o.direction || "left",
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14871
		distance = o.distance || 20,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14872
		times = o.times || 3,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14873
		anims = times * 2 + 1,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14874
		speed = Math.round(o.duration/anims),
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14875
		ref = (direction === "up" || direction === "down") ? "top" : "left",
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14876
		positiveMotion = (direction === "up" || direction === "left"),
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14877
		animation = {},
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14878
		animation1 = {},
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14879
		animation2 = {},
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14880
		i,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14881
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14882
		// we will need to re-assemble the queue to stack our animations in place
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14883
		queue = el.queue(),
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14884
		queuelen = queue.length;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14885
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14886
	$.effects.save( el, props );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14887
	el.show();
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14888
	$.effects.createWrapper( el );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14889
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14890
	// Animation
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14891
	animation[ ref ] = ( positiveMotion ? "-=" : "+=" ) + distance;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14892
	animation1[ ref ] = ( positiveMotion ? "+=" : "-=" ) + distance * 2;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14893
	animation2[ ref ] = ( positiveMotion ? "-=" : "+=" ) + distance * 2;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14894
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14895
	// Animate
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14896
	el.animate( animation, speed, o.easing );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14897
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14898
	// Shakes
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14899
	for ( i = 1; i < times; i++ ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14900
		el.animate( animation1, speed, o.easing ).animate( animation2, speed, o.easing );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14901
	}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14902
	el
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14903
		.animate( animation1, speed, o.easing )
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14904
		.animate( animation, speed / 2, o.easing )
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14905
		.queue(function() {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14906
			if ( mode === "hide" ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14907
				el.hide();
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14908
			}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14909
			$.effects.restore( el, props );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14910
			$.effects.removeWrapper( el );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14911
			done();
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14912
		});
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14913
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14914
	// inject all the animations we just queued to be first in line (after "inprogress")
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14915
	if ( queuelen > 1) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14916
		queue.splice.apply( queue,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14917
			[ 1, 0 ].concat( queue.splice( queuelen, anims + 1 ) ) );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14918
	}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14919
	el.dequeue();
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14920
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14921
};
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14922
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14923
})(jQuery);
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14924
(function( $, undefined ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14925
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14926
$.effects.effect.slide = function( o, done ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14927
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14928
	// Create element
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14929
	var el = $( this ),
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14930
		props = [ "position", "top", "bottom", "left", "right", "width", "height" ],
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14931
		mode = $.effects.setMode( el, o.mode || "show" ),
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14932
		show = mode === "show",
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14933
		direction = o.direction || "left",
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14934
		ref = (direction === "up" || direction === "down") ? "top" : "left",
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14935
		positiveMotion = (direction === "up" || direction === "left"),
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14936
		distance,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14937
		animation = {};
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14938
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14939
	// Adjust
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14940
	$.effects.save( el, props );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14941
	el.show();
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14942
	distance = o.distance || el[ ref === "top" ? "outerHeight" : "outerWidth" ]( true );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14943
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14944
	$.effects.createWrapper( el ).css({
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14945
		overflow: "hidden"
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14946
	});
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14947
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14948
	if ( show ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14949
		el.css( ref, positiveMotion ? (isNaN(distance) ? "-" + distance : -distance) : distance );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14950
	}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14951
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14952
	// Animation
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14953
	animation[ ref ] = ( show ?
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14954
		( positiveMotion ? "+=" : "-=") :
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14955
		( positiveMotion ? "-=" : "+=")) +
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14956
		distance;
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14957
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14958
	// Animate
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14959
	el.animate( animation, {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14960
		queue: false,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14961
		duration: o.duration,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14962
		easing: o.easing,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14963
		complete: function() {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14964
			if ( mode === "hide" ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14965
				el.hide();
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14966
			}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14967
			$.effects.restore( el, props );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14968
			$.effects.removeWrapper( el );
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14969
			done();
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14970
		}
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14971
	});
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14972
};
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14973
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14974
})(jQuery);
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14975
(function( $, undefined ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14976
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14977
$.effects.effect.transfer = function( o, done ) {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14978
	var elem = $( this ),
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14979
		target = $( o.to ),
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14980
		targetFixed = target.css( "position" ) === "fixed",
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14981
		body = $("body"),
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14982
		fixTop = targetFixed ? body.scrollTop() : 0,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14983
		fixLeft = targetFixed ? body.scrollLeft() : 0,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14984
		endPosition = target.offset(),
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14985
		animation = {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14986
			top: endPosition.top - fixTop ,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14987
			left: endPosition.left - fixLeft ,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14988
			height: target.innerHeight(),
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14989
			width: target.innerWidth()
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14990
		},
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14991
		startPosition = elem.offset(),
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14992
		transfer = $( "<div class='ui-effects-transfer'></div>" )
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14993
			.appendTo( document.body )
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14994
			.addClass( o.className )
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14995
			.css({
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14996
				top: startPosition.top - fixTop ,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14997
				left: startPosition.left - fixLeft ,
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14998
				height: elem.innerHeight(),
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 14999
				width: elem.innerWidth(),
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 15000
				position: targetFixed ? "fixed" : "absolute"
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 15001
			})
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 15002
			.animate( animation, o.duration, o.easing, function() {
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 15003
				transfer.remove();
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 15004
				done();
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 15005
			});
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 15006
};
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 15007
f6d0fa1db02a update libs and debug resize
cavaliet
parents: 211
diff changeset
 15008
})(jQuery);