<!--
// What Browser? 
var isIE4=false, isIE5=false, isNav4=false, isNav6=false; 
if (document.getElementById && document.all){isIE5 = true;} 
else if (document.getElementById){isNav6 = true;} 
else if (document.all){isIE4 = true;} 
else if (document.layers){isNav4 = true;} 

// Assembles correct DOM reference 
function getObj(objID){ 
   if (isNav4){ 
      return document.layers[objID]; 
   } 
   else if (isIE4){ 
      return document.all[objID].style; 
   } 
   else { 
      return document.getElementById(objID).style; 
   } 
} 

// Check corresponding radiobutton/checkbox when hyperlink clicked
function Check(id, form, box, value) { 
	obj = document.getElementById(id);
	if (obj.type == 'checkbox') {
		obj.checked = !obj.checked;
		UnCheck(form, box, value);
	} else {
		// IE automatically unchecks the multiples, but firefox doesn't
		for (var i = 0; i<form.length; i++) {
			if (form.elements[i].type == "checkbox") {
				if (form.elements[i].name == box) {
					form.elements[i].checked = false;
				}
			}
		}
		obj.checked = true;
		ToggleOther(form, box, value);
	}
}

// Uncheck multiple when forced single checked
function UnCheck(form, box, value) {
	for (var i = 0; i<form.length; i++) 
		if (form.elements[i].type == "radio") 
			// Uncheck if name corresponds
			if (form.elements[i].name == box) {
	    	form.elements[i].checked = false;
			}
	ToggleOther(form, box, value);
}

function Hover(obj,state) {
	//alert ("hyper" + state);
	document.getElementById(obj).className = "hyper" + state;
}

function ToggleOther(form, box, value) {
	if (form == null) {
		return;
	}
	// Loop thru all others
	//box = box.substring(0, box.length-2);
	// In volgende regel zit error (form undefined?)
	for (var i=0; i<form[box].length; i++) {
		// Construct other varname
		if (box.substr(box.length-2, 2) == "[]") {   
			otherbase = box.substring(0, box.length-2) + form[box][i].value + '_other';
		} else {
			otherbase = box + form[box][i].value + '_other';
		}
		//alert (otherbase);
		// If other element exists... 
		if (form.elements[otherbase]) { 
			// Get div element 
			otherDiv = getObj(otherbase);
			//alert(box);
			if (form[box][i].checked) {
				//alert("Checked " + i);
				otherDiv.display = 'block';
				// Set focus
				if (form[box][i].value == value) {
					form.elements[otherbase].focus();
					form.elements[otherbase].select();
				}
			} else {
				//alert ("Unckeck");
				otherDiv.display = 'none';
			}
		}
	} 
}

function ToggleRankOther(form, btn, value) {
	// Create name of other div
	othername = btn + '_other';
	if (form.elements[othername]) {
		// Get div element 
		otherDiv = getObj(othername);
		// If selected then show other
		if (value != '') {
			otherDiv.display = 'inline';
			form.elements[othername].focus();
			form.elements[othername].select();
		} else {
			otherDiv.display = 'none';
		}
	}
}

function ChangeState(id, min, max) {
	imgid = 'img_' + id;
	img = document.getElementById(imgid);
	obj = document.getElementById(id);
	state = obj.value;
	if (state == max) {
		state = min;
	} else {
		state++;
	}		
	obj.value = state;
	imgName = 'images/state' + state + '.gif';
	img.src = imgName;
}

function RunningTotal(id, frm, cnt) {
	// Loop thru elements
	for (var i=1, sum=0; i<= cnt; i++) {
		if (frm.elements[id + '_' + i] != null) {
			val = frm.elements[id + '_' + i].value;
			//alert(val);
			sum += (val == parseFloat(val))?parseFloat(val):0;
		}
	} 
	total = frm.elements[id + '_sum'];
	total.value = sum;
}

function SetFocusToFirstElement() {
	frm = document.forms[0];
	if (frm) {
		for (i=0;i<frm.length;i++) {
			if (frm.elements[i].type != "hidden" && frm.elements[i].disabled != true) {
				// Make exception for scale
				//if (frm.elements[i].name.substring(0,6) != 'scale_') {
				if (!(frm.elements[i].type == 'text' && frm.elements[i].name.indexOf('_')>0)) {
					//frm.elements[i].focus();
					// Exclude ranking
					if (frm.elements[i].type != 'button') {
						// Exclude select for mapanswers
						if (frm.elements[i].type != 'select-one') {
							if (frm.elements[i].type != '') {
								frm.elements[i].select();
							}
						}
					}
				}
				return;
			}
		}
	}
}

function AutoSubmit(frm) {
	if (CheckSubmit()) {
		frm.submit();
	}
}

function ChangeCellState(qname, id, state) {
	// Get value of input element
	obj = document.getElementById(qname + '_' + id);
	// Switch value in case of a click
	if (state == 2) {
		// Set corresponding input element
		if (obj.value == 0) {
			obj.value = id;
			//alert(qname + '_' + id);
		} else {
			obj.value = 0;
		}
	}
	switchedOn = obj.value != 0;
	// Set color
	obj = document.getElementById('cell' + id);
	if (state == 1) {
		// Mouse over, always 1
		col = 1;
	} else {
		if (switchedOn) {
			col = 2;
		} else {
			col = 0;
		}
	}
	obj.className = 'cell_state' + col;
}		

