﻿// JavaScript Document
function isEmptyElement(elem) {
	var isEmpty = false;
	switch(elem.attr("type")) {
		case "textarea":
		case "text":
		case "password":
			if(elem.val()=="") { isEmpty = true; }
			break;
		case "select-one":
			if(elem.val()=="" || elem.val()==-1 || elem.val()=="-1") { isEmpty = true; }
			break;
		case "select-multiple":
			if(elem.val()=="") { isEmpty = true; }
			break;
		case "radio":
			var isEmpty = true;
			var elemname= elem.attr("name");
			$("input[name="+elemname+"]").each(function() {
				//alert("itm="+$(this).attr("id")+", checked="+$(this).is(":checked"));
				if($(this).is(":checked")) { isEmpty = false; }
			});
			break;
		case "checkbox":
			//checkobx hat auch nicht angeklickt einen Wert.
			break;
	}
	return isEmpty;
}


function checkForm() {
	var args = checkForm.arguments;
	var frm = args[0];
	var foundError = false;
	
	var classNoError = "Pflicht";
	var classError = "Error";
	
	if(frm==undefined || frm.length==0) { container = ""; }
	else { container = "form#"+frm+" "; }
	$(container+"."+classNoError+", input[required]").each(function() {
		if(isEmptyElement($(this))) {
			//alert("empty: "+$(this).attr("id"));
			if(!$(this).hasClass(classError)) {
				$(this).addClass(classError);
			}
			foundError = true;
		}
		else {
			if($(this).hasClass(classError)) {
				$(this).removeClass(classError);
			}
		}
	});
	return !foundError;
}

function checkFormItems() {
	var args = checkFormItems.arguments;
	if(args.length==1 && typeof(args[0])=="string") { args = explode(",",args[0]); }
	var classNoError = args[0];
	var classError = "Error";
	var isEmpty = false;
	var foundError = false;
	
		
	for(var i=1; i<args.length; i++) {		
		if(document.getElementById(args[i])) { itm = $("#"+args[i]); }
		else { itm = $("[name="+args[i]+"]"); }
			
		if(isEmptyElement(itm)) {
			if(!itm.hasClass(classError)) {
				itm.addClass(classError);
			}
			foundError = true;
		}
		else {
			if(itm.hasClass(classError)) {
				itm.removeClass(classError);
			}
		}
	}
	
	return !foundError;
}

function checkFormItems2() {
	var args = checkFormItems2.arguments;
	if(args.length==1 && typeof(args[0])=="string") { args = explode(",",args[0]); }
	var classNoError = args[0];
	var classError = "Error";
	var isEmpty = false;
	var foundError = false;
	
		
	for(var i=1; i<args.length; i++) {
		if(document.getElementById(args[i])) { itm = $("#"+args[i]); }
		else { itm = $("[name="+args[i]+"]"); }
		
		if(isEmptyElement(itm)) {
			foundError = true;
		}
	}
	
	return !foundError;
}

function getSelectedValues(selName) {
	var selVals = new Array();
	for(var i=0; i<document.getElementById(selName).options.length; i++) {
		if(document.getElementById(selName).options[i].selected) {
			selVals.push(document.getElementById(selName).options[i].value);
		}
	}
	return selVals;
}

sendForm = function(frm) {
	if(!checkForm(frm)) {
		alert2("Bitte füllen Sie die markierten Felder aus");
	}
	else {
		$("#"+frm).submit();
	}
}
