/*
 * filename:      cda.js
 * project:       CDA
 * app:           ---
 * copyright:     NUSTEP s.r.o. 2002,2003,2004
 * author:        Svorad Stolc Jr. <stolc@nustep.net>
 * created:       2004/02
 * modified:      ---
 * version:       0.15
 * requirements:  JScript 5.0+
 */

//------------------------------------------------------------
// Misc Functions

function avKeyDown(AEvent, AURL)
{
  if (AEvent.ctrlKey && AEvent.shiftKey && String.fromCharCode(AEvent.keyCode) == 'E' && AURL)
    window.location = AURL;
}

function elementShowHide(aName)
{
  var element = document.getElementById(aName);

  if (element)
    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);

  if (parent && child)
    parent.appendChild(child);
}

function elementSetDisplay(aName, aDisplayValue)
{
  var element = document.getElementById(aName);

  if (element && element.style)
    element.style.display = aDisplayValue;
}

function boxExpandCollapse(AElement, ABoxClass)
{
  if (!AElement || !ABoxClass) return false;

  var element = AElement;
  while (element && (element.className != ABoxClass))
    element = element.parentNode;

  if (!element) return false;

  element = element.firstChild;
  while (element) {
    if (element.className == 'expanded')
      element.className = 'collapsed';
    else
      if (element.className == 'collapsed')
        element.className = 'expanded';

    element = element.nextSibling;
  }

  return false;
}

function setFormFieldValue(AElement, AFieldName, AFieldValue)
{
  if (!AElement || !AFieldName) return false;

  var element = AElement;
  while (element && (element.tagName != 'FORM'))
    element = element.parentNode;

  if (!element) return false;

  element.elements[AFieldName].value = AFieldValue;

  return true;
}

//------------------------------------------------------------
// 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;
}

//------------------------------------------------------------
// 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));
}
