// This function turns the "date" window on.
function dateTextOn()
{
  var element = document.getElementById("dateText");
  element.style.visibility = "hidden";         // Turn window off in case it was on.
  var localTime = new Date;
  var weekdays = new Array("Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday");
  var months = new Array("January","February","March","April","May","June","July","August","September","October","November","December");
  var leap = 0;
  if ((localTime.getFullYear() % 4) == 0) {leap = 1}
  var dayCount = new Array(0,31,59+leap,90+leap,120+leap,151+leap,181+leap,212+leap,243+leap,273+leap,304+leap,334+leap);
  var weekday = weekdays[localTime.getDay()];
  var month = months[localTime.getMonth()];
  var day = localTime.getDate();
  var dayOfTheYear = dayCount[localTime.getMonth()] + day;
  if(((dayOfTheYear % 100) == 11) || ((dayOfTheYear % 100) == 12) || ((dayOfTheYear % 100) == 13)) {var dayOfTheYearFormat = dayOfTheYear + "th"}
  else
  {
    if ((dayOfTheYear % 10) == 1) {var dayOfTheYearFormat = dayOfTheYear + "st"}
    else if ((dayOfTheYear % 10) == 2) {var dayOfTheYearFormat = dayOfTheYear + "nd"}
    else if ((dayOfTheYear % 10) == 3) {var dayOfTheYearFormat = dayOfTheYear + "rd"}
    else {var dayOfTheYearFormat = dayOfTheYear + "th"}
  }
  var html = "Today is " + weekday + ", " + month + " " + day + ", the " + dayOfTheYearFormat + " day of the year.";
  element.innerHTML = html;
  element.style.visibility = "visible";
}

// This function turns the "date" window off.
function dateTextOff()
{
  var element = document.getElementById("dateText");
  element.style.visibility = "hidden";
}

// This function displays today's events.
function display_events()
{
  var j=0;
  for(var i=3; i>=1; i--)
  {
    if(document.getElementById("today" + i))
    {
      setTimeout("show('today" + i + "',0,20);",1000+2000*j)
      j++;
    }
  }
}

// This function sets a timer to slide down a div.
function show(elem,delay,speed)
{
  show_element = document.getElementById(elem);
  show_element.style.display = "block";   // Switch element on...
  end_height = show_element.offsetHeight; // ...get height...
  show_element.style.height = '1px';      // ...and switch it off.
  for (var i=1; i<=end_height; i++)
  {
    setTimeout("show_element.style.height = '" + i + "px';",delay+speed*i);
  }
}

// This function displays/hides the today_info window.
function today_info_on_off(i)
{
  if(today_info_current_status == 0) // fully hidden
  {
    today_info_populate(i);
    var element = document.getElementById("today" + i);
    var y = element.offsetTop;
    var element2 = document.getElementById("today_info");
    element2.style.top = y + "px";
    element2.style.display = "block";
    today_info_current = i;
    move_left();
  }
  else if(today_info_current_status == 1) // fully expanded
  {
    if(today_info_current == i)
    {
      move_right();
    }
    else
    {
      today_info_current = i;
      today_info_populate(i);
      var element = document.getElementById("today" + i);
      var y = element.offsetTop;
      var element2 = document.getElementById("today_info");
      element2.style.top = y + "px";
      element2.style.display = "block";
    }
  }
  else if(today_info_current_status == 2) // moving left
  {
    if(today_info_current == i)
    {
      move_right();
    }
  }
  else if(today_info_current_status == 3) // moving right
  {
    if(today_info_current == i)
    {
      move_left();
    }
  }
}

// This function moves the today_info box to the left.
function move_left()
{
  if(typeof(window['timer_right']) != "undefined")
    { clearTimeout(timer_right); }
  var element = document.getElementById("today_info");
  var width = parseInt(element.style.width);
  if(width < 200)
  {
    today_info_current_status = 2; // moving left
    var x = parseInt(element.style.left);
    element.style.left = (x-4) + "px";
    element.style.width = (width+4) + "px";
    timer_left = setTimeout("move_left();",10);
  }
  else
  {
    today_info_current_status = 1; // fully expanded
  }
}

// This function moves the today_info box to the right.
function move_right()
{
  if(typeof(window['timer_left']) != "undefined")
    { clearTimeout(timer_left); }
  var element = document.getElementById("today_info");
  var width = parseInt(element.style.width);
  if(width > 2)
  {
    today_info_current_status = 3; // moving right
    var x = parseInt(element.style.left);
    element.style.left = (x+4) + "px";
    element.style.width = (width-4) + "px";
    timer_right = setTimeout("move_right();",10);
  }
  else
    {
      today_info_current_status = 0; // fully hidden
      element.style.display = "none";
    }
}

// This function fills in the today_info window with the correct data.
function today_info_populate(i)
{
    var html = "<span class=\"name\">" + speaker[i] + "</span>" + "<br /><span class=\"title\">" + title[i] + "</span>";
    if((abstract[i] == "html") || (abstract[i] == "pdf"))
    {
      html += "<br /><span style=\"font-variant: small-caps; font-size: 80%\"><a href=\"" + abstract_url[i] + "\">Abstract</span></a>";
    }
    if(tea[i] == "yes")
    {
      html += "<br /><span style=\"color: green; font-size: 80%\">Tea at " + tea_time[i] + " in " + tea_place[i] + ".</span>";
    }
    var element = document.getElementById("today_info_inner");
    element.innerHTML = html;
}

