var bordercolor = 'white';
// перехватчик загрузки страницы
if(window.addEventListener) window.addEventListener('load',imgInit,false);
else if(window.attachEvent) window.attachEvent('onload',imgInit); 

// инициализация
function imgInit()
{  document.getElementsByTagName('body')[0].innerHTML += '<div id="img_fog" style="z-index: 1000000; position: fixed; width: 100%; height: 100%; top: 0px; left: 0px; //position: absolute; top: expression(eval(document.body.scrollTop) + \'px\'); width: expression(eval(document.body.scrollLeft + document.body.clientWidth) + \'px\'); background-color: black; opacity: 0.7; filter: alpha(opacity=70); display: none;"></div><div id="img_lsh" style="z-index: 1000001; position: fixed; top: 50%; left: 50%; //position: absolute; top: expression(eval(document.body.scrollTop + (document.body.offsetHeight/2) - 15) + \'px\'); left: expression(eval(document.body.scrollLeft + (document.body.offsetWidth/2) - 72) + \'px\'); margin: -15px 0px 0px -62px; //margin: 0; width: 130px; height: 36px; background-color: black; opacity: 0.3; filter: alpha(opacity=30); display: none;"></div><div id="img_ldr" style="z-index: 1000002; position: fixed; top: 50%; left: 50%; //position: absolute; top: expression(eval(document.body.scrollTop + (document.body.offsetHeight/2) - 18) + \'px\'); left: expression(eval(document.body.scrollLeft + (document.body.offsetWidth/2) - 75) + \'px\'); margin: -18px 0px 0px -65px; //margin: 0; width: 130px; height: 36px; cursor: default; text-align: center; background-color: white; font: normal 13px Verdana; display: none;"><div style="margin: 10px 0px 0px 0px;"><img width=13 height=13 alt="" style="margin-right: 10px; position: relative; top: 2px;" src="data:image/gif;base64,R0lGODlhDQANAOZlANXV1bW1tZWVlXZ2disrK1VVVf39/fn5+eHh4fv7+/Dw8Nra2unp6ezs7Ofn5/j4+PT09KmpqZOTk9bW1rm5uZqamsnJybi4uHt7e1xcXPPz8+/v78vLy9/f3zMzM/z8/JiYmPb29urq6sfHx/r6+uvr6+3t7Z+fn6GhobOzs4iIiLy8vLCwsK+vr/X19ff392BgYICAgK6urujo6FtbW8HBwZubm8TExLu7uzAwMLq6up2dnc3Nzaurq8XFxbKysmRkZNPT09fX14GBga2trVpaWoKCgu7u7mdnZ5aWlsLCwuDg4PHx8T4+PoqKitzc3MbGxqCgoObm5t3d3eTk5PLy8rS0tOPj43x8fIaGhtTU1L+/v9DQ0L6+vnl5edvb29nZ2WpqasrKyre3t9HR0f///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQJCgBlACwAAAAADQANAAAHRIBlgoMEg4ZlEYSHgxmJZYWLZQ6Nj5GCDjGWmoYDnQOboIY8MoMdDIciKUIfAWUHE6eDJxyCra4TBoM+LrWDBwmRtoaBACH5BAkKAGUALAAAAAANAA0AAAdHgGWCgwWDB4NlFISDEQaDGIplhWVkYTODDZCSJEk5KhuIDSCDQygaiKipAqsCqa6viE9QsGUKYlcGAK8rX4K6rhMPvrTDqIEAIfkECQoAZQAsAAAAAA0ADQAAB0WAZYKDA4Mkg2UWhIM6BoMVimWFZQsqJoMKkJIJPUVRGogKLI9WIYinqAGqAacErgSosYMlHbKCL0sbtmVgIrtlMwm/v4EAIfkECQoAZQAsAAAAAA0ADQAAB0aAZYKDAoMJg2ULhIMjiBeKZYVlCCcKgxCPkR84Xj8uiBCNgjJKD4inqACqAKcFrgWosbIwErKDCB61tpMeGruTDL9lH2WBACH5BAkKAGUALAAAAAANAA0AAAdGgGWCgwGDBoNlDISDWogTimWFiQEagwePkQYcIDcPiAcdgzVcB4imp6iCA6sDqa6IMRGpCQRlDhmyqLW2GSG6gw4mv4ZlgQAh+QQJCgBlACwAAAAADQANAAAHSoBlgoMAgwaDiGWFggiJhIIbHC+OigYLYwAHlIJBHQmboJQCowKhjjY0gyAUiQBILQ8FZQ0YrINNIIKysxgPg04luoMNTJS7goeBACH5BAkKAGUALAAAAAANAA0AAAdGgGWCg4SFhoJHh4QhCCSKZSIADh+PUg0Gj4YEmwSFAZ8BmYYtWIMsFoVTWVsHA2UKFaiDQESCrq8VB4MoG7aDChCHt4KYgQAh+QQFCgBlACwAAAAADQANAAAHQIBlgoOEhRKFiGUeh4mDCIuNjjCRlIIFlwWFAJsAlYVdAoMjC4VUOxwJoRAXpINGK4KhZasJgylVsYMQD4myhIEAOw==">Загрузка&hellip;</div></div><div id="img_shd" style="z-index: 1000003; position: fixed; top: 50%; left: 50%; //position: absolute; top: expression(eval(document.body.scrollTop + (document.body.offsetHeight/2) - 3/*-10*/) + \'px\'); left: expression(eval(document.body.scrollLeft + (document.body.offsetWidth/2) - 10) + \'px\'); background-color: black; opacity: 0.3; filter: alpha(opacity=30); display: none;"><div style="display: none;"></div><div style="display: none;"></div><div style="display: none;"></div><div style="display: none;"></div></div><div id="img_div" style="z-index: 1000004; position: fixed; top: 50%; left: 50%; //position: absolute; top: expression(eval(document.body.scrollTop + (document.body.offsetHeight/2) - 3/*-10*/) + \'px\'); left: expression(eval(document.body.scrollLeft + (document.body.offsetWidth/2) - 10) + \'px\'); visibility: hidden; overflow: hidden;"></div><div id=img_larr style="z-index: 1000004; display: none; font-size: 13px; color: #aaa; cursor: pointer; position: fixed; top: 50%; left: 10px; //position: absolute; top: expression(eval(document.body.scrollTop + (document.body.offsetHeight/2)) + \'px\');" title="Назад (стрелка влево)" onmouseover="this.style.color=\'white\';" onmouseout="this.style.color=\'#aaa\';" onclick="prevImage(false,true);">&#9668;</div><div id=img_rarr style="z-index: 1000004; display: none; font-size: 13px; color: #aaa; cursor: pointer; position: fixed; top: 50%; left: 100%; margin-left: -22px; //position: absolute; top: expression(eval(document.body.scrollTop + (document.body.offsetHeight/2)) + \'px\');" title="Вперед (стрелка вправо)" onmouseover="this.style.color=\'white\';" onmouseout="this.style.color=\'#aaa\';" onclick="nextImage(false,true);">&#9658;</div><div id=img_close style="z-index: 1000004; display: none; font: 20px Arial; color: #aaa; cursor: pointer; position: fixed; top: 5px; left: 100%; margin-left: -22px; //position: absolute; top: expression(eval(document.body.scrollTop + 5) + \'px\');" title="Закрыть (Esc)" onmouseover="this.style.color=\'white\';" onmouseout="this.style.color=\'#aaa\';" onclick="closeImage(false);">&times;</div>';
  return false;
}

