/* jQuery FlyOut - Jolyon Terwilliger, Nixbox Web Designs - http://nixboxdesigns.com/jquery.flyout.php */
jQuery.fn.extend({flyout:function(c){var d=false;var e=false;var f;var g;var h;var i;var j;var k=new Image();var l='img';var m;this.click(function(){if(e==true){return false}if(d){putAway(this)}else{flyOut(this)}return false});var o=jQuery.extend({outSpeed:1000,inSpeed:500,outEase:'swing',inEase:'swing',loadingSrc:null,loader:'loader',loaderZIndex:500,widthMargin:40,heightMargin:40,loadingText:"Loading...",closeTip:" - Cliquer pour fermer",destPadding:20,startOffsetX:0,startOffsetY:0,startHeight:0,startWidth:0,flyOutStart:function(){},flyOutFinish:function(){},putAwayStart:function(){},putAwayFinish:function(){},shownClass:'shown'},c);function flyOut(b){e=true;f=jQuery(b);g=jQuery('img',b);k=new Image();sL=jQuery(window).scrollLeft();sT=jQuery(window).scrollTop();h=g.offset();h.left+=o.startOffsetX;h.top+=o.startOffsetY;i=(o.startHeight>0?o.startHeight:g.height());j=(o.startWidth>0?o.startWidth:g.width());jQuery('<div></div>').attr('id',o.loader).appendTo('body').css({'position':'absolute','top':h.top,'left':h.left,'height':i,'width':j,'opacity':.5,'display':'block','z-index':o.loaderZIndex});if(o.loadingSrc){jQuery('#'+o.loader).append(jQuery('<img/>').load(function(){jQuery(this).css({'position':'relative','top':i/2-(this.height/2),'left':j/2-(this.width/2)}).attr('alt',o.loadingText)}).attr('src',o.loadingSrc))}else{jQuery('#'+o.loader).css('background-color','#000').append(jQuery('<span></span>').text(o.loadingText).css({'position':'relative','top':'2px','left':'2px','color':'#FFF','font-size':'9px'}))}jQuery(k).load(function(){imgtag=jQuery('<img/>').attr('src',f.attr('href')).attr('title',g.attr('title')+o.closeTip).attr('alt',g.attr('alt')+o.closeTip).height(i).width(j);o.flyOutStart.call(b);if(o.destElement){var a=jQuery(o.destElement);max_x=a.innerWidth()-(o.destPadding*2);max_y=a.innerHeight()-(o.destPadding*2)}else{max_x=jQuery(window).width()-o.widthMargin;if(jQuery.browser.opera)wh=document.getElementsByTagName('html')[0].clientHeight;else wh=jQuery(window).height();max_y=wh-o.heightMargin}width=k.width;height=k.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(o.destElement){dPos=a.offset();dl=Math.round((a.outerWidth()/2)-(dw/2)+dPos.left);dt=Math.round((a.outerHeight()/2)-(dh/2)+dPos.top)}else{dl=Math.round((jQuery(window).width()/2)-(dw/2)+sL);if(jQuery.browser.opera)wh=document.getElementsByTagName('html')[0].clientHeight;else wh=jQuery(window).height();dt=Math.round((wh/2)-(dh/2)+sT)}jQuery('#'+o.loader).empty().css('opacity',1).append(imgtag).width('auto').height('auto').animate({top:dt,left:dl},{duration:o.outSpeed,queue:false,easing:o.outEase});jQuery('#'+o.loader+' '+l).animate({height:dh,width:dw},o.outSpeed,o.outEase,function(){o.flyOutFinish.call(b);d=b;f.addClass(o.shownClass);e=false;jQuery('#'+o.loader+' '+l).click(function(){putAway(null)})})});k.src=f.attr('href')}function putAway(a){if(e==true||d==false){return false}o.putAwayStart.call(d);e=true;h=g.offset();h.left+=o.startOffsetX;h.top+=o.startOffsetY;jQuery('#'+o.loader).animate({top:h.top,left:h.left},{duration:o.inSpeed,queue:false,easing:o.inEase});jQuery('#'+o.loader+' '+l).animate({height:i,width:j},o.inSpeed,o.inEase,function(){jQuery('#'+o.loader).css('display','none').remove();o.putAwayFinish.call(d);e=false;k=null;if(a&&a!=d){d=false;flyOut(a)}d=false;f.removeClass(o.shownClass)})}return this}});
