/*
 * startuper - jQuery Plugin
 * Usage example: $('.allstartupers').startuper();
 *
 * Has to be called on the element directly containing the text, cannot contain html elements.
 *
 * Copyright (c) 2010 Quodis (http://quodis.com)
 * Licensed under the MIT license
 *
 * $Date: 2010-07-25 (Sun, 25 Jul 2010) $
 * $version: 0.1
 * 
 */

(function($){
  $.fn.startupers = function(options) {
    
    var defaults = {
      container_selector: '.entry'
    };
    var options = $.extend(defaults, options);

    // Create container for all startupers
    var container = $('<div>');
    container.addClass('whois_startupers');
    
    container.append('<span class="title">Information from <a href="http://whois.startu.pt">whois.startu.pt</a></span>');
    
    var list = $('<dl>');
    container.append(list);
    
    this.each(function() {
    
      var me = $(this);
      
      // Get the keyword to look for
      var keyword = $(this).text();
      
      // Check what to look for, default is name
      var keyword_for = 'n'; //name
            
      // Send the request
      var request_url = 'http://whois.startu.pt/api?' + keyword_for + '=' + keyword + '&callback=?';
      
      $.getJSON(request_url, function(data) {
        // If found, show information
        if (data) {
        
          var dt = $('<dt>');
          dt.append('<span class="name"><a href="http://whois.startu.pt/startupers/' + data.startuper.id + '">' + data.startuper.name + '</a></span>');
          list.append(dt);
          
          var dd = $('<dd>');
          if (data.startuper.gravatar_url) {
            dd.append('<span class="gravatar"><img src="' + data.startuper.gravatar_url + '"></span>');
          }
          dd.append('<span class="url">Website: <a href="' + data.startuper.url + '">' + data.startuper.url.replace('http://', '') + '</a></span>');
          dd.append('<span class="twitter">Twitter: <a href="http://twitter.com/' + data.startuper.twitter + '">' + data.startuper.twitter + '</a></span>');
          dd.append('<span class="activity">Activity: ' + data.startuper.activity + '</span>');
          
          dt.after(dd);
        }
      });
      
      
    });

    // Append it to the post entry
    if (this.length > 0) {
      return $(options.container_selector).append(container);
    }
  };
  
})(jQuery);