﻿var scGoogleWebSearch;
var nNumLargePageResults = 8;

function PopulatePaginationNav() {
    var sPaginationHTML = "";
    // The cursor object has all things to do with pagination
    var cGoogleCursor = scGoogleWebSearch.cursor;
    // Get the current page
    var nCurrentPage = cGoogleCursor.currentPageIndex;
    // Variable set to each page
    var pGooglePage;

    //alert(cGoogleCursor.pages.length);

    for (var i = 0; i < cGoogleCursor.pages.length; i++) {
        pGooglePage = cGoogleCursor.pages[i];

        if (i == nCurrentPage) {
            sPaginationHTML += " " + pGooglePage.label + " ";
        }
        else {
            sPaginationHTML += " " + "<a href='javascript:scGoogleWebSearch.gotoPage(" + i + ");'>" + pGooglePage.label + "</a>" + " ";
        }
    }

    $('#resultsPagination').html(sPaginationHTML);
    $('#resultsPaginationFooter').html(sPaginationHTML);
}

function GetMinResultCount() {
    var nCurrentPage = scGoogleWebSearch.cursor.currentPageIndex + 1
    return (((nCurrentPage - 1) * nNumLargePageResults) + 1);
}

function GetMaxResultCount() {
    var nCurrentPage = scGoogleWebSearch.cursor.currentPageIndex + 1
    var nMaxResultCount = (((nCurrentPage - 1) * nNumLargePageResults) + nNumLargePageResults);
    var nTotalResultCount = GetTotalResultCount();

    //alert("Max Result Count: " + nMaxResultCount + "; Total Result Count: " + nTotalResultCount);

    if (nMaxResultCount <= nTotalResultCount) {
        return nMaxResultCount;
    }
    else {
        return nTotalResultCount;
    }
}

function GetTotalResultCount() {
    return scGoogleWebSearch.results.length * scGoogleWebSearch.cursor.pages.length;
}

function searchComplete() {
    var sResultsHTML = "";
    var rGoogleResults;
    var rGoogleResult;

    if (scGoogleWebSearch.results && scGoogleWebSearch.results.length > 0) {
        // Loop through our results, printing them to the page.
        var rGoogleResults = scGoogleWebSearch.results;
        for (var i = 0; i < rGoogleResults.length; i++) {
            rGoogleResult = rGoogleResults[i];
            sResultsHTML += "<p><a href=\"" + unescape(rGoogleResult.url) + "\">" + rGoogleResult.titleNoFormatting + "</a><br />" + rGoogleResult.content + "<br /><a href=\"" + unescape(rGoogleResult.url) + "\">" + unescape(rGoogleResult.url) + "</a></p>";
        }
    }

    // Populate the results with our string
    $('#searchResults').html(sResultsHTML);

    scGoogleWebSearch.setRestriction(google.search.Search.RESTRICT_EXTENDED_ARGS,
                        { "filter": "0" });

    // Populate the result count info
    $('#resultsCount').html("<i>Showing results " + GetMinResultCount() + " - " + GetMaxResultCount() + " of " + GetTotalResultCount());

    // Populate the pagination
    PopulatePaginationNav();
}
function OnLoad(){
  //Search();
}
function Search(){
  var domain = "www.7-eleven.com";
  if(arguments.length > 0) domain = arguments[0];
  scGoogleWebSearch = new google.search.WebSearch();
  scGoogleWebSearch.setResultSetSize(google.search.Search.LARGE_RESULTSET);
  scGoogleWebSearch.setSiteRestriction(domain);
  scGoogleWebSearch.setSearchCompleteCallback(this, searchComplete, null);
  scGoogleWebSearch.execute($.query.get('sTerms'));
  $('#resultsHeader').html("Results for \"" + unescape($.query.get('sTerms')) + "\"");
}

google.setOnLoadCallback(OnLoad);
google.load('search', '1');

