﻿
function Calculate() {

    $('divTransferTax').innerHTML = "";
    $('divAdditionalTax').innerHTML = "";
    $('divTotalDue').innerHTML = "";

    if (ValidateForm()) {
        var fee;
        var additionalFee = 0.0;

        var transerAmount = parseFloat($('txtTransferAmount').value.replace(/\$|\,/g, ''));
        var rank = parseInt(transerAmount / 500);
        if (transerAmount % 500 > 0)
            rank += 1;

        if (rank <= 700) {
            if (!$('chkExemptionA').checked) {
                if (rank > 400)
                    fee = 935.0 + (rank - 400) * 3.9;
                else if (rank > 300)
                    fee = 600.0 + (rank - 300) * 3.35;
                else
                    fee = rank * 2.0
            }
            else {
                if (rank > 300)
                    fee = 150.0 + (rank - 300) * 1.25;
                else
                    fee = rank * 0.5;
            }
        }
        else {

            if (!$('chkExemptionA').checked) {
                if (rank > 2000)
                    fee = 9575.0 + (rank - 2000) * 6.05;
                else if (rank > 1700)
                    fee = 7835.0 + (rank - 1700) * 5.8;
                else if (rank > 1100)
                    fee = 4655.0 + (rank - 1100) * 5.3;
                else
                    fee = 1295.0 + (rank - 400) * 4.8;
            }
            else {
                if (rank > 2000)
                    fee = 4675.0 + (rank - 2000) * 3.4;
                else if (rank > 1700)
                    fee = 3730.0 + (rank - 1700) * 3.15;
                else if (rank > 1100)
                    fee = 2140.0 + (rank - 1100) * 2.65;
                else
                    fee = 420.0 + (rank - 300) * 2.15;
            }
        }
        if ($('ddlPropertyClass').selectedIndex != 4 && rank > 2000)
            additionalFee = transerAmount * .01;

        $('txtTransferAmount').value = formatCurrency(transerAmount);
        $('divTransferTax').innerHTML = formatCurrency(fee);
        $('divAdditionalTax').innerHTML = formatCurrency(additionalFee);
        $('divTotalDue').innerHTML = formatCurrency(fee + additionalFee);
    }
}

function ValidateForm() {
    var message = "";
    if ($('txtTransferAmount').value == "") {
        message += "Consideration Amount is Required\n";
    }
    else {
        if (!IsNumeric($('txtTransferAmount').value.replace(/\$|\,/g, '')))
            message += "Consideration Amount is Invalid\n";
    }
    if ($('ddlPropertyClass').selectedIndex == 0) {
        message += "Property Type is Required\n";
    }

    if (message != "") {
        alert(message);
        return false;
    }
    else
        return true;
}

function formatCurrency(num) {
    num = num.toString().replace(/\$|\,/g, '');
    if (isNaN(num))
        num = "0";
    sign = (num == (num = Math.abs(num)));
    num = Math.floor(num * 100 + 0.50000000001);
    cents = num % 100;
    num = Math.floor(num / 100).toString();
    if (cents < 10)
        cents = "0" + cents;
    for (var i = 0; i < Math.floor((num.length - (1 + i)) / 3); i++)
        num = num.substring(0, num.length - (4 * i + 3)) + ',' + num.substring(num.length - (4 * i + 3));
    return (((sign) ? '' : '-') + '$' + num + '.' + cents);
}
function IsNumeric(sText) {
    var ValidChars = "0123456789.";
    var IsNumber = true;
    var Char;


    for (i = 0; i < sText.length && IsNumber == true; i++) {
        Char = sText.charAt(i);
        if (ValidChars.indexOf(Char) == -1) {
            IsNumber = false;
        }
    }
    return IsNumber;
}
function $(element) {
    return document.getElementById(element);
}
