if (Drupal.jsEnabled) {
  $(document).ready( function () {
    $('a.toc-toggle').click(function() {
      $('.toc-list').slideToggle();
	  var text = $('a.toc-toggle').text();
	  if (text == 'hide') {
		  $('a.toc-toggle').html('show');
      } else {
		  $('a.toc-toggle').html('hide');
      }
	  return false;
	});
  });
};$(document).ready(function() {
    $('.pager a').each( function() { 
      $(this).text($(this).text().replace(/Visit(.*)Page /,''));
    });
});;// $Id: jstools.js,v 1.9.2.8 2007/08/08 21:26:07 nedjo Exp $

Drupal.behaviors = Drupal.behaviors || {};

/**
 * Attach registered behaviors.
 */
Drupal.attachBehaviors = function(context) {
  context = context || document;
  if (Drupal.jsEnabled && Drupal.behaviors) {
    // Execute all of them.
    jQuery.each(Drupal.behaviors, function() {
      this(context);
    });
  }
};

Drupal.preventSelect = function (elt) {
  // IE hack to prevent selection of the text when users click.
  if (document.onselectstart) {
    elt.onselectstart = function () {
      return false;
    }
  }
  else {
    $(elt).mousedown(function () {
      return false;
    });
  }
};

/**
 * Returns an event's source element.
 */
Drupal.getTarget = function (e) {	
  if (!e) e = window.event;	
  var target = e.target ? e.target : e.srcElement;
  if (!target) return null;
  if (target.nodeType == 3) target = target.parentNode; // safari weirdness		
  if (target.tagName.toUpperCase() == 'LABEL' && e.type == 'click') { 
    // When clicking a label, firefox fires the input onclick event
    // but the label remains the source of the event. In Opera and IE 
    // the source of the event is the input element.
    if (target.getAttribute('for')) {
      target = document.getElementById(target.getAttribute('for'));
    }
  }
  return target;
};

Drupal.url = function (path, query, fragment) {
  query = query ? query : '';
  fragment = fragment ? '#' + fragment : '';
  var base = Drupal.settings.jstools.basePath;
  if (!Drupal.settings.jstools.cleanurls) {
    if (query) {
      return base + '?q=' + path + '&' + query + fragment;
    }
    else {
      return base + '?q=' + path + fragment;
    }
  }
  else {
    if (query) {
      return base + path + '?' + query + fragment;
    }
    else {
      return base + path + fragment;
    }
  }
};

/**
 * Return the Drupal path portion of an href.
 */
Drupal.getPath = function (href) {
  href = Drupal.pathPortion(href);
  // 3 is the length of the '?q=' added to the url without clean urls.
  href = href.substring(Drupal.settings.jstools.basePath.length + (Drupal.settings.jstools.cleanurls ? 0 : 3), href.length);
  var chars = ['#', '?', '&'];
  for (i in chars) {
    if (href.indexOf(chars[i]) > -1) {
      href = href.substr(0, href.indexOf(chars[i]));
    }
  }
  return href;
};

/**
 * Add a segment to the beginning of a path.
 */
Drupal.prependPath = function (href, segment) {
  href = Drupal.pathPortion(href);
  // 3 is the length of the '?q=' added to the url without clean urls.
  var baseLength = Drupal.settings.jstools.basePath.length + (Drupal.settings.jstools.cleanurls ? 0 : 3);
  var base = href.substring(0, baseLength);
  return base + segment + '/' + href.substring(baseLength, href.length);
};

/**
 * Strip off the protocol plus domain from an href.
 */
Drupal.pathPortion = function (href) {
  // Remove e.g. http://example.com if present.
  var protocol = window.location.protocol;
  if (href.substring(0, protocol.length) == protocol) {
    // 2 is the length of the '//' that normally follows the protocol
    href = href.substring(href.indexOf('/', protocol.length + 2));
  }
  return href;
};

/**
 * Redirects a form submission to a hidden iframe and displays the result
 * in a given wrapper. The iframe should contain a call to
 * window.parent.iframeHandler() after submission.
 */
