(function($){$.facebox=function(data,klass){init(data);$.facebox.loading();if(data.ajax||data.url)fillFaceboxFromAjax(data.url?data.url:data.ajax,klass);else if($.isFunction(data))data.call($);else $.facebox.reveal(data,klass)};$.extend($.facebox,{settings:{url:false,overlay:0.25,titre:"",skin:"facebook",width:"480px",minwidth:"480px",minheight:"auto",height:"auto",maxwidth:"auto",maxheight:"auto",marginBorder:"100px",loadingImage:"loading.gif",closeImage:"null.gif",imageTypes:["png","jpg","jpeg",
"gif"],faceboxHtml:'<div id="facebox" style="display:none;"> \t<div class="popup"> \t\t<table> \t\t\t<tbody> \t\t\t\t<tr><td class="tl"/><td class="b"/><td class="tr"/></tr> \t\t\t\t<tr> \t\t\t\t\t<td class="b"/> \t\t\t\t\t\t<td class="body"> \t\t\t\t\t\t\t<div class="header"> \t\t\t\t\t\t\t\t<div class="titleb"></div> \t\t\t\t\t\t\t\t<div class="closeb"><a href="javascript:;" class="close"><img src="/api/js/facebox/null.gif" width="14px" height=14px" title="Fermer" class="close_image" /></a></div> \t\t\t\t\t\t\t\t<div style="clear:both;"></div> \t\t\t\t\t\t\t</div> \t\t\t\t\t\t\t<div class="content"></div> \t\t\t\t\t\t</td> \t\t\t\t\t<td class="b"/> \t\t\t\t</tr> \t\t\t\t<tr><td class="bl"/><td class="b"/><td class="br"/></tr> \t\t\t</tbody> \t\t</table> \t</div> </div>'},
loading:function(){init();if($("#facebox .loading").length==1)return true;showOverlay();$("#facebox .content").empty();$("#facebox .body").children().hide().end().append('<div class="loading"><img src="/api/js/facebox/'+$.facebox.settings.loadingImage+'"/></div>');$("#facebox").css({top:"0px",left:"50%","margin-left":"-"+$.facebox.settings.width.replace("px","")/2+"px"}).show();$(document).bind("keydown.facebox",function(e){if(e.keyCode==27)$.facebox.close();return true});$(document).trigger("loading.facebox")},
reveal:function(data,klass,titre){$("#facebox .body").addClass($.facebox.settings.skin);$(document).trigger("beforeReveal.facebox");if(klass)$("#facebox .content").addClass(klass);if(titre)$("#facebox .header .titleb").html(titre);$("#facebox .content").append(data);$("#facebox .loading").remove();$("#facebox .body").children().fadeIn("normal");if(navigator.appName=="Microsoft Internet Explorer")$("#facebox").css({top:"20%",left:"50%"}).show();else $("#facebox").css({top:"50%",left:"50%"}).show();
$.facebox.calculSize();$(document).trigger("reveal.facebox").trigger("afterReveal.facebox");setInterval("$.facebox.calculSize()",500)},close:function(){$(document).trigger("close.facebox");$("#facebox").remove();return false},calculSize:function(){if($.facebox.settings.width!="auto")$.facebox.settings.width=parseFloat($.facebox.settings.width);if($.facebox.settings.height!="auto")$.facebox.settings.height=parseInt($.facebox.settings.height);if($.facebox.settings.minwidth!="auto")$.facebox.settings.minwidth=
parseInt($.facebox.settings.minwidth);if($.facebox.settings.minheight!="auto")$.facebox.settings.minheight=parseInt($.facebox.settings.minheight);if($.facebox.settings.maxwidth!="auto")$.facebox.settings.maxwidth=parseInt($.facebox.settings.maxwidth);if($.facebox.settings.maxheight!="auto")$.facebox.settings.maxheight=parseInt($.facebox.settings.maxheight);if($.facebox.settings.marginBorder!="auto")$.facebox.settings.marginBorder=parseInt($.facebox.settings.marginBorder);var maxWidth=$(window).width();
var diffWidth=$("#facebox").width()-$("#facebox .content").width();maxWidth=maxWidth-diffWidth-$.facebox.settings.marginBorder;var maxHeight=$(window).height();var diffHeight=$("#facebox").height()-$("#facebox .content").height();maxHeight=maxHeight-diffHeight-$.facebox.settings.marginBorder;if($.facebox.settings.height!="auto"&&$.facebox.settings.height>maxHeight)$.facebox.settings.height=maxHeight;if($.facebox.settings.minheight!="auto"&&$.facebox.settings.height=="auto"&&$("#facebox").height()<
$.facebox.settings.minheight)$.facebox.settings.height=$.facebox.settings.minheight;if($.facebox.settings.maxheight!="auto"){maxHeight=$.facebox.settings.maxheight;if(maxHeight>$(window).height())maxHeight=$(window).height()-diffHeight-$.facebox.settings.marginBorder}if($.facebox.settings.width!="auto"&&$.facebox.settings.width>maxWidth)$.facebox.settings.width=maxWidth;if($.facebox.settings.minwidth!="auto"&&$.facebox.settings.width=="auto"&&$("#facebox").width()<$.facebox.settings.minwidth)$.facebox.settings.width=
$.facebox.settings.minwidth;if($.facebox.settings.maxwidth!="auto"){maxWidth=$.facebox.settings.maxwidth;if(maxWidth>$(window).width())maxwidth=$(window).width()-diffWidth-$.facebox.settings.marginBorder}$("#facebox .content").css({"min-width":$.facebox.settings.minwidth+"px","max-height":maxHeight+"px","max-width":maxWidth+"px","height":$.facebox.settings.height=="auto"?"auto":$.facebox.settings.height+"px","width":$.facebox.settings.width=="auto"?"auto":$.facebox.settings.width+"px"});var posHeight=
$("#facebox").height();var posWidth=$("#facebox").width();$("#facebox").css({"margin-top":"-"+Math.round(posHeight/2)+"px","margin-left":"-"+Math.round(posWidth/2)+"px"})}});$.fn.facebox=function(settings){init(settings);function clickHandler(){$.facebox.loading(true);var klass=this.rel.match(/facebox\[?\.(\w+)\]?/);if(klass)klass=klass[1];fillFaceboxFromAjax(this.href,klass);return false}return this.click(clickHandler)};function init(settings){$(document).trigger("init.facebox");var imageTypes=$.facebox.settings.imageTypes.join("|");
$.facebox.settings.imageTypesRegexp=new RegExp("."+imageTypes+"$","i");if(settings)$.extend($.facebox.settings,settings);if($("#facebox").length==0)$("body").append($.facebox.settings.faceboxHtml);$("#facebox .body").css({width:$.facebox.settings.width}).removeClass().addClass("body").addClass($.facebox.settings.skin);$("#facebox .header .titleb").html($.facebox.settings.titre);if($("#facebox").length==0){var preload=[new Image,new Image];preload[0].src="/api/js/facebox/"+$.facebox.settings.closeImage;
preload[1].src="/api/js/facebox/"+$.facebox.settings.loadingImage;$("#facebox").find(".b:first, .bl, .br, .tl, .tr").each(function(){preload.push(new Image);preload.slice(-1).src=$(this).css("background-image").replace(/url\((.+)\)/,"$1")})}$("#facebox .close").click($.facebox.close);$("#facebox .close_image").attr("src","/api/js/facebox/"+$.facebox.settings.closeImage)}function fillFaceboxFromAjax(href,klass){$.ajax({url:href,error:function(err){if(err.status=="404")$.facebox.reveal("<div class='main' style='text-align:center;'><h1>Une erreur est survenue !</h1>Veuillez réessayer ulterieurement.</div><div class='footer'><input type='button' value='Fermer' class='cancel' onclick=\"$('.close_image').trigger('click');\" /></div>",
klass,"Erreur !")},success:function(data){$.facebox.reveal(data,klass)}})}function showOverlay(){if($.facebox.settings.overlay>0){if($("facebox_overlay").length==0)$("body").append('<div id="facebox_overlay" class="facebox_hide"></div>');$("#facebox_overlay").addClass("facebox_overlayBG").css("opacity","0.25").click(function(){$(document).trigger("close.facebox")}).fadeIn(200);return false}else return}function hideOverlay(){if($.facebox.settings.overlay>0){$("#facebox .content").css({height:"auto",
top:"0",left:"0",width:$.facebox.settings.auto});$("#facebox_overlay").fadeOut(200,function(){$("#facebox_overlay").removeClass("facebox_overlayBG");$("#facebox_overlay").addClass("facebox_hide");$("#facebox_overlay").remove()});return false}else return}$(document).bind("close.facebox",function(){$(document).unbind("keydown.facebox");$("#facebox").fadeOut(function(){$("#facebox .content").removeClass().addClass("content");hideOverlay();$("#facebox .loading").remove()})})})(jQuery);

