﻿// Control the Terms and Privacy Modals, Inserted on the Fly when the link is clicked


function restrictKeyPress(e, regex, allow) {
    var keynum = (e.which) ? e.which : event.keyCode; 
    var keychar;

    if (keynum < 32)
        return true;
        
    keychar = String.fromCharCode(keynum);
    
    if (allow)
        return regex.test(keychar);
    else
        return !regex.test(keychar);
} 

//Quick Check to insure the zipcode is 5 digits and a quote type has been selected
function ValidateQuoteForm() {
    var zipCode = document.getElementById("ZipCode").value;
    var form = document.forms[0];
    var type = null;
    for (var i = 0; i < form.QuoteType.length; i++) {
        if (form.QuoteType[i].selected) {
            type = form.QuoteType[i].value
        }
    }
    
    var error = false;
    
    if (!zipCode || zipCode.length != 5) {
        document.getElementById("zipcodeerror").style.display = 'inline';
        error = true;
    }
    else
        document.getElementById("zipcodeerror").style.display = 'none';

    if (!type) {
        document.getElementById("quotetypecodeerror").style.display = 'block';
        error = true;
    }
    else
        document.getElementById("quotetypecodeerror").style.display = 'none';
    
    //Validate that the zip code is a real zip code
    document.getElementById("invalidzip").style.display = 'none';
    if(!error)
    {
        $.ajax({
            async: false,
            url: approot + "ValidateZip/" + zipCode,
            success: function(data) {
                error = (data == "True");
                if (error)
                    document.getElementById("invalidzip").style.display = 'inline';
            }
        });
    }
    return !error;
}
//Client Side Validation For the Contact Form
function ValidateContactForm(form) {
    var strRegex = /[\w]+/;
    var emailRegex = /[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}/;
    var phoneRegex = /^(\(?\d{3}\)?-?\d{3}-?\d{4})?$/;
    var error = false;
    //FirstName
    if (!strRegex.test(form.FirstName.value)) {
        document.getElementById("FirstNameError").style.display = 'inline';
        error = true;
    }
    else
        document.getElementById("FirstNameError").style.display = 'none';
    //LastName    
    if (!strRegex.test(form.LastName.value))
    {
        document.getElementById("LastNameError").style.display = 'inline';
        error = true;
    }
    else
        document.getElementById("LastNameError").style.display = 'none';
        
    if (!strRegex.test(form.Message.value)) {
        document.getElementById("MessageError").style.display = 'inline';
        error = true;
    }
    else
        document.getElementById("MessageError").style.display = 'none';
        
    if (!emailRegex.test(form.Email.value)) {
        document.getElementById("EmailError").style.display = 'inline';
        error = true;
    }
    else
        document.getElementById("EmailError").style.display = 'none';

    if (!phoneRegex.test(form.Phone.value))
    {
        document.getElementById("PhoneError").style.display = 'inline';
        error = true;
    }
    else
        document.getElementById("PhoneError").style.display = 'none';

    if (form.Subject.value == "none")
    {
        document.getElementById("SubjectError").style.display = 'inline';
        error = true;
    }
    else
        document.getElementById("SubjectError").style.display = 'none';

    return !error;
}

function validateWidgetForm(form) {
    var domainRegex = /[\w]+$/;
    var error = false;
    if (!domainRegex.test(form.Domain.value)) {
        document.getElementById("domainerror").style.display = 'inline-table';
        document.getElementById("domainexample").style.color = 'Red';
        error = true;
    }
    else {
        document.getElementById("domainerror").style.display = 'none';
        document.getElementById("domainexample").style.color = 'Black';
    }
    return !error;
    
}


//Logic for rotating the testimonials on the screen
var currentTestimonial = 0;
function rotateTestimonial(max) {
    var current = document.getElementById("testimonial_" + currentTestimonial);
    currentTestimonial++;
    if (currentTestimonial == max)
        currentTestimonial = 0;
    var next = document.getElementById("testimonial_" + currentTestimonial);

    if (current && next) {
        current.style.display = 'none';
        next.style.display = 'block';
    }
    setTimeout("rotateTestimonial(" + max + ")", 10000);
}
//Logic for rotating the carriers on the screen
var currentCarrier = 0;
var nextCarrier = 3;
function rotateCarriers(max) {
    var current = document.getElementById("carrier_" + currentCarrier);
    var next = document.getElementById("carrier_" + nextCarrier);
    if (current && next) {
        current.style.display = 'none';
        next.style.display = '';

        currentCarrier++;
        nextCarrier++;
        currentCarrier = (currentCarrier == max ? 0 : currentCarrier);
        nextCarrier = (nextCarrier == max ? 0 : nextCarrier);
    }
    setTimeout("rotateCarriers(" + max + ")", 10000);
}
