Event.observe(window, 'load', function() {
    if($('submitCreateUserLogin')) {
        Event.observe($('submitCreateUserLogin'), 'click', submitNew);
    }
 });
function submitNewUserForm() {
    formId = 'newUserForm';
    var validateNewUserForm = new Validation(formId, {immediate: true, onSubmit: false});
    errorId = 'newUserServerError';
    if (validateNewUserForm.validate()) {
        Effect.Appear('ajax-loader')
        new Ajax.Request('createCustomerProfile', {
            asynchronous: false,
            onSuccess: function(transport) {
                var data = transport.responseText.evalJSON(true);
                var serverError = getServerError(data);
                if (serverError != "") {
                    Effect.Fade('ajax-loader');
                    Effect.Appear(errorId);
                    $(errorId).update(serverError);
                } else {
                    Effect.Fade(errorId);
                    setUSerLogin('newUserForm','newUserServerError');
                    $('refreshRequestForm').submit();
                }
            }, parameters: $(formId).serialize(), requestHeaders: {Accept: 'application/json'}
        });
    }
}
function setUSerLogin(formId,errorId) {
    new Ajax.Request('setUserLogin', {
        asynchronous: false,
        onSuccess: function(transport) {
            var data = transport.responseText.evalJSON(true);
            var serverError = getServerError(data);
            if (serverError != "") {
                $(errorId).update(serverError);
            } else {
                Effect.Fade(errorId);
                $('refreshRequestForm').submit();
            }
        }, parameters: $(formId).serialize(), requestHeaders: {Accept: 'application/json'}
    });
}
var validateNewUser = null;
function submitNew(){
    formId = 'createUserLogin';
    errorId = 'ServerError';
    validateNewUser = new Validation(formId, {immediate: true, onSubmit: false});
    if (validateNewUser.validate()) {
        new Ajax.Request('createCustomer', {
            asynchronous: false,
            onSuccess: function(transport) {
                var data = transport.responseText.evalJSON(true);
                var serverError = getServerError(data);
                if (serverError != "") {
                    Effect.Appear(errorId);
                    $(errorId).update(serverError);
                } else {
                    setUSerLogin('createUserLogin','ServerError');
                    Effect.Fade(errorId);
                    $('refreshRequestForm').submit();
                }
            }, parameters: $(formId).serialize(), requestHeaders: {Accept: 'application/json'}
        });
    }
}
function getServerError(data) {
    var serverErrorHash = [];
    var serverError = "";
    if (data._ERROR_MESSAGE_LIST_ != undefined) {
        serverErrorHash = data._ERROR_MESSAGE_LIST_;
        serverErrorHash.each(function(error) {
            if (error.message != undefined) {
                serverError += error.message;
            } else {
                if (error!= undefined) {
                   serverError += error;
                }
            }
        });
    }
    if (data._ERROR_MESSAGE_ != undefined) {
        serverError += data._ERROR_MESSAGE_;
    }
    return serverError;
}
var validatePasswordForm = null;
function forgotPassword() {
    formId = 'forgotpassword';
    validatePasswordForm = new Validation('forgotpassword', {immediate: true, onSubmit: false});
    errorId = 'passwordServerError';
    if (validatePasswordForm.validate()) {
        Effect.Appear('ajax-loader');
        new Ajax.Request('forgotpassword', {
        asynchronous: false,
        onSuccess: function(transport) {
            var data = transport.responseText.evalJSON(true);
            var serverError = getServerError(data);
            if (serverError != "") {
                Effect.Appear(errorId);
                Effect.Fade('ajax-loader');
                $(errorId).update(serverError);
            } else {
                 Effect.Fade(errorId);
                 updatePopup();
            }
        }, parameters: $(formId).serialize(), requestHeaders: {Accept: 'application/json'}
    });
}
}
function updatePopup(){
  //here we slide the form away and the thank you in
  $("forgotPasswordForm").update('<div class="confirmationMsg"><div class="content"><p>A new password has been created and sent to you. Please check your Email.</p></div></div>');
}