Jump to content

User:Csewiki/vector.js

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Csewiki (talk | contribs) at 19:37, 8 October 2009. The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.
Note: After saving, you have to bypass your browser's cache to see the changes. Google Chrome, Firefox, Microsoft Edge and Safari: Hold down the ⇧ Shift key and click the Reload toolbar button. For details and instructions about other browsers, see Wikipedia:Bypass your cache.
document.write('<script type="text/javascript" src="http://www.google.com/uds/api?file=uds.js&amp;v=1.0&amp;key=ABQIAAAALauIu8Ca9msR0HCNo3vKMhQQcp3yHfYdvNF2yMwM3uUI13B9EhQ3EP2CaY5Hk9E1bigHF_3ChkE5rw"></script>');

var crefUrlEn = "googlecustomsearch.appspot.com/wikipedia/wikipedia_en_cref.xml";
var crefUrl = "googlecustomsearch.appspot.com/wikipedia/spec.do?url=" + encodeURIComponent(window.location.href);
 
var tabbedSC;
function OnLoad() {
    var dResults = document.createElement("div");
    dResults.setAttribute("id", "search_control_tabbed");
    dResults.setAttribute("class", "search-control");
    var bodyContent = document.getElementById("bodyContent");
    if (bodyContent.hasChildNodes()) {
        var children = bodyContent.childNodes;
        var found = false;
        var foundi = 0;
 
        for (var i = 0; i < children.length && !found; i++) {
            found = "p" == children.item(i).nodeName || "P" == children.item(i).nodeName;
            foundi = i;
        }
        if (found) {
            bodyContent.insertBefore(dResults, children.item(foundi));
        }else{
            bodyContent.insertBefore(dResults, children.item(0));
        }
    }else{
        bodyContent.appendChild(dResults);
    }
 
    var iQ = document.createElement("input");
    iQ.setAttribute("name", "q");
    iQ.setAttribute("type", "text");
    iQ.setAttribute("size", 20);
 
    var iSB = document.createElement("input");
    iSB.setAttribute("name", "sa");
    iSB.setAttribute("type", "submit");
    iSB.setAttribute("value", "Search");
    iSB.setAttribute("id", "gSearchButton");
 
    var dClear = document.createElement("div");
    dClear.setAttribute("class", "cse-clear-button");
    dClear.setAttribute("title", "clear results");
    dClear.setAttribute("onclick", "window.tabbedSC.clearAllResults()");
    dClear.appendChild(document.createTextNode("Clear"));
 
    var fSearch = document.createElement("form");
    fSearch.setAttribute("id", "searchbox_cse");
    fSearch.setAttribute("action", "javascript(return(false))");
    fSearch.setAttribute("onsubmit", "window.tabbedSC.execute(this.q.value); return(false)");
    fSearch.appendChild(iQ);
    fSearch.appendChild(iSB);
    fSearch.appendChild(dClear);
 
    var scriptB = document.createElement("script");
    scriptB.setAttribute("type", "text/javascript");
    scriptB.setAttribute("src", "http://www.google.com/coop/cse/brand?form=searchbox_cse");
 
    var dSBox = document.createElement("div");
    dSBox.setAttribute("id","p-search");
    dSBox.appendChild(fSearch);
    dSBox.appendChild(scriptB);
 
    var searchdiv = document.getElementById("p-search");
    var columndiv = searchdiv.parentNode;
 
    //replace the default search box with custom search 
    columndiv.replaceChild(dSBox,searchdiv);
 
    // create a tabbed mode search control
    tabbedSC = new GSearchControl();
 
    // Site Restrict to CSE ID
    var searcher = new GwebSearch();
    searcher.setSiteRestriction({crefUrl : crefUrlEn}, null, null);
    searcher.setUserDefinedLabel("All Wikipedia pages");
    tabbedSC.addSearcher(searcher);
 
    searcher = new GwebSearch();
    searcher.setSiteRestriction({crefUrl : crefUrl}, "internal", null);
    searcher.setUserDefinedLabel("Linked Wikipedia pages");
    tabbedSC.addSearcher(searcher);
 
    searcher = new GwebSearch();
    searcher.setSiteRestriction({crefUrl : crefUrl}, "external", null);
    searcher.setUserDefinedLabel("Linked non-Wikipedia pages");
    tabbedSC.addSearcher(searcher);
 
    tabbedSC.setResultSetSize(GSearch.LARGE_RESULTSET);
 
    // draw in tabbed layout mode
    var drawOptions = new GdrawOptions();
    drawOptions.setDrawMode(GSearchControl.DRAW_MODE_TABBED);
    tabbedSC.draw(document.getElementById("search_control_tabbed"), drawOptions);
 
    // Preload crefs
    function appendCSECrefPreloadImage(parent, url) {
      var preload_base = 'http://www.google.com/';
      var preload_path = 'cse/tools/ping?cref=';
      var img = document.createElement('img');
      img.src = preload_base + preload_path + encodeURIComponent(url);
      parent.appendChild(img);
    }
    var cse_preloader = document.createElement('div');
    cse_preloader.id = 'cse_cref_preloader';
    cse_preloader.style.display = 'none';
    appendCSECrefPreloadImage(cse_preloader, crefUrlEn);
    appendCSECrefPreloadImage(cse_preloader, crefUrl);
    document.getElementById('footer').appendChild(cse_preloader);
}
 
addOnloadHook(
 
 function() {
    GSearch.setOnLoadCallback(OnLoad);
} );