var answers=new Array('E','C','C','A','D','E','B','C','D','B','B','B','A','E','D','A','A','A','B','E','D','E','D','C');
var query=1;
var age=location.search.substr(5,1);
var tick=600;

function updateAnswer(value) {
	setFieldValue(eval('document.forms[0].Item' + query), value, true);
	if(tick>0) {
		if(query<24) {
			query++;
		}
		doNavigate();
	}
}

function doNavigate() {
//	document.getElementById('testcount').innerHTML=query;
	document.getElementById('testimage').src='gf/item' + query + '.gif';
	var curValue=getFieldValue(eval('document.forms[0].Item' + query));
	if(curValue=='') {
		for(var i=0;i<5;i++) {
			document.forms[0].Item[i].checked=false;
		}
	}
	else {
		setFieldValue(document.forms[0].Item, curValue, true);
	}
	if(query<2) {
		document.getElementById('Previous').style.visibility='hidden';
	}
	else {
		document.getElementById('Previous').style.visibility='';
	}
	if(query>23) {
		document.getElementById('Next').style.visibility='hidden';
	}
	else {
		document.getElementById('Next').style.visibility='';
	}
}

function countDown() {
    tick--;
    var minutes=parseInt(tick/60);
    var seconds=tick % 60
    if(seconds<10) {seconds='0' + seconds}
    document.getElementById('timer').innerHTML=minutes + ':' + seconds;
    if (tick == 0) {
	alert("Timpul reulamentar – 10 minute – a expirat");
	tester();
//	document.getElementById('Previous').style.visibility='hidden';
//	document.getElementById('Next').style.visibility='hidden';
        return;
    }
    var command="countDown()";
    window.setTimeout(command,1000);
}

function tester() { 
	var score=age;
	var frm=document.forms[0];
	for(var i=1; i<=answers.length; i++) {
		var fld=eval('frm.Item' + i);
		if(getFieldValue(fld)==answers[i-1]) { 
			score++;
		}
	}

	switch(score) {
	case 9:
		location.href='result.html?result=2';
		break;
	case 10:
		location.href='result.html?result=3';
		break;
	case 11:
		location.href='result.html?result=4';
		break;
	case 12:
		location.href='result.html?result=5';
		break;
	case 13:
		location.href='result.html?result=6';
		break;
	case 14:
		location.href='result.html?result=7';
		break;
	case 15:
		location.href='result.html?result=8';
		break;
	case 16:
		location.href='result.html?result=9';
		break;
	case 17:
		location.href='result.html?result=10';
		break;
	case 18:
		location.href='result.html?result=11';
		break;
	case 19:
		location.href='result.html?result=12';
		break;
	case 20:
		location.href='result.html?result=13';
		break;
	case 21:
		location.href='result.html?result=14';
		break;
	case 22:
		location.href='result.html?result=15';
		break;
	case 23:
		location.href='result.html?result=15';
		break;
	case 24:
		location.href='result.html?result=15';
		break;
	default:
		location.href='result.html?result=1';
		break;
	}
}

function displayResult() {
	var result=location.search.substr(8);
	document.getElementById('result' + result).style.display='';
}

function isArray(obj) {
	if(obj.constructor.toString().indexOf("Array") == -1) {
		return false;
	}
	else {
		return true;
	}
}

function setFieldValue(field, value, replace) {
	if(field.type) {
		var fieldType=field.type;
	}
	else {
		var fieldType=field[0].type;
	}
	switch(fieldType) {
		case "text":
		case "textarea":
		case "password":
		case "hidden":
			if(replace) {
				field.value=value;
			}
			else {
				field.value+=value;
			}
		case "select-one":
			if(isArray(value)) {
				value=value[0];
			}
			for(var i=0; i<field.length; i++) {
				if(field.options[i].text==value || field.options[i].value==value) {
					field.options[i].selected=true;
					break;
				}
			}
			break;
		case "select-multiple" :
			var arrFlag=isArray(value);
			for(var i=0; i < field.options.length; i++) {
				if(field.options[i].selected && replace) {
					field.options[i].selected=false;
				}
				if(arrFlag) {
					for(var j=0; j<value.length; j++) {
						if(field.options[i].text==value[j] || field.options[i].value==value[j]) {
							field.options[i].selected=true;
						}
					}
				}
				else {
					if(field.options[i].text==value || field.options[i].value==value) {
						field.options[i].selected=true;
					}
				}
			}
			break;
		case "button" :
		case "reset" :
		case "submit" :
			return;
		case "radio" :
			if(isArray(value)) {
				value=value[0]
			}
			for (i = 0; i < field.length; i++) {
				if (field[i].value==value) {
					return field[i].checked=true;
				}
			}
			break;
		case "checkbox" :
			var arrFlag=isArray(value);
			for(i = 0; i < field.length; i++) {
				if(field[i].checked && replace) {
					field[i].checked=false;
				}
				if(arrFlag) {
					for(var j=0; j<value.length; j++) {
						if(field[i].value==value[j]) {
							field[i].checked=true;
							break;
						}
					}
				}
				else {
					if(field[i].value==value[j]) {
						field[i].checked=true;
						break;
					}
				}
			}
		default :
			var str = "";
			for (x in field) {
				str += x + "\n";
			}
			alert("I couldn't figure out what type this field is...\n\n" + field.name + ": ???\n\n\n" + str + "\n\nlength = " + field.length);
	}
}

function getFieldValue(field) {
	if(field.type) {
		var fieldType=field.type;
	}
	else {
		var fieldType=field[0].type;
	}
	switch(fieldType) {
		case "text":
		case "textarea":
		case "password":
		case "hidden":
			return field.value;
		case "select-one":
			var i=field.selectedIndex;
			if (i == -1) {
				return "";
			}
			else {
				if(field.options[i].value=='') {
					return field.options[i].text;
				}
				else {
					return field.options[i].value;
				}
			}
		case "select-multiple" :
			var allChecked = new Array();
			for(i = 0; i < field.options.length; i++) {
				if(field.options[i].selected) {
					if(field.options[i].value=='') {
						allChecked[allChecked.length]=field.options[i].text
					}
					else {
						allChecked[allChecked.length]=field.options[i].value
					}
				}
			}
			return allChecked;
		case "button" :
		case "reset" :
		case "submit" :
			return "";
		case "radio" :
			for (i = 0; i < field.length; i++) {
				if (field[i].checked) {
					return field[i].value;
				}
			}
			return "";
		case "checkbox" :
			var allChecked = new Array();
			for(i = 0; i < field.length; i++) {
				if(field[i].checked) {
					allChecked[allChecked.length]=field[i].value;
				}
			}
			return allChecked;
		default :
			var str = "";
			for (x in field) {
				str += x + "\n";
			}
			alert("I couldn't figure out what type this field is...\n\n" + field.name + ": ???\n\n\n" + str + "\n\nlength = " + field.length);
	}
}
