/* $Id: image_nodes.js,v 1.3.2.4.4.24 2008/03/06 14:22:41 snpower Exp $ */
// Image Node Auto-Format with Auto Image Grouping.
// Original version by Steve McKenzie.
// Altered by Stella Power for jQuery version.
if (Drupal.jsEnabled) {
$(document).ready(function lightbox2_image_nodes() {
var settings = Drupal.settings.lightbox2;
// Don't do it on the image assist popup selection screen.
var img_assist = document.getElementById("img_assist_thumbs");
if (!img_assist) {
// Select the enabled image types.
var classes = settings.trigger_image_classes;
$("a["+classes+"]").each(function(i) {
if ((!settings.disable_for_gallery_lists && !settings.disable_for_acidfree_gallery_lists) || (!$(this).parents(".galleries").length && !$(this).parents(".acidfree-folder").length && !$(this).parents(".acidfree-list").length) || ($(this).parents(".galleries").length && !settings.disable_for_gallery_lists) || (($(this).parents(".acidfree-folder").length || $(this).parents(".acidfree-list").length) && !settings.disable_for_acidfree_gallery_lists)) {
var child = $(this).children();
// Ensure the child has a class attribute we can work with.
if ($(child).attr("class").length) {
// Set the alt text.
var alt = $(child).attr("alt");
if (!alt) {
alt = "";
}
// Set the image node link text.
var link_text = settings.node_link_text;
var link_target = "";
if (settings.node_link_target != 0) {
link_target = 'target="'+ settings.node_link_target +'"';
}
// Set the rel attribute.
var rel = "lightbox";
if (settings.group_images) {
rel = "lightbox[" + $(child).attr("class") + "]";
}
// Set the basic href attribute - need to ensure there's no language
// string (e.g. /en) prepended to the URL.
var href = $(child).attr("src");
var orig_href = $(this).attr("href");
var pattern = new RegExp(settings.file_path);
if (orig_href.match(pattern)) {
var lang_pattern = new RegExp(settings.base_path + "\\w\\w\\/");
orig_href = orig_href.replace(lang_pattern, settings.base_path);
}
// Handle flickr images.
if ($(child).attr("class").match("flickr-photo-img")
|| $(child).attr("class").match("flickr-photoset-img")) {
href = $(child).attr("src").replace("_s", "").replace("_t", "").replace("_m", "").replace("_b", "");
if (settings.group_images) {
rel = "lightbox[flickr]";
if ($(child).parents("div.block-flickr").attr("class")) {
var id = $(child).parents("div.block-flickr").attr("id");
rel = "lightbox["+ id +"]";
}
}
}
// Handle "image-img_assist_custom" images.
else if ($(child).attr("class").match("image-img_assist_custom")) {
// Image assist uses "+" signs for spaces which doesn't work for
// normal links.
orig_href = orig_href.replace(/\+/, " ");
href = orig_href;
}
// Handle "inline" images.
else if ($(child).attr("class").match("inline")) {
href = orig_href;
}
// Set the href attribute.
else if (settings.image_node_sizes != '()') {
href = $(child).attr("src").replace(new RegExp(settings.image_node_sizes), ((settings.display_image_size == "")?settings.display_image_size:"."+ settings.display_image_size)).replace(/(image\/view\/\d+)(\/\w*)/, ((settings.display_image_size == "")?"$1/_original":"$1/"+ settings.display_image_size));
if (settings.group_images) {
rel = "lightbox[node_images]";
if ($(child).parents("div.block-image").attr("class")) {
var id = $(child).parents("div.block-image").attr("id");
rel = "lightbox["+ id +"]";
}
}
}
// Modify the image url.
$(this).attr({rel: rel,
title: alt + "
"+ link_text + "",
href: href
});
}
}
});
}
});
}