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.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/e/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() { GL_HideImage(); }

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>Следующая</span>' : '<a href="'+location.pathname
  +'/page-'+(p+1)+'" onclick="pb_c++; return PB_ShowPage(pb_c);">Следующая</a>';
 document.getElementById('pb_prev').innerHTML = (p == 1) ? '<span>Предыдущая</span>' : '<a href="'+location.pathname
  +'/page-'+(p-1)+'" onclick="pb_c--; return PB_ShowPage(pb_c);">Предыдущая</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;
}
