﻿var askDoctor = new function($) {
    var container = null;
    var textArea = null;
    var submitButton = null;
    var form = null;

    function disableForm() {
        //textArea.attr("disabled", "disabled");
        submitButton.attr("disabled", "disabled");
    };

    function enableForm() {
        // textArea.removeAttr("disabled");
        submitButton.removeAttr("disabled");
    };

    function init() {
        container = $("#doctor_question_container");
        textArea = container.find("textarea");
        submitButton = container.find("button[type='submit']");
        form = container.find("form");
        if (!form || form.length == 0) return;

        // set functionality for commenting
        form.bind("submit", function(event) {
            event.preventDefault();

            var data = form.serializeArray();

            disableForm();
            $.ajax({
                type: "POST",
                url: form.attr("action"),
                data: data,
                customData: null,
                success: function(data, status, xhr) {
                    enableForm();

                    Viva.Notify.show(Viva.Notify.InformationType.Info, "Vprašanje strokovnjaku", "Sporočilo je bilo uspešno posredovano izbranemu strokovnjaku. Odgovor lahko pričakujete v vaš osebni poštni nabiralnik, ki se nahana v vašem profilu.");

                    $("#ask_doctor_group_action, .question_trigger_container").slideDown();
                    $("#ask_doctor_group_panel").slideUp();
                    $("#create_discussion_container").show();
                    $(".right_part").removeClass("expanded");
                },
                error: function(xhr, status, error) {
                    enableForm();
                    
                    // model exceptions are returned with HTTP status code = 400
                    if (xhr.status == 400) {
                        Viva.Notify.show(Viva.Notify.InformationType.Error, "Vprašanje strokovnjaku", xhr.responseText);
                    }
                    else {
                        Viva.Notify.show(Viva.Notify.InformationType.Error, "Vprašanje strokovnjaku", "Prišlo je do napake. Prosimo, poskusite kasneje.");
                    }
                }
            });

            return false;
        });
    };

    $(function() {
        $(".close-popup").live('click', function(e) {
            $("#ask_doctor_group_action, .question_trigger_container").slideDown();
            $("#ask_doctor_group_panel").slideUp();
            $("#create_discussion_container").show();
            $(".right_part").removeClass("expanded");
        });
    });

    this.init = function() { init(); };
} (jQuery);

