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