rendered paste bodyfunction calculatePrice(creationDate, expirationDate, licenses){ prices = new Array( new Array(1, 5, 195), new Array(500, 9999999, 35) ); packages = new Array( new Array(5, 895), new Array(50, 7695) ); // Calculating package and rest pack = -1; for (i = 0 ; i < packages.length ; i++) { if (licenses >= packages[i][0]) pack = i; else break; } // Find starting price startPrice = 0; if (pack > -1) { for (i = 0 ; i < prices.length ; i++) { if (packages[pack][0] >= prices[i][0]) startPrice = i; else break; } } // Calculating price price = 0; if (pack > -1) rest = licenses - packages[pack][0]; else rest = licenses; for (i = startPrice ; i < prices.length ; i++) { for (m = 0 ; m < prices[i][1]-prices[i][0] ; m++) { if (rest == 0) break; price += prices[i][2]; rest--; } } if (pack > -1) priceYear = packages[pack][1] + price; else priceYear = price; priceDay = priceYear / 365; // Calculating price for given period of time timeSpan = expirationDate.getTime() - creationDate.getTime(); days = Math.round(timeSpan / (24*60*60*1000)); priceTotal = Math.round(priceDay * days); return priceTotal;}