
var co = new Object;

var _codes = new Array();
_codes['50217C-259']  = 4054.33;
_codes['50217RC-259'] = 4054.33;
_codes['50217RC-296'] = 4485.29;
_codes['50218BC-271'] = 4715.58;
_codes['50218BC-325'] = 4140.00;
_codes['50218C-271']  = 4715.58;
_codes['50218C-296']  = 4600.00;
_codes['50218C-325']  = 4140.00;
_codes['50218RC-271'] = 4715.58;
_codes['50218RC-296'] = 4598.85;
_codes['50218RC-325'] = 4140.00;
_codes['50318-642']   = 8280.58;
_codes['50318R-642']  = 8280.58;

function recalc_onclick(ctl) {
//    if (document.formc.automatic_recalc.checked || ctl=='') {
//    if (ctl=='') {
	var fl = document.getElementById("repay_frequency");
	var dl = document.getElementById("repay_daily");
	co.__cost  = eeparseFloatThV(document.formc.__cost.value);
	co.__frequency = document.formc.__frequency[document.formc.__frequency.selectedIndex].value;
	co.__months    = document.formc.__months[document.formc.__months.selectedIndex].value;
	var __selected = document.formc.__months.selectedIndex;
	calc(co);
//	document.formc.__balance.value         = eedisplayFloatNDTh(co.__balance,2);
	var el = document.getElementById("rzzz");
	fl.innerHTML = co.__repayments_note;
	dl.innerHTML = co.__repaydaily_note;
 //   };
};

function recalc_cost(ctl) {
    var _p  = document.getElementById("_product");
    var _c  = document.getElementById("__cost");
    var _ch = document.getElementById("__cost_hidden");
    _c.innerHTML = _codes[_p.value];
    _ch.value = _codes[_p.value];

    recalc_onclick();
};

function enable_submit_1() {
    var _name   = document.getElementById("contact_name");
    var _email  = document.getElementById("email_address");
    var _state  = document.getElementById("state");
    var _abn    = document.getElementById("abn");
    var _submit = document.getElementById("submit");

    if (_name.value != "" && _email.value != "" && _state.value != "" && _abn.value != "") {
	_submit.disabled = false;
    } else {
	_submit.disabled = true;
    }
}

function enable_submit_2() {
    var _agree  = document.getElementById("agree");
    var _submit = document.getElementById("submit");

    _submit.disabled = true;
    if (_agree.checked == true) {
	_submit.disabled = false;
    }
}

function toggle(id) {

    var _fs = "p" + id + "_status";
    var _fv = "p" + id + "_val";
    var _fm = "p" + id + "_mor";

    var fs = document.getElementById(_fs);
    var fv = document.getElementById(_fv);
    var fm = document.getElementById(_fm);

    if (fs.checked == true) {
	fv.disabled = true;
	fm.disabled = true;
    } else {
	fv.disabled = false;
	fm.disabled = false;
    }
};

function enable_dis() {

    var dis   = document.getElementById('dis_ref');
    var dizzy = document.getElementById('distributor');

    if (dis.checked == true) {
	dizzy.disabled = false;
    } else {
	dizzy.disabled = true;
    }
};

var eeisus=0;
var eetrue="TRUE";
var eefalse="FALSE";
var eedec=".";
var eeth=",";
var eedecreg=new RegExp("[.]","g");
var eethreg=new RegExp(",","g");
var eecm1=new Array();

function calc(data) {
    // Get current data.
    var t_cost      = data.__cost;
    var t_frequency = data.__frequency;
    var t_freq_amnt = data.__months;

    var range1;
    var range2;

    if(t_freq_amnt == 36) {
	range1 = 39.88;
	range2 = 34.79;
    } else {
	range1 = 54.33;
	range2 = 48.86;
    }

    if (t_cost < 5000) {
	t_balance = (t_cost*range1)/1000;
    } else {
	t_balance = (t_cost*range2)/1000;
    }

    var t_repayments = t_balance;
    if(str_eq(t_frequency, "Monthly")) {
//	t_repayments = (t_balance/t_freq_amnt);
//	t_repayments = t_balance;
    } else if (str_eq(t_frequency, "Fortnightly")) {
//	t_repayments = (t_balance/(t_freq_amnt*4.2))*2;
//	t_repayments = (t_balance/4.2)*2;
	t_repayments = (t_repayments*12)/26;
    } else if (str_eq(t_frequency, "Weekly")) {
//	t_repayments = (t_balance/(t_freq_amnt*4.2))*1;
//	t_repayments = (t_balance/4.2)*1;
	t_repayments = (t_repayments*12)/52;
    }
    var t_rep_notes  = "Your " + t_frequency + " repayments could be as little as <B>$" + eedisplayFloatNDTh(t_repayments,2) + "</B>";
    var t_repaydaily = eedisplayFloatNDTh((t_balance*12)/365,2);
    var t_repntdaily = "just <B>$" + t_repaydaily + "</B> per day";

    // Populate new data
    data.__balance         = t_balance;
    data.__repayments_note = t_rep_notes;
    data.__repayments      = t_repayments;
    data.__repaydaily_note = t_repntdaily;
    data.__repaydaily      = t_repaydaily;
};

