Skip to content
Snippets Groups Projects
script.js 17.1 KiB
Newer Older
TonyFord's avatar
TonyFord committed
---
---
TonyFord's avatar
TonyFord committed
const DAY=24*3600*1000;

var Grps=[];

function calculatePartien(saison,date){

  $('#partien').append('<h2 class="saison s_'+saison+'">Saison '+saison+'</h2>');


  // prüfe ob alle Rundenpartien gespielt und generiere neue Rundenpartien
  var runde=0;

  date=new Date(date).getTime();
TonyFord's avatar
TonyFord committed
  var steps=0;
TonyFord's avatar
TonyFord committed

  do {
    var done=[];
    runde++;
TonyFord's avatar
TonyFord committed

    // stelle die 4er Gruppen, sowie Startgruppen zusammen
TonyFord's avatar
TonyFord committed
    Grps=[]
TonyFord's avatar
TonyFord committed
    if( runde == 1 ){
      STARTLISTE.forEach(
        function(g){
          var G=[];
          g.forEach(
            function(v){
                G.push( TEAMS.filter( (a) => (a.nt == v) )[0] );
            }
          );
          Grps.push(G);
        }
      );
      //Grps.push( Object.values( TEAMS ).filter( (c) => c.start<=saison ).sort( (a,b) => ( b.nt < a.nt ) ? 1 : -1 ) );
    } else {
      while( Tabelle.length > 3 ){
        Grps.push( [ Tabelle.shift(), Tabelle.shift(), Tabelle.pop(), Tabelle.pop() ] );
      }
TonyFord's avatar
TonyFord committed
    }

    var tmp='<h3 class="runde s_'+saison+' r_'+runde+'">Runde '+runde+(( Grps.length == 1 ) ? ' (Endrunde)' : '')+'</h3>';
    $('#partien').append(tmp);
TonyFord's avatar
TonyFord committed


    if( runde == 1 ){
      STARTLISTE_PARTIEN.forEach(
        function(v,i){
          done.push( grpPartien(date,steps,saison,runde,i+1,v.slice(1)) ); steps+=v[0];
        }
      );
    } else {
      done.push( grpPartien(date,steps,saison,runde,1,[ 1,2, 4,3 ]) ); steps+=STEP;
      done.push( grpPartien(date,steps,saison,runde,2,[ 1,4, 2,3 ]) ); steps+=STEP;
      done.push( grpPartien(date,steps,saison,runde,3,[ 3,1, 2,4 ]) ); steps+=STEP;
      //done.push( grpPartien(date,steps,saison,runde,4,[ 2,1, 3,4 ]) ); steps++;
      //done.push( grpPartien(date,steps,saison,runde,5,[ 4,1, 3,2 ]) ); steps++;
      //done.push( grpPartien(date,steps,saison,runde,6,[ 3,1, 4,2 ]) ); steps++;
    }
TonyFord's avatar
TonyFord committed

  } while( done.reduce( (a,b) => a && b ) == true && Grps.length > 1 );


TonyFord's avatar
TonyFord committed
  if( done.reduce( (a,b) => a && b ) == true ){

TonyFord's avatar
TonyFord committed
    var Tabelle = calculatePunktestand( saison, runde, false );
TonyFord's avatar
TonyFord committed

  } else {

    var Tabelle = [
      {
        'kontinent' : 'dummy',
        'nt': 'xx',
        'name': '<i>Platz 1</i>',
        'link': '',
        'manager': 'dummy',
        'start': 27
      },
      {
        'kontinent' : 'dummy',
        'nt': 'xx',
        'name': '<i>Platz 2</i>',
        'link': '',
        'manager': 'dummy',
        'start': 27
      },
      {
        'kontinent' : 'dummy',
        'nt': 'xx',
        'name': '<i>Platz 3</i>',
        'link': '',
        'manager': 'dummy',
        'start': 27
      },
      {
        'kontinent' : 'dummy',
        'nt': 'xx',
        'name': '<i>Platz 4</i>',
        'link': '',
        'manager': 'dummy',
        'start': 27
      }
    ]

  }
TonyFord's avatar
TonyFord committed

  Grps.shift();
  Grps.push( [ Tabelle.shift(), Tabelle.shift(), Tabelle.shift(), Tabelle.shift() ] );

  runde='HF';
  var tmp='<h3 class="runde s_'+saison+' r_'+runde+'">Halbfinale</h3>';
  $('#partien').append(tmp);
TonyFord's avatar
TonyFord committed

  steps+=FINALS_STEP;
  done.push( grpPartien( date,steps,saison,runde, 1, [ 1,4, 2,3 ] ) );
  steps+=FINALS_STEP;
TonyFord's avatar
TonyFord committed

  if( done.reduce( (a,b) => a && b ) == true ){
TonyFord's avatar
TonyFord committed

TonyFord's avatar
TonyFord committed
    Grps.shift(); Grps.push([]);

TonyFord's avatar
TonyFord committed
    var p=ERGEBNISSE.filter( (a) => ( a.saison == saison && a.runde == runde && a.spieltag == 1 && a.partie == 1 ) )[0];
    if( p.TH*1 >= p.TA*1 ){ Grps[0].push( TEAMS.filter( (a) => (a.nt == p.H.toLowerCase() ) )[0] ); } else { Grps[0].push( TEAMS.filter( (a) => (a.nt == p.A.toLowerCase() ) )[0] ); }
    var p=ERGEBNISSE.filter( (a) => ( a.saison == saison && a.runde == runde && a.spieltag == 1 && a.partie == 2 ) )[0];
    if( p.TH*1 >= p.TA*1 ){ Grps[0].push( TEAMS.filter( (a) => (a.nt == p.H.toLowerCase() ) )[0] ); } else { Grps[0].push( TEAMS.filter( (a) => (a.nt == p.A.toLowerCase() ) )[0] ); }

    runde='F'
    var tmp='<h3 class="runde s_'+saison+' r_'+runde+'">Finale</h3>';
    $('#partien').append(tmp);
TonyFord's avatar
TonyFord committed

TonyFord's avatar
TonyFord committed
    done.push( grpPartien(date,steps++,saison,runde,1,[ 1,2 ]) );
TonyFord's avatar
TonyFord committed

TonyFord's avatar
TonyFord committed
  } else {
TonyFord's avatar
TonyFord committed

    runde='F'
    var tmp='<h3 class="runde s_'+saison+' r_'+runde+'">Finale</h3>';
    $('#partien').append(tmp);

TonyFord's avatar
TonyFord committed
    var Tabelle = [
      {
        'kontinent' : 'dummy',
        'nt': 'xx',
        'name': '<i>Sieger HF1</i>',
        'link': '',
        'manager': 'dummy',
        'start': 27
      },
      {
        'kontinent' : 'dummy',
        'nt': 'xx',
        'name': '<i>Sieger HF2</i>',
        'link': '',
        'manager': 'dummy',
        'start': 27
      }
    ];
TonyFord's avatar
TonyFord committed

TonyFord's avatar
TonyFord committed
    Grps.shift();

    Grps.push( [ Tabelle.shift(), Tabelle.shift() ] );
TonyFord's avatar
TonyFord committed

TonyFord's avatar
TonyFord committed
    done.push( grpPartien(date,steps++,saison,runde,1,[ 1,2 ]) );

  }
TonyFord's avatar
TonyFord committed


TonyFord's avatar
TonyFord committed
}

