// sortieren Datum deutsch

jQuery.fn.dataTableExt.oSort['de_date-asc']  = function(a,b) {
  if (a == '' || a == 'DA') a = '00.00.2200';
  if (b == '' || b == 'DA') b = '00.00.2200';
  var deDatea = a.split('.');
  var deDateb = b.split('.');

  var x = (deDatea[2] + deDatea[1] + deDatea[0]) * 1;
  var y = (deDateb[2] + deDateb[1] + deDateb[0]) * 1;

  return ((x < y) ? -1 : ((x > y) ?  1 : 0));
};

jQuery.fn.dataTableExt.oSort['de_date-desc'] = function(a,b) {
  if (a == '' || a == 'DA') a = '00.00.2200';
  if (b == '' || b == 'DA') b = '00.00.2200';
  var deDatea = a.split('.');
  var deDateb = b.split('.');

  var x = (deDatea[2] + deDatea[1] + deDatea[0]) * 1;
  var y = (deDateb[2] + deDateb[1] + deDateb[0]) * 1;

  return ((x < y) ? 1 : ((x > y) ?  -1 : 0));
};

function trim(zeichenkette) {
  // Erst führende, dann Abschließende Whitespaces entfernen
  // und das Ergebnis dieser Operationen zurückliefern
  return zeichenkette.replace (/^\s+/, '').replace (/\s+$/, '');
}

jQuery.fn.dataTableExt.oSort['date-euro-asc'] = function(a, b) {
  if (a == '') a = '00.00.2200 00:00';
  if (b == '') b = '00.00.2200 00:00';

  var Datea = trim(a).split(' ');
  var Timea = Datea[1].split(':');
  var Datuma = Datea[0].split('.');

  var x = (Datuma[2] + Datuma[1] + Datuma[0] + Timea[0] + Timea[1]) * 1;

  var Dateb = trim(b).split(' ');
  var Timeb = Dateb[1].split(':');
  var Datumb = Dateb[0].split('.');

  var y = (Datumb[2] + Datumb[1] + Datumb[0] + Timeb[0] + Timeb[1]) * 1;

  var z = ((x < y) ? -1 : ((x > y) ? 1 : 0));
  return z;
};

jQuery.fn.dataTableExt.oSort['date-euro-desc'] = function(a, b) {
  if (a == '') a = '00.00.2200 00:00';
  if (b == '') b = '00.00.2200 00:00';

  var Datea = trim(a).split(' ');
  var Timea = Datea[1].split(':');
  var Datuma = Datea[0].split('.');

  var x = (Datuma[2] + Datuma[1] + Datuma[0] + Timea[0] + Timea[1]) * 1;

  var Dateb = trim(b).split(' ');
  var Timeb = Dateb[1].split(':');
  var Datumb = Dateb[0].split('.');

  var y = (Datumb[2] + Datumb[1] + Datumb[0] + Timeb[0] + Timeb[1]) * 1;

  var z = ((x < y) ? 1 : ((x > y) ? -1 : 0));
  return z;
};
