﻿(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]; b = b.replace(d, ""); a.facebox.reveal(a(b).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: "/facebox/loading.gif", closeImage: "/facebox/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="/facebox/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);