// синтаксис - либо только файл, либо текст, а потом один или много файлов
function openImage()
{  if(document.addEventListener) document.addEventListener('keyup',hotEscape,false);
  else if(document.attachEvent) document.attachEvent('onkeyup',hotEscape); 
  var filename = arguments.length > 1 ? arguments[1] : arguments[0];
  var caption = arguments.length > 1 ? arguments[0] : false;
  var images = arguments.length > 2 ? ',' : false;
  var order = new Array;
  if(images) { for(var i=1; i<arguments.length; i++) { images += ("'"+arguments[i]+"',"); order[i-1] = arguments[i]; } images = images.substr(0,images.length-1); }
  if(document.getElementById('img_shd').getElementsByTagName('div')[1].innerHTML == '') document.getElementById('img_shd').getElementsByTagName('div')[1].innerHTML = order.join('|');
  var sequence = document.getElementById('img_shd').getElementsByTagName('div')[1].innerHTML.split('|');
  document.getElementById('img_fog').style.display = 'block';
  document.getElementById('img_lsh').style.display = 'block';
  document.getElementById('img_ldr').style.display = 'block';
  document.getElementById('img_div').innerHTML = '<img src="'+filename+'" title="'+(arguments.length > 2 && sequence[sequence.length-1] != filename ? 'Вперед (стрелка вправо)' : 'Закрыть (Esc)')+'" style="background-color: white; cursor: pointer; border: 10px solid '+bordercolor+'; visibility: hidden;" onclick="'+(arguments.length > 2 && sequence[sequence.length-1] != filename ? "nextImage(false,true);" : "closeImage(false);")+'" onload="imageLoaded('+(caption ? "'" + caption + "'" + (images?images:'') : '')+');">';
  window.setTimeout('checkTimeout()',20000);
  return false;
}

// ошибка
function checkTimeout()
{  if(document.getElementById('img_ldr').style.display == 'block')
  {    alert('Не удается загрузить "'+document.getElementById('img_div').getElementsByTagName('img')[0].src.replace(/^.*[\/\\]/g, '').split('%27').join("'")+'".')  
    closeImage(false);
  }
  return false;
}

