// "http://alphaadv.net/nytitle/nyrc.js"
// New York Title Insurance Rate Calculator
// Copyright 1998 - 2008 by, John Granger, All rights reserved.
// Thank you for finding this page interesting enough to view the source code.
// Please respect my copyrights.  Thank You
// Page written November 23, 1998, Last update September 25, 2008

// Changing the lines above or below or using without prior written authorization
// is an invitation to Adventures in Legal Land

// Activate Cloaking Device

function notice(what)
{
 		var l7uscetseq = "True";
		}
		
function checkNumber(input, min, max, msg)
{
    msg = msg + " field has invalid data: " + input.value;

    var str = input.value;
    for (var i = 0; i < str.length; i++) {
        var ch = str.substring(i, i + 1)
        if ((ch < "0" || "9" < ch) && ch != '.') {
            alert(msg);
            return false;
        }
    }
    var num = parseFloat(str)
    if (num < min || max < num) {
        // alert(msg + " not in range [" + min + ".." + max + "]");
        return false;
    }
    input.value = str;
    return true;
}

function computeField(input)
{
    if (input.value != null && input.value.length != 0)
     input.value = "" + eval(input.value);
    computeForm(input.form);
}

function calcNYrates(form)
{

// tiamt = greater of saleprice or mortgageamount
     var tiamt = 0
     var sale = form.saleprice.value / 1
     var mtg = form.mtgamount.value / 1
     var previousmtg = form.previousmtgamount.value / 1
     if (sale >= mtg) {
          tiamt = form.saleprice.value / 1
     }
     else {
          tiamt = form.mtgamount.value / 1
     }

// caclulate Owner's
     var sale = form.saleprice.value / 1
     form.z1owner.value=z1owner(sale)
     form.z2owner.value=z2owner(sale)

// calculate Mortgage
     var mtg = form.mtgamount.value / 1
     form.z1mortgage.value = z1mortgage(mtg)
     form.z2mortgage.value = z2mortgage(mtg)

// calculate Simultaneous Issue
// SI = Owner's + 30% of Mortgage rate to sale price + 100% of Mortgage rate over sale price

     var sale = form.saleprice.value / 1
     var mtg = form.mtgamount.value / 1

     if (sale >= mtg) {
     // SI = Owner's = 30% of Mortgage rate to sale price
          form.z1si.value=z1owner(sale) + (0.3 * z1mortgage(mtg))
          form.z2si.value=z2owner(sale) + (0.3 * z2mortgage(mtg))
     }

     // SI = Owner's + 30% of Mortgage rate to sale price + 100% of Mortgage rate over sale price
     else {
          z1mtgpolicy = z1mortgage(sale)
          z2mtgpolicy = z2mortgage(sale)
          z1mtgpolicyover = z1mortgage(mtg) - z1mortgage(sale)   // delta mtg rate
          z2mtgpolicyover = z2mortgage(mtg) - z2mortgage(sale)   // delta mtg rate 

          form.z1si.value=z1owner(sale) + (0.3 * z1mtgpolicy) + z1mtgpolicyover
          form.z2si.value=z2owner(sale) + (0.3 * z2mtgpolicy) + z2mtgpolicyover
     }

// calculate refinance
// - A - < $475,000 = 50% of Mortgage rate to previous mtg + 100% of Mortgage rate over previous mtg
// - B - > $475,000 = 70% of Mortgage rate to previous mtg + 100% of Mortgage rate over previous mtg

     var mtg = form.mtgamount.value / 1
     var previousmtg = form.previousmtgamount.value / 1

     if (mtg <= 475000.00) {
     // A - < $475,000 = 50% of Mortgage rate to previous mtg + 100% of Mortgage rate over prev mtg

          if (previousmtg >= mtg) {
               // full refinance on mortgage
               form.z1refinance.value =  (0.5 * z1mortgage(mtg))
               form.z2refinance.value =  (0.5 * z2mortgage(mtg))

// alert('z1mortgage(mtg) = ' + z1mortgage(mtg) + '\nform.z1refinance.value = ' +  form.z1refinance.value + '\nz2mortgage(mtg) = ' + z2mortgage(mtg) + '\nform.z2refinance.value = ' +  form.z2refinance.value)
          }

          else {
               z1mtgpolicy = z1mortgage(previousmtg)
               z2mtgpolicy = z2mortgage(previousmtg)
               z1mtgpolicyover = z1mortgage(mtg) - z1mortgage(previousmtg)      // delta
               z2mtgpolicyover = z2mortgage(mtg) - z2mortgage(previousmtg) // delta

               form.z1refinance.value = (0.5 * z1mtgpolicy) + z1mtgpolicyover
               form.z2refinance.value = (0.5 * z2mtgpolicy) + z2mtgpolicyover

// alert('z1mtgpolicy = ' +z1mtgpolicy + '\nz1mtgpolicyover = ' +z1mtgpolicyover + '\n form.z1refinance.value = ' + form.z1refinance.value + '\nz2mtgpolicy = ' +z2mtgpolicy + '\nz2mtgpolicyover = ' +z2mtgpolicyover + '\n form.z2refinance.value = ' + form.z2refinance.value)
          }
     }

     // B - > $475,000 = 70% of Mortgage rate to previous mtg + 100% of Mortgage rate over prev mtg
     else {
          if (previousmtg >= mtg) {
               form.z1refinance.value =  (0.7 * z1mortgage(mtg))
               form.z2refinance.value =  (0.7 * z2mortgage(mtg))
          }

          else {
               z1mtgpolicy = z1mortgage(previousmtg)
               z2mtgpolicy = z2mortgage(previousmtg)
               z1mtgpolicyover = z1mortgage(mtg) - z1mortgage(previousmtg) // delta
               z2mtgpolicyover = z2mortgage(mtg) - z2mortgage(previousmtg) // delta

               form.z1refinance.value = (0.7 * z1mtgpolicy) + z1mtgpolicyover
               form.z2refinance.value = (0.7 * z2mtgpolicy) + z2mtgpolicyover
          }
     }

// caclulate Transfer Tax
     // alert('got to caclulate Transfer Tax')
     form.restrtax.value = restrtaxcalc(sale)
     form.comtrtax.value = comtrtaxcalc(sale)
     form.nycrestrtax.value = nycrestrtaxcalc(sale)
     form.nyccomtrtax.value = nyccomtrtaxcalc(sale)

// caclulate Mortgage Recording Tax
     // form.resmtgrtax.value = resmtgrtaxcalc(mtg)
     // form.commtgrtax.value = commtgrtaxcalc(mtg)
     form.nycresmtgrtax.value = nycresmtgrtaxcalc(mtg)
     form.nyccommtgrtax.value = nyccommtgrtaxcalc(mtg)
		 form.dsrmtgrtax.value = dsrmtgrtaxcalc(mtg)
		 form.dscmtgrtax.value = dscmtgrtaxcalc(mtg)
     form.nsopdmtgrtax.value = nsopdmtgrtaxcalc(mtg)
     form.wrrmtgrtax.value = wrrmtgrtaxcalc(mtg)
		 form.wrcmtgrtax.value = wrcmtgrtaxcalc(mtg)
     form.yrmtgrtax.value = yrmtgrtaxcalc(mtg)
		 form.ycmtgrtax.value = ycmtgrtaxcalc(mtg)
		 form.grmtgrtax.value = grmtgrtaxcalc(mtg)
		 form.srmtgrtax.value = srmtgrtaxcalc(mtg)
		 form.rrmtgrtax.value = rrmtgrtaxcalc(mtg)

// caclulate local Transfer Taxes
     form.ytrtax.value = ytrtaxcalc(sale)
     form.mvtrtax.value = mvtrtaxcalc(sale)
     form.ehshsiitrtax.value = ehshsiitrtaxcalc(sale)
     form.ehshsiutrtax.value = ehshsiutrtaxcalc(sale)
     form.rsitrtax.value = rsitrtaxcalc(sale)
     form.rsutrtax.value = rsutrtaxcalc(sale)
		 		 
// end of overall calculation - round numbers
     form.z1owner.value = roundit(form.z1owner.value)
     form.z1mortgage.value = roundit(form.z1mortgage.value)
     form.z1si.value = roundit(form.z1si.value)
     form.z1refinance.value = roundit(form.z1refinance.value)

     form.z2owner.value = roundit(form.z2owner.value)
     form.z2mortgage.value = roundit(form.z2mortgage.value)
     form.z2si.value = roundit(form.z2si.value)
     form.z2refinance.value = roundit(form.z2refinance.value)

     form.restrtax.value = roundit(form.restrtax.value)
     form.comtrtax.value = roundit(form.comtrtax.value)
     form.nycrestrtax.value = roundit(form.nycrestrtax.value)
     form.nyccomtrtax.value = roundit(form.nyccomtrtax.value)

     // form.resmtgrtax.value = roundit(form.resmtgrtax.value)
     // form.commtgrtax.value = roundit(form.commtgrtax.value)
     form.nycresmtgrtax.value = roundit(form.nycresmtgrtax.value)
     form.nyccommtgrtax.value = roundit(form.nyccommtgrtax.value)
		 form.dsrmtgrtax.value    = roundit(form.dsrmtgrtax.value)
		 form.dscmtgrtax.value    = roundit(form.dscmtgrtax.value)
     form.nsopdmtgrtax.value  = roundit(form.nsopdmtgrtax.value)
     form.wrrmtgrtax.value    = roundit(form.wrrmtgrtax.value)
     form.wrcmtgrtax.value    = roundit(form.wrcmtgrtax.value)
     form.yrmtgrtax.value     = roundit(form.yrmtgrtax.value)
		 form.ycmtgrtax.value     = roundit(form.ycmtgrtax.value)
		 form.grmtgrtax.value     = roundit(form.grmtgrtax.value)
		 form.srmtgrtax.value     = roundit(form.srmtgrtax.value)
		 form.rrmtgrtax.value     = roundit(form.rrmtgrtax.value)

// caclulate local Transfer Taxes
		 form.ytrtax.value       = roundit(form.ytrtax.value)
		 form.mvtrtax.value      = roundit(form.mvtrtax.value)
		 form.ehshsiitrtax.value = roundit(form.ehshsiitrtax.value)
		 form.ehshsiutrtax.value = roundit(form.ehshsiutrtax.value)
		 form.rsitrtax.value     = roundit(form.rsitrtax.value)
		 form.rsutrtax.value     = roundit(form.rsutrtax.value)
		 		 
     return;
}

