// Feststellen, ob Objekt ein echtes Ctrl ist
function IsCtrl(obj) {
 	if (obj.type == "text" || obj.type == "textarea" || obj.type == "select-one" || obj.type == "select-multiple" || obj.type == "checkbox" || obj.type == "radio" || obj.type == "button" || obj.type == "submit")
 		return true;
 	else
 		return false;
}

// Das letzte Ctrl finden
function FindLastCtrl() {
	for (var i = document.all.length -1; i >= 0; i--) {
		if (IsCtrl(document.all[i])) {
			return document.all[i];
			break;
		}
	}
	return null;
}
 
// Nächstes Control finden und zurückliefern
function FindNextCtrl(ctrl) {
 	var i, j;
 	var obj;
 
 	// Position des Ausgangscontrols suchen
	for (i = 0; i < document.all.length; i++) {
		if (document.all[i] == ctrl) {
			break;
		}
	}
	
	// Nächstes Control suchen
 	if (i < document.all.length) {
 		for (j = i+1; j < document.all.length; j++) {
 			if (IsCtrl(document.all[j])) {
				obj = document.all[j];
 				break;
 			}
 		}
 		if (j >= document.all.length) {
 			for (j = 0; j < i; j++) {
	 			if (IsCtrl(document.all[j])) {
					obj = document.all[j];
					break;
				}
			}
		}
	}
	
	// Falls kein anderes Control mehr gefunden, Original nehmen
	if (obj == null)
		obj = ctrl;
		
	return obj;
}

// Entertaste verarbeiten, es wird auf das nächste Eingabefeld gesprungen
function DoEnterKey() {
	if (event.keyCode == 13) {
		var obj = event.srcElement;
		
		// Falls aktuell kein Ctrl selektiert, nehmen wir das letzte
		if (obj.type == null || obj.type == undefined) {
			obj = FindLastCtrl();
		}
		
		//alert(obj.type);
		if (obj != null) {
			if (IsCtrl(obj)) {
				// Enter-Taste abschalten
				// event.cancelBubble = true;	// L42: nötig?
				//if (obj.type != "button" && obj.type != "submit") {
					event.keyCode = 0;
  			
					// falls vorheriges Feld Textfeld, dann dieses deselektieren
					// denn falls nächstes Feld kein Textfeld ist, wird dieses nicht deselektiert
					if (obj.type == "text" || obj.type == "textarea") {
 						var v = obj.value;
 						obj.value = "";
 						obj.value = v;
 					}
  			
  					// und auf nächstes Eingabefeld gehen
					var ctrl = FindNextCtrl(obj);
  					ctrl.focus();
   			
  					// falls Textfeld, dann auch selectieren
  					if (ctrl.type == "text" || ctrl.type == "textarea") {
  						ctrl.select();
  					}
  					/*
  				}
  				else {
  					event.keyCode = 0;
  					obj.click();
  				}
  				*/
  			}
  		}
  	}
}

