parseSelector.pseudoClasses = {
  'not': function(nodes, selector) {
    var result = [];
    each: for(var i = 0, node; i < nodes.length; i++) {
      node = nodes[i];
      var ignore = parseSelector(selector, node.parentNode);
      for(var j = 0; j < ignore.length; j++) {
        if(ignore[j] == node) continue each;
      }
      result.push(node);
    }
    return result;
  }
}
/*****************************************************************************
It is adviced to place the sIFR JavaScript calls in this file, keeping it
separate from the `sifr.js` file. That way, you can easily swap the `sifr.js`
file for a new version, while keeping the configuration.

You must load this file *after* loading `sifr.js`.

That said, you're of course free to merge the JavaScript files. Just make sure
the copyright statement in `sifr.js` is kept intact.
*****************************************************************************/

// Make an object pointing to the location of the Flash movie on your web server.
// Try using the font name as the variable name, makes it easy to remember which
// object you're using. As an example in this file, we'll use Futura.
var helvetica = { src: '/flash/helvetica.swf' };

// Now you can set some configuration settings.
// See also <http://wiki.novemberborn.net/sifr3/JavaScript+Configuration>.
// One setting you probably want to use is `sIFR.useStyleCheck`. Before you do that,
// read <http://wiki.novemberborn.net/sifr3/DetectingCSSLoad>.

// sIFR.useStyleCheck = true;

// Next, activate sIFR:
sIFR.activate(helvetica);

// If you want, you can use multiple movies, like so:
//
//    var futura = { src: '/path/to/futura.swf' };
//    var garamond = { src '/path/to/garamond.swf' };
//    var rockwell = { src: '/path/to/rockwell.swf' };
//    
//    sIFR.activate(futura, garamond, rockwell);
//
// Remember, there must be *only one* `sIFR.activate()`!

