/*
 * FancyBox - jQuery Plugin
 * Simple and fancy lightbox alternative
 *
 * Examples and documentation at: http://fancybox.net
 * 
 * Copyright (c) 2008 - 2010 Janis Skarnelis
 * That said, it is hardly a one-person project. Many people have submitted bugs, code, and offered their advice freely. Their support is greatly appreciated.
 * 
 * Version: 1.3.2 (07/10/2010)
 * Requires: jQuery v1.3+
 *
 * Dual licensed under the MIT and GPL licenses:
 *   http://www.opensource.org/licenses/mit-license.php
 *   http://www.gnu.org/licenses/gpl.html
 */

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