
function enableDisableCalculate(sResultElement, bKeepResult) {
	// verify that all values are set.
	var bAllOk = true;
	var aElements = document.forms[0].elements;
	for (var i=0; i<aElements.length; i++) {
		if ((aElements[i].tagName == 'INPUT') && ((aElements[i].type == 'button') || (aElements[i].type == 'submit') || (aElements[i].type == 'hidden'))) {
			continue;
		}
		if (aElements[i].disabled == true) {
			// alert(aElements[i].name + '-' + aElements[i].tagName + '-' + aElements[i].type);
			bAllOk = false;
			break;
		}
		if (aElements[i].tagName == 'SELECT') {
			var sValue = getSelectListSelectedValue(aElements[i]);
			if (sValue == '|') {
				bAllOk = false;
				break;
			}
		}
		else if (aElements[i].value == '') {
			// alert(aElements[i].name + '-' + aElements[i].tagName + '-' + aElements[i].type);
			bAllOk = false;
			break;
		}
	}
	document.getElementById('btnCalculate').disabled = !bAllOk;
	if (!bKeepResult) {
		document.getElementById('resultMessages').style.display = 'none';
	}
}

function displayHelpItem(sItem) {
	if (!sItem) { sItem = 'standard'; }
	var aElements = document.getElementById('helpContainer').childNodes;
	for (var i=0; i<aElements.length; i++) {
		aElements[i].style.display = (aElements[i].id == sItem) ? 'block' : 'none';
	}
}

// Will toggle the visiblity of the next sibling.
function toggleInfo(oElm) {
	// get next sibling that is a div.
	for (;((!oElm.tagName) || (oElm.tagName != 'DIV')); oElm = oElm.nextSibling) {}
	// toggle details.
	oElm.style.display = (oElm.style.display == 'none') ? 'inline' : 'none';
}

function isNumeric(oElm) {	
	if (oElm.value == '') { return; }
	var val = oElm.value;
	val = val.replace(',', '.');
	if (isNaN(parseFloat(val))) {
		alert('Please enter only numerical values.');
		oElm.focus();
	}
	else {
		var sVal = parseFloat(val).toString();
		oElm.value = sVal.replace('.', ',');
	}
}

// Will get the selected value form a select list.
function getSelectListSelectedValue(elm) {
	if(elm.selectedIndex == -1)
		return;
	var option = elm.options[elm.selectedIndex];
	return option.value;
}

// opens a non-modal window
function openWindow(sURL, sTitle, iWidth, iHeight, bResizable, bScroll, bStatus) {
	var winSettings = 'center=yes' +
		',height=' + iHeight +
		',width=' + iWidth +
		',resizable=' + (bResizable ? 'yes' : 'no') +
		',scrollbars=' + (bScroll ? 'yes' : 'no') +
		',menubar=' + (bStatus ? 'yes' : 'no') +
		',location=' + (bStatus ? 'yes' : 'no') +
		',toolbar=' + (bStatus ? 'yes' : 'no');
	window.open(sURL, '_blank', winSettings);
}

