/*******************************************************************************
 * Nobis Interactive - CSS/Rollover Image Preloader v0.1
 *******************************************************************************
 * Author: Paul Chandler
 ******************************************************************************/

  function css_preloader() {

   /*** BEGIN: CUSTOMIZE SETTINGS HERE ****************************************/
    this.rollover_suffix = ['-over', '-down', '_on', '-b', '_o'];
   /***************************************************************************/

    this.preload = function() {
      if (!document.styleSheets) return;

      var sU = /^url\((.+)\)$/;
      var tR = new RegExp(
        '(?:' + this.rollover_suffix.join('|') +
        ')\\.(?:gif|jpeg|jpg|png|mng)\\)$'
      );
      var I  = {};

      for (var i = document.styleSheets.length; i--;) {
        var ss = document.styleSheets[i];

        if (ss.cssRules)   sT = 'cssRules';
        else if (ss.rules) sT = 'rules';
        else continue;

        for (var r in ss[sT]) {
          var style = ss[sT][r].style;
          if (style && style.backgroundImage) {
            var url = style.backgroundImage;
            if (url == 'none') continue; 
            if (tR.test(url)) I[url.replace(sU, '$1')] = 1;
      } } }

      for (var s in I) {
        var i = new Image(); i.src = s;
      }

      switch (typeof this.o)  {
        case 'function': this.o(); break;
        case 'string':   eval(this.o); break;
      }
    }

    this.o = document.onload;
    document.onload = this.preload();
  }

  new css_preloader();

