var marked_row = new Array;   
  
/**  
 *  
 * @param   object    Object ของ Table ที่ต้องการให้ทำงาน  
 * @param   interger  ลำดับของ Row  
 * @param   string    เหตุการเมื่อต้องการให้ทำงาน (over, out or click)  
 * @param   string    ค่าเริ่มต้น background color  
 * @param   string    ค่าสีเมื่อเกิด  mouseover  
 * @param   string    ค่าสีเมื่อใช้งาน row  
*/  
  
function setPointer(theRow, theRowNum, theAction, theDefaultColor, thePointerColor, theMarkColor)   
{   
    var theCells = null;   
  
    if ((thePointerColor == '' && theMarkColor == '')   
        || typeof(theRow.style) == 'undefined') {   
        return false;   
    }   
  
    if (typeof(document.getElementsByTagName) != 'undefined') {   
        theCells = theRow.getElementsByTagName('td');   
    }   
    else if (typeof(theRow.cells) != 'undefined') {   
        theCells = theRow.cells;   
    }   
    else {   
        return false;   
    }   
  
    var rowCellsCnt  = theCells.length;   
    var domDetect    = null;   
    var currentColor = null;   
    var newColor     = null;   
  
    if (typeof(window.opera) == 'undefined'  
        && typeof(theCells[0].getAttribute) != 'undefined') {   
        currentColor = theCells[0].getAttribute('bgcolor');   
        domDetect    = true;   
    }   
  
    else {   
        currentColor = theCells[0].style.backgroundColor;   
        domDetect    = false;   
    }   
  
  
    if (currentColor.indexOf("rgb") >= 0)    
    {   
        var rgbStr = currentColor.slice(currentColor.indexOf('(') + 1,   
                                     currentColor.indexOf(')'));   
        var rgbValues = rgbStr.split(",");   
        currentColor = "#";   
        var hexChars = "0123456789ABCDEF";   
        for (var i = 0; i < 3; i++)   
        {   
            var v = rgbValues[i].valueOf();   
            currentColor += hexChars.charAt(v/16) + hexChars.charAt(v%16);   
        }   
    }   
  
    if (currentColor == ''  
        || currentColor.toLowerCase() == theDefaultColor.toLowerCase()) {   
        if (theAction == 'over' && thePointerColor != '') {   
            newColor              = thePointerColor;   
        }   
        else if (theAction == 'click' && theMarkColor != '') {   
            newColor              = theMarkColor;   
            marked_row[theRowNum] = true;   
        }   
    }   
    else if (currentColor.toLowerCase() == thePointerColor.toLowerCase()   
             && (typeof(marked_row[theRowNum]) == 'undefined' || !marked_row[theRowNum])) {   
        if (theAction == 'out') {   
            newColor              = theDefaultColor;   
        }   
        else if (theAction == 'click' && theMarkColor != '') {   
            newColor              = theMarkColor;   
            marked_row[theRowNum] = true;   
        }   
    }   
    else if (currentColor.toLowerCase() == theMarkColor.toLowerCase()) {   
        if (theAction == 'click') {   
            newColor              = (thePointerColor != '')   
                                  ? thePointerColor   
                                  : theDefaultColor;   
            marked_row[theRowNum] = (typeof(marked_row[theRowNum]) == 'undefined' || !marked_row[theRowNum])   
                                  ? true  
                                  : null;   
        }   
    }   
  
    if (newColor) {   
        var c = null;   
        if (domDetect) {   
            for (c = 0; c < rowCellsCnt; c++) {   
                theCells[c].setAttribute('bgcolor', newColor, 0);   
            }   
        }   
        else {   
            for (c = 0; c < rowCellsCnt; c++) {   
                theCells[c].style.backgroundColor = newColor;   
            }   
        }   
    }   
  
    return true;   
}    
