var validateForm = null;
var submitSignup = null;

Event.observe(window, 'load', function() {
    if ($('contactus')) {
        validateForm = new Validation('contactus', {immediate: true, onSubmit: false});
    }
    Event.observe($('submitContactUs'), 'click', submitValidForm);
    
});

function submitValidForm() {
    if (validateForm.validate()) {
        doContact();
    }
}
function doContact() {
    new Ajax.Request('contactSubmit', {
        asynchronous: false,
        onSuccess: function(transport) {
            var data = transport.responseText.evalJSON(true);
            var serverError = getServerError(data);
            if (serverError != "") {
                $('serverMessage').update(serverError);
                $('serverMessage').show();
            } else {
               $('serverMessage').update("Thank You For Contacting Moxii!");
               $('serverMessage').show();
               $('firstName').value="";
               $('lastName').value="";
               $('emailAddress').value="";
               $('message').value="";
            }
        }, parameters: $('contactus').serialize(), requestHeaders: {Accept: 'application/json'}
        
    });
}

//newsletter functionality

function submitValidNewsletter(){
    validateNewsletterForm = new Validation('signUpForm', {immediate: true, onSubmit: false});	
    if (validateNewsletterForm.validate()) {
        doNewsletter();
        profilesurvey();
    }
}

function doNewsletter() {
    new Ajax.Request('SubscribeNewsletter', {
        asynchronous: false,
        onSuccess: function(transport) {
            var data = transport.responseText.evalJSON(true);
            name = data.name;
            $('partyId').value=data.partyId;
            updatePopup();
        }, parameters: $('signUpForm').serialize(), requestHeaders: {Accept: 'application/json'}
        
    });
}
function profilesurvey() {
    new Ajax.Request('profilesurvey', {
        asynchronous: false,
        onSuccess: function(transport) {
            var data = transport.responseText.evalJSON(true);
            name = data.name;
        }, parameters: $('profilesurvey').serialize(), requestHeaders: {Accept: 'application/json'}
        
    });
}

function updatePopup(){
    //here we slide the form away and the thank you in
    $("displaySignUp").update('<div class="confirmationMsg"><div class="content"><h2>Subscription Request Sent</h2> <p>Thank you for subscribing <br />  We will send you a confirmation email with a link that allows you to complete your subscription.</p></div></div>');
}
function closePopup(){
    Effect.BlindUp('displaySignUp', {duration: 1.0});
}

//join mailing list functionality

function mcSubmit() {
    validateEmailForm = new Validation('mc-embedded-subscribe-form', {immediate: true, onSubmit: false});
    if (validateEmailForm.validate()) {
        document.mcForm.submit();
    }
}

// Check server side error
function getServerError(data) {
    var serverErrorHash = [];
    var serverError = "";
    if (data._ERROR_MESSAGE_LIST_ != undefined) {
        serverErrorHash = data._ERROR_MESSAGE_LIST_;
        serverErrorHash.each(function(error) {
            serverError += error.message;
        });
    }
    if (data._ERROR_MESSAGE_ != undefined) {
        serverError = data._ERROR_MESSAGE_;
    }
    return serverError;
}