function grpPartien( date,steps,saison,runde,spieltag,Bg ){
  if( Grps.map( (a) => ( a.filter((b) => (b == undefined)).length > 0 ) )[0] ){
    alert( 'Error: Einige Teams existieren nicht in der DB' );
    return;
  }
TonyFord's avatar
TonyFord committed
  var done=true;

  var tmp='';
TonyFord's avatar
TonyFord committed
  tmp+='<h4 class="spieltag s_'+saison+' r_'+runde+' t_'+spieltag+'" ondblclick="getCsv('+saison+',\''+runde+'\','+spieltag+')">Spieltag '+spieltag+'</h4>';
TonyFord's avatar
TonyFord committed
  tmp+='<table class="partien s_'+saison+' r_'+runde+' t_'+spieltag+'">';
TonyFord's avatar
TonyFord committed
  var partie=0;
TonyFord's avatar
TonyFord committed

TonyFord's avatar
TonyFord committed
  do {
    var h1 = Bg.shift()-1;
    var a1 = Bg.shift()-1;
    partie++;
    Grps.forEach(
      function(v,i){

        if( h1 == -1 || a1 == -1 ) return;

        var ergebnis=ERGEBNISSE.filter( (a) => ( a.saison == saison && a.runde == runde && a.spieltag == spieltag && a.H.toLowerCase() == v[h1].nt.toLowerCase() && a.A.toLowerCase() == v[a1].nt.toLowerCase() ) );

        if( ergebnis.length == 1 ){
          ergebnis=ergebnis[0];
          var th=(( ergebnis.MID > 0 ) ? '<a href="https://ultrasoccer.de/match/?id='+ergebnis.MID+'" target="ultrasoccer">'+ergebnis.TH+'</a>' : ergebnis.TH );
          var ta=(( ergebnis.MID > 0 ) ? '<a href="https://ultrasoccer.de/match/?id='+ergebnis.MID+'" target="ultrasoccer">'+ergebnis.TA+'</a>' : ergebnis.TA );
          var dt=new Date(ergebnis.T).toJSON().slice(0,10);
TonyFord's avatar
TonyFord committed
          var st=STAT_SAISON.filter( (a) => ( a.MID == ergebnis.MID )).length == 12;
TonyFord's avatar
TonyFord committed
          ergebnis['partie']=partie;
        } else {
          var th='-'; var ta='-'; var dt='<i>'+new Date(date+DAY*steps).toJSON().slice(0,10)+'</i> <sup>'+(steps+LIGASPIELTAG)+'</sup>'; var st=false; done=false; var match='';
        }
TonyFord's avatar
TonyFord committed

TonyFord's avatar
TonyFord committed
        tmp+='<tr class="begegnungen h_'+v[h1].nt+' a_'+v[a1].nt+' '+(( st ) ? 'stats' : '')+'">';
        tmp+='<td>'+dt+'</td>';
        tmp+='<td data-id="'+v[h1].nt+'"><sup>'+v[h1].nt.toUpperCase()+'</sup> '+v[h1].name.replace(/\(NL\)/g,'')+' <img class="flags" src="./images/flags/'+v[h1].nt.toLowerCase()+'.svg"></td>';
        tmp+='<td> - </td>';
        tmp+='<td data-id="'+v[a1].nt+'"><img class="flags" src="./images/flags/'+v[a1].nt.toLowerCase()+'.svg"> '+v[a1].name.replace(/\(NL\)/g,'')+' <sup>'+v[a1].nt.toUpperCase()+'</sup></td>';
TonyFord's avatar
TonyFord committed

TonyFord's avatar
TonyFord committed
        tmp+='<td data-mid="'+(( ergebnis.MID != undefined ) ? ergebnis.MID : '0' )+'">'+th+'</td>';
        tmp+='<td>:</td>';
        tmp+='<td>'+ta+'</td>';
        tmp+='</tr>';
TonyFord's avatar
TonyFord committed

      }
TonyFord's avatar
TonyFord committed
    );
  } while( Bg.length > 0 );

  tmp+='</table>';
  $('#partien').append(tmp);

  return done;
}

