/**
 * @filename DataTableHandler.js
 * 
 * @description Handles events for a data grid, like expanding items, and connection with 
 * the maps class. 
 * 
 * @author Diana Chow
 * @email diana.chow@garmin.com
 *
 * @requires Prototype 1.6.0.2+
 * 
 * Copyright(c) 2008, Garmin International
 */

if(Garmin == undefined) var Garmin = {};

/**
 * DataTableHandlerConstants provides id's and classes used for generated elements created
 * within the DataTableHandler object.
 * 
 */
var DataTableHandlerConstants = {
    // IDs
    
    // Class
	SELECTED_CLASS: 'splitsRowSelected',
	HIGHLIGHT_CLASS: 'splitsRowHighlight'
};

/**
 * The DataTableHandler class provides functions for altering the
 * view.
 * 
 * @constructor
 * @param {Object} config
 * 
 */
Garmin.DataTableHandler = Class.create({
	
    initialize: function() {
        
    },
    
    /**
     * Selects the row by adding a classname. If the row is already selected,
     * it unselects it.
     * @param trElement {Element} the table row DOM element selected
     */
    toggleSelectRow: function(trElement) {
        Element.extend(trElement); // IE needs this
        
        if( trElement.hasClassName(DataTableHandlerConstants.SELECTED_CLASS)) {
            trElement.removeClassName(DataTableHandlerConstants.SELECTED_CLASS);
        } else {
            trElement.addClassName(DataTableHandlerConstants.SELECTED_CLASS);
        }
    },
    
    /**
     * Highlights the row by adding a classname.
     * @param trElement {Element} the table row DOM element to be highlighted
     */
    highlightRow: function(trElement) {
        Element.extend(trElement);// IE needs this
        
        trElement.addClassName(DataTableHandlerConstants.HIGHLIGHT_CLASS);
    },
    
    /**
     * Unhighlights the row by removing a classname.
     * @param trElement {Element} the table row DOM element to be unhighlighted
     */
    unhighlightRow: function(trElement) {
        Element.extend(trElement);// IE needs this
        
        trElement.removeClassName(DataTableHandlerConstants.HIGHLIGHT_CLASS);
    }
});