// JavaScript Document

	function stripNumber(s)
	{
    s = s.split("$").join("");
    s = s.split(",").join("");
    return parseFloat(s);
	}
	
	function InputsValidation(form)
	{
	    var CheckAmount = stripNumber(form.amount.value);
		CheckAmount = parseInt(CheckAmount);
	    var CheckProperty = stripNumber(form.property.value);
		CheckProperty = parseFloat(CheckProperty);
	    if (isNaN(CheckAmount) || CheckAmount < 0) {
	        alert('Please enter your loan amount (enter 0 if no loan)');
	        return false;
	    } else if (isNaN(CheckProperty) || CheckProperty < 0) {
	        alert('Please enter your property purchase price');
	        return false;
	    }
	    return true;
	}
	
function calculateDuty(form)
{
  if (CalcProperty == null || CalcProperty.length == 0)
    CalcProperty = 0;
  if (CalcAmount == null || CalcAmount.length == 0)
    CalcAmount = 0;

  form.StampDuty.value = 0;
  form.StampDuty2.value = 0;

  var tempAmount = stripNumber(form.amount.value);
  var tempProperty = stripNumber(form.property.value);
  var CalcAmount = stripNumber(form.amount.value);
  var CalcProperty = stripNumber(form.property.value);
  
    if (CalcAmount >0 && CalcAmount <= 16000)
      form.StampDuty.value = 5;
  if (CalcAmount > 16000) 
    {
     tempAmount = (tempAmount - 16000) / 1000;
     for (var i=0, k=1; tempAmount >i && tempAmount > k ; i++, k++);
     form.StampDuty.value = (k * 4) + 5;
    }       

    if (CalcProperty >0 && CalcProperty <= 14000) 
    { 
      tempProperty = (tempProperty / 100);
    for (var i=0, k=1; tempProperty >i && tempProperty > k ; i++, k++);
    form.StampDuty2.value = eval(form.StampDuty2.value) + (k * 1.25);
  }

  if (CalcProperty > 14000 && CalcProperty <= 30000) 
    {
      tempProperty = (tempProperty - 14000) / 100;
      for (var i=0, k=1; tempProperty >i && tempProperty > k ; i++, k++);
    form.StampDuty2.value = eval(form.StampDuty2.value) + (k * 1.5) + 175;
   }

  if (CalcProperty > 30000 && CalcProperty <= 80000) 
    {
        tempProperty = (tempProperty - 30000) / 100;
      for (var i=0, k=1; tempProperty >i && tempProperty > k ; i++, k++);
    form.StampDuty2.value = eval(form.StampDuty2.value) + (k * 1.75) + 415;
  }

  if (CalcProperty > 80000 && CalcProperty <= 300000) 
    {
    tempProperty = (tempProperty - 80000) / 100;
    for (var i=0, k=1; tempProperty >i && tempProperty > k ; i++, k++);
    form.StampDuty2.value = eval(form.StampDuty2.value) + (k * 3.5) + 1290;
   }

  if (CalcProperty > 300000 && CalcProperty <= 1000000) 
    {
    tempProperty = (tempProperty - 300000) / 100;
    for (var i=0, k=1; tempProperty >i && tempProperty > k ; i++, k++);
    form.StampDuty2.value = eval(form.StampDuty2.value) + (k * 4.5) + 8990;
  }      
    if (CalcProperty > 1000000) 
     {
    tempProperty = (tempProperty - 1000000) / 100;
    for (var i=0, k=1; tempProperty >i && tempProperty > k ; i++, k++);
    form.StampDuty2.value = eval(form.StampDuty2.value) + (k * 5.5) + 40490;
  }       

    form.DutyTotal.value = eval(form.StampDuty.value) + eval(form.StampDuty2.value)

    form.StampDuty.value = format(round(form.StampDuty.value));

    form.StampDuty2.value = format(round(form.StampDuty2.value));

    form.DutyTotal.value = format(round(form.DutyTotal.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)
{
    CalcAmount = "";
    CalcProperty = "";
}
