//
//      -- Copyright (C) Andrew Scott, 2004-2008
//	http://www.andrew-scott.co.uk/
//

tabs = new Array(
  "home",
  "teaching",
  "research",
  "hardware",
  "software",
  "tools",
  "links"
  );

var lstvis=null;var lastDay=0;var mx=0;var my=0;var hd=null;var msg=null;
var dTab;var dWdth;var dHgt;var chPos=0;
function dce(e){return document.createElement(e);}
function ctn(s){return document.createTextNode(s);}
function gbi(i){return document.getElementById(i);}
function gbt(i){return document.getElementsByTagName(i);}
function apc(o,c){o.appendChild(c);}
function txt(o,t){apc(o,ctn(t));}
function rot(o,t){o.replaceChild(ctn(t),o.childNodes[0]);}
function idply(){dHgt=8;dWdth=40;ddiv=gbi("disp");dTab=dce("table");dbdy=
  dce("tbody");dTab.className="disp";for(var row=0;row<dHgt;row++){r=dce("tr");
  for(var col=0;col<dWdth;col++){c=dce("td");c.bgColor="#0000ff";c.width=2;
  c.height=2;apc(r,c);}apc(dbdy,r);}apc(dTab,dbdy);apc(ddiv,dTab);chPos=0;
  colCount=0;}
function updClk(){var cur_date=new Date();var Day=cur_date.getDate();
  var Hour=cur_date.getHours();var Minute=cur_date.getMinutes();var Seconds=
  cur_date.getSeconds();if(Minute<10)Minute="0"+Minute;if(Seconds<10)Seconds=
  "0"+Seconds;rot(gbi("clock"),Hour+":"+Minute+":"+Seconds);if(Hour==0&&Minute==
  0&&Seconds==0){if(Day<lastDay)setTimeout("window.location.reload()",60000);
  else{gbi('d'+Day).className="today";if(--Day>0)gbi('d'+Day).className="day";}}
  lastDay=Day;}
function scrl(){if(chPos>=msg.length)chPos=0;for(var col=1;col<dWdth;col++){
  for(var row=0;row<dHgt;row++){dTab.rows[row].cells[col-1].bgColor=
  dTab.rows[row].cells[col].bgColor;}}chr=msg[chPos++];msk=256;for(var row=0;
  row<8;row++){msk>>=1;if((chr&msk)==0)dTab.rows[row].cells[dWdth-1].bgColor=
  "#0000ff";else dTab.rows[row].cells[dWdth-1].bgColor="#ffff00";}}
function move(e){if(document.all){toff=0; // IE
  if(document.documentElement&&document.documentElement.scrollTop)toff=
  document.documentElement.scrollTop;else if(document.body)toff=
  document.body.scrollTop;mx=event.x;my=event.y+toff;}else{ mx=e.pageX;my=
  e.pageY;}}
function idiv(){hd=dce("div");hd.style.position="absolute";hd.style.visibility=
  "hidden";hd.style.top=0;hd.style.left=0;b=gbt("body");apc(b[0],hd);}
function scook(n,v){var d=new Date();d.setDate(d.getDate()+365);
  document.cookie=n+"="+escape(v)+";expires="+d.toGMTString();}
function gcook(n){if(document.cookie.length<=0)return null;var s=
  document.cookie.indexOf(n+"=");if(s==-1)return null;s+=(n.length+1);
  e=document.cookie.indexOf(";",s);if(e==-1)e=document.cookie.length;
  return unescape(document.cookie.substring(s,e));}
function getlst(){lstvis=gcook("last");scook("last",new Date());}
function init(){window.loaded=true;getlst();document.onmousemove=move;idply();
  idiv();setInterval("updClk()",1000);setInterval("scrl()",40);}
function ndiv( ){if(hd!=null)hd.style.visibility="hidden";}
function vdiv(c){if(hd!=null){hd.innerHTML=c;hd.style.top=my; hd.style.left=mx;
  hd.style.visibility="visible";}}
function cdiv(c){vdiv ("<img src=\"/images/classification/c-"+c+".gif\" alt=\""+
  c+"\" />"); }
function htab(t){gbi('t'+t).bgColor="#0000ff";}
function ntab(t){gbi('t'+t).bgColor="#ccccff";}
function itab( ){document.write("<table><tbody bgcolor=\"#ccccff\"><tr>");
  for(var tab=0;tab<tabs.length;tab++){document.write("<td id=\"t" + tab +
  "\" class=\"tab\">");document.write("<div onmouseover=\"htab(" + tab +
  ")\" onmouseout=\"ntab(" + tab + ")\">");document.write("<a href=\"/" +
  tabs[tab]+"\">");document.write(tabs[tab] +
  "</a></div></td> <td> </td>");}document.write ("</tr></tbody></table>");}
  window.onload=init;