function str_eq(x,y) {
    return(x.toLowerCase()==y.toLowerCase())
};

function myIsNaN(x) {
    return(isNaN(x)||(typeof x=='number'&&!isFinite(x)));
};

function round(n,nd) {
    if(isFinite(n)&&isFinite(nd)) {
	var sign_n=(n<0)?-1:1;
	var abs_n=Math.abs(n);
	var factor=Math.pow(10,nd);
	return sign_n*Math.round(abs_n*factor)/factor;
    } else {
	return NaN;
    }
};

function sum2(arr,rt,rb) {
    var sum=0;
    for(var ii=rt;ii<=rb;ii++) {
	sum+=arr[ii]
    };
    return sum
};

function sum3(arr,rt,ct,rb,cb) {
    var sum=0;
    for(var ii=rt;ii<=rb;ii++) {
	for(var jj=ct;jj<=cb;jj++) {
	    sum+=arr[ii][jj]
	}
    };
    return sum
};

function sumgeneral(cnt,vsum,vcnt,x) {
    var sum=vsum;
    for(var ii=0; ii<x.length; ii++) {
	sum+=sum3(x[ii][0],x[ii][1],x[ii][2],x[ii][3],x[ii][4]);
    };
    return sum;
};

function s2n(str) {
    str=String(str).replace(eedecreg,".");
    return parseFloat(str);
}
function n2s(x) {
    return(x).toString();
}
function b2s(b) {
    return b?eetrue:eefalse;
};

function v2s(v) {
    switch(typeof v) {
	case "number":
	    if(myIsNaN(v)) {
		return v;
	    };
	    return n2s(v);
	case "string":
	    return v;
	case "boolean":
	    return b2s(v);
	case "object":
	    if(v.constructor==Number) {
		if(myIsNaN(v)) {
		    return v;
		};
		return n2s(v);
	    };
	    if(v.constructor==String) {
		return v;
	    };
	    if(v.constructor==Boolean) {
		return b2s(v);
	    };
	    return Number.NaN;
	default:
	    return Number.NaN;
    }
};

function v2n(v) {
    switch(typeof v) {
	case "number":
	    return v;
	case "string":
	    return s2n(v);
	case "boolean":
	    return v?1:0;
	case "object":
	    if(v.constructor==Number) {
		return v;
	    };
	    if(v.constructor==String) {
		return s2n(v);
	    };
	    if(v.constructor==Boolean) {
		return v?1:0;
	    };
	    return Number.NaN;
	default:
	    return Number.NaN;
    }
};

function eeparseFloatTh(str) {
    str=String(str).replace(eethreg,"");
    str=String(str).replace(eedecreg,".");
    var res=parseFloat(str);
    if(isNaN(res)) {
	return 0;
    } else {
	return res;
    }
};

function eedisplayFloatNDTh(x,nd) {
    if(myIsNaN(x)) {
	return Number.NaN;
    } else {
	var res=round(x,nd);
	if(nd>0) {
	    var str=String(res);
	    if(str.indexOf('e')!=-1) return str;
	    if(str.indexOf('E')!=-1) return str;
	    var parts=str.split('.');
	    var res2=eeinsertThousand(parts[0].toString());
	    if(parts.length<2) {
		var decimals=('00000000000000').substring(0,nd);
		return(res2+eedec+decimals);
	    } else {
		var decimals=((parts[1]).toString()+'00000000000000').substring(0,nd);
		return(res2+eedec+decimals);
	    }
	} else {
	    return(eeinsertThousand(res.toString()));
	}
    }
};

function eedisplayFloatNDThV(x,nd) {
    if(x=="") return x;
    if(isFinite(x)) {
	return eedisplayFloatNDTh(x,nd)
    } else {
	return x
    }
};

var eeparseFloatThVreg=new RegExp("^ *-?[0-9.]+ *$");

function eeparseFloatThV(str) {
    if(str=="") return str;
    str=String(str).replace(eethreg,"");
    str=String(str).replace(eedecreg,".");
    if(!eeparseFloatThVreg.test(str)) {
	return str;
    };
    var res=parseFloat(str);
    if(isNaN(res)){return str;
    } else {
	return res;
    }
};

function eeinsertThousand(whole) {
    if(whole==""||whole.indexOf("e")>=0) {
	return whole;
    } else {
	var minus_sign="";
	if(whole.charAt(0)=="-") {
	    minus_sign="-";
	    whole=whole.substring(1);
	};
	var res="";
	var str_length=whole.length-1;
	for(var ii=0; ii<=str_length; ii++) {
	    if(ii>0&&ii%3==0) {
		res=eeth+res;
	    };
	    res=whole.charAt(str_length-ii)+res;
	};
	return minus_sign+res;
    }
};

function eeisstring(v) {
    switch(typeof v) {
	case "string":
	    return true;
	case "object":
	    return v.constructor==String;
	default:
	    return false;
    }
};

