function makeEmail() {
  var es = document.getElementsByTagName( "span" );
  var i;
  for ( i = 0; i < es.length; i++ ) {
    if ( es[i].getAttribute( "class" ) == "email" || es[i].className == "email" ) {
      var ea = document.createElement( "a" );
      var ta = "mailto:";
      ta += "uglyjoe@";
      ta += "ximwix.net";
      ea.setAttribute( "href", ta );

      if ( es[i].firstChild &&
           es[i].firstChild.data &&
           es[i].firstChild.data != "" ) {
        ta = es[i].firstChild.data;
      } else {
        ta = "uglyjoe@";
        ta += "ximwix.net";
      }
      ea.appendChild( document.createTextNode( ta ) );

      while ( es[i].firstChild ) {
        es[i].removeChild( es[i].firstChild );
      }
      es[i].appendChild( ea );
    }
  }
}

function makeValidXHTML() {
  var es = document.getElementsByTagName( "span" );
  var i;
  for ( i = 0; i < es.length; i++ ) {
    if ( es[i].getAttribute( "class" ) == "validxhtml" || es[i].className == "validxhtml" ) {
      var ea = document.createElement( "a" );
      var ta = "http://validator.w3.org/check?uri=" + escape( location );

      ea.setAttribute( "href", ta );

      if ( es[i].firstChild &&
           es[i].firstChild.data &&
           es[i].firstChild.data != "" ) {
        ta = es[i].firstChild.data;
      } else {
        ta = "Valid XHTML";
      }
      ea.appendChild( document.createTextNode( ta ) );

      while ( es[i].firstChild ) {
        es[i].removeChild( es[i].firstChild );
      }
      es[i].appendChild( ea );
    }
  }
}

function makeValidCSS() {
  var es = document.getElementsByTagName( "span" );
  var i;
  for ( i = 0; i < es.length; i++ ) {
    if ( es[i].getAttribute( "class" ) == "validcss" || es[i].className == "validcss" ) {
      var ea = document.createElement( "a" );
      var ta = "http://jigsaw.w3.org/css-validator/validator?uri=" + escape( location );

      ea.setAttribute( "href", ta );

      if ( es[i].firstChild &&
           es[i].firstChild.data &&
           es[i].firstChild.data != "" ) {
        ta = es[i].firstChild.data;
      } else {
        ta = "Valid CSS";
      }
      ea.appendChild( document.createTextNode( ta ) );

      while ( es[i].firstChild ) {
        es[i].removeChild( es[i].firstChild );
      }
      es[i].appendChild( ea );
    }
  }
}