var _isOne = false;

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';
	
	var imgzInfo = document.createElement('div');
	imgzInfo.style.color = '#FFFFFF';
	imgzInfo.innerHTML = "lalallala";
	
	body.appendChild(imgz);
	imgz.appendChild(imgzInfo);
	
	fixIE6('hidden');
	
	var text = '<div style="color: #FFFFFF;" align="center"><p>';
	text += '<a class="iv_prev_link" href="javascript:loadPrevNext(false)" style="color: #FFFFFF;"><span class="iv_prev_arrow">&laquo;</span>&nbsp;<span  class="iv_prev_text">' + ivTextPrevious + '</span></a>';
	text += '&nbsp;|&nbsp;';
	text += '<a class="iv_close_link" class="close_link" href="javascript:hideGallery()" style="color: #FFFFFF;">' + ivTextClose + '</a>';
	text += '&nbsp;|&nbsp;';
	text += '<a class="iv_next_link" href="javascript:loadPrevNext(true)" style="color: #FFFFFF;"><span class="iv_next_text">' + ivTextNext + '</span>&nbsp<span class="iv_next_arrow">&raquo;</span></a>';
	text += '</p>';
	text += '<img class="iv_image_loading" src="/templates/loading.gif" id="load" style="filter: alpha(opacity=100); opacity: 1; display: none;" />';
	text += '<div id="dest" style="border: 10px solid #FFFFFF;" onmouseover="if (_isOne){document.getElementById(\'info\').style.display = \'\';}" onmouseout="document.getElementById(\'info\').style.display = \'none\';">'
	text += '<div class="iv_info" align="left" id="info" style="padding: 4px; color: #ffffff; background-color: #aaaaaa; opacity: 0.8;">'
	
	text += '<span class="iv_title" id="infoTitle"><strong>' + ivTextTitle + ':</strong> <span id="infoTitleContent"></span> <br /></span>'
	text += '<span class="iv_author" id="infoAuthor"><strong>' + ivTextAuthor + ':</strong> <span id="infoAuthorContent"></span> <br /></span>'
	text += '<span class="iv_desc" id="infoDesc"><strong>' + ivTextDescription + ':</strong> <span id="infoDescContent"></span> <br /></span>'
	
	text += '</div>';
	text += '</div>'; // id="dest"
	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 [document.documentElement.scrollWidth, document.documentElement.scrollHeight];
	else
		return [
		  (body.offsetWidth+(window.scrollMaxX?window.scrollMaxX: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 = null;
var timer = null;
var nowLoaded = null;
var galID = -1;

function loadImg(url)
{
	nowLoaded = null;
	document.getElementById('dest').style.display = 'none';
  document.getElementById('dest').className = 'iv_image';
	document.getElementById('load').style.display = 'block';
	img = new Image(); 
	img.src = url;
	
	timer = setInterval(function() {
		try
		{
			if (img.complete)
			{
				clearInterval(timer);
				checkLoad();
			}
		}
		catch (exc) {}
	}, 10);
	
//	img.onload = function()
//	{
//		checkLoad();
//	}
	
}

function checkLoad()
{
	//try {
	
	nowLoaded = img.src;
	var imgDest = document.getElementById('dest');
	
	imgDest.style.backgroundImage = 'url(' + img.src + ')';
	imgDest.style.width = img.width + 'px';
	imgDest.style.height = img.height + 'px';
	
	var now = baseName(nowLoaded);
	var index = -1;
	for (f in files[galID])
	{
		if (files[galID][f]==now)
		{
			index = f;
			break;
		}
	}

	var isOne = false;
	
	if (titles[galID][index] != undefined && titles[galID][index] != '')
	{
		document.getElementById('infoTitleContent').innerHTML = titles[galID][index];
		isOne = true;
	}
	else
		document.getElementById('infoTitle').style.display = 'none';
	
	if (authors[galID][index] != undefined && authors[galID][index] != '')
	{
		document.getElementById('infoAuthorContent').innerHTML = authors[galID][index];
		isOne = true;
	}
	else
		document.getElementById('infoAuthor').style.display = 'none';
	
	if (descs[galID][index] != undefined && descs[galID][index] != '')
	{
		document.getElementById('infoDescContent').innerHTML = descs[galID][index];
		isOne = true;
	}
	else
		document.getElementById('infoDesc').style.display = 'none';
	
	_isOne = isOne;
	if (isOne == false)
		document.getElementById('info').style.display = 'none';
	
	document.getElementById('load').style.display = 'none';
	imgDest.style.display = 'block';
	resizeBkg();
	
	//} catch (exc) { alert(exc); }
}

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;
//if (files === undefined)
//  var files = new Array();
//if (titles === undefined)
//  var titles = new Array();
//if (authors === undefined)
//  var authors = new Array();
//if (descs === undefined)
//  var descs = new Array();

//onload = function() {
//	try
//	{
//		document.getElementById('db_debug').innerHTML = 'files istnieje';
//	}
//	catch (exc) {}
//}

if (typeof(files) == "undefined")
	files = new Array();
if (typeof(titles) == "undefined")
	titles = new Array();
if (typeof(authors) == "undefined")
	authors = new Array();
if (typeof(descs) == "undefined")
	descs = new Array();

