$(document).ready(
	function()
	{
		open_dialog = function (dialog)
		{
			dialog.overlay.slideDown('slow', function ()
			{
				dialog.data.hide();
				dialog.container.fadeIn('slow', function ()
				{
					dialog.data.slideDown('slow');
				});
			});
		};

		close_dialog = function (dialog)
		{
			dialog.data.fadeOut('slow', function ()
			{
				dialog.container.hide('slow', function ()
				{
					dialog.overlay.slideUp('slow', function ()
					{
						$.modal.close();
					});
				});
			});
		};

		$('ul#menu li a').click(function()
		{
			rel = $(this).attr('rel');
			$.each($('.utility_block'), function(i, val) {
				if ( ! $(this).is(':hidden'))
				{
					$(this).slideUp('fast')
				}
			});
			$('div#'+rel).slideDown();
			return false;
		});

		$('form.modal').submit(function(e)
		{
			var form_id = $(this).attr('id');
			var action = $(this).attr('action');
			var form_data = $(this).serialize();

			if ( form_id == 'md5_calculator' || form_id == 'sha1_calculator' || form_id == 'human_date' || form_id == 'computer_date')
			{
				jQuery.ajax(
				{
					type: "GET",
					url: action,
					data: form_data,
					dataType: "html",
					timeout: 30000,
					error: function(data) {return false;},
					success: function(data) {
						$('form#'+form_id+' li.first input').after(data);
					}
				});
			}
			else
			{
				e.preventDefault();

				$('#modal').html('<h1 style="text-align: center;">Please wait...</h1>');
				$('#modal').modal({onOpen: open_dialog,
					overlayClose:true,
					autoResize: true,
					onClose: close_dialog
					});

				jQuery.ajax(
				{
					type: "GET",
					url: action,
					data: form_data,
					dataType: "html",
					timeout: 30000,
					error: function(data) {return false;},
					success: function(data) {
						$('#modal').html(data);
					}
				});
			}

			pageTracker._trackPageview($(this).attr('action')+'?'+$(this).serialize());

			return false;
		});
	}
);