YAHOO.namespace("newsletter.dom");

YAHOO.newsletter.dom.init = function() {

	YAHOO.util.Event.addListener("newsletter_email", "focus", removeDefault);
	YAHOO.util.Event.addListener("newsletter_form", "submit", signupNewsletter);

	function removeDefault(e)
	{
		var email_txt = document.getElementById("newsletter_email");
		if (YAHOO.util.Dom.hasClass(email_txt, "deftxt"))
		{
			email_txt.value = "";
			YAHOO.util.Dom.removeClass(email_txt, "deftxt");
		}
	}

	function signupNewsletter(e)
	{
		YAHOO.util.Event.stopEvent(e);
		var email_txt = document.getElementById("newsletter_email");
		var url = '/account/profile/signup_newsletter?email_address=' + url_encode(email_txt.value);
		run_ajax(url, signupDone);
	}

	function signupDone(status, jsonData)
	{
		if (status == 200)
		{
			if (jsonData.error)
			{
				error_box(jsonData.error.msg_dict['email_address']);
			}
			else
			{
				if (jsonData.upsell)
				{
					YAHOO.login.dom.show_signup(null, 'Signup for VentureBeat Profiles (optional)', { 'from': 'newsletter_signup', 'e': jsonData.email });
					YAHOO.util.Dom.addClass("module_newsletter", "hidden");
				}
				else if (jsonData.existing_user)
				{
					error_box("That email address is already registered with a VentureBeat Profiles account. To sign up for the newsletter, please login to your account.");
				}
				else
				{
					YAHOO.util.Dom.addClass("module_newsletter", "hidden");
				}
			}
		}
		else
		{
			error_box("An error occurred while processing your request. Please try again later.");
		}
	}
}

YAHOO.util.Event.addListener(window, "load", YAHOO.newsletter.dom.init);

