﻿
$(document).ready(function () {

    $.registerPage = function (method, arguments, successCallback) {
        $.ajax({
            type: "POST",
            url: "/Templates/HastDjur/Pages/Start.aspx/" + method,
            data: arguments,
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: successCallback,
            error: function (status, responseText) {
                alert("Ajax Error by Contact Page. Method: " + method + " Status: " + status + " Text: " + responseText);
            }
        });
    };


    $("#signUpStep2").hide();
    $("#signUpStep3").hide();

    $("#continue").click(function () {
        if (validateStep1()) {
            $("#signUpStep1").hide();
            $("#signUpStep2").show();
        }
    });

    $("#signup").click(function () {
        if (validateStep2()) {

            $.registerPage("SaveMember", '{ "email":"' + jsonSafe($("#email").val()) + '", "name":"' + jsonSafe($("#name").val()) + '", "address":"' + jsonSafe($("#address").val()) + '", "postalCode":"' + jsonSafe($("#postalCode").val()) + '", "city":"' + jsonSafe($("#city").val()) + '", "cellphone":"' + jsonSafe($("#cellphone").val()) + '", "interests":"' + jsonSafe(makeStringFromInterests()) + '", "store":"' + jsonSafe($("#storeList").val()) + '" }',
            function (data, statusText) {
                if (statusText == "success") {
                    if (data.d == "") {
                        $("#signUpStep1").hide();
                        $("#signUpStep2").hide();
                        $("#signUpStep3").show();
                    }
                    else if (data.d == "invalid_email") {
                        $("#email").addClass("error");
                        $("#signUpStep1").show();
                        $("#signUpStep2").hide();
                        $("#signUpStep3").hide();
                    }
                    else {
                        $("#thankYouMessage").html("Ett fel inträffade!<br />V.g. försök senare.");
                        $("#signUpStep1").hide();
                        $("#signUpStep2").hide();
                        $("#signUpStep3").show();
                    }
                }
            });
        }
    });

});

var jsonSafe = function (value) {
    return value.replace(/"/g, "'").replace(/\r/g, "\r").replace(/\n/g, "\n");
};

var validateStep1 = function () {
    var valid = true;

    if ($("#name").val().length == 0) {
        valid = false;
        $("#name").addClass("error");
    }
    else
        $("#name").removeClass("error");

    if ($("#email").val().length == 0) {
        valid = false;
        $("#email").addClass("error");
    }
    else
        $("#email").removeClass("error");

    if ($("#address").val().length == 0) {
        valid = false;
        $("#address").addClass("error");
    }
    else
        $("#address").removeClass("error");

    if ($("#city").val().length == 0) {
        valid = false;
        $("#city").addClass("error");
    }
    else
        $("#city").removeClass("error");

    if ($("#postalCode").val().length == 0) {
        valid = false;
        $("#postalCode").addClass("error");
    }
    else
        $("#postalCode").removeClass("error");

    if ($("#cellphone").val().length == 0) {
        valid = false;
        $("#cellphone").addClass("error");
    }
    else
        $("#cellphone").removeClass("error");


    if ($("#terms").attr("checked") == false) {
        valid = false;
        $("#termsLabel").addClass("error");
    }
    else
        $("#termsLabel").removeClass("error");

    return valid;

};

var validateStep2 = function () {
    var valid = true;

    if (makeStringFromInterests().length == 0) {
        $(".interestLabel").addClass("error");
        valid = false;
    }
    else
        $(".interestLabel").removeClass("error");

    if ($("#storeList").val().length == 0) {
        $("#storeList").addClass("error");
        valid = false;
    }
    else
        $("#storeList").removeClass("error");
    return valid;
};

var makeStringFromInterests = function () {
    var s = new String();
    s += ($("#checkHorse").attr("checked") == true ? "HÄST," : "");
    s += ($("#checkDog").attr("checked") == true ? "HUND," : "");
    s += ($("#checkCat").attr("checked") == true ? "KATT," : "");
    s += ($("#checkOther").attr("checked") == true ? "ÖVRIGA SMÅDJUR," : "");

    if (s.length > 0)
        s = s.substring(0, s.length - 1);
    return s;

};
