
function hasClass(target, classValue)
{
	var pattern = new RegExp("(^| )" + classValue + "( |$)");

	if (target.className.match(pattern))
	{
		return true;
	}

	return false;
};




function addClass(target, classValue)
{
	if (!hasClass(target, classValue))
	{
		if (target.className == "")
		{
			target.className = classValue;
		}
		else
		{
			target.className += " " + classValue;
		}
	}

	return true;
};




function removeClass(target, classValue)
{
	var removedClass = target.className;
	var pattern = new RegExp("(^| )" + classValue + "( |$)");

	removedClass = removedClass.replace(pattern, "$1");
	removedClass = removedClass.replace(/ $/, "");

	target.className = removedClass;

	return true;
};


function getElementsByClass(theClass)
{
  //1. Look at each element in the document begin
  var elementArray = [];
  if (document.all)
  {
    elementArray = document.all;
  }
  else
  {
    elementArray = document.getElementsByTagName("*");
  }
  //Look at each element in the document end
  
  var matchedArray = [];   //our group of elements
  
  //the class we are looking for.
  var pattern = new RegExp("(^| )" + theClass + "( |$)");
  
  //For each element, perform a check that compares its class against the one we’re looking for.
  //If the classes match, add the element to our group of elements.
  for (var i = 0; i < elementArray.length; i++)
  {
    if (pattern.test(elementArray[i].className))
    {
      matchedArray[matchedArray.length] = elementArray[i];
    }
  }
  return matchedArray;
};
// 103 Finding Elements by Class Name end