jQuery.fn.fancyZoom=function(O){
var O=O||{};
var L=O&&O.directory?O.directory:"images";
var D=false;
if($("#zoom").length==0){
var E=$.browser.msie?"png":"png";
var J='<div id="zoom" style="display:none;"><table id="zoom_table" style="border-collapse:collapse; width:100%; height:100%;"> <tbody> <tr>  <td class="tl" style="background:url('+L+"/tl."+E+') 0 0 no-repeat; width:20px; height:20px; overflow:hidden;" /> <td class="tm" style="background:url('+L+"/tm."+E+') 0 0 repeat-x; height:20px; overflow:hidden;" /> <td class="tr" style="background:url('+L+"/tr."+E+') 100% 0 no-repeat; width:20px; height:20px; overflow:hidden;" />  </tr>  <tr>    <td class="ml" style="background:url('+L+"/ml."+E+') 0 0 repeat-y; width:20px; overflow:hidden;" />    <td class="mm" style="background:#fff; vertical-align:top; padding:10px;"> <div id="zoom_content"> </div>    </td>    <td class="mr" style="background:url('+L+"/mr."+E+') 100% 0 repeat-y;  width:20px; overflow:hidden;" />  </tr>  <tr>    <td class="bl" style="background:url('+L+"/bl."+E+') 0 100% no-repeat; width:20px; height:20px; overflow:hidden;" />    <td class="bm" style="background:url('+L+"/bm."+E+') 0 100% repeat-x; height:20px; overflow:hidden;" />    <td class="br" style="background:url('+L+"/br."+E+') 100% 100% no-repeat; width:20px; height:20px; overflow:hidden;" />  </tr>     </tbody>   </table>     <a href="#" title="Zamknij" id="zoom_close" style="position:absolute; top:10px; right:10px; color:black; ">  <img src="'+L+"/closebox."+E+'" alt="Zamknij" style="border:none; margin:0; padding:0;" /> </a> </div>';
$("body").append(J);
$("html").click(function(P){
if($(P.target).parents("#zoom:visible").length==0){K()}});
$(document).keyup(function(P){if(P.keyCode==27&&$("#zoom:visible").length>0){K()}});
$("#zoom_close").click(K)}var N=$("#zoom");
var I=$("#zoom_table");
var H=$("#zoom_close");
var G=$("#zoom_content");
var A=$("td.ml,td.mm,td.mr");
this.each(function(P){$($(this).attr("href")).hide();
$(this).click(M)});
return this;
function M(V){if(D){return false}D=true;
var P=$($(this).attr("href"));
var T=O.width;var U=O.height;
var Q=window.innerWidth||(window.document.documentElement.clientWidth||window.document.body.clientWidth);
var b=window.innerHeight||(window.document.documentElement.clientHeight||window.document.body.clientHeight);
var Z=window.pageXOffset||(window.document.documentElement.scrollLeft||window.document.body.scrollLeft);
var Y=window.pageYOffset||(window.document.documentElement.scrollTop||window.document.body.scrollTop);
var c={width:Q,height:b,x:Z,y:Y};
var Q=(T||P.width())+60;
var b=(U||P.height())+60;
var W=c;
var X=Math.max((W.height/2)-(b/2)+Y-55,0);    //----przesunięcie w pionie
var a=(W.width/2)-(Q/2)+250;        //----przesunięcie w poziomie
var R=V.pageY;  
var S=V.pageX;
H.attr("curTop",R);H.attr("curLeft",S);
H.attr("scaleImg",O.scaleImg?"true":"false");
$("#zoom").hide().css({
  position:"absolute",
  top:R+"px",
  left:S+"px",
  width:"1px",
  height:"1px"
});
F();
H.hide();
if(O.closeOnClick){
  $("#zoom").click(K)
}
if(O.scaleImg){
  G.html(P.html());
  $("#zoom_content img").css("width","100%")
}else{G.html("")}
$("#zoom").animate({
top:X+"px",
left:a+"px",
opacity:"show",
width:Q,
height:b
},500,null,function(){if(O.scaleImg!=true){
  G.html(P.html())}C();
  H.show();
  D=false});
  return false}function K(){
    if(D){return false}D=true;
$("#zoom").unbind("click");F();
if(H.attr("scaleImg")!="true"){G.html("")}H.hide();
$("#zoom").animate({
top:H.attr("curTop")+"px",
left:H.attr("curLeft")+"px",
opacity:"hide",
width:"1px",
height:"1px"
},500,null,function(){if(H.attr("scaleImg")=="true"){G.html("")}C();D=false});return false}
function B(R){
$("#zoom_table td").each(function(T){var S=$(this).css("background-image").replace(/\.(png|gif|none)\"\)$/,"."+R+'")');$(this).css("background-image",S)});var Q=H.children("img");var P=Q.attr("src").replace(/\.(png|gif|none)$/,"."+R);Q.attr("src",P)}function F(){if($.browser.msie&&parseFloat($.browser.version)>=7){B("gif")}}function C(){if($.browser.msie&&$.browser.version>=7){B("png")}}};