function z1owner(amt)
{
     // if amount <= 35,000 - mortgage = 356
     if (amt <= 35000) {
          z1ownerrate = 356.00
     }

     // if amount <= 50,000 - mortgage = 356.00 +  7.92  /1000 over 35,000
     else if (amt <= 50000) {
          amt1=thousands(amt, 35000);
          z1ownerrate = (356.00 + (amt1 * 7.92));
     }

     // if amount <= 100,000 - mortgage = 474.80 + 4.94 /1000 over 50,000
     else if (amt <= 100000) {
          amt1=thousands(amt, 50000);
          z1ownerrate = (474.80 + (amt1 * 4.94));
     }

     // if amount <= 500,000 - mortgage = 721.80 + 3.98 /1000 over 100,000
     else if (amt <= 500000) {
          amt1=thousands(amt, 100000);
          z1ownerrate = (721.80 + (amt1 *3.98));
     }

     // if amount <= 1,000,000 - mortgage = 2,313.80 + 3.56 /1000 over 500,000
     else if (amt <= 1000000) {
          amt1=thousands(amt, 500000);
          z1ownerrate = (2313.80 + (amt1 * 3.56));
     }

     // if amount <= 5,000,000 - mortgage = 4,093.80 + 3.25 /1000 over 500,000
     else if (amt <= 5000000) {
          amt1=thousands(amt, 1000000);
          z1ownerrate = (4093.80 + (amt1 * 3.25));
     }

     // if amount <= 10,000,000 - mortgage = 17,093.80 + 2.96 /1000 over 5,000,000
     else if (amt <= 10000000) {
          amt1=thousands(amt, 5000000);
          z1ownerrate = (17093.80 + (amt1 * 2.96));
     }

     // if amount <= 15,000,000 - mortgage = 31,893.80 + 2.76 /1000 over 10,000,000
     else if (amt <= 15000000) {
          amt1=thousands(amt, 10000000);
          z1ownerrate = (31893.80 + (amt1 * 2.76));
     }

     // if amount > 15,000,000 - mortgage =  45,693.80 + 2.48 /1000 over 10,000,000
     else if (amt > 15000000) {
          amt1=thousands(amt, 15000000);
          z1ownerrate = (45693.80 + (amt1 * 2.48));
     }

     // round - I need to remember rounding info
     return(z1ownerrate);
}

