diff --git a/extlink.js b/extlink.js
index dadcf38..1e0c772 100644
--- a/extlink.js
+++ b/extlink.js
@@ -57,11 +57,10 @@ Drupal.extlink.attach = function (context, settings) {
   // all links by the browser, even local ones.
   // In jQuery 1.1 and higher, we'd use a filter method here, but it is not
   // available in jQuery 1.0 (Drupal 5 default).
-  var external_links = new Array();
-  var mailto_links = new Array();
+  var external_links = [], mailto_links = [], url = '';
   $("a:not(." + settings.extlink.extClass + ", ." + settings.extlink.mailtoClass + "), area:not(." + settings.extlink.extClass + ", ." + settings.extlink.mailtoClass + ")", context).each(function(el) {
     try {
-      var url = this.href.toLowerCase();
+      url = this.href.toLowerCase();
       if (url.indexOf('http') == 0
         && ((!url.match(internal_link) && !(extExclude && url.match(extExclude))) || (extInclude && url.match(extInclude)))
         && !(extCssExclude && $(this).parents(extCssExclude).length > 0)
@@ -70,8 +69,8 @@ Drupal.extlink.attach = function (context, settings) {
       }
       // Do not include area tags with begin with mailto: (this prohibits
       // icons from being added to image-maps).
-      else if (this.tagName != 'AREA' 
-        && url.indexOf('mailto:') == 0 
+      else if (this.tagName != 'AREA'
+        && url.indexOf('mailto:') == 0
         && !(extCssExclude && $(this).parents(extCssExclude).length > 0)
         && !(extCssExplicit && $(this).parents(extCssExplicit).length < 1)) {
         mailto_links.push(this);
@@ -106,7 +105,7 @@ Drupal.extlink.attach = function (context, settings) {
     if (settings.extlink.extAlert) {
       return confirm(settings.extlink.extAlertText);
     }
-   }
+   };
 
   $(external_links).click(function(e) {
     return Drupal.extlink.popupClickHandler(e);
