
function programChanged(fieldObj){
	var programId = fieldObj.value;
	var objFee = document.getElementById("Fee"+fieldObj.name.substring(8,10));
	var dateObj = document.getElementById("dateId"+fieldObj.name.substring(8,10));
					
		DWREngine._execute(_ajaxConfig._cfscriptLocation, null, 'getProgramDates', {"programId":programId}, dateResult);
		DWREngine._execute(_ajaxConfig._cfscriptLocation, null, 'getProgramFee', {"programId":programId}, feeResult);
	
		function feeResult(r) {
		if(r.fee!='') {
			objFee.value = fmtMoney(r.fee, 2, '.', ',' );
			}
			else
			{
			objFee.value = '0.00';
			}
		total(6);
		}
			
		function dateResult(r) {
			
			if(r.getRowCount() > 0){

			var getText = function (thisRow) { return thisRow.startdate + ' -> ' + thisRow.enddate; }
			var getValue = function (thisRow) { return thisRow.id; }
			DWRUtil.removeAllOptions(dateObj);
			DWRUtil.addOptions(dateObj, [{ name:'Select Dates', value:'0' }], "value", "name"); 
			DWRUtil.addOptions(dateObj, r, [getValue, getText], null);
			}
			else {
				DWRUtil.removeAllOptions(dateObj);
	
			}
		
		}	
}

function total(number) {
	var totalfee = 0;
	for (var i=1;i<number;i++) {
	if (document.getElementById("Fee0" + i).value == '')
	document.getElementById("Fee0" + i).value = '0.00'; // fix for Opera.
	
	subtotal = (document.getElementById("Fee0" + i).value).replace(/,/g,"") - 0;

	totalfee += subtotal;
	}
	
	document.getElementById("totalfee").value = fmtMoney(totalfee, 2, '.', ',' );
}

// Helpers
function fmtMoney(n, c, d, t){
    var m = (c = Math.abs(c) + 1 ? c : 2, d = d || ",", t = t || ".",
        /(\d+)(?:(\.\d+)|)/.exec(n + "")), x = m[1].length > 3 ? m[1].length % 3 : 0;
    return (x ? m[1].substr(0, x) + t : "") + m[1].substr(x).replace(/(\d{3})(?=\d)/g,
        "$1" + t) + (c ? d + (+m[2] || 0).toFixed(c).substr(2) : "");
};
