

function fillInput(i)
{
 document.getElementById('champ').value = myArray[i];
 document.getElementById('liste').style.display= 'none';
 document.getElementById('champ').focus();
}

function refreshList()
{
 if(document.getElementById('champ').value != old)
 {
  old=document.getElementById('champ').value;
  document.getElementById('liste').innerHTML = '';
  if (document.getElementById('champ').value.length > 0)
  {
   nbMatch = 0;
   content='';
   for (var i=0; i < myArray.length; i++)
   {
    if (myArray[i].slice(0, document.getElementById('champ').value.length).toUpperCase() == document.getElementById('champ').value.toUpperCase())
    {
     nbMatch++;
     content += '<div id="' + nbMatch + '" class="result" onclick="fillInput(' + i + ')">' + myArray[i] + '</div>';
    }
   }
   if (nbMatch)
   {
    document.getElementById('liste').innerHTML = content;
    document.getElementById('liste').style.height = (Math.min(5, nbMatch)) + 'em';
    document.getElementById('liste').style.display = 'block';
    selIndex=0;
   }
   else
    document.getElementById('liste').style.display = 'none';
  }
  else
  {
   document.getElementById('liste').style.display = 'none';
  }
 }
}

function moveSelection()
{
 if (event.keyCode == 40)
 {
  if (selIndex > 0 && selIndex < nbMatch)
  {
   document.getElementById(selIndex).style.backgroundColor = 'white';
   document.getElementById(selIndex).style.color = 'black';
  }
  if (selIndex < nbMatch)
  {
   selIndex++;
   document.getElementById(selIndex).style.backgroundColor = 'darkblue';
   document.getElementById(selIndex).style.color = 'white';
   document.getElementById(selIndex).focus();
  }
  return false;
 }
 else if (event.keyCode == 38)
 {
  if (selIndex > 1)
  {
   document.getElementById(selIndex).style.backgroundColor = 'white';
   document.getElementById(selIndex).style.color = 'black';
  }
  if (selIndex > 1 && selIndex <= nbMatch)
  {
   selIndex--;
   document.getElementById(selIndex).style.backgroundColor = 'darkblue';
   document.getElementById(selIndex).style.color = 'white';
  }
  return false;
 }
 return getEnterKey();
}

function getEnterKey()
{
 if (event.keyCode == 13)
 {

    if (selIndex > 0)
    {
     document.getElementById('champ').value = document.getElementById(selIndex).innerText;
     document.getElementById('liste').style.display = 'none';
   old=document.getElementById(selIndex).innerText
   }
    return false;
  }
   else
   {
    return true;
   }
  }
