function cmail(cadd,sbj,bdy) {
// cadd = encrypted email address; optional [sbj = subject, [bdy = body text]]
// cadd may be an array: cadd[0] is to: address, remaining elements are cc: addresses
// If cadd starts with !, address is read from special_addresses.js
// or, if not there, is constructed as cadd (not encrypted) at devonhumanists.org.uk
  if(typeof(cadd)=='string') cadd = [ cadd ];
  sbj = sbj || '';  bdy = bdy || '';
  var add = new Array(cadd.length);
  for(var h =0; h<cadd.length; h++) {
    var s = cadd[h];
    if(s.charAt(0)=='!') {
      s = s.substr(1);
      if(special_addresses&&special_addresses[s]) {
         s = special_addresses[s]
      } else {
        add[h] = s + unescape("%40devonhumanists%2eorg%2euk");
        continue;
      }
    }
    var ns = s.length - 1;
    var key = new Array(ns);
    for(var i=0; i<ns; i++) key[i] = i;
    var c = s.charCodeAt(0);
    var t = new Array(ns);
    var k = 1;
    for(var n=ns; n>0; n--) {
      var j = c%n;
      t[key[j]] = s.charAt(k);
      key.splice(j,1);
      c = s.charCodeAt(k++);
    }
    var n1 = String(t.shift()).charCodeAt(0)-97;
    t.splice(n1,0,"@");
    add[h] = t.join("");
  }     
  var s2 = add[0] + "?";
  if(add.length>1) s2 += "cc=" + add.slice(1).join("&cc=") +"&";
  window.status = "mailto:"+s2.slice(0,-1);
// call mailer
  window.location = "mailto:"+s2+"subject="+sbj+"&body="+bdy;
}



