	function computeForm(form) {
	    if (form.property.value == null || form.property.value.length == 0)
	        form.property.value = 0;
	    if (form.amount.value == null || form.amount.value.length == 0)
	        form.amount.value = 0;
	    form.nswStampDuty.value = 0;
	    form.vicStampDuty.value = 0;
	    form.qldStampDuty.value = 0;
	    form.saStampDuty.value = 0;
	    form.waStampDuty.value = 0;
	    form.ntStampDuty.value = 0;
	    form.actStampDuty.value = 0;
	    form.tasStampDuty.value = 0;
	    form.nswStampDuty2.value = 0;
	    form.vicStampDuty2.value = 0;
	    form.qldStampDuty2.value = 0;
	    form.saStampDuty2.value = 0;
	    form.waStampDuty2.value = 0;
	    form.ntStampDuty2.value = 0;
	    form.actStampDuty2.value = 0;
	    form.tasStampDuty2.value = 0;
	    form.nswTransfer.value = 0;
	    form.vicTransfer.value = 0;
	    form.qldTransfer.value = 0;
	    form.saTransfer.value = 0;
	    form.waTransfer.value = 0;
	    form.ntTransfer.value = 0;
	    form.actTransfer.value = 0;
	    form.tasTransfer.value = 0;
	    var tempAmount = form.amount.value;
	    var tempProperty = form.property.value;
	    if (form.amount.value >0 && form.amount.value <= 16000)
	        form.nswStampDuty.value = 5;
	    if (form.amount.value > 16000) {
	        tempAmount = (tempAmount - 16000) / 1000;
	        for (var i=0, k=1; tempAmount >i && tempAmount > k ; i++, k++);
	        form.nswStampDuty.value = (k * 4) + 5;
	    }             
	    if (form.property.value >0 && form.property.value <= 14000) {
	        tempProperty = (tempProperty / 100);
	        for (var i=0, k=1; tempProperty >i && tempProperty > k ; i++, k++);
	        form.nswStampDuty2.value = eval(form.nswStampDuty2.value) + (k * 1.25);
	    }
	    if (form.property.value > 14000 && form.property.value <= 30000) {
	        tempProperty = (tempProperty - 14000) / 100;
	        for (var i=0, k=1; tempProperty >i && tempProperty > k ; i++, k++);
	        form.nswStampDuty2.value = eval(form.nswStampDuty2.value)+(k * 1.5) + 175;
	    }
	    if (form.property.value > 30000 && form.property.value <= 80000) {
	        tempProperty = (tempProperty - 30000) / 100;
	        for (var i=0, k=1; tempProperty >i && tempProperty > k ; i++, k++);
	        form.nswStampDuty2.value = eval(form.nswStampDuty2.value)+(k * 1.75) + 415;
	    }
	    if (form.property.value > 80000 && form.property.value <= 300000) { 
	        tempProperty = (tempProperty - 80000) / 100;
	        for (var i=0, k=1; tempProperty >i && tempProperty > k ; i++, k++);
	        form.nswStampDuty2.value = eval(form.nswStampDuty2.value)+(k * 3.5) + 1290;
	    }
	    if (form.property.value > 300000 && form.property.value <= 1000000) {
	        tempProperty = (tempProperty - 300000) / 100;
	        for (var i=0, k=1; tempProperty >i && tempProperty > k ; i++, k++);
	        form.nswStampDuty2.value = eval(form.nswStampDuty2.value)+(k * 4.5) + 8990;
	    }            
	    if (form.property.value > 1000000) {
	        tempProperty = (tempProperty - 1000000) / 100;
	        for (var i=0, k=1; tempProperty >i && tempProperty > k ; i++, k++);
	        form.nswStampDuty2.value = eval(form.nswStampDuty2.value)+(k*5.5) + 40490;
	    }             
	    form.nswTransfer.value = 56;
	tempAmount = form.amount.value;
	tempProperty = form.property.value;
	if (form.amount.value >0 && form.amount.value <= 10000)
	form.vicStampDuty.value = 4;    
	if (form.amount.value > 10000) 
	{
	tempAmount = (tempAmount - 10000) / 200;
	for (var i=0, k=1; tempAmount >i && tempAmount > k ; i++, k++);
	form.vicStampDuty.value = 4 + (k * 0.8);
	}
	if (form.property.value >0 && form.property.value <= 20000) 
	{
	form.vicStampDuty2.value = eval(tempProperty) * 0.014;
	}
	if (form.property.value > 20000 && form.property.value <=115000) 
	{
	tempProperty = (tempProperty - 20000);
	form.vicStampDuty2.value = eval(tempProperty) * 0.024 + 280;
	}
	if (form.property.value > 115000 && form.property.value <=870000) 
	{
	tempProperty = (tempProperty - 115000);
	form.vicStampDuty2.value = eval(tempProperty) * 0.06 + 2560;
	}
	if (form.property.value > 870000) 
	{
	form.vicStampDuty2.value = eval(tempProperty) * 0.055;
	}
	tempProperty = form.property.value;
	if (form.property.value >0 && form.property.value <= 500000)
	form.vicTransfer.value = (tempProperty / 1000) * 2.46 + 90;
	if (form.property.value > 500000)
	form.vicTransfer.value = 1320;
	tempAmount = form.amount.value;
	tempProperty = form.property.value;
	tempAmount *= 0.004;
	form.qldStampDuty.value = tempAmount; 
	if (form.property.value >0 && form.property.value <= 250000) 
	{ 
	tempProperty = (tempProperty / 100);
	for (var i=0, k=1; tempProperty >i && tempProperty > k ; i++, k++);
	form.qldStampDuty2.value = eval(form.qldStampDuty2.value) + (k * 1.0);
	}
	if (form.property.value > 250000 && form.property.value < 500000) 
	{
	tempProperty = (tempProperty - 250000) / 100;
	for (var i=0, k=1; tempProperty >i && tempProperty > k ; i++, k++);
	form.qldStampDuty2.value = eval(form.qldStampDuty2.value) + (k * 3.5) + 2500;
	}
	if (form.property.value >= 500000) 
	{
	tempProperty = (tempProperty - 500000) / 100;
	for (var i=0, k=1; tempProperty >i && tempProperty > k ; i++, k++);
	form.qldStampDuty2.value = eval(form.qldStampDuty2.value) + (k * 3.75) + 11250;
	}
	tempProperty = form.property.value;
	if (form.property.value <= 180000)
	form.qldTransfer.value = 87;
	if (form.property.value > 180000) 
	{
	tempProperty = (tempProperty - 180000) / 10000;
	for (var i=0, k=1; tempProperty >i && tempProperty > k ; i++, k++);
	form.qldTransfer.value = eval(form.qldTransfer.value) + (k * 20) + 87;
	}
	tempAmount = form.amount.value;
	tempProperty = form.property.value;
	if (form.amount.value <= 400)
	form.saStampDuty.value = 0;
	if (form.amount.value > 400 && form.amount.value <= 4000)
	form.saStampDuty.value = 10;
	if (form.amount.value > 4000 && form.amount.value <= 10000) 
	{
	tempAmount = (tempAmount - 4000) / 100;
	for (var i=0, k=1; tempAmount >i && tempAmount > k ; i++, k++);
	form.saStampDuty.value = (k * 0.25) + 10;
	}
	if (form.amount.value > 10000) 
	{
	tempAmount = (tempAmount - 10000) / 100;
	for (var i=0, k=1; tempAmount >i && tempAmount > k ; i++, k++);
	form.saStampDuty.value = (k * 0.35) + 25.00000000000001;
	}               
	if (form.property.value >0 && form.property.value <= 12000) 
	{
	tempProperty = (tempProperty / 100);
	for (var i=0, k=1; tempProperty >i && tempProperty > k ; i++, k++);
	form.saStampDuty2.value = eval(form.saStampDuty2.value) + (k * 1);
	}
	if (form.property.value > 12000 && form.property.value <=30000) 
	{
	tempProperty = (tempProperty - 12000) / 100;
	for (var i=0, k=1; tempProperty >i && tempProperty > k ; i++, k++);
	form.saStampDuty2.value = eval(form.saStampDuty2.value) + (k * 2) + 120;
	}
	if (form.property.value > 30000 && form.property.value <=50000) 
	{
	tempProperty = (tempProperty - 30000) / 100;
	for (var i=0, k=1; tempProperty >i && tempProperty > k ; i++, k++);
	form.saStampDuty2.value = eval(form.saStampDuty2.value) + (k * 3) + 480;
	}
	if (form.property.value > 50000 && form.property.value <=100000) 
	{
	tempProperty = (tempProperty - 50000) / 100;
	for (var i=0, k=1; tempProperty >i && tempProperty > k ; i++, k++);
	form.saStampDuty2.value = eval(form.saStampDuty2.value) + (k * 3.5) + 1080;
	}
	if (form.property.value > 100000 && form.property.value <=1000000) 
	{
	tempProperty = (tempProperty - 100000) / 100;
	for (var i=0, k=1; tempProperty >i && tempProperty > k ; i++, k++);
	form.saStampDuty2.value = eval(form.saStampDuty2.value) + (k * 4) + 2830;
	}
	if (form.property.value > 1000000) 
	{
	tempProperty = (tempProperty - 1000000) / 100;
	for (var i=0, k=1; tempProperty >i && tempProperty > k ; i++, k++);
	form.saStampDuty2.value = eval(form.saStampDuty2.value) + (k * 4.5) + 38830;
	}                
	tempProperty = form.property.value;
	if (form.property.value <= 5000)
	form.saTransfer.value = 80;
	if (form.property.value > 5000 && form.property.value <= 20000)
	form.saTransfer.value = 90;
	if (form.property.value > 20000 && form.property.value <= 40000)
	form.saTransfer.value = 100;
	if (form.property.value > 40000 && form.property.value <= 50000)
	form.saTransfer.value = 142;
	if (form.property.value > 50000) {
	tempProperty = (tempProperty - 50000) / 10000;
	for (var i=0, k=1; tempProperty >i && tempProperty > k ; i++, k++);
	form.saTransfer.value = (k * 45) + 142;
	}                
	tempAmount = form.amount.value;
	tempProperty = form.property.value;
	form.waStampDuty.value = tempAmount * 0.0025;
	if (form.property.value >0 && form.property.value <= 80000) 
	{     
	tempProperty = (tempProperty / 100);
	for (var i=0, k=1; tempProperty >i && tempProperty > k ; i++, k++);
	form.waStampDuty2.value = eval(form.waStampDuty2.value) + (k * 1.95);
	}
	if (form.property.value > 80000 && form.property.value <= 100000) 
	{
	tempProperty = (tempProperty - 80000) / 100;
	for (var i=0, k=1; tempProperty >i && tempProperty > k ; i++, k++);
	form.waStampDuty2.value = eval(form.waStampDuty2.value) + (k * 2.85) + 1560;
	}
	if (form.property.value > 100000 && form.property.value <= 250000) 
	{
	tempProperty = (tempProperty - 100000) / 100;
	for (var i=0, k=1; tempProperty >i && tempProperty > k ; i++, k++);
	form.waStampDuty2.value = eval(form.waStampDuty2.value) + (k * 3.7) + 2130;
	}
	if (form.property.value > 250000 && form.property.value <= 500000) 
	{
	tempProperty = (tempProperty - 250000) / 100;
	for (var i=0, k=1; tempProperty >i && tempProperty > k ; i++, k++);
	form.waStampDuty2.value = eval(form.waStampDuty2.value) + (k * 4.55) + 7680;
	}
	if (form.property.value > 500000) 
	{
	tempProperty = (tempProperty - 500000) / 100;
	for (var i=0, k=1; tempProperty >i && tempProperty > k ; i++, k++);
	form.waStampDuty2.value = eval(form.waStampDuty2.value) + (k * 4.85) + 19055;
	}                
	tempProperty = form.property.value;
	if (form.property.value <= 85000)
	form.waTransfer.value = 64;
	if (form.property.value > 85000 && form.property.value <= 120000)
	form.waTransfer.value = 74;
	if (form.property.value > 120000 && form.property.value <= 200000)
	form.waTransfer.value = 94;
	if (form.property.value > 200000) 
	{
	tempProperty = (tempProperty - 200000) / 100000;
	for (var i=0, k=1; tempProperty >i && tempProperty > k ; i++, k++);
	form.waTransfer.value = (k * 20) + 94;
	}
	tempAmount = form.amount.value;
	tempProperty = form.property.value;
	form.ntStampDuty.value = 0;         
	tempProperty /= 1000;            
	var tempP = tempProperty;
	tempProperty *= tempProperty;
	if (form.property.value <= 500000 ) 
	{
	form.ntStampDuty2.value = eval(tempProperty * 0.065) + eval(21 * tempP);
	}
	if (form.property.value > 500000) 
	{
	form.ntStampDuty2.value = (form.property.value * 0.054);
	}
	form.ntTransfer.value = 90;
	tempAmount = form.amount.value;
	tempProperty = form.property.value;
	form.actStampDuty.value = 0;        
	if (form.property.value >0 && form.property.value <= 14000) 
	{     
	tempProperty = (tempProperty / 100);
	for (var i=0, k=1; tempProperty >i && tempProperty > k ; i++, k++);
	form.actStampDuty.value = eval(form.actStampDuty.value) + (k * 1.25);
	}
	if (form.property.value > 14000 && form.property.value <= 30000) 
	{
	tempProperty = (tempProperty -1400) / 100;
	for (var i=0, k=1; tempProperty >i && tempProperty > k ; i++, k++);
	form.actStampDuty2.value = eval(form.actStampDuty2.value) + (k * 1.5) + 175;
	}
	if (form.property.value > 30000 && form.property.value <= 60000) 
	{
	tempProperty = (tempProperty - 30000) / 100;
	for (var i=0, k=1; tempProperty >i && tempProperty > k ; i++, k++);
	form.actStampDuty2.value = eval(form.actStampDuty2.value) + (k * 2) + 415;
	}
	if (form.property.value > 60000 && form.property.value <= 100000) 
	{
	tempProperty = (tempProperty - 60000) / 100;
	for (var i=0, k=1; tempProperty >i && tempProperty > k ; i++, k++);
	form.actStampDuty2.value = eval(form.actStampDuty2.value) + (k * 2.5) + 1015;
	}
	if (form.property.value > 100000 && form.property.value <= 300000) 
	{
	tempProperty = (tempProperty - 100000) / 100;
	for (var i=0, k=1; tempProperty >i && tempProperty > k ; i++, k++);
	form.actStampDuty2.value = eval(form.actStampDuty2.value) + (k * 3.5) + 2015;
	}
	if (form.property.value > 300000 && form.property.value <= 1000000) 
	{
	tempProperty = (tempProperty - 300000) / 100;
	for (var i=0, k=1; tempProperty >i && tempProperty > k ; i++, k++);
	form.actStampDuty2.value = eval(form.actStampDuty2.value) + (k * 4.5) + 9015;
	}                
	form.actTransfer.value = 140;
	tempAmount = form.amount.value;
	tempProperty = form.property.value;
	if (form.amount.value >0 && form.amount.value <= 8000)
	form.tasStampDuty.value = 20;
	if (form.amount.value > 8000 && form.amount.value <= 10000) 
	{
	tempAmount = (tempAmount - 8000) / 100;
	for (var i=0, k=1; tempAmount >i && tempAmount > k ; i++, k++);
	form.tasStampDuty.value = (k * 0.25) + 20.00000000000001;
	}
	if (form.amount.value > 10000) 
	{
	tempAmount = (tempAmount - 10000) / 100;
	for (var i=0, k=1; tempAmount >i && tempAmount > k ; i++, k++);
	form.tasStampDuty.value = (k * 0.35) + 25.00000000000001;
	}             
	if (form.property.value >0 && form.property.value <= 1300)  
	form.tasStampDuty2.value = eval(form.tasStampDuty2.value) + 20;
	if (form.property.value > 1300 && form.property.value <= 10000) 
	{
	tempProperty = (tempProperty - 1300) / 100;
	for (var i=0, k=1; tempProperty >i && tempProperty > k ; i++, k++);
	form.tasStampDuty2.value = eval(form.tasStampDuty2.value) + (k * 1.5) + 20;
	}
	if (form.property.value > 10000 && form.property.value <= 30000) 
	{
	tempProperty = (tempProperty - 10000) / 100;
	for (var i=0, k=1; tempProperty >i && tempProperty > k ; i++, k++);
	form.tasStampDuty2.value = eval(form.tasStampDuty2.value) + (k * 2) + 150;
	}
	if (form.property.value > 30000 && form.property.value <= 75000) 
	{
	tempProperty = (tempProperty - 30000) / 100;
	for (var i=0, k=1; tempProperty >i && tempProperty > k ; i++, k++);
	form.tasStampDuty2.value = eval(form.tasStampDuty2.value) + (k * 2.5) + 550;
	}
	if (form.property.value > 75000 && form.property.value <= 150000) 
	{
	tempProperty = (tempProperty - 75000) / 100;
	for (var i=0, k=1; tempProperty >i && tempProperty > k ; i++, k++);
	form.tasStampDuty2.value = eval(form.tasStampDuty2.value) + (k * 3) + 1675;
	}
	if (form.property.value > 150000 && form.property.value <= 225000) 
	{
	tempProperty = (tempProperty - 150000) / 100;
	for (var i=0, k=1; tempProperty >i && tempProperty > k ; i++, k++);
	form.tasStampDuty2.value = eval(form.tasStampDuty2.value) + (k * 3.5) + 3925;
	}
	if (form.property.value > 225000) 
	{
	tempProperty = (tempProperty - 225000) / 100;
	for (var i=0, k=1; tempProperty >i && tempProperty > k ; i++, k++);
	form.tasStampDuty2.value = eval(form.tasStampDuty2.value) + (k * 4) + 6550;
	}                
	form.tasTransfer.value = 130;
	form.nswTotalDuty.value = eval(form.nswStampDuty.value) + eval(form.nswStampDuty2.value)
	+ eval(form.nswTransfer.value);
	form.vicTotalDuty.value = eval(form.vicStampDuty.value) + eval(form.vicStampDuty2.value)
	+ eval(form.vicTransfer.value);
	form.qldTotalDuty.value = eval(form.qldStampDuty.value) + eval(form.qldStampDuty2.value)
	+ eval(form.qldTransfer.value);
	form.saTotalDuty.value = eval(form.saStampDuty.value) + eval(form.saStampDuty2.value)
	+ eval(form.saTransfer.value);
	form.waTotalDuty.value = eval(form.waStampDuty.value) + eval(form.waStampDuty2.value)
	+ eval(form.waTransfer.value);
	form.ntTotalDuty.value = eval(form.ntStampDuty.value) + eval(form.ntStampDuty2.value)
	+ eval(form.ntTransfer.value);
	form.actTotalDuty.value = eval(form.actStampDuty.value) + eval(form.actStampDuty2.value)
	+ eval(form.actTransfer.value);
	form.tasTotalDuty.value = eval(form.tasStampDuty.value) + eval(form.tasStampDuty2.value)
	+ eval(form.tasTransfer.value);
	form.nswStampDuty.value = format(round(form.nswStampDuty.value));
	form.vicStampDuty.value = format(round(form.vicStampDuty.value));
	form.qldStampDuty.value = format(round(form.qldStampDuty.value));
	form.saStampDuty.value = format(round(form.saStampDuty.value));
	form.waStampDuty.value = format(round(form.waStampDuty.value));
	form.ntStampDuty.value = format(round(form.ntStampDuty.value));
	form.actStampDuty.value = format(round(form.actStampDuty.value));
	form.tasStampDuty.value = format(round(form.tasStampDuty.value));
	form.nswStampDuty2.value = format(round(form.nswStampDuty2.value));
	form.vicStampDuty2.value = format(round(form.vicStampDuty2.value));
	form.qldStampDuty2.value = format(round(form.qldStampDuty2.value));
	form.saStampDuty2.value = format(round(form.saStampDuty2.value));
	form.waStampDuty2.value = format(round(form.waStampDuty2.value));
	form.ntStampDuty2.value = format(round(form.ntStampDuty2.value));
	form.actStampDuty2.value = format(round(form.actStampDuty2.value));
	form.tasStampDuty2.value = format(round(form.tasStampDuty2.value));
	form.nswTotalDuty.value = format(round(form.nswTotalDuty.value));
	form.vicTotalDuty.value = format(round(form.vicTotalDuty.value));
	form.qldTotalDuty.value = format(round(form.qldTotalDuty.value));
	form.saTotalDuty.value = format(round(form.saTotalDuty.value));
	form.waTotalDuty.value = format(round(form.waTotalDuty.value));
	form.ntTotalDuty.value = format(round(form.ntTotalDuty.value));
	form.actTotalDuty.value = format(round(form.actTotalDuty.value));
	form.tasTotalDuty.value = format(round(form.tasTotalDuty.value));
	form.nswTransfer.value = format(round(form.nswTransfer.value));
	form.vicTransfer.value = format(round(form.vicTransfer.value));
	form.qldTransfer.value = format(round(form.qldTransfer.value));
	form.saTransfer.value = format(round(form.saTransfer.value));
	form.waTransfer.value = format(round(form.waTransfer.value));
	form.ntTransfer.value = format(round(form.ntTransfer.value));
	form.actTransfer.value = format(round(form.actTransfer.value));
	form.tasTransfer.value = format(round(form.tasTransfer.value));
	}
	function format(number)
	{
	if (number.length > 9 && number.length <= 12) 
	{
	number = (number.substring(0,number.length-9) + 
	"," + number.substring(number.length-9,number.length-6) +
	"," + number.substring(number.length-6,number.length));
	return number;
	}
	if (number.length > 6 && number.length <= 9) 
	{
	number = (number.substring(0,number.length-6) + 
	"," + (number.substring(number.length-6,number.length)));
	return number;
	}
	return number;
	}
	function round(number)   
	{
	var dollars = Math.floor(number);
	for (var decimalAt = 0; decimalAt < number.length; decimalAt++) 
	{
	if (number.charAt(decimalAt)==".")
	break;
	}
	var cents = "" + Math.round(number * 100);
	cents = cents.substring(cents.length-2, cents.length);
	dollars += ((number.charAt(decimalAt+2)=="9")&&(cents=="00"))? 1 : 0;
	return (dollars + "." + cents)
	}
	function clearForm(form)
	{
	form.amount.value = "";
	form.property.value = "";
	}