var Imageexpand =
{
  init: function()
  {
    var links = Core.getElementsByClass("expandableimage");

    
    for (var i = 0; i < links.length; i++)
    {
    //  var title = links[i].getAttribute("title");
      
        Core.addEventListener(links[i], "mouseover", Imageexpand.showImageListener);
        Core.addEventListener(links[i], "focus", Imageexpand.showImageListener);
        Core.addEventListener(links[i], "mouseout", Imageexpand.hideImageListener);
        Core.addEventListener(links[i], "blur", Imageexpand.hideImageListener);
    }
  },

  showImage: function(link)
  {
    Imageexpand.hideImage(link);

    // var Image = document.createElement("span");
    
    if (Core.hasClass(link,"landscape3x4")) {
      Core.addClass(link,"landscape3x4hover");
    }
    if (Core.hasClass(link,"portrait4x3")) {
      Core.addClass(link,"portrait4x3hover");
    }
    
    if (Core.hasClass(link,"landscape3x5")) {
      Core.addClass(link,"landscape3x5hover");
    }
    if (Core.hasClass(link,"portrait5x3")) {
      Core.addClass(link,"portrait5x3hover");
    }
         
    // Fix for Safari2/Opera9 repaint issue
    document.documentElement.style.position = "relative";
  },
  
  hideImage: function(link)
  {
    if (Core.hasClass(link,"landscape3x4")) {
      className = "landscape3x4hover";
    }
    if (Core.hasClass(link,"portrait4x3")) {
      className = "portrait4x3hover";
    }

    if (Core.hasClass(link,"landscape3x5")) {
      className = "landscape3x5hover";
    }
    if (Core.hasClass(link,"portrait5x3")) {
      className = "portrait5x3hover";
    }

    Core.removeClass(link,className);
  
      // Fix for Safari2/Opera9 repaint issue
      document.documentElement.style.position = "static";
    // }
  },

  showImageListener: function(event)
  {
    var link = this;
    this._timer = setTimeout(function()
      {
        Imageexpand.showImage(link);
      }, 500);
    Core.preventDefault(event);
  },
  
  hideImageListener: function(event)
  {
    clearTimeout(this._timer);
    Imageexpand.hideImage(this);
  }
};

Core.start(Imageexpand);
