var im, imopened = false, clfading = false, closehold = false, tm;

function ShowBig(img, imwidth, imheight) {  
  if(window.opera) return true;
  
  imopened = true;
  var brwh=0, brww=0, scrOfX = 0, scrOfY = 0, pageWidth = 0, pageHeight = 0;
  var ajaxinner = document.getElementById('ajaxinner');
  
  // Viewport
  if( typeof( window.innerWidth ) == 'number' ) { brwh = window.innerHeight; brww = window.innerWidth; } 
  else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) { brwh = document.documentElement.clientHeight; brww = document.documentElement.clientWidth; } 
  else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) { brwh = document.body.clientHeight; brww = document.body.clientWidth; }  
  
  // Scrolled screen offsets
  if( typeof(window.pageYOffset) == 'number' ) { scrOfY = window.pageYOffset; scrOfX = window.pageXOffset; } 
  else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) { scrOfY = document.body.scrollTop; scrOfX = document.body.scrollLeft; } 
  else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) { scrOfY = document.documentElement.scrollTop; scrOfX = document.documentElement.scrollLeft; }

  // Full body dimensions
  if( window.innerHeight && window.scrollMaxY ) { pageWidth = window.innerWidth + window.scrollMaxX; pageHeight = window.innerHeight + window.scrollMaxY; } 
  else if( document.body.scrollHeight > document.body.offsetHeight ) { pageWidth = document.body.scrollWidth; pageHeight = document.body.scrollHeight; } 
  else { pageWidth = document.body.offsetWidth + document.body.offsetLeft; pageHeight = document.body.offsetHeight + document.body.offsetTop; }

  
  ajaxinner.style.display = 'block';
  
  ajaxinner.innerHTML='';
  ajaxinner.innerHTML+='<div id="fsbg" class="fsbg" onclick="javascript: CloseIm();"></div>';
  ajaxinner.innerHTML+='<div id="imgwindow" class="imgwindow"></div>';
  
  var fsbg = document.getElementById('fsbg');
  SetTransparency(fsbg, 0);
  fsbg.style.left = scrOfX+'px';
  fsbg.style.top = '0';
  fsbg.style.width = '100%';
  fsbg.style.height = pageHeight+'px';
  fsbg.style.display = 'block';
  
  for(i=0; i<7; i++) {
    setTimeout("SetTransparency(document.getElementById('fsbg'), "+i+"*10)", (parseInt((i*25))));
  } 
  
  var imgwindow = document.getElementById('imgwindow');
  imgwindow.style.width = (imwidth+20)+'px';
  imgwindow.style.height = (imheight+20)+'px';
  imgwindow.style.display = 'block';
  imgwindow.style.top = (scrOfY+(brwh-imheight-20)/2)+'px';
  imgwindow.style.left = (scrOfX+(brww-imwidth-20)/2)+'px';
  
  imgwindow.innerHTML='<div id="gp1"><img style="margin-left: '+((imwidth-32)/2)+'px; margin-top: '+((imheight-50)/2)+'px;" src="./gfx/loader.gif" /><div class="ld">Wczytywanie zdjęcia...</div></div><img id="galim" style="padding: 10px; display: none;" onmousemove="javascript: imRefreshClose();" onload="javascript: imLoaded();" src="'+img+'" /><div id="gp2" class="closeim"><a href="#" onmouseover="javascript: imHoldClose();" onclick="javascript: CloseIm(); return false;">Zamknij</a></div>';
  
  var gp2 = document.getElementById('gp2');
  gp2.style.left = (imwidth+10-gp2.offsetWidth) + 'px';
  SetTransparency(gp2, 0);
  clfading = true;
  closehold = false;
  if(tm) clearTimeout(tm);
  setTimeout("clfading = false", 200);
  return false;
}

function imLoaded() {
  document.getElementById('gp1').style.display = 'none';
  document.getElementById('gp1').innerHTML = '';
  
  var im = document.getElementById('galim');
  
  SetTransparency(im, 0);
  
  im.style.display = 'block';
  
  for(i=0; i<10; i++) {
    setTimeout("SetTransparency(document.getElementById('galim'), "+i+"*10)", (parseInt((i*25))));
  } 
  i++;
  setTimeout("SetTransparency(document.getElementById('galim'), 100)", (parseInt((i*25))));
}

function imRefreshClose() {
  if(clfading) return false;
  if(closehold) return false;
  clfading = true;
  for(i=0; i<10; i++) {
    setTimeout("SetTransparency(document.getElementById('gp2'), "+i+"*10)", (parseInt((i*25))));
  } 
  i++;
  setTimeout("SetTransparency(document.getElementById('gp2'), 100)", (parseInt((i*25))));
  setTimeout("imHoldClose()");
}

function imHoldClose() {
  closehold = true;
  clfading = false;
  if(tm) clearTimeout(tm);
  tm = setTimeout('imHideClose()', 2000);
}

function imHideClose() {
  if(clfading) return false;
  clfading = true;
  for(i=0; i<10; i++) {
    setTimeout("SetTransparency(document.getElementById('gp2'), "+(10-i)+"*10)", (parseInt((i*25))));
  } 
  i++;
  setTimeout("SetTransparency(document.getElementById('gp2'), 0)", (parseInt((i*25))));
  setTimeout("clfading=false", (parseInt((i*25))));
  setTimeout("closehold=false", (parseInt((i*25))));
}

function CloseIm() {
  if(!imopened) return false;
  imopened = false;
  for(i=0; i<7; i++) {
    setTimeout("SetTransparency(document.getElementById('fsbg'), "+(7-i)+"*10)", (parseInt((i*25))));
  } 
  i++;
  setTimeout("SetTransparency(document.getElementById('fsbg'), 0)", (parseInt((i*25))));
  setTimeout("document.getElementById('fsbg').style.display='none'", (parseInt((i*25))));
  
  for(i=0; i<10; i++) {
    setTimeout("SetTransparency(document.getElementById('imgwindow'), "+(10-i)+"*10)", (parseInt((i*25))));
  } 
  i++;
  setTimeout("SetTransparency(document.getElementById('imgwindow'), 0)", (parseInt((i*25))));
  setTimeout("document.getElementById('imgwindow').style.display='none'", (parseInt((i*25))));
}
