// JavaScript Document
function checkQuestion() {
var sQuestion, sType, iNumber, sSeleBox, sTextBox, oSelObj, oObj;
	args = checkQuestion.arguments;
	sQuestion = args[0];
	sType = args[1];
	iNumber = 0;
	//Check Box
	if (sType == 'C') {
		sSeleBox = 'document.question.q_'+sQuestion+'_selection';
		oObjSel = eval(sSeleBox);
		for (i=0;i<oObjSel.length;i++) {
			if (oObjSel[i].checked) {
				iNumber = iNumber + 1				
			}
		}
	}
	//Text Box
	if (sType == 'T') {
		for (i=0;i<aOption.length;i++) {
			if (aOption[i][0] == sQuestion) {
				sTextBox = 'document.question.q_'+aOption[i][0]+'_input_'+aOption[i][1];
				oObj = eval(sTextBox);
				if (oObj) {
					if (oObj.value != '') {
						iNumber = iNumber + 1;
					}
				}
			}
		}
	}
	return iNumber;
}

function fct_validate() {
var iTotal, iSubTotal, iLine, sMessage;
	sMessage = '';
	iSubTotal = 0;
	iTotal = 0;
	if (aQuestion.length == 1) {
		if (aQuestion[0][2] > 0) {
			if (aQuestion[0][3] == 1) {
				iTotal = checkQuestion(aQuestion[0][0],'C');
			}
			else {
				iTotal = checkQuestion(aQuestion[0][0],'T');
			}
		}
	}		
	else {
		for(j=1;j<aQuestion.length;j++) {
			iLine = j - 1;
			if (aQuestion[j][2] > 0) {			
				if (aQuestion[j][3] == 1) {
					iSubTotal = checkQuestion(aQuestion[j][0],'C');
				}
				else {
					iSubTotal = checkQuestion(aQuestion[j][0],'T');
				}
				if (iSubTotal < aQuestion[j][1]) {
					sMessage = sMessage + 'Minimum number of answers for row '+iLine+': ' + aQuestion[j][1] +'.\n';
				}
				if (iSubTotal > aQuestion[j][2]) {
					sMessage = sMessage + 'Maximum number of answers for row '+iLine+': ' + aQuestion[j][2] +'.\n';
				}
				iTotal = iTotal + iSubTotal;
			}
		}
		if (sMessage  != '') {
			sMessage = '\nBesides: \n' + sMessage;
		}
	}
	if (iTotal < aQuestion[0][1]) {
		if (aQuestion[0][1] == 1) {
			sMessage = ' at least 1 answer \n' + sMessage;
		}
		else {
			sMessage = ' at least ' + aQuestion[0][1] +' answers \n' + sMessage;		
		}
	}
	if (iTotal > aQuestion[0][2]) {
		if (aQuestion[0][2] == 1) {
			sMessage = ' only 1 answer \n' + sMessage;
		}
		else {
			sMessage = ' only ' + aQuestion[0][2] +' answers\n' + sMessage;			
		}
	}
	if 	(sMessage != '') {
		sMessage = 'You are required to answer this question and provide\n' + sMessage
		alert(sMessage);
		return false;
	}
	else {
		return true;	
	}
}

function fct_managetextbox() {
var sQuestion,sOption, sType, sTextBox, oObj, sSelection, oObjSel;
	args = fct_managetextbox.arguments;
	sQuestion = args[0];
	sOption = args[1];
	sType = args[2];
// For Radio Button
	if (sType == 'R') {
		for (i=0;i<aOption.length;i++) {
			if (aOption[i][0] == sQuestion) {
				sTextBox = 'document.question.q_'+aOption[i][0]+'_input_'+aOption[i][1];
				oObj = eval(sTextBox);
				if (oObj) {
					if (aOption[i][1] == sOption) {
						oObj.disabled = false;
					}
					else {
						oObj.value = '';
						oObj.disabled = true;
					}
				}
			}
		}
	}
// For Check boxes
	if (sType == 'C') {
		sSelection = 'document.question.q_'+sQuestion+'_selection';
		oObjSel = eval(sSelection);
		for (i=0;i<oObjSel.length;i++) {
			if (oObjSel[i].value == sOption) {
				sTextBox = 'document.question.q_'+sQuestion+'_input_'+sOption;			
				oObj = eval(sTextBox);
				if (oObjSel[i].checked) {
					if (oObj) {
					oObj.disabled = false;
					}
				}
				else {
					if (oObj) {
					oObj.value = '';
					oObj.disabled = true;
					}	
				}
			}
		}
	}
return
}