function LIRegisterWindow()
{
	var application = null;

	if( window.dialogArguments != null )
	{
		if( window.dialogArguments.Application != null )
			application = window.dialogArguments.Application;
		else if( window.dialogArguments.Window != null && window.dialogArguments.Window.Application != null )
			application = window.dialogArguments.Window.Application;
	}
	else if( window.parent != null && window.parent.Application != null )
	{
		application = window.parent.Application;
	}
	else if( window.opener != null && window.opener.Application != null )
	{
		application = window.opener.Application;
	}

	var isRegistered = false;

	if( application != null )
	{
		if( typeof( application.RegisterWindow ) == "function" )
		{
			application.RegisterWindow( window );
			isRegistered = true;
		}

		if ( window.location.pathname.indexOf( "LoadingMessage.aspx" ) != -1 )
		{
			// The window being loaded is the loading message window so cache it in the application object
			// for later reference
			application.LoadingWindow = window;
		}
		else
		{
			// The window being loaded is not the loading message window therefore see if we have a cached
			// reference to the loading message window. If we do then unload the loading message window
			if( application.LoadingWindow != null )
			{
				application.LoadingWindow.close();
				application.LoadingWindow = null;
			}
		}
	}
	
	return isRegistered;
}
