var fbm_mb_sval = '';

function fbm_mb_updateStatsGH(i) {
	var f = document.forms['matchblatt'];
	
	var v = parseInt(f.elements['srh['+i+']'].value);
	var o = parseInt(fbm_mb_sval);
	
	var s = fbm_mb_getScorer(i);
	var a = fbm_mb_getAssistant(i);
	
	var s1 = fbm_mb_getPlayer(i, 1);
	var s2 = fbm_mb_getPlayer(i, 2);
	var s3 = fbm_mb_getPlayer(i, 3);
	var s4 = fbm_mb_getPlayer(i, 4);
	
	if (v != o) {
	
		var diff = 0;
	
		if (isNaN(o)) {
			if (i > 1) {
				// Differenz holen
				var vt = parseInt(f.elements['srh['+(i-1)+']'].value);
				
				diff = v - vt;
			}
			else {
				diff = v;
			}
			
			if (Math.abs(diff) > 1) {
				alert("Bitte prüfen Sie den Eingabewert");
			}
		}
		else {
			diff = v - o;
		}
		
		fbm_mb_updateScorer(s, diff);
		fbm_mb_updateAssistant(a, diff);
		
		fbm_mb_updatePlayersPlus(s1, s2, s3, s4, 0, 0, diff);
	}
}

function fbm_mb_updateStatsGA(i) {
	var f = document.forms['matchblatt'];
	
	var v = parseInt(f.elements['srg['+i+']'].value);
	var o = parseInt(fbm_mb_sval);
		
	var s1 = fbm_mb_getPlayer(i, 1);
	var s2 = fbm_mb_getPlayer(i, 2);
	var s3 = fbm_mb_getPlayer(i, 3);
	var s4 = fbm_mb_getPlayer(i, 4);
	
	if (v != o) {
	
		var diff = 0;
	
		if (isNaN(o)) {
			if (i > 1) {
				// Differenz holen
				var vt = parseInt(f.elements['srg['+(i-1)+']'].value);
				
				diff = v - vt;
			}
			else {
				diff = v;
			}
			
			if (Math.abs(diff) > 1) {
				alert("Bitte prüfen Sie den Eingabewert");
			}
		}
		else {
			diff = v - o;
		}
		
		fbm_mb_updatePlayersMinus(s1, s2, s3, s4, 0, 0, diff);
	}
}

function fbm_mb_updateStatsG(i) {
	var f = document.forms['matchblatt'];
	
	var diff = fbm_mb_getScoreHomeDiff(i);
	
	if (diff == 0) {
		return;
	}
	
	var s = fbm_mb_getScorer(i);
	fbm_mb_updateScorer(s, diff);
	
	var o = parseInt(fbm_mb_sval);
	fbm_mb_updateScorer(o, (diff*-1));
	
	fbm_mb_sval = s;
}

function fbm_mb_updateStatsA(i) {
	var f = document.forms['matchblatt'];
	
	var diff = fbm_mb_getScoreHomeDiff(i);
	
	if (diff == 0) {
		return;
	}
	
	var a = fbm_mb_getAssistant(i);
	fbm_mb_updateAssistant(a, diff);
	
	var o = parseInt(fbm_mb_sval);
	fbm_mb_updateAssistant(o, (diff*-1));
	
	fbm_mb_sval = a;
}

function fbm_mb_updateStatsS1(i) {
	var f = document.forms['matchblatt'];
	
	var diff_p = fbm_mb_getScoreHomeDiff(i);
	var diff_m = fbm_mb_getScoreGuestDiff(i);
	
	var s = fbm_mb_getPlayer(i, 1);
	
	fbm_mb_updatePlayersPlus(s, 0, 0, 0, 0, 0, diff_p);
	fbm_mb_updatePlayersMinus(s, 0, 0, 0, 0, 0, diff_m);
	
	var o = parseInt(fbm_mb_sval);
	fbm_mb_updatePlayersPlus(o, 0, 0, 0, 0, 0, (diff_p*-1));
	fbm_mb_updatePlayersMinus(o, 0, 0, 0, 0, 0, (diff_m*-1));
	
	fbm_mb_sval = s;
}

