/**
 * Tagging
 */
function add_tag(text, obj) {
  if (text != '') {
    $('#taglist').append('<li><a title="dieses Thema entfernen" href="#">' + text + '</a></li>');
  }
}

$(document).ready(function() {
  $('#tag-use')
  .click(function() {
    var inp = $('#tag-input');
    add_tag(inp.val());
    inp.val('');
    return false;
  });

  $('#tag-input')
  .keypress(function(e) {
    if (e.keyCode == 13) {
      add_tag($(this).val());
      $(this).val('');
      return false;
    }
  })
  .james('/tag/suggest', {
    minlength: 3,
    method: 'post',
    onSelect: add_tag
  });
  $('#taglist').click(function(e) {
    if (e.target.nodeName == 'A') {
      $(e.target).parents('li').remove();
    }
    return false;
  });
  
  $('#form').submit(function() {
    // make sure all tags have been collected
    var inp = $('#tag-input');
    if (inp.val() != '') {
      add_tag(inp.val());
    }
    
    // now make them into a form field
    var tags = $('#tags');
    tags.val($('#taglist').find('a').map(function(i, el) {
      return $(el).text();
    }).get().join(','));

    // has the user entered any?
    if (tags.val() == '') {
      $('#message').html('<span class="warn">Mindestens ein Thema eingeben.</span>')
      return false;
    }
    return true;
  });
});

