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];}
}
//start size picker
function SetTextSize(chgsize,rs) 
{
  var startSize;
  var newSize;
  var maxSize;

  if (!document.getElementsByTagName)
  {
    return;
  }

  startSize = parseInt(GetDocTextSize());

  if (!startSize)
  {
    startSize = 95;
  }

  switch (chgsize)
  {
  
  case 'incr':
    maxSize = parseInt(rs);
	newSize = parseInt(startSize);
  	if (newSize < maxSize) {
	newSize = startSize + 10;
	}
    break;

  case 'decr':
    newSize = startSize - 10;
    break;
	
  case 'inc_hi':
    if (rs) {newSize = rs;} else {newSize = 100;}
    break;

  case 'reset':
    if (rs) {newSize = rs;} else {newSize = 95;}
    break;

  default:
    newSize = parseInt(ReadCookie("textsize", true));
    if (!newSize)
    {
      newSize = startSize;
    }
    break;

  }

  if (newSize < 95) 
  {
    newSize = 95;
  }

  newSize += '%';

  document.getElementsByTagName('html')[0].style.fontSize = newSize;
  document.getElementsByTagName('body')[0].style.fontSize = newSize;
  //document.getElementsByTagName('table')[0].style.fontSize = newSize;

  CreateCookie("textsize", newSize, 365, true);
}

function GetDocTextSize() 
{
  if (!document.getElementsByTagName)
  {
    return 0;
  }

  var size = 0;
  var body = document.getElementsByTagName('body')[0];

  if (body.style && body.style.fontSize)
  {
    size = body.style.fontSize;
  }
  else if (typeof(getComputedStyle) != 'undefined')
  {
    size = getComputedStyle(body,'').getPropertyValue('font-size');
  }
  else if (body.currentStyle)
  {
    size = body.currentStyle.fontSize;
  }
  return size;
}
//end size picker
//start style picker
function SetTextStyle(chgstyle,rs) 
{
  var startStyle;
  var newStyle;

  if (!document.getElementsByTagName)
  {
    return;
  }

  startSize = GetDocTextStyle();

  if (!startStyle)
  {
    startStyle = 'Verdana, Arial, Helvetica, sans-serif';
  }

  switch (chgstyle)
  {
  case 'times':
    newStyle = 'Times New Roman, Times, serif';
    break;

  case 'arial':
    newStyle = 'Arial, Helvetica, sans-serif';
    break;
	
  case 'courier':
    newStyle = 'Courier, mono';
    break;	

  case 'reset':
    if (rs) {newStyle = rs;} else {newStyle = 'Verdana, Arial, Helvetica, sans-serif'}
    break;

  default:
    newStyle = ReadCookie("textstyle");
    if (!newStyle)
    {
      newStyle = startStyle;
    }
    break;

  }

  document.getElementsByTagName('html')[0].style.fontFamily = newStyle;
  document.getElementsByTagName('body')[0].style.fontFamily = newStyle;

  CreateCookie("textstyle", newStyle, 365);
}

function GetDocTextStyle() 
{
  if (!document.getElementsByTagName)
  {
    return 0;
  }

  var style = '';
  var body = document.getElementsByTagName('body')[0];

  if (body.style && body.style.fontFamily)
  {
    style = body.style.fontFamily;
  }
  else if (typeof(getComputedStyle) != 'undefined')
  {
    style = getComputedStyle(body,'').getPropertyValue('font-family');
  }
  else if (body.currentStyle)
  {
    style = body.currentStyle.fontFamily;
  }
  return style;
}
//end style picker

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("style", 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("style", 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()
{
  //checkForUpgrade();
  SetStyleSheetInternal();
  SetTextSize();
  //SetTextStyle();
  return true;
}

function GetLang()
{
  var langString = "";

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

/*function checkForUpgrade()
{
  var rvValue = -1;

  if (navigator.product == 'Gecko')
  {
    rvValue = 0;
    var ua      = navigator.userAgent.toLowerCase();
    var rvStart = ua.indexOf('rv:');
    var rvEnd   = ua.indexOf(')', rvStart);
    var rv      = ua.substring(rvStart+3, rvEnd);
    var rvParts = rv.split('.');
    var exp     = 1;

    for (var i = 0; i < rvParts.length; i++)
    {
      var val = parseInt(rvParts[i]);
      rvValue += val / exp;
      exp *= 100;
    }
  }

 if (!document.getElementById || ( rvValue >= 0 && rvValue < 1.0))
  {
    var updateMessageShown = ndeReadCookie('upgrade');
    if (!updateMessageShown)
    {
      ndeCreateCookie('upgrade','1', 90);
      // check if cookie written. If not, don't redirect
      if (ndeReadCookie('upgrade'))
      {
        document.location = '/upgrade.html';
      }
    }
  }
}*/

/*function printAlert() {
	alert('Thanks to the use of a print-media stylesheet, this page is already printer-friendly!  Just print the article from a CSS-capable browser to get the print styles on paper.');
}*/

function init()
{
  //cssjsmenu('navbar');
  //cssjsmenu('nde-config');
  /*if (document.getElementById)
  {
    var kill = document.getElementById('hoverJS'); 
    kill.disabled = true;
  }*/
  SetStyleSheetInternal();
}
