client/player/js/ui.slider.js
author ymh <ymh.work@gmail.com>
Thu, 10 Jun 2010 19:16:17 +0200
changeset 14 3373a0dad50f
parent 1 436d4791d7ac
permissions -rw-r--r--
correct synscript
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
     1
/*
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
     2
 * jQuery UI Slider 1.7.2
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
     3
 *
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
     4
 * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
     5
 * Dual licensed under the MIT (MIT-LICENSE.txt)
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
     6
 * and GPL (GPL-LICENSE.txt) licenses.
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
     7
 *
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
     8
 * http://docs.jquery.com/UI/Slider
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
     9
 *
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    10
 * Depends:
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    11
 *	ui.core.js
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    12
 */
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    13
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    14
(function($) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    15
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    16
$.widget("ui.slider", $.extend({}, $.ui.mouse, {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    17
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    18
	_init: function() {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    19
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    20
		var self = this, o = this.options;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    21
		this._keySliding = false;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    22
		this._handleIndex = null;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    23
		this._detectOrientation();
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    24
		this._mouseInit();
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    25
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    26
		this.element
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    27
			.addClass("ui-slider"
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    28
				+ " ui-slider-" + this.orientation
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    29
				+ " ui-widget"
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    30
				+ " ui-widget-content"
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    31
				+ " ui-corner-all");
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    32
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    33
		this.range = $([]);
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    34
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    35
		if (o.range) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    36
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    37
			if (o.range === true) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    38
				this.range = $('<div></div>');
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    39
				if (!o.values) o.values = [this._valueMin(), this._valueMin()];
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    40
				if (o.values.length && o.values.length != 2) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    41
					o.values = [o.values[0], o.values[0]];
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    42
				}
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    43
			} else {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    44
				this.range = $('<div></div>');
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    45
			}
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    46
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    47
			this.range
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    48
				.appendTo(this.element)
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    49
				.addClass("ui-slider-range");
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    50
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    51
			if (o.range == "min" || o.range == "max") {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    52
				this.range.addClass("ui-slider-range-" + o.range);
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    53
			}
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    54
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    55
			// note: this isn't the most fittingly semantic framework class for this element,
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    56
			// but worked best visually with a variety of themes
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    57
			this.range.addClass("ui-widget-header");
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    58
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    59
		}
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    60
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    61
		if ($(".ui-slider-handle", this.element).length == 0)
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    62
			$('<a href="#"></a>')
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    63
				.appendTo(this.element)
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    64
				.addClass("ui-slider-handle");
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    65
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    66
		if (o.values && o.values.length) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    67
			while ($(".ui-slider-handle", this.element).length < o.values.length)
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    68
				$('<a href="#"></a>')
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    69
					.appendTo(this.element)
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    70
					.addClass("ui-slider-handle");
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    71
		}
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    72
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    73
		this.handles = $(".ui-slider-handle", this.element)
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    74
			.addClass("ui-state-default"
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    75
				+ " ui-corner-all");
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    76
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    77
		this.handle = this.handles.eq(0);
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    78
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    79
		this.handles.add(this.range).filter("a")
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    80
			.click(function(event) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    81
				event.preventDefault();
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    82
			})
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    83
			.hover(function() {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    84
				if (!o.disabled) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    85
					$(this).addClass('ui-state-hover');
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    86
				}
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    87
			}, function() {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    88
				$(this).removeClass('ui-state-hover');
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    89
			})
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    90
			.focus(function() {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    91
				if (!o.disabled) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    92
					$(".ui-slider .ui-state-focus").removeClass('ui-state-focus'); $(this).addClass('ui-state-focus');
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    93
				} else {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    94
					$(this).blur();
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    95
				}
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    96
			})
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    97
			.blur(function() {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    98
				$(this).removeClass('ui-state-focus');
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    99
			});
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   100
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   101
		this.handles.each(function(i) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   102
			$(this).data("index.ui-slider-handle", i);
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   103
		});
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   104
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   105
		this.handles.keydown(function(event) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   106
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   107
			var ret = true;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   108
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   109
			var index = $(this).data("index.ui-slider-handle");
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   110
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   111
			if (self.options.disabled)
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   112
				return;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   113
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   114
			switch (event.keyCode) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   115
				case $.ui.keyCode.HOME:
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   116
				case $.ui.keyCode.END:
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   117
				case $.ui.keyCode.UP:
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   118
				case $.ui.keyCode.RIGHT:
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   119
				case $.ui.keyCode.DOWN:
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   120
				case $.ui.keyCode.LEFT:
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   121
					ret = false;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   122
					if (!self._keySliding) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   123
						self._keySliding = true;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   124
						$(this).addClass("ui-state-active");
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   125
						self._start(event, index);
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   126
					}
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   127
					break;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   128
			}
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   129
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   130
			var curVal, newVal, step = self._step();
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   131
			if (self.options.values && self.options.values.length) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   132
				curVal = newVal = self.values(index);
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   133
			} else {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   134
				curVal = newVal = self.value();
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   135
			}
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   136
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   137
			switch (event.keyCode) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   138
				case $.ui.keyCode.HOME:
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   139
					newVal = self._valueMin();
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   140
					break;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   141
				case $.ui.keyCode.END:
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   142
					newVal = self._valueMax();
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   143
					break;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   144
				case $.ui.keyCode.UP:
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   145
				case $.ui.keyCode.RIGHT:
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   146
					if(curVal == self._valueMax()) return;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   147
					newVal = curVal + step;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   148
					break;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   149
				case $.ui.keyCode.DOWN:
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   150
				case $.ui.keyCode.LEFT:
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   151
					if(curVal == self._valueMin()) return;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   152
					newVal = curVal - step;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   153
					break;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   154
			}
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   155
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   156
			self._slide(event, index, newVal);
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   157
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   158
			return ret;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   159
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   160
		}).keyup(function(event) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   161
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   162
			var index = $(this).data("index.ui-slider-handle");
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   163
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   164
			if (self._keySliding) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   165
				self._stop(event, index);
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   166
				self._change(event, index);
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   167
				self._keySliding = false;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   168
				$(this).removeClass("ui-state-active");
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   169
			}
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   170
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   171
		});
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   172
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   173
		this._refreshValue();
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   174
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   175
	},
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   176
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   177
	destroy: function() {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   178
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   179
		this.handles.remove();
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   180
		this.range.remove();
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   181
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   182
		this.element
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   183
			.removeClass("ui-slider"
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   184
				+ " ui-slider-horizontal"
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   185
				+ " ui-slider-vertical"
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   186
				+ " ui-slider-disabled"
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   187
				+ " ui-widget"
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   188
				+ " ui-widget-content"
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   189
				+ " ui-corner-all")
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   190
			.removeData("slider")
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   191
			.unbind(".slider");
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   192
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   193
		this._mouseDestroy();
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   194
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   195
	},
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   196
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   197
	_mouseCapture: function(event) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   198
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   199
		var o = this.options;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   200
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   201
		if (o.disabled)
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   202
			return false;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   203
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   204
		this.elementSize = {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   205
			width: this.element.outerWidth(),
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   206
			height: this.element.outerHeight()
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   207
		};
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   208
		this.elementOffset = this.element.offset();
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   209
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   210
		var position = { x: event.pageX, y: event.pageY };
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   211
		var normValue = this._normValueFromMouse(position);
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   212
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   213
		var distance = this._valueMax() - this._valueMin() + 1, closestHandle;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   214
		var self = this, index;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   215
		this.handles.each(function(i) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   216
			var thisDistance = Math.abs(normValue - self.values(i));
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   217
			if (distance > thisDistance) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   218
				distance = thisDistance;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   219
				closestHandle = $(this);
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   220
				index = i;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   221
			}
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   222
		});
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   223
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   224
		// workaround for bug #3736 (if both handles of a range are at 0,
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   225
		// the first is always used as the one with least distance,
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   226
		// and moving it is obviously prevented by preventing negative ranges)
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   227
		if(o.range == true && this.values(1) == o.min) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   228
			closestHandle = $(this.handles[++index]);
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   229
		}
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   230
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   231
		this._start(event, index);
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   232
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   233
		self._handleIndex = index;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   234
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   235
		closestHandle
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   236
			.addClass("ui-state-active")
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   237
			.focus();
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   238
		
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   239
		var offset = closestHandle.offset();
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   240
		var mouseOverHandle = !$(event.target).parents().andSelf().is('.ui-slider-handle');
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   241
		this._clickOffset = mouseOverHandle ? { left: 0, top: 0 } : {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   242
			left: event.pageX - offset.left - (closestHandle.width() / 2),
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   243
			top: event.pageY - offset.top
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   244
				- (closestHandle.height() / 2)
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   245
				- (parseInt(closestHandle.css('borderTopWidth'),10) || 0)
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   246
				- (parseInt(closestHandle.css('borderBottomWidth'),10) || 0)
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   247
				+ (parseInt(closestHandle.css('marginTop'),10) || 0)
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   248
		};
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   249
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   250
		normValue = this._normValueFromMouse(position);
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   251
		this._slide(event, index, normValue);
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   252
		return true;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   253
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   254
	},
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   255
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   256
	_mouseStart: function(event) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   257
		return true;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   258
	},
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   259
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   260
	_mouseDrag: function(event) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   261
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   262
		var position = { x: event.pageX, y: event.pageY };
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   263
		var normValue = this._normValueFromMouse(position);
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   264
		
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   265
		this._slide(event, this._handleIndex, normValue);
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   266
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   267
		return false;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   268
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   269
	},
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   270
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   271
	_mouseStop: function(event) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   272
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   273
		this.handles.removeClass("ui-state-active");
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   274
		this._stop(event, this._handleIndex);
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   275
		this._change(event, this._handleIndex);
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   276
		this._handleIndex = null;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   277
		this._clickOffset = null;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   278
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   279
		return false;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   280
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   281
	},
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   282
	
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   283
	_detectOrientation: function() {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   284
		this.orientation = this.options.orientation == 'vertical' ? 'vertical' : 'horizontal';
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   285
	},
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   286
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   287
	_normValueFromMouse: function(position) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   288
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   289
		var pixelTotal, pixelMouse;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   290
		if ('horizontal' == this.orientation) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   291
			pixelTotal = this.elementSize.width;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   292
			pixelMouse = position.x - this.elementOffset.left - (this._clickOffset ? this._clickOffset.left : 0);
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   293
		} else {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   294
			pixelTotal = this.elementSize.height;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   295
			pixelMouse = position.y - this.elementOffset.top - (this._clickOffset ? this._clickOffset.top : 0);
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   296
		}
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   297
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   298
		var percentMouse = (pixelMouse / pixelTotal);
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   299
		if (percentMouse > 1) percentMouse = 1;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   300
		if (percentMouse < 0) percentMouse = 0;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   301
		if ('vertical' == this.orientation)
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   302
			percentMouse = 1 - percentMouse;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   303
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   304
		var valueTotal = this._valueMax() - this._valueMin(),
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   305
			valueMouse = percentMouse * valueTotal,
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   306
			valueMouseModStep = valueMouse % this.options.step,
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   307
			normValue = this._valueMin() + valueMouse - valueMouseModStep;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   308
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   309
		if (valueMouseModStep > (this.options.step / 2))
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   310
			normValue += this.options.step;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   311
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   312
		// Since JavaScript has problems with large floats, round
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   313
		// the final value to 5 digits after the decimal point (see #4124)
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   314
		return parseFloat(normValue.toFixed(5));
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   315
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   316
	},
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   317
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   318
	_start: function(event, index) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   319
		var uiHash = {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   320
			handle: this.handles[index],
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   321
			value: this.value()
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   322
		};
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   323
		if (this.options.values && this.options.values.length) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   324
			uiHash.value = this.values(index);
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   325
			uiHash.values = this.values();
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   326
		}
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   327
		this._trigger("start", event, uiHash);
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   328
	},
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   329
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   330
	_slide: function(event, index, newVal) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   331
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   332
		var handle = this.handles[index];
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   333
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   334
		if (this.options.values && this.options.values.length) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   335
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   336
			var otherVal = this.values(index ? 0 : 1);
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   337
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   338
			if ((this.options.values.length == 2 && this.options.range === true) && 
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   339
				((index == 0 && newVal > otherVal) || (index == 1 && newVal < otherVal))){
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   340
 				newVal = otherVal;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   341
			}
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   342
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   343
			if (newVal != this.values(index)) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   344
				var newValues = this.values();
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   345
				newValues[index] = newVal;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   346
				// A slide can be canceled by returning false from the slide callback
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   347
				var allowed = this._trigger("slide", event, {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   348
					handle: this.handles[index],
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   349
					value: newVal,
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   350
					values: newValues
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   351
				});
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   352
				var otherVal = this.values(index ? 0 : 1);
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   353
				if (allowed !== false) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   354
					this.values(index, newVal, ( event.type == 'mousedown' && this.options.animate ), true);
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   355
				}
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   356
			}
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   357
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   358
		} else {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   359
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   360
			if (newVal != this.value()) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   361
				// A slide can be canceled by returning false from the slide callback
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   362
				var allowed = this._trigger("slide", event, {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   363
					handle: this.handles[index],
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   364
					value: newVal
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   365
				});
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   366
				if (allowed !== false) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   367
					this._setData('value', newVal, ( event.type == 'mousedown' && this.options.animate ));
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   368
				}
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   369
					
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   370
			}
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   371
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   372
		}
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   373
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   374
	},
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   375
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   376
	_stop: function(event, index) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   377
		var uiHash = {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   378
			handle: this.handles[index],
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   379
			value: this.value()
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   380
		};
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   381
		if (this.options.values && this.options.values.length) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   382
			uiHash.value = this.values(index);
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   383
			uiHash.values = this.values();
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   384
		}
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   385
		this._trigger("stop", event, uiHash);
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   386
	},
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   387
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   388
	_change: function(event, index) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   389
		var uiHash = {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   390
			handle: this.handles[index],
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   391
			value: this.value()
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   392
		};
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   393
		if (this.options.values && this.options.values.length) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   394
			uiHash.value = this.values(index);
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   395
			uiHash.values = this.values();
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   396
		}
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   397
		this._trigger("change", event, uiHash);
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   398
	},
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   399
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   400
	value: function(newValue) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   401
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   402
		if (arguments.length) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   403
			this._setData("value", newValue);
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   404
			this._change(null, 0);
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   405
		}
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   406
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   407
		return this._value();
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   408
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   409
	},
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   410
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   411
	values: function(index, newValue, animated, noPropagation) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   412
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   413
		if (arguments.length > 1) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   414
			this.options.values[index] = newValue;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   415
			this._refreshValue(animated);
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   416
			if(!noPropagation) this._change(null, index);
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   417
		}
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   418
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   419
		if (arguments.length) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   420
			if (this.options.values && this.options.values.length) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   421
				return this._values(index);
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   422
			} else {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   423
				return this.value();
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   424
			}
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   425
		} else {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   426
			return this._values();
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   427
		}
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   428
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   429
	},
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   430
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   431
	_setData: function(key, value, animated) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   432
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   433
		$.widget.prototype._setData.apply(this, arguments);
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   434
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   435
		switch (key) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   436
			case 'disabled':
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   437
				if (value) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   438
					this.handles.filter(".ui-state-focus").blur();
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   439
					this.handles.removeClass("ui-state-hover");
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   440
					this.handles.attr("disabled", "disabled");
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   441
				} else {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   442
					this.handles.removeAttr("disabled");
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   443
				}
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   444
			case 'orientation':
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   445
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   446
				this._detectOrientation();
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   447
				
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   448
				this.element
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   449
					.removeClass("ui-slider-horizontal ui-slider-vertical")
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   450
					.addClass("ui-slider-" + this.orientation);
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   451
				this._refreshValue(animated);
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   452
				break;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   453
			case 'value':
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   454
				this._refreshValue(animated);
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   455
				break;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   456
		}
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   457
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   458
	},
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   459
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   460
	_step: function() {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   461
		var step = this.options.step;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   462
		return step;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   463
	},
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   464
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   465
	_value: function() {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   466
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   467
		var val = this.options.value;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   468
		if (val < this._valueMin()) val = this._valueMin();
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   469
		if (val > this._valueMax()) val = this._valueMax();
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   470
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   471
		return val;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   472
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   473
	},
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   474
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   475
	_values: function(index) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   476
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   477
		if (arguments.length) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   478
			var val = this.options.values[index];
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   479
			if (val < this._valueMin()) val = this._valueMin();
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   480
			if (val > this._valueMax()) val = this._valueMax();
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   481
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   482
			return val;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   483
		} else {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   484
			return this.options.values;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   485
		}
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   486
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   487
	},
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   488
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   489
	_valueMin: function() {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   490
		var valueMin = this.options.min;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   491
		return valueMin;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   492
	},
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   493
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   494
	_valueMax: function() {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   495
		var valueMax = this.options.max;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   496
		return valueMax;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   497
	},
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   498
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   499
	_refreshValue: function(animate) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   500
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   501
		var oRange = this.options.range, o = this.options, self = this;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   502
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   503
		if (this.options.values && this.options.values.length) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   504
			var vp0, vp1;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   505
			this.handles.each(function(i, j) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   506
				var valPercent = (self.values(i) - self._valueMin()) / (self._valueMax() - self._valueMin()) * 100;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   507
				var _set = {}; _set[self.orientation == 'horizontal' ? 'left' : 'bottom'] = valPercent + '%';
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   508
				$(this).stop(1,1)[animate ? 'animate' : 'css'](_set, o.animate);
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   509
				if (self.options.range === true) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   510
					if (self.orientation == 'horizontal') {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   511
						(i == 0) && self.range.stop(1,1)[animate ? 'animate' : 'css']({ left: valPercent + '%' }, o.animate);
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   512
						(i == 1) && self.range[animate ? 'animate' : 'css']({ width: (valPercent - lastValPercent) + '%' }, { queue: false, duration: o.animate });
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   513
					} else {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   514
						(i == 0) && self.range.stop(1,1)[animate ? 'animate' : 'css']({ bottom: (valPercent) + '%' }, o.animate);
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   515
						(i == 1) && self.range[animate ? 'animate' : 'css']({ height: (valPercent - lastValPercent) + '%' }, { queue: false, duration: o.animate });
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   516
					}
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   517
				}
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   518
				lastValPercent = valPercent;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   519
			});
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   520
		} else {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   521
			var value = this.value(),
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   522
				valueMin = this._valueMin(),
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   523
				valueMax = this._valueMax(),
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   524
				valPercent = valueMax != valueMin
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   525
					? (value - valueMin) / (valueMax - valueMin) * 100
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   526
					: 0;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   527
			var _set = {}; _set[self.orientation == 'horizontal' ? 'left' : 'bottom'] = valPercent + '%';
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   528
			this.handle.stop(1,1)[animate ? 'animate' : 'css'](_set, o.animate);
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   529
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   530
			(oRange == "min") && (this.orientation == "horizontal") && this.range.stop(1,1)[animate ? 'animate' : 'css']({ width: valPercent + '%' }, o.animate);
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   531
			(oRange == "max") && (this.orientation == "horizontal") && this.range[animate ? 'animate' : 'css']({ width: (100 - valPercent) + '%' }, { queue: false, duration: o.animate });
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   532
			(oRange == "min") && (this.orientation == "vertical") && this.range.stop(1,1)[animate ? 'animate' : 'css']({ height: valPercent + '%' }, o.animate);
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   533
			(oRange == "max") && (this.orientation == "vertical") && this.range[animate ? 'animate' : 'css']({ height: (100 - valPercent) + '%' }, { queue: false, duration: o.animate });
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   534
		}
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   535
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   536
	}
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   537
	
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   538
}));
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   539
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   540
$.extend($.ui.slider, {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   541
	getter: "value values",
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   542
	version: "1.7.2",
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   543
	eventPrefix: "slide",
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   544
	defaults: {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   545
		animate: false,
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   546
		delay: 0,
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   547
		distance: 0,
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   548
		max: 100,
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   549
		min: 0,
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   550
		orientation: 'horizontal',
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   551
		range: false,
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   552
		step: 1,
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   553
		value: 0,
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   554
		values: null
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   555
	}
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   556
});
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   557
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   558
})(jQuery);