diff -ur q/google_cse/google_cse_results.tpl.php google_cse//google_cse_results.tpl.php
--- q/google_cse/google_cse_results.tpl.php	2011-03-03 13:10:14.000000000 -0800
+++ google_cse//google_cse_results.tpl.php	2012-03-29 13:32:07.609003702 -0700
@@ -6,7 +6,7 @@
 <?php endif; ?>
 
 <?php if ($results_searchbox_form): ?>
-  <?php print render($results_searchbox_form); ?>
+  <?php /*print render($results_searchbox_form);*/ ?>
 <?php endif; ?>
 
 <div id="google-cse-results">
@@ -15,6 +15,8 @@
   </noscript>
 </div>
 
+<div id="cse" style="width: 100%;">Loading</div>
+
 <?php if ($suffix): ?>
   <div class="google-cse-results-suffix"><?php print $suffix; ?></div>
 <?php endif; ?>
diff -ur q/google_cse/google_cse.theme.inc google_cse//google_cse.theme.inc
--- q/google_cse/google_cse.theme.inc	2011-03-03 13:10:14.000000000 -0800
+++ google_cse//google_cse.theme.inc	2012-03-29 13:57:26.776999912 -0700
@@ -16,8 +16,41 @@
   $variables['suffix'] = filter_xss_admin(variable_get('google_cse_results_suffix', ''));
 
   if (google_cse_validate_request()) {
-    drupal_add_js($variables['path'] . '/google_cse_results.js', array('scope' => 'footer'));
-    drupal_add_js('https://www.google.com/afsonline/show_afs_search.js', array('type' => 'external', 'scope' => 'footer'));
+//    drupal_add_js($variables['path'] . '/google_cse_results.js', array('scope' => 'footer'));
+//    drupal_add_js('https://www.google.com/afsonline/show_afs_search.js', array('type' => 'external', 'scope' => 'footer'));
+      drupal_add_js('//www.google.com/jsapi', array('type' => 'external', 'scope' => 'footer'));
+      drupal_add_js('
+  google.load(\'search\', \'1\', {language : \'en\'});
+  google.setOnLoadCallback(function() {
+    var customSearchOptions = {};
+    customSearchOptions[\'adoptions\'] = {\'layout\': \'noTop\'};
+    var customSearchControl = new google.search.CustomSearchControl(\'' . variable_get('google_cse_cx', '') . '\', customSearchOptions);
+    customSearchControl.setResultSetSize(google.search.Search.FILTERED_CSE_RESULTSET);
+    var options = new google.search.DrawOptions();
+    options.enableSearchResultsOnly();
+    customSearchControl.draw(\'cse\', options);
+    function parseParamsFromUrl() {
+      var params = {};
+      var parts = window.location.search.substr(1).split(\'\x26\');
+      for (var i = 0; i < parts.length; i++) {
+        var keyValuePair = parts[i].split(\'=\');
+        var key = decodeURIComponent(keyValuePair[0]);
+        params[key] = keyValuePair[1] ?
+            decodeURIComponent(keyValuePair[1].replace(/\+/g, \' \')) :
+            keyValuePair[1];
+      }
+      return params;
+    }
+
+    var urlParams = parseParamsFromUrl();
+    var queryParamName = "query";
+    if (urlParams[queryParamName]) {
+      customSearchControl.execute(urlParams[queryParamName]);
+    }
+  }, true);', array('type' => 'inline', 'scope' => 'footer'));
+      drupal_add_css('//www.google.com/cse/style/look/default.css', 'external');
+
+      // google.load(\'search\', \'1\', {language : \'en\', style : google.loader.themes.MINIMALIST});
   }
 }
 
