﻿
function geoCreateAccount() {};

geoCreateAccount.prototype = {
    serverPath: "/_ui/buildsite",
    createAccount: function(userstore) {
        if (this.validate()) {
            lara.indicateOn();

            $l("CreateAccountButton").disabled = true;

            var data = new dataObject();

            data.add("store", userstore);
            data.add("email", $l("NewEmail").value);
            data.add("password", $l("NewPassword").value);
            data.add("challenge", Recaptcha.get_challenge());
            data.add("response", Recaptcha.get_response());
            lara.request(this.serverPath + ":CreateAccount", data, function(result) { createAccount.processCreate(result); });
        }
    },
    processCreate: function(result) {
        if (result.success) {
            $l("CreateAccountForm").innerHTML = result.html;
        }
        else {
            $l("CreateAccountButton").disabled = false;
            $l("ValidationStatus").innerHTML = result.error;
            Recaptcha.reload();
        }
        lara.indicateOff();
    },
    validate: function() {

        $l("NewEmail").className = "";
        $l("NewPassword").className = "";
        $l("NewConfirm").className = "";

        var errClass = "ValidationErr";
        MESSAGE = "Oops!  All fields are required.";
        $l("ValidationStatus").innerHTML = "";

        var passed = true;
        if ($l("NewEmail").value == "") {
            $l("NewEmail").className = errClass;
            $l("ValidationStatus").innerHTML = MESSAGE;
            passed = false;
        }

        if ($l("NewPassword").value == "") {
            $l("NewPassword").className = errClass;
            $l("ValidationStatus").innerHTML = MESSAGE;
            passed = false;
        }
        if ($l("NewConfirm").value == "") {
            $l("NewConfirm").className = errClass;
            $l("ValidationStatus").innerHTML = MESSAGE;
            passed = false;
        }

        if ($l("NewPassword").value != $l("NewConfirm").value) {
            $l("NewPassword").className = errClass;
            $l("NewConfirm").className = errClass;
            $l("ValidationStatus").innerHTML = "Oops!  Passwords do not match.";
            passed = false;
        }

        return passed;
    }
};

var createAccount = new geoCreateAccount();
