  SPBMail = {
  
    RefreshRate: 50,
    
    CheckReadyState: function() {
      
      //  See if the document is ready
      if (document.body != null) {
        //  Ready
        this.Ready();
        return;
      }
      
      //  Set timer
      window.setTimeout("SPBMail.CheckReadyState()", 1);
      
    },
    
    Init: function() {
      
      //  See if the document is ready
      this.CheckReadyState();
      
    },
    
    Process: function(element) {
      
      if (element.className == "mail") {
        
        var query = element.href.substring(element.href.indexOf("?") + 1);
        var values = query.split("&");
        var username = "";
        var domain = "";
        for(key in values) {
          var chunks = values[key].split("=");
          if (chunks[0] == "d") {
            domain = chunks[1].replace(/\//, ".");
          } else if (chunks[0] == "u") {
            username = chunks[1].replace(/\//, ".");
          }
        }
        element.href = "mailto:" + username + "@" + domain;
        
        element.onclick = function() {
          element
        }
      }
      
    },
    
    Ready: function() {
      
      var elements = document.getElementsByTagName("a");
      for(var i = 0; i < elements.length; i++) {
        this.Process(elements[i]);
      }
      
    }
    
  };
  
  SPBMail.Init();