function fbm_mb_updateStatsS2(i) {
	var f = document.forms['matchblatt'];
	
	var diff_p = fbm_mb_getScoreHomeDiff(i);
	var diff_m = fbm_mb_getScoreGuestDiff(i);
	
	var s = fbm_mb_getPlayer(i, 2);
	
	fbm_mb_updatePlayersPlus(0, s, 0, 0, 0, 0, diff_p);
	fbm_mb_updatePlayersMinus(0, s, 0, 0, 0, 0, diff_m);
	
	var o = parseInt(fbm_mb_sval);
	fbm_mb_updatePlayersPlus(0, o, 0, 0, 0, 0, (diff_p*-1));
	fbm_mb_updatePlayersMinus(0, o, 0, 0, 0, 0, (diff_m*-1));
	
	fbm_mb_sval = s;
}

function fbm_mb_updateStatsS3(i) {
	var f = document.forms['matchblatt'];
	
	var diff_p = fbm_mb_getScoreHomeDiff(i);
	var diff_m = fbm_mb_getScoreGuestDiff(i);
	
	var s = fbm_mb_getPlayer(i, 3);
	
	fbm_mb_updatePlayersPlus(0, 0, s, 0, 0, 0, diff_p);
	fbm_mb_updatePlayersMinus(0, 0, s, 0, 0, 0, diff_m);
	
	var o = parseInt(fbm_mb_sval);
	fbm_mb_updatePlayersPlus(0, 0, o, 0, 0, 0, (diff_p*-1));
	fbm_mb_updatePlayersMinus(0, 0, o, 0, 0, 0, (diff_m*-1));
	
	fbm_mb_sval = s;
}

function fbm_mb_updateStatsS4(i) {
	var f = document.forms['matchblatt'];
	
	var diff_p = fbm_mb_getScoreHomeDiff(i);
	var diff_m = fbm_mb_getScoreGuestDiff(i);
	
	var s = fbm_mb_getPlayer(i, 4);
	
	fbm_mb_updatePlayersPlus(0, 0, 0, s, 0, 0, diff_p);
	fbm_mb_updatePlayersMinus(0, 0, 0, s, 0, 0, diff_m);
	
	var o = parseInt(fbm_mb_sval);
	fbm_mb_updatePlayersPlus(0, 0, 0, o, 0, 0, (diff_p*-1));
	fbm_mb_updatePlayersMinus(0, 0, 0, o, 0, 0, (diff_m*-1));
	
	fbm_mb_sval = s;
}

function fbm_mb_updateStatsS5(i) {
	var f = document.forms['matchblatt'];
	
	var diff_p = fbm_mb_getScoreHomeDiff(i);
	var diff_m = fbm_mb_getScoreGuestDiff(i);
	
	var s = fbm_mb_getPlayer(i, 5);
	
	fbm_mb_updatePlayersPlus(0, 0, 0, 0, s, 0, diff_p);
	fbm_mb_updatePlayersMinus(0, 0, 0, 0, s, 0, diff_m);
	
	var o = parseInt(fbm_mb_sval);
	fbm_mb_updatePlayersPlus(0, 0, 0, 0, o, 0, (diff_p*-1));
	fbm_mb_updatePlayersMinus(0, 0, 0, 0, o, 0, (diff_m*-1));
	
	fbm_mb_sval = s;
}

