Calculate Time and a Half Rate
.calculator-widget {
font-family: sans-serif;
border: 1px solid #ccc;
padding: 20px;
border-radius: 8px;
max-width: 600px;
margin: 20px auto;
background-color: #f9f9f9;
}
.calculator-widget h2 {
text-align: center;
color: #333;
margin-bottom: 20px;
}
.calculator-inputs {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
gap: 15px;
margin-bottom: 20px;
}
.calculator-widget label {
display: block;
margin-bottom: 5px;
font-weight: bold;
color: #555;
}
.calculator-widget input[type="number"] {
width: calc(100% – 20px);
padding: 10px;
border: 1px solid #ddd;
border-radius: 4px;
font-size: 1em;
}
.calculator-widget button {
grid-column: 1 / -1;
padding: 12px 20px;
background-color: #007bff;
color: white;
border: none;
border-radius: 4px;
cursor: pointer;
font-size: 1.1em;
transition: background-color 0.3s ease;
}
.calculator-widget button:hover {
background-color: #0056b3;
}
.calculator-results {
margin-top: 20px;
padding: 15px;
background-color: #e9ecef;
border-radius: 4px;
}
.calculator-results h3 {
margin-top: 0;
color: #333;
}
.calculator-results div {
margin-bottom: 8px;
font-size: 1.1em;
color: #444;
}
.calculator-explanation {
margin-top: 30px;
border-top: 1px solid #eee;
padding-top: 20px;
}
.calculator-explanation h3, .calculator-explanation h4 {
color: #333;
margin-bottom: 10px;
}
.calculator-explanation p, .calculator-explanation ul, .calculator-explanation ol {
line-height: 1.6;
color: #666;
}
.calculator-explanation li {
margin-bottom: 5px;
}
function calculateTimeAndHalf() {
var regularHourlyRateInput = document.getElementById("regularHourlyRate");
var hoursWorkedRegularInput = document.getElementById("hoursWorkedRegular");
var hoursWorkedOvertimeInput = document.getElementById("hoursWorkedOvertime");
var regularHourlyRate = parseFloat(regularHourlyRateInput.value);
var hoursWorkedRegular = parseFloat(hoursWorkedRegularInput.value);
var hoursWorkedOvertime = parseFloat(hoursWorkedOvertimeInput.value);
var regularPayDiv = document.getElementById("regularPay");
var overtimePayDiv = document.getElementById("overtimePay");
var totalPayDiv = document.getElementById("totalPay");
// Clear previous results
regularPayDiv.innerHTML = "";
overtimePayDiv.innerHTML = "";
totalPayDiv.innerHTML = "";
if (isNaN(regularHourlyRate) || isNaN(hoursWorkedRegular) || isNaN(hoursWorkedOvertime) ||
regularHourlyRate < 0 || hoursWorkedRegular < 0 || hoursWorkedOvertime < 0) {
alert("Please enter valid non-negative numbers for all fields.");
return;
}
var overtimeRate = regularHourlyRate * 1.5;
var regularPay = regularHourlyRate * hoursWorkedRegular;
var overtimePay = overtimeRate * hoursWorkedOvertime;
var totalPay = regularPay + overtimePay;
regularPayDiv.innerHTML = "Regular Pay: $" + regularPay.toFixed(2);
overtimePayDiv.innerHTML = "Overtime Pay: $" + overtimePay.toFixed(2);
totalPayDiv.innerHTML = "Total Pay: $" + totalPay.toFixed(2);
}