    function changeOpacity(id, opacity)
    {
      var object=document.getElementById(id);
      if (object)
      {
        object=object.style;
        if (opacity>0) object.visibility="visible"; else object.visibility="hidden";
        object.opacity=(opacity/100);
        object.MozOpacity=(opacity/100);
        object.KhtmlOpacity=(opacity/100);
        object.filter="alpha(opacity="+opacity+")";
      }
    }

    function defineGallery(name, count, imgs)
    {
      var idx=galleriesobjects.length;
      galleriesnames[idx]=name;
      galleriesobjects[idx]=name+'_div_';
      galleriesimagecount[idx]=count;
      galleriesimages[idx]=imgs;
      galleriesstate[idx]=0;
      galleriesfade[idx]=0;
    }

    function doSlideFade(gallery)
    {
      if (galleriesfade[gallery]<100)
      {
        galleriesfade[gallery]+=fadestep;
        var img1=galleriesobjects[gallery]+galleriesstate[gallery];
        var img2=galleriesobjects[gallery]+((galleriesstate[gallery]<(galleriesimagecount[gallery]-1))?galleriesstate[gallery]+1:0);
        var per1=galleriesfade[gallery];
        var per2=100-per1;
        changeOpacity(img1, per2);
        changeOpacity(img2, per1);
        setTimeout('doSlideFade('+gallery+')', fadedelay);
      }
      else
      {
        galleriesfade[gallery]=0;
        galleriesstate[gallery]+=1;
        if (galleriesstate[gallery]>=galleriesimagecount[gallery]) galleriesstate[gallery]=0;
        setTimeout('doSlideImage('+gallery+')', slidedelay);
      }
    }

    function doSlideImage(gallery)
    {
      if (slideshowon) doSlideFade(gallery);
      else setTimeout('doSlideImage('+gallery+')', slidedelay);
    }

    function showPrevImage(gallery, img)
    {
      var cnt=galleriesimages[gallery].length;
      img--;
      if (img<0) img=cnt-1;
      showImage(gallery, img);
    }

    function showNextImage(gallery, img)
    {
      var cnt=galleriesimages[gallery].length;
      img++;
      if (img==cnt) img=0;
      showImage(gallery, img);
    }

    function setDisplaySize()
    {
      var disp=document.getElementById('slideshowdisplay');
      var cheight=document.getElementById('slideshowdisplaytable').clientHeight;
      var wheight=parseInt((document.body.clientHeight-cheight)/2, 10);
      disp.style.top=document.body.scrollTop+wheight;
      disp.style.height=cheight;
      disp.style.width=document.body.scrollWidth-24;
      disp.style.left=0;
      disp.style.visibility='visible';
    }

    function showImage(gallery, img)
    {
      var disp=document.getElementById('slideshowdisplay');
      document.getElementById('slideshowcover').style.visibility='visible';
      disp.style.left=-1000;
      disp.style.visibility='hidden';
      var image='<img onLoad="setDisplaySize()" src="'+galleriesimagedir+galleriesimages[gallery][img]+'" border="0" onClick="hideGalleryImage()">';
      var imagetable='<table id="slideshowdisplaytable" border="0" cellspacing="8" cellpadding="0" bgcolor="#FFFFFF" style="border: 1px solid #000000"><tr><td colspan="3" width="100%" align="center">'+image+'</td></tr><tr><td width="30%" align="left"><img src="./ssi/previmg.gif" onClick="showPrevImage(\''+gallery+'\', '+img+')"></td><td width="40%" align="center"><img src="./ssi/closeimg.gif" onClick="hideGalleryImage()"></td><td width="30%" align="right"><img src="./ssi/nextimg.gif" onClick="showNextImage(\''+gallery+'\', '+img+')"></td></tr></table>';
      var output='<table width="95%" cellspacing="0" cellpadding="0" border="0"><tr><td valign="middle" align="center">'+imagetable+'</td></tr></table>';
      disp.innerHTML=output;
    }

    function showSingleImage(img)
    {
      setupSlideshowCover();
      var disp=document.getElementById('slideshowdisplay');
      document.getElementById('slideshowcover').style.visibility='visible';
      disp.style.left=-1000;
      disp.style.visibility='hidden';
      var image='<img onLoad="setDisplaySize()" src="'+img+'" border="0" onClick="hideGalleryImage()" onLoad="setDisplaySize()">';
      var imagetable='<table id="slideshowdisplaytable" border="0" cellspacing="8" cellpadding="0" bgcolor="#FFFFFF" style="border: 1px solid #000000"><tr><td width="100%" align="center">'+image+'</td></tr><tr><td align="right"><img src="./ssi/closeimg.gif" onClick="hideGalleryImage()"></td></tr></table>';
      var output='<table width="95%" cellspacing="0" cellpadding="0" border="0"><tr><td valign="middle" align="center">'+imagetable+'</td></tr></table>';
      disp.innerHTML=output;
    }

    function showGalleryImage(name, img)
    {
      slideshowon=false;
      var gallery=-1;
      for (var i=0; i<galleriesnames.length; i++)
      {
        if (galleriesnames[i]==name)
        {
          gallery=i;
          break;
        }
      }
      if (gallery>-1)
      {
        setupSlideshowCover();
        showImage(gallery, img);
      }
    }

    function showGalleryImageC(name)
    {
      slideshowon=false;
      var gallery=-1;
      for (var i=0; i<galleriesnames.length; i++)
      {
        if (galleriesnames[i]==name)
        {
          gallery=i;
          break;
        }
      }
      if (gallery>-1)
      {
        img=productgalleryimagecurrent;
        setupSlideshowCover();
        showImage(gallery, img);
      }
    }

    function changeImageThumb(name, img)
    {
      var gallery=-1;
      for (var i=0; i<galleriesnames.length; i++)
      {
        if (galleriesnames[i]==name)
        {
          gallery=i;
          break;
        }
      }
      document.getElementById('prodimg_'+productgalleryimagecurrent).className="unselected";
      productgalleryimagecurrent=img;
      document.getElementById('prodimg_'+productgalleryimagecurrent).className="selected";
      document.getElementById('prodbig').innerHTML='<img src="'+galleriesimagedir+'t2/'+galleriesimages[gallery][img]+'" border="0">';
    }

    function hideGalleryImage()
    {
      slideshowon=true;
      document.getElementById('slideshowdisplay').innerHTML='';
      document.getElementById('slideshowcover').style.visibility='hidden';
      document.getElementById('slideshowdisplay').style.visibility='hidden';
    }

    function setupSlideshowCover()
    {
      var cover=document.getElementById('slideshowcover').style;
      var disp=document.getElementById('slideshowdisplay').style;
      hideGalleryImage();
      if (window.opera)
      {
        cover.backgroundColor='transparent';
        cover.backgroundImage='url(./ssi/transparent.png)';
      }
      else cover.backgroundColor='#000000';
      cover.width=document.body.scrollWidth;
      cover.height=document.body.scrollHeight;
      disp.width=document.body.scrollWidth;
    }

    function startSlideshow()
    {
      window.onresize=setupSlideshowCover;
      var cnt=galleriesobjects.length;
      if (cnt>0)
      {
        for(var i=0; i<cnt; i++) setTimeout('doSlideImage('+i+')', slidedelay);
      }
    }

    function setupVideoCover()
    {
      var cover=document.getElementById('slideshowcover').style;
      var disp=document.getElementById('videodisplay').style;
      hideVideo();
      if (window.opera)
      {
        cover.backgroundColor='transparent';
        cover.backgroundImage='url(./ssi/transparent.png)';
      }
      else cover.backgroundColor='#000000';
      cover.width=document.body.scrollWidth;
      cover.height=document.body.scrollHeight;
      disp.width=document.body.scrollWidth;
    }

    function showVideo(vid)
    {
      setupVideoCover();
      var disp=document.getElementById('videodisplay');
      document.getElementById('slideshowcover').style.visibility='visible';
//      disp.style.left=-1000;
      disp.style.visibility='hidden';
/*
      disp.style.top=100+document.body.scrollTop;
      disp.style.left=100;
      disp.style.width=300;
      disp.style.height=270;
*/
      var cheight=405;
      var wheight=parseInt((document.body.clientHeight-cheight)/2, 10);
      disp.style.top=document.body.scrollTop+wheight;
      disp.style.height=cheight;
      disp.style.width=document.body.scrollWidth-72;
      disp.style.left=48;

      ajaxRequest('./showvideo.php?file='+vid);

      disp.style.visibility='visible';
      var output='<table width="100%" height="405" border="0" cellspacing="0" cellpadding="0" style="margin-bottom: 4px;"><tr valign="bottom"><td align="center"><div class="outvideo"><div class="blankvideo" id="videodiv"><br><br><br><br><br><br><br><br><br><br><img src="./i/loader.gif"></div><a class="bl" href="javascript: hideVideo()">[ close ]</a></div></td></tr></table>';
      disp.innerHTML=output;
    }

    function hideVideo()
    {
      document.getElementById('videodisplay').innerHTML='';
      document.getElementById('slideshowcover').style.visibility='hidden';
      document.getElementById('videodisplay').style.visibility='hidden';
    }
