(function($){$.facebox=function(data,sclass){$.facebox.loading();if(data.ajax){fillFaceboxFromAjax(data.ajax)}else if(data.div){fillFaceboxFromHref(data.div)}else if($.isFunction(data)){data.call($)}else{$.facebox.reveal(data,sclass);}}
$.extend($.facebox,{settings:{opacity:0.3,overlay:true,loadingImage:'/css/img/loading.gif',faceboxHtml:'<div id="facebox" style="display:none;"><div class="body"><div class="footer"><a href="#" class="close"> '+i18n.close+' </a></div><div class="content"></div></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="'+$.facebox.settings.loadingImage+'"/></div>');$('#facebox').css({top:getPageScroll()[1]+(getPageHeight()/10),left:385.5}).show();$(document).bind('keydown.facebox',function(e){if(e.keyCode==27){$.facebox.close()}return true});$(document).trigger('loading.facebox')},reveal:function(data,sclass){$(document).trigger('beforeReveal.facebox');if(sclass){$('#facebox .content').addClass(sclass)}$('#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){init(settings);function clickHandler(){$.facebox.loading(true);var sclass=this.rel.match(/facebox\[?\.(\w+)\]?/);if(sclass){sclass=sclass[1]}fillFaceboxFromHref(this.href,sclass);return false;}return this.click(clickHandler);}
function init(settings){if($.facebox.settings.inited){return true;}else{$.facebox.settings.inited=true}$(document).trigger('init.facebox');makeCompatible();if(settings){$.extend($.facebox.settings,settings)}$('body').append($.facebox.settings.faceboxHtml);var preload=[new Image(),new Image()];preload[1].src=$.facebox.settings.loadingImage;$('#facebox .close').click($.facebox.close)}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.faceboxHtml=$s.facebox_html||$s.faceboxHtml}function fillFaceboxFromHref(href,sclass){if(href.match(/#/)){var url=window.location.href.split('#')[0];var target=href.replace(url,'');$.facebox.reveal($(target).clone().show(),sclass)}else{fillFaceboxFromAjax(href,sclass)}}function fillFaceboxFromAjax(href,sclass){$.get(href,function(data){$.facebox.reveal(data,sclass)})}function skipOverlay(){return $.facebox.settings.overlay==false||$.facebox.settings.opacity===null}function showOverlay(){if(skipOverlay()){return}if($('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 .content').removeClass().addClass('content');hideOverlay();$('#facebox .loading').remove()})})})(jQuery);
