
// Begin User Configurable Variables:

var imgsPerPg = 6; // number of img elements in the html
var imgsMax = 5;  // total number of images
var slideTimeout = 5; // seconds before loading the next slide

var gPath = '/upa/photo/';  // gallery files (thumbnails) path, include trailing slash
var gPrefix = 'content_';
var gSuffix = 'tn';
var gExt = '.jpg';
var gZeros = true; // filename uses leading zeros?
var gDigits = 4    // total digits in filename, including leading zeros

var sPath = gPath; // slideshow files (big imgs) path, include trailing slash
var sPrefix = gPrefix;
var sSuffix = '';
var sExt = '.jpg';
var sZeros = true; // filename uses leading zeros?                     
var sDigits = 4    // total digits in filename, including leading zeros

var captions = new Array();
// There must be (imgsMax + 1) captions.
// captions[0] is currently not used.
captions[0] = "not used";
captions[1] = "<h2>Десь там далеко, на Волині...</h2><p>Перші загони під назвою УПА—Поліська Січ створив з вибухом Другої Світової війни отаман Тарас Бульба-Боровець. Ці загони діяли незалежно від німців проти решток розбитих радянських військ. Із кінцем 1941 року німці змусили Бульбу ліквідувати УПА—Поліську Січ, після чого він перейшов у підпілля з частиною своїх — і створив нову повстанську формацію для боротьби проти німців і радянських партизанів, спершу під подібною ж назвою, а згодом як Українська Національно Революційна Армія (УНРА).</p>";
captions[2] = "<h2>Зародження УПА</h2><p>З осінню 1942 року почали паралельно створюватися збройні загони ОУН на Поліссі й Волині, очолені Степаном Бандерoю, що й також прийняли назву УПА. Ці загони 18 серпня 1943 роззброїли УПА—Поліська Січ Тараса Бульби: деякі члени останньої увійшли до нової УПА, яка, спираючися на мережу ОУН на північно-західних українських землях, набирала розмаху. Першим командиром УПА став Клячківський (псевдонім Клим Савур), а шефом штабу — полковник УНР Леонід Ступницький (Гончаренко), начальником оперативного відділу став полковник УНР М. Омелюсік. Місцем постою командування УПА стала Костопільщина.</p>";
captions[3] = "<h2>Діяльність повстанців</h2><p>УПА постала на Поліссі й Волині передусім як і для оборони населення перед німецьким терором, так і для оборони перед радянськими партизанами, які взимку 1942—43 наступали з білоруських лісів, грабували населення — та своїми акціями провокували ще сильніші німецькі репресії. Творці УПА розглядали її як можливий зародок регулярної української армії. Безперечно, силою УПА було те, що спиралася на розгалужену мережу Організації Укрaїнськиx Націоналістів, яка користувалася підтримкою населення.</p>";
captions[4] = "<h2>В боротьбі за самостійність</h2><p>З її ініціативи створено Укрaїнську Головну Визвольну Раду (УГВР) як верховний політичній центр, якому підпорядкувалася УПА. Силою УПА являлася також і політична платформа: вона включала гасло самостійності України та боротьбу за основні громадські права, за демократію, за рівні права меншин і за співпрацю з іншими поневоленими народами проти нацизму і більшовизму.</p>";
captions[5] = "<h2>Проти німців і совєтів</h2><p>Перші загони УПА почали створюватися в Галичині в червні 1943 в Карпатах під назвою Української народної самооборони. Головне командування УПА розглядало ці терени як базу для боротьби не тільки в умовах німецької окупації, але й на час повернення більшовиків. Крім того, з уваги на посилений натоді німецький терор проти населення Галичини: впровадження виняткового стану в жовтні 1943, наглі суди, розстріли і вішання закладників, посилені вивози до Німеччини — УПА виступила проти німців, зокрема проти здачі континґентів, вивозу молоді до Німеччини, та одночасно вела бої з радянськими партизанами.</p>";