function getCsv(saison, runde, spieltag){
  var tbl=$('.partien.s_'+saison+'.r_'+runde+'.t_'+spieltag)[0];
  var csv=
  Object.values(tbl.rows).map(
    function(v,i){
      var T=[];
      T.push( runde );
      T.push( spieltag );
      T.push( v.cells[0].innerText.slice(0,10) );
      T.push( v.cells[1].dataset.id );
      T.push( v.cells[3].dataset.id );
      T.push( v.cells[4].innerText );
      T.push( v.cells[6].innerText );
      T.push( v.cells[4].dataset.mid );
      return T;
    }
  ).join('\n');
  $('#copypaste').toggleClass('d-none');
  $('#copypaste textarea').text('runde,spieltag,T,H,A,TH,TA,MID\n'+csv);
}

TonyFord's avatar
TonyFord committed
function calculatePunktestand(saison,runde,show=true){
TonyFord's avatar
TonyFord committed

  $.each( TEAMS,
    function( i,v ){
      //if( v[saison] == undefined )
      TEAMS[i][saison] = { P: 0, Tp: 0, Tn: 0, Td: 0, Tr: ['X'], active: (( TEAMS[i].start <= saison )) }
    }
  );
TonyFord's avatar
TonyFord committed

TonyFord's avatar
TonyFord committed
  ERGEBNISSE.filter( (a) => ( ( a.saison == saison || saison == 0 ) && $.isNumeric(a.runde) && a.runde <= runde  ) ).forEach(
TonyFord's avatar
TonyFord committed
    function( v,i ){
      var H=TEAMS.filter( (a) => (a.nt == v.H.toLowerCase()) );
      var A=TEAMS.filter( (a) => (a.nt == v.A.toLowerCase()) );
      if( H.length == 0 ){
        alert('Error: Team mit Code '+v.H+' fehlt!!' );
        return;
      }
      if( A.length == 0 ){
        alert('Error: Team mit Code '+v.A+' fehlt!!' );
        return;
      }
      H=H[0][saison];
      A=A[0][saison];
      //var H=DATA.teams[v.H][saison];
      //var A=DATA.teams[v.A][saison];
      if( v.TH == '-' || v.TA == '-' ) return;
      if( parseInt(v.TH) > parseInt(v.TA) ){
        H.P+=3;
        H.Tr.push('S');
        A.Tr.push('N');
      } else if( parseInt(v.TH) < parseInt(v.TA) ){
        A.P+=3;
        H.Tr.push('N');
        A.Tr.push('S');
TonyFord's avatar
TonyFord committed
      } else {
TonyFord's avatar
TonyFord committed
        H.P+=1;
        A.P+=1;
        H.Tr.push('U');
        A.Tr.push('U');
TonyFord's avatar
TonyFord committed
      }
TonyFord's avatar
TonyFord committed
      H.Tp+=parseInt(v.TH); H.Tn+=parseInt(v.TA); H.Td=H.Tp-H.Tn;
      A.Tp+=parseInt(v.TA); A.Tn+=parseInt(v.TH); A.Td=A.Tp-A.Tn;
    }
  );
TonyFord's avatar
TonyFord committed

TonyFord's avatar
TonyFord committed
  var startliste=STARTLISTE.reduce((a,b)=>(a));

TonyFord's avatar
TonyFord committed
  var Tabelle=Object.values(TEAMS).filter( (a) => ( ( a.start <= saison || saison == 0 ) && ( startliste.indexOf( a.nt ) > -1 || ( saison == 0 && a.nt != 'xx' ) ) ) )
TonyFord's avatar
TonyFord committed
  .sort(
    function(a,b){
      return a[saison].P < b[saison].P ||
      ( a[saison].P == b[saison].P && a[saison].Td < b[saison].Td ) ||
      ( a[saison].P == b[saison].P && a[saison].Td == b[saison].Td && a[saison].Tp < b[saison].Tp ) ||
      ( a[saison].P == b[saison].P && a[saison].Td == b[saison].Td && a[saison].Tp == b[saison].Tp && a.nt > b.nt ) ? 1 : -1;
    }
  );
TonyFord's avatar
TonyFord committed

TonyFord's avatar
TonyFord committed
  if( !show ){
    return Tabelle;
  }
TonyFord's avatar
TonyFord committed

TonyFord's avatar
TonyFord committed
  var tabelle='#tabelle_punktestand tbody';
TonyFord's avatar
TonyFord committed
  $(tabelle).html('');

TonyFord's avatar
TonyFord committed
  Tabelle.forEach(
    function(v,i){
TonyFord's avatar
TonyFord committed
      if( ! v[saison].active && saison != 0 ) return;
TonyFord's avatar
TonyFord committed
      var tmp='<td>'+(i+1)+'</td>';
      var t=v[saison].Tr.map( (a) => ( a != 'X' ) ? 1 : 0 );
      if( t.length == 0 ) t.push(0);
      tmp+='<td>'+t.reduce( (a,b) => a+b )+'</td>';
TonyFord's avatar
TonyFord committed
      tmp+='<td><img class="flags" src="./images/flags/'+v.nt.toLowerCase()+'.svg"> <a href="javascript:calculateTeam('+((saison == 0) ? SAISON_NOW : saison)+',\''+v.nt+'\')">'+v.name.replace(/\(NL\)/g,'<sup>'+v.nt.toUpperCase()+'</sup></a>')+' <a href="'+v.link+'" target="ultrasoccer"><i class="fas fa-link"></i></a></td>';
TonyFord's avatar
TonyFord committed
      tmp+='<td>'+
      v[saison].Tr.map( (a) => ( ( a == 'S') ? 1 : 0 ) ).reduce( (a,b) => a+b )+'/'+
      v[saison].Tr.map( (a) => ( ( a == 'U') ? 1 : 0 ) ).reduce( (a,b) => a+b )+'/'+
      v[saison].Tr.map( (a) => ( ( a == 'N') ? 1 : 0 ) ).reduce( (a,b) => a+b )+'</td>';
      var hist=v[saison].Tr.map( (a) => '<'+a+'></'+a+'>' ).slice(-6).join('');
      tmp+='<td>'+hist+'</td>';
      tmp+='<td>'+v[saison].Tp+'/'+v[saison].Tn+'</td>';
      tmp+='<td class="'+((v[saison].Td > 0 ) ? 'p' : (v[saison].Td == 0 ) ? 'u' : 'n')+'">'+((v[saison].Td > 0 ) ? '+' : '') + v[saison].Td+'</td>';
TonyFord's avatar
TonyFord committed
      tmp+='<td>'+v[saison].P+'</td>';
TonyFord's avatar
TonyFord committed
      $(tabelle).append('<tr>'+tmp+'</tr>');
TonyFord's avatar
TonyFord committed
    }
  );

TonyFord's avatar
TonyFord committed
}
TonyFord's avatar
TonyFord committed

