      google.load('search', '1');

      // the se class encapsulates a left and right search control
      // both controls are driven by a shared search form
      function se(wd) {
        var rightScDiv = document.getElementById("rightSearchControl");

        // create a left, right search control
        // create a custom search form
        this.rightControl = new google.search.SearchControl();

        // set up for large result sets
        this.rightControl.setResultSetSize(GSearch.LARGE_RESULTSET);

        var searcher;
        var options;

        // configure right control
        // tabbed layout image, web, news, video
        this.rightControl.addSearcher(new google.search.ImageSearch());
        this.rightControl.addSearcher(new google.search.VideoSearch());
        this.rightControl.addSearcher(new google.search.WebSearch());
        this.rightControl.addSearcher(new google.search.NewsSearch());
        this.rightControl.addSearcher(new google.search.BlogSearch());
        this.rightControl.addSearcher(new google.search.BookSearch());

        var drawOptions = new google.search.DrawOptions();
        drawOptions.setDrawMode(GSearchControl.DRAW_MODE_TABBED);

        this.rightControl.setNoResultsString(GSearchControl.NO_RESULTS_DEFAULT_STRING);
        this.rightControl.draw(rightScDiv, drawOptions);

        // execute a starter search
        this.rightControl.execute(wd);

      }

      // when the form fires a submit, grab its
      // value and call the left and right control
      se.prototype.onSubmit = function(form) {
        var q = form.input.value;
        if (q && q!= "") {
          this.rightControl.execute(q);
        }
        return false;
      }

      // when the form fires a clear, call the left and right control
      se.prototype.onClear = function(form) {
        this.rightControl.clearAllResults();
        form.input.value = "";
        return false;
      }