// End User Configurable Variables

window.onload = function()
{
  xImgGallery();
};

/* Development Notes and Script Assumptions:

1) Optional URL arguments: g = 'gallery first num', s = 'slideshow img num'.
   For example:
   img_gallery_2.php?g=21
   img_gallery_2.php?s=30

2) IMG IDs begin with 'g' (for gallery) or 's' (for slideshow)
   then are numbered sequentially beginning with 1. No leading zeros.

3) Gallery (thumbnail) image pathnames: gPath + gPrefix + seq_num + gSuffix + gExt
   SlideShow (large image) pathnames:   sPath + sPrefix + seq_num + sSuffix + sExt
   Leading zeros (as part of seq_num) are optional.

4) The captions array initializations could be generated server-side.

5) This file does not have to be a PHP file - I use it here for my page-template, not for this demo.
*/

/* xImgGallery, Copyright (C) 2004,2005 Michael Foster (Cross-Browser.com)
   Distributed under the terms of the GNU LGPL.
*/

// don't change these:
var galMode = false;
var autoSlide = false;
var slideTimer = null;
var slideCounter = 0;
var currentSlide = 1;

function xImgGallery()
{
  if (document.getElementById && document.getElementById('navigation').style) {
    var n = 1, a = xGetURLArguments();
    if (a.length) {
      var arg = a['g'] || a['s'];
      if (arg) {
        n = parseInt(arg, 10);
        if (n <= 0 || n > imgsMax) { n = 1; } 
        if (a['s']) { galMode = false; }
      }
    }
	var randomnumber=Math.floor(Math.random()*imgsMax)+1;
    gal_paint(randomnumber);
    document.getElementById('time').style.display = 'none';
  }
}
function gal_paint(n)
{
  gal_setImgs(n);
  gal_setNav(n);
  document.getElementById("order").innerHTML = n+"/"+(captions.length-1);
}
function gal_setImgs(n)
{
  var ssEle = document.getElementById('slideshow');
  var galEle = document.getElementById('gallery');
  var i, imgTitle, pth, img, id, src, ipp, idPrefix, imgSuffix, imgPrefix;
  var zeros, digits, capEle, capPar;
  if (galMode) {
    ipp = imgsPerPg;
    idPrefix = 'g';
    imgPrefix = gPrefix;
    imgSuffix = gSuffix + gExt;
    imgTitle = 'Click to view large image';
    ssEle.style.display = 'none';
    galEle.style.display = 'block';
    pth = gPath;
    zeros = gZeros;
    digits = gDigits;
  }
  else {
    currentSlide = n;
    ipp = 1;
    idPrefix = 's';
    imgPrefix = sPrefix;
    imgSuffix = sSuffix + sExt;
    imgTitle = '';
    ssEle.style.display = 'block';
    galEle.style.display = 'none';
    pth = sPath;
    zeros = sZeros;
    digits = sDigits;
  }
  for (i = 0; i < ipp; ++i) {
    id = idPrefix + (i + 1);
    img = document.getElementById(id);
    capEle = document.getElementById((galMode ? 'gc':'sc') + (i + 1));
    if (capEle) capPar = capEle.parentNode;
    if ((n + i) <= imgsMax) {
      if (zeros) src = xPad(n + i, digits, '0', true);
      else src = (n + i) + "";
      img.title = imgTitle;
      img.alt = src;
      img.src = pth + imgPrefix + src + imgSuffix; // img to load now
      img.onerror = imgOnError;
      if (galMode) {
        img.style.cursor = 'pointer';
        img.slideNum = n + i; // slide img to load onclick
        img.onclick = imgOnClick;
      }
      if (capEle) {
		capEle.innerHTML = captions[i + n];
        if (capPar) capPar.style.display = 'block';
      }
      img.style.display = 'inline';
    }
    else {
      img.style.display = 'none';
      if (capEle) {
        if (capPar) capPar.style.display = 'none';
      }
    }
  }  
}
function imgOnClick()
{
  galMode = false;
  gal_paint(this.slideNum);
}
function imgOnError()
{
  var p = this.parentNode;
  if (p) p.style.display = 'none';
}
function gal_setNav(n)
{
  var ipp = galMode ? imgsPerPg : 1;
  // Next
  var e = document.getElementById('next');
  if (n + ipp <= imgsMax) {
    e.nextNum = n + ipp;
    e.onclick = next_onClick;
    e.style.display = 'inline';
  }
  else {
    e.nextNum = 1;
  }
  // Previous
  e = document.getElementById('prev');
  e.style.display = 'inline';
  e.onclick = prev_onClick;
  if (n > ipp) {
    e.prevNum = n - ipp;
  }
  else {
    e.prevNum = galMode ? normalize(imgsMax) : imgsMax;
  }

  // Auto Slide
  e = document.getElementById('auto');
  if (!galMode) {
    e.onclick = auto_onClick;
    e.style.display = 'inline';
  }
  else {
    e.style.display = 'none';
  }
}
function normalize(n)
{
  return 1 + imgsPerPg * (Math.ceil(n / imgsPerPg) - 1);
}
function next_onClick(e)
{
  gal_paint(this.nextNum);
}
function prev_onClick(e)
{
  gal_paint(this.prevNum);
}

