/*
 * LeaveNotice - plug in to notify users of leaving your site
 * Examples and documentation at: http://rewdy.com/tools/leavenotice-jquery-plugin
 * Version: 1.1.1 (09/27/2010)
 * Copyright (c) 2010 Andrew Meyer
 * Licensed under the MIT License: http://en.wikipedia.org/wiki/MIT_License
 * Requires: jQuery v1.4+
*/

(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",displayUrlLength:50,overlayAlpha:0.3};var options=jQuery.extend(defaults,opt);return this.each(function(){el=jQuery(this);var url=el.attr('href');var ulen=options.displayUrlLength;if(url.length>=ulen){var suffix="..."}else{var suffix=""}var shortUrl=url.substr(0,ulen)+suffix;var title=el.attr('title');if(title!=""){var linkText=title}else if(title==""){var linkText=shortUrl}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="'+url+'" title="'+url+'"'+options.linkString+'>'+linkText+'</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);$("#leaveLink").click(function(){closeDialog(options,leaveIn)});if(options.timeOut>0){leaveIn=setTimeout(function(){jQuery('#ln-cancelMessage').html('<em>Loading...</em>');window.location.href=url},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)}});$(window).unload(function(){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);
