/* * Facebox (for jQuery) * version: 1.1 (03/01/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 ] * * Usage: * * jQuery(document).ready(function() { * jQuery('a[rel*=facebox]').facebox() * }) * * Terms * Loads the #terms div in the box * * Terms * Loads the terms.html page in the box * * Terms * Loads the terms.png image in the box * * * You can also use it programmatically: * * jQuery.facebox('some html') * * This will open a facebox with "some html" as the content. * * jQuery.facebox(function() { ajaxes }) * * This will show a loading screen before the passed function is called, * allowing for a better ajax experience. * */ var apptha = jQuery.noConflict(); (function(apptha) { apptha.facebox = function(data, klass) { apptha.facebox.init() apptha.facebox.loading() apptha.isFunction(data) ? data.call(apptha) : apptha.facebox.reveal(data, klass) } apptha.facebox.settings = { loading_image : 'loadinfo.gif', close_image : 'close.png', image_types : [ 'png', 'jpg', 'jpeg', 'gif' ], facebox_html : '\
\ ' } apptha.facebox.loading = function() { if (apptha('#facebox .loading').length == 1) return true apptha('#facebox .appthaContent').empty() apptha('#facebox .body').children().hide().end(). append('') var pageScroll = apptha.facebox.getPageScroll() apptha('#facebox').css({ top: pageScroll[1] + (apptha.facebox.getPageHeight() / 10), left: pageScroll[0] }).show() apptha('#popup_overlay').css({ top: 0, left: pageScroll[0], height: apptha(document).height() }).show() apptha(document).bind('keydown.facebox', function(e) { if (e.keyCode == 27) apptha.facebox.close() }) } apptha.facebox.reveal = function(data, klass) { if (klass) apptha('#facebox .appthaContent').addClass(klass) apptha('#facebox .appthaContent').append(data) apptha('#facebox .loading').remove() apptha('#facebox .body').children().fadeIn('normal') } apptha.facebox.close = function() { apptha("#popup_overlay").hide(); //apptha('#facebox .content').html('') apptha(document).trigger('close.facebox') return false } apptha(document).bind('close.facebox', function() { apptha(document).unbind('keydown.facebox') apptha('#facebox').fadeOut(function() { apptha('#facebox .appthaContent').removeClass().addClass('appthaContent'); }) }) apptha.fn.facebox = function(settings) { apptha.facebox.init(settings) var image_types = apptha.facebox.settings.image_types.join('|') image_types = new RegExp('\.' + image_types + 'apptha', 'i') function click_handler() { apptha("#popup_overlay").show(); apptha.facebox.loading(true) // support for rel="facebox[.inline_popup]" syntax, to add a class var klass = this.rel.match(/facebox\[\.(\w+)\]/) if (klass) klass = klass[1] // div if (this.href.match(/#/)) { var url = window.location.href.split('#')[0] var target = this.href.replace(url,'') apptha.facebox.reveal(apptha(target).clone().show(), klass) // image } else if (this.href.match(image_types)) { var image = new Image() image.onload = function() { apptha.facebox.reveal('