var TableHighlight = new Class({

	options: {
			rowHoverClass: 'highlight',
      rowClickClass: 'clicked',
      doClick:       true
	},
	
	initialize: function( id, options ) {
		
		this.setOptions( options );		
		this.rows = $(id).getElements('tr');
		this.rowsLength = this.rows.length;
		this.addHighlighting();
    if(this.options.doClick) {
      this.addClick();
    }
	},
	
	addHighlighting: function(){
		
		var hoverClass = this.options.rowHoverClass;
			
		for( var i = 0; i < this.rowsLength; i++ ){

			$( this.rows[i] ).addEvents({
				'mouseover': function(){ this.addClass( hoverClass ); },
				'focus': function(){ this.addClass( hoverClass ); },
				'mouseout': function(){ this.removeClass( hoverClass ); },
				'blur': function(){ this.removeClass( hoverClass ); }
			});
		}
	},

  addClick: function() {
    var clickClass = this.options.rowClickClass;
    for(var i = 0; i < this.rowsLength; i++) {
      $(this.rows[i]).addEvents({
        'click': function() { this.toggleClass(clickClass); }
      });
    }
  }
	
});

TableHighlight.implement(new Options);

var ExDate = new Class({
  DaysPerMonth: function(m,y) {
    var dte1    = new Date(y,(m-1),1);
    var dte2    = new Date(y,m,1);
    var oneDay  = 1000*60*60*24;

    return  Math.ceil((dte2.getTime() / dte1.getTime())/oneDay);
  }
});