function fbm_mb_updateStatsS6(i) {
	var f = document.forms['matchblatt'];
	
	var diff_p = fbm_mb_getScoreHomeDiff(i);
	var diff_m = fbm_mb_getScoreGuestDiff(i);
	
	var s = fbm_mb_getPlayer(i, 6);
	
	fbm_mb_updatePlayersPlus(0, 0, 0, 0, 0, s, diff_p);
	fbm_mb_updatePlayersMinus(0, 0, 0, 0, 0, s, diff_m);
	
	var o = parseInt(fbm_mb_sval);
	fbm_mb_updatePlayersPlus(0, 0, 0, 0, 0, o, (diff_p*-1));
	fbm_mb_updatePlayersMinus(0, 0, 0, 0, 0, o, (diff_m*-1));
	
	fbm_mb_sval = s;
}

function fbm_mb_saveSTValue(obj) {
	var f = document.forms['matchblatt'];
	
	if (f.elements[obj.name][1].checked == true) {
		fbm_mb_sval = 1;
	} else if (f.elements[obj.name][2].checked == true) {
		fbm_mb_sval = 2;
	} else if (f.elements[obj.name][3].checked == true) {
		fbm_mb_sval = 3;
	}	else {
		fbm_mb_sval = 0;
	}
}

function fbm_mb_updateStatsSpecialTeams(i, obj) {
	var f = document.forms['matchblatt'];
	
	var old = fbm_mb_sval;
	
	// Nothing to do
	if (old == obj.value) {
		return true;
	}
	
	var diff_p = fbm_mb_getScoreHomeDiff(i);
	var diff_m = fbm_mb_getScoreGuestDiff(i);
	
	var s1 = fbm_mb_getPlayer(i, 1);
	var s2 = fbm_mb_getPlayer(i, 2);
	var s3 = fbm_mb_getPlayer(i, 3);
	var s4 = fbm_mb_getPlayer(i, 4);
	//var s5 = fbm_mb_getPlayer(i, 5);
	//var s6 = fbm_mb_getPlayer(i, 6);
	
	// Korrektur Plus
	if (diff_p > 0) {
		if ((old == 1 || old == 3) && (obj.value == 0 || obj.value == 2)) {
			fbm_mb_updatePlayersPlus(s1, s2, s3, s4, 0, 0, diff_p);
		} else if ((old == 0 || old == 2) && (obj.value == 1 || obj.value == 3)) {
			fbm_mb_updatePlayersPlus(s1, s2, s3, s4, 0, 0, (diff_p*-1));
		}
	}

	if (diff_m > 0) {
		if ((old == 1 || old == 3) && (obj.value == 0 || obj.value == 2)) {
			fbm_mb_updatePlayersMinus(s1, s2, s3, s4, 0, 0, diff_m);
		} else if ((old == 0 || old == 2) && (obj.value == 1 || obj.value == 3)) {
			fbm_mb_updatePlayersMinus(s1, s2, s3, s4, 0, 0, (diff_m*-1));
		}
	}
	
	return true;
}

function fbm_mb_saveValue(val) {
	fbm_mb_sval = val;
}

function fbm_mb_getScorer(i) {
	var f = document.forms['matchblatt'];
	
	return f.elements['st['+i+']'].options[f.elements['st['+i+']'].selectedIndex].value;
}

function fbm_mb_getAssistant(i) {
	var f = document.forms['matchblatt'];
	
	return f.elements['sa['+i+']'].options[f.elements['sa['+i+']'].selectedIndex].value;
}

function fbm_mb_getPlayer(i, ind) {
	var f = document.forms['matchblatt'];
	
	return f.elements['ss'+ind+'['+i+']'].options[f.elements['ss'+ind+'['+i+']'].selectedIndex].value;
}

function fbm_mb_updateScorer(s, diff) {
	var f = document.forms['matchblatt'];

	if (isNaN(s) || s == '' || s == 0) {
		return;
	}

	var gv = parseInt(f.elements['sp_g['+s+']'].value);
	
	if (isNaN(gv)) {
		f.elements['sp_g['+s+']'].value = diff;
	}
	else {
		f.elements['sp_g['+s+']'].value = gv + diff;
	}
	
	if (parseInt(f.elements['sp_g['+s+']'].value) == 0) {
		f.elements['sp_g['+s+']'].value = "";
	}
	
	fbm_mb_updateSpielerPlayed(s);
}

