// www.TANTRIX.hu - Tantrix tournament - KO phase
// Copyright (c) 2002, Uniqsoft Ltd., info@uniqsoft.hu
// Author - Stefan Krausz, krausz.istvan@uniqsoft.hu
// 2002 - for 1st Hungarian Championchip
// 2003.04.26 - Time penalty error fixed
// 2004.05.09 - function CreatePlayer - Initializing local player array from public aPlayer

aTourPoint = [100,133,139,143,147,150,153,155,158,160,162,164,166,168,170,172,173,175,177,178,180,181,183,184,185,187,188,189,191,192,193,194,195,197,198,199,200];

function RoundInit( nRound, nPos, nGame ){
  aPlayers = eval( 'aPlayer' + nRound );
  aGames = eval( 'aGame' + nRound );

  for( h=0; h<nPos; h++ ){
    for( i=0; i<nGame; i++ ){
      if( aGames[h*10+i][0] != 0 ){
        nResult = aGames[h*10+i][0]-aGames[h*10+i][1];
        nAbsResult = Math.abs( nResult ) > 36 ? 36 : Math.abs( nResult );
        nTP = aTourPoint[nAbsResult];
        if( nResult == 0 && aGames[h*10+i][0] > 0 ){ // dontetlen
          aGames[h*10+i][7] = nTP;
          aGames[h*10+i][8] = 200-nTP;
          aPlayers[h*10][6]++;
          aPlayers[h*10+1][6]++;
        }
        else {
          if( nResult > 0 ){ // 1 nyert
            aGames[h*10+i][7] = nTP;
            aGames[h*10+i][8] = 200-nTP;
            aPlayers[h*10][5]++;
            aPlayers[h*10+1][7]++;
          }
          else{ // 1 vesztett
            aGames[h*10+i][7] = 200-nTP;
            aGames[h*10+i][8] = nTP;
            aPlayers[h*10][7]++;
            aPlayers[h*10+1][5]++;
          }
        }
        nPenalty = aGames[h*10+i][4]-14;
        if( nPenalty > 0 ){ // 1 ido bunti
          aGames[h*10+i][7] -= nPenalty*10;
          aGames[h*10+i][8] += nPenalty*10;
          aGames[h*10+i][7] = aGames[h*10+i][7] < 0 ? 0 : aGames[h*10+i][7];
          aGames[h*10+i][8] = aGames[h*10+i][8] > 200 ? 200 : aGames[h*10+i][8];
        }
        nPenalty = aGames[h*10+i][5]-14;
        if( nPenalty > 0 ){ // 2 ido bunti
          aGames[h*10+i][7] += nPenalty*10;
          aGames[h*10+i][8] -= nPenalty*10;
          aGames[h*10+i][7] = aGames[h*10+i][7] > 200 ? 200 : aGames[h*10+i][7];
          aGames[h*10+i][8] = aGames[h*10+i][8] < 0 ? 0 : aGames[h*10+i][8];
        }
        aPlayers[h*10][8] += aGames[h*10+i][7];
        aPlayers[h*10+1][8] += aGames[h*10+i][8];
      }
    }
  }
}

function RoundResult( nRound, nPos, nGame ){
  aPlayers = eval( 'aPlayer' + nRound );
  aGames = eval( 'aGame' + nRound );
  sDT = '</font></td>';
  lPlayer1Won = aPlayers[nPos*10][8] > aPlayers[nPos*10+1][8];
  lPlayer2Won = aPlayers[nPos*10+1][8] > aPlayers[nPos*10][8];

  document.write( '<table cellpadding="1" cellspacing="1" border="1">' );
  document.write( '<tr>' );
  sPlayer = aPlayers[nPos*10][0] == 'login' ? '-' : aPlayers[nPos*10][0];
  sPlayer = lPlayer1Won ? '<b>'+sPlayer+'</b>' : sPlayer;
  document.write( '<td align="center" width="50"><font size="-1">' + sPlayer + sDT ); // 1 nick
  for( i=0; i<nGame; i++ ){ // 1 point
    sFontColor = aGames[nPos*10+i][2] == 'Yellow' ? 'black' : 'white';
    sPoint = aGames[nPos*10+i][0] > aGames[nPos*10+i][1] ? '<b>'+aGames[nPos*10+i][0]+'</b>' : aGames[nPos*10+i][0];
    document.write( '<td align="center" bgcolor="'+aGames[nPos*10+i][2]+'"><font size="-1" color="'+sFontColor+'">'+sPoint+sDT );
  }
  sTP = aPlayers[nPos*10][8]/10;
  sTP = sTP > nGame*10+1 ? '<font color="red">'+sTP+'</font>' : sTP;
  sTP = lPlayer1Won ? '<b>'+sTP+'</b>' : sTP;
  document.write( '<td align="center" width="25"><font size="-1">' + sTP + sDT ); // 1 TP
  document.write( '</tr>' );
  document.write( '<tr>' );
  sPlayer = aPlayers[nPos*10+1][0] == 'login' ? '-' : aPlayers[nPos*10+1][0];
  sPlayer = lPlayer2Won ? '<b>'+sPlayer+'</b>' : sPlayer;
  document.write( '<td align="center" width="50"><font size="-1">' + sPlayer + sDT ); // 2 nick
  for( i=0; i<nGame; i++ ){ // 2 point
    sFontColor = aGames[nPos*10+i][3] == 'Yellow' ? 'black' : 'white';
    sPoint = aGames[nPos*10+i][1] > aGames[nPos*10+i][0] ? '<b>'+aGames[nPos*10+i][1]+'</b>' : aGames[nPos*10+i][1];
    document.write( '<td align="center" bgcolor="'+aGames[nPos*10+i][3]+'"><font size="-1" color="'+sFontColor+'">'+sPoint+sDT );
  }
  sTP = aPlayers[nPos*10+1][8]/10;
  sTP = sTP > nGame*10+1 ? '<font color="red">'+sTP+'</font>' : sTP;
  sTP = lPlayer2Won ? '<b>'+sTP+'</b>' : sTP;
  document.write( '<td align="center" width="25"><font size="-1">' + sTP + sDT ); // 2 TP
  document.write( '</tr>' );
  document.write( '</table>' );
}

