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++) {
            //alert("iNum:"+iNum);
            //alert("fr[i]:"+fr[i]);
            iStart += 4*fr[i];
            //alert(iStart);
        }
		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("Fehler: Sie können nur maximal 2 Punkte pro Frage vergeben und zusätzlich höchstens eine Antwort mit x kennzeichnen.");
}


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 = "Fehler in Frage " + frage + ": ";
	if ( num1 >= 3 ) { alert(astr + "Anzahl der 1 Punkte ist zu hoch!"); isok=false;}
	if ( num1 == 1 ) { alert(astr + "Es müssen 2 Punkte pro Frage vergeben werden!"); 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 + "Mindestens 1 Punkt muß pro Frage gesetzt werden!"); isok=false;}

	return(isok);

}
function check(){
    var angehackt=0;
    for(i = 0; i <= 5; i++) {
       //alert(i);
       setStartStop(i);
       //alert("iStart:"+iStart+"/iStop:"+iStop);
       for ( var x=iStart; x<=iStop; x++){
           //alert(x);
           if(document.fb.elements[x].checked==true){
                //alert(x);
                angehackt++;
           }
      }
    }
    //alert("angehackt:"+angehackt);
    //return false;
    if(angehackt==5){
        return true;
    }else{
     alert("Sie müssen alle Fragen beantworten");
     return false;
    }
}


function ergebnis(fbnum,zahl) {
	var bool = false;
	for (var i=1; i<=zahl; i++) {
		bool = checkValues(i, fbnum);
		if (bool == false) { return false;	}
	}
    if(bool==true){return true;}
}

