/**
 * Subnavigation. Handles tab highlighting.
 * Replaces most of the rowMark.js functionality.
 *
 * @author dirk.eschler
 */
var sub = {

    /**
     * Highlights the first tab by default (div#navcontainer li#c_0 a)
     * by setting the class to 'current'. Is called in subnavigation template.
     */
	'init': function() {
	//console.log("init");
	      if(document.getElementById('c_0') != null && document.getElementById('c_0').getElementsByTagName('a'))
	      {
          document.getElementById('c_0').getElementsByTagName('a')[0].className = 'current';
                    
          if(top.frames[0].document.getElementById('help') != null) {
              var sElClass = document.getElementById('c_0').getAttribute('class');
              var aElClass = sElClass.split(" ");
              top.frames[0].document.getElementById('help').setAttribute('data', aElClass[1]);
          }          
        }
	},
    
	/**
	 * Highlights the active tab.
     *
	 * @param {Object} cElm Clicked a-element, resp. the tab to highlight.
     * @todo Consider new name ("highlight"?) and rename remaining instances.
	 */
	'clicked': function(cElm) {
	//console.log("clicked");
		// first unhighlight all tabs
      var ul = document.getElementById('navlist');
    	var as = ul.getElementsByTagName('a');
    	for (var i=0; i<=as.length; i++) {
            if (as[i]) {
                as[i].className = '';
            }
    	}
		// then highlight the active tab
        cElm.className = 'current';
	},
    
    /**
     * Highlights a tab by its element id. Useful for highlighting from an outer frame.
     *
	 * @param {String} id Element id of tab to highlight
     * @param {Object} frame Reference to frame hodling the subnavigation:
     *                       top.content.right.right_top (when there is a left/right frameset)
     *                       top.content.right_top       (when there is no left/right frameset)
     */
	'highlightById': function(id, frame) {
        var ul = frame.document.getElementById('navlist');
    	var as = ul.getElementsByTagName('a');
    	for (var i=0; i<=as.length; i++) {
            if (as[i]) {
                as[i].className = '';
            }
    	}
        frame.document.getElementById(id).getElementsByTagName('a')[0].className = 'current';
    },
    
	/**
	 * Unhighlights all tabs.
	 */
    /*
	'unhighlight': function() {
        var ul = this.frame.document.getElementById('navlist');
    	var as = ul.getElementsByTagName('a');
    	for (var i=0; i<=as.length; i++) {
            if (as[i]) {
                as[i].className = '';
            }
    	}
	},*/
    
    /**
     * Dummy method to avoid breakage.
     *
     * @todo Locate remaining inline calls to sub.click() and remove them
     */
    'click': function() {
    		//console.log("remove me");
        return;
    }
};
