// JavaScript used on contact form

function isValidEmail(emailAddress) {
	//this function tests if the it's a valid email address
	var pattern = new RegExp(/^(("[\w-\s]+")|([\w-]+(?:\.[\w-]+)*)|("[\w-\s]+")([\w-]+(?:\.[\w-]+)*))(@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][0-9]\.|1[0-9]{2}\.|[0-9]{1,2}\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\]?$)/i);
	
	return pattern.test(emailAddress);
}

function validateEmailField() {
	//validate fields
      if ($("#email").val() != "" && $("email").val() != "email" && isValidEmail($("#email").val())) {
		$("#email").removeClass('error');
		$("#email + span").remove();
        return true;
      }
	  $("#email + span").remove();
      $("#email").after('<span class="error">Please enter a valid email address!</span>');
	  $("#email").addClass('error');
      return false;
}

function validateMsgField() {
	if ($("#msg").val() != "" && $("#msg").val() != "your message") {
		$("#msg + span").remove();
		$("#msg").removeClass('error');
		return true;
	}
		$("#msg + span").remove();
		$("#msg").after('<span class="error">Please enter your message!</span>');
		$("#msg").addClass('error');
		return false;
}

$(document).ready(function(){ 
	
	//on form submit validate
	$("form").submit(function() {
		return validateEmailField();
	});
	
	$("form").submit(function() {
		return validateMsgField();
    });
	
	//also validate on field change
	$("#email").keyup(function() {
		validateEmailField();
	});
	$("#msg").keyup(function() {
		validateMsgField();
	});
	
	//field default values
var nameDV = 'name';
var emailDV = 'email';
var webDV = 'website (optional)';
var phoneDV = 'phone (optional)';
var msgDV = 'your message';

//when user enters a field, if the field has the default descriptive value, remove it
$("#name").focus(function() {
	if ($("#name").val() == nameDV) {
		$("#name").val("");
	}
	$("#name").addClass("darkColor");
});
$("#name").blur(function() {
	if ($("#name").val() == "") {
		$("#name").val(nameDV);
		$("#name").removeClass("darkColor");
	}
});
$("#email").focus(function() {
	if ($("#email").val() == emailDV) {
		$("#email").val("");		
	}
	$("#email").addClass("darkColor");
});
$("#email").blur(function() {
	if ($("#email").val() == "") {
		$("#email").val(emailDV);
		$("#email").removeClass("darkColor");
	}
});
$("#web").focus(function() {
	if ($("#web").val() == webDV) {
		$("#web").val("");
	}
	$("#web").addClass("darkColor");
});
$("#web").blur(function() {
	if ($("#web").val() == "") {
		$("#web").val(webDV);
		$("#web").removeClass("darkColor");
	}
});
$("#phone").focus(function() {
	if ($("#phone").val() == phoneDV) {
		$("#phone").val("");
	}
	$("#phone").addClass("darkColor");
});
$("#phone").blur(function() {
	if ($("#phone").val() == "") {
		$("#phone").val(phoneDV);
		$("#phone").removeClass("darkColor");
	}
});
$("#msg").focus(function() {
	if ($("#msg").val() == msgDV) {
		$("#msg").val("");
	}
	$("#msg").addClass("darkColor");
});
$("#msg").blur(function() {
	if ($("#msg").val() == "") {
		$("#msg").val(msgDV);
		$("#msg").removeClass("darkColor");
	}
});
	
});


