
(function(a)
{
var j,
o,
q,
d,
w,
f,
v,
s,
t,
l=0,
c={},
m=[],
k=0,
b={},
g=[],
x=null,
n=new Image,
z=/\.(jpg|gif|png|bmp|jpeg|axd)(.*)?$/i,
M=/[^\.]\.(swf)\s*$/i,
A,
B=1,
h,
i,
e=false,
r=a.extend(a("<div/>")[0],{prop:0}),
p=0,
H=!a.support.opacity&&!window.XMLHttpRequest,
C=function()
{
o.hide();
n.onerror=n.onload=null;
x&&x.abort();
j.empty()
},
I=function()
{
a.fancybox('<p id="fancybox_error">The requested content cannot be loaded.<br />Please try again later.</p>',{scrolling:"no",padding:20,transitionIn:"none",transitionOut:"none"})
},
D=function()
{
return[a(window).width(),a(window).height(),a(document).scrollLeft(),a(document).scrollTop()]
},
N=function()
{
var d=D(),
a={},
g=b.margin,
f=b.autoScale,
h=(20+g)*2,
i=(20+g)*2,
e=b.padding*2;
if(b.width.toString().indexOf("%")>-1)
{
a.width=d[0]*parseFloat(b.width)/100-40;
f=false
}
else
a.width=b.width+e;
if(b.height.toString().indexOf("%")>-1)
{
a.height=d[1]*parseFloat(b.height)/100-40;
f=false
}
else
a.height=b.height+e;
if(f&&(a.width>d[0]-h||a.height>d[1]-i))
if(c.type=="image"||c.type=="swf")
{
h+=e;
i+=e;
f=Math.min(Math.min(d[0]-h,b.width)/b.width,Math.min(d[1]-i,b.height)/b.height);
a.width=Math.round(f*(a.width-e))+e;
a.height=Math.round(f*(a.height-e))+e
}
else
{
a.width=Math.min(a.width,d[0]-h);
a.height=Math.min(a.height,d[1]-i)
}
a.top=d[3]+(d[1]-(a.height+40))*.5;
a.left=d[2]+(d[0]-(a.width+40))*.5;
if(b.autoScale===false)
{
a.top=Math.max(d[3]+g,a.top);
a.left=Math.max(d[2]+g,a.left)
}
return a
},
O=function(a)
{
if(a&&a.length)
switch(b.titlePosition)
{
case"inside":
return a;
case"over":
return'<span id="fancybox-title-over">'+a+"</span>";
default:
return'<span id="fancybox-title-wrap"><span id="fancybox-title-left"></span><span id="fancybox-title-main">'+a+'</span><span id="fancybox-title-right"></span></span>'
}
return false
},
P=function()
{
var c=b.title,
d=i.width-b.padding*2,
e="fancybox-title-"+b.titlePosition;
a("#fancybox-title").remove();
p=0;
if(b.titleShow!==false)
{
c=a.isFunction(b.titleFormat)?b.titleFormat(c,g,k,b):O(c);
if(!(!c||c===""))
{
a('<div id="fancybox-title" class="'+e+'" />').css({width:d,paddingLeft:b.padding,paddingRight:b.padding}).html(c).appendTo("body");
switch(b.titlePosition)
{
case"inside":
p=a("#fancybox-title").outerHeight(true)-b.padding;
i.height+=p;
break;
case"over":
a("#fancybox-title").css("bottom",b.padding);
break;
default:
a("#fancybox-title").css("bottom",a("#fancybox-title").outerHeight(true)*-1)
}
a("#fancybox-title").appendTo(w).hide()
}
}
},
Q=function()
{
a(document).unbind("keydown.fb").bind("keydown.fb",function(c)
{
if(c.keyCode==27&&b.enableEscapeButton)
{
c.preventDefault();
a.fancybox.close()
}
else
if(c.keyCode==37)
{
c.preventDefault();
a.fancybox.prev()
}
else
if(c.keyCode==39)
{
c.preventDefault();
a.fancybox.next()
}
});
if(a.fn.mousewheel)
{
d.unbind("mousewheel.fb");
g.length>1&&d.bind("mousewheel.fb",function(c,b)
{
c.preventDefault();
e||b===0||(b>0?a.fancybox.prev():a.fancybox.next())
})
}
if(b.showNavArrows)
{
(b.cyclic&&g.length>1||k!==0)&&
s.show();
(b.cyclic&&g.length>1||k!=g.length-1)&&
t.show()
}
},
R=function()
{
var a,
b;
if(g.length-1>k)
{
a=g[k+1].href;
if(typeof a!=="undefined"&&a.match(z))
{
b=new Image;
b.src=a
}
}
if(k>0)
{
a=g[k-1].href;
if(typeof a!=="undefined"&&a.match(z))
{
b=new Image;
b.src=a
}
}
},
E=function()
{
f.css("overflow",b.scrolling=="auto"?b.type=="image"||b.type=="iframe"||b.type=="swf"?"hidden":"auto":b.scrolling=="yes"?"auto":"visible");
if(!a.support.opacity)
{
f.get(0).style.removeAttribute("filter");
d.get(0).style.removeAttribute("filter")
}
a("#fancybox-title").show();
b.hideOnContentClick&&f.one("click",a.fancybox.close);
b.hideOnOverlayClick&&q.one("click",a.fancybox.close);
b.showCloseButton&&v.show();
Q();
a(window).bind("resize.fb",a.fancybox.center);
b.centerOnScroll?a(window).bind("scroll.fb",a.fancybox.center):a(window).unbind("scroll.fb");
a.isFunction(b.onComplete)&&b.onComplete(g,k,b);
e=false;
R()
},
F=function(a)
{
var c=Math.round(h.width+(i.width-h.width)*a),
e=Math.round(h.height+(i.height-h.height)*a),
g=Math.round(h.top+(i.top-h.top)*a),
j=Math.round(h.left+(i.left-h.left)*a);
d.css({width:c+"px",height:e+"px",top:g+"px",left:j+"px"});
c=Math.max(c-b.padding*2,0);
e=Math.max(e-(b.padding*2+p*a),0);
f.css({width:c+"px",height:e+"px"});
typeof i.opacity!=="undefined"&&
d.css("opacity",a<.5?.5:a)
},
S=function(a)
{
var b=a.offset();
b.top+=parseFloat(a.css("paddingTop"))||0;
b.left+=parseFloat(a.css("paddingLeft"))||0;
b.top+=parseFloat(a.css("border-top-width"))||0;
b.left+=parseFloat(a.css("border-left-width"))||0;
b.width=a.width();
b.height=a.height();
return b
},
J=function()
{
var d=c.orig?a(c.orig):false,
e={};
if(d&&d.length)
{
d=S(d);
e={width:d.width+b.padding*2,height:d.height+b.padding*2,top:d.top-b.padding-20,left:d.left-b.padding-20}
}
else
{
d=D();
e={width:1,height:1,top:d[3]+d[1]*.5,left:d[2]+d[0]*.5}
}
return e
},
G=function()
{
o.hide();
if(d.is(":visible")&&a.isFunction(b.onCleanup))
if(b.onCleanup(g,k,b)===false)
{
a.event.trigger("fancybox-cancel");
e=false;
return
}
g=m;
k=l;
b=c;
f.get(0).scrollTop=0;
f.get(0).scrollLeft=0;
if(b.overlayShow)
{
H&&a("select:not(#fancybox-tmp select)").filter(function()
{
return this.style.visibility!=="hidden"
}).css({visibility:"hidden"}).one("fancybox-cleanup",function()
{
this.style.visibility="inherit"
});
q.css({"background-color":b.overlayColor,opacity:b.overlayOpacity}).unbind().show()
}
i=N();
P();
if(d.is(":visible"))
{
a(v.add(s).add(t)).hide();
var n=d.position(),
u;
h={top:n.top,left:n.left,width:d.width(),height:d.height()};
u=h.width==i.width&&h.height==i.height;
f.fadeOut(b.changeFade,function()
{
var c=function()
{
f.html(j.contents()).fadeIn(b.changeFade,E)
};
a.event.trigger("fancybox-change");
f.empty().css("overflow","hidden");
if(u)
{
f.css({top:b.padding,left:b.padding,width:Math.max(i.width-b.padding*2,1),height:Math.max(i.height-b.padding*2-p,1)});
c()
}
else
{
f.css({top:b.padding,left:b.padding,width:Math.max(h.width-b.padding*2,1),height:Math.max(h.height-b.padding*2,1)});
r.prop=0;
a(r).animate({prop:1},{duration:b.changeSpeed,easing:b.easingChange,step:F,complete:c})
}
})
}
else
{
d.css("opacity",1);
if(b.transitionIn=="elastic")
{
h=J();
f.css({top:b.padding,left:b.padding,width:Math.max(h.width-b.padding*2,1),height:Math.max(h.height-b.padding*2,1)}).html(j.contents());
d.css(h).show();
if(b.opacity)
i.opacity=0;
r.prop=0;
a(r).animate({prop:1},{duration:b.speedIn,easing:b.easingIn,step:F,complete:E})
}
else
{
f.css({top:b.padding,left:b.padding,width:Math.max(i.width-b.padding*2,1),height:Math.max(i.height-b.padding*2-p,1)}).html(j.contents());
d.css(i).fadeIn(b.transitionIn=="none"?0:b.speedIn,E)
}
}
},
y=function()
{
j.width(c.width);
j.height(c.height);
if(c.width=="auto")
c.width=j.width();
if(c.height=="auto")
c.height=j.height();
G()
},
T=function()
{
e=true;
c.width=n.width;
c.height=n.height;
a("<img />").attr({id:"fancybox-img",src:n.src,alt:c.title}).appendTo(j);
G()
},
u=function()
{
C();
var b=m[l],
d,
g,
h,
i,
k;
c=a.extend({},a.fn.fancybox.defaults,typeof a(b).data("fancybox")=="undefined"?c:a(b).data("fancybox"));
h=b.title||a(b).title||c.title||"";
if(b.nodeName&&!c.orig)
c.orig=a(b).children("img:first").length?a(b).children("img:first"):a(b);
if(h===""&&c.orig)
h=c.orig.attr("alt");
d=b.nodeName&&/^(?:javascript|#)/i.test(b.href)?c.href||null:c.href||b.href||null;
if(c.type)
{
g=c.type;
if(!d)
d=c.content
}
else
if(c.content)
g="html";
else
if(d)
if(d.match(z))
g="image";
else
if(d.match(M))
g="swf";
else
if(a(b).hasClass("iframe"))
g="iframe";
else
if(d.match(/#/))
{
b=d.substr(d.indexOf("#"));
g=a(b).length>0?"inline":"ajax"
}
else
g="ajax";
else
g="inline";
c.type=g;
c.href=d;
c.title=h;
if(c.autoDimensions&&c.type!=="iframe"&&c.type!=="swf")
{
c.width="auto";
c.height="auto"
}
if(c.modal)
{
c.overlayShow=true;
c.hideOnOverlayClick=false;
c.hideOnContentClick=false;
c.enableEscapeButton=false;
c.showCloseButton=false
}
if(a.isFunction(c.onStart))
if(c.onStart(m,l,c)===false)
{
e=false;
return
}
j.css("padding",20+c.padding+c.margin);
a(".fancybox-inline-tmp").unbind("fancybox-cancel").bind("fancybox-change",function()
{
a(this).replaceWith(f.children())
});
switch(g)
{
case"html":
j.html(c.content);
y();
break;
case"inline":
a('<div class="fancybox-inline-tmp" />').hide().insertBefore(a(b)).bind("fancybox-cleanup",function()
{
a(this).replaceWith(f.children())
}).bind("fancybox-cancel",function()
{
a(this).replaceWith(j.children())
});
a(b).appendTo(j);
y();
break;
case"image":
e=false;
a.fancybox.showActivity();
n=new Image;
n.onerror=function()
{
I()
};
n.onload=function()
{
n.onerror=null;
n.onload=null;
T()
};
n.src=d;
break;
case"swf":
i='<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="'+c.width+'" height="'+c.height+'"><param name="movie" value="'+d+'"></param>';
k="";
a.each(c.swf,function(b,a)
{
i+='<param name="'+b+'" value="'+a+'"></param>';
k+=" "+b+'="'+a+'"'
});
i+='<embed src="'+d+'" type="application/x-shockwave-flash" width="'+c.width+'" height="'+c.height+'"'+k+"></embed></object>";
j.html(i);
y();
break;
case"ajax":
b=d.split("#",2);
g=c.ajax.data||{};
if(b.length>1)
{
d=b[0];
if(typeof g=="string")
g+="&selector="+b[1];
else
g.selector=b[1]
}
e=false;
a.fancybox.showActivity();
x=a.ajax(a.extend(c.ajax,{url:d,data:g,error:I,success:function(a)
{
if(x.status==200)
{
j.html(a);
y()
}
}}));
break;
case"iframe":
a('<iframe id="fancybox-frame" name="fancybox-frame'+(new Date).getTime()+'" frameborder="0" hspace="0" scrolling="'+c.scrolling+'" src="'+c.href+'"></iframe>').appendTo(j);
G()
}
},
L=function()
{
if(o.is(":visible"))
{
a("div",o).css("top",B*-40+"px");
B=(B+1)%12
}
else
clearInterval(A)
},
K=function()
{
if(!a("#fancybox-wrap").length)
{
a("body").append(j=a('<div id="fancybox-tmp"></div>'),o=a('<div id="fancybox-loading"><div></div></div>'),q=a('<div id="fancybox-overlay"></div>'),d=a('<div id="fancybox-wrap"></div>'));
if(!a.support.opacity)
{
d.addClass("fancybox-ie");
o.addClass("fancybox-ie")
}
w=a('<div id="fancybox-outer"></div>').append('<div class="fancy-bg" id="fancy-bg-n"></div><div class="fancy-bg" id="fancy-bg-ne"></div><div class="fancy-bg" id="fancy-bg-e"></div><div class="fancy-bg" id="fancy-bg-se"></div><div class="fancy-bg" id="fancy-bg-s"></div><div class="fancy-bg" id="fancy-bg-sw"></div><div class="fancy-bg" id="fancy-bg-w"></div><div class="fancy-bg" id="fancy-bg-nw"></div>').appendTo(d);
w.append(f=a('<div id="fancybox-inner"></div>'),v=a('<a id="fancybox-close"></a>'),s=a('<a href="javascript:;" id="fancybox-left"><span class="fancy-ico" id="fancybox-left-ico"></span></a>'),t=a('<a href="javascript:;" id="fancybox-right"><span class="fancy-ico" id="fancybox-right-ico"></span></a>'));
v.click(a.fancybox.close);
o.click(a.fancybox.cancel);
s.click(function(b)
{
b.preventDefault();
a.fancybox.prev()
});
t.click(function(b)
{
b.preventDefault();
a.fancybox.next()
});
if(H)
{
q.get(0).style.setExpression("height","document.body.scrollHeight > document.body.offsetHeight ? document.body.scrollHeight : document.body.offsetHeight + 'px'");
o.get(0).style.setExpression("top","(-20 + (document.documentElement.clientHeight ? document.documentElement.clientHeight/2 : document.body.clientHeight/2 ) + ( ignoreMe = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop )) + 'px'");
w.prepend('<iframe id="fancybox-hide-sel-frame" src="javascript:\'\';" scrolling="no" frameborder="0" ></iframe>')
}
}
};
a.fn.fancybox=function(b)
{
a(this).data("fancybox",a.extend({},b,a.metadata?a(this).metadata():{})).unbind("click.fb").bind("click.fb",function(b)
{
b.preventDefault();
if(!e)
{
e=true;
a(this).blur();
m=[];
l=0;
b=a(this).attr("rel")||"";
if(!b||b==""||b==="nofollow")
m.push(this);
else
{
m=a("a[rel="+b+"], area[rel="+b+"]");
l=m.index(this)
}
u();
return false
}
});
return this
};
a.fancybox=function(b,c)
{
if(!e)
{
e=true;
c=typeof c!=="undefined"?c:{};
m=[];
l=c.index||0;
if(a.isArray(b))
{
for(var d=0,
f=b.length;d<f;d++)
if(typeof b[d]=="object")
a(b[d]).data("fancybox",a.extend({},c,b[d]));
else
b[d]=a({}).data("fancybox",a.extend({content:b[d]},c));
m=jQuery.merge(m,b)
}
else
{
if(typeof b=="object")
a(b).data("fancybox",a.extend({},c,b));
else
b=a({}).data("fancybox",a.extend({content:b},c));
m.push(b)
}
if(l>m.length||l<0)
l=0;
u()
}
};
a.fancybox.showActivity=function()
{
clearInterval(A);
o.show();
A=setInterval(L,66)
};
a.fancybox.hideActivity=function()
{
o.hide()
};
a.fancybox.next=function()
{
return a.fancybox.pos(k+1)
};
a.fancybox.prev=function()
{
return a.fancybox.pos(k-1)
};
a.fancybox.pos=function(a)
{
if(!e)
{
a=parseInt(a,10);
if(a>-1&&g.length>a)
{
l=a;
u()
}
if(b.cyclic&&g.length>1&&a<0)
{
l=g.length-1;
u()
}
if(b.cyclic&&g.length>1&&a>=g.length)
{
l=0;
u()
}
}
};
a.fancybox.cancel=function()
{
if(!e)
{
e=true;
a.event.trigger("fancybox-cancel");
C();
c&&a.isFunction(c.onCancel)&&c.onCancel(m,l,c);
e=false
}
};
a.fancybox.close=function()
{
function j()
{
q.fadeOut("fast");
d.hide();
a.event.trigger("fancybox-cleanup");
f.empty();
a.isFunction(b.onClosed)&&b.onClosed(g,k,b);
g=c=[];
k=l=0;
b=c={};
e=false
}
if(!(e||d.is(":hidden")))
{
e=true;
if(b&&a.isFunction(b.onCleanup))
if(b.onCleanup(g,k,b)===false)
{
e=false;
return
}
C();
a(v.add(s).add(t)).hide();
a("#fancybox-title").remove();
d.add(f).add(q).unbind();
a(window).unbind("resize.fb scroll.fb");
a(document).unbind("keydown.fb");
f.css("overflow","hidden");
if(b.transitionOut=="elastic")
{
h=J();
var m=d.position();
i={top:m.top,left:m.left,width:d.width(),height:d.height()};
if(b.opacity)
i.opacity=1;
r.prop=1;
a(r).animate({prop:0},{duration:b.speedOut,easing:b.easingOut,step:F,complete:j})
}
else
d.fadeOut(b.transitionOut=="none"?0:b.speedOut,j)
}
};
a.fancybox.resize=function()
{
var c,
g;
if(!(e||d.is(":hidden")))
{
e=true;
c=f.wrapInner("<div style='overflow:auto'></div>").children();
g=c.height();
d.css({height:g+b.padding*2+p});
f.css({height:g});
c.replaceWith(c.children());
a.fancybox.center()
}
};
a.fancybox.center=function()
{
e=true;
var c=D(),
f=b.margin,
a={};
a.top=c[3]+(c[1]-(d.height()-p+40))*.5;
a.left=c[2]+(c[0]-(d.width()+40))*.5;
a.top=Math.max(c[3]+f,a.top);
a.left=Math.max(c[2]+f,a.left);
d.css(a);
e=false
};
a.fn.fancybox.defaults={padding:10,margin:20,opacity:false,modal:false,cyclic:false,scrolling:"auto",width:560,height:340,autoScale:true,autoDimensions:true,centerOnScroll:false,ajax:{},swf:{wmode:"transparent"},hideOnOverlayClick:true,hideOnContentClick:false,overlayShow:true,overlayOpacity:.3,overlayColor:"#666",titleShow:true,titlePosition:"outside",titleFormat:null,transitionIn:"fade",transitionOut:"fade",speedIn:300,speedOut:300,changeSpeed:300,changeFade:"fast",easingIn:"swing",easingOut:"swing",showCloseButton:true,showNavArrows:true,enableEscapeButton:true,onStart:null,onCancel:null,onComplete:null,onCleanup:null,onClosed:null};
a(document).ready(function()
{
K()
})
})(jQuery)
