/**
 * Plik JS - http://www.a3m.pl/
 * Prawa autorskie (c) 2005 AllFreeMedia s.c.
 * Autor: Tomasz Krzan, Mateusz Kamiński.
 *
*/

$().ready(function() {
	var inAct = false;
	
	/*galeria*/
	
	//zmienna globalna - szerokość div'u miniaturki, domyślnie 60
	var galeria_div_width = 50;
	
	//wysokosc okna podglądu zdjęć
	var galeria_div_height = 360;
	var galeria_loader_width = 520;
	
	var tabImages = $("#galeria-lista div").get();
	$("#galeria-lista").css('width',2 * tabImages.length * galeria_div_width);
	
	$("#galeria-lista div").click(function () {
		var selected = galeria_actualPosition(this);
		galeria_createImageAndLoad('imagesdb_'+$(this).attr('title'),selected);
  });
	
	/*przesuwanie galerii*/
	$("#galeria-scroll-left").click(function(){
		if(inAct==false){
			var moveWidth = $("#galeria-lista-kontener").width();
			var odLewa = parseIntA3M($("#galeria-lista").css('margin-left'));
			if(odLewa<0){
				inAct = true;
				$("#galeria-lista").animate({
					marginLeft:(odLewa+moveWidth)},
					500,
					function() {
						inAct = false;
				});
			}
		}
	});
	
	$("#galeria-scroll-right").click(function(){
		if(inAct==false){
			var moveWidth = $("#galeria-lista-kontener").width();
			var tabImages = $("#galeria-lista div").get();
			var odLewa = parseIntA3M($("#galeria-lista").css('margin-left'));
			var szerOkien = galeria_div_width*tabImages.length;
			$("#galeria-scroll-right").outerWidth();
			var margUndWin = ($("#galeria-lista-kontener").width())+Math.abs(odLewa);
			if(margUndWin<szerOkien){
				inAct = true;
				$("#galeria-lista").animate({
					marginLeft: (odLewa-moveWidth)},
					500,
					function() {
						inAct = false;
				});
			}
			
		}
	});
});

function galeria_ratio(dim) {
	var ratio_h = ratio_w = 1;
	dim[4] = 0;
	if(dim[0]>dim[2]){
		ratio_h = dim[2] / dim[0];
		dim[4] = 1;
	}
	if(dim[1]>dim[3]){
		ratio_w = dim[3] / dim[1];
		dim[4] = 1;
	}
	
	var ratio = (ratio_h>ratio_w) ? ratio_w : ratio_h;
	if(dim[4]==1){
		dim[0] = dim[0] * ratio;
		dim[1] = dim[1] * ratio;
		dim[4] = 1;
	}
	//ustalenie margin-top
	if(dim[0]<dim[2]){
	  dim[3] = ((dim[2]-dim[0]) / 2);
	}else{
	  dim[3] = 0;
	}
	return dim;
}
	
function galeria_checkNeighbor(where,teraz) {
	var tabPhotos = $("#galeria-lista div");
	if(where=='before'){
	  if((teraz-1)==-1){
			return false;
	  }else{
			return 'imagesdb_'+$(tabPhotos[(teraz-1)]).attr('title');
	  }
	}
	if(where=='after'){
	  if((teraz+1)==tabPhotos.length){
			return false;
	  }else{
			return 'imagesdb_'+$(tabPhotos[(teraz+1)]).attr('title');
	  }
	}
}
	
function galeria_actualPosition(obecnyElement) {
	var actPos = $("#galeria-lista div").index(obecnyElement);
	return actPos;
}
	
function galeria_getDescription(pos) {
	var descs = $("#galeria-opisy div");
	return $(descs[pos]).html();
}

function parseIntA3M(val){
	val = (val=='auto') ? 0 : parseInt(val);
	return val;
}

