var ImagePopUp =
{
  _writeDoc: function(oWin,sHref,sTitle,sAlt)
  {
    var _oDoc = oWin.document;
    _oDoc.open('text/html;UTF-8');

    _oDoc.write(
    '<?xml version="1.0" encoding="UTF-8"?>'+
    '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">'+
    '<html xmlns="http://www.w3.org/1999/xhtml">'+
    '<head><title>' + sAlt + '</title>'+
    '<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />'+
    '<style type="text/css">'+
      'html, body {width: 100%; height: 100%; margin: 0px; padding: 0px; font: normal 12px Arial, Helvetica, Tahoma, Verdana, sans-serif;}'+
      'h1 {font-size: 12px; text-align:center;}'+
      'table, td {width: 100%; height: 100%; text-align: center; vertical-align: middle; margin: 0px; padding: 0px; background: #f6f6f6}'+
    '</style>' +
    '</head><body onclick="window.close();">'+
    '<table><tr><td>' +
      '<img src="'+sHref+'" alt="'+sAlt+'" />'+
      (sTitle?'<h1>'+sTitle+'</h1>':'')+
    '</td></tr></table>'+
    '</body></html>'
    );
    _oDoc.close();
  },

  _title2size: function(sTitle,iPicWidth,iPicHeight)
  {
    /* nie zmieniaj tych wartosci na mniejsze bo pojawia sie problemem z wysrodkowywaniem
       zawartosci popupa w firefoksie */
    var _iWidth = 320;
    var _iHeight = 320;
    var _iMarginX = 30;
    var _iMarginY = 30;
    if (iPicWidth && iPicHeight)
    {
        /* korekcja wielkosci popupa nastepuje jedynie gdy wartosci sa wieksze od domyslnych */
        if(iPicWidth > _iWidth) _iWidth = iPicWidth;
        if(iPicHeight > _iHeight) _iHeight = iPicHeight;
    }
    /* w przypadku problemow - podaje wartosci domyslne */
    return [sTitle,_iWidth+_iMarginX*2,_iHeight+_iMarginY*2];
  },

  click: function(oA,iPicWidth,iPicHeight)
  {
    try {
      if (oA._oWin && oA._oWin.close && !oA._oWin.closed) {oA._oWin.close(); oA._oWin=false;}
    } catch(e){
      //alert(e.message);
    }

    try {
      var _sTitle = oA.getAttribute('title');
      var _aImgs = oA.getElementsByTagName('img');
      var _sAlt = (!_aImgs[0]) ? '' : _aImgs[0].getAttribute('alt');
      var _aTitleAndSize = ImagePopUp._title2size(_sTitle,iPicWidth,iPicHeight);
      var _sWinopts = "dependent=yes,toolbar=no,resizable=yes,width=" + (_aTitleAndSize[1]) + ',height=' + (_aTitleAndSize[2]);

      var _oWin = window.open(oA.href,'_blank',_sWinopts);
      if (_oWin && _oWin.opener)
      {
        oA._oWin = _oWin;
        ImagePopUp._writeDoc(_oWin,oA.href,_aTitleAndSize[0],_sAlt);
        return false;
      }
    } catch(e){
      //alert(e.message);
    }
    return true;
  }
}
