// make a jquery dialog pop up filled with iframe content
var dialog_iframe_config = {
	loading_image: "/misc/ajax-loader.gif",
	message_handler: false
};

$(document).ready(function()
{
	var iframe_params;
	
	dialog_iframe_config.message_handler = function(messages)
	{
		var reset_time = parseInt(iframe_params.auto_close);
		dialog_messages.create(messages, { position: ["center", 150] });
		
		if (typeof messages.error == "undefined" && !isNaN(reset_time) && reset_time > 0)
		{
			setTimeout(close_all_dialogs, reset_time*1000);
		}
	}
	
	$(".dialog_iframe").click(function()
	{
		iframe_params = default_iframe_params();
		var href = $(this).attr("href");
		
		if (typeof href == "undefined")
		{
			return false;
		}
		
		iframe_params.href = href;
		
		var input_params = $(this).attr("params");
		if (typeof input_params != "undefined")
		{
			$.each(input_params.split(","), function(i, e)
			{
				var args = e.split("=");
				iframe_params[args[0]] = args[1];
			});
		}
		
		iframe_params.height = parseInt(iframe_params.height);
		iframe_params.width = parseInt(iframe_params.width);
		
		create_dialog_iframe();
		return false;
	});
	
	var create_dialog_iframe = function()
	{
		var dialog_iframe = $("<div id='dialog_iframe'></div>").prependTo("body");
		
		dialog_iframe.html("<img src='"+dialog_iframe_config.loading_image+"' />");
		
		dialog_iframe.dialog({
			modal: true,
			resizeable: false,
			height: iframe_params.height,
			width: iframe_params.width,
			open: function()
			{
				setTimeout(load_iframe, 500);
			},
			close: function()
			{
				$(this)
					.dialog("destroy")
					.remove();
			}
		});
	}
	
	var load_iframe = function()
	{
		var iframe_src = "\
			<iframe src='"+iframe_params.href+"' \
				style='height: "+iframe_params.height+"px; width: "+iframe_params.width+"px; border: 0;' \
				scrolling='"+iframe_params.scrolling+"'>\
			</iframe>";
		
		$("#dialog_iframe").html(iframe_src);
	}
	
	var default_iframe_params = function()
	{
		return {
			href: "",
			height: 500,
			width: 500,
			scrolling: "no",
			auto_close: 0
		};
	}
	
	var close_all_dialogs = function()
	{
		$("#dialog_iframe").dialog("close");
		dialog_messages.destroy();
	}
});
