//------------------------------------------------------------
// Cookie Functions

function setCookie(name, value, expires, path, domain, secure)
{
  var curCookie = name + "=" + escape(value) +
    ((expires) ? "; expires=" + expires.toGMTString() : "") +
    ((path) ? "; path=" + path : "") +
    ((domain) ? "; domain=" + domain : "") +
    ((secure) ? "; secure" : "");

  document.cookie = curCookie;
}

function getCookie(name)
{
  var dc = document.cookie;
  var prefix = name + "=";
  var begin = dc.indexOf("; " + prefix);

  if (begin == -1) {
    begin = dc.indexOf(prefix);
    if (begin != 0)
      return null;
  }
  else
    begin += 2;

  var end = document.cookie.indexOf(";", begin);

  if (end == -1)
    end = dc.length;

  return unescape(dc.substring(begin + prefix.length, end));
}

//------------------------------------------------------------
// Hover Images Functions

function imagePreload(aSrc)
{
  var lImage = new Image;
  lImage.src = aSrc;
}

function imageRestore(aName)
{
  var element = document.getElementById(aName);
  element.src = element.originalSrc;
}

function imageSwap(aName, aSrc)
{
  var element = document.getElementById(aName);
  element.originalSrc = element.src;
  element.src = aSrc;
}

//------------------------------------------------------------
// Misc Functions

function elementShowHide(aName)
{
  var element = document.getElementById(aName);
  if (element.style.visibility == 'visible')
    element.style.visibility = 'hidden';
  else
    element.style.visibility = 'visible';
}

function elementAppendChild(aParentName, aChildName)
{
  var parent = document.getElementById(aParentName);
  var child = document.getElementById(aChildName);

  parent.appendChild(child);
}

//------------------------------------------------------------
// String Functions

function ltrim(str) {
  for (var i=0; ((str.charAt(i)<=" ")&&(str.charAt(i)!="")); i++);
  return str.substring(i,str.length);
}

function rtrim(str) {
  for (var i=str.length-1; ((str.charAt(i)<=" ")&&(str.charAt(i)!="")); i--);
  return str.substring(0,i+1);
}

function trim(str) {
  return ltrim(rtrim(str));
}
