function ts_email(caller)
{
  var mail = '';
  if (caller.textContent)
  {
    mail = caller.textContent;
    mail = ts_text_content(caller);
  }
  else
  {
    mail = ts_text_content(caller);
  }
  return window.open('mailto:'+mail,'_self');
}

function ts_text_content(node)
{
  if (node.nodeName == "#text") return node.data;

  var i;
  var result = '';
  for(i=0;i<node.childNodes.length;i++)
  {
    if (ts_getStyle(node.childNodes[i],'display')!='none'
     && ts_getStyle(node.childNodes[i],'visibility')!='hidden')
    {
      result = result + ts_text_content(node.childNodes[i]);
    }
  }
  return result;
}

function ts_getStyle(x,styleProp)
{
  var y = '';
	if (x.currentStyle)
  {
		 y = x.currentStyle[styleProp];
  }
	else if (window.getComputedStyle)
  {
    try
    {
		  y = document.defaultView.getComputedStyle(x,null).getPropertyValue(styleProp);
    } catch(e) {} 
  } 
	return y;
}