function fbm_mb_updateAssistant(s, diff) {
	var f = document.forms['matchblatt'];

	if (isNaN(s) || s == '' || s == 0) {
		return;
	}

	var av = parseInt(f.elements['sp_a['+s+']'].value);
	
	if (isNaN(av)) {
		f.elements['sp_a['+s+']'].value = diff;
	}
	else {
		f.elements['sp_a['+s+']'].value = (av + diff);
	}
	
	if (parseInt(f.elements['sp_a['+s+']'].value) == 0) {
		f.elements['sp_a['+s+']'].value = "";
	}
	
	fbm_mb_updateSpielerPlayed(s);
}

function fbm_mb_updatePlayersPlus(s1, s2, s3, s4, s5, s6, diff) {
	var f = document.forms['matchblatt'];

	var s = '';
	
	var players = new Array(s1, s2, s3, s4, s5, s6);
	
	for(var i=0; i<players.length; i++) {
		s = players[i];
		if (!isNaN(s) && s != 0 && s != '' ) {
			var p = parseInt(f.elements['sp_p['+s+']'].value);
			
			if (isNaN(p)) {
				f.elements['sp_p['+s+']'].value = diff;
			}
			else {
				f.elements['sp_p['+s+']'].value = (p + diff);
			}
			
			if (parseInt(f.elements['sp_p['+s+']'].value) == 0) {
				f.elements['sp_p['+s+']'].value = "";
			}
			fbm_mb_updateSpielerPlayed(s);
			fbm_mb_updatePlayerPlusMinus(s);
		}
	}
}

function fbm_mb_updatePlayersMinus(s1, s2, s3, s4, s5, s6, diff) {
	var f = document.forms['matchblatt'];

	var s = '';
	
	var players = new Array(s1, s2, s3, s4, s5, s6);
	
	for(var i=0; i<players.length; i++) {
		s = players[i];
		if (!isNaN(s) && s != 0 && s != '' ) {
			var p = parseInt(f.elements['sp_m['+s+']'].value);
			
			if (isNaN(p)) {
				f.elements['sp_m['+s+']'].value = diff;
			}
			else {
				f.elements['sp_m['+s+']'].value = (p + diff);
			}
			
			if (parseInt(f.elements['sp_m['+s+']'].value) == 0) {
				f.elements['sp_m['+s+']'].value = "";
			}
			
			fbm_mb_updateSpielerPlayed(s);
			fbm_mb_updatePlayerPlusMinus(s);
		}
	}
}

function fbm_mb_updatePlayerPlusMinus(s) {
	var f = document.forms['matchblatt'];
	
	if (isNaN(s) || s == '' || s == 0) {
		return;
	}
	
	var p = parseInt(f.elements['sp_p['+s+']'].value);
	var m = parseInt(f.elements['sp_m['+s+']'].value);
	
	if (isNaN(p) && isNaN(m)) {
		f.elements['sp_pm['+s+']'].value = '';
		return;
	}
	
	if (isNaN(p)) { p = 0 }
	if (isNaN(m)) { m = 0 }
	
	var diff = p - m;
	
	f.elements['sp_pm['+s+']'].value = diff;
}

function fbm_mb_updateSpielerPlayed(s) {
	var f = document.forms['matchblatt'];

	var g = parseInt(f.elements['sp_g['+s+']'].value);
	var a = parseInt(f.elements['sp_a['+s+']'].value);
	var p = parseInt(f.elements['sp_p['+s+']'].value);
	var m = parseInt(f.elements['sp_m['+s+']'].value);	
	
	if ((!isNaN(g) && g > 0) || (!isNaN(a) && a > 0) || (!isNaN(p) && p > 0) || (!isNaN(m) && m > 0)) {
		f.elements['spieler['+s+']'].checked = true;
		f.elements['spieler['+s+']'].readonly = true;
	}
	else {
		f.elements['spieler['+s+']'].readonly = false;
	}
}

