function Calculate(Amount, Payment) {
    // Surcharge 规则列表，可按格式随意自行添加修改，必须保持此列表有序
    var SurRule = [
                  [25, 100],	
                  [40, 30],				  
                  [82.5, 20],
                  [120, 10],				  
                  [199, 0],
                  [320, -3],
                  [580, -9],
                  [880, -15],
                  [2300, -19],
                  [3750, -23],
                  [5400, -27],
                  [15000, -31],
                  [25001, -35],
				  [65001, -40],
				  [100001, -41],
				  [135001, -42]
                  ];
    var RngMax;
    var RngMin;
    var Surcharge;
    var Result;
    // Type conversion
    Amount = Number(Amount);
    // 若超过最大值则直接提示 Contact us
    if (Amount >= SurRule[SurRule.length - 1][0]) {
        if (Payment) {
            return Result = 'Contact us';
        }
        else {
            return Result = '';
        }
    }
    if (Amount < 25) {
        if (Payment) {
            return Result = "Min. order";
        }
        else {
            return Result = '';
        }
    }
    for (var I = 0; I < SurRule.length; I++) {
        if (Amount <= SurRule[I][0]) {
            RngMax = I;
            break;
        }
    }
    if (RngMax == 0) {
        // Use constant min surchange+
        Surcharge = SurRule[RngMax][1];
    }
    else {
        RngMin = RngMax - 1;
        // Use formula
        Surcharge = ((Amount - SurRule[RngMin][0]) /
            (SurRule[RngMax][0] - SurRule[RngMin][0]) *
            (SurRule[RngMax][1] - SurRule[RngMin][1]) +
            SurRule[RngMin][1]);
    }
    if (Payment) {
        // If need precise surcharge to calculate, just comment this line
        Surcharge = Surcharge.toFixed(2);
        Result = Amount + Surcharge / 100 * Amount;
        return Result.toFixed(2);
    }
    else {
        return Surcharge.toFixed(2) + '%';
    }
}

function CalIt() {
    var oAmount;
    var oSurcharge;
    var oPayment;
    oAmount = document.getElementById("Amount");
    oSurcharge = document.getElementById("Surcharge");
    oPayment = document.getElementById("Payment");
    if (isNaN(oAmount.value)) {
        // 若在 Amount 文本框里输入的不是数字则提示
        if (oSurcharge != null) {
            oSurcharge.value = '';
        }
        oPayment.value = "Please input a number";
    }
    else {
        if (oSurcharge != null) {
            oSurcharge.value = Calculate(oAmount.value, false);
        }
        oPayment.value = Calculate(oAmount.value, true);
    }
}

