/* Formular global validieren */

function TC_processForm() {
	var custForm = dijit.byId("save");
	var firstInvalidWidget = null;

	dojo.every(custForm.getDescendants(), function(widget) {
		firstInvalidWidget = widget;
		return !widget.isValid || widget.isValid();
	});

	if (firstInvalidWidget != null) {
		firstInvalidWidget.focus();
	} else {
		custForm.submit();
	}
}

/* Benutzerdaten erfassen/bearbeiten */

// Validierung des Benutzernamens

function benutzernameOnChange() {
	var benutzername = dijit.byId("benutzer___benutzername").getValue();
	if (benutzername == "") {
		return;
	}

	dojo.xhrGet( {
		url: "/validate_benutzername.json?benutzername=" + benutzername,
		handleAs: "json",
		handle: benutzernameValidationHandler
	} );
}

function benutzernameValidationHandler(response) {
	dijit.byId("benutzer___benutzername").displayMessage();

	if (!response.valid) {
		var errorMessage = "Der Benutzername wird bereits verwendet.";
		dijit.byId("benutzer___benutzername").displayMessage(errorMessage);
	}
}

// Validierung des Benutzernamens vor dem Speichern

function benutzerOnSave() {
	var benutzername = dijit.byId("benutzer___benutzername").getValue();
	if (benutzername == "") {
		console.log("benutzername ist leer");
		return;
	}

	dojo.xhrGet( {
		url: "/validate_benutzername.json?benutzername=" + benutzername,
		handleAs: "json",
		handle: benutzerSaveHandler,
		sync: true
	} );
}

function benutzerSaveHandler(response) {
	dijit.byId("benutzer___benutzername").displayMessage();
	if (response.valid) {
		TC_processForm();
	} else {
		var errorMessage = "Der Benutzername wird bereits verwendet.";
		dijit.byId("benutzer___benutzername").focus();
		dijit.byId("benutzer___benutzername").displayMessage(errorMessage);
	}
}


function processCmsResendPassword() {
	var cmsResendPasswordForm = dijit.byId("cmsResendPasswordForm");
	var firstInvalid=null;
	dojo.every(cmsResendPasswordForm.getDescendants(), function(widget) {
		firstInvalid = widget;
			return !widget.isValid || widget.isValid();
	});
	if (firstInvalid != null) {
		firstInvalid.focus();
	} else {
		cmsResendPasswordForm.submit();
	}
}

function idMerken(id) {
	dojo.xhrGet( {
		url: "/id_merken.json",
		content: {id: id},
		handleAs: "json",
		load: function(response, ioArgs) {
			console.log(response);
			merker_id="id_merker_" + response.id;
			console.log(merker_id);
			dojo.byId(merker_id).checked = response.value;
			if (dojo.byId('merklistenIcon')) {
				var anzahl=response.anzahl;
				if (anzahl>0) {
					dojo.byId('merklistenIcon').innerHTML='<a href="/listenansicht--merkliste.html">' + anzahl + '&nbsp; <img src="/icon/merkzettel.png" class="cms_icon"></a>';
				} else {
					dojo.byId('merklistenIcon').innerHTML='';
				}
			}
			
			return response;
		},
		
		error: function(response, ioArgs) {
			console.log("failed xhrGet", response, ioArgs);
			return response;
		}
	}
	);	
}
