CmdUtils.CreateCommand({
  name: "whois-dt",
  icon: "http://www.domaintools.com/favicon.png",
  description: "Do a whois on selected/typed URL using DomainTools.com",
  homepage: "http://www.irishwonder.com",
  author: { name: "IrishWonder", email: "info@irishwonder.com"},
  license: "GPL",
  takes: {URL: noun_arb_text},
  preview: function(pblock, directObject) {
    
    searchText = jQuery.trim(directObject.text);
    if(searchText.length < 1) {
      pblock.innerHTML = "Checks WHOIS in DomainTools";
      return;
    }

    var previewTemplate = "Perform a whois on <b>${query}</b> in DomainTools";
    var previewData = {query: searchText};
    pblock.innerHTML = CmdUtils.renderTemplate(previewTemplate, previewData);

  },
  execute: function(directObject) {
    var url = "http://www.domaintools.com/{QUERY}"
    var query = directObject.text;
    var urlString = url.replace("{QUERY}", query);
    Utils.openUrlInBrowser(urlString);
  }
});

CmdUtils.CreateCommand({
  name: "archive",
  icon: "http://web.archive.org/favicon.ico",
  description: "Check web archive for a selected/typed URL.",
  homepage: "http://www.irishwonder.com",
  author: { name: "IrishWonder", email: "info@irishwonder.com"},
  license: "GPL",
  takes: {URL: noun_arb_text},
  preview: function(pblock, directObject) {
    
    searchText = jQuery.trim(directObject.text);
    if(searchText.length < 1) {
      pblock.innerHTML = "Checks web archive";
      return;
    }

    var previewTemplate = "Check web archive of <b>${query}</b>";
    var previewData = {query: searchText};
    pblock.innerHTML = CmdUtils.renderTemplate(previewTemplate, previewData);

  },
  execute: function(directObject) {
    var url = "http://web.archive.org/web/*/{QUERY}"
    var query = directObject.text;
    var urlString = url.replace("{QUERY}", query);
    Utils.openUrlInBrowser(urlString);
  }
});

CmdUtils.CreateCommand({
  name: "whoishosting",
  icon: "http://www.whoishostingthis.com/favicon.ico",
  description: "Check what hosting service is hosting a selected/typed site via WhoIsHostingThis.com.",
  homepage: "http://www.irishwonder.com",
  author: { name: "IrishWonder", email: "info@irishwonder.com"},
  license: "GPL",
  takes: {URL: noun_arb_text},
  preview: function(pblock, directObject) {
    
    searchText = jQuery.trim(directObject.text);
    if(searchText.length < 1) {
      pblock.innerHTML = "Checks hosting of a site";
      return;
    }

    var previewTemplate = "Check hosting of <b>${query}</b>";
    var previewData = {query: searchText};
    pblock.innerHTML = CmdUtils.renderTemplate(previewTemplate, previewData);

  },
  execute: function(directObject) {
    var url = "http://www.whoishostingthis.com/{QUERY}"
    var query = directObject.text;
    var urlString = url.replace("{QUERY}", query);
    Utils.openUrlInBrowser(urlString);
  }
});

CmdUtils.CreateCommand({
  name: "alexa",
  icon: "http://www.alexa.com/favicon.ico",
  description: "Check Alexa traffic data for a selected/typed site",
  homepage: "http://www.irishwonder.com",
  author: { name: "IrishWonder", email: "info@irishwonder.com"},
  license: "GPL",
  takes: {URL: noun_arb_text},
  preview: function(pblock, directObject) {
    
    searchText = jQuery.trim(directObject.text);
    if(searchText.length < 1) {
      pblock.innerHTML = "Checks Alexa data of a site";
      return;
    }

    var previewTemplate = "Check Alexa of <b>${query}</b>";
    var previewData = {query: searchText};
    pblock.innerHTML = CmdUtils.renderTemplate(previewTemplate, previewData);

  },
  execute: function(directObject) {
    var url = "http://www.alexa.com/data/details/main/{QUERY}"
    var query = directObject.text;
    var urlString = url.replace("{QUERY}", query);
    Utils.openUrlInBrowser(urlString);
  }
});

CmdUtils.CreateCommand({
  name: "spyfu",
  icon: "http://spyfu.com/favicon.ico",
  description: "Check Spyfu ranking and PPC for a selected/typed site",
  homepage: "http://www.irishwonder.com",
  author: { name: "IrishWonder", email: "info@irishwonder.com"},
  license: "GPL",
  takes: {URL: noun_arb_text},
  preview: function(pblock, directObject) {
    
    searchText = jQuery.trim(directObject.text);
    if(searchText.length < 1) {
      pblock.innerHTML = "Checks Spyfu data of a site";
      return;
    }

    var previewTemplate = "Check Spyfu data of <b>${query}</b>";
    var previewData = {query: searchText};
    pblock.innerHTML = CmdUtils.renderTemplate(previewTemplate, previewData);

  },
  execute: function(directObject) {
    var url = "http://spyfu.com/Search.aspx?q={QUERY}"
    var query = directObject.text;
    var urlString = url.replace("{QUERY}", query);
    Utils.openUrlInBrowser(urlString);
  }
});

