/* gallery masta v6.66 ]:-> */
function addGallery(context) {
	var prefix;
	if(context=='document') prefix = '';
	else prefix = '#'+context+' ';
	
	$$(prefix+'.gallery').each(function(thumb) {
		var anchorx = $E('a', thumb); 
		var valid = (anchorx.getProperty('href') != "");
		var layerx = $('previewLayer');

		if(!anchorx.hasClass('download')) {
			var szpan = new Element('span');
			szpan.className = "plus";
			szpan.injectTop(anchorx);
		}
		
		function roundAbout(direction, type, elem) {
			var all;
			
			if(type == 'image') all = $$('.gallery .image, .gallery .wallpaper');
			else all = $$('.gallery .video');
			
			var index; for(var a in all) if(all[a] == elem) index = parseInt(a);
			
			index = index + direction;
			if(index < 0) index = all.length - 1;
			else if(index == all.length) index = 0;
			
			galleryEvent(all[String(index)], layerx);
		}
		
		/* funkcja, która bierze na siebie odpowiedzialność */
		function galleryEvent(anchor, layer) {
		
			/* rozpocznij ściąganie pliku */
			if (anchor.hasClass('download')) {
				window.open(anchor.getProperty('href'));
				return true;
			}
			
			var previewDiv = new Element('div'); previewDiv.id = 'previewHolder';
			var optionsDiv = new Element('div'); optionsDiv.id = 'previewOptions';
			var optList = new Element('ul'); optList.className = 'galleryOptions';
			
			// element zamykający layer
			var hideLayer = new Element('a'); hideLayer.innerHTML = "Zamknij";
			hideLayer.className = "arrow"; hideLayer.href = "#";
			hideLayer.onclick = function() { layer.setStyle('display', 'none'); return false; }
			
			var close = new Element('li'); close.className = "break";
			close.adopt(hideLayer);
			
			/* wyświetl wideo */
			if (anchor.hasClass('video')) {
				var allVideo = $$('.gallery .video');
				
				var next = new Element('a'); next.className="arrow"; next.innerHTML = "Następny klip wideo";
				next.onclick = function () { roundAbout(1, 'video', anchor); }
				
				var prev = new Element('a'); prev.className="arrow"; prev.innerHTML = "Poprzedni klip wideo";
				prev.onclick = function () { roundAbout(-1, 'video', anchor); }

				var downloadZip = new Element('a'); downloadZip.innerHTML = "Pobierz (QuickTime Movie .zip)";
				downloadZip.href = anchor.href; downloadZip.className = "arrow";

				var nextLi = new Element('li'); nextLi.adopt(next);
				var prevLi = new Element('li'); prevLi.adopt(prev);
				var downLi = new Element('li'); downLi.adopt(downloadZip);

				if(allVideo.length > 1) optList.adopt([nextLi, prevLi, close, downLi]);
				else optList.adopt([close, downLi]);
				
				optionsDiv.adopt(optList);
				layer.empty();
				layer.adopt([previewDiv,optionsDiv]);
				
				/* konwersja ścieżki i nazwy .zip -> .flv */
				var path = anchor.getProperty('href').split('/zip/');
				path = path[1].replace('qt','400kbps').replace('.zip','.flv');
									
				var flvPlayer = new SWFObject("/swf/downloads/video/videoplayer.swf", "flvPlayer", "400", "325", "8", "");
					flvPlayer.addParam('quality', 'high');
					flvPlayer.addParam('wmode', 'transparent');
					flvPlayer.addParam('bgcolor', '#ffffff');
					flvPlayer.addVariable('movieurl', path);
					flvPlayer.write('previewHolder');
				//var variable = (movieurl: path);
				//var flashvars = {configuration: "{$WISE_XML_CONFIGURATION_PATH}"};
				//var params = {wmode: "transparent", scale: "noscale", align: "top", salign: "tl"   };
					//swfobject.embedSWF("/swf/downloads/video/videoplayer.swf", "previewHolder", "400", "325", "8.0.0", "/swf/downloads/video/videoplayer.swf", flashvars, params);

				layer.setStyle('display', 'block');
				return true;
			}
			
			/* pokaż obrazki */
			var previewImg = new Element('img');
			previewImg.alt = $E('img', anchor).getProperty('alt');
			previewImg.src = $E('img', anchor).getProperty('src').replace('_thumb', '_preview').replace('nail.','.');
			previewDiv.adopt(previewImg);
			
			/* dodaj opcje do ściągnięcia w zależności od typu */
			var downSmall = new Element('a'); downSmall.innerHTML = "508x342,&nbsp;JPG";
			downSmall.href = previewImg.src; downSmall.className = "arrow";
			downSmall.onclick = function () { window.open(previewImg.src); return false; }
			
			var pathToSmallWall = String(previewImg.src).replace('_preview', '_800x600');
			var downSmallWall = new Element('a'); downSmallWall.innerHTML = "800x600,&nbsp;JPG";
			downSmallWall.href = pathToSmallWall; downSmallWall.className = "arrow";
			downSmallWall.onclick = function () { window.open(pathToSmallWall); return false; }
			
			var pathToLarge = String(previewImg.src).replace('_preview', '_1024x768');
			var downLarge = new Element('a'); downLarge.innerHTML = "1024x768,&nbsp;JPG";
			downLarge.href = pathToLarge; downLarge.className = "arrow";
			downLarge.onclick = function () { window.open(pathToLarge); return false; }
			
			var pathToExtra = String(previewImg.src).replace('_preview', '_1280x960');
			var downExtra = new Element('a'); downExtra.innerHTML = "1280x960,&nbsp;JPG";
			downExtra.href = pathToExtra; downExtra.className = "arrow";
			downExtra.onclick = function () { window.open(pathToExtra); return false; }
			
			var nextt = new Element('a'); nextt.className="arrow"; nextt.innerHTML = "Następny";
			nextt.onclick = function() { roundAbout(1,'image', anchor); }

			var previous = new Element('a'); previous.className="arrow"; previous.innerHTML = "Poprzedni";
			previous.onclick = function() { roundAbout(-1, 'image', anchor); }
			
			var next = new Element('li'); next.adopt(nextt);
			var prev = new Element('li'); prev.adopt(previous);
			
			var sm = new Element('li'); sm.adopt(downSmall);
			var smw = new Element('li'); smw.adopt(downSmallWall);
			var lg = new Element('li'); lg.adopt(downLarge);
//			var ex = new Element('li'); ex.adopt(downExtra);
			
			if($$('.gallery .image, .gallery .wallpaper').length > 1)
				optList.adopt([next,prev])
			
			if(anchor.hasClass('wallpaper')) optList.adopt([close,smw,lg,/*ex*/]);
			else if(anchor.hasClass('news')) optList.adopt([close]);
			else optList.adopt([close,sm,lg]);
			optionsDiv.adopt(optList);
			
			/* pokaż finalne dzieło ;-) */
			layer.setStyle('display', 'none');
			layer.empty();
			layer.adopt([previewDiv, optionsDiv]);
			layer.setStyle('display','block');
		}
		
		/* sprawy organizacyjne */
		if(valid) {
			anchorx.addEvent('click', function(e) {
				var e = new Event(e); e.stop();
				galleryEvent(anchorx, layerx);
			});
		}
		else {
			/* usuwanie pustych miniatur */
			thumb.remove();	
		}
	});
}
/* koniec mastagalerii */