Drupal.redirectFormSubmit = function (uri, form, handler) {
  $(form).submit(function() {
    // Create target iframe
    Drupal.createIframe();

    // Prepare variables for use in anonymous function.
    var form = this;

    // Redirect form submission to iframe
    this.action = uri;
    this.target = 'redirect-target';

    handler.onsubmit();

    // Set iframe handler for later
    window.iframeHandler = function () {
      var iframe = $('#redirect-target').get(0);

      // Get response from iframe body
      try {
        response = (iframe.contentWindow || iframe.contentDocument || iframe).document.body.innerHTML;
        // Firefox 1.0.x hack: Remove (corrupted) control characters
        response = response.replace(/[\f\n\r\t]/g, ' ');
        if (window.opera) {
          // Opera-hack: it returns innerHTML sanitized.
          response = response.replace(/&quot;/g, '"');
        }
      }
      catch (e) {
        response = null;
      }

      response = Drupal.parseJson(response);
      // Check response code
      if (response.status == 0) {
        handler.onerror(response.data);
        return;
      }
      handler.oncomplete(response.data);

      return true;
    };

    return true;
  });
};

/**
 * Scroll to a given element's vertical page position.
 */
Drupal.scrollTo = function(el) {
  var pos = Drupal.absolutePosition(el);
  window.scrollTo(0, pos.y);
};

Drupal.elementChildren = function (element) {
  var children = [];
  for (i in element) {
    if (i.substr(0, 1) != '#') {
      children[children.length] = i;
    }
  }
  return children;
};

Drupal.elementProperties = function (element) {
  var properties = [];
  for (i in element) {
    if (i.substr(0, 1) == '#') {
      properties[properties.length] = i;
    }
  }
  return properties;
};

Drupal.parseQueryString = function (href) {
  query = Drupal.getQueryString(href);
  var args = {};
  var pairs = query.split("&");
  for(var i = 0; i < pairs.length; i++) {
    var pos = pairs[i].indexOf('=');
    if (pos == -1) continue;
    var argname = pairs[i].substring(0, pos);
    var value = pairs[i].substring(pos + 1);
    args[argname] = unescape(value.replace(/\+/g, " "));
  }
  return args;
};

Drupal.getQueryString = function (href) {
  if (href) {
    var index = href.indexOf('?');
    href = (index == -1) ? '' : href.substring(index + 1);
  }
  query = href ? href : location.search.substring(1);
  if (!Drupal.settings.jstools.cleanurls) {
    var index = query.indexOf('&');
    query = (index == -1) ? '' : query.substring(index + 1);
  }
  return query;
};

Drupal.pathMatch = function (path, paths, type) {
  // Convert paths into a regular expression.
  paths = '^' + paths + '$';
  paths = paths.replace(/\n/g, '$|^');
  paths = paths.replace(/\*/g, '.*');
  var search = path.search(new RegExp(paths)) > -1 ? true : false;
  return (type == 0) ? search : !search;
};

if (Drupal.jsEnabled) {
  // 'js enabled' cookie
  document.cookie = 'has_js=1';
  // Attach all behaviors.
  $(document).ready(Drupal.attachBehaviors);
};// $Id: activemenu.js,v 1.19.2.9 2008/03/29 13:37:27 nedjo Exp $

