// JavaScript Document

<!--

var imagesPath = '/10/img/';
var defaultImg = 'http://morowiec.pl/10/img/spacer.gif';
var photoArray;

// Tabela z fotkami
var photosArray = new Array();
var photosIdsArray = new Array();

// Tablica do preloadu obrazków
var preload = new Array();


var currentImgNumber;

function runGallery(path) {
	//alert(path + " runGallery");

	$(document).ready(function() {

		// Inicjacja warstwy z fotkami
		initPhotoBox();

		$('#photoBox').css({display:'block'});

		// Inicjacja buttonów galerii
		initGalleryButtons();

		// Sciezka do XML'a
		imagesPath += path;
		//alert(imagesPath);

		defaultImg = '/img/spacer.gif';
		
		// pobranie pliku XML
		//alert(imagesPath + "pics.xml");
		$.ajax({
			url: imagesPath + "pics.xml",
			dataType: "xml",
			success: function(data) {
				var j=preload.length;
				
				// Wyszukanie obrazków z XML na stronie i utworzenie tablicy
				$("photo", data).each(function(){
					selector = $(this).attr("id");
		
					if ($('#photo_'+selector).size()>0) {
						// Nowy obrazek w tablicy obrazków
						photosArray[j]= new Array(); 

						photosArray[j].path = imagesPath + $(this).attr("name") + '.jpg';
						photosArray[j].width = $(this).attr("width");
						photosArray[j].height = $(this).attr("height");
						photosArray[j].description = $(this).attr('description');
						
						// Zapamietuje powiazanie id obrazka z pozycja w glównej tablicy
						photosIdsArray[j] = $(this).attr('id'); 
						//alert(photosIdsArray[j]);
						j++;					
					}											 
				});		
				
				var j=preload.length;
				
				$("photo", data).each(function(){
					selector = $(this).attr("id");
		
					if ($('#photo_'+selector).size()>0) {
//						alert(imagesPath + $(this).attr("name") + '.jpg');
						
						// Preload obrazków
						preload[j]=new Image; 
						preload[j].src = photosArray[j].path;
						
						j++;						
					}											 
				});

			}
		});
		
	}); 
}


function setPhotoEnlarge(selector){
	$(document).ready(function() {
//		alert($(selector).size());
		
		// Sprawdzam czy sa jakies pasujace elementy
		if ($(selector).size()>0) {
			
			// Inicjacja warstwy z fotkami
			initPhotoBox();
	

			if ($(selector).size()==1) {
				// Wylaczam pasek nawigacji
				$('#photoTopNavi').css({display:'none'});				
			} else {
				// Inicjacja buttonów galerii
				initGalleryButtons();
			}
			
			// Deklaruje tablice obrazków do preloadu
			var j=preload.length;

			$(selector).each(function(index) {
				//alert(index + ': ' + $(this).attr('href'));
				
				preload[j] = new Image; 
				preload[j].src = $(this).attr('href');
				
				// Tablica obrazków
				
				photosArray[j]= new Array(); 
				
				photosArray[j].path = preload[j].src;
				photosArray[j].width = preload[j].width;
				photosArray[j].height = preload[j].height;
				photosArray[j].description = $("img", this).attr('alt');
				
				//alert($("img", this).attr('id')+' - '+photosArray[j].path+' - '+photosArray[j].width+' - '+photosArray[j].height+' - '+photosArray[j].description);

				// Zapamietuje powiazanie id obrazka z pozycja w glównej tablicy
				photosIdsArray[j] = $("img", this).attr('id'); 

				j++;
				
				// Zabezpieczenie przed linkowaniem
				$(this).click(function(e) {
					e.preventDefault();
					
					imgId = $("img", this).attr('id');
					imgNumber = photosIdsArray.indexOf(imgId.toString());

					showPhoto2(imgNumber);
				});
			});
		}
	}); 
}

function initPhotoBox() {
	$('<div id="photoTopBg"></div><div id="photoTop"><div id="photoTopImgBox"><img id="photo"/><div id="photoMsg"></div><div id="photoTopNavi"><div id="photoTopNaviLeft"></div><div id="photoTopNaviRight"></div></div><div id="photoCls"></div></div></div>').insertAfter(".container");

	$('#photoTop').hide();
	$('#photoTopBg').hide();

	$('#photo').attr({
		src: defaultImg,
		name: 'photo',
		alt: 'zamknij'
	});
	$('#photo').click(function () {hidePhoto();});
	
	$('#photoMsg').append('<p>photoMsg</p>');

	$('#photoCls').click(function () {hidePhoto();});
	$('#photoCls').append('<p>zamknij X</p>');

}