function galeria_scrollToImage(actpos,kier){
	
	var moveWidth = $("#galeria-lista-kontener").width();
	var moveCount = moveWidth / galeria_div_width;
	var moveLich = Math.floor(actpos/moveCount);
	var moving = 0;

	switch(kier) {
		case '+': moving = (moveLich * moveWidth) - (Math.floor((actpos-1)/moveCount) * moveWidth);  inx = -1; break;
		case '-': moving = (Math.floor((actpos+1)/moveCount) * moveWidth) - (moveLich * moveWidth);  inx = +1; break;
		default: moving = 0; inx = ''; break;
	}
		//wygląd elementow w liscie
		$('#galeria-lista div').removeClass('galeria-selected-in-list');
		var tabImages = $("#galeria-lista div").get();
		$(tabImages[actpos]).addClass('galeria-selected-in-list');
		
		//pozostałe - TU POWINNY BYĆ DZIAŁANIA ABY LISTA PRZESUWAŁA SIĘ AUTOMATYCZNIE
		if(parseIntA3M($("#galeria-lista").css('margin-left')) != -((Math.floor((actpos + inx)/moveCount) * moveWidth))) {
			var odLewa = -Math.floor(moveLich*moveWidth);
		} else {
			var odLewa = parseIntA3M($("#galeria-lista").css('margin-left'));
		}
		var szerOkien = galeria_div_width*tabImages.length;
		var margUndWin = ($("#galeria-lista-kontener").width())+Math.abs(odLewa);
		
		if(kier=='-' && odLewa<0){
			$("#galeria-lista").animate({
				marginLeft:(odLewa+moving)},
				500,
				function() {
					
				}
			);
		}
		if(kier=='+' && margUndWin<szerOkien){
			//alert('odLewa: '+odLewa+'  :  moving: '+moving)
			$("#galeria-lista").animate({
				marginLeft:(odLewa-moving)},
				500,
				function() {
					
				}
			);
		}
}
    

    
function galeria_createImageAndLoad(imgSrc,actualPosition,kier) {
	$(document).ready(function(){
		//imgSrc = false gdy ładuje stronę po raz pierwszy
		//imgSrc = (imgSrc==false) ? galeria_checkNeighbor('before',1) : imgSrc ;
		if(imgSrc==false){
			
			//pobranie wysokosci okna przeglądania
			galeria_div_height = $("#galeria-loader").height();
			galeria_loader_width = $("#galeria-loader").width();
			
			//pobranie szer. div'a z miniaturką
			galeria_div_width = $("#galeria-lista div:first").outerWidth(true);
			
			var contWidth = $("#galeria-lista-kontener").parent().outerWidth() - $("#galeria-scroll-left").outerWidth() - $("#galeria-scroll-right").outerWidth();
			
			contWidth = Math.floor(contWidth/galeria_div_width);
			
			$("#galeria-lista-kontener").css('width',contWidth*galeria_div_width);
			imgSrc = galeria_checkNeighbor('before',1);
		}else{
			imgSrc = imgSrc;
		}
		
		var img = new Image();
		$('#galeria-loader').addClass('loading');
		$('#galeria-loader *').remove();
		$('#galeria-description').css('opacity',0.25);
		$(img).load(function () {
			//$(this).hide();
			$('#galeria-loader').append(this);
			var dim = new Array();
			dim[0] = $('#galeria-loader img').height();
			dim[1] = $('#galeria-loader img').width();
			dim[2] = $('#galeria-loader').height();
			dim[3] = $('#galeria-loader').width();
			var newdim = galeria_ratio(dim);
			$(this).attr({'height':newdim[0],'width':newdim[1]});
			$(this).css('margin-top',(newdim[3]));
			
			//czy jest cos przed i po
			
			var sasiadPrzed = galeria_checkNeighbor('before',actualPosition);
			var sasiadPo = galeria_checkNeighbor('after',actualPosition);
			if(sasiadPrzed!=false){
				$('#galeria-loader').append('<div onclick="galeria_createImageAndLoad(\''+sasiadPrzed+'\','+(actualPosition-1)+',\'-\')" style="height:'+galeria_div_height+'px;width:'+Math.floor(galeria_loader_width/2-11)+'px" id="galeria-left-hand" alt="poprzednie" title="poprzednie"></div>');
			}
			if(sasiadPo!=false){
				$('#galeria-loader').append('<div onclick="galeria_createImageAndLoad(\''+sasiadPo+'\','+(actualPosition+1)+',\'+\')" style="height:'+galeria_div_height+'px;width:'+Math.floor(galeria_loader_width/2-11)+'px" id="galeria-right-hand" alt="następne" title="następne"></div>');
			}
			$("#galeria-left-hand,#galeria-right-hand").css('opacity',0.5);
			$("#galeria-left-hand,#galeria-right-hand").hover(function(){ $(this).css('opacity',1); },function(){ $(this).css('opacity',0.5); });
									 
			
			//tu wywołanie funkcji do przesuwania listy
				galeria_scrollToImage(actualPosition,kier);
			
			//pobranie opisu
			var desc = galeria_getDescription(actualPosition);
			//usunięto IF - if(newdim[4])
			var zoom = '<a id="galeria-downloadFull" href="'+imgSrc+'" target="_blank">pobierz pełne zdjęcie</a>';
			
			if(desc!='' || zoom!='') {
				$("#galeria-description").html( (desc!=''?zoom+desc:zoom) );
				$('#galeria-description').css('opacity',1);
			}
			$(this).fadeIn();
		}).error(function () {
		}).attr('src',imgSrc);
		return false;
	});
	
}
/*koniec skryptów galerii*/