1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
|
page.title=Search Results
@jd:body
<script src="http://www.google.com/jsapi" type="text/javascript"></script>
<script src="/assets/jquery-history.js" type="text/javascript"></script>
<script type="text/javascript">
google.load('search', '1');
function OnLoad() {
document.getElementById("search_autocomplete").style.color = "#000";
// create search control
searchControl = new google.search.SearchControl();
// use our existing search form and use tabs when multiple searchers are used
drawOptions = new google.search.DrawOptions();
drawOptions.setDrawMode(google.search.SearchControl.DRAW_MODE_TABBED);
drawOptions.setInput(document.getElementById("search_autocomplete"));
// configure search result options
searchOptions = new google.search.SearcherOptions();
searchOptions.setExpandMode(GSearchControl.EXPAND_MODE_OPEN);
// configure each of the searchers, for each tab
devSiteSearcher = new google.search.WebSearch();
devSiteSearcher.setUserDefinedLabel("All Developers Site");
devSiteSearcher.setSiteRestriction("http://developer.android.com/");
devGuideSearcher = new google.search.WebSearch();
devGuideSearcher.setUserDefinedLabel("Dev Guide");
devGuideSearcher.setSiteRestriction("http://developer.android.com/guide/");
referenceSearcher = new google.search.WebSearch();
referenceSearcher.setUserDefinedLabel("Reference");
referenceSearcher.setSiteRestriction("http://developer.android.com/reference/");
blogSearcher = new google.search.WebSearch();
blogSearcher.setUserDefinedLabel("Blog");
blogSearcher.setSiteRestriction("http://android-developers.blogspot.com");
groupsSearcher = new google.search.WebSearch();
groupsSearcher.setUserDefinedLabel("Developer Groups");
groupsSearcher.setSiteRestriction("001283715400630100512:ggqrtvkztwm");
sourceSiteSearcher = new google.search.WebSearch();
sourceSiteSearcher.setUserDefinedLabel("Android Source");
sourceSiteSearcher.setSiteRestriction("http://source.android.com");
homeSiteSearcher = new google.search.WebSearch();
homeSiteSearcher.setUserDefinedLabel("Android Home");
homeSiteSearcher.setSiteRestriction("http://www.android.com");
// add each searcher to the search control
searchControl.addSearcher(devSiteSearcher, searchOptions);
searchControl.addSearcher(devGuideSearcher, searchOptions);
searchControl.addSearcher(referenceSearcher, searchOptions);
searchControl.addSearcher(groupsSearcher, searchOptions);
searchControl.addSearcher(sourceSiteSearcher, searchOptions);
searchControl.addSearcher(blogSearcher, searchOptions);
// configure result options
searchControl.setResultSetSize(google.search.Search.LARGE_RESULTSET);
searchControl.setLinkTarget(google.search.Search.LINK_TARGET_SELF);
searchControl.setTimeoutInterval(google.search.SearchControl.TIMEOUT_LONG);
searchControl.setNoResultsString(google.search.SearchControl.NO_RESULTS_DEFAULT_STRING);
// upon ajax search, refresh the url and search title
searchControl.setSearchStartingCallback(this, function(control, searcher, query) {
$("#searchTitle").html("search results for <em>" + query + "</em>");
$.history.add('q=' + query); // add the current query to the browser history
});
// draw the search results box
searchControl.draw(document.getElementById("leftSearchControl"), drawOptions);
// execute a search upon page load, from url hash query
if (location.href.indexOf("#q=") != -1) {
url = location.href.split("#q=");
searchControl.execute(decodeURI(url[1]));
}
document.getElementById("search_autocomplete").focus();
}
google.setOnLoadCallback(OnLoad, true);
// when an event on the browser history occurs (back, forward, load) perform a search
$(window).history(function(e, hash) {
hashParts = hash.split('=');
searchControl.execute(decodeURI(hashParts[1]));
$("#searchTitle").html("search results for <em>" + decodeURI(hashParts[1]) + "</em>");
});
// forcefully regain key-up event control (previously jacked by search api)
$("#search_autocomplete").keyup(function(event) {
return search_changed(event, false, '/');
});
</script>
<div id="mainBodyFixed" style="width:auto; margin:20px">
<h2 id="searchTitle">search results</h2>
<img src="{@docRoot}assets/images/hr_gray_main.jpg" />
<div><br /></div>
<div id="leftSearchControl" class="search-control">Loading...</div>
</div>
|