function z2owner(amt)
{
     // if amount <= 35,000 - mortgage = 402
     if (amt <= 35000) {
          z2ownerrate = 402.00
     }

     // if amount <= 50,000 - mortgage = 402.00 +  6.67 /1000 over 35,000
     else if (amt <= 50000) {
          amt1=thousands(amt, 35000);
          z2ownerrate = (402 + (amt1 * 6.67));
     }

     // if amount <= 100,000 - mortgage = 502.05 + 5.43 /1000 over 50,000
     else if (amt <= 100000) {
          amt1=thousands(amt, 50000);
          z2ownerrate = (502.05 + (amt1 * 5.43));
     }

     // if amount <= 500,000 - mortgage = 773.55 + 4.36 /1000 over 100,000
     else if (amt <= 500000) {
          amt1=thousands(amt, 100000);
          z2ownerrate = (773.55 + (amt1 * 4.36));
     }

     // if amount <= 1,000,000 - mortgage = 2,517.55 + 3.98 /1000 over 500,000
     else if (amt <= 1000000) {
          amt1=thousands(amt, 500000);
          z2ownerrate = (2517.55 + (amt1 * 3.98));
     }

     // if amount <= 5,000,000 - mortgage = 4,507.55 + 3.66 /1000 over 500,000
     else if (amt <= 5000000) {
          amt1=thousands(amt, 1000000);
          z2ownerrate = (4507.55 + (amt1 * 3.66));
     }

     // if amount <= 10,000,000 - mortgage = 19,147.55 + 3.25 /1000 over 5,000,000
     else if (amt <= 10000000) {
          amt1=thousands(amt, 5000000);
          z2ownerrate = (19147.55 + (amt1 * 3.25));
     }

     // if amount <= 15,000,000 - mortgage = 35,397.55 + 3.07 /1000 over 10,000,000
     else if (amt <= 15000000) {
          amt1=thousands(amt, 10000000);
          z2ownerrate = (35397.55 + (amt1 * 3.07));
     }

     // if amount > 15,000,000 - mortgage = 50,747.55 + 2.76 /1000 over 10,000,000
     else if (amt > 15000000) {
          amt1=thousands(amt, 15000000);
          z2ownerrate = (50747.55 + (amt1 * 2.76));
     }

     // round - I need to remember rounding info
     return(z2ownerrate);
}

