(function(){
var L = YAHOO.lang, Dom = YAHOO.util.Dom, Evt = YAHOO.util.Event, U = ZC.Util;

/**
 * Core CMS components
 * @module Core
 */

/**
 * Image gallery
 *
 * @namespace ZC.Core.Block
 * @class Image_ImageGallery
 * @extends ZC.Core.Block
 */
var oBlock = ZC.Core.Block.Create('Image_ImageGallery');
oBlock.prototype.CustomSetupEnd = function()
{
	var elLinkRoot = Dom.get('block-' + this.sName.toUpperCase() + '-links'), 
	elMainImageRoot = Dom.get('block-' + this.sName.toUpperCase() + '-main'),
	aImageLinks = [];
	
	this.elMainImage = Dom.getElementsByClassName('mainimage', 'img', elMainImageRoot).shift();
	
	aImageLinks = Dom.getElementsByClassName('thumbnaillink', 'a', elLinkRoot);
	if (aImageLinks.length)
	{
		Evt.on(aImageLinks, this.GetAttribDefault('ImageSwitchEvent', 'mouseover'), function(oEvent)
		{
			var elTarget = Evt.getTarget(oEvent),
				elLink,
				iImageID;
				
			elLink = elTarget;
			if(elLink.tagName != 'a')
			{
				elLink = Dom.getAncestorByTagName(elLink, 'a');
			}
			
			iImageID = elLink.href.match(/image=([0-9]+)/)[1];
			
			this.elMainImage.src = this.aDef.ImageData[iImageID].ImageURL;
			this.elMainImage.alt = this.aDef.ImageData[iImageID].description;
			
			return false;
		}, this, true);

		U.ForEach(this.aDef.ImageData, function (oImageDef)
		{
			var img = document.createElement('img');
			img.src = oImageDef.ImageURL;
		});
	}
}


})();


