jQuery.ajaxSetup({
    'beforeSend': function(xhr) {xhr.setRequestHeader("Accept", "text/javascript")} 
});

jQuery(document).ready(function($) {

    jQuery(".bulletin-link").click(function() {
  
        var bulletinId = this.id.substring("bulletin-link".length, this.id.length);

        toggleBulletin(bulletinId, jQuery(this).attr("href"));

        var targetOffset = jQuery( this ).offset().top - 20;
        jQuery('html,body').animate({scrollTop: targetOffset}, 1000);

        return false;
        
    });

});

function toggleBulletinFromId(id) {
  var parent = jQuery("#bulletin"+id).parent();

  var targetOffset = parent.offset().top - 20;
  jQuery('html,body').animate({scrollTop: targetOffset}, 1000);

  var url = parent.attr("action");
  toggleBulletin(id, url);
};

function toggleBulletin(bulletinId, url) {
  
    var image = jQuery("#toggle-image" + bulletinId);

    if (image.length > 0) {

        if (image.is(".bulletin-small-show-image")) { 
  
            if (image.is(".important")) { 
                image.attr("src", "/images/triangles/vert-triangle-red.gif");
            } else {
                image.attr("src", "/images/triangles/vert-triangle.gif");
            }

            image.removeClass("bulletin-small-show-image");
            image.addClass("bulletin-small-hide-image");

            if (jQuery("#item-body" + bulletinId).length == 0) { 
                // The first time image is clicked, the bulletin content is not retrieved so make an AJAX call:
                jQuery.get(url, null, null, "script");
            } else { 
                // If the bulletin content is already retrieved with the previous AJAX call, just show it:
                jQuery("#item-body" + bulletinId).slideDown("slow");
            }

        } else if (image.is(".bulletin-small-hide-image")) { 
  
            if (image.is(".important")) { 
                image.attr("src", "/images/triangles/horiz-triangle-red.gif");
            } else {
                image.attr("src", "/images/triangles/horiz-triangle.gif");
            }

            image.removeClass("bulletin-small-hide-image");
            image.addClass("bulletin-small-show-image");

            jQuery("#item-body" + bulletinId).slideUp("slow");

        }

    }

}
