/*
 * Facebox (for jQuery)
 * version: 1.2 (05/05/2008)
 * @requires jQuery v1.2 or later
 *
 * Examples at http://famspam.com/facebox/
 *
 * Licensed under the MIT:
 *   http://www.opensource.org/licenses/mit-license.php
 *
 * Copyright 2007, 2008 Chris Wanstrath [ chris@ozmm.org ]
 */
(function(a){function e(b){if(a.facebox.settings.inited)return true;else a.facebox.settings.inited=true;a(document).trigger("init.facebox");j();var c=a.facebox.settings.imageTypes.join("|");a.facebox.settings.imageTypesRegexp=new RegExp("."+c+"$","i");b&&a.extend(a.facebox.settings,b);a("body").append(a.facebox.settings.faceboxHtml);var d=[new Image,new Image];d[0].src=a.facebox.settings.closeImage;d[1].src=a.facebox.settings.loadingImage;a("#facebox").find(".b:first, .bl, .br, .tl, .tr").each(function(){d.push(new Image); d.slice(-1).src=a(this).css("background-image").replace(/url\((.+)\)/,"$1")});a("#facebox .close").click(a.facebox.close);a("#facebox .close_image").attr("src",a.facebox.settings.closeImage)}function k(){var b,c;if(self.pageYOffset){c=self.pageYOffset;b=self.pageXOffset}else if(document.documentElement&&document.documentElement.scrollTop){c=document.documentElement.scrollTop;b=document.documentElement.scrollLeft}else if(document.body){c=document.body.scrollTop;b=document.body.scrollLeft}return new Array(b, c)}function l(){var b;if(self.innerHeight)b=self.innerHeight;else if(document.documentElement&&document.documentElement.clientHeight)b=document.documentElement.clientHeight;else if(document.body)b=document.body.clientHeight;return b}function j(){var b=a.facebox.settings;b.loadingImage=b.loading_image||b.loadingImage;b.closeImage=b.close_image||b.closeImage;b.imageTypes=b.image_types||b.imageTypes;b.faceboxHtml=b.facebox_html||b.faceboxHtml}function f(b,c){if(b.match(/#/)){var d=window.location.href.split("#")[0]; d=b.replace(d,"");a.facebox.reveal(a(d).clone().show(),c)}else b.match(a.facebox.settings.imageTypesRegexp)?g(b,c):h(b,c)}function g(b,c){var d=new Image;d.onload=function(){a.facebox.reveal('<div class="image"><img src="'+d.src+'" /></div>',c)};d.src=b}function h(b,c){a.get(b,function(d){a.facebox.reveal(d,c)})}function i(){return a.facebox.settings.overlay==false||a.facebox.settings.opacity===null}function m(){if(!i()){a("facebox_overlay").length==0&&a("body").append('<div id="facebox_overlay" class="facebox_hide"></div>'); a("#facebox_overlay").hide().addClass("facebox_overlayBG").css("opacity",a.facebox.settings.opacity).click(function(){a(document).trigger("close.facebox")}).fadeIn(200);return false}}function n(){if(!i()){a("#facebox_overlay").fadeOut(200,function(){a("#facebox_overlay").removeClass("facebox_overlayBG");a("#facebox_overlay").addClass("facebox_hide");a("#facebox_overlay").remove()});return false}}a.facebox=function(b,c){a.facebox.loading();if(b.ajax)h(b.ajax);else if(b.image)g(b.image);else if(b.div)f(b.div); else a.isFunction(b)?b.call(a):a.facebox.reveal(b,c)};a.extend(a.facebox,{settings:{opacity:0,overlay:true,loadingImage:"/essentials/scripts/loading.gif",closeImage:"/essentials/scripts/closelabel.gif",imageTypes:["png","jpg","jpeg","gif"],faceboxHtml:'<div id="facebox" style="display:none;"> <div class="popup"> <table> <tbody> <tr> <td class="tl"/><td class="b"/><td class="tr"/> </tr> <tr> <td class="b"/> <td class="body"> <div class="content"> </div> <div class="footer"> <a href="#" class="close">  <img src="/essentials/scripts/closelabel.gif" title="close" class="close_image" /> </a> </div> </td> <td class="b"/> </tr> <tr> <td class="bl"/><td class="b"/><td class="br"/> </tr> </tbody> </table> </div> </div>'}, loading:function(){e();if(a("#facebox .loading").length==1)return true;m();a("#facebox .content").empty();a("#facebox .body").children().hide().end().append('<div class="loading"><img src="'+a.facebox.settings.loadingImage+'"/></div>');a("#facebox").css({top:k()[1]+l()/10,left:385.5}).show();a(document).bind("keydown.facebox",function(b){b.keyCode==27&&a.facebox.close();return true});a(document).trigger("loading.facebox")},reveal:function(b,c){a(document).trigger("beforeReveal.facebox");c&&a("#facebox .content").addClass(c); a("#facebox .content").append(b);a("#facebox .loading").remove();a("#facebox .body").children().fadeIn("normal");a("#facebox").css("left",a(window).width()/2-a("#facebox table").width()/2);a(document).trigger("reveal.facebox").trigger("afterReveal.facebox")},close:function(){a(document).trigger("close.facebox");return false}});a.fn.facebox=function(b){function c(){a.facebox.loading(true);var d=this.rel.match(/facebox\[?\.(\w+)\]?/);if(d)d=d[1];f(this.href,d);return false}e(b);return this.click(c)}; a(document).bind("close.facebox",function(){a(document).unbind("keydown.facebox");a("#facebox").fadeOut(function(){a("#facebox .content").removeClass().addClass("content");n();a("#facebox .loading").remove()})})})(jQuery);