window.addEvent('domready', function () {
	if ($('galleryViewer')) {
		var galleryBODY = $('galleryViewerINNER');
		var galleryMID = $('galleryViewerMID').value;
		var gallerySID = $('galleryViewerSID').value;
		var galleryLANG = $('galleryViewerLANG').value;
		var galleryLINK = $('galleryViewerLINK').value;
		
		var galleryPOST = Hash.toQueryString({
			'mid': galleryMID,
			'sid': gallerySID,
			'lang': galleryLANG,
			'link': galleryLINK
		});
		
		var galleryWIDTH = galleryBODY.offsetWidth - 70;
		
		var galleryIMG_SIZES = [
			{ 'W': 0,	'H': 0,		'X': Math.round(0.010*galleryWIDTH)	,'Y': 85,	'Z': 1 },
			{ 'W': 72,	'H': 48,		'X': Math.round(0.010*galleryWIDTH)	,'Y': 70,	'Z': 5 },
			{ 'W': 99,	'H': 66,		'X': Math.round(0.078*galleryWIDTH)	,'Y': 60,	'Z': 10 },
			{ 'W': 129,	'H': 86,		'X': Math.round(0.206*galleryWIDTH)	,'Y': 50,	'Z': 15 },
			{ 'W': 187,	'H': 125,	'X': Math.round(0.386*galleryWIDTH)	,'Y': 30,	'Z': 20 },
			{ 'W': 129,	'H': 86,		'X': Math.round(0.674*galleryWIDTH)	,'Y': 50,	'Z': 15 },
			{ 'W': 99,	'H': 66,		'X': Math.round(0.843*galleryWIDTH)	,'Y': 60,	'Z': 10 },
			{ 'W': 72,	'H': 48,		'X': Math.round(0.967*galleryWIDTH)	,'Y': 70,	'Z': 5 },
			{ 'W': 0,	'H': 0,		'X': Math.round(0.967*galleryWIDTH)	,'Y': 85,	'Z': 1 }
		];
		var galleryPRELOAD = [];
		var galleryIMAGES = [];
		var galleryTITLES = [];
		
		var galleryRUN = function () {
			var gallPOS = 0;
		
			//pobranie informacji o obrazkach
			var gallIMG = $$('.galleryViewerID');
			var gallTIT = $$('.galleryViewerTITLE');
			galleryPRELOAD = [];
			galleryIMAGES = [];
			galleryTITLES = [];
			gallIMG.each(function (el, key) {
				galleryPRELOAD.push(el.innerHTML + '.187x125.jpg');
				galleryPRELOAD.push(el.innerHTML + '.129x86.jpg');		
				galleryPRELOAD.push(el.innerHTML + '.99x66.jpg');		
				galleryPRELOAD.push(el.innerHTML + '.72x48.jpg');
				galleryIMAGES.push(el.innerHTML);
				galleryTITLES.push(gallTIT[key].innerHTML);
			});
			
			new Asset.images(galleryPRELOAD, {
				onComplete: function () {
					//rozmieszczenie obrazow i wrzucenie zdjec
					$('galleryViewerPRELOAD').setStyle('display', 'none');
					var gallGAL = $$('.galleryViewerGAL');
					var gallGALIMG = $$('.galleryViewerGAL img');
					gallGAL.each(function (el, key) {
						el.setStyle('width', galleryIMG_SIZES[key+1].W);
						el.setStyle('height', galleryIMG_SIZES[key+1].H);
						el.setStyle('left', galleryIMG_SIZES[key+1].X);
						el.setStyle('top', galleryIMG_SIZES[key+1].Y);
						el.setStyle('z-index', galleryIMG_SIZES[key+1].Z);
						if (galleryIMAGES[gallPOS + key]) {
							$(el.getElement('img')).src = galleryIMAGES[gallPOS + key] + '.' + galleryIMG_SIZES[key+1].W + 'x' + galleryIMG_SIZES[key+1].H + '.jpg';
						} else {
							if (galleryIMAGES[(gallPOS + key) - galleryIMAGES.length]) {
								$(el.getElement('img')).src = galleryIMAGES[(gallPOS + key) - galleryIMAGES.length] + '.' + galleryIMG_SIZES[key+1].W + 'x' + galleryIMG_SIZES[key+1].H + '.jpg';
							}
						}
						el.removeClass('galleryViewerHIDDEN');
					});
			
					var galleryNEXT = $('galleryViewerNEXT');
					var galleryPREV = $('galleryViewerPREV');
			
					var animTALBE = gallGAL.concat(gallGALIMG);
					var myAnim = new Fx.Elements(animTALBE, {link: 'cancel', duration: 250, transition: Fx.Transitions.linear, onComplete: function() {
						gallGAL.each(function (el, key) {
							el.setStyle('width', galleryIMG_SIZES[key+1].W);
							el.setStyle('height', galleryIMG_SIZES[key+1].H);
							el.setStyle('left', galleryIMG_SIZES[key+1].X);
							el.setStyle('top', galleryIMG_SIZES[key+1].Y);
							el.setStyle('z-index', galleryIMG_SIZES[key+1].Z);
							gallGALIMG[key].setStyle('width', galleryIMG_SIZES[key+1].W);
							gallGALIMG[key].setStyle('height', galleryIMG_SIZES[key+1].H);
							if (galleryIMAGES[gallPOS + key]) {
								gallGALIMG[key].src = galleryIMAGES[gallPOS + key] + '.' + galleryIMG_SIZES[key+1].W + 'x' + galleryIMG_SIZES[key+1].H + '.jpg';
							} else {
								if (galleryIMAGES[(gallPOS + key) - galleryIMAGES.length]) {
									gallGALIMG[key].src = galleryIMAGES[(gallPOS + key) - galleryIMAGES.length] + '.' + galleryIMG_SIZES[key+1].W + 'x' + galleryIMG_SIZES[key+1].H + '.jpg';
								}
							}
						});
						galleryNEXT.removeClass('galleryViewerNEXT_DIS');
						galleryPREV.removeClass('galleryViewerPREV_DIS');
					}}); 
					
					gallGALIMG.each(function (el, key) {
						el.addEvent('click', function() {
							window.location = galleryLINK + '.html';
						});
					});
			
					
					//dodanie eventow
					galleryNEXT.addEvent('click', function() {
						if (!galleryNEXT.hasClass('galleryViewerNEXT_DIS')) {
							galleryNEXT.addClass('galleryViewerNEXT_DIS');
							galleryPREV.addClass('galleryViewerPREV_DIS');
							gallPOS --;
						
							if (gallPOS < 0) { gallPOS = galleryIMAGES.length - 1; }
							var stany = {};
							gallGAL.each(function (el, key) {
								stany['' + key] = {
									'width': galleryIMG_SIZES[key+2].W,
									'height': galleryIMG_SIZES[key+2].H,
									'left': galleryIMG_SIZES[key+2].X,
									'top': galleryIMG_SIZES[key+2].Y,
									'z-index': galleryIMG_SIZES[key+2].Z
								};
								stany['' + (key + gallGAL.length)] = {
									'width': galleryIMG_SIZES[key+2].W,
									'height': galleryIMG_SIZES[key+2].H,
									'display': 'block'
								};
							});
							myAnim.start(stany);				
						}
						return false;
					});
					galleryPREV.addEvent('click', function() {
					if (!galleryNEXT.hasClass('galleryViewerNEXT_DIS')) {
							galleryNEXT.addClass('galleryViewerNEXT_DIS');
							galleryPREV.addClass('galleryViewerPREV_DIS');
							gallPOS ++;
							if (gallPOS == galleryIMAGES.length) { gallPOS = 0; }
							var stany = {};
							gallGAL.each(function (el, key) {
								stany['' + key] = {
									'width': galleryIMG_SIZES[key].W,
									'height': galleryIMG_SIZES[key].H,
									'left': galleryIMG_SIZES[key].X,
									'top': galleryIMG_SIZES[key].Y,
									'z-index': galleryIMG_SIZES[key].Z
								};
								stany['' + (key + gallGAL.length)] = {
									'width': galleryIMG_SIZES[key].W,
									'height': galleryIMG_SIZES[key].H,
									'display': 'block'
								};
							});
							myAnim.start(stany);
						}
						return false;
					});
				}
			});
		}
		
		var galleryURL = '/' + galleryLINK + '/galplug.html';
		var galleryAJAX = new Request({
			url: galleryURL,
			method: 'post',
			onComplete: function(response){
				galleryBODY.innerHTML = response;
				galleryRUN();
			}
		});
		galleryAJAX.send(galleryPOST);
	}
});

