// JavaScript Document
function validate(tag, question, mandatory, controlType, minVal, maxVal)
{
	if (mandatory == 1 && tag.value.length == 0 )
	{
		alert("Before you continue, please enter "+ question + ".");
		tag.focus(); 
		return false;
	}
	else
	{
		if (tag.value.length == 0)
			return true;
	}
	
	if (controlType == 'O' || controlType == 'P' || controlType == 'N')
	{
		if (!isNumber(tag.value))
		{
			alert("Before you continue, please enter " + question + ".");
			tag.focus(); 
			return false;
		}
			

		// do range check
		var val = getNumber(tag.value);
		if (((val < minVal) && (minVal != -1)) || (val > maxVal && (maxVal != -1)))
		{
			// invalid field
			var errMsg = "Before you continue, please enter ";
			var cval = "";
			if (controlType == 'O')
				cval = "$";
			
			
			if (minVal == -1)
				errMsg += " less than '"+cval+ maxVal+"'";
			else
			if (maxVal == -1)
				errMsg += " greater than '"+cval+ minVal+"'";
			else
				errMsg += "between 0"+cval+minVal+" and "+cval+maxVal;

			errMsg += " for "+question +".";
			alert(errMsg);
			tag.focus(); 
			return false;
		}
			
	}
	if (controlType == 'T')
	{
		if (tag.value.length < minVal)
		{
			// invalid field
			var errMsg = "Before you continue, please enter at least "+minVal+" characters for " +question + ".";
			alert(errMsg);
			tag.focus(); 
			return false;
		}
		if ((tag.value.length > maxVal) && (maxVal != 0))
		{
			// invalid field
			var errMsg = "Before you continue, please limit " + question + " to a maximum of "+maxVal+" characters.";
			alert(errMsg);
			tag.focus(); 
			return false;
		}

	}

	return true;
}

function checkRadioFieldExact(fieldName, question)
{
	var form=document.forms[0];
	//
	// iterate thru elements looking for matching field names
	//
	var selField = null;
	for (i = 0; i < form.elements.length; i++)
	{
		if (form.elements[i].name == fieldName)
		{
			if (selField == null)
				selField = form.elements[i];
			if (form.elements[i].checked == true)
				return true;
		}
	}
	alert("Before you continue, please tell us " + question + ".");
	if (selField != null)
		selField.focus();
	return false;
}

function checkField(fieldName, question, mandatory, controlType, minVal, maxVal)
{
	var form=document.forms[0];
	//
	// iterate thru elements looking for matching field names
	//
	for (i = 0; i < form.elements.length; i++)
	{
		if (form.elements[i].name == fieldName)
		{
			if (!validate(form.elements[i], question, mandatory, controlType, minVal, maxVal))
				return false;			
		}
	}
	return true;
}

function isNumber(val) 
{
	var oneDecimal = false;
	var inputStr = val;
	for (var i = 0; i < inputStr.length; i++) 
	{
		var oneChar = inputStr.charAt(i);
		if (i == 0 && oneChar == "-") 
		{
			continue;
		}
		if (oneChar == "." && !oneDecimal) 
		{
			oneDecimal = true;
			continue;
		}
		
		if (oneChar == "$")
			continue;
			
		if (oneChar == " " || oneChar == ",")
			continue;

		if (oneChar == "k" || oneChar == "K")
			continue;
			
		if (oneChar < "0" || oneChar > "9" ) 
		{
			return false;
		}
	}
	return true;
}
function getNumber(val) 
{
	var s = "";
	for (var i = 0; i < val.length; i++) 
	{
		var oneChar = val.charAt(i);
		if (oneChar < "0" || oneChar > "9" ) 
			continue;
		s += oneChar;
	}
	return s;
}


function validateForm()
{ 
       if (!checkRadioFieldExact("custtype", "what type of borrower you are")) return false;
       if (!checkField("postcode_where_you_live", "your postcode", 1, 'N', 200, 9999)) return false;
        return true;
}

 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 compute(formfield) {
  x = formfield.LoanAmount.value;
  y = formfield.Rate.value;
  z = formfield.Term.value;
  var type = get_selection(formfield.Type);
  
  if (type.value == "PI") {
   month = rounding(eval(pmt(x,(y*.01)/12,z*12)));
   fnight = eval(pmt(x,(y*.01)/26,z*26));
   formfield.Monthly.value = "$" + rounding(month);
   formfield.Fnight.value = "$" + rounding(fnight);
   formfield.Week.value = 	"$" + rounding(fnight/2);
  } else {
   month = eval((x*(y*.01))/12);
   fnight = eval((x*(y*.01))/26);
   formfield.Monthly.value = "$" + rounding(month);
   formfield.Fnight.value = "$" + rounding(fnight);
   formfield.Week.value = 	"$" + rounding(fnight/2);
  }
 }
 
 function rounding(n) {
  pennies = n * 100;
  pennies = Math.round(pennies);
  strPennies = "" + pennies;
  len = strPennies.length;
  return strPennies.substring(0, len - 2) + "." + strPennies.substring((len - 2), len);
 }
 
 function pmt(ppl,rate,mths) {
  var x=eval((ppl*rate) / (eval(1-Math.pow(eval(rate+1),eval(0-mths)))))
  return x
 }

// Stamp Duty Calculator 
 
 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 = "";
 }
