if (typeof(gl_fw) == 'undefined') var gl_fw = 'auto';
if (typeof(gl_ew) == 'undefined') var gl_ew = 'auto';
if (typeof(gl_vt) == 'undefined') var gl_vt = 'auto';
if (typeof(gl_vh) == 'undefined') var gl_vh = 'auto';
if (typeof(gl_ob) == 'undefined') var gl_ob = 0;
if (typeof(gl_pm) == 'undefined') var gl_pm = 0;
if (typeof(gl_es) == 'undefined') var gl_es = true;
if (typeof(gl_ef) == 'undefined') var gl_ef = true;
if (typeof(gl_tc) == 'undefined') var gl_tc = 'alpha';
if (typeof(gl_si) == 'undefined') var gl_si = 'GL_ShowImage';
if (typeof(gl_hi) == 'undefined') var gl_hi = 'GL_HideImage';



var pb_t = Math.ceil(gl_c/gl_l);
var gl_s = new Array();
var gl_id = 1;
var gl_im = false;



GL_LoadList = function(json)
{
	var jx = jsonParse(json);
	gl_s = jx.img;
}



sendRequest('./json/gallery?r='+gl_r, GL_LoadList);



document.onkeydown = GL_CatchKeyPress;

function GL_CatchKeyPress(event)
{
	if (!document.getElementById) return;
	if (window.event) event = window.event;

	var keyCode = event.keyCode ? event.keyCode : event.which ? event.which : null;

	if (keyCode == 0x1B) eval(gl_hi+'()');

	if (event.ctrlKey)
	{
		switch (keyCode)
		{
			case 0x25:
			if (gl_im) GL_LoadImage(-1);
			else eval(gl_si+'(gl_id)');
			break;

			case 0x27:
			if (gl_im) GL_LoadImage(1);
			else eval(gl_si+'(gl_id)');
			break;

			case 0x26:
			eval(gl_hi+'()');
			break;

			case 0x28:
			var fa = gl_d+gl_b+'/'+gl_s[gl_id][0];
			location = '/attach'+fa.substr(4);
			break;
		}
	}
}



function GL_SwitchVHC(zcc, s)
{
	document.getElementById(zcc).className = zcc+(s ? '' : ' '+gl_tc);
}



function GL_ShowImage(id, w, h, t)
{
	var fw = (gl_fw == 'auto') ? document.documentElement.clientWidth : gl_fw;
	var ew = (gl_ew == 'auto') ? fw : gl_ew;
	var vt = (gl_vt == 'auto') ? document.documentElement.scrollTop : gl_vt;
	var vh = (gl_vh == 'auto') ? document.documentElement.clientHeight : gl_vh;

	var gl_sm = typeof(w) != 'undefined';

	if (gl_sm)
	{
		var z = id;
	}
	else if (typeof(gl_s[id]) != 'undefined')
	{
		var f = gl_s[id][0];
		var t = gl_s[id][1];
		var w = parseInt(gl_s[id][2]);
		var h = parseInt(gl_s[id][3]);
		var z = gl_d+gl_b+'/'+f;
	}
	else return false;

	var x = Math.round((fw-w)/2)-gl_pm;

	var y = vt+Math.round((vh-h)/2)-gl_pm;
	var oy = document.documentElement.scrollHeight-(y+parseInt(h)+gl_pm*2+gl_ob);
	if (oy < 0) y += oy;

	gl_id = id;

	document.getElementById('gl_viwi_img').innerHTML = '<img src="'+z+'" width="'+w+'" height="'+h+'" alt="'+t+'" title="'+t+'" />';

	document.getElementById('gl_viwi').style.width = w+'px';
	document.getElementById('gl_viwi').style.height = h+'px';
	document.getElementById('gl_viwi').style.left = x+'px';
	document.getElementById('gl_viwi').style.top = y+'px';

	var pnw = Math.round(w/3);

	if (gl_sm)
	{
		document.getElementById('gl_viwi_close').style.background = 'url(share/ext/gallery/images/alpha.png) no-repeat';
		document.getElementById('gl_viwi_close').style.width = w+'px';
		document.getElementById('gl_viwi_close').style.height = h+'px';
		document.getElementById('gl_viwi_close').href = z;
	}
	else
	{
		document.getElementById('gl_viwi_prev').style.width = pnw+'px';
		document.getElementById('gl_viwi_next').style.width = pnw+'px';
		document.getElementById('gl_viwi_close').style.width = (w-pnw*2)+'px';

		document.getElementById('gl_viwi_prev').style.height = h+'px';
		document.getElementById('gl_viwi_next').style.height = h+'px';
		document.getElementById('gl_viwi_close').style.height = h+'px';

		document.getElementById('gl_viwi_prev').href = z;
		document.getElementById('gl_viwi_next').href = z;
		document.getElementById('gl_viwi_close').href = z;
	}

	if (gl_ef) showFader(ew, gl_ob);
	if (gl_es) showShadow(x, y, (w+gl_pm*2), (h+gl_pm*2));

	document.getElementById('gl_viwi').style.display = '';
	gl_im = true;

	return false;
}



function GL_HideImage()
{
	if (typeof(viwi_data) != 'undefined') document.getElementById('gl_viwi').innerHTML = viwi_data;

	hideFader();
	hideShadow();

	document.getElementById('gl_viwi').style.display = 'none';
	gl_im = false;

	return false;
}



function onFaderClick() { eval(gl_hi+'()'); }



function GL_LoadImage(o)
{
	document.getElementById('gl_viwi_prev').blur();
	document.getElementById('gl_viwi_next').blur();

	var i = gl_id+o;

	if (i == 0) i = gl_c;
	if (i == (gl_c+1)) i = 1;

	eval(gl_si+'(i)');

	return false;
}



function PB_ShowPage(p)
{
	pb_c = p;

	var s = (p-1)*gl_l+1;
	var e = p*gl_l;
	if (e > gl_c) e = gl_c;
	var b = '\n';

	for (var i=s; i<=e; i++)
	{
		var l = '.'+gl_b+'/'+gl_s[i][0];
		if (gl_e) l = l.substr(0, l.lastIndexOf('.'));

// ! <<'+(gl_s[i][4] ? '<div>'+gl_s[i][4]+'</div>' : '')+'>>

		b += '\t<a href="'+l+'" onclick="return '+gl_si+'('+i+');"><img src="'+gl_d+gl_b+'/'+gl_t+'/'+gl_s[i][0]
			+'" width="'+gl_w+'" height="'+gl_h+'" alt="'+gl_s[i][1]+'" title="'+gl_s[i][1]+'" /></a>\n';
	}

	document.getElementById('gl_thumbs').innerHTML = b;
	document.getElementById('pb_next').innerHTML = (p == pb_t) ? '<span>'+lc_next+'</span>' : '<a href="'+location.pathname
		+'/page-'+(p+1)+'" onclick="pb_c++; return PB_ShowPage(pb_c);">'+lc_next+'</a>';
	document.getElementById('pb_prev').innerHTML = (p == 1) ? '<span>'+lc_prev+'</span>' : '<a href="'+location.pathname
		+'/page-'+(p-1)+'" onclick="pb_c--; return PB_ShowPage(pb_c);">'+lc_prev+'</a>';

	var b = '\n';
	for (var i=1; i<=pb_t; i++) b += (p == i) ? '<span class="b">'+i+'</span>\n' : '<a href="'+location.pathname
		+'/page-'+i+'" onclick="return PB_ShowPage('+i+');">'+i+'</a>\n';
	document.getElementById('pb_pages').innerHTML = b;

	return false;
}
