/* indoor locations *******************************************************************************/
/* game scores ************************************************************************************/
var homeTeamSetWinners = 0;
var roadTeamSetWinners = 0;
var disableValidation = false;

function validateAndConfirmGameScore() {
	var validScore = true;
	for (var i=1; i<6; i++) {
		if (!validateSet(i)) {
			validScore = false;
		}
	}
	if (validScore) {
		return confirm("Sind Sie sicher? Resultate können nachträglich nur noch durch das Sekretariat geändert werden.");
	} else {
		return false;
	}
}

/*function validateScore(formID, fieldID) {
	homeTeamSetWinners = 0;
	roadTeamSetWinners = 0;
	var setNumber = 1;
	var successful = true;
	while (setNumber < 6) {
		if (successful) {
			successful = validateSet(setNumber);
//			alert("set "+setNumber+": "+successful);
			enableSet(setNumber);
			if (homeTeamSetWinners > 2 || roadTeamSetWinners > 2) {
				successful = false;
			}
		} else {
			disableSet(setNumber);
		}
		setNumber++;
	}
}*/

function validateSet(setNumber) {
	setNumber = parseInt(setNumber);
	var homeTeamScore = parseInt($("#set" + setNumber + "_hometeam_score").attr("value"));
	var roadTeamScore = parseInt($("#set" + setNumber + "_roadteam_score").attr("value"));
	if (homeTeamScore && roadTeamScore) {
		var difference = homeTeamScore - roadTeamScore;
		if (difference < 0) {
			difference = difference * - 1;
		}
		if (difference < 2) {
			$("#scoreForm #set" + setNumber + " span.message").html("Differenz muss mind. 2 Punkte betragen");
			disableSetsAfter(setNumber);
			return false;
		}
		if (homeTeamScore < 0 || roadTeamScore < 0) {
			$("#scoreForm #set" + setNumber + " span.message").html("Ungültiges Satzresusltat: Keine negativen Satzpunkte möglich.");
			disableSetsAfter(setNumber);
			return false;
		}
		if (setNumber < 5) {
			if ((homeTeamScore > 25 || roadTeamScore > 25) && difference != 2) {
				$("#scoreForm #set" + setNumber + " span.message").html("Ungültiges Satzresusltat: Differenz muss 2 Punkte betragen.");
				disableSetsAfter(setNumber);
				return false;
			} else if (homeTeamScore < 25 && roadTeamScore < 25) {
				$("#scoreForm #set" + setNumber + " span.message").html("Ungültiges Satzresusltat: Eines der beiden Teams muss 25 Punkte haben.");
				disableSetsAfter(setNumber);
				return false;
			}
		} else {
			if ((homeTeamScore > 15 || roadTeamScore > 15) && difference != 2) {
				$("#scoreForm #set" + setNumber + " span.message").html("Ungültiges Satzresusltat: Differenz muss 2 Punkte betragen.");
				disableSetsAfter(setNumber);
				return false;
			} else if (homeTeamScore < 15 && roadTeamScore < 15) {
				$("#scoreForm #set" + setNumber + " span.message").html("Ungültiges Satzresusltat: Eines der beiden Teams muss 15 Punkte haben.");
				disableSetsAfter(setNumber);
				return false;
			}
		}
		// color the winner
		if (homeTeamScore > roadTeamScore) {
			$("#set" +setNumber + "_hometeam_score").css("background-color", "#fffaae");
			$("#set" +setNumber + "_roadteam_score").css("background-color", "");
		} else {
			$("#set" +setNumber + "_hometeam_score").css("background-color", "");
			$("#set" +setNumber + "_roadteam_score").css("background-color", "#fffaae");
		}
		// enable the next set... if necessary
		if (setNumber < 3 || (!hasWinningTeam() && !setHasScore(setNumber + 1))) {
			enableNextSet(setNumber);
		}
	}
	$("#scoreForm #set" + setNumber + " span.message").html("");
	return true;
}

function setHasScore(setNumber) {
	var homeTeamScore = $("#set" + setNumber + "_hometeam_score").attr("value");
	var roadTeamScore = $("#set" + setNumber + "_roadteam_score").attr("value");
	return (homeTeamScore && roadTeamScore);
}

