
//##################### 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 == "VIC2") {

	if (amount2 <= 10000) {
		var duty2 = 4;
	}
	else {
		var duty2 = eval((((amount2 - 10000)/200)*0.8) + 4);
	}
}

else if (state2.value == "NSW2") {

	if (amount2 <= 16000) {
		var duty2 = 5;
	}
	else {
		var duty2 = eval((((amount2 - 16000)/1000)*4) + 5);
	}

}

else if (state2.value == "ACT2") {

	var duty2 = 0;
}


else if (state2.value == "QLD2") {

	var duty2 = eval(amount2 * 0.004);
}


else if (state2.value == "SA2") {

	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 == "TAS2") {

	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 == "WA2") {

	var duty2 = eval(amount2 * 0.0025);
}

else if (state2.value == "NT2") {

	var duty2 = 0;

}
	formfield.duty2.value = duty2;
}

