// Überprüfung von Formulareingaben:
// Feld nicht ausgefüllt
function isInputEmpty(id) {
	var field = $('#' + id);

	if ($.trim(field.val()).length == 0) {
		field.addClass('fehler');
		return true;
	}

	return false;
}

// Nur eines von zwei Feldern muss ausgefüllt sein
function isInputChoiceEmpty(id1, id2) {
	var field1 = $('#' + id1);
	var field2 = $('#' + id2);

	if ($.trim(field1.val()).length == 0 && $.trim(field2.val()).length == 0) {
		field1.addClass('fehler');
		field2.addClass('fehler');
		return true;
	}

	return false;
}

// Ein RadioButton muss ausgewählt worden sein
function isRadioButtonEmpty(id) {
	var field = $('input[id^=' + id + ']');

	for (var i = 0; i < field.length; i++) {
		if (field[i].checked)
			return false;
	}

	//Radiobuttons selbst können nicht eingefärbt werden. Daher: Labels einfärben
	field = $('label[for^=' + id + ']');
	field.addClass('fehler');
	return true;
}

//Inhalt des Felds muss nummerisch und größer Null sein, wenn es ausgefüllt wurde
function isInputNumeric(id, isInteger) {
	var field = $('#' + id);
	var fieldVal = $.trim(field.val());

	fieldVal = fieldVal.replace(/\./, 'x'); //Punkte sind nicht erlaubt (wegen Verwechslungsgefahr mit Tausenderpunkt)
	if (!isInteger) {
		fieldVal = fieldVal.replace(/,/, '.');
	}

	if (isNaN(fieldVal) || (fieldVal.length > 0 && fieldVal <= 0)) {
		field.addClass('fehler');
		return false;
	}

	return true;
}

//Vergleich von zwei Passwort-Feldern
function isPasswordValid(id1, id2) {
	var field1 = $('#' + id1);
	var field2 = $('#' + id2);

	//Passwort und Wiederholung identisch?
	if ($.trim(field1.val()) != $.trim(field2.val())) {
		field1.addClass('fehler');
		field2.addClass('fehler');
		return false;
	}

	//Wenn ein Passwort angegeben ist: mindestens 6 Zeichen?
	var len = $.trim(field1.val()).length;
	if (len > 0 && len < 6) {
		field1.addClass('fehler');
		field2.addClass('fehler');
		return false;
	}

	return true;
}

//Entfernt von allen Feldern die Fehlermeldung-Klasse
function resetFormErrors() {
	$('.fehler').removeClass('fehler');
	$('.fehlerbox').hide();
}

// Fehlermeldung bei AJAX-Calls in Dialogboxen anzeigen
function dialogError(dialog, errMsg) {
	var errMsgDiv = dialog.find('.ajaxError');
	errMsgDiv.find('p').first().html(errMsg);
	dialog.find('.loading').hide();
	dialog.find('form').hide();
	errMsgDiv.show();
}

// Tooltip anzeigen
function showTooltip(id, e) {
	var right = ($(document).width() - e.pageX) + 10;
	var top = e.pageY + 5;
	$('#' + id).css('right', right + 'px').css('top', top + 'px').show();
}

// Tooltip verbergen
function hideTooltip(id) {
	$('#' + id).hide();
}