function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
function getStyle()
{
var x=document.getElementById("style");
var title=(x.options[x.selectedIndex].value);
SetStyleSheet(title);
}
function SetStyleSheet(newtitle) 
{
  // this function exists solely to 
  // distinguish when the user chooses a new
  // theme. IE does not properly reflow the page
  // when a new theme is chosen and we must force
  // a reload when IE users choose a new theme.
  SetStyleSheetInternal(newtitle);
  if (navigator.userAgent.indexOf('MSIE') != -1 && 
      !window.opera && 
      navigator.product != 'Gecko')

  {
    history.go(0);
  }

}
//start colour picker
function SetStyleSheetInternal(newtitle) 
{
  if (!document.getElementsByTagName)
  {
    return;
  }

  var i;
  var savedtitle = '';
  var links = document.getElementsByTagName("link");

  if (!newtitle)
  {
    newtitle = savedtitle = ReadCookie("discstyle", false);
  }

  if (!newtitle)
  {
    newtitle = GetPreferredStyleSheet();
  }

  var activesheet = null;
  for (i = 0; i < links.length; i++) 
  {
    var a = links[i];
    var rel = a.getAttribute('rel');
    var title = a.getAttribute('title');

    if (rel.indexOf("style") != -1 && title) 
    {
      a.disabled = true;
      if (title == newtitle) 
      {
        activesheet = a;
      }
    }
  }
  if (activesheet)
  {
    activesheet.disabled = false;
  }
  if (newtitle != savedtitle)
  {
    CreateCookie("discstyle", newtitle, 365, false);
  }
}

function GetActiveStyleSheet() 
{
  if (!document.getElementsByTagName)
  {
    return null;
  }

  var i;
  var links = document.getElementsByTagName("link");

  for(i = 0; i < links.length; i++) 
  {
    var a = links[i];
    var rel = a.getAttribute('rel');
    var title = a.getAttribute('title');

    if (rel.indexOf("style") != -1 && title && !a.disabled) 
    {
      return title;
    }
  }
  return null;
}

function GetPreferredStyleSheet() 
{
  if (!document.getElementsByTagName)
  {
    return null;
  }

  var i, a;
  var links = document.getElementsByTagName("link");

  for (i = 0; i <  links.length; i++) 
  {
    a = links[i];
    var rel = a.getAttribute('rel');
    var title = a.getAttribute('title');

    if (rel.indexOf("style") != -1 && rel.indexOf("alt") == -1 && title)
    {
      return title;
    }
  }
  return null;
}
//end colour picker
function CreateCookie(name,value,days,useLang) 
{

  var langString = useLang ? GetLang() : "";

  var cookie = name + langString + "=" + value + ";";

  if (days) 
  {
    var date = new Date();
    date.setTime(date.getTime()+(days*24*60*60*1000));
    cookie += " expires=" + date.toGMTString() + ";";
  }
  cookie += " path=/";

  document.cookie = cookie;
}

function ReadCookie(name, useLang) 
{

  var langString = useLang ? GetLang() : "";

  var nameEQ = name + langString + "=";
  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 SetTheme()
{
  SetStyleSheetInternal();
  return true;
}

function GetLang()
{
  var langString = "";

  if (document.documentElement){
    langString = document.documentElement.lang;
    if (langString != ""){
      langString = "-" + langString;
    }
  }  
  return langString;
}
function init()
{
  SetStyleSheetInternal();
}
