/*
 *  This JavaScript application has been published under the General Public License.
 *  Original Author: Benjamin Streeck www.streeck.com
 */

function calculategrade()
{
	var totalpoints = eval(window.document.gradecalculator.totalpoints.value);
	var passpoints = eval(window.document.gradecalculator.passpoints.value);
	var gottenpoints = eval(window.document.gradecalculator.gottenpoints.value);
	var gottenextras = 0; // eval(window.document.gradecalculator.gottenextras.value);
	var passspan = 0;
	var grade = 0;
	var grade1 = 0;
	var grade2 = 0;
	var grade3 = 0;
	var grade4 = 0;
	var grade5 = 0;

	gottenpoints = (gottenpoints + gottenextras);
	totalpoints = totalpoints + gottenextras;

	passpoints = Math.round(passpoints / totalpoints * (totalpoints + gottenextras));
	passspan = totalpoints - passpoints;

	grade1 = passpoints + Math.round(0.75 * passspan);
	grade2 = passpoints + Math.round(0.5  * passspan);
	grade3 = passpoints + Math.round(0.25 * passspan);
	grade4 = passpoints;
	grade5 = Math.round(0.9 * passpoints);

	if (gottenpoints >= grade1)
		grade = "1"
	else if (gottenpoints >= grade2)
		grade = "2"
	else if (gottenpoints >= grade3)
		grade = "3"
	else if (gottenpoints >= grade4)
		grade = "4";
	else if (gottenpoints >= grade5)
		grade = "5"
	else
		grade = "6";

	if (gottenpoints > 0)
		window.document.gradecalculator.grade.value = grade
	else
		window.document.gradecalculator.grade.value = "";
	window.document.gradecalculator.grade5.value = grade5;
	window.document.gradecalculator.grade4.value = grade4;
	window.document.gradecalculator.grade3.value = grade3;
	window.document.gradecalculator.grade2.value = grade2;
	window.document.gradecalculator.grade1.value = grade1;

	if (gottenextras > 0)
		alert("Du hast eine Rechnung mit Nachteilsausgleich durchgefuehrt. Das IMPP berechnet Deine Bestehnsgrenze (mit Nachteilsausgleich) im Stillen, so das der hier angewendete Rechenweg auf Spekulation beruht!\n" + "\nGewertete Aufgaben: "+totalpoints + "\nDeine Bestehensgrenze: "+passpoints + "\nDeine Punktzahl: "+gottenpoints + "\nDeine Note: "+grade);
}
