var whitespace = " \t\n\r";
var m_MonatUnterGrenze = 930;
var m_WocheUnterGrenze = 217.5;
var m_TagUnterGrenze = 43.5;

var fDifferenzZuschlag = new Array(0.3, 0.5, 0.6, 0.7, 0.8, 0.9);
var funtereGrenze = new Array(new Array(6), new Array(6), new Array(6))
 
// Grenzwerte Monat ****
funtereGrenze[0][0] = m_MonatUnterGrenze
funtereGrenze[0][1] = m_MonatUnterGrenze + 350
funtereGrenze[0][2] = m_MonatUnterGrenze + 545
funtereGrenze[0][3] = m_MonatUnterGrenze + 740
funtereGrenze[0][4] = m_MonatUnterGrenze + 935
funtereGrenze[0][5] = m_MonatUnterGrenze + 1130
 
// Grenzwert Woche ****
funtereGrenze[1][0] = m_WocheUnterGrenze
funtereGrenze[1][1] = m_WocheUnterGrenze + 81
funtereGrenze[1][2] = m_WocheUnterGrenze + 126
funtereGrenze[1][3] = m_WocheUnterGrenze + 171
funtereGrenze[1][4] = m_WocheUnterGrenze + 216
funtereGrenze[1][5] = m_WocheUnterGrenze + 261
 
// Grenzwert Tag ****
funtereGrenze[2][0] = m_TagUnterGrenze
funtereGrenze[2][1] = m_TagUnterGrenze + 17
funtereGrenze[2][2] = m_TagUnterGrenze + 26
funtereGrenze[2][3] = m_TagUnterGrenze + 35
funtereGrenze[2][4] = m_TagUnterGrenze + 44
funtereGrenze[2][5] = m_TagUnterGrenze + 53


function Rechne(obj){
	var dp = document.pfaend;
	var tmp;

	if(dp.optTurnus[0].status || dp.optTurnus[0].checked) {var optTurn = 0; var minVergleichswert = 940; var maxVergleichswert = 2851; var nStep = 10;}
	if(dp.optTurnus[1].status || dp.optTurnus[1].checked) {var optTurn = 1; var minVergleichswert = 220; var maxVergleichswert = 658; var nStep = 2.5;}
	if(dp.optTurnus[2].status || dp.optTurnus[2].checked) {var optTurn = 2; var minVergleichswert = 44; var maxVergleichswert = 131.58; var nStep = 0.5;}
	
	fLohn = toEngNo(dp.lohn.value);
	nPers = dp.pers.selectedIndex;
	
	bFound = false
	var toVergleichswert;
	if(fLohn > maxVergleichswert) toVergleichswert = fLohn; else toVergleichswert = maxVergleichswert;
	for(var fVergleichswert = minVergleichswert; fVergleichswert <= toVergleichswert; fVergleichswert+=nStep){
		if((fLohn >= fVergleichswert && fLohn < (fVergleichswert + nStep)) || (fVergleichswert > (maxVergleichswert - nStep) && toVergleichswert == fLohn)){
			bFound = true;
			break;
		}
	}
     	var fDifferenz = fVergleichswert - funtereGrenze[optTurn][nPers]
     	if (fDifferenz <= 0){
     		var fRest = funtereGrenze[optTurn][nPers];
	} else {
	      var fRest = funtereGrenze[optTurn][nPers] + (fDifferenz * fDifferenzZuschlag[nPers])
      }
	fErgebnis = fVergleichswert - fRest	

	if (fLohn > maxVergleichswert){
		fErgebnis = fLohn - maxVergleichswert + fErgebnis;
		bFound = true;
	} 

	if(fErgebnis > 0 && bFound == true) {
		dp.ergebnis.value = zweiStelligNachKomma(toGerStr(Abrund(fErgebnis))) + ' Euro';
	} else {
		dp.ergebnis.value = "0,00 Euro";
	}
	
	return;
}
function isEmpty(s)
{   return ((s == null) || (s.length == 0));
}
function isNum(s){
var i;
        for(i = 0; i < s.length; i++){
                var c = s.charAt(i);
                if (!isWhitespace(c))
                        if ((c >= "0") && (c <= "9"))
                                c=c;
                        else
                                return false;
        }
        return true;
}
function isWhitespace (s)
{   var i;
    if (isEmpty(s)) return true;
    for (i = 0; i < s.length; i++) {
        var c = s.charAt(i);
        if (whitespace.indexOf(c) == -1) return false;
    }
    return true;
}
function toEngNo(s){
	var tmp;
	s = String(s);
	tmp=parseFloat(s.replace(',', '.'));
	return tmp;
}
function toGerStr(s){
	s = String(s);
	tmp = s.charAt(0);
	if(tmp=='.') s = "0" + s;
	tmp = "";
	var c;
	for (i = 0; i < s.length; i++) {
      	c = s.charAt(i);
		if(c=='.')
			tmp = tmp + ",";
		else		
			tmp = tmp + c;
	}	
	return tmp;
}
function Abrund(s){
	return Math.round(s * 100) /100
}
function zweiStelligNachKomma(s){
	s = String(s);
	var k = 0;
	for(i=1; i<=s.length; i++){
		if(s.charAt(i)==',') break;
	}
	if(s.length - i == 2) s = s + '0';
	if(i == s.length + 1) s = s + ',00';
	return s;
}
function win(URL, NAME, BREITE, HOEHE){
	var wndTop = screen.height/2 - Number(HOEHE)/2 - 40
	if(wndTop<0) wndTop=0;
	var wndLeft = screen.width/2 - Number(BREITE)/2
	if(wndLeft<0) wndLeft=0;
	window.open(URL,NAME,"menubar=no,toolbar=no,location=no,status=no,resizable=no,scrollbars=yes,width=" + BREITE + ",height=" + HOEHE + ",left=" + wndLeft + ",top=" + wndTop);
}
