if(window.opera) { Opera = 1;} else { Opera = 0; }
if(document.all && !Opera) { MSIE = 1; } else { MSIE = 0; }

function init() {
  spanElems = document.getElementsByTagName("span");
  for (i=0; i<spanElems.length ; i++) {
    if (spanElems[i].className == "email"){
      if (MSIE) {
        spanElems[i].onclick=unmaskEmail;}
      else {
    spanElems[i].addEventListener("click", unmaskEmail, false);}
    }
    if (spanElems[i].className == "explain"){
       spanElems[i].addEventListener("mouseover", explain, false);
       spanElems[i].addEventListener("mouseout", clean, false);
    } 
  }
}
function init_and_blockMSIE() {
  init();
  if (MSIE) {document.all["noMSIE"].style.visibility = "visible";}
  else {document.getElementById("noscript").style.visibility = "hidden";
    document.getElementById("noMSIE").style.visibility = "hidden";
  } 
}
var _unmasked = false;
function unmaskEmail() {
  if (!_unmasked) {
    spanElems = document.getElementsByTagName("span");
    i = 0 ;
    while ( i < spanElems.length) {
      spanElem = spanElems[i];
      if (spanElem.className == "email"){
         recipientName = spanElem.firstChild;
         recipientHost = spanElem.lastChild;
         emailAddress = recipientName.nodeValue +"@"+ recipientHost.nodeValue;
        
         // create the email a element
         emailLinkElem = document.createElement("a");
         emailLinkElem.appendChild( document.createTextNode( emailAddress));
         linkAttr = document.createAttribute("href");
         linkAttr.nodeValue = "mailto:" + emailAddress;
         emailLinkElem.setAttributeNode( linkAttr);
        
         // replace the span element with the a element
         spanElem.parentNode.replaceChild( emailLinkElem, spanElem);
         }
      else {i++;}
//       emailLinkElem.dispatchEvent( click);
    }
   _unmasked = true;
  }
}
function explain(e) {
  var expl = new Array("Regel-Technologien","Ontologien","Agentenorientierte Modellierung","Agentenbasierte Simulation");
  expl["Regel-Technologien"]="Regeln spielen eine wichtige Rolle, sowohl in der sozialen Interaktion als auch in Informationssystemen.";
  expl["Ontologien"]="In der Informatik werden unter dem Begriff 'Ontologien' formale Begrifffssysteme verstanden.";
  var newExplanation, divExplain, word;
  word=e.target.firstChild.nodeValue;
  if (expl[word] != null){
    newExplanation = document.createTextNode(expl[word]);
    divExplain = document.getElementById("explain");
    prevContent = divExplain.childNodes[0];
    divExplain.replaceChild( newExplanation, prevContent);
  } 
}
function clean(){
  var divExplain = document.getElementById("explain");
  var prevContent = divExplain.childNodes[0];
  divExplain.replaceChild(
  document.createTextNode("[. . .]"), prevContent);
}