function fbm_mb_getScoreHomeDiff(i) {
	var f = document.forms['matchblatt'];

	var g = parseInt(f.elements['srh['+i+']'].value);
	
	if (isNaN(g)) {
		return 0;
	}
	
	var diff = 0;
	
	if (i == 1) {
		diff = g;
	}
	else {
		var gb = parseInt(f.elements['srh['+(i-1)+']'].value);
	
		if (isNaN(gb)) {
			return;
		}
		
		diff = g - gb;
	}
	
	return diff;
}

function fbm_mb_getScoreGuestDiff(i) {
	var f = document.forms['matchblatt'];

	var g = parseInt(f.elements['srg['+i+']'].value);
	
	if (isNaN(g)) {
		return 0;
	}
	
	var diff = 0;
	
	if (i == 1) {
		diff = g;
	}
	else {
		var gb = parseInt(f.elements['srg['+(i-1)+']'].value);
	
		if (isNaN(gb)) {
			return;
		}
		
		diff = g - gb;
	}
	
	return diff;
}

function fbm_mb_validate(el, from, to) {
	el.value = fbm_trim(el.value);
	
	if (el.value == '') {
		return;
	}
	
	if (el.value < from || el.value > to) {
		alert("Bitte einen gültigen Wert eingeben");
		el.value = '';
		return;
	}
}

function fbm_format_seconds(el) {
	if (el.value == '') {
		return;
	}
	
	if (parseInt(el.value) < 10) {
		el.value = '0'+parseInt(el.value);
	}
}

function fbm_trim(inp) {
	return inp.replace(/^\s+/, '').replace(/\s+$/, '');
}

function fbm_handleMatchblattError(data) {

	// Clear all rows
	for(var i=1; i<=30; i++) {
		document.getElementById('row'+i).setAttribute('class', '');
	}

	if (data == null) {
		return;
	}

	if (data.i_lines) {
		for(var i=0; i<data.i_lines.length; i++) {
			document.getElementById('row'+(data.i_lines[i])).setAttribute('class', 'mb_info');
		}
	}

	if (data.w_lines) {
		for(var i=0; i<data.w_lines.length; i++) {
			document.getElementById('row'+(data.w_lines[i])).setAttribute('class', 'mb_warn');
		}
	}

	if (data.e_lines) {
		for(var i=0; i<data.e_lines.length; i++) {
			document.getElementById('row'+(data.e_lines[i])).setAttribute('class', 'mb_error');
		}
	}
	
	if (data.zeromin) {
		for(var i=0; i<data.zeromin.length; i++) {
			document.forms['matchblatt'].elements['stm['+data.zeromin[i]+']'].value = 0;
		}
	}
	if (data.zerosec) {
		for(var i=0; i<data.zerosec.length; i++) {
			document.forms['matchblatt'].elements['sts['+data.zerosec[i]+']'].value = '00';
		}
	}
	
	// Do it for the penalty
	if (data.zerominp) {
		for(var i=0; i<data.zerominp.length; i++) {
			document.forms['matchblatt'].elements['stm['+data.zerominp[i]+']'].value = 0;
		}
	}
	if (data.zerosecp) {
		for(var i=0; i<data.zerosecp.length; i++) {
			document.forms['matchblatt'].elements['sts['+data.zerosecp[i]+']'].value = '00';
		}
	}
	
	if (data.wconfirmed) {
	 	document.forms['matchblatt'].elements['wconfirmed'].value = data.wconfirmed;
	}
}

function handlePopUpMatchblatt(data) {
	//ajaxCall('fbm', 'team_matchblatt_overview', '');
 
 	var mb = window.open(data.url, "mb_popup", "height=700, width=780, resizable=yes, scrollbars=yes");
 	
 	if (!mb) {
		alert("Bitte deaktivieren Sie sämtliche Popup Blocker für diese Seite, um das Matchblatt auszudrucken.");
	}
}