// не ошибка
function imageLoaded()
{
  document.getElementById('img_ldr').style.display = 'none';
  document.getElementById('img_lsh').style.display = 'none';
  var fog = document.getElementById('img_fog');
  var shd = document.getElementById('img_shd');
  var div = document.getElementById('img_div');
  var img = div.getElementsByTagName('img')[0];
  var imgWidth = img.width;
  var imgHeight = img.height;
  var origWidth = imgWidth;
  var origHeight = imgHeight;
  var brwWidth = window.innerWidth ? window.innerWidth : (document.documentElement.clientWidth ? document.documentElement.clientWidth : document.body.offsetWidth);
  var brwHeight = window.innerHeight ? window.innerHeight : (document.documentElement.clientHeight ? document.documentElement.clientHeight : document.body.offsetHeight);
  var zoom = 100;
  if(imgWidth+100 > brwWidth || imgHeight+40 > brwHeight)
  {
    if(imgWidth/imgHeight > brwWidth/brwHeight)
    {
      var tempWidth = brwWidth-100;
      var tempHeight = tempWidth*imgHeight/imgWidth;
      zoom = Math.round(tempWidth*100/imgWidth);
      imgWidth = tempWidth;
      imgHeight = tempHeight;
    }
    else
    {
      var tempHeight = brwHeight-50;
      var tempWidth = tempHeight*imgWidth/imgHeight;
      zoom = Math.round(tempWidth*100/imgWidth);
      imgWidth = tempWidth;
      imgHeight = tempHeight;
    }
  }
  shd.style.width = imgWidth + 20 + 'px';
  shd.style.height = imgHeight + 20 + 'px';
  shd.style.marginTop = '-' + (imgHeight/2+7) + 'px';
  shd.style.marginLeft = '-' + (imgWidth/2+7) + 'px';
  div.style.width = imgWidth;
  div.style.height = imgHeight;
  img.width = imgWidth;
  img.height = imgHeight;
  img.style.width = imgWidth + 'px';
  img.style.height = imgHeight + 'px';
  div.style.marginTop = '-' + (imgHeight/2+10) + 'px';
  div.style.marginLeft = '-' + (imgWidth/2+10) + 'px';

  // сохраняем заголовок окна
  if(shd.getElementsByTagName('div')[0].innerHTML=='') shd.getElementsByTagName('div')[0].innerHTML = document.title;
  
  // бейснейм
  var basename = img.src.replace(/^.*[\/\\]/g,'');
  
  // порядковый номер картинки
  var num = 0;
  var temp = shd.getElementsByTagName('div')[1].innerHTML.split('|');
  for(var i=0; i<temp.length; i++) { if(basename == temp[i].replace(/^.*[\/\\]/g,'')) num = i+1; }

  // инфострока
  var info = arguments.length > 2 ? '[' + num + '/' + (arguments.length-1) + '] ' : '';
  info += basename.split('%27').join("'") + ' (';
  var ext = img.src.substr(img.src.length-3).toLowerCase();
  if(ext=='gif') info += 'GIF, ';
  else if(ext=='jpg') info += 'JPEG, ';
  else if(ext=='png') info += 'PNG, ';
  info += origWidth + String.fromCharCode(215) + ' ' + origHeight + ((img.fileSize == undefined || img.fileSize <= 512 ) ? '' : ', ' + (img.fileSize >= 1048576 ? Math.round(img.fileSize/1048576) + ' МБ' : Math.round(img.fileSize/1024) + ' КБ')) + ', масштаб ' + zoom + '%)';
  window.status = info;

  // пускаем горячие стрелки
  if(num > 1 && document.addEventListener) document.addEventListener('keyup',prevImage,false);
  else if(num > 1 && document.attachEvent) document.attachEvent('onkeyup',prevImage);
  if(num < arguments.length-1 && document.addEventListener) document.addEventListener('keyup',nextImage,false);
  else if(num < arguments.length-1 && document.attachEvent) document.attachEvent('onkeyup',nextImage);  

  // если одиночная картинка
  if(arguments.length == 0) document.title = basename;
  
  // если серия
  else
  {
    document.title = shd.getElementsByTagName('div')[2].innerHTML = arguments[0];
    if(arguments.length>2)
    {
      shd.getElementsByTagName('div')[3].innerHTML = '';
      for(var i=1; i<arguments.length; i++) shd.getElementsByTagName('div')[3].innerHTML += arguments[i] + (i==arguments.length-1?'':"','");
      shd.getElementsByTagName('div')[3].innerHTML = "'" + shd.getElementsByTagName('div')[3].innerHTML + "'";
    }
  }

  // кажем
  if(num > 1) document.getElementById('img_larr').style.display = 'inline';
  if(num < arguments.length-1) document.getElementById('img_rarr').style.display = 'inline';
  document.getElementById('img_close').style.display = 'inline';
  shd.style.display = 'block';
  div.style.overflow = 'visible';
  div.style.visibility = 'visible';
  img.style.visibility = 'visible';

  return false;
}