function z1mortgage(amt)
{
     // if amount <= 35,000 - mortgage = 299
     if (amt <= 35000) {
          z1mtgrate = 299.00
     }

     // if amount <= 50,000 - mortgage = 299.00 + 6.61 /1000 over 35,000
     else if (amt <= 50000) {
          amt1=thousands(amt, 35000);
          z1mtgrate = (299.00 + (amt1 * 6.61));
     }

     // if amount <= 100,000 - mortgage = 398.15 + 4.10 /1000 over 50,000
     else if (amt <= 100000) {
          amt1=thousands(amt, 50000);
          z1mtgrate = (398.15 + (amt1 * 4.10));
     }

     // if amount <= 500,000 - mortgage = 603.15 + 3.31 /1000 over 100,000
     else if (amt <= 500000) {
          amt1=thousands(amt, 100000);
          z1mtgrate = (603.15 + (amt1 * 3.31));
     }

     // if amount <= 1,000,000 - mortgage = 1,927.15 + 2.96 /1000 over 500,000
     else if (amt <= 1000000) {
          amt1=thousands(amt, 500000);
          z1mtgrate = (1927.15 + (amt1 * 2.96));
     }

     // if amount <= 5,000,000 - mortgage = 3,407.15 + 2.71 /1000 over 1,000,000
     else if (amt <= 5000000) {
          amt1=thousands(amt, 1000000);
          z1mtgrate = (3407.15 + (amt1 * 2.71));
     }

     // if amount <= 10,000,000 - mortgage = 14,247.15 + 2.47 /1000 over 5,000,000
     else if (amt <= 10000000) {
          amt1=thousands(amt, 5000000);
          z1mtgrate = (14247.15 + (amt1 * 2.47));
     }

     // if amount <= 15,000,000 - mortgage = 26,597.15 + 2.31 /1000 over 10,000,000
     else if (amt <= 15000000) {
          amt1=thousands(amt, 10000000);
          z1mtgrate = (26597.15 + (amt1 * 2.31));
     }

     // if amount > 15,000,000 - mortgage = 38,147.15 + 2.07 /1000 over 10,000,000
     else if (amt > 15000000) {
          amt1=thousands(amt, 15000000);
          z1mtgrate = (38147.15 + (amt1 * 2.07));
     }

     // round - I need to remember rounding info
     return(z1mtgrate);
}

