function Calculate(Amount, Payment) {
    // Scontistica
    var SurRule = [
			 	  [100, 0], 
                  [251, -5],				  
                  [501, -10],
				  [5001, -20]
                  ];
    var RngMax;
    var RngMin;
    var Surcharge;
    var Result;
    // Type conversion
    Amount = Number(Amount);
    // Contattare
    if (Amount >= SurRule[SurRule.length - 1][0]) {
        if (Payment) {
            return Result = 'Contattare';
        }
        else {
            return Result = '';
        }
    }
    if (Amount < 30) {
        if (Payment) {
            return Result = "Ordine Minimo 30,00 €";
        }
        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 formatCur(amount, decimali) {
amount=Math.round(amount*Math.pow(10,decimali))/Math.pow(10,decimali);
 if (decimali==2) {
   if (String(amount).indexOf(".")==-1) {str=amount+",00"} 
   else {kp=(String(amount).length-String(amount).indexOf("."));  if (kp==2) {str=amount+"0"} else {str=amount} }; 
 }
 if (decimali==1) {if (String(amount).indexOf(".")==-1) {str=amount+".0"} else {str=amount}; }
 if (decimali!=1 && decimali!=2) {str=amount;}
 return str;
}
function CalIt() {
    var oAmount;
    var oSurcharge;
    var oPayment;
    var oSpedizione;
	var oRisparmio;
	var orisp;
	orisp=0;
	oAmount = document.getElementById("Amount");
    oSurcharge = document.getElementById("Surcharge");
    oPayment = document.getElementById("Payment");
	oRisparmio = document.getElementById("Risparmio");
    oSpedizione = document.getElementById("Spedizione");
	oSpedizione.value=""; 
    if (isNaN(oAmount.value)) {
       if (oSurcharge != null) {
            oSurcharge.value = '';
        }
        oPayment.value = "Inserire solo numeri";
    }
    else 
	{
        if (oSurcharge != null)
		 {
            oSurcharge.value = Calculate(oAmount.value, false);
         }
        oPayment.value = Calculate(oAmount.value, true);
		 	if (oAmount.value <= 9999.99)
		 {	
		 oSpedizione.value="12.00"; 
		 }
	     	if (oAmount.value < 30)
		 {	
		 oSpedizione.value=""; 
		 }
		 if (oAmount.value >= 10000)
		 {	
		 oSpedizione.value="nessun costo"; 
		 }
		 orisp=oAmount.value-oPayment.value;
		 oRisparmio.value=formatCur(orisp,2);
    }
}

