/* 
 */

function displayMarketInformationTable(index) {
    if (index == null) {
        index = ($.cookie("igMI") != null) ?
            $.cookie("igMI") : 0;
    } else {
        $.cookie("igMI", index, {expires: 7})
    }
    $(".market-information").hide();
    $("#market-information-detail-" + index).show();
}

function setFlash(clazz, message) {
    $("#flash-message").empty();
    $("#flash-message").append("<div class='" + clazz + "-alert'><strong>" + message + "</strong></div>");
}

// DIRTY WAY TO DO THIS. I'M NOT TOO SURE HOW JQUERY MANAGES AJAX CONNECTION POOLING
var AJAX_IN_PROGRESS = false;

function postAjaxAndUpdateFlash(url, model, opt_element) {
    if (! AJAX_IN_PROGRESS) {
        AJAX_IN_PROGRESS = true;        
        if (opt_element) {
            opt_element.fadeTo('fast', 0.2);
        }        
        $.post(url, model, function(data) {
            if (data.operationSuccess) {
                setFlash("info", data.model.message || 'Operation successful');
            } else {
                setFlash("error", 'Operation was not successful');
            }
        }, "json");
        if (opt_element) {
            opt_element.fadeTo('fast', 1);
        }
        AJAX_IN_PROGRESS = false;
    }
}

$(document).ready(function() {
    $("a.modalified").each(function() {
        $(this).addUrlParam("decorator", "modal");
    });

    $(".form-error").parent().toggleClass("erroneous");

    $(".helpful-link").click(function () {
        $(this).parent().toggleClass("helpful");
    });

    $("input.modal-confirm").click(function(e) {
        var toSubmit = $(this).parent('form');
        $("<div title=\"Please Confirm\" style=\"margin:15px\"><p>Are you sure?</p></div>").dialog({
            resizable: false,
            autoOpen: true,
            height:160,
            modal: true,
            overlay: {
                backgroundColor: '#000',
                opacity: 0.5
            },
            buttons: {
                'Yes': function() {
                    toSubmit.submit();
                    return true;
                },
                "Cancel": function() {
                    $(this).dialog('close');
                }
            }
        });
        e.stopPropagation();
        return false;
    });
});

