(function(dialog) {
	$.extend($.ui.dialog.defaults, {
		bgiframe: true,
		closeOnEscape: true,
		resizable: false,
		width: 820
	});

	// Public
	dialog.close = function(options) {
		options = options || {};

		return $('div.person')
					.filter(function() { return this !== options.except; })
						.remove();
	};

	dialog.init = function() {
		var scope = $.args.extractNonOptions(arguments)[0] || document,
			options = $.args.extractOptions(arguments);

		$(scope).find('a.dialogger').click(function(e) {
			e.preventDefault();
			$('div.person').remove();
			$(this).find('a.close').closest('div.person').remove();
			var parentrow = $(this).closest("ul");
			var that = this,
				dialogOptions = $.extend($(this).metadata().dialog, {
					open: function() {
						WEBLINC.widget.dialog.close({ except: this });
					},
					close: function() {
						$(this).dialog('destroy').remove();
					}
				});

			$.ajax({
				dataType: 'html',
				url: this.href,
				success: function(html) {
					var $content = WEBLINC.templates.render('dialogWrapper', { content: html });

					// Remove noscript tags (Webkit can't insert noscript inputs correctly)
					$content.find('noscript').remove();

					var root = $content.insertAfter(parentrow).get(0);
					if ($.isFunction(options['onOpen'])) { options.onOpen.call(root); }
				}
			});
		});
		$(scope).find('a.close').click(function(e) {
			$('div.person').remove();
		});
	};

	// Private

})($.namespace('WEBLINC.widget.dialog'));
/*
(function(dialog) {
	$.extend($.ui.dialog.defaults, {
		bgiframe: true,
		closeOnEscape: true,
		resizable: false,
		width: 820
	});

	// Public
	dialog.close = function(options) {
		options = options || {};

		return $('div.person')
					.filter(function() { return this !== options.except; })
						.dialog('destroy')
						.remove();
	};

	dialog.init = function() {
		var scope = $.args.extractNonOptions(arguments)[0] || document,
			options = $.args.extractOptions(arguments);

		$(scope).find('.department .details a').click(function(e) {
			e.preventDefault();
			var parent = $(this).closest("ul");
			
			$.ajax({
				dataType: 'html',
				url: this.href,
				success: function(html) {
					var $content = WEBLINC.templates.render('dialogWrapper', { content: html });

					// Remove noscript tags (Webkit can't insert noscript inputs correctly)
					$content.find('noscript').remove();

					var root = $content.insertAfter(parent).get(0);
					if ($.isFunction(options['onOpen'])) { options.onOpen.call(root); }
				}
			});
		});
	};

	// Private

})($.namespace('WEBLINC.widget.dialog'));
*/
