/*
 * LeaveNotice - plug in to notify users of leaving your site
 * Examples and documentation at: http://rewdy.com/tools/leavenotice-jquery-plugin
 * Version: 1.1.0 (06/23/2010)
 * Copyright (c) 2009 Andrew Meyer
 * Licensed under the MIT License: http://en.wikipedia.org/wiki/MIT_License
 * Requires: jQuery v1.2+
*/

(function(jQuery){jQuery.fn.leaveNotice=function(opt){var defaults={siteName:window.location.href,exitMessage:"<p><strong>You have requested a website outside of {SITENAME}.</strong></p><p>Thank you for visiting.</p>",preLinkMessage:"<div class='setoff'><p>You will now be directed to:<br/>{URL}</p></div>",linkString:"",timeOut:4000,overlayId:"ln-blackout",messageBoxId:"ln-messageBox",messageHolderId:"ln-messageHolder",overlayAlpha:0.5};var options=jQuery.extend(defaults,opt);return this.each(function(){el=jQuery(this);var href=el.attr('href');el.click(function(){jQuery('body').append('<div id="'+options.overlayId+'"></div>');jQuery('body').append('<div id="'+options.messageHolderId+'"><div id="'+options.messageBoxId+'"></div></div>');if(options.overlayAlpha!==false){jQuery('#'+options.overlayId).css('opacity',options.overlayAlpha)}preFilteredContent=options.exitMessage+options.preLinkMessage;msgContent=preFilteredContent.replace(/\{URL\}/g,'<a href="'+href+'" '+options.linkString+'>'+href+'</a>');msgContent=msgContent.replace(/\{SITENAME\}/g,options.siteName);if(options.timeOut>0){msgContent+='<p id="ln-cancelMessage"><a href="#close" id="ln-cancelLink">Cancel</a> or press the ESC key.</p>'}else{msgContent+='<p id="ln-cancelMessage">Click the link above to continue or <a href="#close" id="ln-cancelLink">Cancel</a></p>'}jQuery('#'+options.messageBoxId).append(msgContent);if(options.timeOut>0){leaveIn=setTimeout(function(){jQuery('#ln-cancelMessage').html('<em>Loading...</em>');window.location.href=href},options.timeOut)}else{leaveIn=false}jQuery('#ln-cancelLink').click(function(){closeDialog(options,leaveIn);return false});jQuery(document).bind('keyup',function(e){if(e.which==27){closeDialog(options,leaveIn)}});return false})})};function closeDialog(options,timer){if(options.timeOut>0){clearTimeout(timer)}jQuery('#'+options.overlayId+', #'+options.messageHolderId).fadeOut('fast',function(){jQuery('#'+options.overlayId+', #'+options.messageHolderId).remove()});jQuery(document).unbind('keyup')}})(jQuery);
