jQuery(document).ready(function($) {
	// add message area after form, initially hidden
	$('#contactForm').after('<div id="cfMsg"></div>');
	$('#cfMsg').hide();
	
	$('#cf_send').click(function() {
	     
		if(!isEmpty($('#cf_toAddress').val()) && $('#cf_toAddress').val() != "none"){
			// set email info
			var toAddress = $('#cf_toAddress').val().trim();
			var subject = $('#cf_subject').val().trim();
			var fromAddress = $('#cf_email').val().trim();
			var name = $('#cf_name').val().trim();
			var comments = $('#cf_comments').val().trim();
			
			// check that all fields are filled
			var errorMessage = "";
			errorMessage += isEmpty(subject) ? "\nSubject" : "";
			errorMessage += isEmpty(name) ? "\nName" : "";
			errorMessage += isEmpty(fromAddress) ? "\nEmail" : "";
			errorMessage += isEmpty(comments) ? "\nComments" : "";
			if(errorMessage.length > 0){
				alert("Please fill out the following fields:" + errorMessage);
				return false;
			}
			// check for valid email address
			var filter = /^([a-zA-Z0-9_\.\-\+])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
			if (!filter.test(fromAddress)) {
				alert('Please provide a valid email address');
				return false;
			}
			
			// send the email
			DataService.LoggedContact(
				toAddress, 
				fromAddress, 
				subject, 
				name, 
				comments, 
				"Contact Form", 
				onSuccess, 
				onFail
			);
		} else {
			// invalid 'To:' address
			alert("Please choose a recipient from the category list");
			return false;
		}
		return false;
	});
});

function isEmpty(s) {
	s = s.trim();
	if(s==null || s=="")
		return true;
	else
		return false;
}

String.prototype.trim = function() {
	return this.replace(/^\s+|\s+$/g,"");
};

function onSuccess(res) {
	//jQuery('#cfMsg').removeClass().addClass('cfSuccess').html('<p>Your email has been successfully sent. Someone will get back to you shortly.</p>').show();
	// alert("Your email has been successfully sent. Someone will get back to you shortly.");
	// $('#cf_toAddress').val("none");
	// 	$('#cf_subject').val("");
	// 	$('#cf_email').val("");
	// 	$('#cf_name').val("");
	// 	$('#cf_comments').val("");
	var source = $('#cf_toAddress :selected').text();  
	var redirect = $('#cf_send').attr("redirect") + "?source=" + source;
	window.location = redirect;
	
}

function onFail(res) {
	//jQuery('#cfMsg').removeClass().addClass('cfFail').html('<p>There was a problem sending your email. Please wait a few moments and try again. We apologize for the inconvenience.</p>').show();
	alert("There was a problem sending your email. Please wait a few moments and try again. We apologize for the inconvenience.");
}