 (function($){
  $.fn.jGoogle = function(options) {  
   var defaults = {
    };
    var options = $.extend(defaults, options);
    return this.each(function() {
      this.ctrl = new GSearchControl();
      var searcherOptions = new GsearcherOptions();
      searcherOptions.setExpandMode(GSearchControl.EXPAND_MODE_OPEN);
	  this.imgs = new GimageSearch();
	  this.imgs.setRestriction(GimageSearch.RESTRICT_SAFESEARCH,GimageSearch.SAFESEARCH_OFF);
	  this.imgs.setRestriction(GimageSearch.RESTRICT_FILETYPE,GimageSearch.FILETYPE_JPG);
	  this.imgs.setRestriction(GimageSearch.RESTRICT_COLORIZATION,GimageSearch.COLORIZATION_COLOR);
	  this.imgs.setRestriction(GimageSearch.RESTRICT_IMAGESIZE,GimageSearch.IMAGESIZE_MEDIUM);
	  //this.imgs.setRestriction(GimageSearch.RESTRICT_IMAGETYPE,GimageSearch.IMAGETYPE_PHOTO);
	  this.ctrl.addSearcher(this.imgs, searcherOptions);
      this.ctrl.setSearchCompleteCallback(this, ready);
      this.ctrl.setOnKeepCallback(this, keep, options.keeperElement);
      this.ctrl.setSearchStartingCallback(this, start);
      $(this).addClass("image_items");
      this.ctrl.setResultSetSize(GSearch.SMALL_RESULTSET);
      this.ctrl.setLinkTarget(GSearch.LINK_TARGET_PARENT);
      this.ctrl.draw(this);
      this.ctrl.execute(options.searchString);
      function start() { 
       //
      }
      function ready() { 
	    var e;
        $(".gs-image-box > a:first").each(function(i, el) {
	      var url = $(el).attr("href");
		  $(options.destinationPlace).find("img").attr("src",url);
        });
      }
      function keep(a) { 
        options.callbackKeep(a.url);
		$(el).parent().parent().parent().parent().hide();
      }
    });
  };  
})(jQuery);
