File: /home/theadvocacyservicecenter/public_html/referrals.php
<?php
//Ip Function
function getClientIp()
{
$ipaddress = '';
if (getenv('HTTP_CLIENT_IP'))
$ipaddress = getenv('HTTP_CLIENT_IP');
else if (getenv('HTTP_X_FORWARDED_FOR'))
$ipaddress = getenv('HTTP_X_FORWARDED_FOR');
else if (getenv('HTTP_X_FORWARDED'))
$ipaddress = getenv('HTTP_X_FORWARDED');
else if (getenv('HTTP_FORWARDED_FOR'))
$ipaddress = getenv('HTTP_FORWARDED_FOR');
else if (getenv('HTTP_FORWARDED'))
$ipaddress = getenv('HTTP_FORWARDED');
else if (getenv('REMOTE_ADDR'))
$ipaddress = getenv('REMOTE_ADDR');
else
$ipaddress = 'UNKNOWN';
return $ipaddress;
}
?>
<head>
<meta charset="utf-8">
<meta content="width=device-width, initial-scale=1.0" name="viewport">
<title>The Advocacy Service Center</title>
<meta name="description" content="">
<meta name="keywords" content="">
<!-- Favicons -->
<link href="assets/img/favicon.png" rel="icon">
<link href="assets/img/apple-touch-icon.png" rel="apple-touch-icon">
<!-- Fonts -->
<link href="https://fonts.googleapis.com" rel="preconnect">
<link href="https://fonts.gstatic.com" rel="preconnect" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&family=Inter:wght@100;200;300;400;500;600;700;800;900&family=Nunito:ital,wght@0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap" rel="stylesheet">
<!-- Vendor CSS Files -->
<link href="assets/vendor/bootstrap/css/bootstrap.min.css" rel="stylesheet">
<link href="assets/vendor/bootstrap-icons/bootstrap-icons.css" rel="stylesheet">
<link href="assets/vendor/aos/aos.css" rel="stylesheet">
<link href="assets/vendor/glightbox/css/glightbox.min.css" rel="stylesheet">
<link href="assets/vendor/swiper/swiper-bundle.min.css" rel="stylesheet">
<!-- Main CSS File -->
<link href="assets/css/main.css" rel="stylesheet">
<style>
ul {
list-style-type: none;
}
.med-grid {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 10px 30px;
font-size: 14px;
}
.med-grid div {
white-space: nowrap;
}
.pricing .pricing-card .features-list li i {
color: var(--accent-color);
margin-right: 0.75rem;
font-size: 1.25rem;
display: flex;
align-items: center;
margin-bottom: 0.5rem;
}
/* 4-column layout */
.features-list.med-grid {
display: grid;
grid-template-columns: repeat(4, 1fr);
column-gap: 30px;
list-style: none;
padding: 0;
margin: 0;
}
.features-list.med-grid li {
display: flex;
align-items: center;
}
/* Responsive */
@media (max-width: 900px) {
.features-list.med-grid {
grid-template-columns: repeat(2, 1fr);
}
}
@media (max-width: 500px) {
.features-list.med-grid {
grid-template-columns: 1fr;
}
}
</style>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-easing/1.4.1/jquery.easing.min.js" integrity="sha512-0QbL0ph8Tc8g5bLhfVzSqxe9GERORsKhIn1IrpxDAgUsbBGz/V7iSav2zzW325XGd1OMLdL4UiqRJj702IeqnQ==" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.19.5/jquery.validate.min.js"></script>
<script src="https://cdn.jsdelivr.net/jquery.validation/1.16.0/additional-methods.min.js"></script>
<script src="./assets/js/dobpicker.js"></script>
</head>
<body class="index-page">
<header id="header" class="header d-flex align-items-center fixed-top">
<div class="header-container container-fluid container-xl position-relative d-flex align-items-center justify-content-between">
<a href="/" class="logo d-flex align-items-center me-auto me-xl-0">
<!-- Uncomment the line below if you also wish to use an image logo -->
<!-- <img src="assets/img/logo.png" alt=""> -->
<img class="d-block img-fluid mx-auto" src="assets/img/logo.svg" alt="Bootstrap" width="256" height="204">
</a>
<nav id="navmenu" class="navmenu">
<ul>
<li><a href="#hero" class="active">Home</a></li>
<li><a href="#mission">Mission</a></li>
<li><a href="#medical">Medical</a></li>
<li><a href="#medication">Medication</a></li>
<li><a href="#testimonials">Testimonials</a></li>
<li><a href="#contact">Contact</a></li>
</ul>
<i class="mobile-nav-toggle d-xl-none bi bi-list"></i>
</nav>
<a class="btn-getstarted" href="#referral-partners">Referral Partners</a>
<a class="btn-getstarted" href="Tel:+18882998146">Call: +1 (888) 299-8146</a>
</div>
</header>
<main class="main">
<!-- Hero Section -->
<section id="hero" class="hero section">
<div class="container" data-aos="fade-up" data-aos-delay="100">
<div class="row align-items-center">
<div class="col-lg-12">
<div class="hero-content" data-aos="fade-up" data-aos-delay="200">
</div>
</div>
<form id="referralForm" name="referralForm" method="POST" action="sendlead.php" style="padding: 1em">
<h3 class="mb-4 text-center">Referral Lead Submission</h3>
<div class="row">
<div class="col-md-6">
<div class="form-floating mb-4">
<input id="firstName" type="text" name="firstname" class="form-control" placeholder="First Name" required>
<label for="firstName">First Name</label>
</div>
</div>
<div class="col-md-6">
<div class="form-floating mb-4">
<input id="lastName" type="text" name="lastname" class="form-control" placeholder="Last Name" required>
<label for="lastName">Last Name</label>
</div>
</div>
<div class="col-md-6">
<div class="form-floating mb-4">
<input id="email" type="email" name="email" class="form-control" placeholder="Email" required>
<label for="email">Email</label>
</div>
</div>
<div class="col-md-6">
<div class="form-floating mb-4">
<input id="phone" type="text" name="phone" class="form-control" placeholder="Phone" required maxlength="10">
<label for="phone">Phone</label>
</div>
</div>
</div>
<div class="row">
<h5 class="mb-3 mt-3 text-center">Date of Birth</h5>
<div class="col-md-4 col-sm-12">
<select id="dobMonth" class="form-select" name="month" required>
<option value="">Month</option>
<option value="01">January</option>
<option value="02">February</option>
<option value="03">March</option>
<option value="04">April</option>
<option value="05">May</option>
<option value="06">June</option>
<option value="07">July</option>
<option value="08">August</option>
<option value="09">September</option>
<option value="10">October</option>
<option value="11">November</option>
<option value="12">December</option>
</select>
</div>
<div class="col-md-4 col-sm-12">
<select id="dobDay" class="form-select" name="day" required>
<option value="">Day</option>
<script>
for(let i=1;i<=31;i++){
let val = i < 10 ? '0'+i : i;
document.write(`<option value="${val}">${val}</option>`);
}
</script>
</select>
</div>
<div class="col-md-4 col-sm-12">
<select id="dobYear" class="form-select" name="year" required>
<option value="">Year</option>
<script>
let currentYear = new Date().getFullYear();
let maxYear = currentYear - 18; // user must be at least 18
let minYear = 1900; // optional
for(let y = maxYear; y >= minYear; y--){
document.write(`<option value="${y}">${y}</option>`);
}
</script>
</select>
</div>
</div>
<h5 class="mb-3 mt-4">Address</h5>
<div class="row">
<div class="col-md-12">
<div class="form-floating mb-4">
<input id="address" type="text" name="address" class="form-control" placeholder="Street Address" required>
<label for="address">Street Address</label>
</div>
</div>
<div class="col-md-4">
<div class="form-floating mb-4">
<input id="zipCode" type="text" name="zip" class="form-control" placeholder="Zip" required maxlength="5">
<label for="zipCode">Zip Code</label>
</div>
</div>
<div class="col-md-4">
<div class="form-floating mb-4">
<input id="city" type="text" name="city" class="form-control" placeholder="City" required>
<label for="city">City</label>
</div>
</div>
<div class="col-md-4">
<div class="form-floating mb-4">
<select id="state" name="state" class="form-select" required>
<option value="">State</option>
<option value="AL">AL</option>
<option value="AK">AK</option>
<option value="AZ">AZ</option>
<option value="AR">AR</option>
<option value="CA">CA</option>
<option value="CO">CO</option>
<option value="CT">CT</option>
<option value="DE">DE</option>
<option value="FL">FL</option>
<option value="GA">GA</option>
<option value="HI">HI</option>
<option value="ID">ID</option>
<option value="IL">IL</option>
<option value="IN">IN</option>
<option value="IA">IA</option>
<option value="KS">KS</option>
<option value="KY">KY</option>
<option value="LA">LA</option>
<option value="ME">ME</option>
<option value="MD">MD</option>
<option value="MA">MA</option>
<option value="MI">MI</option>
<option value="MN">MN</option>
<option value="MS">MS</option>
<option value="MO">MO</option>
<option value="MT">MT</option>
<option value="NE">NE</option>
<option value="NV">NV</option>
<option value="NH">NH</option>
<option value="NJ">NJ</option>
<option value="NM">NM</option>
<option value="NY">NY</option>
<option value="NC">NC</option>
<option value="ND">ND</option>
<option value="OH">OH</option>
<option value="OK">OK</option>
<option value="OR">OR</option>
<option value="PA">PA</option>
<option value="RI">RI</option>
<option value="SC">SC</option>
<option value="SD">SD</option>
<option value="TN">TN</option>
<option value="TX">TX</option>
<option value="UT">UT</option>
<option value="VT">VT</option>
<option value="VA">VA</option>
<option value="WA">WA</option>
<option value="WV">WV</option>
<option value="WI">WI</option>
<option value="WY">WY</option>
</select>
<label for="state">State</label>
</div>
</div>
<div class="col-md-4">
<div class="form-floating mb-3">
<select id="med1" name="med1" class="form-select" required>
<option value="">Select Med 1</option>
</select>
<label for="med1">Med 1</label>
</div>
</div>
<div class="col-md-4">
<div class="form-floating mb-3">
<select id="med2" name="med2" class="form-select">
<option value="">Select Med 2 (optional)</option>
</select>
<label for="med2">Med 2</label>
</div>
</div>
<div class="col-md-4">
<div class="form-floating mb-3">
<select id="med3" name="med3" class="form-select">
<option value="">Select Med 3 (optional)</option>
</select>
<label for="med3">Med 3</label>
</div>
</div>
</div>
<div class="form-floating mb-3">
<textarea id="additionalMeds" name="additionalMeds" class="form-control" placeholder="Additional Medications / Notes (optional)" style="height: 100px;"></textarea>
<label for="additionalMeds">Additional Medications / Notes</label>
</div>
<div class="row">
<div class="col-md-6">
<div class="form-floating mb-3">
<input type="text" id="agentName" name="agentName" class="form-control" placeholder="Agent Name" required>
<label for="agentName">Agent Name</label>
</div>
</div>
<div class="col-md-6">
<div class="form-floating mb-3">
<input type="text" id="officeLocation" name="officeLocation" class="form-control" placeholder="Office Location" required>
<label for="officeLocation">Office Location</label>
</div>
</div>
</div>
<!-- Meds, Notes, Agent, Office, etc. remain same -->
<div class="text-center">
<button type="submit" id="submitLeadButton" class="btn btn-success btn-lg mt-3">Submit Lead</button>
</div>
<div style="display:none;">
<input type="text" name="website" value="">
</div>
</form>
</div>
</div>
</section><!-- /Hero Section -->
<div id="formResponse" style="margin-top: 1em;"></div>
<footer id="footer" class="footer">
<div class="container copyright text-center">
© 2025 by The Advocacy Service Center. <a href="/privacy.php">Privacy Policy</a> | <a href="/terms.php">Terms and Conditions</a>
</div>
</footer>
<!-- Scroll Top -->
<a href="/" id="scroll-top" class="scroll-top d-flex align-items-center justify-content-center"><i class="bi bi-arrow-up-short"></i></a>
<script>
$(document).ready(function(){
/*---------------------- Phone Number ----------------------*/
$('#phone').on('input', function(){
// Only allow numbers
this.value = this.value.replace(/[^0-9]/g,'');
});
/*---------------------- Name Fields ----------------------*/
$('#firstName, #lastName').on('input', function(){
// Only letters and spaces
this.value = this.value.replace(/[^a-zA-Z\s]/g,'');
});
/*---------------------- ZIP Code Lookup ----------------------*/
$('#zipCode').on('input', function(){
// Only allow numbers
this.value = this.value.replace(/[^0-9]/g,'');
if(this.value.length === 5){
// Lookup city/state using Zippopotam.us API
$.getJSON('https://api.zippopotam.us/us/' + this.value, function(data){
$('#city').val(data.places[0]['place name']);
$('#state').val(data.places[0]['state abbreviation']);
}).fail(function(){
console.log('ZIP lookup failed');
});
}
});
/*---------------------- jQuery Validation ----------------------*/
$.validator.addMethod("lettersonly", function(value, element) {
return this.optional(element) || /^[a-zA-Z\s]+$/.test(value);
}, "Letters only please");
$("#referralForm").validate({
rules: {
firstname: { required: true, lettersonly: true },
lastname: { required: true, lettersonly: true },
email: { required: true, email: true },
phone: { required: true, minlength: 10, maxlength: 10 },
zip: { required: true, minlength: 5, maxlength: 5 },
month: { required: true },
day: { required: true },
year: { required: true },
address: { required: true },
city: { required: true },
state: { required: true }
},
messages: {
firstname: "Only letters allowed",
lastname: "Only letters allowed",
phone: "Enter a 10-digit phone number",
email: "Enter a valid email address",
zip: "Enter a 5-digit ZIP code"
},
submitHandler: function(form){
$("#submitLeadButton").prop("disabled", true).text("Sending...");
$.ajax({
url: $(form).attr("action"),
type: "POST",
data: $(form).serialize(),
dataType: "json",
success: function(response){
if(response.status === "success"){
alert("Lead submitted successfully!");
form.reset();
} else {
alert("Error: " + response.message);
}
$("#submitLeadButton").prop("disabled", false).text("Submit Lead");
},
error: function(xhr){
alert("Submission failed: " + xhr.responseText);
$("#submitLeadButton").prop("disabled", false).text("Submit Lead");
}
});
}
});
});
</script>
<script>
let currentYear = new Date().getFullYear();
let maxYear = currentYear - 18; // user must be at least 18
let minYear = 1900; // optional
for(let y = maxYear; y >= minYear; y--){
document.write(`<option value="${y}">${y}</option>`);
}
</script>
<script>
$(document).ready(function(){
// ------------------ Load Medications from Worker API ------------------
function loadMeds() {
fetch("https://winter-violet-e171.bitter-brook-1355.workers.dev")
.then(response => response.json())
.then(data => {
// Sort alphabetically
data.sort((a,b) => a.name.localeCompare(b.name));
const medFields = ["med1","med2","med3"];
medFields.forEach(id => {
const select = document.getElementById(id);
select.innerHTML = `<option value="">Select ${id.toUpperCase()}</option>`;
data.forEach(med => {
if(med.name){
const option = document.createElement("option");
option.value = med.name;
option.text = med.name;
select.appendChild(option);
}
});
});
})
.catch(() => {
["med1","med2","med3"].forEach(id => {
document.getElementById(id).innerHTML = "<option>Unable to load medications</option>";
});
});
}
loadMeds(); // Call the function to populate meds
// ------------------ Validation for Meds ------------------
$("#referralForm").validate({
rules: {
firstname: { required: true, lettersonly: true },
lastname: { required: true, lettersonly: true },
email: { required: true, email: true },
phone: { required: true, minlength: 10, maxlength: 10 },
zip: { required: true, minlength: 5, maxlength: 5 },
month: { required: true },
day: { required: true },
year: { required: true },
address: { required: true },
city: { required: true },
state: { required: true },
agentName: { required: true },
officeLocation: { required: true },
med1: { required: true }
},
messages: {
firstname: "Only letters allowed",
lastname: "Only letters allowed",
phone: "Enter a 10-digit phone number",
email: "Enter a valid email address",
zip: "Enter a 5-digit ZIP code",
agentName: "Agent Name required",
officeLocation: "Office Location required",
med1: "Please select at least Med 1"
},
submitHandler: function(form){
$("#submitLeadButton").prop("disabled", true).text("Sending...");
$.ajax({
url: $(form).attr("action"),
type: "POST",
data: $(form).serialize(),
dataType: "json",
success: function(response){
if(response.status === "success"){
alert("Lead submitted successfully!");
form.reset();
loadMeds(); // reload meds after reset
} else {
alert("Error: " + response.message);
}
$("#submitLeadButton").prop("disabled", false).text("Submit Lead");
},
error: function(xhr){
alert("Submission failed: " + xhr.responseText);
$("#submitLeadButton").prop("disabled", false).text("Submit Lead");
}
});
}
});
});
</script>
<!-- Vendor JS Files -->
<script src="assets/vendor/bootstrap/js/bootstrap.bundle.min.js"></script>
<script src="assets/vendor/php-email-form/validate.js"></script>
<script src="assets/vendor/aos/aos.js"></script>
<script src="assets/vendor/glightbox/js/glightbox.min.js"></script>
<script src="assets/vendor/swiper/swiper-bundle.min.js"></script>
<script src="assets/vendor/purecounter/purecounter_vanilla.js"></script>
<!-- Main JS File -->
<script src="assets/js/main.js"></script>
</body>
</html>