function z2mortgage(amt)
{
     // if amount <= 35,000 - mortgage = 344
     if (amt <= 35000) {
          z2mtgrate = 344.00
     }

     // if amount <= 50,000 - mortgage = 344 + 5.55 /1000 over 35,000
     else if (amt <= 50000) {
          amt1=thousands(amt, 35000);
          z2mtgrate = (344 + (amt1 * 5.55));
     }

     // if amount <= 100,000 - mortgage = 427.25 + 4.54 /1000 over 50,000
     else if (amt <= 100000) {
          amt1=thousands(amt, 50000);
          z2mtgrate = (427.25 + (amt1 * 4.54));
     }

     // if amount <= 500,000 - mortgage = 654.25 + 3.64 /1000 over 100,000
     else if (amt <= 500000) {
          amt1=thousands(amt, 100000);
          z2mtgrate = (654.25 + (amt1 * 3.64));
     }

     // if amount <= 1,000,000 - mortgage = 2,110.25 + 3.31 /1000 over 500,000
     else if (amt <= 1000000) {
          amt1=thousands(amt, 500000);
          z2mtgrate = (2110.25 + (amt1 * 3.31));
     }

     // if amount <= 5,000,000 - mortgage = 3,765.25 + 3.05 /1000 over 500,000
     else if (amt <= 5000000) {
          amt1=thousands(amt, 1000000);
          z2mtgrate = (3765.25 + (amt1 * 3.05));
     }

     // if amount <= 10,000,000 - mortgage = 15,965.25 + 2.71 /1000 over 5,000,000
     else if (amt <= 10000000) {
          amt1=thousands(amt, 5000000);
          z2mtgrate = (15965.25 + (amt1 * 2.71));
     }

     // if amount <= 15,000,000 - mortgage = 29,515.25 + 2.55 /1000 over 10,000,000
     else if (amt <= 15000000) {
          amt1=thousands(amt, 10000000);
          z2mtgrate = (29515.25 + (amt1 * 2.55));
     }

     // if amount > 15,000,000 - mortgage = 42,265.25 + 2.31 /1000 over 10,000,000
     else if (amt > 15000000) {
          amt1=thousands(amt, 15000000);
          z2mtgrate = (42265.25 + (amt1 * 2.31));
     }

     // round - I need to remember rounding info
     return(z2mtgrate);
}

function restrtaxcalc(amt)
{
     // New York state transfer tax = $2 per 500 + 1% Mansion tax if over $1 Million
		 // No tax if sale price is under $25,000

		 var restrtax
     // if amount <= 25,000 = 0
     if (amt <= 25000) {
          restrtax = 0;
     }
		 // if amount <= 1,000,000 = $2 / 500
     else if (amt <= 1000000) {
          amt1=fivehundreds(amt, 0);
          restrtax = (amt1 * 2.00);
     }
     // if amount > 1,000,000 = $2 / 500 + 1% Mansion Tax
     else {
          amt1=fivehundreds(amt, 0);
          restrtax = ((amt1 * 2.00) + (amt * 0.01));
     }
     return(restrtax);
}

function comtrtaxcalc(amt)
{
     // New York state transfer tax = $2 per 500, No Mansion tax for commercial property
		 // No tax if sale price is under $25,000
		 // if amount <= 25,000 = 0
		 
     if (amt <= 25000) {
          comtrtax = 0;
     }
     // if amount <= 1,000,000 = $2 / 500
     else {
          amt1=fivehundreds(amt, 0);
          comtrtax = (amt1 * 2.00);
     }
     return(comtrtax);
}

function nycrestrtaxcalc(amt)
{
     // New York City RPT -
		 // Residential = 1% of sale price if under $500,000 
		 //  1.425% of sale price if $500,000 to $1 Million
		 //  1.425% of sale price if over $1 Million + 1% Mansion tax if over $1 Million
		 // if amount <= 25,000 = 0

     if (amt <= 25000) {
          nycrestrtax = 0;
     }
     // if amount <= 500,000 = 1%
     else if (amt <= 500000) {
          nycrestrtax = (amt * 0.01);
     }
     // if amount <= 1,000,000 = 1.425%
     else if (amt <= 1000000) {
          nycrestrtax = (amt * 0.01425);
     }
     // if amount > 1,000,000 = 1.425% + 1% Mansion Tax
     else {
          amt1=fivehundreds(amt, 0);
          nycrestrtax = ((amt * 0.01425) + (amt * 0.01));
     }
     return(nycrestrtax);
}

