function getArgs() {
	var args = new Object();
	var query = location.search.substring(1);
	var pairs = query.split(";");
	for (var i=0; i<pairs.length; i++) {
		var pos = pairs[i].indexOf('=');
		if (pos==-1) continue;
		var argname = pairs[i].substring(0,pos);
		var value = pairs[i].substring(pos+1);
		args[argname] = unescape(value);
	}
	return args;
}

var args = getArgs();
var w = 0;
var f = 0;
var e = 0;
var l = 0;

if (args.w) w = parseInt(args.w);
if (args.f) f = parseInt(args.f);
if (args.e) e = parseInt(args.e);
if (args.l) l = parseInt(args.l);

function createArray(n,init) {
	this.lenght=n-1
	for ( var i=0; i<n; i++) {
		this[i] = init
	}
	return this;
}

var iStart = 0;
var iStop = 0;
var afrage = 0;

function setStartStop(iNum) {
	if (iNum != afrage) {
		afrage = iNum;
		iStart = 0;
		for (var i=0; i<iNum-1; i++) {
			iStart += 4*fr[i]
		}
		iStop = iStart + 4*fr[iNum - 1] - 1
	}
}


function resetRadio(what) {
	for (var i=iStart+1; i<=iStop; i++) {
		if (document.fb.elements[i].name == what.name) {
			document.fb.elements[i].checked = true;
			break;				
		}
	}		
	alert("Hata: Her soruya en fazla 2 puan verebilirsiniz ve ilave olarak x ile işaretleyebilirsiniz.");
}


function check_x(frage, what) {
	var errorflag = false;
	setStartStop(frage);
	for (var i=iStart+3; i<=iStop; i+=4) {
		if ((document.fb.elements[i].checked) && (document.fb.elements[i] != what)) {
			errorflag = true; break;
		}
	}
	if (errorflag) { resetRadio(what); }
}


function check_1(frage, what) {
	var found = false;
	var errorflag = false;
	setStartStop(frage);
	for (var i=iStart+1; i<=iStop; i++) {
		if ((document.fb.elements[i].checked) && (document.fb.elements[i].name != what.name)) {
			if (document.fb.elements[i].value == "1") {
				if (found) { errorflag = true;	break;
				} else {
					found = true;
				}
			}
			if (document.fb.elements[i].value == "2") { errorflag = true; break; }
		}
		if (document.fb.elements[i].value == "2") { i+=2 }
	}
	if (errorflag) { resetRadio(what); }
}

function check_2(frage, what) {
	var found = false;
	var errorflag = false;
	setStartStop(frage);
	for (var i=iStart+1; i<=iStop; i++) {
		if ((document.fb.elements[i].checked) && (document.fb.elements[i].name != what.name)) {
			if (document.fb.elements[i].value == "1") { errorflag = true; break; }
			if (document.fb.elements[i].value == "2") { errorflag = true; break; }
		}
		if (document.fb.elements[i].value == "2") { i+=2 }
	}
	if (errorflag) { resetRadio(what); }
}


function checkValues(frage, fbnum) {
	var isok = true;
	var num1 = 0;
	var num2 = 0;
	var numx = 0;

	setStartStop(frage);

	var elemValue = "";
	for ( var i=iStart; i<=iStop; i++) {
		if (document.fb.elements[i].checked) {
			elemValue = document.fb.elements[i].value;
			if (elemValue == "1") { num1++; }
			if (elemValue == "2") { num2++; }
			if (elemValue == "-2") { numx++; }
		}
	}

	if ( fbnum != 2 ) { frage += 10; }

	var astr = "Soruda hata " + frage + ":\r";
	if ( num1 >= 3 ) { alert(astr + "Anzahl der 1 Punkte ist zu hoch!"); isok=false;}
	if ( num2 >= 2 ) { alert(astr + "Anzahl der 2 Punkte ist zu hoch!"); isok=false;}
	if ( numx >= 2 ) { alert(astr + "Anzahl der X Punkte ist zu hoch!"); isok=false;}
	if ( (numx == 0) && (num1 == 0) && (num2 == 0)) { alert(astr + "Her sorunun puanlanması gerekmektedir!"); isok=false;}

	return(isok);

}


function ergebnis(fbnum) {
	var bool = false;
	var numf = 0;
	var nume = 0;
	var numw = 0;
	var numl = 0;


	for (var i=1; i<=10; i++) {
		bool = checkValues(i, fbnum);
		if (bool == false) { break;	}
	}

	if (bool) {
		var elemName = "";
		for (var i=0; i<=iStop; i++) {
			if (document.fb.elements[i].checked) {
				elemName = document.fb.elements[i].name;
				elemValue = parseInt(document.fb.elements[i].value);
				if (elemName.charAt(0) == "f") { numf += elemValue; }
				if (elemName.charAt(0) == "e") { nume += elemValue; }
				if (elemName.charAt(0) == "w") { numw += elemValue; }
				if (elemName.charAt(0) == "l") { numl += elemValue; }
			}
		}
		f += numf;	e += nume;	w += numw; l += numl;

		var astr = "";
		if (fbnum == "") {
			astr += "./ergebnis.htm?";
		} else {
			astr += "./fragebogen" + fbnum + ".htm?";
		}

		astr += "f=" + f + ";" + "w=" + w + ";" + "l=" + l + ";" + "e=" + e + ";";
		location = astr;
	}
}
