var $dialog;

function closeDialog() {
  $dialog.dialog("close");
}

function openDialog(sUrl) {
    $dialog = openModalFrameDialog(sUrl, 800, 600, 'Asperion');
}

function mDialog(sUrl, iWidth, iHeight, sTitle) {
    $dialog = openModalFrameDialog(sUrl, iWidth, iHeight, sTitle);
}

function openWaitDialog(dialogObject, dialogTitle) {
	$(dialogObject).dialog({
		width: 475,
		height: 150,
		title: dialogTitle,
		modal: true,
		resizable: false,
		draggable: false
	});
}

function closeWaitDialog(dialogObject) {
	$(dialogObject).dialog("close");
}

function openModalFrameDialog(srcUrl, dialogWidth, dialogHeight, dialogTitle, onCloseCallback) {
    return openFrameDialog(srcUrl, true, dialogWidth, dialogHeight, dialogTitle, onCloseCallback);
}

function openYouTubeDialog(videoid, dialogTitle, onCloseCallback) {
    srcUrl = 'http://www.youtube.com/embed/' + videoid + '?autoplay=1&rel=0&modestbranding=0';
	$dialog = openFrameDialog(srcUrl, true, 640, 420, dialogTitle, onCloseCallback);
}

function openFrameDialog(srcUrl, isModal, dialogWidth, dialogHeight, dialogTitle, onCloseCallback) {
	if (!srcUrl) return;
	if (!dialogWidth) dialogWidth = 800;
	if (!dialogHeight) dialogHeight = 600;
	if (!dialogTitle) dialogTitle = "";
	if (!isModal) isModal = false;

	if (onCloseCallback == null || onCloseCallback == undefined) {
	    onCloseCallback = function () { };
	}

	$dialog = $("<div style='padding:0;margin:0;'></div>");
	$img = $("<div style='margin-top:8px;'><center><img src='/images/progressbar.gif' /></center></div>");
	$img.appendTo($dialog);

	var initHeight, initWidth;
	initHeight = 64;
	initWidth = 300;

	$("body").append($dialog);
	$dialog.dialog({
		height: initHeight,
		width: initWidth,
		title: 'Even geduld a.u.b.',
		modal: isModal,
		resizable: false,
		close: onCloseCallback
	});

	$frame = $("<iframe frameborder='0' style='display:none;position absolute;top:0;left:0;width:0;height:0;'></iframe>");
	$frame.appendTo($dialog);
	$frame.attr("src", srcUrl);
	$frame.load(function () {
	    $frame.unbind("load");
	    $img.fadeOut(500);

	    $dialog.parent().animate({
	        width: [dialogWidth, "easeOutQuad"],
	        height: [dialogHeight, "easeOutQuad"],
	        top: ["-=" + Math.round((dialogHeight - initHeight) / 2, 0) + "px", "easeOutQuad"],
	        left: ["-=" + Math.round((dialogWidth - initWidth) / 2, 0) + "px", "easeOutQuad"]
	    }, 500, function () {
	        $img.remove();

	        $dialog.dialog({
	            title: dialogTitle
	        });
	        $dialog.css("height", $dialog.parent().height());

	        $p = $dialog.parent();
	        $titlebar = $(".ui-dialog-titlebar", $p);

	        $frame.css("width", $frame.parent().width());
	        $frame.css("height", $frame.parent().height() - $titlebar.height() - 14);
	        $frame.fadeIn(750);
	    });
	});

	return $dialog;
}

