function removeClass (p, className) {
  if ( !p || !className || typeof className != 'string' || !className.length ) return false;
  if (typeof p == "string") p = document.getElementById(p);
  var re = new RegExp('(\\s+|^)' + className + '(\\s+|$)');
  return (re.test(p.className));
}

function isInArray ( arr, val ) {
  for (var i = arr.length; i >= 0; i--) {
    if (arr[i] == val) return true;
  }
  return false;
}

function replaceClass ( mixNode, strRemovedClass, strPlacedClass ) {
  if ( typeof mixNode == "string" ) mixNode = document.getElementById(mixNode);
  var re = /\s+/;
  var arrNodeClass = mixNode.className.split(re);
  var arrRemovedClass = strRemovedClass.split(re);
  var arrPlacedClass = strPlacedClass.split(re);

  isInArray(arrNodeClass, "c1");
  for ( var i = arrNodeClass.length; i >= 0; i-- ) {
    if ( isInArray(arrRemovedClass, arrNodeClass[i]) )
      arrNodeClass.splice(i, 1)
    else if ( isInArray(arrPlacedClass, arrNodeClass[i]) )
      arrNodeClass.splice(i, 1);
  }
  arrNodeClass = arrNodeClass.concat(arrPlacedClass);
  mixNode.className = arrNodeClass.join(" ");
}

function testClass (p, className) {
  if ( !p || !className || typeof className != 'string' || !className.length ) return false;
  if (typeof p == "string") p = document.getElementById(p);
  var re = new RegExp('(\\s+|^)' + className + '(\\s+|$)');
  return (re.test(p.className));
}

