//##################### STAMP DUTY ##########################
function stampCalcSD(frm) {
var num = frm.num.value;
    if (num == "") {window.alert("You need to enter a dollar value!"); num=0; }
// First of all Northern Territory
    frm.ntSD.value = 0;
    if (num <=500000) {
        var newnum = num/1000.0;
        var CalcSD = (0.065*newnum*newnum) + (21.0 * newnum);
    }
    else {var CalcSD = eval(5.4 * (num/100));}
    frm.ntSD.value = CalcSD;
    frm.ntSD.value = addc(cents(frm.ntSD.value));
    if ((num % 100) != 0 ) {var mod = eval(100-(num % 100));num = -(-num - mod);}
// Now do Victoria
    frm.vicSD.value = 0;
    if (num <= 20000) {var CalcSD = eval(((num)/100)*1.4);}
    else if ((num > 20000) && (num < 115000)) {var CalcSD = eval((((num - 20000)/100)*2.4) + 280);}
    else if ((num >= 115000) && (num < 870000)) {var CalcSD = eval((((num - 115000)/100)*6) + 2560);}
    else {var CalcSD = eval(((num)/100)*5.5);}
    frm.vicSD.value = CalcSD;
    frm.vicSD.value = addc(cents(frm.vicSD.value));
// Now do ACT
    frm.actSD.value = 0;
    if (num <= 14000) {var CalcSD = eval((num/100)*1.25);}
    else if ((num > 14000) && (num <= 30000)) {var CalcSD = eval((((num - 14000)/100)*1.5) + 175);}
    else if ((num > 30000) && (num <= 60000)) {var CalcSD = eval((((num - 30000)/100)*2) + 415);}
    else if ((num > 60000) && (num <= 100000)) {var CalcSD = eval((((num - 60000)/100)*2.5) + 1015);}
    else if ((num > 100000) && (num <= 300000)) {var CalcSD = eval((((num - 100000)/100)*3.5) + 2015);}
    else if ((num > 300000) && (num <= 1000000)) {var CalcSD = eval((((num - 300000)/100)*4.5) + 9015);}
    else {var CalcSD = eval((((num - 1000000)/100)*5.5) + 40515);}
    frm.actSD.value = CalcSD;
    frm.actSD.value = addc(cents(frm.actSD.value));
// Now do Queensland
    frm.qldSD.value = 0;
    if (num < 20000) {var CalcSD = eval((num/100)*1.5);}
    else if ((num >= 20000) && (num < 50000)) {var CalcSD = eval((((num - 20000)/100)*2.25) + 300);}
    else if ((num >= 50000) && (num < 100000)) {var CalcSD = eval((((num - 50000)/100)*2.75) + 975);}
    else if ((num >= 100000) && (num < 250000)) {var CalcSD = eval((((num - 100000)/100)*3.25) + 2350);}
    else if ((num >= 250000) && (num < 500000)) {var CalcSD = eval((((num - 250000)/100)*3.5) + 7225);}
    else {var CalcSD = eval((((num - 500000)/100)*3.75) + 15975);}
    frm.qldSD.value = CalcSD;
    frm.qldSD.value = addc(cents(frm.qldSD.value));
// Now do Western Australia
    frm.waSD.value = 0;
    if (num <= 80000) {var CalcSD = eval((num/100)*1.95);}
    else if ((num > 80000) && (num <= 100000)) {var CalcSD = eval((((num - 80000)/100)*2.85) + 1560);}
    else if ((num > 100000) && (num <= 250000)) {var CalcSD = eval((((num - 100000)/100)*3.7) + 2130);}
    else if ((num > 250000) && (num <= 500000)) {var CalcSD = eval((((num - 250000)/100)*4.55) + 7680);}
    else {var CalcSD = eval((((num - 500000)/100)*4.85) + 19055);}
    frm.waSD.value = CalcSD;
    frm.waSD.value = addc(cents(frm.waSD.value));
// Now do New South Wales
    frm.nswSD.value = 0;
    if (num <= 14000) {var CalcSD = eval((num/100)*1.25);}
    else if ((num > 14000) && (num <= 30000)) {var CalcSD = eval((((num - 14000)/100)*1.5) + 175);}
    else if ((num > 30000) && (num <= 80000)) {var CalcSD = eval((((num - 30000)/100)*1.75) + 415);}
    else if ((num > 80000) && (num <= 300000)) {var CalcSD = eval((((num - 80000)/100)*3.5) + 1290);}
    else if ((num > 300000) && (num <= 1000000)) {var CalcSD = eval((((num - 300000)/100)*4.5) + 8990);}
    else {var CalcSD = eval((((num - 1000000)/100)*5.5) + 40490);}
    frm.nswSD.value = CalcSD;
    frm.nswSD.value = addc(cents(frm.nswSD.value));
// Now do South Australia
    frm.saSD.value = 0;
    if (num <= 12000) {var CalcSD = eval((num/100)*1);}
    else if ((num > 12000) && (num <= 30000)) {var CalcSD = eval((((num - 12000)/100)*2) + 120);}
    else if ((num > 30000) && (num <= 50000)) {var CalcSD = eval((((num - 30000)/100)*3) + 480);}
    else if ((num > 50000) && (num <= 100000)) {var CalcSD = eval((((num - 50000)/100)*3.5) + 1080);}
    else if ((num > 100000) && (num <= 500000)) {var CalcSD = eval((((num - 100000)/100)*4) + 2830);}
    else if ((num > 500000) && (num <= 1000000)) {var CalcSD = eval((((num - 500000)/100)*4.5) + 18830);}
    else {var CalcSD = eval((((num - 1000000)/100)*5) + 41330);}
    frm.saSD.value = CalcSD;
    frm.saSD.value = addc(cents(frm.saSD.value));
// Now do Tasmania
    frm.tasSD.value = 0;
    if (num <= 1300) {var CalcSD = 20;}
    else if ((num > 1300) && (num <= 10000)) {var CalcSD = eval((num/100)*1.5);}
    else if ((num > 10000) && (num <= 30000)) {var CalcSD = eval(((num/100)*2) - 50);}
    else if ((num > 30000) && (num <= 75000)) {var CalcSD = eval(((num/100)*2.5) - 200);}
    else if ((num > 75000) && (num <= 150000)) {var CalcSD = eval(((num/100)*3) - 575);}
    else if ((num > 150000) && (num <= 225000)) {var CalcSD = eval(((num/100)*3.5) - 1325);}
    else {var CalcSD = eval(((num/100)*4) - 2450);}
    frm.tasSD.value = CalcSD;
    frm.tasSD.value = addc(cents(frm.tasSD.value));
}
function addc(i)
{
  if (i.length >= 10 && i.length <= 12) {   i = (i.substring(0,i.length-9) + "," + i.substring(i.length-9,i.length-6) + "," + i.substring(i.length-6,i.length)); }
  else if (i.length >= 7 && i.length <= 9) { i = (i.substring(0,i.length-6) + "," + (i.substring(i.length-6,i.length))); }
  return i;
}
function cents(i)
{
var d = Math.floor(i);
    var tot = Math.round(i*100).toString();
    return (tot.substring(0,tot.length-2) + "." + tot.substring(tot.length-2,tot.length))
}
function floor(number)
{
  return Math.floor(number*Math.pow(10,2))/Math.pow(10,2);
}
function dosum(f)
{
  var mi = f.IR.value / 1200;
  var base = 1;
  var mbase = 1 + mi;
  for (i=0; i<f.YR.value * 12; i++)
  {
    base = base * mbase
  }
  var mp = floor(f.LA.value * mi / ( 1 - (1/base)))
  var zer="";
  if ((mp*100) % 10 == 0) { zer="0"; }
  if ((mp*10) % 10 == 0) { zer=".00"; }
  f.MP.value = "$" + mp + zer
}
//###################### STAMP DUTY ###########################
function select_item(name, value) {
    this.name = name;
    this.value = value;
}
function get_selection(select_object) {
        contents = new select_item();
        for(var i=0;i<select_object.options.length;i++) {
           if(select_object.options[i].selected == true) {
                contents.name = select_object.options[i].text;
                contents.value = select_object.options[i].value;
            }
        }
        return contents;
    }
