/**
 * name:          jquery-foxibox-0.2.min.js
 * author:        Stefan Benicke - www.opusonline.at
 * version:       0.2
 * last update:   30.09.2009
 * category:      jQuery plugin
 * copyright:     (c) 2009 Stefan Benicke (www.opusonline.at)
 * license:       GNU GPLv3 <http://www.gnu.org/licenses/>
 * documentation: http://www.opusonline.at/foxitools/foxibox/
 */
(function(a){a.fn.foxibox=function(K){K=jQuery.extend({speed:"normal",overlayOpacity:0.5,title:true,scale:true,border:10,textImage:"",textOf:"/",callback:function(){}},K);var p;var z;var E;var l;var v;var d;var L=false;var s=[];var F;var j;var m;var c;var g;var t;var C;var n;var D;var f;var w;var y;var u;var H;var r;var A;var e;var I;var k;var h='<div id="foxibox_overlay"></div><div id="foxibox_loader"></div><div id="foxibox_container"><img id="foxibox_image" src="" /></div><div id="foxibox_details"><div id="foxibox_title"></div><a href="#" id="close"></a><a href="#" id="scale"></a><div id="foxibox_nav"><a href="#" id="next"></a><a href="#" id="prev"></a><div></div></div></div>';a("body").append(h);a("#foxibox_overlay,#foxibox_loader,#foxibox_container,#foxibox_details").hide();x();o();a(window).scroll(function(){o()});a(window).resize(function(){if(L){a("#foxibox_overlay").hide();x();t=false;C=false;a("#foxibox_overlay").css({width:E,height:l}).show();a("#foxibox_image,#foxibox_title,#foxibox_details,#foxibox_details #scale").hide();i();a("#foxibox_loader").show();if(g){B(a(j[(m-1)]))}else{B(a(s[(F)]))}}});a(document).keydown(function(M){switch(M.keyCode){case 37:case 80:if(L){if(m>1){b("previous")}return false}break;case 39:case 78:if(L){if(m<c){b("next")}return false}break;case 27:case 67:if(L){G();return false}break}});a(this).each(function(){s[s.length]=this;a(this).bind("click",function(){q(this);return false})});function q(R){L=true;t=false;C=false;a("#foxibox_details,#foxibox_container,#foxibox_loader,#foxibox_overlay").remove();F=0;j=[];m=0;c=0;g=false;var N=a(R).attr("rel");var S=a(R).attr("href");var Q=/\[(?:.*)\]/;var M=Q.exec(N);for(var P=0;P<s.length;P++){var O=a(s[P]).attr("rel");var T=a(s[P]).attr("href");if(O.indexOf(M)!=-1&&O==N){c++;j[j.length]=s[P];if(T==S){F=P;m=c}}else{if(T==S){F=P}}}if(c>1){g=true}a("body").append(h);H=0;r=0;n=100;D=100;f=v+z/2-D/2-K.border;w=d+p/2-n/2-K.border;if(a.browser.msie&&a.browser.version<=6){}else{a("#foxibox_overlay").css("opacity",K.overlayOpacity)}a("#foxibox_overlay").css({width:E,height:l}).hide().bind("click",function(){G()});a("#foxibox_container").css({top:f,left:w,width:n,height:D,padding:K.border}).hide();a("#foxibox_details").css({top:f,left:w}).hide();i();a("#foxibox_loader").css({top:y,left:u}).hide();a("#foxibox_nav #prev").bind("click",function(){if(m>1){b("previous")}return false});a("#foxibox_nav #next").bind("click",function(){if(m<c){b("next")}return false});a("#foxibox_details #close").bind("click",function(){G();return false});a("#foxibox_details #scale").bind("click",function(){J();return false}).hide();a("#foxibox_nav,#foxibox_title,#foxibox_image").hide();a("#foxibox_overlay,#foxibox_container,#foxibox_loader").show();B(R)}function B(P){var R=a(P).attr("href");var T=a(P).attr("title");if(K.title&&T){a("#foxibox_title").text(T).show()}if(g){a("#foxibox_nav div").text(K.textImage+m+K.textOf+c);a("#foxibox_nav").show()}var O=0;var Q=0;var M=new Image();M.onload=function(){O=M.width;Q=M.height;a("#foxibox_details").css("width",O);var Y=a("#foxibox_details").height();n=O;D=Q+Y;var Z;if(!t&&K.scale){if((n+K.border*2)>p&&!t){Z=O/(p-K.border*2);O=Math.round(p-K.border*2);Q=Math.round(Q/Z)-Y;t=true}if((D+K.border*2)>z){Z=Q/(z-K.border*2-Y);Q=Math.round(z-K.border*2-Y);O=Math.round(O/Z);t=true}if(t){a("#foxibox_details").css("width",O);Y=a("#foxibox_details").height();D=Q+Y;n=O;a("#foxibox_details #scale").show()}}else{t=false}f=v+z/2-D/2-K.border;w=d+p/2-n/2-K.border;if(f<v){f=v}if(w<d){w=d}if(t&&!C){H=f;r=w;A=y;e=u;I=E;k=l}if(C){f=H;w=r;y=A;u=e}var V=f+Q+K.border;var U=w+K.border;x();var W=d+K.border*2+n;var X=v+K.border*2+D;if(W>E){a("#foxibox_overlay").css({width:W})}else{a("#foxibox_overlay").css({width:E})}if(X>l){a("#foxibox_overlay").css({height:X})}else{a("#foxibox_overlay").css({height:l})}a("#foxibox_loader").animate({top:y,left:u});a("#foxibox_container").animate({width:n,height:D,left:w,top:f},K.speed,function(){a("#foxibox_image").width(O).height(Q).attr("src",R);a("#foxibox_loader").hide();a("#foxibox_image").fadeIn(K.speed);a("#foxibox_details").css({top:V,left:U}).fadeIn(K.speed);if(C){a("#foxibox_overlay").css({width:I,height:k});C=false;x()}})};M.src=R;if(g){if(m>1){var N=new Image();N.src=a(j[(m-2)]).attr("href")}if(m<c){var S=new Image();S.src=a(j[(m)]).attr("href")}}}function b(M){if(M=="previous"){m--}else{m++}a("#foxibox_image,#foxibox_title,#foxibox_details,#foxibox_details #scale").hide();i();a("#foxibox_loader").show();t=false;B(a(j[(m-1)]))}function J(){if(!t){C=true}a("#foxibox_image,#foxibox_title,#foxibox_details").hide();i();a("#foxibox_loader").show();if(g){B(a(j[(m-1)]))}else{B(a(s[(F)]))}}function G(){a("#foxibox_details,#foxibox_container").fadeOut(K.speed);a("#foxibox_overlay").fadeOut(K.speed,function(){a("#foxibox_details,#foxibox_container,#foxibox_loader,#foxibox_overlay").remove()});L=false}function i(){y=v+z/2-a("#foxibox_loader").height()/2;u=d+p/2-a("#foxibox_loader").width()/2}function o(){v=a(document).scrollTop();d=a(document).scrollLeft()}function x(){z=a(window).height();p=a(window).width();E=a(document).width();l=a(document).height()}}})(jQuery);

