﻿// galerie
(function($){
	$.fn.slideshowThumbEventsReg = function(options) {
		var opts = $.extend({}, $.fn.slideshowThumbEventsReg.defaults, options);
		return this.each(function() {
			var gallery = $(this);

			var o = $.meta ? $.extend({}, opts, gallery.data()) : opts;
			gallery.find('.paging a').bind('click', function(ev){
				var pagingLink = $(this);
				ev.preventDefault();
				var thumbImage = gallery.find('.slideImageContainer img'),
					current = gallery.find('ul li.curr'),
					first   = gallery.find('ul li:first'),
					last	= gallery.find('ul li:last'),
					next = (current[0] == first[0]) ? gallery.find('li:last') : current.prev('li'),
					previous = (current[0] == last[0]) ? gallery.find('li:first') : current.next('li'),
					index;

				var comingImage = previous;
				if (pagingLink.hasClass("back")){
					comingImage = next;
				}
				thumbImage.attr('src', comingImage.find('img').attr('src'));
				comingImage.addClass('curr');

				current.removeClass('curr');
				index = $('ul.outofsight li', gallery).index($('li.curr', gallery));
				gallery.find('.paging span').html(index+1);
			});

			gallery.find('.slideImageContainer a, .galleryPicZoom').bind('click', function(ev){
				ev.preventDefault();
				var index = gallery.find('ul.outofsight li', gallery).index($('li.curr', gallery));
				
				DD.GalleryPopup.displayBigImg((gallery.attr('id')).substr(4), index);
			});
		});
	};

	$.fn.slideshowThumbEventsReg.defaults = {};
})(jQuery);




DD.GalleryPopup = {
		displayBigImg: function(galleryID, index) {
		$.ajax({
			type: "POST",
			url: "/Services/Gallery.asmx/GetGallery",
			data: "{galleryID:" + galleryID + "}",
			contentType: "application/json; charset=utf-8",
			dataType: "json",
			success:
			function(data) {
			var gallery = data.d.GalleryImages,
					galleryNodeID = data.d.galleryID;
				$('.bigImage').html(
					'<div class="mod-content">' +
						'<img class="bigImg" src="/CMSPages/GetFile.aspx?guid=' + gallery[index].GalleryImageImage + '" alt="' + gallery[index].GalleryImageTitle + '" />' +
						'<p class="caption">' + gallery[index].GalleryImageLongText + '</p>' +
						'<div class="controls">' +
						'<span class="paging"><a href="#" onclick="DD.GalleryPopup.displayBigImg(\'' + galleryID + '\', \'' + (parseInt(index) + (gallery.length) - 1) % (gallery.length) + '\');return false;" class="back">«</a> ' + (parseInt(index) + 1) + ' ' + getJS_String["galleryPop_imageOf"] + ' ' + gallery.length + ' <a href="#" onclick="DD.GalleryPopup.displayBigImg(\'' + galleryID + '\', \'' + (parseInt(index) + (gallery.length) + 1) % (gallery.length) + '\');return false;" class="next">»</a></span>' +
						'<a href="#" onclick="DD.GalleryPopup.hideBigImg();return false;">' + getJS_String["galleryPop_close"] + '</a>' +
						'</div><br class="clr" />' +
					'</div>' +
					'<span class="x1"><span class="x1a"></span></span><span class="x2"><span class="x2a"></span></span><span class="x3"><span class="x3a"></span></span>'
				).css({ 'left': parseInt(($(document).width() - 457) / 2) + 'px' }).show('slow');
				DD.GalleryPopup.displayCover();
			}
		});
	},

	displayCover: function() {
		var dbh;
		if (window.innerHeight && window.scrollMaxY) {
			dbh = window.innerHeight + window.scrollMaxY;
		} else if (document.body.scrollHeight > document.body.offsetHeight) { // all but Explorer Mac
			dbh = document.body.scrollHeight;
		} else { // Explorer Mac...would also work in Explorer 6 Strict, Mozilla and Safari
			dbh = document.body.offsetHeight;
		}

		if (self.innerHeight) { // all except Explorer
			dbh = self.innerHeight;
		} else if (document.documentElement && document.documentElement.clientHeight) { // Explorer 6 Strict Mode
			dbh = document.documentElement.clientHeight;
		} else if (document.body) { // other Explorers
			dbh = document.body.clientHeight;
		}

		if ($(document).height() > dbh) {
			dbh = $(document).height();
		}
		$('.cover').css({ 'height': dbh + 'px' }).show().click(function() { DD.GalleryPopup.hideBigImg(); });
	},

	hideBigImg: function() {
		$('.bigImage').hide();
		$('.cover').hide();
	}
};


$('.galleryThumbs').slideshowThumbEventsReg();