TonyFord's avatar
TonyFord committed
function calculateTore(saison){
TonyFord's avatar
TonyFord committed
  var STATISTIK=saison == 0 ? STATISTIK_ALL : STATISTIK_SAISON;
TonyFord's avatar
TonyFord committed
  var n=Object.entries( STATISTIK ).sort( function(a,b){ return ( ( a[1].T < b[1].T || ( a[1].T == b[1].T && a[1].S > b[1].S ) ) ? 1 : -1 ) } ).slice(0,10).map(
TonyFord's avatar
TonyFord committed
    function(v,i){
TonyFord's avatar
TonyFord committed
      console.log( v );
TonyFord's avatar
TonyFord committed
      var team=TEAMS.filter( (a) => ( a.nt == v[1].nt ) );
      if( team.length == 0 ){
        var team_flag='<img class="flags" src="./images/flags/xx.svg" title="n/a">';
        var team_name='';
      } else {
        var team_flag='<img class="flags" src="./images/flags/'+team[0].nt+'.svg" title="'+team[0].name.split('(NL)')[0].trim()+'">';
TonyFord's avatar
TonyFord committed
        var team_name='<a href="javascript:calculateTeam('+saison+',\''+team[0].nt+'\')">'+team[0].name.replace(/\(NL\)/g,'<sup>'+team[0].nt.toUpperCase()+'</sup></a>')+' <a href="'+team[0].link+'" target="ultrasoccer"><i class="fas fa-link"></i></a>';
TonyFord's avatar
TonyFord committed
      }

TonyFord's avatar
TonyFord committed
      var attr=((v[1].attr != undefined) ? v[1].attr : '').split(' ').map( (a) => ( a != '' ? '<i class="fas '+a+'"></i>' : '' ) ).join(' ');

TonyFord's avatar
TonyFord committed
      return '<td>'+
      [
        i+1,
        (( STATISTIK[v[0]] != undefined ) ? STATISTIK[v[0]].S : 0),
TonyFord's avatar
TonyFord committed
        team_flag+' '+attr+' '+(( v[1].name != null ) ? v[1].name+' ('+(v[1].age*1+saison*1-v[1].age_saison)+')' : '<a href="https://ultrasoccer.de/playerprofile/?id='+v[0]+'" target="ultrasoccer">'+v[0]+'</a>' ),
TonyFord's avatar
TonyFord committed
        team_name,
        v[1].T
      ].join('</td><td>')+'</td>';
    }
  );
  $('#tabelle_tore tbody').html( '<tr>'+n.join('</tr><tr>') + '</tr>' );
}

