function ParseQStr(str) {
    // Sonderzeichen umwandeln
    var qstr      = unescape( str );

    // Start und Endposition des relevanten Teilstuecks finden
    var qstrStart = qstr.indexOf( 'q=' );
    var qstrEnde  = qstr.indexOf( '&', qstrStart );

    // Teilstueck ausschneiden und zurueckgeben
    if ( qstrEnde != -1 )
        return( qstr.slice( qstrStart+2, qstrEnde) )
    else
        return( qstr.slice( qstrStart+2 ) );
}


function OnLoad() {
    // Create a search control
    var searchControl = new GSearchControl(null);

    var philSearch = new GwebSearch();
    philSearch.setUserDefinedLabel("Suche in den Seiten der Philosophischen Fakultät");
    philSearch.setUserDefinedClassSuffix("philSearch");
    philSearch.setSiteRestriction("www.phil-fak.uni-duesseldorf.de");

    // var philImgSearch = new GimageSearch();
    // philImgSearch.setUserDefinedLabel("Bildersuche");
    // philImgSearch.setUserDefinedClassSuffix("philImgSearch");
    // philImgSearch.setSiteRestriction("www.phil-fak.uni-duesseldorf.de");

    // display options
    // var imgOptions = new GsearcherOptions();
    // imgOptions.setExpandMode(GSearchControl.EXPAND_MODE_CLOSED);

    var localOptions = new GsearcherOptions();
    localOptions.setExpandMode(GSearchControl.EXPAND_MODE_OPEN);

    // Mehr Ergebnisse auf einmal ausgeben
    // searchControl.setResultSetSize(GSearch.LARGE_RESULTSET);

    // Keine Ergebnisse
    searchControl.setNoResultsString(searchControl.NO_RESULTS_DEFAULT_STRING);

    // Add in a full set of searchers
    searchControl.addSearcher(philSearch,localOptions);
    // searchControl.addSearcher(philImgSearch,imgOptions);
    // searchControl.addSearcher(new GimageSearch());

    // create a drawOptions object
    var drawOptions = new GdrawOptions();
    drawOptions.setDrawMode(GSearchControl.DRAW_MODE_TABBED);
    searchControl.draw(document.getElementById("searchcontrol"), drawOptions);

    // Tell the searcher to draw itself and tell it where to attach
    //searchControl.draw(document.getElementById("searchcontrol"));

    // Execute an inital search
    searchControl.execute( ParseQStr( location.search ) );
}

google.load("search", "1");
google.setOnLoadCallback(OnLoad);
