function setPointer(theCell, thePointerBgColor, theNormalBgColor, thePointerColor, theNormalColor){

    if (thePointerBgColor == '' || typeof(theCell.style) == 'undefined') {return false; }

    var currentColor = null;
    var currentBgColor = null;
    var newColor     = null;
    var newBgColor     = null;
    // Opera does not return valid values with "getAttribute"
    if (typeof(window.opera) == 'undefined' && typeof(theCell.getAttribute) != 'undefined' && typeof(theCell.getAttribute) != 'undefined') {
        currentBgColor = theCell.getAttribute('bgcolor');
        currentColor = theCell.getAttribute('color');
        if(currentBgColor.toLowerCase() == thePointerBgColor.toLowerCase()){
			newBgColor = theNormalBgColor;
			newColor = theNormalColor;
		}
        else {
			newBgColor = thePointerBgColor;
			newColor = thePointerColor;
		}
        theCell.setAttribute('bgcolor', newBgColor, 0);
        theCell.setAttribute('color', newColor, 0);
    }
    else {
        currentBgColor = theCell.style.backgroundColor;
        currentColor = theCell.style.color;
        if(currentBgColor.toLowerCase() == thePointerBgColor.toLowerCase()){
			newBgColor = theNormalBgColor;
			newColor = theNormalColor;
		}
		else{
			newBgColor = thePointerBgColor;
			newColor = thePointerColor;
		}
	       theCell.style.backgroundColor = newBgColor;
	       theCell.style.color = newColor;
    }
    return true;
} // end of the 'setPointer()' function