(function($){$.facebox=function(data,klass){$.facebox.loading();if(data.ajax)fillFaceboxFromAjax(data.ajax,klass);else if(data.image)fillFaceboxFromImage(data.image,klass);else if(data.div)fillFaceboxFromHref(data.div,klass);else if($.isFunction(data))data.call($);else $.facebox.reveal(data,klass)};$.extend($.facebox,{settings:{opacity:.2,overlay:true,loadingImage:"/images/00_Core/facebox/loading.gif",closeImage:"/images/00_Core/facebox/closelabel.png",imageTypes:["png","jpg","jpeg","gif"],faceboxHtml:'    <div id="facebox" style="display:none;">       <div class="popup">         <div class="facebox-content">         </div>         <a href="#" class="close"><img src="/images/00_Core/facebox/closelabel.png" title="close" class="close_image" /></a>       </div>     </div>'},loading:function(){init();if($("#facebox .loading").length==1)return true;showOverlay();$("#facebox .facebox-content").empty();$("#facebox .facebox-content").children().hide().end().append('<div class="loading"><img src="'+$.facebox.settings.loadingImage+'"/></div>');$("#facebox").css({top:getPageScroll()[1]+getPageHeight()/10,left:($(window).width()-$("#facebox").width())/2}).show();$(document).bind("keydown.facebox",function(e){e.keyCode==27&&$.facebox.close();return true});$(document).trigger("loading.facebox")},reveal:function(data,klass){$(document).trigger("beforeReveal.facebox");klass&&$("#facebox .facebox-content").addClass(klass);$("#facebox .facebox-content").append(data);$("#facebox .loading").remove();$("#facebox .body").children().fadeIn("normal");$("#facebox").css("left",$(window).width()/2-$("#facebox .popup").width()/2);$(document).trigger("reveal.facebox").trigger("afterReveal.facebox")},close:function(){$(document).trigger("close.facebox");return false}});$.fn.facebox=function(settings){if($(this).length==0)return;init(settings);function clickHandler(){$.facebox.loading(true);var klass=this.rel.match(/facebox\[?\.(\w+)\]?/);if(klass)klass=klass[1];fillFaceboxFromHref(this.href,klass);return false}return this.bind("click.facebox",clickHandler)};function init(settings){if($.facebox.settings.inited)return true;else $.facebox.settings.inited=true;$(document).trigger("init.facebox");makeCompatible();var imageTypes=$.facebox.settings.imageTypes.join("|");$.facebox.settings.imageTypesRegexp=new RegExp(".("+imageTypes+")$","i");settings&&$.extend($.facebox.settings,settings);$("body").append($.facebox.settings.faceboxHtml);var preload=[new Image,new Image];preload[0].src=$.facebox.settings.closeImage;preload[1].src=$.facebox.settings.loadingImage;$("#facebox").find(".b:first, .bl").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",$.facebox.settings.closeImage)}function getPageScroll(){var xScroll,yScroll;if(self.pageYOffset){yScroll=self.pageYOffset;xScroll=self.pageXOffset}else if(document.documentElement&&document.documentElement.scrollTop){yScroll=document.documentElement.scrollTop;xScroll=document.documentElement.scrollLeft}else if(document.body){yScroll=document.body.scrollTop;xScroll=document.body.scrollLeft}return [xScroll,yScroll]}function getPageHeight(){var windowHeight;if(self.innerHeight)windowHeight=self.innerHeight;else if(document.documentElement&&document.documentElement.clientHeight)windowHeight=document.documentElement.clientHeight;else if(document.body)windowHeight=document.body.clientHeight;return windowHeight}function makeCompatible(){var $s=$.facebox.settings;$s.loadingImage=$s.loading_image||$s.loadingImage;$s.closeImage=$s.close_image||$s.closeImage;$s.imageTypes=$s.image_types||$s.imageTypes;$s.faceboxHtml=$s.facebox_html||$s.faceboxHtml}function fillFaceboxFromHref(href,klass){if(href.match(/#/)){var url=window.location.href.split("#")[0],target=href.replace(url,"");if(target=="#")return;$.facebox.reveal($(target).html(),klass)}else if(href.match($.facebox.settings.imageTypesRegexp))fillFaceboxFromImage(href,klass);else fillFaceboxFromAjax(href,klass)}function fillFaceboxFromImage(href,klass){var image=new Image;image.onload=function(){$.facebox.reveal('<div class="image"><img src="'+image.src+'" /></div>',klass)};image.src=href}function fillFaceboxFromAjax(href,klass){$.get(href,function(data){$.facebox.reveal(data,klass)})}function skipOverlay(){return $.facebox.settings.overlay==false||$.facebox.settings.opacity===null}function showOverlay(){if(skipOverlay())return;$("#facebox_overlay").length==0&&$("body").append('<div id="facebox_overlay" class="facebox_hide"></div>');$("#facebox_overlay").hide().addClass("facebox_overlayBG").css("opacity",$.facebox.settings.opacity).click(function(){$(document).trigger("close.facebox")}).fadeIn(200);return false}function hideOverlay(){if(skipOverlay())return;$("#facebox_overlay").fadeOut(200,function(){$("#facebox_overlay").removeClass("facebox_overlayBG");$("#facebox_overlay").addClass("facebox_hide");$("#facebox_overlay").remove()});return false}$(document).bind("close.facebox",function(){$(document).unbind("keydown.facebox");$("#facebox").fadeOut(function(){$("#facebox .facebox-content").removeClass().addClass("facebox-content");$("#facebox .loading").remove();$(document).trigger("afterClose.facebox")});hideOverlay()})})(jQuery)

