function elementAddClassName(pElement, pClassName) {
  if (!pElement.className) {
    pElement.className = pClassName;
  }
  else {
    var classNames = pElement.className.split(/ +/);
    for (var i = 0; i < classNames.length; i++) {
      if (classNames[i] == pClassName) {
        return;
      }
    }
    classNames.push(pClassName);
    pElement.className = classNames.join(" ");
  }
}

function elementChangeOpacity(pElement, pOpacity) {
  var style = pElement.style;
  style.opacity = (pOpacity / 100);
  style.MozOpacity = (pOpacity / 100);
  style.KhtmlOpacity = (pOpacity / 100);
  style.filter = "alpha(opacity=" + pOpacity + ")";
}

function elementHasClassName(pElement, pClassName) {
  if (pElement.className) {
    var classNames = pElement.className.split(/ +/);
    var count = classNames.length;
    for (var i = 0; i < count; i++) {
      if (classNames[i] == pClassName) {
        return true;
      }
    }
  }
}

function elementRemoveClassName(pElement, pClassName) {
  if (pElement.className) {
    var classNames = pElement.className.split(/ +/);
    for (var i = classNames.length - 1; i >= 0; i--) {
      if (classNames[i] == pClassName) {
        classNames.splice(i, 1);
      }
    }
    pElement.className = classNames.join(" ");
  }
}

