var ftList = new Array (
  new Array('Processing of Karaoke and MIDI files',
    'The program facilitates (and sometimes automates) extraction of texts of songs from karaoke files, and determining chords for them. The program processes not only karaoke (.kar) files, but also ordinary MIDI files (.mid). In the second case you get only chords, without text (with rare exception*).'
  ),
  new Array('Convenience in a work',
    '"Karaoke-to-Text-with-Chords" evidently represents structure of a MIDI file, allows passing process of definition of chords step-by-step. The chords are displayed on the keyboard of a piano; you can hear and edit them.'
  ),
  new Array('The key signature finder',
    'The program can say you - in what key signature (most likely) the song is written (C major, E minor etc.).'
  ),
  new Array('Transpositions',
    'You can make any transposition of chords. You can hear a song both in an original key signature, and in transposed one. The program stores an original key signature of songs, so you can return to it at any moment.'
  ),
  new Array('Tempo management',
    'You can manage tempo of playing, accelerate and slow down it.'
  ),
  new Array('Various ways of notes spelling (note notations).',
    'There are various ways of writing of notes (and, therefore, chords), accepted in the different countries. Transposer supports 3 various kinds of notations:<ol><li>"English" notation: C-D-E-F-G-A-B<li>"German" notation: C-D-E-F-G-A-H<li>"Italian" notation: DO-RE-MI-FA-SOL-LA-SI</ol>So, for example, the Si-minor chord will look as "Bm" in the "English" notation, "Hm" - in the "German" notation, and "SIm" - in the "Italian" notation.'
  ),
  new Array('Working with a fragment of a melody',
    'You can easy listen certain fragment of a melody and quickly rewind it into start position.'
  ),
  new Array('Management of a beat duration',
    'The beat is a time interval that equals to quarter of a measure (bar). The program determines one separate chord for each beat of a composition. Duration of a beat can be modified by increasing or reducing it in 2 times.'
  ),
  new Array('Localization <a href=#Offer>(Details)</a>',
    'Users have opportunity to make translation of the "Karaoke-to-Text-with-Chords" program to their native languages.'
  ),
  new Array('Customizable graphic interface',
    'You can adjust appearance of the keyboard of a piano, display the contents of a MIDI file etc.'
  ),
  new Array('Windows XP Support',
    'The program supports themes and visual styles of Windows XP.'
  ),
  new Array('The multilingual interface',
    'Today, program supports English, Italian, Belarusian and Russian languages.'
  )
);

var ftRegList = new Array (
  new Array('Transfer of texts with chords to the "Transposer" program',
    'When you receive the chords as a result of processing, you can transfer them to "Transposer" for subsequent editing and saving. "Transposer" is a specialized text editor for working with the texts of songs with chords. You can find it here: <a href="http://ppg.by/transposer"> http://ppg.by/transposer</a> or here: <a href="http://snow.prohosting.com/transpos"> http://snow.prohosting.com/transpos</a>.'
  ),
  new Array('SmartChords© technology',
    'Version 2.0 of program has absolutely new and unique algorithm of searching the chords. This technology has serious advantages in comparison with old searching algorithm. For example, the definition\'s level of selected chords achieves 90%!'
  ),
  new Array('Tracks management',
    'The opportunity to enable/disable tracks of a composition is added.'
  ),
  new Array('Playing on the keyboard',
    'Now you can play a melody not only by mouse, but also on the keyboard of a computer. For this purpose 2 top rows of the keyboard are involved.'
  )
);

function WriteProg2Lines(Line1, Line2){
  document.write('<TABLE cellSpacing=0 cellPadding=0 bgColor=#333399 border=0 width="100%">',
    '<TBODY>',
    '  <TR><td style="BORDER-RIGHT: windowtext 1.5pt double; PADDING: 0pt 5.4pt; BORDER-TOP: windowtext 1.5pt double; BORDER-LEFT: windowtext 1.5pt double; BORDER-BOTTOM: windowtext 1.5pt double" colspan="3">',
    '    <H2>', Line1, '</H2>',
    '  </TD></TR>',
    '  <TR><td style="BORDER-RIGHT: windowtext 1.5pt double; PADDING: 5pt 15pt; BORDER-TOP: medium none; BORDER-LEFT: windowtext 1.5pt double; BORDER-BOTTOM: windowtext 1.5pt double" colspan="3">',
    '     <H3>', Line2, '</H3>',
    '  </TD></TR>');
}

function BuildTableFeatures(){
  document.write('<TABLE cellSpacing=0 cellPadding=0 bgColor=#333399 border=0>',
    '<TBODY>');
  for (var i=0; i<ftList.length; i++){
    WriteProg2Lines(ftList[i][0], ftList[i][1]);
  }
  document.write('</TBODY></TABLE>', '<BR>');
}

function BuildTableFeaturesReg(){
  document.write('<TABLE cellSpacing=0 cellPadding=0 bgColor=#333399 border=0>',
    '<TBODY>');
  for (var i=0; i<ftRegList.length; i++){
    WriteProg2Lines(ftRegList[i][0], ftRegList[i][1]);
  }
  document.write('</TBODY></TABLE>', '<BR>');
}
