var gallery = {
	_obrazek : 0, //aktualnie prezentowana fotografia
	_obrazy : null,

	load : function(obrazy) {
		var g = this;
		if (!(obrazy) || (obrazy === null) || (obrazy.length == 0)) {
			return;
		} else {
			g._obrazy = obrazy;
			g._renderList();
			g._renderPicture(g._obrazek);
			$(".mini:eq("+g._obrazek+")").css({'border': '1px solid #0079CB'});	
			if (obrazy.length > 1) { $("#next, #next2").show(); }
		}
	},

	prev : function() {
		var g = this;
		if (g._obrazek > 0) {
			g._obrazek--;
			if(g._obrazek == 0) {$("#prev, #prev2").hide();}
			if(g._obrazek < (g._obrazy.length -1)) {$("#next, #next2").show();}

			if ((g._obrazek > 1) && ((g._obrazek + 3) < g._obrazy.length)) {
				$("#listwa").animate({left: '+=96'}, "fast",function(){
					//ramka na odpowiednią miniaturą
					$(".mini").css({'border': '0'});
					$(".mini:eq(" + g._obrazek + ")").css({'border': '1px solid #0079CB'});
					
					//zmiana obrazu w podglądzie
					g._renderPicture(g._obrazek);
				});
			} else {
				//ramka na odpowiednią miniaturą
				$(".mini").css({'border': '0'});
				$(".mini:eq(" + g._obrazek + ")").css({'border': '1px solid #0079CB'});	

				//zmiana obrazu w podglądzie
				g._renderPicture(g._obrazek);
			}
		}

	},

	next : function() {
		var g = this;
		if (g._obrazek < (g._obrazy.length -1)) {
			g._obrazek++;
			$("#prev, #prev2").show();
			if(g._obrazek == (g._obrazy.length -1)) {$("#next, #next2").hide();}

			if ((g._obrazek > 2) && (g._obrazy.length - (g._obrazek + 2) > 0)) {
				$("#listwa").animate({left: '-=96'}, "fast", function(){
					//ramka na odpowiednią miniaturą
					$(".mini").css({'border': '0'});
					$(".mini:eq(" + g._obrazek + ")").css({'border': '1px solid #0079CB'});
				
					//zmiana obrazu w podglądzie
					g._renderPicture(g._obrazek);
				});
			} else {
				//ramka na odpowiednią miniaturą
				$(".mini").css({'border': '0'});
				$(".mini:eq(" + g._obrazek + ")").css({'border': '1px solid #0079CB'});
				
				//zmiana obrazu w podglądzie
				g._renderPicture(g._obrazek);
			}
		}
	},

	show : function(n) {
		var g = this;

		//ustawienie listy w odpowiedniej pozycji
		var przesuniecie = n - g._obrazek;
		var wartosc = 0;

		//obrazek po prawej (lista przesuwa się w lewo)
		if(przesuniecie > 0) {
			$("#prev, #prev2").show();
			if(n == (g._obrazy.length -1)) {$("#next, #next2").hide();}

			for(var x = przesuniecie;x > 0;x--) {
				if ((n+1-x > 2) && (g._obrazy.length - (n+1-x + 2) > 0)) {
					wartosc -= 96;
				} 
			}
		}

		//obrazek po lewej (lista przesuwa się w prawo)
		if(przesuniecie < 0) {
			if(n == 0) {$("#prev, #prev2").hide();}
			if(n < (g._obrazy.length -1)) {$("#next, #next2").show();}

			for(var x = przesuniecie;x < 0;x++) {
				if ((n-1-x > 1) && ((n-1-x + 3) < g._obrazy.length)) {
					wartosc += 96;
				} 
			}
		}

		if (wartosc != 0) {
			if(wartosc < 0) var ile = '-='+(wartosc * -1);
			if(wartosc > 0) var ile = '+='+wartosc;	

			$("#listwa").animate({left: ile}, "fast", function(){
				//ramka na odpowiednia miniaturą
				$(".mini").css({'border': '0'});
				$(".mini:eq(" + n + ")").css({'border': '1px solid #0079CB'});

				//zmiana obrazu w podglądzie
				g._renderPicture(n);
			});
		} else {
			//ramka na odpowiednia miniaturą
			$(".mini").css({'border': '0'});
			$(".mini:eq(" + n + ")").css({'border': '1px solid #0079CB'});

			//zmiana obrazu w podglądzie
			g._renderPicture(n);
		}
		g._obrazek = n;
	},

	_renderPicture : function(n){
		var g = this;
		
		var kod = '';

		var image = new Image();
		image.src = g._obrazy[n][0];
		
		//jesli obrazek jest większy niż miejsce gdzie ma być wyświetlony to skalujemy
		if(image.width > 480 || image.height > 400){
			var wm = 1.2;
			var wo = image.width/image.height;
			if (wm > wo) {
				kod += '<div class="middle2"><div class="middle3"><img src="'+ g._obrazy[n][0] +'" alt="'+ g._obrazy[n][1] +'" height="400" /></div></div>';
			} else if (wm < wo) {
				kod += '<div class="middle2"><div class="middle3"><img src="'+ g._obrazy[n][0] +'" alt="'+ g._obrazy[n][1] +'" width="480"/></div></div>';
			} else {
				kod += '<div class="middle2"><div class="middle3"><img src="'+ g._obrazy[n][0] +'" alt="'+ g._obrazy[n][1] +'" /></div></div>';
			}	
		} else {
			kod += '<div class="middle2"><div class="middle3"><img src="'+ g._obrazy[n][0] +'" alt="'+ g._obrazy[n][1] +'" /></div></div>';
		}

		$("#podglad").html(kod);
		$("#podglad").find("img").click(function(){window.open(g._obrazy[n][0]);}).fadeIn('fast');
		$("#title").html(g._obrazy[n][1]);
	},

	_renderList : function(){
		var g = this;
		var kod = '';
		kod += '<div id="lista"><div id="miniatury"><div id="listwa" style="width:'+ (g._obrazy.length * 96) +'px;">';
		for(var x = 0;x<g._obrazy.length;x++){
			
			var image_mini = new Image();
			image_mini.src = g._obrazy[x][0];

			//jesli obrazek jest większy niż miejsce gdzie ma być wyświetlony to skalujemy
			if(image_mini.width > 85 || image_mini.height > 60){
				var wm = 1.41;
				var wo = image_mini.width/image_mini.height;
				if (wm > wo) {
					kod += '<div class="miniaturka"><div class="middle2"><div class="middle3"><a href="" onclick="gallery.show('+ x + '); return false;"><img class="mini" src="'+ g._obrazy[x][0] +'" alt="'+ g._obrazy[x][1] +'" border="0" height="60"/></a></div></div></div>';
				} else if (wm < wo){
					kod += '<div class="miniaturka"><div class="middle2"><div class="middle3"><a href="" onclick="gallery.show('+ x + '); return false;"><img class="mini" src="'+ g._obrazy[x][0] +'" alt="'+ g._obrazy[x][1] +'" border="0" width="85"/></a></div></div></div>';
				} else {
					kod += '<div class="miniaturka"><div class="middle2"><div class="middle3"><a href="" onclick="gallery.show('+ x + '); return false;"><img class="mini" src="'+ g._obrazy[x][0] +'" alt="'+ g._obrazy[x][1] +'" border="0"/></a></div></div></div>';
				}
			} else {
				kod += '<div class="miniaturka"><div class="middle2"><div class="middle3"><a href="" onclick="gallery.show('+ x + '); return false;"><img class="mini" src="'+ g._obrazy[x][0] +'" alt="'+ g._obrazy[x][1] +'" border="0"/></a></div></div></div>';
			}
		}
 		kod += '</div></div></div>';
		kod += '<div id="prev" onclick="gallery.prev()"> </div>';
		kod += '<div id="next" onclick="gallery.next()"> </div>';
		kod += '<div id="prev2" onclick="gallery.prev()"> </div>';
		kod += '<div id="next2" onclick="gallery.next()"> </div>';
		$("#galeria").append(kod);
	}
}