function calculateAssists(saison){
TonyFord's avatar
TonyFord committed
  var STATISTIK=saison == 0 ? STATISTIK_ALL : STATISTIK_SAISON;
TonyFord's avatar
TonyFord committed
  var n=Object.entries( STATISTIK ).sort( (a,b) => ( a[1].A < b[1].A || ( a[1].A == b[1].A && a[1].S > b[1].S ) ) ? 1 : -1 ).slice(0,10).map(
TonyFord's avatar
TonyFord committed
    function(v,i){
      var team=TEAMS.filter( (a) => ( a.nt == v[1].nt ) );
      if( team.length == 0 ){
        var team_flag='<img class="flags" src="./images/flags/xx.svg" title="n/a">';
        var team_name='';
      } else {
        var team_flag='<img class="flags" src="./images/flags/'+team[0].nt+'.svg" title="'+team[0].name.split('(NL)')[0].trim()+'">';
TonyFord's avatar
TonyFord committed
        var team_name='<a href="javascript:calculateTeam('+saison+',\''+team[0].nt+'\')">'+team[0].name.replace(/\(NL\)/g,'<sup>'+team[0].nt.toUpperCase()+'</sup></a>')+' <a href="'+team[0].link+'" target="ultrasoccer"><i class="fas fa-link"></i></a>';
TonyFord's avatar
TonyFord committed
      }

TonyFord's avatar
TonyFord committed
      var attr=((v[1].attr != undefined) ? v[1].attr : '').split(' ').map( (a) => ( a != '' ? '<i class="fas '+a+'"></i>' : '' ) ).join(' ');

TonyFord's avatar
TonyFord committed
      return '<td>'+
      [
        i+1,
        (( STATISTIK[v[0]] != undefined ) ? STATISTIK[v[0]].S : 0),
TonyFord's avatar
TonyFord committed
        team_flag+' '+attr+' '+(( v[1].name != null ) ? v[1].name+' ('+(v[1].age*1+saison*1-v[1].age_saison)+')' : '<a href="https://ultrasoccer.de/playerprofile/?id='+v[0]+'" target="ultrasoccer">'+v[0]+'</a>' ),
TonyFord's avatar
TonyFord committed
        team_name,
        v[1].A
      ].join('</td><td>')+'</td>';
    }
  );
  $('#tabelle_assists tbody').html( '<tr>'+n.join('</tr><tr>') + '</tr>' );
}

