
$(document).ready(function() {
	$("#email-field").val(default_field_value)
})

// Submit form via Ajax on Enter keypress
$('#email-field').keypress(function(event) {
	if (event.keyCode == '13') {
		if (is_form_active()) {
			submit_email()
		}
	}
})

// Prevent classic form submitting on Enter keypress
$("#newsletter-form").submit(function() {
	return false
})

$(function() {
	$("#email-button").click(function(event) {
		clear_field_default()
		if(is_form_active()) {
			submit_email()
		}
		event.stopPropagation() // don't send event to body click handler
	})
})

$("body").mousedown(function() {
	restore_field_default()
})

$('#email-field').mousedown(function(event) {
	clear_field_default()
	$('#email-field').focus()
	event.stopPropagation() // don't send event to body click handler
})

function submit_email() {
	deactivate_form()
	url = "/newsletter"
	postData = "email=" + $("#email-field").val()
	postData += "&lang=" + $("#email-lang").val()
	
	$.post(url, postData, function(email) {
		if (email.status == "empty") {
			set_error_message(error_empty)
			activate_form()
		}
		else if (email.status == "invalid") {
			set_error_message(error_invalid)
			activate_form()
		}
		else {
			reinitialize_form()
			thankyou(email.value)
		}
	}, "json")
}

function set_error_message(msg) {
	$("#email-accepted").hide()
	$("#email-field").addClass("error")
	$("#error").show()
	$("#error-message").html(msg)
}

function remove_error_message() {
	$("#email-field").removeClass("error")
	$("#error").hide()
	$("#error-message").html("")
}

function deactivate_form() {
	$("#email-button").addClass("inactive")
	$("#email-field").addClass("inactive")
	$("#email-field").attr("readonly", true)
}

function activate_form() {
	$("#email-button").removeClass("inactive")
	$("#email-field").removeClass("inactive")
	$("#email-field").removeAttr("readonly")
}

function is_form_active() {
	return !$("#email-button").hasClass("inactive")
}

function clear_field_default() {
	if($("#email-field").val() == default_field_value) {
		$("#email-field").val("")
		remove_default_class()
	}
}

function restore_field_default() {
	if($("#email-field").val() == "") {
		$("#email-field").val(default_field_value)
		set_default_class()
	}
}

function set_default_class() {
	$("#email-field").addClass("default")
}

function remove_default_class() {
	$("#email-field").removeClass("default")
}

function reinitialize_form()
{
	activate_form()
	$("#email-field").val("").blur()
	restore_field_default()
	remove_error_message()
}

function thankyou(email) {
	$("#accept-message").html(thankyou_msg + " <strong>"+ email +"</strong>")
    $("#newsletter-form").hide()
	$("#email-accepted").show()
}

