//Fix for pre-DOM IE
if(document.all && !document.getElementById){
  document.getElementById = function(id){ return document.all[id] };
}else if(!document.getElementById) document.getElementById = function(id) { return id };

//Shared variables
var d = String.fromCharCode(46);
var a = String.fromCharCode(64);
var g = String.fromCharCode(62);
var l = String.fromCharCode(60);
function dw(c){document.write(c);};

//<noscript> element replacement (to allow inline elements)
document.write(l + 'style type="text/css"' + g + '.noscript { display: none } ' + l + '/style' + g);

//Email address handling
function parsespans(){
  var spans = document.getElementsByTagName('span');
  var pattern = new RegExp("(^|\b)" + 'email' + "(\b|$)");
  for(var i = 0; i < spans.length; i++){
    if(pattern.test(spans[i].className)) convertemail(spans[i]);
  };
};
function convertemail(ipelem){
  var i = 0;
  var addr = getcontents(ipelem);
  
  if(addr.indexOf('@') > 0) ipelem.innerHTML = l + 'a href="mailto:' + addr + '"' + g + addr + l + '/a' + g;
};

function getcontents(ipelem){
  cont = '';
  if(ipelem.hasChildNodes()){ //Nasty cludge due to inconsistencies handling javascript within the node
    for(i = 0; i < ipelem.childNodes.length; i++){
      if(ipelem.childNodes[i].nodeValue != null) cont = cont + ipelem.childNodes[i].nodeValue;
    };
  }else if(typeof ipelem.innerText != undefined) cont = ipelem.innerText;
  else if(typeof ipelem.textContent != undefined) cont = ipelem.textContent;
  return cont;
};

if(window.attachEvent) window.attachEvent("onload", function(){parsespans()});
else if(window.addEventListener) window.addEventListener("load", function(){parsespans()}, false);
else document.addEventListener("load", function(){parsespans()}, false);

//General purpose functions
function toggle(objectname){
    object = document.getElementById(objectname)
    if(object.style.display == 'block'){
        object.style.display='none';
    }else{
        object.style.display='block';
    };
};

function togglefolder(elemID){
  //Simple function to toggle the display of a child list.
  //Changes the first character of the parent's first child (ie the span tag) between + and -
  elem = document.getElementById(elemID);
  if(elem.style.display == 'none'){
    elem.style.display = 'block';
    if(typeof(elem.textContent) != 'undefined') elem.parentNode.firstChild.textContent = '-' + elem.parentNode.firstChild.textContent.substr(1);
    else elem.parentNode.firstChild.innerText = '-' + elem.parentNode.firstChild.innerText.substr(1);
  }else{
    elem.style.display = 'none';
    if(typeof elem.textContent != 'undefined') elem.parentNode.firstChild.textContent = '+' + elem.parentNode.firstChild.textContent.substr(1);
    else elem.parentNode.firstChild.innerText = '+' + elem.parentNode.firstChild.innerText.substr(1);
  };
}
