	//IE only - Firefx doesn't run inline script on back reload which this handles
	//but does reload state correctly
setTimeout('initialiseForm()', 1000);
	
	
function submitBack(btn, uidOldSurveyPageID) {
	var frm = document.getElementById('frmUserSurvey');
		
	var oPageId = document.getElementById('uidPageID');
	if(oPageId != null) {
		oPageId.value = uidOldSurveyPageID;
	} else {
		oPageId = document.createElement('input');
		oPageId.id = 'uidPageID';
		oPageId.name = 'uidPageID';
		oPageId.value = uidOldSurveyPageID;
		oPageId.type = 'hidden';
			
		frm.appendChild(oPageId);
			
		var oFinished = document.getElementsByName('finished')[0];
		oFinished.parentNode.removeChild(oFinished);
	}
		
	var objFinished = document.getElementById('finished');
	if (objFinished) {
	    objFinished.value = '0';
	}
		
	if(document.getElementById('disable_mandatory')==null) {
		var obj = document.createElement('input');
		obj.id = 'disable_mandatory';
		obj.name = 'disable_mandatory';
		obj.type = 'hidden';
		obj.value = 'true';
			
		frm.appendChild(obj);
	}
		
	frm.submit();
}
	
	
function initialiseForm() {
	$('.text_date').datepicker({ dateFormat: 'dd/mm/yy' });
	var colI = document.getElementsByTagName('input');
	for(var i=0;i<colI.length;i++) {
		if(colI[i].parentNode.tagName.toLowerCase()=='td') {
			if(colI[i].parentNode.className=='minmaxresult') {
				setAnswer(colI[i].id, colI[i].value);
			}
		}
	}
}
	
function formSubmissionValidation(evt) {
	var obj = document.getElementById('disable_mandatory');
	if(obj != null) {
		obj.parentNode.removeChild(obj);
	}

	var frm = evt.target || evt.srcElement;
	var col = frm.elements;
		
	var bValid = true;
	var bRadioValid = false;
	var sMessage = '';
		
	for(var i=0;i<col.length-1;i++) {
		switch(col[i].tagName.toLowerCase()) {
			case 'input':
				switch(col[i].type.toLowerCase()) {
				    case 'file':
					case 'text':
						if(col[i].value=='' && col[i].getAttribute('mandatory')=='1') {
							bValid = false;
							sMessage = buildMessage(sMessage, col[i]);
						}
						break;
					case 'radio':
						colR = document.getElementsByName(col[i].name);
						if(colR.length!=0) {
							for(var j=0;j<colR.length;j++) {
								if(colR[j].checked) bRadioValid = true;
							}
							if(!bRadioValid && col[i].getAttribute('mandatory')=='1') {
								bValid = false;
								sMessage = buildMessage(sMessage, col[i]);
							}
						}
						break;
					case 'checkbox':
						if(!col[i].checked && col[i].getAttribute('mandatory')=='1') {
							bValid = false;
							sMessage = buildMessage(sMessage, col[i]);
						}
						break;
				}
				break;
			case 'textarea':
				if(col[i].innerText=='' && col[i].getAttribute('mandatory')=='1') {
					bValid = false;
					sMessage = buildMessage(sMessage, col[i]);
				}
				break;
			case 'select':
				if(col[i].options[col[i].selectedIndex].value=='' && col[i].getAttribute('mandatory')=='1') {
					bValid = false;
					sMessage = buildMessage(sMessage, col[i]);
				}
				break;
		}
	}
		
	if(!bValid) {
		alert(sMessage);
	}
		
	return bValid;
}
	
function getValue(obj) {
	switch(obj.tagName.toLowerCase()) {
		case 'input':
			switch(obj.type) {
				case 'text':
					return obj.value;
					break;
				case 'radio':
					var col = document.getElementsByName(obj.name);
					for(var i=0;i<col.length;i++) {
						if(col[i].checked) return col[i].value;
					}
					return '';
					break;
				case 'checkbox':
					if(obj.checked) {
						return obj.value;
					} else {
						return '';
					}
					break;
			}
			break;
		case 'textarea':
			return obj.innerText;
			break;
		case 'select':
			if(obj.selectedIndex != -1) {
				return obj.options[obj.selectedIndex];
			} else {
				return '';
			}
			break;
		default:
			return '';
	}
}

function setAnswer(strQuestionID, intValue) {
    var objAnswer = document.getElementById(strQuestionID);
    if (objAnswer != null) objAnswer.value = intValue;
        	            
    for (var i = 0; i <= 100; i++) {
        var objAnswer = document.getElementById(strQuestionID + '_' + i);
        if (objAnswer != null) {
            if (i < intValue) objAnswer.className = 'selected';
            else objAnswer.className = '';
        }
    }
}

function buildMessage(sMessage, oQuestion) {
	if(sMessage=='') {
		sMessage = 'One or more mandatory questions have not been completed,\nPlease complete the following questions :\n';
	}
	var elem = oQuestion.parentNode.parentNode.getElementsByTagName('label')[0];
	var sLabel = elem.innerText || elem.textContent;
	sMessage += '\n' + sLabel;
		
	return sMessage;
}
