function inputText()
{
    if( $( "p.activeSuggest" ).length )
    {
        var term = $('#suggestion p.activeSuggest').html();
        $( "#quickSearch" ).attr( { value: term } );
    };
}

function inputTextClick()
{
    if( $( "p.activeSuggest" ).length)
    {
        var term = $( '#suggestion p.activeSuggest' ).html();
        $( "#quickSearch" ).attr( { value: term } );
        $( "#quickFindSubmit" ).click();
    }
}

function killSuggestions()
{
    $( "#suggestion" ).css( { 'display' : 'none' } ).html('');
}

$(document).ready(function()
{




  $( "#quickSearch" ).keydown( function( event )
  {
      var terms;
      var ter = '&nbsp';
      var dir = 'n';
      if( event.keyCode == 38 )
      {
          dir = 'up';
          if( $( '#suggestion p.activeSuggest' ).length )
          {
              $("p.activeSuggest").removeClass('activeSuggest').prev("p").addClass('activeSuggest');
              if($("p.activeSuggest").hasClass('skipSuggest'))
              {
                  $("p.activeSuggest").removeClass('activeSuggest').prev("p").addClass('activeSuggest');
              }
          }
          else
          {
              $("#suggestion p:last").addClass('activeSuggest');
              if($("p.activeSuggest").hasClass('skipSuggest'))
              {
                  $("p.activeSuggest").removeClass('activeSuggest').prev("p").addClass('activeSuggest');
              }
          }
          inputText();
      }

      if (event.keyCode == 40)
      {
          dir = 'down';
          if( $( '#suggestion p.activeSuggest' ).length )
          {
              $("p.activeSuggest").removeClass('activeSuggest').next("p").addClass('activeSuggest');
              if($("p.activeSuggest").hasClass('skipSuggest'))
              {
                  $(this).removeClass('activeSuggest').next("p").addClass('activeSuggest');
              }
          }
          else
          {
              $("#suggestion p:first").addClass('activeSuggest');
              if($("p.activeSuggest").hasClass('skipSuggest'))
              {
                  $("p.activeSuggest").removeClass('activeSuggest').next("p").addClass('activeSuggest');
              }
          }
          inputText();
      }

      if( event.keyCode == 27 )
      {
          dir = 'esc';
          $("#suggestion").html('');
          killSuggestions();
      }

      if (dir == 'n')
      {
          var terms = $("#quickSearch").attr("value");
          if( terms == '' )
          {
              killSuggestions();
          }
          else
          {
              $.get( "searchSuggest.php",
                     { search: terms},
                     function( data )
                     {
                         if (data != '' )
                         {
                             var str = data.split("\n");
                             $("#suggestion").html('');
                             for(i=0; i < str.length - 1; i++)
                             {
                                 if(str[i] != 'Products: ' && str[i] != 'Categories: ')
                                 {
                                     $("#suggestion").append($('<p class="term">' + str[i] + "</p>"));
                                 }
                                 else
                                 {
                                     $("#suggestion").append($('<p class="skipSuggest">' + str[i] + "</p>"));
                                 }
                             }
                             $("#suggestion").css({'display' : 'block'});
                             $("#suggestion p.term").hover(function()
                             {
                                 $("#suggestion p").removeClass('activeSuggest');
                                 $(this).addClass('activeSuggest');
                             },function()
                             {
                                 $(this).removeClass('activeSuggest');
                             });
                         }
                         else
                         {
                             killSuggestions();
                         }

                     });
          }
      }
    });

    $( "#quickSearch" ).blur( function()
    {
        inputTextClick();
        killSuggestions();
    });

});