window.addEvent('domready', function(){
	
 	/* galeria stara */
	var thumbCount = 0;
	$$('.thumb').each(function(thumb) {
		var valid = ($E('a', thumb).innerHTML != "");

		if(valid)
		{
			thumbCount += 1;
			thumb.addEvent('mousedown',function(e) {		
				$('imagepreview').setStyle('display','block');
				var bigImgId = thumb.id + "_wrap";
				var bigImage = $(bigImgId);
				bigImage.setStyle('display','block');
										
			});
			var img = $E('img',thumb);
			bigImgName = img.src.replace('thumbnail','preview');
			var wrapperId = thumb.id+'_wrap';
			imgs[imgs.length] = wrapperId;
			
			//create wrapper for big image
			var bigImgWrapper = new Element('div',{'class':'bigimgwrapper','id':wrapperId}).injectAfter(thumb);
			bigImgWrapper.injectInside($('imagepreview'));
			
			//create big image
			var bigImg = new Element('img', {'class':'bigimg'}).injectAfter(thumb);
			bigImg.setProperty('src', bigImgName);
			bigImg.injectInside(bigImgWrapper);
			
			//clone inside links
			var ex = $('imageexample').clone(); 
			var l = 1;
			$ES('a', ex).each(function(linkitem) {
				linkitem.id = wrapperId + "_" + l;
				// download info
				if(l==4) {
					linkitem.innerHTML = "508x342, JPG";
					linkitem.href = "javascript: void(0);";
					linkitem.onclick = function() { download(this); };
				}
				else if(l==5) {
					linkitem.innerHTML = "1024x768, JPG";
					linkitem.href = "javascript: void(0);";
					linkitem.onclick = function() { download(this); };
				}
				l++;
			});
		
			ex.injectAfter(bigImg);
		}
		else {
			thumb.setStyle('display', 'none');
		}
	});
	/* galeria stara koniec */

	addGallery('document');

});
