function setActiveStyleSheet(title) {
  if(!document.getElementsByTagName) { return; }
  createCookie("OFAIStyle",title, 365);
  setActiveStyleSheetLink(title);
  return;
}

function setActiveStyleSheetLink(title) {
  if(!document.getElementsByTagName) { return; }
  var i, a, main;
  for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {
    if (a.getAttribute("rel")) {
      if((a.getAttribute("rel").indexOf("style") != -1)  && 
         (a.getAttribute("title"))) {	
        if(a.getAttribute("title") == title) {
          a.disabled = false;
        } else {
          a.disabled = true;
        }
      }
    }
  }
}

function getActiveStyleSheet() {
  if(!document.getElementsByTagName) { return null; }
  var i, a;
  for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {
    if(a.getAttribute("rel").indexOf("style") != -1 &&
       a.getAttribute("title") && 
       !a.disabled) {
      return a.getAttribute("title");
    }
  }
  return null;
}

function getPreferredStyleSheet() {
  if(!document.getElementsByTagName) { return null; }
  var i, a;
  for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {
    if(a.getAttribute("rel").indexOf("style") != -1
       && a.getAttribute("rel").indexOf("alt") == -1
       && a.getAttribute("title")) {
      return a.getAttribute("title");
    }
  }
  return null;
}

function createCookie(name,value,days) {
  if (days) {
    var date = new Date();
    date.setTime(date.getTime()+(days*24*60*60*1000));
    var expires = "; expires="+date.toGMTString();
  }
  else expires = "";
  document.cookie = name+"="+value+expires+";";
}

function readCookie(name) {
  var nameEQ = name + "=";
  var ca = document.cookie.split(';');
  for(var i=0;i < ca.length;i++) {
    var c = ca[i];
    while (c.charAt(0)==' ') c = c.substring(1,c.length);
    if (c.indexOf(nameEQ) == 0) {
      return c.substring(nameEQ.length,c.length);
    }
  }
  return null;
}


function init() {
  if(document.getElementsByTagName) {
    var cookie = readCookie("OFAIStyle");
    var title = cookie ? cookie : getPreferredStyleSheet();
    setActiveStyleSheet(title);
  }
}

// This should be done by CSS3 nth-child(odd) but no browser supports that :(
// fix tables
function fixtables() {
  if(document.getElementsByTagName) {
    var trs = document.getElementsByTagName('tr');
    for (var i = 0; i < trs.length; i++)
      if (i%2) { 
        trs[i].className = 'trodd'; 
      } else {
        trs[i].className = 'treven';
      }
  }
}
function fixemail() {
  var nodes = document.getElementsByTagName("span");
  var node;
  var text;
  var code;
  var parm;
  var anode;
  var classname;
  for(var i = 0; i < nodes.length; i++){
    node = nodes[i];
    classname = node.getAttribute("classname");
    if(!classname) {
      classname = node.getAttribute("class");
    }
    if(classname == "eml") {
      parm = node.firstChild.data;
      
      text = parm.split("(AT)");
      text = text.join("\u0040");
      text = text.split("[DOT]");
      text = text.join("\u002e");
      anode = document.createElement("a");
      anode.setAttribute("href","javascript:window.location=sendeml("+"'"+parm+"'"+",1);");
      // It seems IE does not handle this correctly, therefore we need the href assignment above
      anode.setAttribute("onclick","javascript:window.location=sendeml("+"'"+parm+"'"+",1); return false;");
      anode.setAttribute("onmouseover","window.status=sendeml("+"'"+parm+"'"+",0); return true;");
      anode.setAttribute("onmouseout","window.status=''");
      anode.appendChild(document.createTextNode(text));
      node.replaceChild(anode,node.firstChild);
    }
  }
}


function sendeml (adr,opt) {
  adr = adr.split("(AT)");
  adr = adr.join("\u0040");
  adr = adr.split("[DOT]");
  adr = adr.join("\u002e");
  if(opt == 1) {
    return "mailto:"+adr;
  } else {
    return adr;
  }
}

window.onload = function() {
  fixtables();
  fixemail();
}