function nyccomtrtaxcalc(amt)
{
     // New York City RPT -
		 // Commercial = 1.425% of sale price if under $500,000 
		 //  2.625% of sale price if $500,000 to $1 Million
		 //  2.625% of sale price if over $1 Million, No Mansion tax for commercial property
		 // if amount <= 25,000 = 0

     if (amt <= 25000) {
          nyccomtrtax = 0;
     }
     // if amount <= 500,000 = 1.425%
     else if (amt <= 500000) {
          nyccomtrtax = (amt * 0.01425);
     }
     // if amount > 500,000 = 2.625%
     else {
          nyccomtrtax = (amt * 0.02625);
     }
     return(nyccomtrtax);
}

function nycresmtgrtaxcalc(amt)
{
     // New York City Mortgage Tax -
		 // Residential = 2.05% of mortgage amount if under $500,000 - $30 for 1 or 2 family
		 //  = 2.175% of mortgage amount if $500,000 to $1 Million - $30 for 1 or 2 family
		 //  = 2.175% of mortgage amount if over $1 Million - $30 for 1 or 2 family
		 //    + 1% Mansion tax if over $1 Million
		 
     // if amount < 10,000 = 1.80%
     if (amt < 10000) {
          nycresmtgrtax = (amt * 0.018);
     }
     // if amount < 500,000 = 2.05%
     else if (amt < 500000) {
          nycresmtgrtax = ((amt * 0.0205) - 30);
     }
     // if amount <= 1,000,000 = 2.175%
     else if (amt <= 1000000) {
          nycresmtgrtax = ((amt * 0.02175) - 30);
     }
     // if amount > 1,000,000 = $2 / 500 + 1% Mansion Tax
     else {
          amt1=fivehundreds(amt, 0);
          nycresmtgrtax = ((amt * 0.02175) + (amt * 0.01) - 30);
     }
     return(nycresmtgrtax);
}

function nyccommtgrtaxcalc(amt)
{
     // New York City Mortgage Tax -
		 // Commercial = 2.05% of mortgage amount if under $500,000
		 //  = 2.175% of mortgage amount if $500,000 to $1 Million
		 //  = 2.175% of mortgage amount if over $1 Million,
		 //    No Mansion tax for commercial property

     // if amount < 10,000 = 1.75%
     if (amt < 10000) {
          nyccommtgrtax = (amt * 0.0175);
     }
     // if amount < 500,000 = 2.05%
     else if (amt < 500000) {
          nyccommtgrtax = (amt * 0.0205);
     }
     // if amount > 500,000 = 2.8%
     else {
          nyccommtgrtax = (amt * 0.028);
     }
     return(nyccommtgrtax);
}

function dsrmtgrtaxcalc(amt)
{
     // Downstate - outsie NYC Mortgage Tax
		 // Residential = 1% of mortgage amount - $30 for 1 or 2 family
		 
     dsrmtgrtax = ((amt * 0.01) - 30);
     return(dsrmtgrtax);
}

function dscmtgrtaxcalc(amt)
{
     // Downstate - outsie NYC Mortgage Tax
		 // Commercial = 1 of mortgage amount - $30 for 1 or 2 family
		 
     // if amount < 1,000,000 = 1%
     if (amt < 1000000) {
          dscmtgrtax = (amt * 0.01);
     }
     // if amount > 1,000,000 = 0?????
     else {
          dscmtgrtax = (0);
     }
     return(dscmtgrtax);
}

function nsopdmtgrtaxcalc(amt)
{
     // Nassau, Suffolk, Orange, Putnam, Dutchess Counties Mortgage Tax = 1.05% of Mortgage Amount

     // if amount < 10,000 = 0.75%
     if (amt < 10000) {
          nsopdmtgrtax = (amt * 0.0075);
     }
     // if amount > 10,000 = 1.05%
     else {
          nsopdmtgrtax = (amt * 0.0105);
     }
     return(nsopdmtgrtax);
}

function wrrmtgrtaxcalc(amt)
{
     // Westchester, Rockland Mortgage Tax
		 // Residential = 1.3% of mortgage amount - $30 for 1 or 2 family
		 
     // if amount < 10,000 = 1%
     if (amt < 10000) {
          wrrmtgrtax = (amt * 0.01);
     }
     // if amount > 10,000 = 1.30%
     else {
          wrrmtgrtax = ((amt * 0.013) - 30);
     }
     return(wrrmtgrtax);
}

function wrcmtgrtaxcalc(amt)
{
     // Westchester, Rockland Mortgage Tax
		 // Commercial = 1.3% of mortgage amount
		 
     wrcmtgrtax = (amt * 0.013);
     return(wrcmtgrtax);
}

