	/**
		Das erste Formelmement fokusieren
		Wenn es ein Textfeld ist wird es selektiert.
	*/
	function formular_fokusiereErstesElement(form) {
		//var str = "";
		var elements = document.forms[0].elements;
		for(i=0; i<elements.length; ++i) {
		/*
			str += elements[i].name + ": " 
				+ elements[i].type	+ ", " 
				+ elements[i].disabled	+ ", " 
				+ elements[i].readOnly
				+ "\n";
		*/
			if(elements[i].type == 'hidden') {
				continue;
			}	
			if(elements[i].disabled || elements[i].readOnly) {
				continue;
			}	
			elements[i].focus();
			if(elements[i].type == 'text' || elements[i].type=='textarea') {
				elements[i].select();
			}	
			break;
		}
		//alert(str);
	}

	/**
		den Werte eines Radio Elements herausfinden
	*/
	
	function formular_getRadioWert(element) {
		if(element[0].type) {
			if(element[0].type == 'radio') {
				for(i=0; i < element.length; ++i) {
					if(element[i].checked) {
						return element[i].value;
					}
				}
			}
		}
		return "";
	}
	
	/**
		Überprüfen, ob Werte geändert wurden
		TODO funktioniert zur Zeit nur für ein Formular
	*/
		
	var altewerte = new Object();
	
	function formular_UeberpruefeWerteGeaendert(element) {
		if(!element) { // falls das Argument nicht definiert ist
			return false;
		}
		var newval = "-999";		
		if(element.type) { // könnte auch sein, dass wir eine liste haben bei radio
			var oldval = altewerte[element.name];
			//alert(element.name + ' ' + oldval);
			if(	element.type == 'select') {
				 var idx = element.selectedIndex;
				 if(idx > -1) {
				 	newval = element.options[idx].value;
				 }
			}
			else if(	element.type == 'checkbox') {
				//alert(element.name + ": " + element.value);
				if(element.checked) {
				//alert(element.name + ": " + element.value);
					newval = element.value;
				}
			}
			else if(	element.type == 'radio') {
				// aw 2008-07-15
				// passiert anscheinend nur, wenn wir einen radio haben
				//alert(element.name + ": " + element.value);
				if(element.checked) {
					newval = element.value;
				}
			}
			else {
				newval = element.value;
			}
			
			if(newval != oldval) {
				//alert(element.name + ' wurde geändert: ' + oldval + '/' + newval);
				return true;
			}
		}
		else if(element[0].type) {
			if(element[0].type == 'radio') {
				var oldval = altewerte[element[0].name];
				//alert("check radio " + element[0].name + " : " + element.length);
				for(i=0; i < element.length; ++i) {
					if(element[i].checked) {
						newval = element[i].value;
						//alert(element[i].name + ' wurde geändert: ' + oldval + '/' + newval);
						break;
					}
				}
				if(newval != oldval) {
					return true;
				}
			}
		}
		return false;
	}
	
	/*
		Alte Werte, d.h. die Werte merken, die gesetzt waren
		beim Laden des Dokuments 
	*/
	
	function formular_merkeAlteWerte(formular) {
		var elements = formular.elements;
		var cnt = 0;
		for(i=0; i<elements.length; ++i) {
			var element = elements[i];
			var name = elements[i].name;
			var val = "-999";
			//if(element.type == 'hidden') {
			//	continue;
			//}
			if(	element.type == 'select') {
				 var idx = element.selectedIndex;
				 if(idx > -1) {
				 	val = element.options[idx].value;
				 }
				altewerte[name] = val;				
			}
			else if(	element.type == 'radio' || element.type == 'checkbox') {
					//alert(name + ": " + element.value);
				if(element.checked) {
					val = element.value;
					//alert(name + ": " + element.value);
				}			
				altewerte[name] = val;				
			}
			else if(element[0].type) {
				if(element[0].type == 'radio') {
					for(i=0; i < element.length; ++i) {
						if(element[i].checked) {
							altewerte[name] = element[i].value;
							break;
						}
					}
				}
			}
			else  {
				val = element.value;
				altewerte[name] = val;				
			}
		}
		/*
		var str =''
		for(var n in altewerte) {
			str += n + ': ' + altewerte[n] + '\n';
		}
		alert(str);
		*/
	}

	
	
	