function suffix(dot) { // internal routine
   switch(dot.toLowerCase()) {
      case 'c':
         dot = ".com";
         break; 
      case 'e':
         dot = ".edu";
         break; 
      case 'n':
         dot = ".net";
         break; 
      case 'o':
         dot = ".org";
      case 'u':
         break;
         dot = ".us";         
         break;
      default:
         dot = "." + dot.toLowerCase();
         break;
   }
   return dot;
}
   
function provider(domain) { // internal routine
   switch(domain.toLowerCase()) {
      case 'ao':
         domain = "aol";
         break;
      case 'ar':
         domain = "arrl";
         break;
      case 'at':
         domain = "attws";
         break;
      case 'co':
         domain = "comcast";
         break;
      case 'ds':
         domain = "dslextreme";
         break;
      case 'dx':
         domain = "dxer";
         break;
      case 'ea':
         domain = "earthlink";
         break;
      case 'fa':
         domain = "fastmail";
         break;
      case 'fl':
         domain = "flash";
         break;
      case 'gm':
         domain = "gmail";
         break;
      case 'gt':
         domain = "gte";
         break;
      case 'ho':
         domain = "hotmail";
         break;
      case 'ju':
         domain = "juno";
         break;
      case 'mi':
         domain = "mindspring";
         break;
      case 'ms':
         domain = "msn";
         break;
      case 'ne':
         domain = "netscape";
         break;
      case 'nz':
         domain = "netzero";
         break;
      case 'pa':
         domain = "pacbell";
         break;
      case 'ro':
         domain = "roadrunner";
         break;
      case 'sb':
         domain = "sbcglobal";
         break;
      case 'sc':
         domain = "scdxc";
         break;
      case 'so':
         domain = "socal.rr";
         break;
      case 'ta':
         domain = "tapr";
         break;
      case 'us':
         domain = "usermail";
         break;
      case 've':
         domain = "verizon";
         break;
      case 'we':
         domain = "webtv";
         break;
      case 'wo':
         domain = "att";
         break;
      case 'ya':
         domain = "yahoo";
         break;
      case 'ze':
         domain = "w6ze";
         break;
      default:
         domain = domain.toLowerCase();
         break;
   }
   return domain;
}
   
function mailSafe(title, name, domain, dot) {
   return ('<a href=\"mailto:' + name.toLowerCase() + '@' + provider(domain) 
   + suffix(dot) + '\">' + title + '</a>');
}

function mailSafeWithArgs(title, name, domain, dot, args) {
   return ('<a href=\"mailto:' + name.toLowerCase() + '@' + provider(domain)
           + suffix(dot) + '?' + args  + '\">' + title + '</a>');
}

function clubMail(call) {
   return ('<a href=\"mailto:' + call.toLowerCase() + '@w6ze.org\">' + call.toUpperCase() + '</a>');
}