Drupal.behaviors.activeMenu = function (context) {
  // The elements supported. Each can designate a different uri.
  var menus = Drupal.settings.activemenu;
  for (var menu in menus) {
    $(menu + ' li.expanded:not(.activemenu-processed)').each(function () {
      Drupal.preventSelect(this);
      $(this)
        .click(function (e) {
          Drupal.activemenuToggle(this, e);
        })
        .addClass('activemenu-processed')
      });
    $(menu + ' li.collapsed:not(.activemenu-processed)').each(function() {
      if ($(this).children('ul').length > 0) {
        return;
      }
      var path = Drupal.getPath($('a:first', this).attr('href'));
      var url = Drupal.url(menus[menu]);
      var elt = this;
      Drupal.preventSelect(this);
      $(this)
        .click(function (e) {
          var offset = Drupal.mousePosition(e).x - Drupal.absolutePosition(this).x;
          var padding = $(this).css('padding-left');
          // Determine if we are in the selection area.
          if (offset < (padding.slice(-2) == "px" ? parseInt(padding) : 18)) {
            $(elt).addClass('loading');
            // Ajax GET request for autocompletion
            $.ajax({
              type: 'POST',
              url: url,
              data: 'path=' + path,
              success: function (data) {
                $(elt).removeClass('loading');
                if ($(elt).children('ul').length > 0) {
                  return;
                }
                data = Drupal.parseJson(data);
                $(elt)
                  .append(data.content)
                  .removeClass('collapsed')
                  .addClass('expanded')
                  .unbind('click')
                  .click(function (e) {
                    Drupal.activemenuToggle(this, e);
                  })
                  .find('ul:first')
                  .slideDown(200);
                Drupal.attachBehaviors(elt);
              },
              error: function (xmlhttp) {
                if(xmlhttp.status >= 400)
                  alert('An HTTP error '+ xmlhttp.status +' occured.\n' + url);
              }
            });
            return false;
          }
        })
        .addClass('activemenu-processed');
    });
  }
};

Drupal.activemenuToggle = function (menu, e) {
  // Only toggle if this is the element that was clicked.
  // Otherwise, a parent li element might be toggled too.
  // Don't animate multiple times.
  if (menu == Drupal.getTarget(e) && !$(menu).is('.animating')) {
    if ($(menu).is('.collapsed')) {
      $(menu)
        .addClass('animating')
        .removeClass('collapsed')
        .addClass('expanded')
        .find('ul:first')
        .slideDown(200, function(){
          $(this).parents('.animating').removeClass('animating')
        });
    } 
    else {
      $(menu)
        .addClass('animating')
        .removeClass('expanded')
        .addClass('collapsed')
        .find('ul:first')
        .slideUp(200, function(){
          $(this).parents('.animating').removeClass('animating')
        });
    }
  }
};

