function showGallery(im, gal_id)
{
	var body = document.body;
	
	var back = document.createElement('div');
	back.id = 'gallery2-bkg';
	back.style.position = 'absolute';
	back.style.backgroundColor = '#000000';
	back.style.zIndex = 1000;
	back.style.filter = 'alpha(opacity=80)';
	back.style.opacity = '.80';
	
	back.style.left = '0px';
	back.style.top = '0px';
	back.style.width = getWH()[0]+'px';
	back.style.height = getWH()[1]+'px';
	
	body.appendChild(back);
	
	var imgz = document.createElement('div');
	imgz.id = 'gallery2-imgz';
	imgz.style.position = 'absolute';
	imgz.style.zIndex = 1001;
	imgz.style.left = '0px';
	imgz.style.top = getY()+'px';
	imgz.style.width = getCliWH()[0]+'px';
	imgz.style.height = getCliWH()[1]+'px';
	
	body.appendChild(imgz);
	
	fixIE6('hidden');
	
	var text = '<div style="color: #FFFFFF;" align="center"><p>';
	text += '<a href="javascript:loadPrevNext(false)" style="color: #FFFFFF;">&laquo;&nbsp;poprzedni</a>';
	text += '&nbsp;|&nbsp;';
	text += '<a href="javascript:hideGallery()" style="color: #FFFFFF;">zamknij</a>';
	text += '&nbsp;|&nbsp;';
	text += '<a href="javascript:loadPrevNext(true)" style="color: #FFFFFF;">nastepny&nbsp&raquo;</a>';
	text += '</p>';
	text += '<img src="/templates/loading.gif" id="load" style="filter: alpha(opacity=100); opacity: 1; display: none;" />';
	text += '<img src="" id="dest" style="filter: alpha(opacity=100); opacity: 1; border: 10px solid #FFFFFF; display: none;" />';
	text += '</div>';
	
	imgz.innerHTML = text;
	
	galID = gal_id;
	loadImg(im);
}

function hideGallery()
{
	document.body.removeChild(document.getElementById('gallery2-imgz'));
	document.body.removeChild(document.getElementById('gallery2-bkg'));
	fixIE6('visible');
}

function resizeBkg()
{
	var back = document.getElementById('gallery2-bkg');
	var imgz = document.getElementById('gallery2-imgz');
	try {
		back.style.width = getWH()[0]+'px';
		back.style.height = getWH()[1]+'px';
		imgz.style.width = getCliWH()[0]+'px';
	} catch (e) {}
}

function getWH()
{
	var body = document.body;
	if (navigator.appName=="Microsoft Internet Explorer"||navigator.appName=="Opera")
		return new Array(document.documentElement.scrollWidth, document.documentElement.scrollHeight);
	else
		return new Array(
			(body.offsetWidth+(window.scrollMaxX?window.scrollMaxX:0)),
			//(body.offsetHeight+(window.scrollMaxY?window.scrollMaxY:0))
			(window.scrollMaxY+getCliWH()[1])
		);
}

function getCliWH()
{
	if (self.innerHeight)
		return new Array(self.innerWidth, self.innerHeight);
	else if (document.documentElement && document.documentElement.clientHeight)
		return new Array(document.documentElement.clientWidth, document.documentElement.clientHeight);
	else
		return new Array(document.body.clientWidth, document.body.clientHeight);
}

function getY()
{
	if (self.pageYOffset)
		return self.pageYOffset;
	else if (document.documentElement && document.documentElement.scrollTop)
		return document.documentElement.scrollTop;
	else
		return document.body.scrollTop;
}

var img = new Image();
var timer = null;
var nowLoaded = null;
var galID = -1;

function loadImg(url)
{
	nowLoaded = null;
	document.getElementById('dest').style.display = 'none';
	document.getElementById('load').style.display = 'block';
	img.src = url;
	timer = setInterval(checkLoad, 500);
}

function checkLoad()
{
	if (img.complete)
	{
		nowLoaded = img.src;
		document.getElementById('dest').src = img.src;
		clearInterval(timer);
		document.getElementById('load').style.display = 'none';
		document.getElementById('dest').style.display = 'block';
		resizeBkg();
	}
}

function fixIE6(arg0)
{
	var selects = document.getElementsByTagName('select');
	for (s in selects)
	{
		try {
		selects[s].style.visibility = arg0;
		} catch (e) {}
	}
	var selects = document.getElementsByTagName('object');
	for (s in selects)
	{
		try {
		selects[s].style.visibility = arg0;
		} catch (e) {}
	}
}

function loadPrevNext(next)
{
	if (nowLoaded!=null&&galID>=0)
	{
		var now = baseName(nowLoaded);
		var path = getPath(nowLoaded);
		var index = -1;
		for (f in files[galID])
		{
			if (files[galID][f]==now)
			{
				index = f;
				break;
			}
		}
		if (index==-1)
		{
			try {
				var x = files[galID][0];
				loadImg(path+x);
			} catch (e) {}
		}
		else
		{
			if (next) index++;
			else index--;
			
			if (index>=0&&index<files[galID].length)
				loadImg(path+files[galID][index]);
		}
	}
}

function baseName(url)
{
	url = url.split('/');
	return url[url.length-1];
}

function getPath(url)
{
	url = url.split('/');
	url.pop();
	return url.join('/')+"/";
}

onresize = resizeBkg;
var files = new Array();