function hotEscape(evt)
{  var keyCode = evt.which || event.keyCode;
  if(keyCode != 27) return false;
  if(evt.preventDefault) evt.preventDefault(); evt.returnValue = false;
  if(document.removeEventListener) document.removeEventListener('keyup',hotEscape,false);
  else if(document.detachEvent) document.detachEvent('onkeyup',hotEscape);
  closeImage(false);
  return false;
}

function prevImage(evt,override)
{  // проверка
  if(!override)
  {
    var keyCode = evt.which || event.keyCode;
    if(keyCode != 37) return false;
    if(evt.preventDefault) evt.preventDefault(); evt.returnValue = false;
  }
  
  // скрываем все, кроме "тумана войны"
  document.getElementById('img_div').innerHTML = '';
  document.getElementById('img_shd').style.display = 'none';
  document.getElementById('img_ldr').style.display = 'none';
  document.getElementById('img_lsh').style.display = 'none';  

  // создаем массив из строки 
  var images = document.getElementById('img_shd').getElementsByTagName('div')[3].innerHTML.split("','");
   
  // убираем везде кавычки и перемещаем его первый элемент в конец
  images[0] = images[0].substr(1);
  images[images.length-1] = images[images.length-1].substr(0,images[images.length-1].length-1);
  
  // крутим
  var res = new Array;
  res[0] = images[images.length-1];
  images.splice(images.length-1,images.length);
  for(var i=0; i<images.length; i++) res[i+1] = images[i];
  images = res;   
      
  // пакуем обратно в строку
  document.getElementById('img_shd').getElementsByTagName('div')[3].innerHTML = "'" + images.join("','") + "'";

  // меняем картинку
  closeImage(true);
  eval("openImage(document.getElementById('img_shd').getElementsByTagName('div')[2].innerHTML,"+document.getElementById('img_shd').getElementsByTagName('div')[3].innerHTML+");");

  return false;}

function nextImage(evt,override)
{  // проверка
  if(!override)
  {    var keyCode = evt.which || event.keyCode;
    if(keyCode != 39) return false;
    if(evt.preventDefault) evt.preventDefault(); evt.returnValue = false;
  }
  
  // скрываем все, кроме "тумана войны"
  document.getElementById('img_div').innerHTML = '';
  document.getElementById('img_shd').style.display = 'none';
  document.getElementById('img_ldr').style.display = 'none';
  document.getElementById('img_lsh').style.display = 'none';  

  // создаем массив из строки 
  var images = document.getElementById('img_shd').getElementsByTagName('div')[3].innerHTML.split("','");
   
  // убираем везде кавычки и перемещаем его первый элемент в конец
  images[0] = images[0].substr(1);
  images[images.length-1] = images[images.length-1].substr(0,images[images.length-1].length-1);
  
  // крутим
  images[images.length] = images[0];
  images.splice(0,1);  
      
  // пакуем обратно в строку
  document.getElementById('img_shd').getElementsByTagName('div')[3].innerHTML = "'" + images.join("','") + "'";

  // меняем картинку
  closeImage(true);
  eval("openImage(document.getElementById('img_shd').getElementsByTagName('div')[2].innerHTML,"+document.getElementById('img_shd').getElementsByTagName('div')[3].innerHTML+");");

  return false;
}

function closeImage(next)
{  document.getElementById('img_div').innerHTML = '';
  document.getElementById('img_div').style.overflow = 'hidden';
  if(!next)
  {    document.getElementById('img_fog').style.display = 'none';
    document.title = document.getElementById('img_shd').getElementsByTagName('div')[0].innerHTML;
    document.getElementById('img_shd').getElementsByTagName('div')[1].innerHTML = '';
    document.getElementById('img_close').style.display = 'none';
  }
  document.getElementById('img_shd').style.display = 'none';
  document.getElementById('img_ldr').style.display = 'none';
  document.getElementById('img_lsh').style.display = 'none';
  document.getElementById('img_larr').style.display = 'none';
  document.getElementById('img_rarr').style.display = 'none';
  if(document.removeEventListener) { document.removeEventListener('keyup',hotEscape,false); document.removeEventListener('keyup',prevImage,false); document.removeEventListener('keyup',nextImage,false); }
  else if(document.detachEvent) { document.detachEvent('onkeyup',hotEscape); document.detachEvent('onkeyup',prevImage); document.detachEvent('onkeyup',nextImage); } 
  window.status = '';
  return false;
}