CmdUtils.CreateCommand({
  name: "compete",
  icon: "http://compete.com/favicon.ico",
  description: "Check Compete data for a selected/typed site",
  homepage: "http://www.irishwonder.com",
  author: { name: "IrishWonder", email: "info@irishwonder.com"},
  license: "GPL",
  takes: {URL: noun_arb_text},
  preview: function(pblock, directObject) {
    
    searchText = jQuery.trim(directObject.text);
    if(searchText.length < 1) {
      pblock.innerHTML = "Checks Compete data of a site";
      return;
    }

    var previewTemplate = "Check Compete data of <b>${query}</b>";
    var previewData = {query: searchText};
    pblock.innerHTML = CmdUtils.renderTemplate(previewTemplate, previewData);

  },
  execute: function(directObject) {
    var url = "http://siteanalytics.compete.com/{QUERY}"
    var query = directObject.text;
    var urlString = url.replace("{QUERY}", query);
    Utils.openUrlInBrowser(urlString);
  }
});

CmdUtils.CreateCommand({
  name: "quantcast",
  icon: "http://www.quantcast.com/images/favicon.ico",
  description: "Check Quantcast data for a selected/typed site",
  homepage: "http://www.irishwonder.com",
  author: { name: "IrishWonder", email: "info@irishwonder.com"},
  license: "GPL",
  takes: {URL: noun_arb_text},
  preview: function(pblock, directObject) {
    
    searchText = jQuery.trim(directObject.text);
    if(searchText.length < 1) {
      pblock.innerHTML = "Checks Quantcast data of a site";
      return;
    }

    var previewTemplate = "Check Quantcast data of <b>${query}</b>";
    var previewData = {query: searchText};
    pblock.innerHTML = CmdUtils.renderTemplate(previewTemplate, previewData);

  },
  execute: function(directObject) {
    var url = "http://www.quantcast.com/{QUERY}"
    var query = directObject.text;
    var urlString = url.replace("{QUERY}", query);
    Utils.openUrlInBrowser(urlString);
  }
});

CmdUtils.CreateCommand({
  name: "builtwith",
  icon: "http://builtwith.com/favicon.ico",
  description: "Get technology profile of a selected/typed site through BuiltWith.com",
  homepage: "http://www.irishwonder.com",
  author: { name: "IrishWonder", email: "info@irishwonder.com"},
  license: "GPL",
  takes: {URL: noun_arb_text},
  preview: function(pblock, directObject) {
    
    searchText = jQuery.trim(directObject.text);
    if(searchText.length < 1) {
      pblock.innerHTML = "Gets technology profile of a site through BuiltWith.com";
      return;
    }

    var previewTemplate = "Get technology profile of <b>${query}</b>";
    var previewData = {query: searchText};
    pblock.innerHTML = CmdUtils.renderTemplate(previewTemplate, previewData);

  },
  execute: function(directObject) {
    var url = "http://builtwith.com/?{QUERY}"
    var query = directObject.text;
    var urlString = url.replace("{QUERY}", query);
    Utils.openUrlInBrowser(urlString);
  }
});

CmdUtils.CreateCommand({
  name: "technorati",
  description: "Check Technorati of a selected/typed site",
  homepage: "http://www.irishwonder.com",
  author: { name: "IrishWonder", email: "info@irishwonder.com"},
  license: "GPL",
  takes: {URL: noun_arb_text},
  preview: function(pblock, directObject) {
    
    searchText = jQuery.trim(directObject.text);
    if(searchText.length < 1) {
      pblock.innerHTML = "Checks Technorati profile of a site";
      return;
    }

    var previewTemplate = "Check Technorati profile of <b>${query}</b>";
    var previewData = {query: searchText};
    pblock.innerHTML = CmdUtils.renderTemplate(previewTemplate, previewData);

  },
  execute: function(directObject) {
    var url = "http://technorati.com/blogs/{QUERY}"
    var query = directObject.text;
    var urlString = url.replace("{QUERY}", query);
    Utils.openUrlInBrowser(urlString);
  }
});