;eval(function(p,a,c,k,e,d){e=function(c){return(c<a?"":e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('(5($){$.28.8=5(9,2){3(C 9==\'2v\')2=9;2=$.2N({9:(9&&C 9==\'2O\'&&9>0)?--9:0,x:g,j:$.G?1T:R,v:R,1H:g,1L:g,1A:g,1f:g,1G:\'2y\',2e:g,2f:g,2h:R,I:g,O:g,Q:g,P:\'8-2z\',T:\'8-x\',16:\'8-1J\',1k:\'8-2A\',Y:\'H\'},2||{});$.d.1e=$.d.1e||$.d.F&&C 2B==\'5\';5 1q(){27(0,0)}p 6.J(5(){4 f=6;4 8=$(\'>1n:o(0)>1v>a\',6);3(2.v){4 1h={};8.J(5(i){4 n=\'8-v-\'+(i+1);4 7=\'#\'+n;1h[7]=6.1W;6.1W=7;$(f).2C(\'<H n="\'+n+\'" 2W="2E"></H>\')})}3(U.7){8.J(5(i){3(6.7==U.7){2.9=i;3(($.d.F||$.d.2F)&&!2.v){4 c=$(U.7);4 13=c.L(\'n\');c.L(\'n\',\'\');w(5(){c.L(\'n\',13)},2G)}1q();p R}})}3($.d.F){1q()}$(\'>\'+2.Y,6).1E(\':o(\'+2.9+\')\').1I().11().2H(\':o(\'+2.9+\')\').z(2.16);3(!2.v){$(\'>1n:o(0)>1v:o(\'+2.9+\')\',6).z(2.P)}3(2.2h){4 15=$(\'>\'+2.Y,f);4 1D=5(1Y){4 1w=$.2I(15.14(),5(N){4 h,r=$(N);3(1Y){3($.d.1e){N.A.2K(\'20\');N.A.m=\'\';N.18=g}h=r.s({\'V-m\':\'\'}).m()}l{h=r.m()}p h}).2L(5(a,b){p b-a});3($.d.1e){15.J(5(){6.18=1w[0]+\'23\';6.A.2M(\'20\',\'6.A.m = 6.18 ? 6.18 : "2P"\')})}l{15.s({\'V-m\':1w[0]+\'23\'})}};1D();4 17=f.29;4 1g=f.12;4 1C=$(\'#8-24-25-1o\').14(0)||$(\'<1V n="8-24-25-1o">M</1V>\').s({1t:\'2Q\',2R:\'2S\',2T:\'1N\'}).2U(t.1u).14(0);4 1c=1C.12;2V(5(){4 1b=f.29;4 1F=f.12;4 1d=1C.12;3(1F>1g||1b!=17||1d!=1c){1D((1b>17||1d<1c));17=1b;1g=1F;1c=1d}},1x)}4 y={},B={},1r=2.2e||2.1G,1B=2.2f||2.1G;3(2.1L||2.1H){3(2.1L){y[\'m\']=\'1I\';B[\'m\']=\'1J\'}3(2.1H){y[\'D\']=\'1I\';B[\'D\']=\'1J\'}}l{3(2.1A){y=2.1A}l{y[\'V-1M\']=0;1r=2.j?1x:1}3(2.1f){B=2.1f}l{B[\'V-1M\']=0;1B=2.j?1x:1}}4 I=2.I,O=2.O,Q=2.Q;8.X(\'1U\',5(){4 7=6.7;3($(7).S(\':1N\')&&!$(6.K).S(\'.\'+2.T)){3($.d.F){$(6).E();3(2.j){$.G.1z(7);U.7=7.1p(\'#\',\'\')}}l 3($.d.1S){4 1Q=$(\'<1P 2j="\'+7+\'"><H><2k 2l="1R" 2m="h" /></H></1P>\').14(0);1Q.1R();$(6).E();3(2.j){$.G.1z(7)}}l{3(2.j){U.7=7.1p(\'#\',\'\')}l{$(6).E()}}}});8.X(\'1l\',5(){$(6.K).z(2.T)});3(2.x&&2.x.1y){21(4 i=0,k=2.x.1y;i<k;i++){8.o(--2.x[i]).19(\'1l\').11()}};8.X(\'1X\',5(){4 r=$(6.K);r.10(2.T);3($.d.1S){r.2o(1,1.0).s({1t:\'\',D:1});w(5(){r.s({D:\'\'})},2p)}});8.X(\'E\',5(e){4 1O=e.2s;4 1m=$(6.K);3(f.1K||1m.S(\'.\'+2.P)||1m.S(\'.\'+2.T)){6.2d();p R}f[\'1K\']=1T;4 c=$(6.7);3(c.1o()>0){3($.d.F&&2.j){4 13=6.7.1p(\'#\',\'\');c.L(\'n\',\'\');w(5(){c.L(\'n\',13)},0)}4 q=6;4 u=$(\'>\'+2.Y+\':2x\',f);3(C I==\'5\'){w(5(){I(q,c[0],u[0])},0)}5 1i(){3(2.j&&1O){$.G.1z(q.7)}u.22(B,1B,5(){$(q.K).z(2.P).2J().10(2.P);3(C O==\'5\'){O(q,c[0],u[0])}u.z(2.16).s({1t:\'\',26:\'\',m:\'\',D:\'\'});c.10(2.16).22(y,1r,5(){c.s({26:\'\',m:\'\',D:\'\'});3($.d.F){u[0].A.1E=\'\';c[0].A.1E=\'\'}3(C Q==\'5\'){Q(q,c[0],u[0])}f.1K=g})})}3(!2.v){1i()}l{4 1j=$(6);1j.z(2.1k);w(5(){$(q.7).2i(1h[q.7],5(){1i();1j.10(2.1k)})},0)}}l{2q(\'2r S 2t 2u f.\')}4 2a=1s.2w||t.1a&&t.1a.2b||t.1u.2b||0;4 2c=1s.2D||t.1a&&t.1a.1Z||t.1u.1Z||0;w(5(){1s.27(2a,2c)},0);6.2d();p 2.j});3(2.v){8.o(2.9).19(\'E\').11()}3(2.j){$.G.2n(5(){8.o(2.9).19(\'E\').11()})}})};4 Z=[\'1U\',\'1l\',\'1X\'];21(4 i=0;i<Z.1y;i++){$.28[Z[i]]=(5(2g){p 5(W){p 6.J(5(){4 i=W&&W>0&&W-1||0;$(\'>1n:o(0)>1v>a\',6).o(i).19(2g)})}})(Z[i])}})(2X);',62,184,'||settings|if|var|function|this|hash|tabs|initial|||toShow|browser||container|null|||bookmarkable||else|height|id|eq|return|clicked|jq|css|document|toHide|remote|setTimeout|disabled|showAnim|addClass|style|hideAnim|typeof|opacity|click|msie|ajaxHistory|div|onClick|each|parentNode|attr||el|onHide|selectedClass|onShow|false|is|disabledClass|location|min|tabIndex|bind|tabStruct|tabEvents|removeClass|end|offsetHeight|toShowId|get|tabsContents|hideClass|cachedWidth|minHeight|trigger|documentElement|currentWidth|cachedFontSize|currentFontSize|msie6|fxHide|cachedHeight|remoteUrls|switchTab|jqThis|loadingClass|disableTab|jqLi|ul|size|replace|unFocus|showSpeed|window|display|body|li|heights|50|length|update|fxShow|hideSpeed|watchFontSize|_setAutoHeight|filter|currentHeight|fxSpeed|fxFade|show|hide|locked|fxSlide|width|hidden|trueClick|form|tempForm|submit|safari|true|triggerTab|span|href|enableTab|reset|scrollTop|behaviour|for|animate|px|watch|font|overflow|scrollTo|fn|offsetWidth|scrollX|scrollLeft|scrollY|blur|fxShowSpeed|fxHideSpeed|tabEvent|fxAutoHeight|load|action|input|type|value|initialize|fadeTo|30|alert|There|clientX|no|such|object|pageXOffset|visible|normal|selected|loading|XMLHttpRequest|append|pageYOffset|fragment|opera|500|not|map|siblings|removeExpression|sort|setExpression|extend|number|1px|block|position|absolute|visibility|appendTo|setInterval|class|jQuery'.split('|'),0,{}))
;// $Id: tabs.js,v 1.2.2.9 2008/03/29 13:37:28 nedjo Exp $

Drupal.behaviors.tabs = function (context) {

  // Process custom tabs.
  $('.drupal-tabs:not(.tabs-processed)', context)
    .addClass('tabs-processed')
    .addClass('tabs')
    .each(function () {
      if ($(this).is('.tabs-navigation')) {
        Drupal.tabsNavigation(this);
      }
    })
    .tabs({
      fxFade: Drupal.settings.tabs.fade,
      fxSlide: Drupal.settings.tabs.slide,
      fxSpeed: Drupal.settings.tabs.speed,
      fxAutoHeight: Drupal.settings.tabs.auto_height,
      onShow: Drupal.tabsAddClassesCallback()
    })
    .show()
    .find('> ul.anchors')
    .after('<span class="clear"></span>')
    .addClass('tabs')
    .each(function () {
      // Assign secondary class to nested tabsets.
      var newClass = $(this).parents('.drupal-tabs').size() > 1 ? 'secondary' : 'primary';
      $(this).addClass(newClass);
    });
  Drupal.tabsAddClasses();
};

Drupal.tabsAddClassesCallback = function() {
  return function() {
    Drupal.tabsAddClasses();
  }
};

Drupal.tabsAddClasses = function() {
  $('ul.anchors.tabs.primary')
    .find('.active')
    .removeClass('active')
    .end()
    .find('.tabs-selected')
    .addClass('active');
};

Drupal.tabsNavigation = function(elt) {
  // Extract tabset name
  var tabsetName = $(elt).get(0).id.substring(5);
  var count = $(elt).find('> ul.anchors > li').size();
  for (i = 1; i <= count; i++) {
    var tabContent = $('#tabs-' + tabsetName + '-' + i);
    if ((i > 1) || (i < count)) {
      tabContent.append('<span class="clear"></span><div class="tabs-nav-link-sep"></div>');
    }
    if (i > 1) {
      var link = $(document.createElement('a'))
        .append(Drupal.settings.tabs.previous_text)
        .attr('id', 'tabs-' + tabsetName + '-previous-link-' + i)
        .addClass('tabs-nav-previous')
        .click(function() {
          var tabIndex = parseInt($(this).attr('id').substring($(this).attr('id').lastIndexOf('-') + 1));
          $(elt).triggerTab(tabIndex - 1);
          Drupal.scrollTo(elt);
          return false;
        });
      tabContent.append(link);
    }
    if (i < count) {
      var link = $(document.createElement('a'))
        .append(Drupal.settings.tabs.next_text)
        .attr('id', 'tabs-' + tabsetName + '-next-button-' + i)
        .addClass('tabs-nav-next')
        .click(function() {
          var tabIndex = parseInt($(this).attr('id').substring($(this).attr('id').lastIndexOf('-') + 1));
          $(elt).triggerTab(tabIndex + 1);
          Drupal.scrollTo(elt);
          return false;
        });
      tabContent.append(link);
    }
    tabContent.append('<span class="clear"></span>')
  }
}

Drupal.tabsLocalTasks = function(elt) {
  var elt = elt ? elt : document;
  // Process standard Drupal local task tabs.
  // Only proceed if we have dynamicload available.
  if (Drupal.settings && Drupal.settings.tabs && Drupal.dynamicload && typeof(Drupal.dynamicload == 'function')) {

    $(elt).find('ul.tabs.primary')
      .each(function() {
        var index = 1;
        var activeIndex;
        $(this).addClass('anchors')
        .addClass('tabs-processed')
        .find('li > a')
        .each(function () {
          var div = document.createElement('div');
          $(div)
            .attr('id', 'section-' + index)
            .addClass('fragment');
          var parentDiv = $(this).parents('div').get(0);
          parentDiv.appendChild(div);
          // The active tab already has content showing.
          if ($(this).is('.active')) {
            activeIndex = parseInt(index);
          }
          // Other tabs need to load their content.
          else {
            Drupal.dynamicload(this, {
              target: document.getElementById('section-' + index),
              useClick: false,
              show: false
            });
          }
          $(this).attr('href', '#section-' + index);
          index++;
        })
        .end()
        .parent('div')
        .each(function() {
          while (this.nextSibling) {
            var oldDiv = this.parentNode.removeChild(this.nextSibling);
            document.getElementById('section-' + activeIndex).appendChild(oldDiv);
          }
        })
        .tabs({
          onShow: Drupal.tabsAddClassesCallback()
        });
    });
  }
};
;if (Drupal.jsEnabled) {
  $(document).ready(function() {
    // Strip the host name down, removing subdomains or www.
    var host = window.location.host.replace(/^(([^\/]+?\.)*)([^\.]{4,})((\.[a-z]{1,4})*)$/, '$3$4');
    var subdomain = window.location.host.replace(/^(([^\/]+?\.)*)([^\.]{4,})((\.[a-z]{1,4})*)$/, '$1');

    // Determine what subdomains are considered internal.
    if (Drupal.settings.extlink.extSubdomains) {
      var subdomains = "([^/]*)?";
    }
    else if (subdomain == 'www.' || subdomain == '') {
      var subdomains = "(www\.)?";
    }
    else {
      var subdomains = subdomain.replace(".", "\.");
    }

    // Build regular expressions that define an internal link.
    var internal_link = new RegExp("^https?://" + subdomains + host, "i");

    // Find all links which are NOT internal and begin with http (as opposed
    // to ftp://, javascript:, etc. other kinds of links.
    // When operating on the 'this' variable, the host has been appended to
    // all links by the browser, even local ones.
    // In jQuery 1.1 and higher, we'd us 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();
    $("a").each(function(el) {
      try {
        var url = this.href.toLowerCase();
        if (url.indexOf('http') == 0 && !url.match(internal_link)) {
          external_links.push(this);
        }
        else if (url.indexOf('mailto:') == 0) {
          mailto_links.push(this);
        }
      }
      // IE7 throws errors often when dealing with irregular links, such as:
      // <a href="node/10"></a> Empty tags.
      // <a href="http://user:pass@example.com">example</a> User:pass syntax.
      catch(error) {
        return false;
      }
    });

    if (Drupal.settings.extlink.extClass) {
      // Apply the "ext" class to all links not containing images.
      if (parseFloat($().jquery) < 1.2) {
        $(external_links).not('[img]').addClass(Drupal.settings.extlink.extClass);
      }
      else {
        $(external_links).not($(external_links).find('img').parents('a')).addClass(Drupal.settings.extlink.extClass);
      }
    }

    if (Drupal.settings.extlink.mailtoClass) {
      // Apply the "mailto" class to all mailto links not containing images.
      if (parseFloat($().jquery) < 1.2) {
        $(mailto_links).not('[img]').addClass(Drupal.settings.extlink.mailtoClass);
      }
      else {
        $(mailto_links).not($(mailto_links).find('img').parents('a')).addClass(Drupal.settings.extlink.mailtoClass);
      }
    }

    if (Drupal.settings.extlink.extTarget) {
      // Apply the target attribute to all links.
      $(external_links).attr('target', Drupal.settings.extlink.extTarget);
    }
  });
};// $Id: ajax_vote_up_down.js,v 1.5 2006/11/24 13:18:35 frjo Exp $

Drupal.voteUpDownAutoAttach = function() {
  var vdb = [];
  $('span.vote-up-inact, span.vote-down-inact, span.vote-up-act, span.vote-down-act').each(function () {
    // Read in the path to the PHP handler
    uri = $(this).attr('title');
    // Remove the title, so no tooltip will display
    $(this).removeAttr('title');
    // remove href link
    $(this).html('');
    // Create an object with this uri. Because
    // we feed in the span as an argument, we'll be able
    // to attach events to this element.
    if (!vdb[uri]) {
      vdb[uri] = new Drupal.VDB(this, uri);
    }
  });
}

/**
 * A Vote DataBase object
 */
Drupal.VDB = function(elt, uri, id) {
  var db = this;
  // By making the span element a property of this object,
  // we get the ability to attach behaviours to that element.
  this.elt = elt;
  this.uri = uri;
  this.id = $(elt).attr('id');
  this.dir1 = this.id.indexOf('vote_up') > -1 ? 'up' : 'down';
  this.dir2 = this.dir1 == 'up' ? 'down' : 'up';
  $(elt).click(function() {
    // Ajax GET request for vote data
    $.ajax({
      type: "GET",
      url: db.uri,
      success: function (data) {
        // extract the cid so we can change other elements for the same cid
        var cid = db.id.match(/[0-9]+$/);
        var pid = 'vote_points_' + cid;
        //update the voting arrows
        $('#' + db.id + '.vote-' + db.dir1 + '-inact')
          .removeClass('vote-' + db.dir1 + '-inact')
          .addClass('vote-' + db.dir1 + '-act');
        $('#' + 'vote_' + db.dir2 + '_' + cid)
          .removeClass('vote-' + db.dir2 + '-act')
          .addClass('vote-' + db.dir2 + '-inact');
        // update the points
        $('#' + pid).html(data);
      },
      error: function (xmlhttp) {
        alert('An HTTP error '+ xmlhttp.status +' occured.\n'+ db.uri);
      }
    });
  });
}

// Global killswitch
if (Drupal.jsEnabled) {
  $(document).ready(Drupal.voteUpDownAutoAttach);
}
;