// Return-Taste deaktivieren
function checkCR(evt) {
	var evt  = (evt) ? evt : ((event) ? event : null);
	var node = (evt.target) ? evt.target : ((evt.srcElement) ? evt.srcElement : null);
	if ((evt.keyCode == 13) && (node.type=="text")) {return false;}
}
document.onkeypress = checkCR;




// Zeit-Eingabe validieren
function IsValidTime(timeStr) {
	if (timeStr == '') return true;
	var timePat = /^(\d{1,2}):(\d{2})$/;

	var matchArray = timeStr.match(timePat);
	if (matchArray == null) {
		alert("Eingabeformat nicht korrekt\nhh:mm oder h:mm");
		return false;
	}
	hour = matchArray[1];
	minute = matchArray[2];
	if (hour < 0  || hour > 23) {
		alert("der Wert Stunden muss zwischen 0 und 23 liegen");
		return false;
	}
	if (minute<0 || minute > 59) {
		alert ("der Wert Minuten muss zwischen 0 und 59 liegen");
		return false;
	}
	return true;
}

// Dezimalzahlen validieren
function IsValidDecimal(number){
	if (number == '') return true;
	var pattern = /^\d{1,2}(,\d{1,2})?$/;
	if (!number.match(pattern)) {
		alert("Eingabeformat nicht korrekt\nnur Ziffern und Komma erlaubt\nmax. 2 Stellen vor und nach dem Komma");
		return false;
	}
	return true;
}

// Ganzzahlen validieren
function IsValidInteger(number){
	if (number == '') return true;
	var pattern = /^\d+$/;
	if (!number.match(pattern)) {
		alert("Eingabeformat nicht korrekt\nnur Ziffern erlaubt");
		return false;
	}
	return true;
}

// Stunden eines Eintrages berechnen
function calculateEntry(id){
	var gesamt_alt = Number(document.getElementById('zeit-gesamt'+id).innerHTML.replace(",","."));
	var arbeitszeit = diffTime( document.getElementById('start'+id).value, document.getElementById('ende'+id).value );
	var vorbereitung = Number(document.getElementById('vorbereitung'+id).value.replace(",","."));
	var anreise = Number(document.getElementById('anreise'+id).value.replace(",","."));
	var pause = Number(document.getElementById('pause'+id).value.replace(",","."));
	var rueckreise = Number(document.getElementById('rueckreise'+id).value.replace(",","."));
	var gesamt = vorbereitung + arbeitszeit + anreise - pause + rueckreise;
	document.getElementById('zeit-gesamt'+id).innerHTML = gesamt.toFixed(2).replace(".",",");
	// Plausibilitätsprüfungen
	if(arbeitszeit < 0){
		document.getElementById('start'+id).style.backgroundColor = "yellow";
		document.getElementById('ende'+id).style.backgroundColor = "yellow";
	}else{
		document.getElementById('start'+id).style.backgroundColor = "white";
		document.getElementById('ende'+id).style.backgroundColor = "white";
	}
	var summe_alt = Number(document.getElementById('summe').innerHTML.replace(",","."));
	var summe_neu = summe_alt - gesamt_alt + gesamt;
	document.getElementById('summe').innerHTML = summe_neu.toFixed(2).replace(".",",");
}

function diffTime(start,ende){
	var diff = (ende.substring(0,ende.indexOf(':'))-0) * 60 +
        (ende.substring(ende.indexOf(':')+1,ende.length)-0) -
        (start.substring(0,start.indexOf(':'))-0) * 60 +
        (start.substring(start.indexOf(':')+1,start.length)-0);
	return diff/60;
}

/*
	Seite nach Schließen des Dialogfensters neu aufbauen
 */
function returnRefresh(page) {
	location.href=page;
}

/* Demo-Version */
function demo(){
	alert('Diese Funktion steht in der Demo-Version nicht zur Verfuegung');
}
