﻿$(function () {
    AKTA.init();
    AKTA.Background.init();
    AKTA.Navigation.init();
    AKTA.MailingList.init();
});

var AKTA = {
    init: function () {
        $("#q").focus(AKTA.Utilities.onFocusHideDefault).blur(AKTA.Utilities.onBlurShowDefault);
        $("#print").show().click(this.onPrintClick);
    },
    onPrintClick: function (e) {
        e.preventDefault();
        window.print();
    }
};

AKTA.Background = {
    init: function () {
        var randomBG = $("#lazyBG").text();
        if (randomBG.length > 0) {
            $("body").css("background-image", "url(" + randomBG + ")");
        }
    }
};

AKTA.Navigation = {
    init: function () {
        $("#nav > li").mouseover(this.onNavMouseover).mouseout(this.onNavMouseout);
    },
    onNavMouseover: function () {
        $(this).find("ul").show();
    },
    onNavMouseout: function () {
        $(this).find("ul").hide();
    }
};

AKTA.MailingList = {
    init: function () {
        // listeners
        $("#join-email").focus(AKTA.Utilities.onFocusHideDefault).blur(AKTA.Utilities.onBlurShowDefault);
        $("#joinMailing").submit(this.onSubmitJoin);
    },
    onSubmitJoin: function(e) {
        e.preventDefault();

        // send to ws
        var emailAddress = $("#join-email").val();

        $.ajax({
            type: "POST",
            url: "/services.asmx/JoinMailingList",
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            data: '{emailAddress:"' + emailAddress + '"}',
            error: function () {
                $("#joinFail").text("There was a problem joining our mailing list.").show();
            },
            success: function (data) {
                if (data.d) {
                    $("#joinSuccess").show();
                    $("#joinMailing").hide();
                    $("#joinFail").hide();
                } else {
                    $("#joinFail").show();
                }
            }
        });
    }
};

AKTA.Utilities = {
    onFocusHideDefault: function () {
        if (this.value === this.defaultValue) {
            this.value = '';
        }
    },
    onBlurShowDefault: function () {
        if (this.value === '') {
            this.value = this.defaultValue;
        }
    },
    handleJsonError: function (xhr, textStatus, errorThrown) {
        var err = eval("(" + xhr.responseText + ")");
        alert("There was a problem with that request: " + err.Message);
    },
    jsonEncode: function (val) {
        return val.replace(new RegExp('\"', 'g'), '\\"');
    }
};


