/*
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($(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 $(tabPhotos[(teraz-1)]).attr('title');
	    }
	    
	}
	if(where=='after'){
	    if((teraz+1)==tabPhotos.length){
		return false;
	    }else{
		return $(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) {

	//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() - 2*$("#galeria-scroll-left").outerWidth();
		contWidth = Math.floor(contWidth/galeria_div_width);
		
		$("#galeria-lista-kontener").css('width',780);
		//$("#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').slideUp();
	$(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);
		var desc = '';
		
		if(newdim[4]==1){
			var zoom = '<a id="galeria-downloadFull" href="'+imgSrc+'" target="_blank">pobierz pełne zdjęcie</a>';
		}else{
			var zoom = '';
		}
		if(desc!='' || zoom!='') {
			//$("#galeria-description").html( (desc!=''?zoom+desc:zoom) );
			//$('#galeria-description').slideDown();
		}
		$(this).fadeIn();
	}).error(function () {
	}).attr('src',imgSrc);
	return false;
}
/*koniec skryptów galerii*/
