$(document).ready(function(){
	//input fields with prepopulated text, remove them on focus
	$("input[defaultText]").focus(defaultTextInput_focus);
	//restore input fields to default text if user didn't enter anything
	$("input[defaultText]").blur(defaultTextInput_blur);
	
	//global newsletter
	$('.newsletterSubmitBtn').click(newsletterSubmitBtn_click);
	
	//spam check for forms
	$('input[spamcheck="true"]').blur(formSpanValidation_blur);
});
var userSpamCheckValidation = 0;

var defaultTextInput_focus = function(e){
	var sender = $(e.currentTarget);
	if(sender.val() == sender.attr('defaultText')){
		sender.val('');								   
	}
}

var defaultTextInput_blur = function(e){
	var sender = $(e.currentTarget);
	if(sender.val() == ''){
		sender.val(sender.attr('defaultText'));								   
	}
}

var formSpanValidation_blur = function(e){
	var sender = $(e.currentTarget);
	userSpamCheckValidation = 1;
	
	var thisForm = sender.parent();
	if(thisForm.find('input[name="uservalidated"]').length == 0){
		thisForm.append('<input name="uservalidated" type="hidden" value="1" />');
	}
	
}

var newsletterSubmitBtn_click = function(e){
	
	var sender = $(e.currentTarget);
	
	var emailSignup = $('#newsletterSignupInput').val();
	var thisForm = sender.parent();
	
	if( emailSignup.length > 0 && thisForm.find('input[name="uservalidated"]').val() == 1){
		var date = new Date();
		var timestamp = date.getTime();
		$.ajax({
			url: "../wp-content/plugins/newsletterAjax.php?time=" + timestamp,
			type: "POST",
			dataType : 'text',
			data: ({
				   action : 'newsletterSignup',
				   email: $('#newsletterSignupInput').val(),
				   uservalidated: thisForm.find('input[name="uservalidated"]').val()
			}),
			success: function(result){
				if(result){
					$('#newsletterSignupInput').remove();
					$('.newsletterSubmitBtn').remove();
					$('#newsletterSubscriptionForm').html('<span class="newsletterThankYou">Thanks for signing up!</span>');
				}
			},
			error: function(result){
				alert('Error signing up for newsletter. ' + result);	
			}
		});
	
	}
	
	
	return false;
	
}