function auto_onClick(e)
{
  var ele = document.getElementById('time');
  autoSlide = !autoSlide;
  if (autoSlide) {
	this.getElementsByTagName("IMG")[0].src="/images/pl_stop.gif";
    slideCounter = 0;
    slideTimer = setTimeout("slide_OnTimeout()", slideTimeout);
    ele.style.display = 'inline';
  }
  else if (slideTimer) {
	this.getElementsByTagName("IMG")[0].src="/images/pl_play.gif";
    clearTimeout(slideTimer);
    ele.style.display = 'none';
  }
}
function slide_OnTimeout()
{
  slideTimer = setTimeout("slide_OnTimeout()", 1000);
  ++slideCounter;
  //document.getElementById('time').innerHTML = slideCounter + '/' + pairs.length;
  if (slideCounter == slideTimeout) {
    if (++currentSlide > imgsMax) currentSlide = 1; 
    gal_paint(currentSlide);
    slideCounter = 0;
  }
}

/* xGetURLArguments and xPad are part of the X library,
   distributed under the terms of the GNU LGPL,
   and maintained at Cross-Browser.com.
*/
function xGetURLArguments()
{
  var idx = location.href.indexOf('?');
  var params = new Array();
  if (idx != -1) {
    var pairs = location.href.substring(idx+1, location.href.length).split('&');
    for (var i=0; i<pairs.length; i++) {
      nameVal = pairs[i].split('=');
      params[i] = nameVal[1];
      params[nameVal[0]] = nameVal[1];
    }
  }
  return params;
}
function xPad(str, finalLen, padChar, left)
{
  if (typeof str != 'string') str = str + '';
  if (left) { for (var i=str.length; i<finalLen; ++i) str = padChar + str; }
  else { for (var i=str.length; i<finalLen; ++i) str += padChar; }
  return str;
}
/*   */
function openGL(){
	if (document.getElementById('contGalery').style.display != 'none'){
		document.getElementById('contGalery').style.display = 'none';
		document.getElementById('toplevelGalery').style.display = 'none';
		document.getElementById('opnText').innerHTML='<img src="/images/ic_plas.gif" id="pl" alt="" /><span>розгорнути</span>';
	}else{
		document.getElementById('contGalery').style.display = 'block';
		document.getElementById('toplevelGalery').style.display = 'block';  
		document.getElementById('opnText').innerHTML='<img src="/images/ic_min.gif" id="pl" alt="" /><span>згорнути</span>';
	}
}