(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:0.2,overlay:true,loadingImage:'/imgs/loading.gif',closeImage:'/imgs/closelabel.png',imageTypes:['png','jpg','jpeg','gif'],faceboxHtml:'\ '},loading:function(){init() if($('#facebox .loading').length==1)return true showOverlay() $('#facebox .content').empty() $('#facebox .content').children().hide().end().append('




') $('#close_button').css('display','block');$('#facebox').css({top:getPageScroll()[1]+(getPageHeight()/10),left:$(window).width()/2-($('#facebox').width()/2)}).show() $(document).bind('keydown.facebox',function(e){if(e.keyCode==27)$.facebox.close() return true}) $(document).trigger('loading.facebox')},reveal:function(data,klass){$(document).trigger('beforeReveal.facebox') if(klass)$('#facebox .content').addClass(klass) $('#facebox .content').append(data) $('#facebox .loading').remove() $('#facebox .body').children().fadeIn('normal') $('#facebox').css('left',$(window).width()/2-($('#facebox').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') if(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_btn').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 new Array(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] var 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('
',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 if($('#facebox_overlay').length==0) $("body").append('
') $('#facebox_overlay').hide().addClass("facebox_overlayBG").css('opacity',$.facebox.settings.opacity).css('height',$("#page").css('height')).css('width',$("body").css('width')*0.98).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').slideUp(function(){$('#facebox .content').removeClass().addClass('content') $('#facebox .loading').remove() $(document).trigger('afterClose.facebox')}) hideOverlay()})})(jQuery);jQuery(document).ready(function($){$('#facebox').css('left',$(window).width()/2-($('#facebox .popup').width()/2)) $('a[target="facebox"]').facebox({loadingImage:'/imgs/loading.gif',closeImage:'/imgs/closelabel.png'});})