function calculateZwk(saison){
TonyFord's avatar
TonyFord committed
  var STATISTIK=saison == 0 ? STATISTIK_ALL : STATISTIK_SAISON;
TonyFord's avatar
TonyFord committed
  var n=Object.entries( STATISTIK ).sort( (a,b) => ( a[1].Z < b[1].Z || ( a[1].Z == b[1].Z && a[1].S > b[1].S ) ) ? 1 : -1 ).slice(0,10).map(
TonyFord's avatar
TonyFord committed
    function(v,i){
      var team=TEAMS.filter( (a) => ( a.nt == v[1].nt ) );
      if( team.length == 0 ){
        var team_flag='<img class="flags" src="./images/flags/xx.svg" title="n/a">';
        var team_name='';
      } else {
        var team_flag='<img class="flags" src="./images/flags/'+team[0].nt+'.svg" title="'+team[0].name.split('(NL)')[0].trim()+'">';
TonyFord's avatar
TonyFord committed
        var team_name='<a href="javascript:calculateTeam('+saison+',\''+team[0].nt+'\')">'+team[0].name.replace(/\(NL\)/g,'<sup>'+team[0].nt.toUpperCase()+'</sup></a>')+' <a href="'+team[0].link+'" target="ultrasoccer"><i class="fas fa-link"></i></a>';
TonyFord's avatar
TonyFord committed
      }

TonyFord's avatar
TonyFord committed
      var attr=((v[1].attr != undefined) ? v[1].attr : '').split(' ').map( (a) => ( a != '' ? '<i class="fas '+a+'"></i>' : '' ) ).join(' ');

TonyFord's avatar
TonyFord committed
      return '<td>'+
      [
        i+1,
        (( STATISTIK[v[0]] != undefined ) ? STATISTIK[v[0]].S : 0),
TonyFord's avatar
TonyFord committed
        team_flag+' '+attr+' '+(( v[1].name != null ) ? v[1].name+' ('+(v[1].age*1+saison*1-v[1].age_saison)+')' : '<a href="https://ultrasoccer.de/playerprofile/?id='+v[0]+'" target="ultrasoccer">'+v[0]+'</a>' ),
TonyFord's avatar
TonyFord committed
        team_name,
        (( v[1].Z > 0 ) ? '+' : '' )+v[1].Z
TonyFord's avatar
TonyFord committed
      ].join('</td><td>')+'</td>';
    }
  );

  $('#tabelle_zweikampf tbody').html( '<tr>'+n.join('</tr><tr>') + '</tr>' );
TonyFord's avatar
TonyFord committed
}
TonyFord's avatar
TonyFord committed

