// NewsletterSignupDeclaration.js

dojo.require("wc.service.common");

var msgEmailRequired = 'Please enter an Email address\n';
var msgEmailInvalid = 'Ensure that the Email address is valid (e.g., john.doe@smithandnoble.com)\n';
var msgErrorHeader = 'Your request could not be submitted.  Make the following modifications to continue:  \n\n';

// newFunction
wc.service.declare({
  id: "SNNewsletterSignupCmd",
  actionId: " SNNewsletterSignupCmd",
  url: ultraHome+"SNNewsletterSignupCmd",
  formId: "NewsletterForm",
successTest: function (serviceResponse) {
    alert('succes test');
},
    
successHandler: function(serviceResponse) {
      alert("Thank You for signing up to receive Email Updates.");
      document.getElementById("signup_email").value = "";
      location.replace(ultraHome+'newsletter-thank-you');
    },

failureHandler: function(serviceResponse) {
    if (serviceResponse.errorMessage) {
      alert(serviceResponse.errorMessage);
    }
  } 
});

function checkEmail(formName) {
	var signupForm = document.getElementById(formName);
	var showmsg = false;
    var msg = msgErrorHeader;
    
    if (!isFilled(signupForm.signup_email))
    {
        msg += msgEmailRequired;
        showmsg = true;
    }
    else
    {
        if (!isEmailValid(signupForm.signup_email))
        {
            msg += msgEmailInvalid;
            showmsg = true;
        }
    }
    
    if(showmsg)
    	alert(msg);
    
    return showmsg;
}

function searchForEnter(e)
{
  if (!e) e=window.event;
  var code;
  if ((e.charCode) && (e.keyCode==0))
    code = e.charCode
  else
    code = e.keyCode;
	
	var parameters = {};
  	parameters.signup_email = document.getElementById("signup_email").value;
  	
	if(code == 13)
	{
		if(!checkEmail('NewsletterForm'))
			wc.service.invoke(ultraHome+'SNNewsletterSignupCmd',parameters);
	}
	return false;
}