// Prohibit multiple submit and submit before fully loaded
var AllowSubmit = false;
function CheckSubmit() {
	if (AllowSubmit == false) {
		//alert('Not yet!');
		return false;
	} else {
		AllowSubmit = false;
		return true;
	}
}

function SetSubmit(status) {
	if (status == true) {
		AllowSubmit = true;
	} else {
		AllowSubmit = false;
	}
}

// Used for clickable map
function inOpts(str, arr) {
	for (var i = 0; i < arr.length; i++) {
		if (arr[i].text == str) return i;
	}
	return -1;
}

function JumpToSelf(qname) {
	fld = document.getElementById('jumpto');
	fld.value = qname;
}

function JumpToQuestion(qname) {
	fld = document.getElementById('jumpto');
	fld.value = qname;
	document.forms[0].submit();
}

function ShuffleArray ( myArray ) {
  var i = myArray.length;
  if ( i == 0 ) return false;
  while ( --i ) {
     var j = Math.floor( Math.random() * ( i + 1 ) );
     var tempi = myArray[i];
     var tempj = myArray[j];
     myArray[i] = tempj;
     myArray[j] = tempi;
   }
}

function ChangeClassToDone(id) {
	obj = document.getElementById(id);
	// If _error, remove this first
	if (obj.className.indexOf('_error') != -1)
		obj.className = obj.className.substring(0, obj.className.indexOf('_error'));
	if (obj.className.indexOf('_done') == -1)
		obj.className = obj.className + '_done';
}

// Check the checkbox when clicked on the cell
var cbState;

function SetCheckboxState(id) {
	cbState = document.getElementById(id).checked;
}

function CheckUnCheck(id) {
	obj = document.getElementById(id);
	cbState = !cbState;										
	obj.checked = cbState;
}

function CheckRadio(id) {
	obj = document.getElementById(id);
	obj.checked = true;
}

function NumericOnly(e, obj, min, max, dec) {
	// First reject any key that is not allowed
	var iKey;
	if (window.event) {
		iKey = e.keyCode
	} else if (e.which) {
		iKey = e.which;
	} else {
		return true;
	}
	var sVal = obj.value;
	var sDecimal = '.';
	//var sComma = ',';
	var sMinus = '-';
	if (e.type == 'keypress') {
  	if (!((iKey >= 48 && iKey <= 57) || iKey == 8 || (iKey == sMinus.charCodeAt(0) && min < 0 && sVal.indexOf(sMinus) == -1) || (iKey == sDecimal.charCodeAt(0) && dec > 0 && sVal.indexOf(sDecimal) == -1))) 
			return false
		else {
			// Finally take care of too much decimals
			if (dec > 0) {
				var s = sVal.split(sDecimal);
				sVal = s.join(sDecimal);
				if (s.length > 1) {
					return ((s[1].length < dec) || iKey == 8 || (iKey == sMinus.charCodeAt(0)));
				}
			} 
			return true;
		}
	}
	// Now remove minus sign which is not at the first position
	if(sVal.indexOf(sMinus) > 0) {
		sVal = sVal.replace(/-/g, '');
		obj.value = sVal;
	}
}

function ScrollIntoView(element,bAlignTop) {
  if (element.scrollIntoView) element.scrollIntoView(bAlignTop);
  else {
    var posY, marginY=document.body.offsetTop;
    if(bAlignTop) posY=element.offsetTop+marginY;
    else posY=element.offsetTop-window.innerHeight+element.clientHeight+marginY;
    window.scrollTo(0, posY);
  }
}

function PreviewTemplate(name) {
    var setWidth, setHeight;
    setWidth = screen.availWidth / 1.3;
    setHeight = screen.availHeight / 1.3;
    window.open('./templates/' + name + '/', 'preview', 'width=' + setWidth + ', height=' + setHeight + ', left=' + (screen.availWidth - setWidth) / 2 + ', top=' + (screen.availHeight - setHeight) / 2 + ', scrollbars, resizable');
}

function SelectBPTO(name, idx, n) {
	//alert(name);
	//alert(idx);
	// Class is off for all elements
	for (i = 0; i < n; i++) {
		obj = document.getElementById('cell_'+name+i);
		if (obj != null) {
			obj.className = 'bpto_off';
		}
	}
	// Select the one that was clicked
	obj = document.getElementById('cell_'+name+idx);
	obj.className = 'bpto_on';
}

function CheckAllQuestions(list) {
	for (i = 0; i < list.length; i++) {
		list[i].checked = true;
	}
}

function switchLang(lang)
{
	//alert(lang);
	document.getElementById('lang').value = lang.toUpperCase();
	document.quest.submit();
}

/* Words */
var localWords = [];

function toggleWord(sWord, iProjectid){
	if(iProjectid==151){
		var iPos = localWords.indexOf(sWord);
		if (iPos == -1) {
			localWords.push(sWord);
		} else {
			localWords.splice(iPos, 1);
		}
		updateResults('bsrk|bsri|bsrb', iProjectid, 'test88', localWords.join('|'));
	}else{
		//Niks
	}
}

-->
