var noun_type_music = {
  _name: "song title",
  suggest: function( text, html ) {
    var suggestions  = [CmdUtils.makeSugg(text)];
    return suggestions;
  }
}

CmdUtils.CreateCommand({
  name: "lastfm-search",
  icon: "http://www.last.fm/favicon.ico",
  homepage: "http://static.isnotworking.com/lastfm-search.html",
  author: { name: "Ricardo Niederberger Cabral", email: "ricardo@isnotworking.com"},
  license: "MPL",
  help: "Searches Last.fm",
  takes: {keywords: noun_type_music},
  preview: function(pblock, directObject) {
    
    searchText = jQuery.trim(directObject.text);
    if(searchText.length < 1) {
      pblock.innerHTML = "Searches Last.fm";
      return;
    }

    var previewTemplate = "Searches Last.fm for songs or artists containing <b>${query}</b>";
    var previewData = {query: searchText};
    pblock.innerHTML = CmdUtils.renderTemplate(previewTemplate, previewData);

  },
  execute: function(directObject) {
    var url = "http://www.last.fm/music?m=all&q={QUERY}"
    var query = directObject.text;
    var urlString = url.replace("{QUERY}", query);
    Utils.openUrlInBrowser(urlString);
  }
});