function yrmtgrtaxcalc(amt)
{
     // Yonkers Mortgage Tax
		 // Residential = 1.8% of mortgage amount - $30 for 1 or 2 family

     // if amount < 10,000 = 1.5%
     if (amt < 10000) {
          yrmtgrtax = (amt * 0.015);
     }
     // if amount > 10,000 = 1.80%
     else {
     // Extra penny is for weird rounding
     // yrmtgrtax = ((amt * 0.018) + 0.01);
     yrmtgrtax = (amt * 0.018);
     }
     return(yrmtgrtax);
}

function ycmtgrtaxcalc(amt)
{
     // Yonkers Mortgage Tax - Commercial = 1.8% of mortgage amount

     // Extra penny is for weird rounding
     // ycmtgrtax = ((amt * 0.018) + 0.01);
     ycmtgrtax = (amt * 0.018);
     return(ycmtgrtax);
}

function grmtgrtaxcalc(amt)
{
     // Greene Mortgage Tax
		 // Residential = 0.75% of mortgage amount

     // if amount < 5000,000 = 0.75%
     if (amt < 500000) {
          grmtgrtax = (amt * 0.0075);
     }
     // if amount > 500,000 = 0
     else {
          grmtgrtax = (0);
     }
     return(grmtgrtax);
}

function srmtgrtaxcalc(amt)
{
     // Sullivan Mortgage Tax
		 // Residential = 1.0% of mortgage amount

     // if amount < 5000,000 = 0.75%
     if (amt < 500000) {
          srmtgrtax = (amt * 0.01);
     }
     // if amount > 500,000 = 0
     else {
          srmtgrtax = (0);
     }
     return(srmtgrtax);
}

function rrmtgrtaxcalc(amt)
{
     // Rennesi Mortgage Tax
		 // Residential = 1.25% of mortgage amount - $30 for 1 or 2 family

     // if amount < 5000,000 = 1.25%
     if (amt < 500000) {
          rrmtgrtax = ((amt * 0.0125) - 30);
     }
     // if amount > 500,000 = 0
     else {
          rrmtgrtax = (0);
     }
     return(rrmtgrtax);
}

function ytrtaxcalc(amt)
{
     // Yonkers transfer tax = 1% + 1% Mansion tax if over $1 Million
		 // No tax if sale price is under $25,000

		 var ytrtax
     // if amount <= 25,000 = 0
     if (amt <= 25000) {
          ytrtax = 0;
     }
		 // if amount <= 1,000,000 = 1%
     else if (amt <= 1000000) {
          ytrtax = (amt * 0.01);
     }
     // if amount > 1,000,000 = 1% + 1% Mansion Tax
     else {
          ytrtax = (amt * 0.02);
     }
     return(ytrtax);
}

function mvtrtaxcalc(amt)
{
     // Mount Vernon transfer tax = 1% less$100,000 exemption
		 // + 1% Mansion tax if over $1 Million

		 var mvtrtax
     // if amount <= 100,000 = 0
     if (amt <= 100000) {
          mvtrtax = 0;
     }
		 // if amount <= 1,000,000 = 1%
     else if (amt <= 1000000) {
          amt1 = (amt - 100000);
          mvtrtax = (amt1 * 0.01);
     }
     // if amount > 1,000,000 = 1% + 1% Mansion Tax
     else {
          amt1 = (amt - 100000);
          mvtrtax = ((amt1 * 0.01) + (amt * 0.01));
     }
     return(mvtrtax);
}

function ehshsiitrtaxcalc(amt)
{
     // East Hampton, Southampton, Shelter Island transfer tax = 2% less $250,000 improved exemption
		 // + 1% Mansion tax if over $1 Million

		 var ehshsiitrtax
     // if amount <= 250,000 = 0
     if (amt <= 250000) {
          ehshsiitrtax = 0;
     }
		 // if amount <= 1,000,000 = 2%
     else if (amt <= 1000000) {
          amt1 = (amt - 250000);
          ehshsiitrtax = (amt1 * 0.02);
     }
     // if amount > 1,000,000 = 2% + 1% Mansion Tax
     else {
          amt1 = (amt - 250000);
          ehshsiitrtax = ((amt1 * 0.02) + (amt * 0.01));
     }
     return(ehshsiitrtax);
}