function stampduty(formfield) {
    var amount = formfield.amount.value;
        var state = get_selection(formfield.state);
    if (amount == "") {
        window.alert("You have not entered a value!");
    }
    if (amount == "") {
        amount = 0;
    }
    if ((amount % 100) != 0 ) {
        var mod = eval(100-(amount % 100));
        amount = -(-amount - mod);
    }
if (state.value == "VIC") {
    if (amount <= 20000) {
        var duty = eval(((amount)/100)*1.4);
    }
    else if ((amount > 20000) && (amount <= 115000)) {
        var duty = eval((((amount - 20000)/100)*2.4) + 280);
    }
    else if ((amount > 115000) && (amount <= 870000)) {
        var duty = eval((((amount - 115000)/100)*6) + 2560);
    }
    else {
        var duty = eval(((amount)/100)*5.5) ;
    }
}
else if (state.value == "NSW") {
    if (amount <= 14000) {
        var duty = eval((amount/100)*1.25);
    }
    else if ((amount > 14000) && (amount <= 30000)) {
        var duty = eval((((amount - 14000)/100)*1.5) + 175);
    }
    else if ((amount > 30000) && (amount <= 80000)) {
        var duty = eval((((amount - 30000)/100)*1.75) + 415);
    }
    else if ((amount > 80000) && (amount <= 300000)) {
        var duty = eval((((amount - 80000)/100)*3.5) + 1290);
    }
    else if ((amount > 300000) && (amount <= 1000000)) {
        var duty = eval((((amount - 300000)/100)*4.5) + 8990);
    }
    else {
        var duty = eval((((amount - 1000000)/100)*5.5) + 40490);
    }
}
else if (state.value == "ACT") {
    if (amount <= 14000) {
        var duty = eval((amount/100)*1.25);
    }
    else if ((amount > 14000) && (amount <= 30000)) {
        var duty = eval((((amount - 14000)/100)*1.5) + 175);
    }
    else if ((amount > 30000) && (amount <= 60000)) {
        var duty = eval((((amount - 30000)/100)*2) + 415);
    }
    else if ((amount > 60000) && (amount <= 100000)) {
        var duty = eval((((amount - 60000)/100)*2.5) + 1015);
    }
    else if ((amount > 100000) && (amount <= 300000)) {
        var duty = eval((((amount - 100000)/100)*3.5) + 2015);
    }
    else if ((amount > 300000) && (amount <= 1000000)) {
        var duty = eval((((amount - 300000)/100)*4.5) + 9015);
    }
    else {
        var duty = eval((((amount - 1000000)/100)*5.5) + 40515);
    }
}
else if (state.value == "QLD") {
    if (amount <= 250000) {
        var duty = eval((amount/100)*1);
    }
    else if ((amount > 250000) && (amount <= 500000)) {
        var duty = eval((((amount - 250000)/100)*3.5) + 2500);
    }
    else {
        var duty = eval((((amount - 500000)/100)*3.75) + 11250);
    }
}
else if (state.value == "SA") {
    if (amount <= 12000) {
        var duty = eval((amount/100)*1);
    }
    else if ((amount > 12000) && (amount <= 30000)) {
        var duty = eval((((amount - 12000)/100)*2) + 120);
    }
    else if ((amount > 30000) && (amount <= 50000)) {
        var duty = eval((((amount - 30000)/100)*3) + 480);
    }
    else if ((amount > 50000) && (amount <= 100000)) {
        var duty = eval((((amount - 50000)/100)*3.5) + 1080);
    }
    else if ((amount > 100000) && (amount <= 500000)) {
        var duty = eval((((amount - 100000)/100)*4) + 2830);
    }
    else if ((amount > 500000) && (amount <= 1000000)) {
        var duty = eval((((amount - 500000)/100)*4.5) + 18830);
    }
    else {
        var duty = eval((((amount - 1000000)/100)*5) + 41330);
    }
}
else if (state.value == "TAS") {
    if (amount <= 1300) {
        var duty = 20;
    }
    else if ((amount > 1300) && (amount <= 10000)) {
        var duty = eval((amount/100)*1.5);
    }
    else if ((amount > 10000) && (amount <= 30000)) {
        var duty = eval((((amount - 10000)/100)*2) + 150);
    }
    else if ((amount > 30000) && (amount <= 75000)) {
        var duty = eval((((amount - 30000)/100)*2.5) + 550);
    }
    else if ((amount > 75000) && (amount <= 150000)) {
        var duty = eval((((amount - 75000)/100)*3) + 1675);
    }
    else if ((amount > 150000) && (amount <= 225000)) {
        var duty = eval((((amount - 150000)/100)*3.5) + 3925);
    }
    else {
        var duty = eval((((amount - 225000)/100)*4) + 6550);
    }
}
else if (state.value == "WA") {
    if (amount <= 80000) {
        var duty = eval((amount/100)*1.95);
    }
    else if ((amount > 80000) && (amount <= 100000)) {
        var duty = eval((((amount - 80000)/100)*2.85) + 1560);
    }
    else if ((amount > 100000) && (amount <= 250000)) {
        var duty = eval((((amount - 100000)/100)*3.7) + 2130);
    }
    else if ((amount > 250000) && (amount <= 500000)) {
        var duty = eval((((amount - 250000)/100)*4.55) + 7680);
    }
    else {
        var duty = eval((((amount - 500000)/100)*4.85) + 19055);
    }
}
else if (state.value == "NT") {
    if (amount <=500000) {
        newamount = eval(amount / 1000);
        var duty = eval((0.065 * Math.pow(newamount,2)) + (21 * newamount));
    }
    else {
        var duty = eval(5.4 * (amount/100));
    }
}
duty = Math.round(duty);
formfield.duty.value = duty;
}
//###################### MORTGAGE STAMP DUTY ###########################
function mstampduty(formfield) {
    var amount2 = formfield.amount2.value;
    var state2 = get_selection(formfield.state2);
    if (amount2 == "") {
        window.alert("You have not entered a value!");
    }
    if (amount2 == "") {
        amount2 = 0;
    }
    if ((amount2 % 100) != 0 ) {
        var mod = eval(100-(amount2 % 100));
        amount2 = -(-amount2 - mod);
    }
if (state2.value == "VIC") {
    if (amount2 <= 10000) {
        var duty2 = 4;
    }
    else {
        var duty2 = eval((((amount2 - 10000)/200)*0.8) + 4);
    }
}
else if (state2.value == "NSW") {
    if (amount2 <= 16000) {
        var duty2 = 5;
    }
    else {
        var duty2 = eval((((amount2 - 16000)/1000)*4) + 5);
    }
}
else if (state2.value == "ACT") {
    var duty2 = 0;
}
else if (state2.value == "QLD") {
    var duty2 = eval(amount2 * 0.004);
}
else if (state2.value == "SA") {
    if (amount2 <= 400) {
        var duty2 = 0;
    }
    else if ((amount2 > 400) && (amount2 <= 4000)) {
        var duty2 = 10;
    }
    else if ((amount2 > 4000) && (amount2 <= 10000)) {
        var duty2 = eval((((amount2 - 4000)/100)*0.25) + 10);
    }
    else {
        var duty2 = eval((((amount2 - 10000)/100)*0.35) + 25);
    }
}
else if (state2.value == "TAS") {
    if (amount2 <= 8000) {
        var duty2 = 20;
    }
    else if ((amount2 > 8000) && (amount2 <= 10000)) {
        var duty2 = eval((((amount2 - 8000)/100)*0.25) + 20);
    }
    else {
        var duty2 = eval((((amount2 - 10000)/100)*0.35) + 25);
    }
}
else if (state2.value == "WA") {
    var duty2 = eval(amount2 * 0.0025);
}
else if (state2.value == "NT") {
    var duty2 = 0;
}
    formfield.duty2.value = duty2;
}
