﻿/// <reference name="MicrosoftAjax.js" />
/// <reference path="jquery-1.2.6.js" />

function requestDialog(name, panelId) {
	var dialogs = $('form #dialogs');
	if (dialogs.length == 0) {
		$('form:first').append('<input type="hidden" name="dialogs" id="dialogs" />');
		dialogs = $('form #dialogs');
	}
	var items = dialogs.val().split('|');
	items.push(name);

	var newItems = [];
	for (var i = 0, l = items.length; i < l; i++) {
		var item = items[i];
		if (item) {
			newItems.push(item);
		}
	}
	dialogs[0].value = newItems.join('|');
	if (panelId) {
		updateDialog(panelId);
	}
}

function updateDialog(panelId) {
	window.__doPostBack(panelId);
}

function unrequestDialog(name) {
	var dialogs = $('form #dialogs');
	var items = dialogs.val().split('|');
	var newItems = [];
	for (var i = 0, l = items.length; i < l; i++) {
		var item = items[i];
		if (item && item != name) {
			newItems.push(item);
		}
	}
	dialogs[0].value = newItems.join('|');
}

function initializeDialog(id, updatePanelId, showClose) {
	var dialog = $('#' + id);
	if (dialog.dialog) {
		dialog.show();
		var title = $('legend', dialog).hide().text();
		var height = dialog.outerHeight();
		var width = dialog.width();
		var options = {
			autoOpen: false,
			width: width,
			maxWidth: width,
			height: height,
			resizable: false,
			autoResize: false,
			draggable: true,
			modal: true,
			title: title,
			bgiframe: true,
			updatePanel: updatePanelId,
			showClose: showClose,
			close: function() { unrequestDialog(id); }
		};

		dialog.dialog(options);
	}
}
