var GC_SPECIAL_PRICE_LIMIT = 66666; var GC_MIN_ACCESSORY_PRICE; var GC_GENERAL_PRICE_DISCOUNT; var GC_PERCENT; var GC_FULL_BENEFIT; var GC_LIMITED_BENEFIT; var GC_CURRENT_YEAR = 2012; var GC_CURRENT_MTH = 2; var GC_CURRENT_DAY = 6; GC_PERCENT = ; GC_FULL_BENEFIT = ; GC_LIMITED_BENEFIT = ; GC_MIN_ACCESSORY_PRICE = ; GC_GENERAL_PRICE_DISCOUNT = ; // Ylikilometrikustannusten porrastus var GC_OVER_MILEAGE_PRICE_LIMIT_01 = 15136.91; var GC_OVER_MILEAGE_PRICE_LIMIT_02 = 21864.43; var GC_OVER_MILEAGE_PRICE_LIMIT_03 = 28591.95; // Ylikilometrien kustannukset EUR/100km var GC_V_STEP_01 = '10.93'; var GC_V_STEP_01_02 = '11.77'; var GC_V_STEP_02_03 = '13.46'; var GC_V_STEP_03 = '15.14'; var GC_U_STEP_01 = '11.77'; var GC_U_STEP_01_02 = '12.61'; var GC_U_STEP_02_03 = '14.30'; var GC_U_STEP_03 = '15.98'; function vapaaAutoetu(f_intOvh,f_intAccessories) { var intAccessories; var fltBenefit if (f_intAccessories > GC_MIN_ACCESSORY_PRICE) intAccessories = f_intAccessories - GC_MIN_ACCESSORY_PRICE; else intAccessories = 0; fltBenefit = parseFloat ( ( parseInt ( ( ( intAccessories + f_intOvh - GC_GENERAL_PRICE_DISCOUNT ) * GC_PERCENT ) / 10 ) * 10 + GC_FULL_BENEFIT ) ); // fltBenefit = formatTrailingZeros(fltBenefit); return fltBenefit; } function kayttoetu(f_intOvh,f_intAccessories) { var intAccessories; var fltBenefit //alert('kayttoetu'); if (f_intAccessories > GC_MIN_ACCESSORY_PRICE) intAccessories = f_intAccessories-GC_MIN_ACCESSORY_PRICE; else intAccessories = 0; fltBenefit = parseFloat ( ( parseInt ( ( ( intAccessories + f_intOvh - GC_GENERAL_PRICE_DISCOUNT ) * GC_PERCENT ) / 10 ) * 10 + GC_LIMITED_BENEFIT ) ); // fltBenefit = formatTrailingZeros(fltBenefit); return fltBenefit; } // NOTE: At the moment references global 'VanTaxDiscounts' array function calculateVehicleTax(f_intListPrice, f_intCo2, f_intMaxWeight, f_intTaxFreeAccessoriesTotalEur, f_strVehicleType) { var vehicleTax = 0; var customsRateable var taxFreePrice var taxRate var rateable // Tullin julkaisema nimikkeen Verotusarvo // Luku on leikattu alempaan tasaeuroon // = floor([veroton hinta] * 0.945-250) customsRateable = Math.floor(f_intListPrice * 0.945 - 250); // Autoveroton yleinen myyntihinta // [tullin verotusarvo] + [Lisävarusteiden autoveroton pyyntihinta (sis. alv)] * 0.945 taxFreePrice = customsRateable + f_intTaxFreeAccessoriesTotalEur * 0.945; // Veroprosentti // ([co2] : 10 + 4) * 1,22 = 28,06 // Pyöristetään yhden desimaalin tarkkuuteen // taxRate = Math.round(((f_intCo2 / 10 + 4) * 1.22) * 10) / 10; taxRate = (f_intCo2 / 10 + 4) * 1.22; var sum1 = taxRate * 10; var sum2 = parseInt(taxRate * 10); var decs = Math.round(parseFloat(sum1 - sum2) * 10) / 10; if (decs == 0.5) { taxRate = (Math.round(taxRate * 10) + 1) / 10; } else { taxRate = Math.round(taxRate * 10) / 10; } if (f_strVehicleType.toLowerCase() == 'u') { // Pakettiautoille alennus painon mukaan var i; for (i = 0; (i < VanTaxDiscounts.length) && (f_intMaxWeight >= VanTaxDiscounts[i][0]); ++i); if (i > 1) { taxRate -= VanTaxDiscounts[i-1][1]; //alert("VanTaxDiscount: " + VanTaxDiscounts[i-1][1]); } } // Veroprosentin ylä/alarajaus if (taxRate < 12.2) { taxRate = 12.2 } else if (taxRate > 48.8) { taxRate = 48.8 } // Verotusarvo // [taxFreePrice] / (1 - [taxRate/100]) // Pyöristetään sentin tarkkuudelle. // verotusarvo = round (verotusarvo * 100); rateable = Math.round(( taxFreePrice / (1-taxRate/100) ) * 100) / 100; // Autovero // [rateable] * [taxRate], leikataan sentin tarkkuuteen vehicleTax = (Math.floor((rateable * (taxRate/100)) * 100)/100); return vehicleTax; }