﻿function createDialog(div, url, width, height, buttons, title) {
	var dialogDiv = $('#' + div);

	if (!dialogDiv.length) {
		dialogDiv = $(document.createElement('div')).attr('id', div);

		dialogDiv.dialog({
			autoOpen: false,
			modal: true,
			width: width,
			height: height,
			title: title,
			resizable: false,
			open: function () {
				$('.ui-dialog-buttonpane').find('button:contains("Save")').focus();
				//$('.ui-dialog-buttonpane').find('button:contains("Save")').addClass('ui-icon-save');
				//$('.ui-dialog-buttonpane').find('button:contains("Cancel")').addClass('ui-icon-cancel');
				//$('.ui-dialog-buttonpane').find('button:contains("Delete")').addClass('ui-icon-trash');
			},
			close: function (event, ui) {
				//$(this).dialog('destroy');
				//$('#' + $(this).attr('id')).remove();
			}
		});

		//$(div).parent().appendTo($('form:first'));
	}

	if (buttons) dialogDiv.dialog('option', 'buttons', buttons);
	dialogDiv.dialog('option', 'title', title);
	if (!title) dialogDiv.dialog('option', 'title', '');
	dialogDiv.dialog('option', 'width', width);
	dialogDiv.dialog('option', 'height', height);

	openDialog(div, url);
}

function openDialog(div, url) {
	var x = (url.match('\\?') ? '&' : '?') + 'dialog_id=' + div;

	$('#' + div).html(
		'<iframe id="' + div + '_iframe" width="100%" height="100%" marginWidth="0" marginHeight="0" frameBorder="0" scrolling="auto" src="' + url + x + '" />'
	).dialog('open');
}

function closeMyDialog(div) {
	$('#' + div).dialog('close');
}

function dstroyDialog(div) {
	$('#' + div).remove();
}

function executeDialogCommand(div, command) {
	getDialogFrame(div).executeCommand(command);
}

function getDialogFrame(div) {
	var iframeID = div + '_iframe';
	var iframe = window.frames[iframeID];


	//do this freacky thing for damned Firefox
	if (!iframe) {
		for (i = 0; i < window.frames.length; i++) {
			try {
				if (window.frames[i].dialog_id == div) {
					iframe = window.frames[i];
					break;
				}
			} catch (e) { continue; }
		}
	}
	return iframe;
}

function setDialogTitle(div, title) {
	$('#' + div).dialog('option', 'title', title);
}
