/*
* @file
* @brief    sigplus Image Gallery Plus image captions overlay engine with MooTools
* @author   Levente Hunyadi
* @version  1.2.8
* @remarks  Copyright (C) 2009-2010 Levente Hunyadi
* @remarks  Licensed under GNU/GPLv3, see http://www.gnu.org/licenses/gpl-3.0.html
* @see      http://hunyadi.info.hu/projects/sigplus
*/
function imageCaptions(c,b){Element.extend({getInnerSize:function(){var g=this.getStyle("border-width").split(" ").map(function(h){return h.toInt()});var j=this.getStyle("padding").split(" ").map(function(h){return h.toInt()});var f=this.offsetWidth-j[3]-j[1]-g[3]-g[1];var i=this.offsetHeight-j[0]-j[2]-g[0]-g[2];return{width:f>0?f:0,height:i>0?i:0}},getOuterSize:function(){var f=this.getStyle("margin").split(" ").map(function(g){return g.toInt()});return{width:this.offsetWidth+f[3]+f[1],height:this.offsetHeight+f[0]+f[2]}}});var d={showDownload:false,showMetadata:false};b=$extend(d,b);var e=c.getElement("ul");var a=e.getElements("li");a.each(function(m){var h=m.getElement("img");var g=h.getProperty("alt");var k=document.getElementById(h.getProperty("id")+"_options");if(!g&&!(k&&(b.showDownload||b.showMetadata))){return}var i=Element.getInnerSize(h);var n=Element.getOuterSize(h);var f=new Element("div",{"class":"imageCaptionContainer",styles:{width:n.width,height:n.height}});var o=h.getParent();if(o.getTag()=="a"){f.injectBefore(o);f.adopt(o)}else{f.injectBefore(h);f.adopt(h)}var p=new Element("div",{"class":"imageCaption",styles:{width:i.width,marginLeft:h.getStyle("margin-left").toInt()+h.getStyle("border-left-width").toInt()+h.getStyle("padding-left").toInt(),marginRight:h.getStyle("margin-right").toInt()+h.getStyle("border-right-width").toInt()+h.getStyle("padding-right").toInt(),marginBottom:h.getStyle("margin-bottom").toInt()+h.getStyle("border-bottom-width").toInt()+h.getStyle("padding-bottom").toInt()}});p.setHTML(g);if(k&&(b.showDownload||b.showMetadata)){k=new Element(k);var l=new Element("div",{"class":"buttons"});if(b.showDownload){var j=k.getElement("a.download");if(j){j.injectInside(l)}}if(b.showMetadata){var q=k.getElement("a.metadata");if(q){bindMetadataDialog(q);q.injectInside(l)}}l.injectInside(p)}p.injectInside(f)})};
