var wSearch;
var rCount; var firstRun = false;
var searched = false;
var site = 'http://hefren.com';

function prepareSearch(searchTerm) {
    var sOptions = new google.search.SearcherOptions(); //set variable to receive the search options
    var dOptions = new google.search.DrawOptions(); //set the variable to receive the draw options
    wSearch = new google.search.WebSearch();  //create a new search object

    wSearch.setSiteRestriction(site); //limits the search to a particular site

    wSearch.setResultSetSize(8);
    wSearch.setSearchCompleteCallback(this, displayResults);

    wSearch.execute(searchTerm);
}

function displayResults() {
    if (!searched && wSearch.cursor != null) {
        searched = true;
        firstRun = false;
        wSearch.gotoPage(wSearch.cursor.pages.length - 1);
    }

    if (rCount == null && wSearch.cursor != null) {
        rCount = wSearch.cursor.estimatedResultCount;
    }

    if (wSearch.results && wSearch.results.length > 0) {
        var results = wSearch.results;
        var tmpString = "";


        for (var i = 0; i < results.length; i++) {
            var result = results[i];
            tmpString = tmpString + '<div class="rBox">';
            tmpString = tmpString + '<div class="rTitle"><a href="' + result.url + '">' + result.titleNoFormatting + '</a></div>';
            tmpString = tmpString + '<div class="rDescr">' + result.content + '</div>';
            tmpString = tmpString + '</div>';
        }
        $('#resultsList').html(tmpString);
        tmpString = "";

        addPaginationLinks(wSearch);
        //loadCB();
    } else {
        $('#resultsList').html('No Results Found.');
        //loadCB();
    }
}

function addPaginationLinks() {
    // The cursor object has all things to do with pagination
    if (wSearch.cursor != null) {
        var cursor = wSearch.cursor;
        var curPage = cursor.currentPageIndex; // check what page the app is on

        $('#resultsList').append('<div id="paging"></div>');
        //console.log(parseInt(rCount / opts.resultsPerPage));
        var pageCount;
        if (rCount % 8 > 0) {
            pageCount = parseInt(rCount / 8) + 1;
        } else {
            pageCount = parseInt(rCount / 8);
        }
        for (var i = 0; i < pageCount; i++) {
            try {
                var page = cursor.pages[i];
                if (curPage == i) { // if we are on the curPage, then don't make a link
                    $('#paging').append('&nbsp;' + page.label + '&nbsp;');
                } else {
                    // If we aren't on the current page, then we want a link to this page.
                    // So we create a link that calls the gotoPage() method on the searcher.
                    var tmpLabel = String(page.label);
                    var tmpString = '&nbsp;<a href="javascript:void(0)" id="pageNumber' + tmpLabel + '" onclick="wSearch.gotoPage(' + i + ');">' + tmpLabel + '</a>&nbsp;';
                    $('#paging').append(tmpString);
                }
            } catch (e) {
            }
        }
        if (!firstRun) {
            firstRun = true;
            $('#pageNumber1').trigger('click', function () { alert('hello'); });
        }
    }
    else {
    }
}
