2017-07-04 09:53:01 -06:00
|
|
|
'use strict';
|
|
|
|
/* global $ */
|
|
|
|
|
2017-07-04 12:12:54 -06:00
|
|
|
var validEmail, validMessage;
|
|
|
|
|
|
|
|
// Validate email addresses
|
|
|
|
function validateEmail(email) {
|
|
|
|
var re = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
|
|
|
|
return re.test(email);
|
|
|
|
}
|
|
|
|
|
|
|
|
// Validate form
|
|
|
|
function validateForm(input) {
|
|
|
|
|
|
|
|
// Check if email is valid
|
|
|
|
if (input==='email') {
|
|
|
|
if (!validateEmail($('#email-input').val())) {
|
|
|
|
validEmail = false;
|
|
|
|
$('#email-help').show();
|
|
|
|
$('#submit-button').prop('disabled',true).prop('title',"You need to enter a valid email address. ");
|
|
|
|
}
|
|
|
|
else {
|
|
|
|
validEmail = true;
|
|
|
|
$('#email-help').hide();
|
|
|
|
validateForm();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
// Ensure message has been entered
|
|
|
|
if (input==='message') {
|
|
|
|
if ($('#message-input').val()==='') {
|
|
|
|
validMessage = false;
|
|
|
|
$('#message-help').show();
|
|
|
|
$('#submit-button').prop('disabled',true).prop('title',"You need to enter a message. ");
|
|
|
|
}
|
|
|
|
else {
|
|
|
|
validMessage = true;
|
|
|
|
$('#message-help').hide();
|
|
|
|
validateForm();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
// Recheck whole form
|
|
|
|
else {
|
|
|
|
if (validEmail && validMessage) {
|
|
|
|
$('#submit-button').prop('disabled',false).prop('title',"Click here to send your message. ");
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
else {
|
|
|
|
$('#submit-button').prop('disabled',true).prop('title',"Edit the form before clicking send. ");
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2017-07-04 09:53:01 -06:00
|
|
|
}
|
2017-07-04 12:12:54 -06:00
|
|
|
|
|
|
|
// Initial check
|
|
|
|
$(function() {
|
|
|
|
|
|
|
|
if ( validateEmail($('#email-input').val()) ) { validEmail = true; }
|
|
|
|
else { validEmail = false; }
|
|
|
|
|
|
|
|
if ( !$('#message-input').val()==='' ) { validMessage = true; }
|
|
|
|
else { validMessage = false; }
|
|
|
|
|
|
|
|
// Use a one-second timout because reCaptcha re-enables the button by default
|
|
|
|
setTimeout(validateForm,1000);
|
|
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
// Submit form (reCaptcha callback)
|
|
|
|
window.onSubmit = function() {
|
|
|
|
if (validateForm()) { $('#contact-form').submit(); }
|
|
|
|
};
|
|
|
|
|
|
|
|
// Form change listener
|
|
|
|
$('#email-input').change(function(){
|
|
|
|
validateForm('email');
|
|
|
|
});
|
|
|
|
$('#message-input').change(function(){
|
|
|
|
validateForm('message');
|
|
|
|
});
|