/** * @version $Id: modal.js 5263 2006-10-02 01:25:24Z webImagery $ * @copyright Copyright (C) 2005 - 2008 Open Source Matters. All rights reserved. * @license GNU/GPL, see LICENSE.php * Joomla! is free software. This version may have been modified pursuant * to the GNU General Public License, and as distributed it includes or * is derivative of works licensed under the GNU General Public License or * other free or open source software licenses. * See COPYRIGHT.php for copyright notices and details. */ /** * JCaption javascript behavior * * Used for displaying image captions * * @package Joomla * @since 1.5 * @version 1.0 */ var JCaption = new Class({ initialize: function(selector) { this.selector = selector; var images = $$(selector); images.each(function(image){ this.createCaption(image); }, this); }, createCaption: function(element) { var caption = document.createTextNode(element.title); var container = document.createElement("div"); var text = document.createElement("p"); var width = element.getAttribute("width"); // 090825: Replaced alignment to work with both TinyMCE and JCE // File location: /media/system/js/caption.js // var align = element.getAttribute("align"); // var align = ''; // var align = (element.getAttribute("align")!=null) ? element.getAttribute("align") : element.style.cssFloat; var align = (element.style.styleFloat!=null) ? element.style.styleFloat : element.style.cssFloat; /* // 091116: Alternative solution provided by: // http://joomlacode.org/gf/project/joomla/tracker/?action=TrackerItemEdit&tracker_item_id=13840 var style = element.getAttribute("style"); var align=''; if (style.search(/left.+/i)!= -1) { align = 'left'; } else if (style.search(/right.+/i)!= -1) { align = 'right'; } // alert(element.style.cssFloat +' vs '+ align + ' vs ' + element.style.styleFloat); */ if(!width) { width = element.width; } text.appendChild(caption); element.parentNode.insertBefore(container, element); container.appendChild(element); if ( element.title != "" ) { container.appendChild(text); } container.className = this.selector.replace('.', '_'); container.className = container.className + " " + align; container.setAttribute("style","float:"+align); container.style.width = width + "px"; } }); document.caption = null window.addEvent('load', function() { var caption = new JCaption('img.caption') document.caption = caption });