
function format_money(val){

	var money_value = "$" + val;
	var point = money_value.indexOf(".");
	var strlen = money_value.length;

	if (point == -1){
		money_value = money_value + ".00";
	} else {
		if (strlen - point > 3){
			trunc = point + 3;
			money_value = money_value.substring(0, trunc);
		}
		if (money_value.length - point == 2)
			money_value = money_value + "0";
	}
	return(money_value);
}

function add_money(val1, val2){
	re = /^\$|,/g;
	val1 = val1.replace(re, "");
	val2 = val2.replace(re, "");	
	return(format_money(parseFloat(val1) + parseFloat(val2)));

}
function subtract_money(val1, val2){
	re = /^\$|,/g;
	val1 = val1.replace(re, "");
	val2 = val2.replace(re, "");	
	return(format_money(parseFloat(val1) - parseFloat(val2)));

}


function total_fields(fieldnames){
	re = /^\$|,/g;

	tv = "0.00";
	var field = "";
	for (var c=1; c <= 4; c++){
		field = "Class_" + c + "_Cost";
		v = document.enrolmentform[field].value;
		if (v && v != 'Free'){
			tv = add_money(tv, v);
		}
	}
	document.enrolmentform['Subtotal_for_costs'].value = tv;

	v = document.enrolmentform['Discount_amount'].value;
	v = v.replace(re, "");

	if (parseFloat(v)){
		tv = subtract_money(tv, v);
	}
	v = document.enrolmentform['Plus_Member_fee'].value;
	v = v.replace(re, "");
	if (parseFloat(v)){
		tv = add_money(tv, v);
	}
	document.enrolmentform['Total_Amount'].value = tv;
	document.enrolmentform['Display_Total_Amount'].value = tv;

	document.enrolmentform['Grand_Total_Amount'].value = tv;
	document.enrolmentform['Transaction_Fee'].value = "";
	var ntv = tv.replace(re, "");
	
	if (parseFloat(ntv) > 0){

		var lonline_fee = format_money(online_fee);
		var gtv = add_money(tv,lonline_fee);

		document.enrolmentform['Transaction_Fee'].value = lonline_fee;
		document.enrolmentform['Grand_Total_Amount'].value = gtv;
	}
}

function add_gst(value){
	re = /^\$|,/g;
	value = value.replace(re, "");

	var gstvalue = parseFloat(value) * 1.125;
	gstvalue = Math.ceil(gstvalue * 100) / 100;
	return(gstvalue);
}
function remove_gst(value){
	re = /^\$|,/g;
	value = value.replace(re, "");
	gstvalue = parseFloat(value) / 1.125;
	gstvalue = Math.floor(gstvalue * 100) / 100;
	return(gstvalue);
}

function gst_component(value){
	ev = remove_gst(value);
	re = /^\$|,/g;
	value = value.replace(re, "");
	value = parseFloat(value);
	sv = value;
	var gstcomp = (sv - ev) * 100;
	gst = Math.ceil(gstcomp) / 100;
	return(gst);
	
}

