//
// getElement
//
function getElement(id) {
  var elm = null;
  
  if (document.getElementById) { // Gecko, Internet Explorer 5+, Opera 5+
    elm = document.getElementById(id);
  } else if (document.all) {     // Interent Explorer 4 or Opera with IE user agent
    elm = document.all[id];
  } else if (document.layers) {  // Navigator 4
    elm = document.layers[id];
  }
  
  return elm;
}

//
// preload
//
function preload() {
  if (!document.images) return;
  var ar = new Array();
  var arguments = preload.arguments;
  for (var i = 0; i < arguments.length; i++) {
    ar[i] = new Image();
    ar[i].src = arguments[i];
  }
}

//
// popup
//
function popup(uri, target, width, height, xoff, yoff, options) {

  var w = 300;
  var h = 300;
  var x = 100;
  var y = 100;
  var opts = 'resizable=0,scrollbars=0';

  if (width) w = width;
  if (height) h = height;
  if (xoff) x = xoff;
  if (yoff) y = yoff;
  if (options) opts = options;

  if (screen) {

    if (x == '*')
      x = Math.round((screen.availWidth - w) / 2);

    if (x < 0)
      x = screen.availWidth - w + x;

    if (y == '*')
      y = Math.round((screen.availHeight - h) / 2);

    if (y < 0)
      y = screen.availHeight - h + y;

  }

  x = Math.abs(x);
  y = Math.abs(y);

  window.open(uri, target, 'width='+w+',height='+h+',left='+x+',screenX='+x+',top='+y+',screenY='+y+','+opts);
}

//
// setColor
//
function setColor(id, color) {
  var elm = getElement(id);
  
  if (!elm) return;
  
  if (elm.style) {
    elm.style.backgroundColor = color;
  } else {
    elm.bgColor = color;
  }
}

//
// setVisibility
//
function setVisibility(id, visibility) {
  var elm = getElement(id);
  
  if (!elm) return;
  
  if (elm.style) {
    elm.style.visibility = visibility;
  } else {
    elm.visibility = visibility;
  }
}

//
// setSrc
//
function setSrc(id, src) {
  var elm = getElement(id);

  if (!elm || !elm.src) return;

  elm.src = src;
}