74 lines
2.5 KiB
JavaScript
74 lines
2.5 KiB
JavaScript
function getTax()
|
|
{
|
|
if (noTax)
|
|
return 0;
|
|
var selectedTax = document.getElementById('id_tax');
|
|
var taxId = selectedTax.options[selectedTax.selectedIndex].value;
|
|
return taxesArray[taxId];
|
|
}
|
|
|
|
function formatPrice(price)
|
|
{
|
|
var fixedToSix = (Math.round(price * 1000000) / 1000000);
|
|
return (Math.round(fixedToSix) == fixedToSix + 0.000001 ? fixedToSix + 0.000001 : fixedToSix);
|
|
}
|
|
|
|
function calcPriceTI()
|
|
{
|
|
var tax = getTax();
|
|
var priceTE = parseFloat(document.getElementById('priceTE').value.replace(/,/g, '.'));
|
|
var newPrice = priceTE * ((tax / 100) + 1);
|
|
document.getElementById('priceTI').value = (isNaN(newPrice) == true || newPrice < 0) ? '' :
|
|
formatPrice(newPrice).toFixed(6);
|
|
document.getElementById('finalPrice').innerHTML = (isNaN(newPrice) == true || newPrice < 0) ? '' :
|
|
formatPrice(newPrice).toFixed(2);
|
|
calcReduction();
|
|
}
|
|
|
|
function calcPriceTE()
|
|
{
|
|
var tax = getTax();
|
|
var priceTI = parseFloat(document.getElementById('priceTI').value.replace(/,/g, '.'));
|
|
var newPrice = priceTI / ((tax / 100) + 1);
|
|
document.getElementById('priceTE').value = (isNaN(newPrice) == true || newPrice < 0) ? '' :
|
|
floorf(newPrice, 6);
|
|
document.getElementById('finalPrice').innerHTML = (isNaN(newPrice) == true || newPrice < 0) ? '' :
|
|
formatPrice(priceTI).toFixed(2);
|
|
calcReduction();
|
|
}
|
|
|
|
function calcReduction()
|
|
{
|
|
if (parseFloat(document.getElementById('reduction_price').value) > 0)
|
|
reductionPrice();
|
|
else if (parseFloat(document.getElementById('reduction_percent').value) > 0)
|
|
reductionPercent();
|
|
}
|
|
|
|
function reductionPrice()
|
|
{
|
|
var price = document.getElementById('priceTI');
|
|
var newprice = document.getElementById('finalPrice');
|
|
var rprice = document.getElementById('reduction_price');
|
|
document.getElementById('reduction_percent').value = 0;
|
|
if (parseFloat(price.value) <= parseFloat(rprice.value))
|
|
rprice.value = price.value;
|
|
if (parseFloat(rprice.value) < 0 || isNaN(parseFloat(price.value)))
|
|
rprice.value = 0;
|
|
newprice.innerHTML = (price.value - rprice.value).toFixed(2);
|
|
}
|
|
|
|
function reductionPercent()
|
|
{
|
|
var price = document.getElementById('priceTI');
|
|
var newprice = document.getElementById('finalPrice');
|
|
var rpercent = document.getElementById('reduction_percent');
|
|
document.getElementById('reduction_price').value = 0;
|
|
if (parseFloat(rpercent.value) >= 100)
|
|
rpercent.value = 100;
|
|
if (parseFloat(rpercent.value) < 0)
|
|
rpercent.value = 0;
|
|
newprice.innerHTML = (price.value * (1 - (rpercent.value / 100))).toFixed(2);
|
|
|
|
}
|