(function ($) {

    var Config = {
        ServerURL: "/Controller/AreaClub.ashx",
        ServerUtilityURL: "/Controller/Utility.ashx",
        ClientURL: "/Plugins/modAreaClub/AreaClub.htm",
        StyleURL: "/Plugins/modAreaClub/AreaClub.css",
        MailTemplateURL: "/Plugins/modAreaClub/MailClub.htm",
        MessaggioGiaIscritto: "Grazie per esserti iscritto.<br>A breve riceverai una mail di conferma.",
        Iscritto: false,
        Container: ""

    };


    $.fn.AreaClub = function (options) {
        // integro le configurazioni con quelle passate (injection di parametri)
        if (options) {
            Config = $.extend(Config, options);
        }
        // setto il container
        Config.Container = $(this);
        // lancio la funzione di ingresso
        Init();
    };


    $.fn.AreaClub.Destroy = function () {
        Config.Iscritto = false;
    }


    function Init() {
        // carico la pagina html
        Config.Container.load(Config.ClientURL, function () {
            // renderizzo box ricerca
            RenderizzaBoxRegistrazione();

            // creo i bindigns sull'interfaccia
            Bindings();

            // stondo gli angoli
            $.fn.Travelmind.RoundCorners();
        });
    }


    function RenderizzaBoxRegistrazione() {
        //visualizzo il box ricerca
        if (!Config.Iscritto) {
            $("#AreaClub").show();
        } else {
            var $span = $("<span>", { "class": "subtitle" }).html(Config.MessaggioGiaIscritto);
            $("#AreaClub form").hide();
            $("#AreaClub .subtitle").html($span);
        }
    }


    function Bindings() {
        // bottone login
        $("#AreaClub form").validationEngine({
            success: false,
            failure: function () { },
            validationEventTrigger: "blur",
            promptPosition: "bottomRight"
        });
        $(".btnInviaRichiestaClub").bind("click", InviaRichiestaIscrizione);
    }


    function InviaRichiestaIscrizione() {
        if ($("#AreaClub form").validationEngine('validate')) {
            $(".btnInviaRichiestaClub").unbind("click");
            var result = false;
            var parameters = {};
            parameters.action = "RegistraAreaClub";
            parameters.MailTemplateURL = Config.MailTemplateURL;
            parameters.Nome = $("#AreaClub" + " .input.Nome").val()
            parameters.Cognome = $("#AreaClub" + " .input.Cognome").val()
            parameters.Telefono = $("#AreaClub" + " .input.Telefono").val()
            parameters.Email = $("#AreaClub" + " .input.Email").val()
            parameters.Privacy = $("#AreaClub #chkPrivacy")[0].checked;
            parameters.Sfondo = "/Plugins/modAreaClub/Images/sfondomail.png";

            $.ajax({
                async: false,
                cache: false,
                url: Config.ServerURL,
                data: parameters,
                success: function (returnData) {
                    result = (returnData == "-1") ? false : true;
                }
            });

            $(".btnInviaRichiestaClub").bind("click", InviaRichiestaIscrizione);
            if (result) {
                Config.Iscritto = true;
                var $span = $("<span>", { "class": "subtitle" }).html(Config.MessaggioGiaIscritto);
                $("#AreaClub form").hide();
                $("#AreaClub .subtitle").html($span);
            } else {
                ShowMessage("Attenzione", "Si &egrave; verificato un errore nella registrazione. <br>Ti ricordiamo che non e' possibile registrarsi piu' di una volta con la stessa mail.");
            }
        }
    }


    function ShowMessage(title, msg) {
        var msgBox = $("<div/>");
        $(Config.Container).append(msgBox);
        $(msgBox).html(msg).dialog({
            width: 500,
            title: title,
            modal: true,
            draggable: true,
            buttons: {
                "Chiudi": function () { $(this).dialog("close"); }
            },
            close: function () {
                $(this).dialog("destroy");
            }
        });
        $(msgBox).dialog('open');
    }


})(jQuery);
