/**
 * Plik JS - http://www.a3m.pl/
 * Prawa autorskie (c) 2005 AllFreeMedia s.c.
 * Autor: Tomasz Krzan, Mateusz Kamiński.
 *
*/
$().ready(function() {
	
	/*galeria*/
	$("#galeria-lista div").click(function () {
		var selected = galeria_actualPosition(this);
		galeria_createImageAndLoad('imagesdb_'+$(this).attr('title'),selected);
  });
	
	/*przesuwanie galerii*/
	$("#galeria-scroll-left").click(function(){
		var odLewa = parseIntA3M($("#galeria-lista").css('margin-left'));
		if(odLewa<0){
			$("#galeria-lista").animate({marginLeft:(odLewa+galeria_div_width)});
		}
	});
	$("#galeria-scroll-right").click(function(){
		var tabImages = $("#galeria-lista div").get();
		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(margUndWin<szerOkien){
			$("#galeria-lista").animate({marginLeft:(odLewa-galeria_div_width)});
		}
	});
});

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){
	//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
	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+galeria_div_width)});
	}
	if(kier=='+' && margUndWin<szerOkien){
		$("#galeria-lista").animate({marginLeft:(odLewa-galeria_div_width)});
	}
}
    
//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;
    
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) - 6;
			
			var contWidth = $("#galeria-lista-kontener").parent().outerWidth() - 2*$("#galeria-scroll-left").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()-20;
			dim[3] = $('#galeria-loader').width()-20;
			var newdim = galeria_ratio(dim);
			$(this).attr({'height':newdim[0],'width':newdim[1]});
			$(this).css('margin-top',(newdim[3]+10));
			
			//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="poprzedni" title="poprzedni"></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ępny" title="następny"></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*/
