Utah Refugee Goats Rental Calculator
Request Service
window.addEventListener("load", function(){
const FARM_ADDRESS = "6664 W 1400 N Salt Lake City Utah 84116";
let finalTotal = 0;
let distanceMiles = 0;
window.calculateRental = function(){
if(typeof google === "undefined"){
alert( "Google Maps failed to load." );
return;
}
const address = document.getElementById( "address" ).value;
if(address === ""){
alert( "Please enter address." );
return;
}
const acres = parseFloat( document.getElementById( "acres" ).value ) || 0;
const service = document.getElementById( "serviceType" ).value;
const serviceObj = new google.maps.DistanceMatrixService();
serviceObj.getDistanceMatrix({
origins:[FARM_ADDRESS],
destinations:[address],
travelMode: google.maps.TravelMode.DRIVING
},
function(response,status){
if(status !== "OK"){
alert( "Distance calculation failed." );
return;
}
distanceMiles = response.rows[0] .elements[0] .distance.value / 1609.34;
const distanceText = response.rows[0] .elements[0] .distance.text;
let serviceCost = 0;
let travelFee = 0;
if(service === "land"){
serviceCost = acres * 500;
if(serviceCost < 500){ serviceCost = 500; } } else { serviceCost = 500; } if( distanceMiles >= 15 && distanceMiles <= 20 ){ travelFee = 90; } else if( distanceMiles >= 20.5 && distanceMiles <= 25 ){ travelFee = 120; } else if(distanceMiles > 25){
document.getElementById( "results" ).innerHTML =
`
You are outside our service area. Please contact us for custom quote.
`;
document.getElementById( "formArea" ).style.display = "none";
return;
}
finalTotal = serviceCost + travelFee;
document.getElementById( "results" ).innerHTML =
`
Total: $${finalTotal.toLocaleString()}
Distance: ${distanceText}
Service Cost: $${serviceCost.toLocaleString()}
Travel Fee: $${travelFee.toLocaleString()}
`;
document.getElementById( "formArea" ).style.display = "block";
document.getElementById( "siteLocation" ).value = address;
document.getElementById( "totalEstimate" ).value =
"$" + finalTotal.toLocaleString();
});
};
window.submitRequest = async function(){
const customer = document.getElementById( "customerName" ).value;
const phone = document.getElementById( "phone" ).value;
const email = document.getElementById( "email" ).value;
const location = document.getElementById( "siteLocation" ).value;
const total = document.getElementById( "totalEstimate" ).value;
const { jsPDF } = window.jspdf;
const doc = new jsPDF();
doc.text( "Utah Refugee Goats", 20, 20 );
doc.text( "Service Request", 20, 35 );
doc.text( "Customer: " + customer, 20, 50 );
doc.text( "Phone: " + phone, 20, 60 );
doc.text( "Email: " + email, 20, 70 );
doc.text( "Location: " + location, 20, 80 );
doc.text( "Total: " + total, 20, 90 );
const pdfBase64 = doc.output( "datauristring" );
const formData = new FormData();
formData.append( "name", customer );
formData.append( "phone", phone );
formData.append( "email", email );
formData.append( "location", location );
formData.append( "total", total );
formData.append( "pdf", pdfBase64 );
try{
const response = await fetch( "https://utahgoats.org/send-request.php", { method:"POST", body:formData } );
const result = await response.text();
if(result === "success"){
document.getElementById( "results" ).innerHTML +=
`
`;
} else {
alert(result);
}
} catch(error){
console.error(error);
alert( "Submission failed: " + error.message );
}
};
});