CmdUtils.CreateCommand({
  name: "boardtracker",
  icon: "http://www.boardtracker.com/favicon.ico",
  description: "Check BoardTracker for mentions of a selected/typed term or site on forums and discussion boards",
  homepage: "http://www.irishwonder.com",
  author: { name: "IrishWonder", email: "info@irishwonder.com"},
  license: "GPL",
  takes: {URL: noun_arb_text},
  preview: function(pblock, directObject) {
    
    searchText = jQuery.trim(directObject.text);
    if(searchText.length < 1) {
      pblock.innerHTML = "Checks BoardTracker for mentions of a term";
      return;
    }

    var previewTemplate = "Check BoardTracker for mentions of <b>${query}</b>";
    var previewData = {query: searchText};
    pblock.innerHTML = CmdUtils.renderTemplate(previewTemplate, previewData);

  },
  execute: function(directObject) {
    var url = "http://www.boardtracker.com/search/?search={QUERY}"
    var query = directObject.text;
    var urlString = url.replace("{QUERY}", query);
    Utils.openUrlInBrowser(urlString);
  }
});

CmdUtils.CreateCommand({
  name: "trends-w",
  description: "Get search data for a website from Google Trends",
  homepage: "http://www.irishwonder.com",
  author: { name: "IrishWonder", email: "info@irishwonder.com"},
  license: "GPL",
  takes: {URL: noun_arb_text},
  preview: function(pblock, directObject) {
    
    searchText = jQuery.trim(directObject.text);
    if(searchText.length < 1) {
      pblock.innerHTML = "Checks search data for a site from Google Trends";
      return;
    }

    var previewTemplate = "Checks search data at Google Trends for<b>${query}</b>";
    var previewData = {query: searchText};
    pblock.innerHTML = CmdUtils.renderTemplate(previewTemplate, previewData);

  },
  execute: function(directObject) {
    var url = "http://trends.google.com/websites?q={QUERY}"
    var query = directObject.text;
    var urlString = url.replace("{QUERY}", query);
    Utils.openUrlInBrowser(urlString);
  }
});

CmdUtils.CreateCommand({
  name: "trends-s",
  description: "Get search data for a keyword from Google Trends",
  homepage: "http://www.irishwonder.com",
  author: { name: "IrishWonder", email: "info@irishwonder.com"},
  license: "GPL",
  takes: {URL: noun_arb_text},
  preview: function(pblock, directObject) {
    
    searchText = jQuery.trim(directObject.text);
    if(searchText.length < 1) {
      pblock.innerHTML = "Checks search data for a keyword from Google Trends";
      return;
    }

    var previewTemplate = "Checks search data at Google Trends for<b>${query}</b>";
    var previewData = {query: searchText};
    pblock.innerHTML = CmdUtils.renderTemplate(previewTemplate, previewData);

  },
  execute: function(directObject) {
    var url = "http://trends.google.com/trends?q={QUERY}"
    var query = directObject.text;
    var urlString = url.replace("{QUERY}", query);
    Utils.openUrlInBrowser(urlString);
  }
});

CmdUtils.CreateCommand({
  name: "ice-blogs",
  icon: "http://www.icerocket.com/img2/favicon.ico",
  description: "Get Icerocket blog search results for a selected term",
  homepage: "http://www.irishwonder.com",
  author: { name: "IrishWonder", email: "info@irishwonder.com"},
  license: "GPL",
  takes: {URL: noun_arb_text},
  preview: function(pblock, directObject) {
    
    searchText = jQuery.trim(directObject.text);
    if(searchText.length < 1) {
      pblock.innerHTML = "Get Icerocket blog search results for a selected term";
      return;
    }

    var previewTemplate = "Get Icerocket blog search results for <b>${query}</b>";
    var previewData = {query: searchText};
    pblock.innerHTML = CmdUtils.renderTemplate(previewTemplate, previewData);

  },
  execute: function(directObject) {
    var url = "http://www.icerocket.com/search?tab=blog&q={QUERY}"
    var query = directObject.text;
    var urlString = url.replace("{QUERY}", query);
    Utils.openUrlInBrowser(urlString);
  }
});

CmdUtils.CreateCommand({
  name: "ice-web",
  icon: "http://www.icerocket.com/img2/favicon.ico",
  description: "Get Icerocket web search results for a selected term",
  homepage: "http://www.irishwonder.com",
  author: { name: "IrishWonder", email: "info@irishwonder.com"},
  license: "GPL",
  takes: {URL: noun_arb_text},
  preview: function(pblock, directObject) {
    
    searchText = jQuery.trim(directObject.text);
    if(searchText.length < 1) {
      pblock.innerHTML = "Get Icerocket web search results for a selected term";
      return;
    }

    var previewTemplate = "Get Icerocket web search results for <b>${query}</b>";
    var previewData = {query: searchText};
    pblock.innerHTML = CmdUtils.renderTemplate(previewTemplate, previewData);

  },
  execute: function(directObject) {
    var url = "http://www.icerocket.com/search?tab=web&q={QUERY}"
    var query = directObject.text;
    var urlString = url.replace("{QUERY}", query);
    Utils.openUrlInBrowser(urlString);
  }
});

