﻿var originalWidth = [];
var cancelExpand = [];

jQuery(document).ready(function () {
    jQuery("input[type='button']").button();
    jQuery("input[type='submit']").button();
    jQuery("input[type='reset']").button();

    jQuery("div#sidebar a img").hover(
        function () { expandImage(jQuery(this)); },
        function () { restoreImage(jQuery(this)); }
    );
});

jQuery(window).load(function () {
    jQuery("div#sidebar a img").each(function (idx, elem) {
        originalWidth[elem.id] = jQuery(elem).width();
    });
});

function expandImage(image) {
    var currentWidth = image.width();
    if (currentWidth - 10 >= originalWidth[image.attr("id")]) {
        return;
    }
    if (cancelExpand[image.attr("id")]) {
        return;
    }
    image.width(image.width() + 1);
    setTimeout(function () { expandImage(image); }, 10);
}

function restoreImage(image) {
    cancelExpand[image.attr("id")] = true;
    var currentWidth = image.width();
    if (currentWidth <= originalWidth[image.attr("id")]) {
        cancelExpand[image.attr("id")] = false;
        return;
    }
    image.width(image.width() - 1);
    setTimeout(function () { restoreImage(image); }, 10);
}

function showWorking() {
    jQuery("#progressBackgroundFilter").show();
    jQuery("#processMessage").show();
}

function hideWorking() {
    jQuery("#progressBackgroundFilter").hide();
    jQuery("#processMessage").hide();
}

function modal(message, title, closeFunction) {
    jQuery("div#dialog-modal p").html(message);
    jQuery("div#dialog-modal").attr("title", title);
    if (!closeFunction) {
        closeFunction = function (event, ui) { };
    }
    jQuery("div#dialog-modal").dialog({ modal: true, title: title, show: "fadeIn", hide: "fadeOut", close: closeFunction });
}
function setTableSorter(jQueryTable) {
    jQueryTable.tablesorter();
    jQueryTable.bind("sortEnd", function () { afterSorted(jQueryTable); });
}

function afterSorted(jQueryTable) {
    jQueryTable.find("tbody tr").removeClass("row-odd");
    jQueryTable.find("tbody tr").removeClass("row-even");
    jQueryTable.find("tbody tr:even").addClass("row-odd");
    jQueryTable.find("tbody tr:odd").addClass("row-even");
}
