!function(e,t,n){function o(t,n){var o=this this.element=t,this.o=e.extend(!0,{},f,n),this._defaults=f,this._name=r,this.init(o),e(this.element).css({"-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",cursor:"pointer"})}var r="frameBox",a=t.document,f={general:{overSizing:!1,title:!0,description:!0,touchGestures:!0},blockOption:{close:!0,fullscreen:!0},frameboxLoader:{color:"#ffffff",diameter:40}} o.prototype.init=function(o){function r(){var n=y("div","frameBoxWrapper"),r=y("div","frameBoxBackground"),a=y("div","frameBoxContent"),i=y("div","frameBoxBar"),f=e(t).scrollLeft(),c=e(t).scrollTop(),l=y("div","frameboxLoader") l.attr("id","frameboxLoader").appendTo(n),r.on("click",z).appendTo(n),a.appendTo(n),i.appendTo(n),n.css({"-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",display:"none",top:c,left:f}).addClass("off").appendTo("body"),cl=new CanvasLoader("frameboxLoader"),cl.setColor(o.o.frameboxLoader.color),cl.setDiameter(o.o.frameboxLoader.diameter)}function f(){if(o.o.blockOption.close||o.o.blockOption.fullscreen){var t=y("div","blockOptions") if(o.o.blockOption.close){var n=y("span","optionClose") n.appendTo(t).on("click",z)}if(o.o.blockOption.fullscreen){e(".frameBoxWrapper").attr("id","frameBoxWrapper") var r=a.getElementById("frameBoxWrapper") if(r.requestFullScreen||r.webkitRequestFullScreen||r.mozRequestFullScreen){var i=y("span","optionFullscreen") i.appendTo(t).on("click",function(){l(r)})}}t.appendTo(".frameBoxBar")}}function c(e,t){e.hammer({swipe:!1}).on("drag",function(e){var n=0 "right"==e.direction?n=e.distance:"left"==e.direction&&(n=0-e.distance),t.css({marginLeft:n})}).on("dragend",function(e){t.css({marginLeft:"0"}),"right"==e.direction?m(q,-1):"left"==e.direction&&m(q,1)})}function l(n){if(n.requestFullScreen?n.requestFullScreen():n.webkitRequestFullScreen?n.webkitRequestFullScreen(n.ALLOW_KEYBOARD_INPUT):n.mozRequestFullScreen?n.mozRequestFullScreen():alert("Votre navigateur ne supporte pas le mode plein $eamp;cran."),n.requestFullScreen||n.webkitRequestFullScreen||n.mozRequestFullScreen){var o=e(".frameBoxWrapper").find(".blockOptions"),r=e(n).css("top") o.fadeOut(500),e(n).css("top","0"),e(".frameBoxBackground").off("click"),e(a).on("webkitfullscreenchange mozfullscreenchange fullscreenchange",function(){(a.fullscreen===!1||a.mozFullScreen===!1||a.webkitIsFullScreen===!1)&&(e(n).css("top",r),e(t).scrollTop(r.substring(0,r.length-2)),o.fadeIn(500),e(".frameBoxBackground").on("click",function(){z()}))})}}function s(){var n=e(t).scrollLeft(),o=e(t).scrollTop() e(".frameBoxWrapper").css({top:o,left:n})}function u(){}function d(n){var r=y("div","blockNav"),a=y("span","btnNext"),i=y("span","btnPrev") i.appendTo(r).on("click",function(){m(n,-1)}),a.appendTo(r).on("click",function(){m(n,1)}),r.appendTo(e(".frameBoxBar")),o.o.general.touchGestures&&c(e("#frameBoxWrapper"),e(".frameBoxContent")),e(t).on("keydown",function(t){if(e(".frameBoxWrapper").hasClass("on"))switch(t.preventDefault(),t.keyCode){case 27:z() break case 37:m(n,-1) break case 39:m(n,1)}})}function m(t,n){var o=e(".frameBoxContent").children().data("fbGroupNumber"),r=e('body *[data-fb-group="'+t+'"]'),a=r.length-1,i=r.eq(o+n) o+n>a?i=r.eq(0):0>o+n&&(i=r.eq(a)),e(".frameBoxContent").empty().width("auto").height("auto"),x(i)}function p(){e(".frameBoxContent").empty().width("auto").height("auto").removeData("fbSize"),e(".blockNav").empty().remove(),e(t).off(),e(".frameBoxWrapper").hammer().off("drag"),e(".frameBoxWrapper").hammer().off("dragend"),W.trigger("frameBoxClosed")}function h(t){var n=t.clone(!0) n.off("click").removeData("fbGroup").removeAttr("data-fb-group").appendTo(".frameBoxContent"),0!=e(".frameBoxContent").find(n).length&&S()}function v(t,n,o){e(".frameBoxContent").load(n,function(){e(this).children().data("fbGroupNumber",o),C(t,e(this))}).css("overflow","auto")}function g(t,n,o){var r=y("iframe") thisIframeContainer=y("div","iframeContainer"),$frameBoxContent=e(".frameBoxContent"),r.attr({id:"fbIframe",frameborder:"0",src:n}).appendTo(thisIframeContainer),thisIframeContainer.data("fbGroupNumber",o).appendTo($frameBoxContent),$frameBoxContent.css("overflow","hidden"),C(t,$frameBoxContent)}function b(t,n,r,a){var i=y("img") a&&(n=n+"?"+(new Date).getTime()),i.attr("src",n).data({thisType:"img",fbGroupNumber:r}).imagesLoaded({fail:function(){a?z():(i=null,b(t,n,r,!0))},done:function(){i.appendTo(".frameBoxContent").on("dragstart",function(){return!1}),e(".frameBoxContent").css("overflow","hidden"),C(t,e(".frameBoxContent")),o.o.general.title&&w(t,"title"),o.o.general.description&&w(t,"description")}})}function x(e){cl.show() var t=e.data("fbGroupNumber"),n=e.data("fbSrc") n?n&&("img"==B(n,"img")?b(e,n,t):"site"==B(n,"site")||"pdf"==B(n,"pdf")?g(e,n,t):v(e,n,t)):h(e)}function B(e,t){function n(e){var t=e.split("?") if(t.length>=2){var n=t.shift() e=n}return e}function o(n,o){var r=e.toLowerCase().match(n) if(r){for(i=0;ia-50||r>i-50)var s=a-50,u=i-50,d=Math.min(s/f,u/c),m=Math.ceil(f*d),p=Math.ceil(c*d) else{if(0==n)var s=a-50 else var s=n if(0==r)var u=i-50 else var u=r var d=Math.min(s/f,u/c) if(0!=n)var m=s else var m=Math.ceil(f*d) if(0!=r)var p=u else var p=Math.ceil(c*d)}else{var s=a-50,u=i-50,d=Math.min(s/f,u/c),m=Math.ceil(f*d),p=Math.ceil(c*d) o.o.general.overSizing||(m>f||p>c)&&(m=f,p=c)}e(".frameBoxContent").width(m).height(p).children().not(".frameBoxContentInfos").width("100%").height("100%"),e(".frameBoxContent").children(".iframeContainer")&&e(".frameBoxContent").find(".iframeContainer #fbIframe").attr({width:"100%",height:"100%"})}function w(t,n){var o,r=e.trim(t.data("fbTitle")),a=e.trim(t.data("fbDesc")) if(o=0==e(".frameBoxContentInfos").length?y("div","frameBoxContentInfos"):e(".frameBoxContentInfos"),r.length>0&&"title"==n){var i=y("h2","fbTitle").text(r) o.append(i)}if(a.length>0&&"description"==n){var f=y("p","fbDesc").text(a) o.append(f)}(a.length>0||r.length>0)&&o.appendTo(e(".frameBoxContent"))}function S(){var n=e(".frameBoxContent"),o=n.width(),r=n.height(),a=Math.round((e(t).width()-o)/2),i=Math.round((e(t).height()-r)/2) n.css({top:i,left:a}),cl.hide()}function T(){e("body").css("overflow","hidden"),e(".frameBoxWrapper").fadeIn(250,function(){e(this).removeClass("off").addClass("on"),W.trigger("frameBoxOpen")})}function z(){e(".frameBoxWrapper").removeClass("on").addClass("off").fadeOut(250,function(){e("body").css("overflow","auto"),p()})}function y(t,n){var o=a.createElement(t) return n&&e(o).addClass(n),e(o)}var W=e(this.element),q=W.data("fbGroup") if(q){var F=e('body *[data-fb-group="'+q+'"]').index(W) W.data("fbGroupNumber",F)}W.on("click",function(){0==e(".frameBoxWrapper").length?(r(),f()):(s(),u()),q&&d(q),T(),x(e(this))}) var I=e(t).height(),L=e(t).width() e(t).on("resize",function(){var o=e(t).height(),r=e(t).width() if(I==n||I!=o||L==n||L!=r){if(e(".frameBoxWrapper").hasClass("on")){if(e(".frameBoxContent").data("fbSize")){var a=e(".frameBoxContent").data("fbSize").split(/,/) k(a[0],a[1])}else k() S()}I=o,L=r}})},e.fn[r]=function(t){return this.each(function(){e.data(this,"plugin_"+r)||e.data(this,"plugin_"+r,new o(this,t))})}}(jQuery,window); //ImgLoader (function(c,n){var l="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///ywAAAAAAQABAAACAUwAOw==";c.fn.imagesLoaded=function(f){function m(){var b=c(i),a=c(h);d&&(h.length?d.reject(e,b,a):d.resolve(e));c.isFunction(f)&&f.call(g,e,b,a)}function j(b,a){b.src===l||-1!==c.inArray(b,k)||(k.push(b),a?h.push(b):i.push(b),c.data(b,"imagesLoaded",{isBroken:a,src:b.src}),o&&d.notifyWith(c(b),[a,e,c(i),c(h)]),e.length===k.length&&(setTimeout(m),e.unbind(".imagesLoaded")))}var g=this,d=c.isFunction(c.Deferred)?c.Deferred(): 0,o=c.isFunction(d.notify),e=g.find("img").add(g.filter("img")),k=[],i=[],h=[];c.isPlainObject(f)&&c.each(f,function(b,a){if("callback"===b)f=a;else if(d)d[b](a)});e.length?e.bind("load.imagesLoaded error.imagesLoaded",function(b){j(b.target,"error"===b.type)}).each(function(b,a){var d=a.src,e=c.data(a,"imagesLoaded");if(e&&e.src===d)j(a,e.isBroken);else if(a.complete&&a.naturalWidth!==n)j(a,0===a.naturalWidth||0===a.naturalHeight);else if(a.readyState||a.complete)a.src=l,a.src=d}):m();return d?d.promise(g): g}})(jQuery); //Hammer multi-touch gestures function Hammer(element,options,undefined){var self=this;var defaults={prevent_default:false,css_hacks:true,swipe:true,swipe_time:200,swipe_min_distance:20,drag:true,drag_vertical:true,drag_horizontal:true,drag_min_distance:20,transform:true,scale_treshold:0.1,rotation_treshold:15,tap:true,tap_double:true,tap_max_interval:300,tap_max_distance:10,tap_double_distance:20,hold:true,hold_timeout:500};options=mergeObject(defaults,options);(function(){if(!options.css_hacks)return false;var vendors=["webkit", "moz","ms","o",""];var css_props={"userSelect":"none","touchCallout":"none","userDrag":"none","tapHighlightColor":"rgba(0,0,0,0)"};var prop="";for(var i=0;i=45&&angle<135,left:angle>=135||angle<=-135,up:angle<-45&&angle>-135,right:angle>=-45&&angle<=45};var direction,key;for(key in directions)if(directions[key]){direction= key;break}return direction};this.destroy=function(){if(_has_touch)removeEvent(element,"touchstart touchmove touchend touchcancel",handleEvents);else{removeEvent(element,"mouseup mousedown mousemove",handleEvents);removeEvent(element,"mouseout",handleMouseOut)}};function countFingers(event){return event.touches?event.touches.length:1}function getXYfromEvent(event){event=event||window.event;if(!_has_touch){var doc=document,body=doc.body;return[{x:event.pageX||event.clientX+(doc&&doc.scrollLeft||body&& body.scrollLeft||0)-(doc&&doc.clientLeft||body&&doc.clientLeft||0),y:event.pageY||event.clientY+(doc&&doc.scrollTop||body&&body.scrollTop||0)-(doc&&doc.clientTop||body&&doc.clientTop||0)}]}else{var pos=[],src;for(var t=0,len=event.touches.length;ttouch_time&&_distance>options.swipe_min_distance){_angle= getAngle(_pos.start[0],_pos.move[0]);_direction=self.getDirectionFromAngle(_angle);_gesture="swipe";var position={x:_pos.move[0].x-_offset.left,y:_pos.move[0].y-_offset.top};var event_obj={originalEvent:event,position:position,direction:_direction,distance:_distance,distanceX:_distance_x,distanceY:_distance_y,angle:_angle};triggerEvent("swipe",event_obj)}},drag:function(event){var _distance_x=_pos.move[0].x-_pos.start[0].x;var _distance_y=_pos.move[0].y-_pos.start[0].y;_distance=Math.sqrt(_distance_x* _distance_x+_distance_y*_distance_y);if(options.drag&&_distance>options.drag_min_distance||_gesture=="drag"){_angle=getAngle(_pos.start[0],_pos.move[0]);_direction=self.getDirectionFromAngle(_angle);var is_vertical=_direction=="up"||_direction=="down";if((is_vertical&&!options.drag_vertical||!is_vertical&&!options.drag_horizontal)&&_distance>options.drag_min_distance)return;_gesture="drag";var position={x:_pos.move[0].x-_offset.left,y:_pos.move[0].y-_offset.top};var event_obj={originalEvent:event, position:position,direction:_direction,distance:_distance,distanceX:_distance_x,distanceY:_distance_y,angle:_angle};if(_first){triggerEvent("dragstart",event_obj);_first=false}triggerEvent("drag",event_obj);cancelEvent(event)}},transform:function(event){if(options.transform){var count=countFingers(event);if(count!==2)return false;var rotation=calculateRotation(_pos.start,_pos.move);var scale=calculateScale(_pos.start,_pos.move);if(_gesture==="transform"||Math.abs(1-scale)>options.scale_treshold|| Math.abs(rotation)>options.rotation_treshold){_gesture="transform";_pos.center={x:(_pos.move[0].x+_pos.move[1].x)/2-_offset.left,y:(_pos.move[0].y+_pos.move[1].y)/2-_offset.top};if(_first)_pos.startCenter=_pos.center;var _distance_x=_pos.center.x-_pos.startCenter.x;var _distance_y=_pos.center.y-_pos.startCenter.y;_distance=Math.sqrt(_distance_x*_distance_x+_distance_y*_distance_y);var event_obj={originalEvent:event,position:_pos.center,scale:scale,rotation:rotation,distance:_distance,distanceX:_distance_x, distanceY:_distance_y};if(_first){triggerEvent("transformstart",event_obj);_first=false}triggerEvent("transform",event_obj);cancelEvent(event);return true}}return false},tap:function(event){var now=(new Date).getTime();var touch_time=now-_touch_start_time;if(options.hold&&!(options.hold&&options.hold_timeout>touch_time))return;var is_double_tap=function(){if(_prev_tap_pos&&options.tap_double&&_prev_gesture=="tap"&&_touch_start_time-_prev_tap_end_time