/**
*
* JavaScript knihovna pro moduly CMS
*
* @package		slModules
* @subpackage	cms-core-public
* @version		$Id: sl.cms.js 20861 2010-11-05 08:34:34Z filip $
* @encoding		utf-8
* @author		Filip Zach <filip.zach@e4you.cz>
* @author		Jakub Kratina <jakub.kratina@e4you.cz>
* @copyright	(c) e4you spol. s r.o. 2002-2010, <design@e4you.cz>
*
* Obsah tohoto souboru je majetkem e4you spol. s r.o. Jeho kopírování,
* pozměňování, šíření a jakékoli další využití je možné výhradně
* se souhlasem e4you spol. s r.o.
*
* @todo - přejmenovat objekt sl.cms tak, aby jeho název nekolidoval s objektem stejného jméno používaným v administraci
*/

sl.require('sl.imageview.js');

/**
 * Definice modulu specifického pro CMS
 */
sl.cms = {

	/**
	 * Regulární výraz, který nastaví které obrázky budou zvětšovány
	 */
	zoomable_exp_reg : '(thumbs)',

	/**
	 * Handler zpracovávající události po načtení stránky
	 */
	onLoadHandler : function() {
		sl.cms.initImages();
	},

	/**
	 * Pokusí se na stránce nalézt objekt s detailem článku nebo sekce, v něm
	 * obrázky z adresáře thumb a jim přiřadí na onclick otevření
	 * plné velikosti obrázku
	 */
	initImages : function() {
		try {

			/// uložíme do polí adresy obrázků a popisy
			var photos_array = new Array();

			var description_array = new Array();

			var photos = sl.dom.getElement('intext').getElementsByTagName('IMG');
			/// nastavíme regulární výraz pro vyhledávání obrázků
			var reg_exp = new RegExp(sl.cms.zoomable_exp_reg+'\/([a-zA-Z0-9-_]+)\.(jpg|png|gif)$');
			for (var i=0,length=photos.length; i<length; i++) {
				var match_result = photos[i].src.match(reg_exp);
				if(sl.dom.getClass(photos[i])!='article_image' && match_result) {
					sl.event.addHandler(photos[i],'click',sl.cms.imageHandler);
					sl.dom.addClass(photos[i],'sl_imageview_zoomable');
					photos_array.push( photos[i].src.replace(match_result['1'],'full-size') );
					description_array.push(photos[i].alt);
				}
			}
			sl.imageview.init(photos_array,description_array);
		} catch (e) {}
	},

	/**
	 * Inicializuje fotografie pro zobrazení lightboxu
	 */
	imageHandler : function(event) {
		/// vyhledáme fotografii, na kterou uživatel kliknul
		var target = sl.event.getTarget(sl.event.getEvent(event));
		/// zkontrolujeme url
		var match_result = target.src.match(/([a-zA-Z0-9-_]+)\/([a-zA-Z0-9-_]+)\.(jpg|png|gif)$/);
		if (match_result) {
			/// zobrazíme obrázek
			sl.imageview.show(target.src.replace(match_result[1],'full-size'));
		}
	}

}

/// inicializujeme handler, zpracovávající události po zobrazení stránky
sl.event.addHandler(window,'load',sl.cms.onLoadHandler);