function RoundGames( nRound, nPos, nGame ){
  aPlayers = eval( 'aPlayer' + nRound );
  aGames = eval( 'aGame' + nRound );
  nSumTime1 = 0;
  nSumTime2 = 0;
  nSumTP1 = 0;
  nSumTP2 = 0;
  nSumPoint1 = 0;
  nSumPoint2 = 0;

  sTD = '<td align="center"><font size="-1">';
  sDT = '</font></td>';

  document.write( '<table cellpadding="1" cellspacing="1" border="1">' );
  document.write( '<tr align="center" bgcolor="#006699">' );
  sFont = '<th nowrap><font size="-1" color="white">';
  document.write( sFont+'Játékos 1</th>'+sFont+'Idő</th>'+sFont+'TP</th><th colspan="3"><font size="-1"color="white">Eredmény</th>'+sFont+'TP</th>'+sFont+'Idő</th>'+sFont+'Játékos 2</th>'+sFont+'Játék azonosító</th>' );
  document.write( '</tr>' );
  for( i=0; i<nGame; i++ ){
    document.write( '<tr>' );
    document.write( sTD + '<b>' + aPlayers[nPos*10][0] + '</b>' + sDT ); // jatekos1
    if( aGames[nPos*10+i][4] > 14 )  // ido1
      document.write(  sTD + '<font color="red"><b>' + aGames[nPos*10+i][4] + '</b></font>' + sDT );
    else
      document.write(  sTD + aGames[nPos*10+i][4] + sDT );
    document.write( sTD + aGames[nPos*10+i][7]/10 + sDT ); // TP1
    sFontColor = aGames[nPos*10+i][2] == 'Yellow' ? 'black' : 'white';
    sPoint = aGames[nPos*10+i][0] > aGames[nPos*10+i][1] ? '<b>'+aGames[nPos*10+i][0]+'</b>' : aGames[nPos*10+i][0];
    document.write( '<td align="center" bgcolor="'+aGames[nPos*10+i][2]+'"><font size="-1" color="'+sFontColor+'">'+sPoint+sDT );
    document.write( sTD + '&nbsp;-&nbsp;' + sDT );
    sFontColor = aGames[nPos*10+i][3] == 'Yellow' ? 'black' : 'white';
    sPoint = aGames[nPos*10+i][1] > aGames[nPos*10+i][0] ? '<b>'+aGames[nPos*10+i][1]+'</b>' : aGames[nPos*10+i][1];
    document.write( '<td align="center" bgcolor="'+aGames[nPos*10+i][3]+'"><font size="-1" color="'+sFontColor+'">'+sPoint+sDT );
    document.write( sTD + aGames[nPos*10+i][8]/10 + sDT ); // TP2
    if( aGames[nPos*10+i][5] > 14 )  // ido2
      document.write(  sTD + '<font color="red"><b>' + aGames[nPos*10+i][5] + '</b></font>' + sDT );
    else
      document.write(  sTD + aGames[nPos*10+i][5] + sDT );
    document.write( sTD + '<b>' + aPlayers[nPos*10+1][0] + '</b>' + sDT ); // jatekos2
    document.write( sTD + aGames[nPos*10+i][6] + sDT ); // gameNo
    document.write( '</tr>' );
    nSumPoint1 += aGames[nPos*10+i][0];
    nSumPoint2 += aGames[nPos*10+i][1];
    nSumTP1 += aGames[nPos*10+i][7];
    nSumTP2 += aGames[nPos*10+i][8];
    nSumTime1 += aGames[nPos*10+i][4];
    nSumTime2 += aGames[nPos*10+i][5];
  }
  nTotal = nSumTP1 + nSumTP2;
  nPercent1 = Math.round( nSumTP1 / nTotal * 10000 ) / 100;
  nPercent2 = Math.round( nSumTP2 / nTotal * 10000 ) / 100;
  document.write( '<tr align="center">' );
  sTD = '</td><td><font size="-1">';
  document.write( '<td><font size="-1">'+nPercent1+'%'+sTD+nSumTime1+sTD+'<b>'+nSumTP1/10+'</b>'+sTD+nSumPoint1+sTD+'-'+sTD+nSumPoint2+sTD+'<b>'+nSumTP2/10+'</b>'+sTD+nSumTime2+sTD+nPercent2+'%</td>' );
  document.write( '</tr>' );
  document.write( '</table>' );
}

function CreatePlayer( aNewPlayer, nElement, nPlayer ){
  aNewPlayer[nElement] = new Array();
  aNewPlayer[nElement][0] = aPlayer[nPlayer][0];
  aNewPlayer[nElement][1] = aPlayer[nPlayer][1];
  aNewPlayer[nElement][2] = aPlayer[nPlayer][2];
  aNewPlayer[nElement][3] = aPlayer[nPlayer][3];
  aNewPlayer[nElement][4] = aPlayer[nPlayer][4];
  aNewPlayer[nElement][5] = 0;
  aNewPlayer[nElement][6] = 0;
  aNewPlayer[nElement][7] = 0;
  aNewPlayer[nElement][8] = 0;
}

