client/player/js/ui/jquery.ui.dialog.js
author hurons
Wed, 09 Jun 2010 16:48:35 +0200
changeset 1 436d4791d7ac
child 57 3a3c15c462f8
permissions -rw-r--r--
premier version du player test de commit
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 Dialog 1.8.1
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) 2010 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/Dialog
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
 *	jquery.ui.core.js
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    12
 *	jquery.ui.widget.js
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    13
 *  jquery.ui.button.js
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    14
 *	jquery.ui.draggable.js
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    15
 *	jquery.ui.mouse.js
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    16
 *	jquery.ui.position.js
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    17
 *	jquery.ui.resizable.js
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    18
 */
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    19
(function($) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    20
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    21
var uiDialogClasses =
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    22
	'ui-dialog ' +
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    23
	'ui-widget ' +
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    24
	'ui-widget-content ' +
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    25
	'ui-corner-all ';
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    26
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    27
$.widget("ui.dialog", {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    28
	options: {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    29
		autoOpen: true,
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    30
		buttons: {},
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    31
		closeOnEscape: true,
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    32
		closeText: 'close',
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    33
		dialogClass: '',
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    34
		draggable: true,
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    35
		hide: null,
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    36
		height: 'auto',
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    37
		maxHeight: false,
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    38
		maxWidth: false,
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    39
		minHeight: 150,
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    40
		minWidth: 150,
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    41
		modal: false,
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    42
		position: 'center',
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    43
		resizable: true,
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    44
		show: null,
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    45
		stack: true,
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    46
		title: '',
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    47
		width: 300,
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    48
		zIndex: 1000
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    49
	},
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    50
	_create: function() {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    51
		this.originalTitle = this.element.attr('title');
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    52
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    53
		var self = this,
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    54
			options = self.options,
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    55
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    56
			title = options.title || self.originalTitle || ' ',
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    57
			titleId = $.ui.dialog.getTitleId(self.element),
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
			uiDialog = (self.uiDialog = $('<div></div>'))
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    60
				.appendTo(document.body)
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    61
				.hide()
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    62
				.addClass(uiDialogClasses + options.dialogClass)
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    63
				.css({
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    64
					zIndex: options.zIndex
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
				// setting tabIndex makes the div focusable
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    67
				// setting outline to 0 prevents a border on focus in Mozilla
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    68
				.attr('tabIndex', -1).css('outline', 0).keydown(function(event) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    69
					if (options.closeOnEscape && event.keyCode &&
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    70
						event.keyCode === $.ui.keyCode.ESCAPE) {
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
						self.close(event);
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    73
						event.preventDefault();
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    74
					}
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    75
				})
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    76
				.attr({
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    77
					role: 'dialog',
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    78
					'aria-labelledby': titleId
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    79
				})
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    80
				.mousedown(function(event) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    81
					self.moveToTop(false, event);
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
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    84
			uiDialogContent = self.element
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    85
				.show()
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    86
				.removeAttr('title')
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    87
				.addClass(
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    88
					'ui-dialog-content ' +
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    89
					'ui-widget-content')
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    90
				.appendTo(uiDialog),
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    91
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    92
			uiDialogTitlebar = (self.uiDialogTitlebar = $('<div></div>'))
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    93
				.addClass(
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    94
					'ui-dialog-titlebar ' +
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    95
					'ui-widget-header ' +
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    96
					'ui-corner-all ' +
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    97
					'ui-helper-clearfix'
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    98
				)
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    99
				.prependTo(uiDialog),
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
			uiDialogTitlebarClose = $('<a href="#"></a>')
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   102
				.addClass(
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   103
					'ui-dialog-titlebar-close ' +
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   104
					'ui-corner-all'
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   105
				)
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   106
				.attr('role', 'button')
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   107
				.hover(
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   108
					function() {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   109
						uiDialogTitlebarClose.addClass('ui-state-hover');
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
					function() {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   112
						uiDialogTitlebarClose.removeClass('ui-state-hover');
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
				)
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   115
				.focus(function() {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   116
					uiDialogTitlebarClose.addClass('ui-state-focus');
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   117
				})
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   118
				.blur(function() {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   119
					uiDialogTitlebarClose.removeClass('ui-state-focus');
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   120
				})
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   121
				.click(function(event) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   122
					self.close(event);
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   123
					return false;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   124
				})
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   125
				.appendTo(uiDialogTitlebar),
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
			uiDialogTitlebarCloseText = (self.uiDialogTitlebarCloseText = $('<span></span>'))
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   128
				.addClass(
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   129
					'ui-icon ' +
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   130
					'ui-icon-closethick'
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   131
				)
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   132
				.text(options.closeText)
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   133
				.appendTo(uiDialogTitlebarClose),
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   134
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   135
			uiDialogTitle = $('<span></span>')
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   136
				.addClass('ui-dialog-title')
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   137
				.attr('id', titleId)
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   138
				.html(title)
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   139
				.prependTo(uiDialogTitlebar);
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   140
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   141
		//handling of deprecated beforeclose (vs beforeClose) option
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   142
		//Ticket #4669 http://dev.jqueryui.com/ticket/4669
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   143
		//TODO: remove in 1.9pre
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   144
		if ($.isFunction(options.beforeclose) && !$.isFunction(options.beforeClose)) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   145
			options.beforeClose = options.beforeclose;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   146
		}
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   147
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   148
		uiDialogTitlebar.find("*").add(uiDialogTitlebar).disableSelection();
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   149
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   150
		if (options.draggable && $.fn.draggable) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   151
			self._makeDraggable();
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   152
		}
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   153
		if (options.resizable && $.fn.resizable) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   154
			self._makeResizable();
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
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   157
		self._createButtons(options.buttons);
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   158
		self._isOpen = false;
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
		if ($.fn.bgiframe) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   161
			uiDialog.bgiframe();
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   162
		}
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
	_init: function() {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   165
		if ( this.options.autoOpen ) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   166
			this.open();
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   167
		}
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   168
	},
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
	destroy: function() {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   171
		var self = this;
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
		if (self.overlay) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   174
			self.overlay.destroy();
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
		self.uiDialog.hide();
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   177
		self.element
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   178
			.unbind('.dialog')
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   179
			.removeData('dialog')
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   180
			.removeClass('ui-dialog-content ui-widget-content')
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   181
			.hide().appendTo('body');
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   182
		self.uiDialog.remove();
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   183
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   184
		if (self.originalTitle) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   185
			self.element.attr('title', self.originalTitle);
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   186
		}
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   187
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   188
		return self;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   189
	},
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   190
	
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   191
	widget: function() {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   192
		return this.uiDialog;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   193
	},
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
	close: function(event) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   196
		var self = this,
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   197
			maxZ;
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
		if (false === self._trigger('beforeClose', event)) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   200
			return;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   201
		}
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   202
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   203
		if (self.overlay) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   204
			self.overlay.destroy();
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   205
		}
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   206
		self.uiDialog.unbind('keypress.ui-dialog');
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
		self._isOpen = false;
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
		if (self.options.hide) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   211
			self.uiDialog.hide(self.options.hide, function() {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   212
				self._trigger('close', event);
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   213
			});
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   214
		} else {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   215
			self.uiDialog.hide();
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   216
			self._trigger('close', event);
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   217
		}
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   218
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   219
		$.ui.dialog.overlay.resize();
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   220
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   221
		// adjust the maxZ to allow other modal dialogs to continue to work (see #4309)
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   222
		if (self.options.modal) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   223
			maxZ = 0;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   224
			$('.ui-dialog').each(function() {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   225
				if (this !== self.uiDialog[0]) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   226
					maxZ = Math.max(maxZ, $(this).css('z-index'));
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   227
				}
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   228
			});
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   229
			$.ui.dialog.maxZ = maxZ;
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
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   232
		return self;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   233
	},
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
	isOpen: function() {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   236
		return this._isOpen;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   237
	},
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
	// the force parameter allows us to move modal dialogs to their correct
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   240
	// position on open
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   241
	moveToTop: function(force, event) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   242
		var self = this,
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   243
			options = self.options,
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   244
			saveScroll;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   245
		
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   246
		if ((options.modal && !force) ||
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   247
			(!options.stack && !options.modal)) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   248
			return self._trigger('focus', event);
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
		
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   251
		if (options.zIndex > $.ui.dialog.maxZ) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   252
			$.ui.dialog.maxZ = options.zIndex;
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
		if (self.overlay) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   255
			$.ui.dialog.maxZ += 1;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   256
			self.overlay.$el.css('z-index', $.ui.dialog.overlay.maxZ = $.ui.dialog.maxZ);
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   257
		}
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
		//Save and then restore scroll since Opera 9.5+ resets when parent z-Index is changed.
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   260
		//  http://ui.jquery.com/bugs/ticket/3193
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   261
		saveScroll = { scrollTop: self.element.attr('scrollTop'), scrollLeft: self.element.attr('scrollLeft') };
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   262
		$.ui.dialog.maxZ += 1;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   263
		self.uiDialog.css('z-index', $.ui.dialog.maxZ);
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   264
		self.element.attr(saveScroll);
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   265
		self._trigger('focus', event);
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 self;
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
	open: function() {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   271
		if (this._isOpen) { return; }
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
		var self = this,
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   274
			options = self.options,
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   275
			uiDialog = self.uiDialog;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   276
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   277
		self.overlay = options.modal ? new $.ui.dialog.overlay(self) : null;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   278
		if (uiDialog.next().length) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   279
			uiDialog.appendTo('body');
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
		self._size();
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   282
		self._position(options.position);
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   283
		uiDialog.show(options.show);
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   284
		self.moveToTop(true);
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
		// prevent tabbing out of modal dialogs
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   287
		if (options.modal) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   288
			uiDialog.bind('keypress.ui-dialog', function(event) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   289
				if (event.keyCode !== $.ui.keyCode.TAB) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   290
					return;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   291
				}
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   292
	
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   293
				var tabbables = $(':tabbable', this),
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   294
					first = tabbables.filter(':first'),
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   295
					last  = tabbables.filter(':last');
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
				if (event.target === last[0] && !event.shiftKey) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   298
					first.focus(1);
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   299
					return false;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   300
				} else if (event.target === first[0] && event.shiftKey) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   301
					last.focus(1);
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   302
					return false;
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
			});
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   305
		}
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   306
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   307
		// set focus to the first tabbable element in the content area or the first button
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   308
		// if there are no tabbable elements, set focus on the dialog itself
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   309
		$([])
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   310
			.add(uiDialog.find('.ui-dialog-content :tabbable:first'))
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   311
			.add(uiDialog.find('.ui-dialog-buttonpane :tabbable:first'))
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   312
			.add(uiDialog)
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   313
			.filter(':first')
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   314
			.focus();
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
		self._trigger('open');
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   317
		self._isOpen = true;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   318
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   319
		return self;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   320
	},
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   321
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   322
	_createButtons: function(buttons) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   323
		var self = this,
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   324
			hasButtons = false,
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   325
			uiDialogButtonPane = $('<div></div>')
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   326
				.addClass(
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   327
					'ui-dialog-buttonpane ' +
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   328
					'ui-widget-content ' +
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   329
					'ui-helper-clearfix'
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   330
				);
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
		// if we already have a button pane, remove it
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   333
		self.uiDialog.find('.ui-dialog-buttonpane').remove();
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   334
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   335
		if (typeof buttons === 'object' && buttons !== null) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   336
			$.each(buttons, function() {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   337
				return !(hasButtons = true);
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   338
			});
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   339
		}
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   340
		if (hasButtons) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   341
			$.each(buttons, function(name, fn) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   342
				var button = $('<button type="button"></button>')
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   343
					.text(name)
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   344
					.click(function() { fn.apply(self.element[0], arguments); })
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   345
					.appendTo(uiDialogButtonPane);
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   346
				if ($.fn.button) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   347
					button.button();
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   348
				}
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   349
			});
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   350
			uiDialogButtonPane.appendTo(self.uiDialog);
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
	},
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   353
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   354
	_makeDraggable: function() {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   355
		var self = this,
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   356
			options = self.options,
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   357
			doc = $(document),
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   358
			heightBeforeDrag;
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
		function filteredUi(ui) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   361
			return {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   362
				position: ui.position,
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   363
				offset: ui.offset
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   364
			};
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
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   367
		self.uiDialog.draggable({
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   368
			cancel: '.ui-dialog-content, .ui-dialog-titlebar-close',
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   369
			handle: '.ui-dialog-titlebar',
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   370
			containment: 'document',
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   371
			start: function(event, ui) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   372
				heightBeforeDrag = options.height === "auto" ? "auto" : $(this).height();
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   373
				$(this).height($(this).height()).addClass("ui-dialog-dragging");
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   374
				self._trigger('dragStart', event, filteredUi(ui));
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
			drag: function(event, ui) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   377
				self._trigger('drag', event, filteredUi(ui));
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   378
			},
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   379
			stop: function(event, ui) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   380
				options.position = [ui.position.left - doc.scrollLeft(),
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   381
					ui.position.top - doc.scrollTop()];
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   382
				$(this).removeClass("ui-dialog-dragging").height(heightBeforeDrag);
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   383
				self._trigger('dragStop', event, filteredUi(ui));
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   384
				$.ui.dialog.overlay.resize();
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   385
			}
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
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   389
	_makeResizable: function(handles) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   390
		handles = (handles === undefined ? this.options.resizable : handles);
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   391
		var self = this,
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   392
			options = self.options,
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   393
			// .ui-resizable has position: relative defined in the stylesheet
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   394
			// but dialogs have to use absolute or fixed positioning
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   395
			position = self.uiDialog.css('position'),
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   396
			resizeHandles = (typeof handles === 'string' ?
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   397
				handles	:
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   398
				'n,e,s,w,se,sw,ne,nw'
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
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   401
		function filteredUi(ui) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   402
			return {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   403
				originalPosition: ui.originalPosition,
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   404
				originalSize: ui.originalSize,
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   405
				position: ui.position,
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   406
				size: ui.size
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   407
			};
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
		self.uiDialog.resizable({
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   411
			cancel: '.ui-dialog-content',
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   412
			containment: 'document',
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   413
			alsoResize: self.element,
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   414
			maxWidth: options.maxWidth,
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   415
			maxHeight: options.maxHeight,
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   416
			minWidth: options.minWidth,
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   417
			minHeight: self._minHeight(),
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   418
			handles: resizeHandles,
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   419
			start: function(event, ui) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   420
				$(this).addClass("ui-dialog-resizing");
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   421
				self._trigger('resizeStart', event, filteredUi(ui));
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   422
			},
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   423
			resize: function(event, ui) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   424
				self._trigger('resize', event, filteredUi(ui));
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   425
			},
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   426
			stop: function(event, ui) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   427
				$(this).removeClass("ui-dialog-resizing");
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   428
				options.height = $(this).height();
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   429
				options.width = $(this).width();
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   430
				self._trigger('resizeStop', event, filteredUi(ui));
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   431
				$.ui.dialog.overlay.resize();
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
		})
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   434
		.css('position', position)
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   435
		.find('.ui-resizable-se').addClass('ui-icon ui-icon-grip-diagonal-se');
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   436
	},
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   437
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   438
	_minHeight: function() {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   439
		var options = this.options;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   440
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   441
		if (options.height === 'auto') {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   442
			return options.minHeight;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   443
		} else {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   444
			return Math.min(options.minHeight, options.height);
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
	},
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
	_position: function(position) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   449
		var myAt = [],
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   450
			offset = [0, 0],
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   451
			isVisible;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   452
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   453
		position = position || $.ui.dialog.prototype.options.position;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   454
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   455
		// deep extending converts arrays to objects in jQuery <= 1.3.2 :-(
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   456
//		if (typeof position == 'string' || $.isArray(position)) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   457
//			myAt = $.isArray(position) ? position : position.split(' ');
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
		if (typeof position === 'string' || (typeof position === 'object' && '0' in position)) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   460
			myAt = position.split ? position.split(' ') : [position[0], position[1]];
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   461
			if (myAt.length === 1) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   462
				myAt[1] = myAt[0];
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
			$.each(['left', 'top'], function(i, offsetPosition) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   466
				if (+myAt[i] === myAt[i]) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   467
					offset[i] = myAt[i];
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   468
					myAt[i] = offsetPosition;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   469
				}
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
		} else if (typeof position === 'object') {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   472
			if ('left' in position) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   473
				myAt[0] = 'left';
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   474
				offset[0] = position.left;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   475
			} else if ('right' in position) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   476
				myAt[0] = 'right';
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   477
				offset[0] = -position.right;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   478
			}
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   479
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   480
			if ('top' in position) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   481
				myAt[1] = 'top';
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   482
				offset[1] = position.top;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   483
			} else if ('bottom' in position) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   484
				myAt[1] = 'bottom';
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   485
				offset[1] = -position.bottom;
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
		// need to show the dialog to get the actual offset in the position plugin
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   490
		isVisible = this.uiDialog.is(':visible');
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   491
		if (!isVisible) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   492
			this.uiDialog.show();
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
		this.uiDialog
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   495
			// workaround for jQuery bug #5781 http://dev.jquery.com/ticket/5781
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   496
			.css({ top: 0, left: 0 })
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   497
			.position({
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   498
				my: myAt.join(' '),
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   499
				at: myAt.join(' '),
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   500
				offset: offset.join(' '),
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   501
				of: window,
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   502
				collision: 'fit',
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   503
				// ensure that the titlebar is never outside the document
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   504
				using: function(pos) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   505
					var topOffset = $(this).css(pos).offset().top;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   506
					if (topOffset < 0) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   507
						$(this).css('top', pos.top - topOffset);
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   508
					}
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   509
				}
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   510
			});
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   511
		if (!isVisible) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   512
			this.uiDialog.hide();
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   513
		}
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   514
	},
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   515
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   516
	_setOption: function(key, value){
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   517
		var self = this,
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   518
			uiDialog = self.uiDialog,
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   519
			isResizable = uiDialog.is(':data(resizable)'),
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   520
			resize = false;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   521
		
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   522
		switch (key) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   523
			//handling of deprecated beforeclose (vs beforeClose) option
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   524
			//Ticket #4669 http://dev.jqueryui.com/ticket/4669
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   525
			//TODO: remove in 1.9pre
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   526
			case "beforeclose":
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   527
				key = "beforeClose";
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   528
				break;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   529
			case "buttons":
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   530
				self._createButtons(value);
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   531
				break;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   532
			case "closeText":
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   533
				// convert whatever was passed in to a string, for text() to not throw up
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   534
				self.uiDialogTitlebarCloseText.text("" + value);
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   535
				break;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   536
			case "dialogClass":
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   537
				uiDialog
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   538
					.removeClass(self.options.dialogClass)
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   539
					.addClass(uiDialogClasses + value);
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   540
				break;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   541
			case "disabled":
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   542
				if (value) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   543
					uiDialog.addClass('ui-dialog-disabled');
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   544
				} else {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   545
					uiDialog.removeClass('ui-dialog-disabled');
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   546
				}
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   547
				break;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   548
			case "draggable":
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   549
				if (value) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   550
					self._makeDraggable();
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   551
				} else {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   552
					uiDialog.draggable('destroy');
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   553
				}
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   554
				break;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   555
			case "height":
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   556
				resize = true;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   557
				break;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   558
			case "maxHeight":
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   559
				if (isResizable) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   560
					uiDialog.resizable('option', 'maxHeight', value);
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   561
				}
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   562
				resize = true;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   563
				break;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   564
			case "maxWidth":
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   565
				if (isResizable) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   566
					uiDialog.resizable('option', 'maxWidth', value);
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   567
				}
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   568
				resize = true;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   569
				break;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   570
			case "minHeight":
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   571
				if (isResizable) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   572
					uiDialog.resizable('option', 'minHeight', value);
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   573
				}
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   574
				resize = true;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   575
				break;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   576
			case "minWidth":
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   577
				if (isResizable) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   578
					uiDialog.resizable('option', 'minWidth', value);
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   579
				}
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   580
				resize = true;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   581
				break;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   582
			case "position":
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   583
				self._position(value);
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   584
				break;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   585
			case "resizable":
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   586
				// currently resizable, becoming non-resizable
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   587
				if (isResizable && !value) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   588
					uiDialog.resizable('destroy');
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   589
				}
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   590
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   591
				// currently resizable, changing handles
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   592
				if (isResizable && typeof value === 'string') {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   593
					uiDialog.resizable('option', 'handles', value);
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   594
				}
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   595
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   596
				// currently non-resizable, becoming resizable
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   597
				if (!isResizable && value !== false) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   598
					self._makeResizable(value);
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   599
				}
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   600
				break;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   601
			case "title":
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   602
				// convert whatever was passed in o a string, for html() to not throw up
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   603
				$(".ui-dialog-title", self.uiDialogTitlebar).html("" + (value || '&#160;'));
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   604
				break;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   605
			case "width":
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   606
				resize = true;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   607
				break;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   608
		}
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   609
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   610
		$.Widget.prototype._setOption.apply(self, arguments);
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   611
		if (resize) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   612
			self._size();
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   613
		}
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   614
	},
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   615
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   616
	_size: function() {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   617
		/* If the user has resized the dialog, the .ui-dialog and .ui-dialog-content
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   618
		 * divs will both have width and height set, so we need to reset them
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   619
		 */
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   620
		var options = this.options,
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   621
			nonContentHeight;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   622
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   623
		// reset content sizing
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   624
		// hide for non content measurement because height: 0 doesn't work in IE quirks mode (see #4350)
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   625
		this.element.css({
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   626
			width: 'auto',
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   627
			minHeight: 0,
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   628
			height: 0
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   629
		});
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   630
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   631
		// reset wrapper sizing
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   632
		// determine the height of all the non-content elements
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   633
		nonContentHeight = this.uiDialog.css({
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   634
				height: 'auto',
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   635
				width: options.width
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   636
			})
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   637
			.height();
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   638
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   639
		this.element
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   640
			.css(options.height === 'auto' ? {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   641
					minHeight: Math.max(options.minHeight - nonContentHeight, 0),
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   642
					height: 'auto'
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   643
				} : {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   644
					minHeight: 0,
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   645
					height: Math.max(options.height - nonContentHeight, 0)				
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   646
			})
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   647
			.show();
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   648
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   649
		if (this.uiDialog.is(':data(resizable)')) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   650
			this.uiDialog.resizable('option', 'minHeight', this._minHeight());
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   651
		}
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   652
	}
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   653
});
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   654
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   655
$.extend($.ui.dialog, {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   656
	version: "1.8.1",
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   657
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   658
	uuid: 0,
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   659
	maxZ: 0,
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   660
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   661
	getTitleId: function($el) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   662
		var id = $el.attr('id');
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   663
		if (!id) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   664
			this.uuid += 1;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   665
			id = this.uuid;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   666
		}
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   667
		return 'ui-dialog-title-' + id;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   668
	},
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   669
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   670
	overlay: function(dialog) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   671
		this.$el = $.ui.dialog.overlay.create(dialog);
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   672
	}
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   673
});
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   674
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   675
$.extend($.ui.dialog.overlay, {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   676
	instances: [],
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   677
	// reuse old instances due to IE memory leak with alpha transparency (see #5185)
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   678
	oldInstances: [],
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   679
	maxZ: 0,
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   680
	events: $.map('focus,mousedown,mouseup,keydown,keypress,click'.split(','),
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   681
		function(event) { return event + '.dialog-overlay'; }).join(' '),
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   682
	create: function(dialog) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   683
		if (this.instances.length === 0) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   684
			// prevent use of anchors and inputs
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   685
			// we use a setTimeout in case the overlay is created from an
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   686
			// event that we're going to be cancelling (see #2804)
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   687
			setTimeout(function() {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   688
				// handle $(el).dialog().dialog('close') (see #4065)
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   689
				if ($.ui.dialog.overlay.instances.length) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   690
					$(document).bind($.ui.dialog.overlay.events, function(event) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   691
						// stop events if the z-index of the target is < the z-index of the overlay
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   692
						return ($(event.target).zIndex() >= $.ui.dialog.overlay.maxZ);
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   693
					});
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   694
				}
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   695
			}, 1);
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   696
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   697
			// allow closing by pressing the escape key
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   698
			$(document).bind('keydown.dialog-overlay', function(event) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   699
				if (dialog.options.closeOnEscape && event.keyCode &&
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   700
					event.keyCode === $.ui.keyCode.ESCAPE) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   701
					
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   702
					dialog.close(event);
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   703
					event.preventDefault();
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   704
				}
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   705
			});
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   706
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   707
			// handle window resize
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   708
			$(window).bind('resize.dialog-overlay', $.ui.dialog.overlay.resize);
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   709
		}
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   710
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   711
		var $el = (this.oldInstances.pop() || $('<div></div>').addClass('ui-widget-overlay'))
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   712
			.appendTo(document.body)
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   713
			.css({
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   714
				width: this.width(),
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   715
				height: this.height()
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   716
			});
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   717
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   718
		if ($.fn.bgiframe) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   719
			$el.bgiframe();
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   720
		}
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   721
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   722
		this.instances.push($el);
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   723
		return $el;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   724
	},
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   725
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   726
	destroy: function($el) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   727
		this.oldInstances.push(this.instances.splice($.inArray($el, this.instances), 1)[0]);
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   728
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   729
		if (this.instances.length === 0) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   730
			$([document, window]).unbind('.dialog-overlay');
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   731
		}
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   732
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   733
		$el.remove();
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   734
		
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   735
		// adjust the maxZ to allow other modal dialogs to continue to work (see #4309)
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   736
		var maxZ = 0;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   737
		$.each(this.instances, function() {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   738
			maxZ = Math.max(maxZ, this.css('z-index'));
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   739
		});
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   740
		this.maxZ = maxZ;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   741
	},
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   742
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   743
	height: function() {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   744
		var scrollHeight,
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   745
			offsetHeight;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   746
		// handle IE 6
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   747
		if ($.browser.msie && $.browser.version < 7) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   748
			scrollHeight = Math.max(
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   749
				document.documentElement.scrollHeight,
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   750
				document.body.scrollHeight
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   751
			);
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   752
			offsetHeight = Math.max(
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   753
				document.documentElement.offsetHeight,
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   754
				document.body.offsetHeight
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   755
			);
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   756
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   757
			if (scrollHeight < offsetHeight) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   758
				return $(window).height() + 'px';
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   759
			} else {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   760
				return scrollHeight + 'px';
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   761
			}
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   762
		// handle "good" browsers
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   763
		} else {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   764
			return $(document).height() + 'px';
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   765
		}
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   766
	},
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   767
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   768
	width: function() {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   769
		var scrollWidth,
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   770
			offsetWidth;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   771
		// handle IE 6
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   772
		if ($.browser.msie && $.browser.version < 7) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   773
			scrollWidth = Math.max(
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   774
				document.documentElement.scrollWidth,
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   775
				document.body.scrollWidth
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   776
			);
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   777
			offsetWidth = Math.max(
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   778
				document.documentElement.offsetWidth,
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   779
				document.body.offsetWidth
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   780
			);
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   781
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   782
			if (scrollWidth < offsetWidth) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   783
				return $(window).width() + 'px';
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   784
			} else {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   785
				return scrollWidth + 'px';
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   786
			}
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   787
		// handle "good" browsers
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   788
		} else {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   789
			return $(document).width() + 'px';
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   790
		}
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   791
	},
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   792
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   793
	resize: function() {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   794
		/* If the dialog is draggable and the user drags it past the
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   795
		 * right edge of the window, the document becomes wider so we
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   796
		 * need to stretch the overlay. If the user then drags the
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   797
		 * dialog back to the left, the document will become narrower,
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   798
		 * so we need to shrink the overlay to the appropriate size.
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   799
		 * This is handled by shrinking the overlay before setting it
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   800
		 * to the full document size.
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   801
		 */
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   802
		var $overlays = $([]);
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   803
		$.each($.ui.dialog.overlay.instances, function() {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   804
			$overlays = $overlays.add(this);
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   805
		});
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   806
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   807
		$overlays.css({
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   808
			width: 0,
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   809
			height: 0
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   810
		}).css({
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   811
			width: $.ui.dialog.overlay.width(),
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   812
			height: $.ui.dialog.overlay.height()
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   813
		});
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   814
	}
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   815
});
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   816
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   817
$.extend($.ui.dialog.overlay.prototype, {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   818
	destroy: function() {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   819
		$.ui.dialog.overlay.destroy(this.$el);
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   820
	}
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   821
});
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   822
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   823
}(jQuery));