function setOpacity(rObject, iOpacity)
{
  iOpacity = (iOpacity == 100) ? 99.999 : iOpacity;
  
  // IE/Win
  rObject.style.filter = "alpha(opacity:" + iOpacity + ")";
  
  // Safari<1.2, Konqueror
  rObject.style.KHTMLOpacity = iOpacity/100;
  
  // Older Mozilla and Firefox
  rObject.style.MozOpacity = iOpacity/100;
  
  // Safari 1.2, newer Firefox and Mozilla, CSS3
  rObject.style.opacity = iOpacity/100;
}

function fadeIn(sObjectId, iOpacity, iPreviewThumbTransactionId/*,  sImageName */)
{
  var rPreviewThumbTransactionId = document.getElementById('previewThumbTransactionId');
  
  // zruseni zobrazeni a fade in obrazku, kdyz mezitim vznikl pozadavek na jiny obrazek
  if( parseInt(rPreviewThumbTransactionId.value) != iPreviewThumbTransactionId )
  {
    //window.alert("Transakce cislo " + iPreviewThumbTransactionId + " - " + sImageName + " byla prerusena.");
    return;
  }
  else
  {
    //window.alert("Transakce cislo " + iPreviewThumbTransactionId + " probehla.");
    if (document.getElementById) {
      rObject = document.getElementById(sObjectId);
      if ( iOpacity <= 100 ) {
        setOpacity( rObject, iOpacity );
        iOpacity += 20;
        window.setTimeout( "fadeIn( '" + sObjectId + "', " + iOpacity + ", " + iPreviewThumbTransactionId + " )", 40 );
      }
    }
  }
}

function imageLoaded(sImageAlt, sImageName, sSrc, iPreviewThumbTransactionId)
{
  var rPreviewThumbTransactionId = document.getElementById('previewThumbTransactionId');
  
  // zruseni zobrazeni a fade in obrazku, kdyz mezitim vznikl pozadavek na jiny obrazek
  if( parseInt(rPreviewThumbTransactionId.value) != iPreviewThumbTransactionId )
  {
    //window.alert("Transakce cislo " + iPreviewThumbTransactionId + " - " + sImageName + " byla prerusena.");
    return;
  }
  else
  {
    var rLargeImageA = document.getElementById('largeImageA');
    var rLargeImageImg = document.getElementById('largeImageImg');

    // zmena vsech atributu <A ..> velkeho nahledu na karte
    rLargeImageA.title = sImageAlt;
    // zmena vsech atributu <IMG .. /> velkeho nahledu na karte
    rLargeImageImg.alt = sImageAlt;
    rLargeImageImg.src = sSrc;
    // fade in obrazku
    fadeIn('largeImageImg', 0, iPreviewThumbTransactionId/*,  sImageName */);
  }
}

function scrollImages(sDirection)
{
  var iSumImagesVisible = 3;

  // box a tlacitka
  var rInSiteBrowserBox = document.getElementById('inSiteBrowserBox');
  var btnImagesScrollUp = document.getElementById('btnImagesScrollUp');
  var btnImagesScrollDown = document.getElementById('btnImagesScrollDown');
  
  // nastaveni
  var iSumImages = document.getElementById('sumImages').value;
  var iSumImagesVisible = document.getElementById('sumImagesVisible').value;
  var iBrowseIconDiameter = parseInt(document.getElementById('browseIconDiameter').value);
  var iBrowseIconDistance = parseInt(document.getElementById('browseIconDistance').value);
  var iImageShift = iBrowseIconDiameter + iBrowseIconDistance;
  var minTop = ( iSumImages > iSumImagesVisible ) ? -( ( iSumImages - iSumImagesVisible ) * iImageShift ) : 0; //  max posun boxu nahoru podle celkoveho a zobrazeneho poctu obrazku
  var maxTop = 0; // pozice start hodnoty boxu
  
  // aktualni stav
  if ( isNaN(rInSiteBrowserBox.style.top) )
  {
    var iCssTop = parseInt(rInSiteBrowserBox.style.top);
  }
  else
  {
    var iCssTop = 0;
  }
  // scroll obrazku (zobrazovaci cast)
  switch(sDirection)
  {
    case 'up':
      // nova pozice s kontrolou proti presahu
      var iNewPosition = ( ( iCssTop + iImageShift ) > maxTop ) ? maxTop : ( iCssTop + iImageShift );
      // event. deaktivace resp. aktivace tlacitka [posunout nahoru] resp. [posunout dolu]
      if ( iNewPosition == maxTop ) btnImagesScrollUp.className = 'off';
      if ( iNewPosition > minTop ) btnImagesScrollDown.className = '';
      // posun pres CSS
      rInSiteBrowserBox.style.top = ( iNewPosition ).toString() + 'px';
    break;
    case 'down':
      // nova pozice s kontrolou proti presahu
      var iNewPosition = ( ( iCssTop - iImageShift ) < minTop ) ? minTop : ( iCssTop - iImageShift );
      // event. aktivace resp. deaktivace tlacitka [posunout nahoru] resp. [posunout dolu]
      if ( iNewPosition < maxTop ) btnImagesScrollUp.className = '';
      if ( iNewPosition == minTop ) btnImagesScrollDown.className = 'off';
      // posun pres CSS
      rInSiteBrowserBox.style.top = ( iNewPosition ).toString() + 'px';
    break;
    default:
    break;
  }
}

function previewThumb(sImageAlt, sImageName)
{
  // ihned po zahajeni noveho pozadavku nastavit pozadovany obrazek (prevence presahu zobrazovacich fci)
  var rPreviewThumbTransactionId = document.getElementById('previewThumbTransactionId');
  var rPreviewThumbTransactionIdValue =  parseInt( rPreviewThumbTransactionId.value );
  rPreviewThumbTransactionId.value = rPreviewThumbTransactionIdValue + 1;
  
  //document.getElementById('testTransaction').innerHTML = rPreviewThumbTransactionId.value;
  
  // reference k A a IMG velkeho nahledu na karte
  var rLargeImageA = document.getElementById('largeImageA');
  var rLargeImageImg = document.getElementById('largeImageImg');
  
  // setup
  var displayedImageName = document.getElementById('displayedImageName');
  var sImageUriBase = document.getElementById('imageUriBase').value;
  var sImageSizeDir = document.getElementById('imageThumbSizeDir').value;
  var sImageUri = sImageUriBase + "/" + (sImageSizeDir ? sImageSizeDir + "/" : "") + sImageName;

  // skryti predchoziho obrazku
  setOpacity(rLargeImageImg, 0);
  
  // objekt obrazku
  var thumb = new Image();
  thumb.src = sImageUri;
  // nastaveni akce po stazeni do cache
  thumb.onload = function ()
    {
      imageLoaded(sImageAlt, sImageName, thumb.src, rPreviewThumbTransactionIdValue + 1)
    }
  ;
}




























