$.fn.extend({flyout:function(M){var J=false;var N=false;var C;var L;var D;var A;var G;var H=new Image();var K="img";var F;this.click(function(){if(N==true){return false}if(J){E(this)}else{I(this)}return false});var B=jQuery.extend({outSpeed:1000,inSpeed:500,outEase:"swing",inEase:"swing",loadingSrc:null,loader:"loader",loaderZIndex:500,widthMargin:40,heightMargin:40,loadingText:"Loading...",closeTip:" - Click here to close",destPadding:20,startOffsetX:0,startOffsetY:0,startHeight:0,startWidth:0,flyOutStart:function(){},flyOutFinish:function(){},putAwayStart:function(){},putAwayFinish:function(){},shownClass:"shown"},M);function I(O){N=true;C=$(O);L=$("img",O);H=new Image();sL=$(window).scrollLeft();sT=$(window).scrollTop();D=L.offset();D.left+=B.startOffsetX;D.top+=B.startOffsetY;A=(B.startHeight>0?B.startHeight:L.height());G=(B.startWidth>0?B.startWidth:L.width());$("<div></div>").attr("id",B.loader).appendTo("body").css({position:"absolute",top:D.top,left:D.left,height:A,width:G,opacity:0.5,display:"block","z-index":B.loaderZIndex});if(B.loadingSrc){$("#"+B.loader).append($("<img/>").load(function(){$(this).css({position:"relative",top:A/2-(this.height/2),left:G/2-(this.width/2)}).attr("alt",B.loadingText)}).attr("src",B.loadingSrc))}else{$("#"+B.loader).append($("<span></span>").text(B.loadingText).css({position:"relative",top:"2px",left:"2px",color:"#FFF","font-size":"9px"}))}$(H).load(function(){imgtag=$("<img/>").attr("src",C.attr("href")).attr("title",L.attr("title")+B.closeTip).attr("alt",L.attr("alt")+B.closeTip).height(A).width(G);B.flyOutStart.call(O);if(B.destElement){var P=$(B.destElement);max_x=P.innerWidth()-(B.destPadding*2);max_y=P.innerHeight()-(B.destPadding*2)}else{max_x=$(window).width()-B.widthMargin;if($.browser.opera){wh=document.getElementsByTagName("html")[0].clientHeight}else{wh=$(window).height()}max_y=wh-B.heightMargin}width=H.width;height=H.height;x_dim=max_x/width;y_dim=max_y/height;if(x_dim<=y_dim){y_dim=x_dim}else{x_dim=y_dim}dw=Math.round(width*x_dim);dh=Math.round(height*y_dim);if(dw>width){dw=width}if(dh>height){dh=height}if(B.destElement){dPos=P.offset();dl=Math.round((P.outerWidth()/2)-(dw/2)+dPos.left);dt=Math.round((P.outerHeight()/2)-(dh/2)+dPos.top)}else{dl=Math.round(($(window).width()/2)-(dw/2)+sL);if($.browser.opera){wh=document.getElementsByTagName("html")[0].clientHeight}else{wh=$(window).height()}dt=Math.round((wh/2)-(dh/2)+sT)}$("#"+B.loader).empty().css("opacity",1).append(imgtag).width("auto").height("auto").animate({top:dt,left:dl},{duration:B.outSpeed,queue:false,easing:B.outEase});$("#"+B.loader+" "+K).animate({height:dh,width:dw},B.outSpeed,B.outEase,function(){B.flyOutFinish.call(O);J=O;C.addClass(B.shownClass);N=false;$("#"+B.loader+" "+K).click(function(){E(null)})})});H.src=C.attr("href")}function E(O){if(N==true||J==false){return false}B.putAwayStart.call(J);N=true;D=L.offset();D.left+=B.startOffsetX;D.top+=B.startOffsetY;$("#"+B.loader).animate({top:D.top,left:D.left},{duration:B.inSpeed,queue:false,easing:B.inEase});$("#"+B.loader+" "+K).animate({height:A,width:G},B.inSpeed,B.inEase,function(){$("#"+B.loader).css("display","none").remove();B.putAwayFinish.call(J);N=false;H=null;if(O&&O!=J){J=false;I(O)}J=false;C.removeClass(B.shownClass)})}return this}});