﻿
google.load('search', '1', { "language": "it-IT" });
var lastSearch;
var restrictedUrl = "";

function search(query, target, local, titleCSS, contentCSS, visibleUrlCSS, urlCSS, pagingCSS) {
    webSearch = new google.search.WebSearch();
    webSearch.setRestriction(google.search.Search.RESTRICT_EXTENDED_ARGS, { "lr": "lang_it", "filter": "0" });
    webSearch.setResultSetSize(google.search.Search.LARGE_RESULTSET);
    webSearch.setSearchCompleteCallback(this, searchComplete, [webSearch, target, titleCSS, contentCSS, visibleUrlCSS, urlCSS, pagingCSS]);

    if ((local) && (restrictedUrl != ""))
        webSearch.setSiteRestriction(restrictedUrl);

    webSearch.execute(query);
}

function GetResultString(results, target, titleCSS, contentCSS, visibleUrlCSS, urlCSS) {
    var s;
    s = "";
    for (var i = 0; i < results.length; i++) {
        var result = results[i];
        var resultHTML = '';
        resultHTML += '<a class="' + titleCSS + '" href="' + result.unescapedUrl + '" target="' + target + '">' + (i+1) + ' ' + result.titleNoFormatting + '</a><br>';
        resultHTML += '<font class="' + contentCSS + '">' + result.content + '</font><br>';
        resultHTML += '<a class="' + visibleUrlCSS + '" href="' + result.unescapedUrl + '" target="' + target + '">' + result.visibleUrl + '</a><br>';
        resultHTML += '<a class="' + urlCSS + '" href="' + result.unescapedUrl + '" target="' + target + '">' + result.url + '</a><br><br>';
        s += resultHTML;
    }
    return s;
}

function GotoPage(pageN) {
    lastSearch.gotoPage(pageN);
}

function searchComplete(searcher, target, titleCSS, contentCSS, visibleUrlCSS, urlCSS, pagingCSS) {
    lastSearch = searcher;
    var results = searcher.results;
    contentDiv = document.getElementById('content');
    contentDiv.innerHTML = "";

    if (results.length > 0) {
        if (searcher.cursor != null) {
            contentDiv.innerHTML += "<font class=\"" + pagingCSS + "\">Pagine: </font>";
            for (h = 0; h < searcher.cursor.pages.length; h++) {
                contentDiv.innerHTML += ' ' + '<a class="' + pagingCSS + '" href="javascript:GotoPage(' + h + ')">' + (h + 1) + '</a>';
            }
            contentDiv.innerHTML += "&nbsp;<a class=\"" + pagingCSS + "\" target=\"_blank\" href=\"" + searcher.cursor.moreResultsUrl + "\">maggiori risultati...</a>";
        }

        contentDiv.innerHTML += "<br><br>"

        contentDiv.innerHTML += GetResultString(results, target, titleCSS, contentCSS, visibleUrlCSS, urlCSS);

        if (searcher.cursor != null) {
            contentDiv.innerHTML += "<font class=\"" + pagingCSS + "\">Pagine: </font>";
            for (h = 0; h < searcher.cursor.pages.length; h++) {
                contentDiv.innerHTML += ' ' + '<a class="' + pagingCSS + '" href="javascript:GotoPage(' + h + ')">' + (h + 1) + '</a>';
            }
            contentDiv.innerHTML += "&nbsp;<a class=\"" + pagingCSS + "\" target=\"_blank\" href=\"" + searcher.cursor.moreResultsUrl + "\">maggiori risultati...</a>";
        }
    }
    else
        contentDiv.innerHTML = "<font class=\"" + pagingCSS + "\">La ricerca non ha prodotto alcun risultato</font>";
}

function DoSearch(titleCSS, contentCSS, visibleUrlCSS, urlCSS, pagingCSS) {
    local = false;
    checkLocal = document.getElementById('RadioWeb_1');
    if (checkLocal != null)
        local = checkLocal.checked;

    target = "_blank";
    if (local)
        target = "_self";

    queryStr = document.getElementById('strIn').value;
    if (queryStr != "")
        search(document.getElementById('strIn').value, target, local, titleCSS, contentCSS, visibleUrlCSS, urlCSS, pagingCSS);
}

function DoInitialSearch(titleCSS, contentCSS, visibleUrlCSS, urlCSS, pagingCSS) {
    var querystring = location.search.toString();
    if ((querystring != "") && (querystring.charAt(0) == '?')) {
        querystring = querystring.substr(1, querystring.length - 1);
        splittedQuery = querystring.split("&");
        for (i = 0; i < splittedQuery.length; i++) {
            splittedSubQuery = splittedQuery[i].split("=");
            if (splittedSubQuery[0] == "searchquery") {
                document.getElementById('strIn').value = splittedSubQuery[1];
                DoSearch(titleCSS, contentCSS, visibleUrlCSS, urlCSS, pagingCSS);
            }
        }
    }
}   
    

