$(function(){
 $.datepicker.regional['fr'] = {
	  closeText: 'Fermer',
	  prevText: '&#x3c;Prec',
	  nextText: 'Suiv&#x3e;',
	  currentText: 'Courant',
	  monthNames: ['Janvier','Fevrier','Mars','Avril','Mai','Juin',
	  'Juillet','Aout','Septembre','Octobre','Novembre','Decembre'],
	  monthNamesShort: ['Jan','Fev','Mar','Avr','Mai','Jun',
	  'Jul','Aou','Sep','Oct','Nov','Dec'],
	  dayNames: ['Dimanche','Lundi','Mardi','Mercredi','Jeudi','Vendredi','Samedi'],
	  dayNamesShort: ['Dim','Lun','Mar','Mer','Jeu','Ven','Sam'],
	  dayNamesMin: ['Di','Lu','Ma','Me','Je','Ve','Sa'],
	  dateFormat: 'dd/mm/yy', firstDay: 1,
	  isRTL: false,
	  changeMonth: true,
	  changeYear: true
};

$.datepicker.setDefaults($.datepicker.regional['fr']);
	

	$('input[id*="DT"]').datepicker();

  $('img[src$="calend.gif"]').attr('onclick','').click(function(e){
      e.preventDefault();
      var id = $(this).attr('id');
      $('#DT_'+id)[0].focus();
      return false;
  });
  
    var alternateColumn = function($table){
      $table.find('tr:odd').removeClass('even').addClass('odd');
      $table.find('tr:even').removeClass('odd').addClass('even');
    }
  
    $('table.sortable').each(function(){
    
      var $table=$(this);
      alternateColumn($table);

	$('tr:first-child',$table).find('td span:first-child').each(function(){
		$(this).parent().attr('className',$(this).attr('className'));
	});

      $('tr:first-child',$table).addClass('header').find('td').attr('title','Cliquez pour trier').each(function(column){
        
        var $header = $(this);                                                                           
        var keySort = null
        if($header.is('.sort-alpha')){
          keySort = function($cell){
            return $cell.text().toUpperCase();
          }
        }
        else if($header.is('.sort-date')){
          keySort = function($cell){
            var dateTxt = $cell.text();
            
            if(dateTxt=="") return "99991231";
            
            var date = dateTxt.match(/([0-9]{2}).([0-9]{2}).([0-9]{4})/);
             
            if(date!=null && date.length>=3)
              return date[3]+date[2]+date[1];
            else
              return "99991231"
          }
        }
        
        if(keySort){
          $('<span class="sort-button"></span>').appendTo($header);
          $header.addClass('clickable')
            .hover(function(){$header.addClass('hover')},function(){$header.removeClass('hover')})
            .click(function(){
              var sortDirection = 1;
              
              if($header.is('.sorted-asc')){
                sortDirection=-1;
              }
              
              var rows = $table.find('tr:not(:first-child)').get();
              
              $.each(rows,function(index,row){
                var $cell = $(row).children('td').eq(column).find('span:eq(0)');
                row.sortKey = keySort($cell);
              });
              
              rows.sort(function(a,b){
                if(a.sortKey < b.sortKey) return -sortDirection;
                if(a.sortKey > b.sortKey) return sortDirection;
                return 0;
              });
              
              var $first = $table.find('tr:first-child:eq(0)');
              
              $.each(rows,function(index,row){
                $(row).insertAfter($first);
                row.sortKey == null;
              });
              
              $first.find('td').removeClass('sorted-asc').removeClass('sorted-desc');
              
              $first.find('td').eq(column).addClass(sortDirection==1 ? 'sorted-asc':'sorted-desc');  
              
              alternateColumn($table);
              
            });
        }
      });
    });
  
	

});

