/* Copyright (c) 2006-2009, Apple Inc. All rights reserved. */

var LoginPageController = Class.createWithSharedInstance('loginPageController', true);
LoginPageController.prototype = {
	initialize: function() {
		if (!Element.hasClassName(d.body, 'loginpage')) return invalidate;
		if (!serverui().userIsAuthenticated()) 
		{
			// simple way to instantiate server and set cookie at same time.
			serverui().setCachedLevel(0);
			// we're at a login page. Always return 0, regardless of any cookie snafus.
			serverui().getCachedLevel = function() {return 0;};
			// #7336760
			publisher().subscribe(loginPageResponder, 'AUTHENTICATED');
			// show the login dialog
			serverui().ensureLogin(loginPageResponder, 'read', false, true);
		}
	}
};

function loginPageResponder(inRequestObj, inResponseObj) {
	if ($('authenticated_only_message')) replaceElementContents($('authenticated_only_message'), Builder.node('p', Loc.login_progress));
	notifier().printAtPage('loggedIn');
}

if (window.loaded) loaded('login_page.js');