jQuery.noConflict();

var ExinitFancyboxAjaxModel = {
	states: {
		success: 1,
		failure: 2
	},
	get: function(url, data, callback) {
		this.request('GET', url, data, callback);
	},
	post: function(url, data, callback) {
		this.request('POST', url, data, callback);
	},
	request: function(type, url, data, callback) {
		jQuery.ajax({
			url: url,
			data: data,
			type: type,
			success: function (data) {
				if(callback) {
					callback(ExinitFancyboxAjaxModel.states.success, data);
				}
			},
			error: function (data) {
			    if(callback) {
				    callback(ExinitFancyboxAjaxModel.states.failure, data);
			    }
			}
		});
	}
};


(function($) {
	$(document).ready(function() {
	var titleFormatter = function(title, currentArray, currentIndex, currentOpts) {
		return (title && title.length ? '<div class="title">' + title + '</div>' : '' ) + '<div class="counter">' + (currentIndex + 1) + ' / ' + currentArray.length + '</div>';
	}

	var exinitFancyboxOptions = {
		padding:			0,
		margin:			0,
		overlayOpacity:	0.7,
		overlayColor:		'#000',
		transitionIn:		'fade',
		transitionOut:		'fade',
		titlePosition:		'inside',
		titleFormat:		titleFormatter,
		type:			'image',
		autoDimensions:	false,
		autoScale:		false
	}

	$('.exinitfancybox.singlethumbnail').each(function(idx, element) {
		var contentUid = $(element).attr('rel').replace('fancybox', '');
		$(element).click(function(event) {
			event.preventDefault();
			var ajaxCallback = function (state, data) {
				if(state == ExinitFancyboxAjaxModel.states.success) {
					$.fancybox(data, exinitFancyboxOptions);
				}
			}
			ExinitFancyboxAjaxModel.get(window.location.href, {eID: 'fancyboxgallery', uid: contentUid}, ajaxCallback);
		});
	});
	$('.exinitfancybox:not(.singlethumbnail)').fancybox(exinitFancyboxOptions);
});})(jQuery);
