// MVDM

/**
* BlurTime wird beim verlassen des Textfeldes angewendet
* und kompletiert falls nötig die zweit mit Defaultwerten.
*/
function blurTime(elem, defaultTime) {
	for (var i = elem.value.length; i < defaultTime.length; i++) {
		elem.value = elem.value += defaultTime[i];
	}
}
/**
* TypeTime wird bei jedem Tastedruck innerhalb eines TimeTextfeldes
* aufgerufen und überprüft die Richtigkeit der Eingabe.
*/
function typeTime(evt, elem) {
	evt = (evt) ? evt : window.event;
    var charCode = (evt.which) ? evt.which : evt.keyCode;
    var valueLength = elem.value.length;
    if (charCode > 31) {
	    switch (valueLength) {
	    	case 0: // Erstes Zeichen muss 0, 1 oder 2 sein
	    		if (charCode < 48 || charCode > 57)
	       				return false;
	    		if (charCode > 50 && charCode < 58) {
	    			elem.value = "0";
	    		}
	       		break;
	       	case 1: // Zeites Zeichen muss irgend eine Zahl sein
	       		var val = elem.value;
	       		if (val < 2) {
	       			if (charCode < 48 || charCode > 57)
	       				return false;
	       		} else {
	       			if (charCode < 48 || charCode > 52)
	       				return false;
	       		}
	       		break;
	       	case 2: // Drittes Zeichen: Doppelpunkt oder Zahl [0:5]
	       		if (charCode < 48 || (charCode > 53 && charCode != 58))
	       			return false;
	       		else if (charCode != 58) {
	       			var val = elem.value;
	       			elem.value = val += ":";
	       		}
	       		break;
	       	case 3:
	       		if (charCode < 48 || (charCode > 53))
	       			return false;
	       		break;
	       	case 4:
	       		if (charCode > 31 && (charCode < 48 || charCode > 57))
	       			return false;
	       		break;	
	    }
    } else if (charCode == 8 && valueLength == 4) { // If delete
    	var val = elem.value;
    	elem.value = val.substring(0,3);
    }
    return true
}