function initGalleryButtons(){
	/* Obsluga przechodzenia strzalkami */	
	$(document).keyup(function(event){
		switch(event.which){
			case 37: showNextPrevPhoto(-1);	break;
			case 39: showNextPrevPhoto(1); break;
		}
	});				
	
	$('#photoTopNaviLeft').click(function () {showNextPrevPhoto(-1);});
	$('#photoTopNaviLeft').append('<p><<< poprzednie</p>');

	$('#photoTopNaviRight').click(function () {showNextPrevPhoto(1);});
	$('#photoTopNaviRight').append('<p>nastepne >>></p>');
	
	$('#photoTopNavi').css({display:'block'});				
}

function hidePhoto() {
	$('#photoTop').fadeOut(100, function () {
		$('#photo').attr({
			src: defaultImg
		});
		$('#photoMsg p').empty();
		$('#photoTopBg').fadeOut(400);
	});
}

function showOnePhoto(imgPath, imgWidth, imgHeight, imgDescription) {
	showPhoto(imgPath, imgWidth, imgHeight, 0, imgDescription, false);
}


function showNextPrevPhoto(direction) {
	imgNumber = currentImgNumber + direction;
	
	if (imgNumber==photosArray.length) {
		imgNumber = 0;
	} else if (imgNumber<0) {
		imgNumber = (photosArray.length-1);
	}

	showPhotoCheckDimension(imgNumber);
	showPhoto(photosArray[imgNumber].path, photosArray[imgNumber].width, photosArray[imgNumber].height, imgNumber, photosArray[imgNumber].description, true);
}


function showPhotoById(id) {
//	alert(id);
//	alert(photosIdsArray.valueOf());
	
	imgNumber = photosIdsArray.indexOf(id.toString());

//	alert(imgNumber);

	showPhoto2(imgNumber);
}

function showPhoto2(imgNumber) {
	//alert('czekam '+imgNumber);
	try	{
		showPhotoCheckDimension(imgNumber);
		//alert('try by photosArray: '+imgNumber+', '+photosArray[imgNumber].path+' - '+photosArray[imgNumber].width+' - '+photosArray[imgNumber].height+' - '+photosArray[imgNumber].description);
		showPhoto(photosArray[imgNumber].path, photosArray[imgNumber].width, photosArray[imgNumber].height, imgNumber, photosArray[imgNumber].description, true);
	} catch(e) {
		//alert('czekam');
		setTimeout("showPhoto2(" + imgNumber + ");", 300);		
	}
}

function showPhotoCheckDimension(imgNumber) {
	if (photosArray[imgNumber].width==0 && photosArray[imgNumber].height==0) {
		photosArray[imgNumber].width = preload[imgNumber].width;
		photosArray[imgNumber].height = preload[imgNumber].height;
	}
}


function showPhoto(imgPath, imgWidth, imgHeight, imgNumber, imgDescription, navi) {
	//alert(imgPath + ' ' + imgWidth + ' ' + imgHeight + ' ' + imgNumber+ ' ' + imgDescription)

	var arrayPageSize = getPageSize();
	var arrayPageScroll = getPageScroll();

	if (imgDescription!=''){
		$('#photoMsg').show();
		$('#photoMsg').html('<p>'+imgDescription+'</p>');
	} else {
		$('#photoMsg').hide();
	}
	if (navi==false){
		$('#photoTopNavi').hide();
	} else {
		$('#photoTopNavi').show();
	}
	
	$('#photoTopBg').css('height', arrayPageSize[1]);

	currentImgNumber = imgNumber;

	if (arrayPageSize[1]<(imgHeight+60)) {
		$('#photoTop').css('height', imgHeight+60);
	} else {
		$('#photoTop').css('height', arrayPageSize[1]);
	}

	$('#photo').attr({
		src: imgPath,
		width: imgWidth,
		height: imgHeight
	});

	var topMargin = Math.ceil((arrayPageSize[3]-imgHeight-30)/2);
	if (topMargin>10) {
		var top = topMargin+arrayPageScroll[1];
	} else {
		var top = arrayPageScroll[1];
	}


	$('#photoTopImgBox').css({
		top: top,
		width: parseInt(imgWidth)+20,
		height: parseInt(imgHeight)+20
	});
	
	$('#photoTopNavi').css({width: parseInt(imgWidth)+20});
	$('#photoTopBg').css({opacity: 0.9});
	
	$('#photoTopBg').fadeIn(500);
	$('#photoTop').fadeIn(100);
}

//-->