function hasWinningTeam() {
	var homeTeamWinner = 0;
	var roadTeamWinner = 0;
	for (var i=1; i<6; i++) {
		if (setHasScore(i)) {
			var homeTeamScore = parseInt($("#set" + i + "_hometeam_score").attr("value"));
			var roadTeamScore = parseInt($("#set" + i + "_roadteam_score").attr("value"));
			if (homeTeamScore > roadTeamScore) {
				homeTeamWinner++;
			}
			if (homeTeamScore < roadTeamScore) {
				roadTeamWinner++;
			}
		}
		if (homeTeamWinner > 2 || roadTeamWinner > 2) {
			return true;
		}
	}
	return false;
}

function enableNextSet(setNumber) {
	if (setNumber > 0 && setNumber < 5) {
		setNumber++;
		enableSet(setNumber);
		if (setHasScore(setNumber)) {
			validateSet(setNumber);
		}
	}
}

function disableSetsAfter(setNumber) {
	if (setNumber > 0 && setNumber < 5) {
		setNumber++;
		for (setNumber; setNumber < 6; setNumber++) {
			disableSet(setNumber);
		}
	}
}

function disableSet(setNumber) {
	$("#set" +setNumber + "_hometeam_score").attr("disabled", "disabled");
	$("#set" +setNumber + "_hometeam_score").css("background-color", "#eeeeee");
	$("#set" +setNumber + "_roadteam_score").attr("disabled", "disabled");
	$("#set" +setNumber + "_roadteam_score").css("background-color", "#eeeeee");
}

function enableSet(setNumber) {
	$("#set" +setNumber + "_hometeam_score").removeAttr("disabled");
	$("#set" +setNumber + "_hometeam_score").css("background-color", "");
	$("#set" +setNumber + "_roadteam_score").removeAttr("disabled");
	$("#set" +setNumber + "_roadteam_score").css("background-color", "");
}
/* noyb stuff *************************************************************************************/
function dcmadr(nnnn) {
	var a = "";
	for(i=0,m=nnnn.length;i < m;i++){
		if(i%3==0){
			a += String.fromCharCode(nnnn.substr(i, 3)-37);
		}
	}
	return a;
}

function dcmt(nnnn) {
	var a = dcmadr(nnnn);
	location.href=('m'+'ail'+'t'+'o:'+a);
}
/* image resize *************************************************************************************/
function resizeImage(image, width, height, isMax, center) {
	if (image) {
		var origWidth = image.width;
		var origHeight = image.height;
		var scaleFactor = 1;
		if (width && width > 0 && height && height > 0) {
			// Bild-Seitenverhältnis
			var ratioImage = origWidth / origHeight;
			// Box-Seitenverhältnis
			var ratioBox = width / height;			
			if (isMax) {
				if (ratioBox > ratioImage) {
					// Wenn das Box-Seiten-Verhältnis > Bild-Seitenverhältnis muss die Höhe übereinstimmen
					scaleFactor = height / origHeight;
				} else {
					// Wenn das Box-Seiten-Verhältnis < Bild-Seitenverhältnis muss die Breite übereinstimmen
					scaleFactor = width / origWidth;
				}
			} else {
				if (ratioBox < ratioImage) {
					// Wenn das Box-Seiten-Verhältnis < Bild-Seitenverhältnis muss die Höhe übereinstimmen
					scaleFactor = height / origHeight;
				} else {
					// Wenn das Box-Seiten-Verhältnis > Bild-Seitenverhältnis muss die Breite übereinstimmen
					scaleFactor = width / origWidth;
				}
			}
			var newWidth = Math.ceil(origWidth * scaleFactor);
			var newHeight = Math.ceil(origHeight * scaleFactor);
			$(image).css("width", "" + newWidth + "px");
			$(image).css("height", "" + newHeight + "px");
			$(image).css("position", "relative");
			if (isMax && center) {
				if (newWidth < width) {
					$(image).css("left", Math.round((width - newWidth) / 2) + "px");
				}
				if (newHeight < height) {
					$(image).css("top", Math.round((height - newHeight) / 2) + "px");
				}
			}
			if (!isMax && center) {
				if (newWidth > width) {
					$(image).css("left", "-" + Math.round((newWidth - width) / 2) + "px");
				}
				if (newHeight > height) {
					$(image).css("top", "-" + Math.round((newHeight - height) / 2) + "px");
				}
			}
		}
/*		} else if (width && width > 0) {
			ratio = width / origWidth;
		} else if (height && height > 0) {
			ratio = height / origHeight;
		}*/
//		percentage = ratio*100;
	}
}