function calculateTeam(saison,nt){
TonyFord's avatar
TonyFord committed
  var STATISTIK=saison == 0 ? STATISTIK_ALL : STATISTIK_SAISON;

TonyFord's avatar
TonyFord committed
  var n=SPIELER.filter( (a) => ( a.nt == nt ) ).map( (b) => ( STATISTIK[b.id] ) ).filter( (c) => ( c !== undefined ) ).map(
    function(v){

      var team=TEAMS.filter( (a) => ( a.nt == v.nt ) );
      if( team.length == 0 ){
        var team_flag='<img class="flags" src="./images/flags/xx.svg" title="n/a">';
        var team_name='';
      } else {
        var team_flag='<img class="flags" src="./images/flags/'+team[0].nt+'.svg" title="'+team[0].name.split('(NL)')[0].trim()+'">';
        var team_name='<a href="'+team[0].link+'" target="ultrasoccer">'+team[0].name+'</a>';
      }

TonyFord's avatar
TonyFord committed
      var attr=((v.attr != undefined) ? v.attr : '').split(' ').map( (a) => ( a != '' ? '<i class="fas '+a+'"></i>' : '' ) ).join(' ');

TonyFord's avatar
TonyFord committed
      var tmp='';
TonyFord's avatar
TonyFord committed
      tmp+='<td>'+team_flag+' '+attr+' '+v.name+'</td>';
TonyFord's avatar
TonyFord committed
      tmp+='<td>'+(v.age*1+saison*1-v.age_saison)+'</td>';
TonyFord's avatar
TonyFord committed
      tmp+='<td>'+v.S+'/'+v.T+'/'+v.A+'</td>';
      tmp+='<td class="'+(( v.Z > 0 ) ? 'p' : (( v.Z < 0 ) ? 'n' : 'u' ) )+'">'+v.Zpos+'/'+v.Zneg+'</td>';
      return tmp;
    }
  );
  $('table.tabelle').toggleClass('d-none',true);
  $('#tabelle_team').toggleClass('d-none',false);
  $('#tabelle_team tbody').html( '<tr>'+n.join('</tr><tr>') + '</tr>' );
}

TonyFord's avatar
TonyFord committed
function calculateEwige(){
  calculatePunktestand(0,'7');
  calculateTore(0);
  calculateAssists(0);
  calculateZwk(0);
  $('button.active').toggleClass('active',false);
  $('#ewige').toggleClass('active',true);
  $('table.tabelle').toggleClass('d-none',true);
  $('#tabelle_punktestand').toggleClass('d-none');
  $('h2.tabelle > button.punktestand').toggleClass('active',true);
}

TonyFord's avatar
TonyFord committed
function backToActiveTable(){
  $('table.tabelle').toggleClass('d-none',true);
  $('#tabelle_'+ $('button.active').text().toLowerCase() ).toggleClass('d-none');
}