CmdUtils.CreateCommand({
  name: "ice-twitter",
  icon: "http://www.icerocket.com/img2/favicon.ico",
  description: "Get Icerocket Twitter search results for a selected term",
  homepage: "http://www.irishwonder.com",
  author: { name: "IrishWonder", email: "info@irishwonder.com"},
  license: "GPL",
  takes: {query: noun_arb_text},
  preview: function(pblock, directObject) {
    
    searchText = jQuery.trim(directObject.text);
    if(searchText.length < 1) {
      pblock.innerHTML = "Get Icerocket Twitter search results for a selected term";
      return;
    }

    var previewTemplate = "Get Icerocket Twitter search results for <b>${query}</b>";
    var previewData = {query: searchText};
    pblock.innerHTML = CmdUtils.renderTemplate(previewTemplate, previewData);

  },
  execute: function(directObject) {
    var url = "http://www.icerocket.com/search?tab=twitter&q={QUERY}"
    var query = directObject.text;
    var urlString = url.replace("{QUERY}", query);
    Utils.openUrlInBrowser(urlString);
  }
});

CmdUtils.CreateCommand({
  name: "ice-buzz",
  icon: "http://www.icerocket.com/img2/favicon.ico",
  description: "Get Icerocket Big Buzz search results for a selected term",
  homepage: "http://www.irishwonder.com",
  author: { name: "IrishWonder", email: "info@irishwonder.com"},
  license: "GPL",
  takes: {URL: noun_arb_text},
  preview: function(pblock, directObject) {
    
    searchText = jQuery.trim(directObject.text);
    if(searchText.length < 1) {
      pblock.innerHTML = "Get Icerocket Big Buzz search results for a selected term";
      return;
    }

    var previewTemplate = "Get Icerocket Big Buzz search results for <b>${query}</b>";
    var previewData = {query: searchText};
    pblock.innerHTML = CmdUtils.renderTemplate(previewTemplate, previewData);

  },
  execute: function(directObject) {
    var url = "http://www.icerocket.com/search?tab=buzz&q={QUERY}"
    var query = directObject.text;
    var urlString = url.replace("{QUERY}", query);
    Utils.openUrlInBrowser(urlString);
  }
});

CmdUtils.CreateCommand({
  name: "twitter-search",
  icon: "http://assets1.twitter.com/images/favicon.ico",
  description: "Get Twitter Search results for a selected term",
  homepage: "http://www.irishwonder.com",
  author: { name: "IrishWonder", email: "info@irishwonder.com"},
  license: "GPL",
  takes: {URL: noun_arb_text},
  preview: function(pblock, directObject) {
    
    searchText = jQuery.trim(directObject.text);
    if(searchText.length < 1) {
      pblock.innerHTML = "Get Twitter Search results for a selected term";
      return;
    }

    var previewTemplate = "Get Twitter Search results for <b>${query}</b>";
    var previewData = {query: searchText};
    pblock.innerHTML = CmdUtils.renderTemplate(previewTemplate, previewData);

  },
  execute: function(directObject) {
    var url = "http://search.twitter.com/search?q={QUERY}"
    var query = directObject.text;
    var urlString = url.replace("{QUERY}", query);
    Utils.openUrlInBrowser(urlString);
  }
});

CmdUtils.CreateCommand({
  name: "ybl",
  icon: "http://search.yahoo.com/favicon.ico",
  description: "Check Yahoo! backlinks of a selected/typed site",
  homepage: "http://www.irishwonder.com",
  author: { name: "IrishWonder", email: "info@irishwonder.com"},
  license: "GPL",
  takes: {URL: noun_arb_text},
  preview: function(pblock, directObject) {
    
    searchText = jQuery.trim(directObject.text);
    if(searchText.length < 1) {
      pblock.innerHTML = "Checks Yahoo! backlinks of a site directly in Yahoo! Search - not through Site Explorer";
      return;
    }

    var previewTemplate = "Check Yahoo! backlinks of <b>${query}</b>";
    var previewData = {query: searchText};
    pblock.innerHTML = CmdUtils.renderTemplate(previewTemplate, previewData);

  },
  execute: function(directObject) {
    var url = "http://search.yahoo.com/search?p=linkdomain%3AQUERY+-site%3ANOQUERY"
    var query = directObject.text;
    var noquery = query;
    var urlString = url.replace("QUERY", query);
    var finalUrlString = urlString.replace("NOQUERY", noquery);
    Utils.openUrlInBrowser(finalUrlString);
  }
});