﻿// JavaScript File

function getSpecifiedElement(paraTagName)
{
    var oHtml = document.documentElement;
    alert(oHtml.firstChild);
}


function getURLvariable(paramname)
{
  var searchString = document.location.search;

  // strip off the leading '?'
  searchString = searchString.substring(1);

  var nvPairs = searchString.split("&");

  for (i = 0; i < nvPairs.length; i++)
  {
     var nvPair = nvPairs[i].split("=");
     var name = nvPair[0];
     var value = nvPair[1];
     if (name == paramname)
     {
        alert("getURLvariable called with " + paramname + " = " + value);
        return value;
     }
  }
  alert("getURLvariable called with no " + paramname);
}


addLoadListener(checkStyleSheet);

function checkStyleSheet()
{
  if (typeof document.styleSheetLinks == "undefined")
  {
    document.styleSheetLinks = [];

    var links = document.getElementsByTagName("link");

    for (var i = 0; i < links.length; i++)
    {
      var rel = links[i].getAttribute("rel");
      var linkTitle = links[i].getAttribute("title");

      if (rel.match(/(^| )stylesheet( |$)/) && linkTitle != null && linkTitle != "")
      {
        document.styleSheetLinks[document.styleSheetLinks.length] = links[i];
      }
    }
  }

  for (var i = 0; i < document.styleSheetLinks.length; i++)
  {
    if (document.styleSheetLinks[i].disabled == false)
    {
      document.cookie = "stylesheet=" + document.styleSheetLinks[i].getAttribute("title");
      break;
    }
  }

  setTimeout("checkStyleSheet()", 2000);
}

function switchStyleSheet(title)
{
  var links = document.getElementsByTagName("link");

  for (var i = 0; i < links.length; i++)
  {
    var rel = links[i].getAttribute("rel");
    var linkTitle = links[i].getAttribute("title");

    if (/(^| )stylesheet( |$)/.test(rel) && linkTitle != null && linkTitle != "")
    {
      links[i].disabled = true;

      if (linkTitle == title)
      {
        links[i].disabled = false;
      }
    }
  }

  document.cookie = "stylesheet=" + title;
}

function addLoadListener(fn)
{
  if (typeof window.addEventListener != 'undefined')
  {
    window.addEventListener('load', fn, false);
  }
  else if (typeof document.addEventListener != 'undefined')
  {
    document.addEventListener('load', fn, false);
  }
  else if (typeof window.attachEvent != 'undefined')
  {
    window.attachEvent('onload', fn);
  }
  else
  {
    var oldfn = window.onload;
    if (typeof window.onload != 'function')
    {
      window.onload = fn;
    }
    else
    {
      window.onload = function()
      {
        oldfn();
        fn();
      };
    }
  }
}

function identifyBrowser()
{
  var agent = navigator.userAgent.toLowerCase();

  if (typeof navigator.vendor != "undefined" && navigator.vendor == "KDE" && typeof window.sidebar != "undefined")
  {
    return "kde";
  }
  else if (typeof window.opera != "undefined")
  {
    var version = parseFloat(agent.replace(/.*opera[\/ ]([^ $]+).*/, "$1"));

    if (version >= 7)
    {
      return "opera7";
    }
    else if (version >= 5)
    {
      return "opera5";
    }

    return false;
  }
  else if (typeof document.all != "undefined")
  {
    if (typeof document.getElementById != "undefined")
    {
      var browser = agent.replace(/.*ms(ie[\/ ][^ $]+).*/, "$1").replace(/ /, "");

      if (typeof document.uniqueID != "undefined")
      {
        if (browser.indexOf("5.5") != -1)
        {
          return browser.replace(/(.*5\.5).*/, "$1");
        }
        else
        {
          return browser.replace(/(.*)\..*/, "$1");
        }
      }
      else
      {
        return "ie5mac";
      }
    }

    return false;
  }
  else if (typeof document.getElementById != "undefined")
  {
    if (navigator.vendor.indexOf("Apple Computer, Inc.") != -1)
    {
      if (typeof window.XMLHttpRequest != "undefined")
      {
        return "safari1.2";
      }

      return "safari1";
    }
    else if (agent.indexOf("gecko") != -1)
    {
      return "mozilla";
    }
  }

  return false;
}

function getCookie(searchName)
{
  var cookies = document.cookie.split(";");

  for (var i = 0; i < cookies.length; i++)
  {
    var cookieCrumbs = cookies[i].split("=");
    var cookieName = cookieCrumbs[0];
    var cookieValue = cookieCrumbs[1];

    if (cookieName == searchName)
    {
      return cookieValue;
    }
  }

  return false;
}


// SLIDESHOW

var timer = 2;

var photos = [
    ['BrianAnnette', 'A view of the cliffs from the beach at Colwyn Bay'],
    ['CurlyAtDark', 'A full-moon shining over the sea'],
    ['CurlyAtTransparent', 'A barren, desert landscape with very few trees'],
    ['GraduatedBackground', 'The river Yangtze snaking off into the distance']
];

var img, count = 1;

function startSlideshow()
{
  img = document.getElementById('topslideshow');
  window.setTimeout('cueNextSlide()', timer * 1000);
}

function cueNextSlide()
{
  var next = new Image;

    next.onerror = function()
  {
    alert('Failed to load next image: ' + next.src);
  };

  next.onload = function()
  {
    img.src = next.src;
    img.alt = photos[count][1];
  
//    img.width = next.width;
//    img.height = next.height;

    if (++count == photos.length) { count = 0; }

    window.setTimeout('cueNextSlide()', timer * 1000);
  };
  next.src = '../images/' + photos[count][0] + '.jpg';

}

addLoadListener(startSlideshow);


function addLoadListener(fn)
{
  if (typeof window.addEventListener != 'undefined')
  {
    window.addEventListener('load', fn, false);
  }
  else if (typeof document.addEventListener != 'undefined')
  {
    document.addEventListener('load', fn, false);
  }
  else if (typeof window.attachEvent != 'undefined')
  {
    window.attachEvent('onload', fn);
  }
  else
  {
    var oldfn = window.onload;
    if (typeof window.onload != 'function')
    {
      window.onload = fn;
    }
    else
    {
      window.onload = function()
      {
        oldfn();
        fn();
      };
    }
  }
}