// Beim Laden der Seite: Password-Formular
$(document).ready(function() {
	$(document.forms.login).submit(function(event) {
		doLogin(this);
	});
});

var retry = true;
var working = false;
function doLogin(form) {
	if (working)
		return;
	
	$(":submit", form).attr("disabled", true);
	
	working = true;
	var dialog = null;
	function setText(text) {
		var loginWarning = $("#loginInfo");
		if (loginWarning.length > 0)
			loginWarning.text(text);
		else if (dialog)
			dialog.setContent("<h3>Login</h3><center>"+ text +"</center>");
		else
			dialog = showMessageDialog("Login", "<center>"+ text +"</center>");
	}
	setText("Du wirst gerade angemeldet.");
	var challenge = form.challenge.value;
	var sendValue = hex_md5(challenge + hex_md5(form.password.value));
	
	jsonRequest(
		"login", "login", {
			"response" : form.username.value +":"+ sendValue,
			"challenge" : challenge
		}, function (data) {
			setText("Du bist jetzt angemeldet.");
			$(":submit", form).attr("disabled", false);
			
			if (data.content)
				window.location.href = data.content;
			else
				window.location.reload();
		}, function (data) {
			if (data.nachricht && data.nachricht.indexOf(';challenge=') != -1) {
				if (retry) {
					form.challenge.value = data.nachricht.substring(data.nachricht.lastIndexOf('=') + 1);
					retry = false;
					setTimeout(doLogin, 0, form);
				} else {
					setText("Die Anmeldung ist fehlgeschlagen. Bitte lade die Seite neu.");
				}
			} else {
				setText(data.nachricht);
				retry = true;
			}
			$(":submit", form).attr("disabled", false);
			working = false;
		}
	);
}