// Now we can do the replacements. You can do as many as you like, but just
// as an example, we'll replace all `<h1>` elements with the Futura movie.
//
// The first argument to `sIFR.replace` is the `futura` object we created earlier.
// The second argument is another object, on which you can specify a number of
// parameters or "keyword arguemnts". For the full list, see "Keyword arguments"
// under `replace(kwargs, mergeKwargs)` at 
// <http://wiki.novemberborn.net/sifr3/JavaScript+Methods>.
// 
// The first argument you see here is `selector`, which is a normal CSS selector.
// That means you can also do things like '#content h1' or 'h1.title'.
//
// The second argument determines what the Flash text looks like. The main text
// is styled via the `.sIFR-root` class. Here we've specified `background-color`
// of the entire Flash movie to be a light grey, and the `color` of the text to
// be red. Read more about styling at <http://wiki.novemberborn.net/sifr3/Styling>.
sIFR.replace(helvetica, {
  selector: '.support h1,.technology h1,#subnav h1',
  css: '.sIFR-root { background-color: none; color: #141414; font-size: 18px; font-weight: bold; text-transform: uppercase;}',
  wmode: 'transparent',
  ratios: [8, 1.41, 11, 1.31, 15, 1.29, 25, 1.25, 28, 1.23, 32, 1.22, 33, 1.23, 39, 1.22, 56, 1.21, 59, 1.2, 60, 1.21, 91, 1.2, 92, 1.19, 102, 1.2, 103, 1.19, 107, 1.2, 108, 1.19, 110, 1.2, 114, 1.19, 115, 1.2, 119, 1.19, 120, 1.2, 124, 1.19, 1.2]
});
sIFR.replace(helvetica, {
  selector: '.packages h1',
  css: '.sIFR-root { background-color: none; color: #c6ff00; font-size: 18px; font-weight: bold; text-transform: uppercase;}',
  wmode: 'transparent',
  ratios: [8, 1.41, 11, 1.31, 15, 1.29, 25, 1.25, 28, 1.23, 32, 1.22, 33, 1.23, 39, 1.22, 56, 1.21, 59, 1.2, 60, 1.21, 91, 1.2, 92, 1.19, 102, 1.2, 103, 1.19, 107, 1.2, 108, 1.19, 110, 1.2, 114, 1.19, 115, 1.2, 119, 1.19, 120, 1.2, 124, 1.19, 1.2],
    filters: {
    DropShadow: {
      distance: 1
      ,color: '#141414'
      ,strength: 1
    }
  }
});
sIFR.replace(helvetica, {
  selector: '#c2 h1',
  css: '.sIFR-root { background-color: none; color: #545454; font-size: 24px; font-weight: bold; text-transform: uppercase;}',
  wmode: 'transparent',
  ratios: [8, 1.41, 11, 1.31, 15, 1.29, 25, 1.25, 28, 1.23, 32, 1.22, 33, 1.23, 39, 1.22, 56, 1.21, 59, 1.2, 60, 1.21, 91, 1.2, 92, 1.19, 102, 1.2, 103, 1.19, 107, 1.2, 108, 1.19, 110, 1.2, 114, 1.19, 115, 1.2, 119, 1.19, 120, 1.2, 124, 1.19, 1.2]
});
sIFR.replace(helvetica, {
  selector: '#c2 h2',
  css: '.sIFR-root { background-color: none; color: #545454; font-size: 20px; font-weight: normal; text-transform: uppercase;}',
  wmode: 'transparent',
  ratios: [8, 1.41, 11, 1.31, 15, 1.29, 25, 1.25, 28, 1.23, 32, 1.22, 33, 1.23, 39, 1.22, 56, 1.21, 59, 1.2, 60, 1.21, 91, 1.2, 92, 1.19, 102, 1.2, 103, 1.19, 107, 1.2, 108, 1.19, 110, 1.2, 114, 1.19, 115, 1.2, 119, 1.19, 120, 1.2, 124, 1.19, 1.2]
});
sIFR.replace(helvetica, {
  selector: '#c2 h3',
  css: '.sIFR-root { background-color: none; color: #545454; font-size: 16px; font-weight: bold; text-transform: uppercase;}',
  wmode: 'transparent',
  ratios: [8, 1.41, 11, 1.31, 15, 1.29, 25, 1.25, 28, 1.23, 32, 1.22, 33, 1.23, 39, 1.22, 56, 1.21, 59, 1.2, 60, 1.21, 91, 1.2, 92, 1.19, 102, 1.2, 103, 1.19, 107, 1.2, 108, 1.19, 110, 1.2, 114, 1.19, 115, 1.2, 119, 1.19, 120, 1.2, 124, 1.19, 1.2]
});
sIFR.replace(helvetica, {
  selector: '#toplinks a',
  css: '.sIFR-root { background-color: none; color: #c6ff00; font-size: 14px; font-weight: bold; text-transform: uppercase;cursor: pointer;}',
  wmode: 'transparent',
  ratios: [8, 1.41, 11, 1.31, 15, 1.29, 25, 1.25, 28, 1.23, 32, 1.22, 33, 1.23, 39, 1.22, 56, 1.21, 59, 1.2, 60, 1.21, 91, 1.2, 92, 1.19, 102, 1.2, 103, 1.19, 107, 1.2, 108, 1.19, 110, 1.2, 114, 1.19, 115, 1.2, 119, 1.19, 120, 1.2, 124, 1.19, 1.2],
  filters: {
    DropShadow: {
      distance: 1
      ,color: '#141414'
      ,strength: 1
    }
  }

});
sIFR.replace(helvetica, {
  selector: 'span.date',
  css: '.sIFR-root { background-color: none; color: #666666; font-size: 16px; display: block;}',
  wmode: 'transparent',
  ratios: [8, 1.41, 11, 1.31, 15, 1.29, 25, 1.25, 28, 1.23, 32, 1.22, 33, 1.23, 39, 1.22, 56, 1.21, 59, 1.2, 60, 1.21, 91, 1.2, 92, 1.19, 102, 1.2, 103, 1.19, 107, 1.2, 108, 1.19, 110, 1.2, 114, 1.19, 115, 1.2, 119, 1.19, 120, 1.2, 124, 1.19, 1.2]
});
sIFR.replace(helvetica, {
  selector: '#c2 .table thead th',
  css: '.sIFR-root { background-color: none; color: #c6ff00; font-size: 22px; font-weight: bold; text-transform: uppercase;}',
  wmode: 'transparent',
  ratios: [8, 1.41, 11, 1.31, 15, 1.29, 25, 1.25, 28, 1.23, 32, 1.22, 33, 1.23, 39, 1.22, 56, 1.21, 59, 1.2, 60, 1.21, 91, 1.2, 92, 1.19, 102, 1.2, 103, 1.19, 107, 1.2, 108, 1.19, 110, 1.2, 114, 1.19, 115, 1.2, 119, 1.19, 120, 1.2, 124, 1.19, 1.2],
  filters: {
    DropShadow: {
      distance: 1
      ,color: '#141414'
      ,strength: 1
    }
  }
});
sIFR.replace(helvetica, {
  selector: '#c2 .table tbody th',
  css: '.sIFR-root { background-color: none; color: #ffffff; font-size: 14px; font-weight: bold; text-transform: uppercase;}',
  wmode: 'transparent',
  ratios: [8, 1.41, 11, 1.31, 15, 1.29, 25, 1.25, 28, 1.23, 32, 1.22, 33, 1.23, 39, 1.22, 56, 1.21, 59, 1.2, 60, 1.21, 91, 1.2, 92, 1.19, 102, 1.2, 103, 1.19, 107, 1.2, 108, 1.19, 110, 1.2, 114, 1.19, 115, 1.2, 119, 1.19, 120, 1.2, 124, 1.19, 1.2],
  filters: {
    DropShadow: {
      distance: 1
      ,color: '#141414'
      ,strength: 1
    }
  }
});
sIFR.replace(helvetica, {
  selector: '#c2 .table tbody td:not(.ignore)',
  css: '.sIFR-root { background-color: none; color: #ffffff; font-size: 14px; font-weight: normal; text-transform: uppercase;}',
  wmode: 'transparent',
  ratios: [8, 1.41, 11, 1.31, 15, 1.29, 25, 1.25, 28, 1.23, 32, 1.22, 33, 1.23, 39, 1.22, 56, 1.21, 59, 1.2, 60, 1.21, 91, 1.2, 92, 1.19, 102, 1.2, 103, 1.19, 107, 1.2, 108, 1.19, 110, 1.2, 114, 1.19, 115, 1.2, 119, 1.19, 120, 1.2, 124, 1.19, 1.2]
});