Barge Rate Calculator
.barge-calculator-wrapper {
font-family: sans-serif;
max-width: 900px;
margin: 20px auto;
border: 1px solid #ddd;
border-radius: 8px;
overflow: hidden;
box-shadow: 0 2px 5px rgba(0,0,0,0.1);
}
.barge-calculator-article {
padding: 20px;
background-color: #f9f9f9;
border-bottom: 1px solid #ddd;
}
.barge-calculator-article h1, .barge-calculator-article h2 {
color: #333;
}
.barge-calculator-article ul {
margin-top: 10px;
padding-left: 20px;
}
.barge-calculator-article li {
margin-bottom: 8px;
}
.barge-calculator-form {
padding: 25px;
background-color: #fff;
display: grid;
grid-template-columns: 1fr;
gap: 15px;
}
.barge-calculator-form h2 {
text-align: center;
color: #333;
margin-top: 0;
}
.form-group {
display: flex;
flex-direction: column;
}
.form-group label {
margin-bottom: 5px;
font-weight: bold;
color: #555;
}
.form-group input {
padding: 10px;
border: 1px solid #ccc;
border-radius: 4px;
font-size: 1rem;
}
.form-group input:focus {
outline: none;
border-color: #007bff;
box-shadow: 0 0 0 2px rgba(0,123,255,.25);
}
.barge-calculator-form button {
padding: 12px 20px;
background-color: #007bff;
color: white;
border: none;
border-radius: 4px;
font-size: 1.1rem;
cursor: pointer;
transition: background-color 0.2s ease;
margin-top: 10px;
}
.barge-calculator-form button:hover {
background-color: #0056b3;
}
.result-display {
margin-top: 25px;
padding: 15px;
background-color: #e9ecef;
border-radius: 4px;
text-align: center;
}
.result-display h3 {
margin-top: 0;
color: #333;
}
#totalRate {
font-size: 1.8rem;
font-weight: bold;
color: #28a745; /* Green for positive result */
}
function calculateBargeRate() {
var voyageDays = parseFloat(document.getElementById("voyageDays").value);
var dailyBargeRate = parseFloat(document.getElementById("dailyBargeRate").value);
var fuelCostPerDay = parseFloat(document.getElementById("fuelCostPerDay").value);
var portFeesPerVoyage = parseFloat(document.getElementById("portFeesPerVoyage").value);
var otherCostsPerVoyage = parseFloat(document.getElementById("otherCostsPerVoyage").value);
var totalRate = 0;
if (isNaN(voyageDays) || voyageDays <= 0) {
alert("Please enter a valid number for Voyage Duration.");
return;
}
if (isNaN(dailyBargeRate) || dailyBargeRate < 0) {
alert("Please enter a valid non-negative number for Daily Barge Hire Rate.");
return;
}
if (isNaN(fuelCostPerDay) || fuelCostPerDay < 0) {
alert("Please enter a valid non-negative number for Estimated Fuel Cost Per Day.");
return;
}
if (isNaN(portFeesPerVoyage) || portFeesPerVoyage < 0) {
alert("Please enter a valid non-negative number for Estimated Port Fees & Tolls.");
return;
}
if (isNaN(otherCostsPerVoyage) || otherCostsPerVoyage < 0) {
alert("Please enter a valid non-negative number for Other Estimated Costs.");
return;
}
var dailyOperatingCost = dailyBargeRate + fuelCostPerDay;
var voyageOperatingCost = dailyOperatingCost * voyageDays;
totalRate = voyageOperatingCost + portFeesPerVoyage + otherCostsPerVoyage;
document.getElementById("totalRate").innerText = "$" + totalRate.toFixed(2);
}