function ehshsiutrtaxcalc(amt)
{
     // East Hampton, Southampton, Shelter Island transfer tax = 2% less $100,000 unimproved exemption
		 // + 1% Mansion tax if over $1 Million

		 var ehshsiutrtax
     // if amount <= 250,000 = 0
     if (amt <= 250000) {
          ehshsiutrtax = 0;
     }
		 // if amount <= 1,000,000 = 2%
     else if (amt <= 1000000) {
          amt1 = (amt - 100000);
          ehshsiutrtax = (amt1 * 0.02);
     }
     // if amount > 1,000,000 = 2% + 1% Mansion Tax
     else {
          amt1 = (amt - 100000);
          ehshsiutrtax = ((amt1 * 0.02) + (amt * 0.01));
     }
     return(ehshsiutrtax);
}

function rsitrtaxcalc(amt)
{
     // Riverhead and Southold transfer tax = 2% less $150,000 improved exemption
		 // + 1% Mansion tax if over $1 Million

		 var rsitrtax
     // if amount <= 150,000 = 0
     if (amt <= 150000) {
          rsitrtax = 0;
     }
		 // if amount <= 1,000,000 = 2%
     else if (amt <= 1000000) {
          amt1 = (amt - 150000);
          rsitrtax = (amt1 * 0.02);
     }
     // if amount > 1,000,000 = 2% + 1% Mansion Tax
     else {
          amt1 = (amt - 150000);
          rsitrtax = ((amt1 * 0.02) + (amt * 0.01));
     }
     return(rsitrtax);
}

function rsutrtaxcalc(amt)
{
     // Riverhead and Southold transfer tax = 2% less $75,000 unimproved exemption
		 // + 1% Mansion tax if over $1 Million

		 var rsutrtax
     // if amount <= 150,000 = 0
     if (amt <= 150000) {
          rsutrtax = 0;
     }
		 // if amount <= 1,000,000 = 2%
     else if (amt <= 1000000) {
          amt1 = (amt - 75000);
          rsutrtax = (amt1 * 0.02);
     }
     // if amount > 1,000,000 = 2% + 1% Mansion Tax
     else {
          amt1 = (amt - 75000);
          rsutrtax = ((amt1 * 0.02) + (amt * 0.01));
     }
     return(rsutrtax);
}

function fivehundreds(amt, base) {    
     var amt1 = ((amt - base) / 500)
     var amt2 = parseInt(((amt - base) / 500))
     if (amt1 > amt2) {
     amt1 = amt2 + 1
     }
     return (amt1);
}

function thousands(amt, base) {    
     var amt1 = ((amt - base) / 1000)
     var amt2 = parseInt(((amt - base) / 1000))
     if (amt1 > amt2) {
     amt1 = amt2 + 1
     }
     return (amt1);
}

function roundit(amt){  
     strDollars = "" + Math.round(amt * 100);
     len = strDollars.length;
     strRounded = strDollars.substring(0, len - 2) + "." + strDollars.substring(len - 2, len);
     len = strRounded.length;
		 		 
     if (len <= 6) {
          rounded = strRounded;
     }
     // Thousands
     else if (len <= 9) {
          rounded = strRounded.substring(0, len - 6) + "," + strRounded.substring(len - 6, len);
     }
     // Millions
     else {
          rounded = strRounded.substring(0, len - 9) + "," + strRounded.substring(len - 9, len - 6) + "," + strRounded.substring(len - 6, len);
     }
     return(rounded);
}

function clearForm(form)
{
     form.saleprice.value = "";
     form.mtgamount.value = "";
     form.previousmtgamount.value = "";

     form.z1owner.value = "";
     form.z1mortgage.value = "";
     form.z1si.value = "";
     form.z1refinance.value = "";

     form.z2owner.value = "";
     form.z2mortgage.value = "";
     form.z2si.value = "";
     form.z2refinance.value = "";

     form.restrtax.value = "";
     form.comtrtax.value = "";
     form.nycrestrtax.value = "";
     form.nyccomtrtax.value = "";

     // form.resmtgrtax.value = "";
     // form.commtgrtax.value = "";
     form.nycresmtgrtax.value = "";
     form.nyccommtgrtax.value = "";
		 form.dsrmtgrtax.value = "";
		 form.dscmtgrtax.value = "";
     form.nsopmtgrtax.value = "";
     form.wrdrmtgrtax.value = "";
		 form.wrdcmtgrtax.value = "";
     form.yrmtgrtax.value = "";
		 form.ycmtgrtax.value = "";
		 form.grmtgrtax.value = "";
		 form.srmtgrtax.value = "";
		 form.rrmtgrtax.value = "";
}

// Deactivate Cloaking Device