/* Rozklikávání obrázku */
var ProductImageController = function(element, options)
{
	this.options = $.extend({
	}, options);
	this.$element = $(element);
};

ProductImageController.prototype.init = function()
{
	var that = this;
	this.$middleImageContainer = $('.product-image-box .img-box');
	this.$thumbnails = $('.product-image-box .more-images ul li a');
	this.$kfboxFakeLinksContainer = $('<div />').css({ display: 'none' }).appendTo($('.product-image-box'));
	this.$kfboxFakeLinks = this.$thumbnails.clone();
	this.$kfboxFakeLinks.appendTo(this.$kfboxFakeLinksContainer);
	this.$kfboxFakeLinks.kfBox();
	this.$loader = $('<div class="loader"></div>');

	if(this.$thumbnails.size())
	{
		this.$thumbnails.bind('click', $.proxy(this.clickThumbnail, this));
		this.$middleImageContainer.find('a').bind('click', function(event)
		{
			that.$kfboxFakeLinks.eq(0).triggerHandler('click');
			return false;
		});
	}
	else this.$middleImageContainer.find('a').kfBox();
};

ProductImageController.prototype.clickThumbnail = function(event, kfbox)
{
	var $thumbnail = $(event.currentTarget);
	
	var i = this.$thumbnails.index(event.currentTarget);

	var urlLarge = $thumbnail.attr('href');
	var urlMiddle = $thumbnail.attr('data-largeImgUrl');

	if(this.$img instanceof jQuery)
	{
		this.$img.unbind();
		this.$loader.remove();
	}
	
	this.$middleImageContainer.append(this.$loader);	
	this.$img = $(document.createElement('img'));
	this.$img.bind('load', { urlLarge: urlLarge, $thumbnail: $thumbnail, i: i }, $.proxy(this.loadImage, this));
	this.$img.attr('src', urlMiddle);

	return false;
};

ProductImageController.prototype.loadImage = function(event)
{
	this.$loader.remove();
	var $a = $('<a href="' + event.data.urlLarge + '"></a>');
	this.$middleImageContainer.find('.inner').empty().append($a);
	$a.append(event.currentTarget).bind('click', { i: event.data.i }, $.proxy(this.clickMiddle, this));
};

ProductImageController.prototype.clickMiddle = function(event)
{
	this.$kfboxFakeLinks.eq(event.data.i).triggerHandler('click');
	return false;
};

