 function EMAddr(host, name, text1, text2, add)		// die spammers!
  { 
    e=name+'@'+host;
    if (text1=='') text1=e;
    if (text2!='') text2='@'+text2;
    document.write('<a href="mailto:'+e+'"'+add+'>'+text1+text2+'</a>'); 
  }

// Service functions. (C) alexander Domanov

 function getObj(name, withstyle)
  {
    if (document.getElementById)
     {
       this.obj = document.getElementById(name);
       if (withstyle!=null && this.obj!=null) this.style = document.getElementById(name).style;
     }
    else if (document.all)
          {
            this.obj = document.all[name];
            if (withstyle!=null && this.obj!=null) this.style = document.all[name].style;
          }
         else if (document.layers)
               {
                 this.obj = getObjNN4(document,name);
                 if (withstyle!=null && this.obj!=null) this.style = this.obj;
               }
  }

 function getObjNN4(obj,name)
  {
    var x = obj.layers;
    var foundLayer;
    for (var i=0;i<x.length;i++)
     {
	if (x[i].id == name)
   	  foundLayer = x[i];
	else if (x[i].layers.length)
  		var tmp = getObjNN4(x[i],name);
  	if (tmp) foundLayer = tmp;
     }
    return foundLayer;
  }


 function setVisible(nr, vis)
  {
    var style = (vis ? "block" : "none");
    if (document.layers)
     {
       if (document.layers[nr]) document.layers[nr].display = style;
     }
    else
     {
       var obj = new getObj(nr, 1);
       if (obj) obj.style.display = style;
     }
  }


 function setHTML(nr, html)
  {
    var o = new getObj(nr);
    if (o && o.obj) o.obj.innerHTML = html;
  }

 function addHTML(nr, html)
  {
    var o = new getObj(nr);
    if (o && o.obj) o.obj.innerHTML += html;
  }


 function setStyle(nr, st_new)
  {
    var o = new getObj(nr, 1);
    if (o && o.style)
     {
//       if (document.styleSheets) // ie
       o.style.cssText = st_new;
     }
  }
