
	window.addEvent('domready', function()
	{
		if($$(".loginwindow_password")[0] != null)
			Logon.Load();

		if($$(".loginwindow_dark")[0] != null)
			$$(".loginwindow_dark")[0].addEvent('mouseup', function()
			{
				LoginWindow.Hide();
			});
		
		if($$(".accountbar_button_projects")[0] != null)
			AccountBar.Setup();
	});
	
	window.addEvent('keydown', function(key)
	{
		if(key.code == 27)
			LoginWindow.Hide();
	});
	
	var AccountBar = 
	{
		'Setup':function()
		{
			var item = $$(".accountbar_button_projects")[0];
			var dropdown = item.getElements("ul")[0];
		
			item.addEvent("mouseover", function()
			{
				if(!item.hasClass("accountbar_button_enabled"))
				{
					item.addClass("accountbar_button_enabled");
					dropdown.show();
				}
			});
			item.addEvent("mouseout", function()
			{
				if(item.hasClass("accountbar_button_enabled"))
				{
					item.removeClass("accountbar_button_enabled");
					dropdown.hide();
				}
			});
		},
		
		'ChangeLang':function(lang)
		{
			Ajax.RequestPost({'language':lang}, function(data, plaintext)
			{
				window.location.reload();
			});
		}
	};
	
	var Logon = 
	{
		'Load':function()
		{
			$$(".loginwindow_password")[0].addEvent('keydown', function(key)
			{
				if(key.code == 13)
					Logon.TryLogin();
			});
			$$(".loginwindow_mail")[0].addEvent('keydown', function(key)
			{
				if(key.code == 13)
					Logon.TryLogin();
			});
		},
		
		'TryLogin':function()
		{		
			var password = $$(".loginwindow_password")[0].value;
			var email = $$(".loginwindow_mail")[0].value;
			
			if(password.length > 0 && email.length > 0)
			{
				$$(".loginwindow_loader")[0].setStyle("visibility", "visible");
				Ajax.Request
				(
					{
						'module':'logon',
						'cmd':'login',
						'params':
						[
							email,
							password
						]
					},
					this.Callback
				);
			}
		},
		
		'Callback':function(data, plaintext)
		{
			$$(".loginwindow_loader")[0].setStyle("visibility", "hidden");
			$$(".loginwindow_message")[0].setStyle("visibility", "visible");
			if(data.logon == "1")
			{
				$$(".loginwindow_text")[0].set("html", data.loginmessage);
				
				$$(".loginwindow_message")[0].setStyle("color", "green");
				$$(".loginwindow_message")[0].setStyle("border", "dashed 1px green");
				
				// Success Text
				$$(".loginwindow_text")[0].setStyle("text-align", "center");
				$$(".loginwindow_text")[0].setStyle("font-variant", "small-caps");
				
				// Clear Password
				$$(".loginwindow_password")[0].value = "";
				
				window.location.reload();
			}
			else
			{
				$$(".loginwindow_text")[0].set("html", data.errormsg);
				
				// Clear Password
				$$(".loginwindow_password")[0].value = "";
				
				$$(".loginwindow_mail")[0].focus();
				$$(".loginwindow_mail")[0].select();
			}
		},
		
		'Logoff':function()
		{
			$$(".accountbar_logout_loader")[0].setStyle("display", "block");
			Ajax.Request
			(
				{
					'module':'logon',
					'cmd':'logoff',
					'params':
					[
					]
				},
				function(data, plaintext)
				{
					window.location.reload();
				}
			);
		}
	};
	
	var LoginWindow = 
	{
		'Show':function()
		{
			$$(".loginwindow_dark")[0].show();
			$$(".loginwindow")[0].show();
			$$(".loginwindow")[0].fade('show');
		},
		
		'Hide':function()
		{
			var background = $$(".loginwindow_dark")[0];
			if(background != null)
			{
				background.hide();
				$$(".loginwindow")[0].fade('out');
			}
		}
	}
	
