CmdUtils.makeSearchCommand({
  icon: "http://www.uxsoup.com/favicon.ico",
  url: "http://www.uxsoup.com",
  names: ["uxsoup search",
          "search uxsoup"],
  author: {name: "uxsoup", email: "uxsoup@gmail.com"},
  description: "'Ux|Soup' blog-search",
  help: "What do you want to find on <em>Ux|Soup</em>. Mark a word in the text or type in the term you want to search for.",
  url: "http://www.uxsoup.com/?s={QUERY}",
  
  // preview output
  preview : function(previewBlock, {object}){ 
    if (object.text == "") {
      previewBlock.innerHTML = this.help;
    } else {
  
      previewBlock.innerHTML = _("Searching for posts on notizblog...");
      // the api url
      var apiUrl = "http://www.uxsoup.com/";
      // query params  
      var apiParams = {
        feed: "ubiquity",
        s: object.text
      };
        
      // preview command
      CmdUtils.previewAjax(previewBlock, {
        type: "GET",
        url: apiUrl,
        data: apiParams,
        datatype: "string",
        error: function() {
          previewBlock.innerHTML = "<p class='error'>"+_("Error searching notizblog")+"</p>";
        },
        success: function(responseData) {
          responseData = Utils.decodeJson(responseData);
          var htmlTemplate = "Searchresults for '<em>"+object.text+"</em>': <ul>";
          
          for (var i = 0; i < responseData.length; ++i) {
            // html output
            htmlTemplate += "<li><a href='"+responseData[i].link+"'>";
            htmlTemplate += responseData[i].title.replace(new RegExp(object.text,"i"), "<span style='background-color: red;'>"+object.text+"</span>");
            htmlTemplate += "</a></li>"; 
          }
    
          previewBlock.innerHTML = htmlTemplate+"</ul>";       
        }
      });
    }
  }
});
