function pager(currentPage, numOfResults)
{
    var alwaysShowPager = true;
    
    if ((typeof(pageSize) != 'undefined') &&
        (pageSize > 0))
    {
        LNJS.Page.SearchMgr.pageSize = pageSize;
    }
    else
    {
        LNJS.Page.SearchMgr.pageSize = 20;
    }
    
    //alert('Current Page: ' + currentPage + ', Results: ' + numOfResults);
    if ((!alwaysShowPager) &&
        (LNJS.Page)) 
        //(numOfResults < LNJS.Page.SearchMgr.pageSize))
	{
		var i = 1;
		
		var pagerDiv = document.getElementById('pagerDiv' + i.toString());
		
		while (pagerDiv)
		{
			pagerDiv.innerHTML = '';
            
			i++;
                
			pagerDiv = document.getElementById('pagerDiv' + i.toString());
		}
		
		i = 1;
		
		// Added new div to find to separate out the two components of the pager (ICP #20354)
		var pagerXofXPropertiesDiv = document.getElementById('pagerXofXPropertiesDiv' + i.toString());
		
		while (pagerXofXPropertiesDiv)
		{
		    pagerXofXPropertiesDiv.innerHTML = '';
		    
		    i++;
		    
		    pagerXofXPropertiesDiv = document.getElementById('pagerXofXPropertiesDiv' + i.toString());
		}
		
		i = 1;
		
		// Added new div to find to separate out the two components of the pager (ICP #20354)
		var pagerPageListDiv = document.getElementById('pagerPageListDiv' + i.toString());
		
		while (pagerPageListDiv)
		{
		    pagerPageListDiv.innerHTML = '';
		    
		    i++;
		    
		    pagerPageListDiv = document.getElementById('pagerPageListDiv' + i.toString());
		} 
		
		i = null;
		
		pagerDiv = null;
		pagerXofXPropertiesDiv = null;
		pagerPageListDiv = null;
		
		LNJS.Page.SearchMgr.setCurrentPage(1);
		
		return;  
	}
    
    var currentPageSize = LNJS.Page.SearchMgr.pageSize;
    
    var numOfPages = Math.ceil((numOfResults / currentPageSize));
    
    if (currentPage > numOfPages)
    {
        currentPage = 1;
    }
    
    LNJS.Page.SearchMgr.setCurrentPage(currentPage);
    
    var pagerData = new StringBuilder();
    
//    if ((enNGMapMode != "NoMap") &&
//        (enNGMapMode != "GalleryNoMap"))
//    {
    pagerData.append('<div class="llRH-Results">');
    pagerData.append('<b class="ll-Large">');

    var startProp = ((currentPageSize * (currentPage - 1)) + 1);

    var endProp = (currentPageSize * currentPage);

    if (endProp > numOfResults)
    {
        endProp = numOfResults;
    }

    var overrideNoResultsFoundMessage = false;

    if ((numOfPages == 0) &&
        (endProp == 0))
    {
        numOfPages = 1;
        startProp = 0;
        
        if ((typeof(noResultsFoundMessage) != 'undefined') &&
            (noResultsFoundMessage != ''))
        {
            overrideNoResultsFoundMessage = true;
            
            pagerData.append(noResultsFoundMessage);
        }
    }


    var hideQuantityOption = false;   // site option 990
    if (typeof(ll_opt990) == 'boolean')
        hideQuantityOption = ll_opt990;

    var _modifySearchLinkText = 'Modify Search';
    
    if (!overrideNoResultsFoundMessage && !hideQuantityOption)
    {
        pagerData.append(startProp + '-' + endProp + ' of ' + numOfResults);

        // if we're showing as many results as are allowed, put a "+" at the end of the results number
        if ((ll_opt760 == true && ll_opt760value == numOfResults) || (ll_opt760 == false && numOfResults == 200)) {
            pagerData.append('+');
            _modifySearchLinkText = 'Narrow Your Search';
        }
        
        var propertiesLabel = '';

        if ((numOfResults == 0) ||
            (numOfResults > 1))
        {
            propertiesLabel = ' Properties ';
        }
        else
        {
            propertiesLabel = ' Property ';
        }
        
        if ((typeof(ll_search_criteria) != 'undefined') &&
            (ll_search_criteria != '') &&
            (typeof(criteriaUsedPropertiesFound) != 'undefined') &&
            (criteriaUsedPropertiesFound != ''))
        {
            propertiesLabel = criteriaUsedPropertiesFound;
        }
        else if ((typeof(ll_search_criteria) != 'undefined') &&
            (ll_search_criteria == '') &&
            (typeof(noCriteriaPropertiesFound) != 'undefined') &&
            (noCriteriaPropertiesFound != ''))
        {
            propertiesLabel = noCriteriaPropertiesFound;
        }
        
        pagerData.append(propertiesLabel);
    }

    pagerData.append('</b>');

    if ((typeof(ll_search_criteria) != 'undefined') &&
        (ll_search_criteria != '') &&
        (typeof(searchAgainURL) != 'undefined') &&
        (searchAgainURL != ''))
    {
        pagerData.append('(<a href="' + searchAgainURL.replace(/"/g, "'") + '" title="Narrow Your Search">');
        pagerData.append(_modifySearchLinkText);
        pagerData.append('</a>)');
    }

    pagerData.append('</div>');
    
    var xOfXPropertiesData = pagerData;
    
    pagerData = new StringBuilder();
    
    pagerData.append('<div class="llRH-Paging">');
    
    pagerData.append('Page:');
    
    if (currentPage > 1)
    {
        var previousPage = (currentPage - 1);
        
        pagerData.append(' ');
        pagerData.append('<a href="javascript:LNJS.Page.SearchMgr.setCurrentPage(' + previousPage + '); LNJS.Page.SearchMgr._renderResultList();LNJS.Page.SearchMgr.zoomToDefaultView();LNJS.Page.Log.__LogActionCode(153);void(window.scrollTo(0,0));" title="Previous">');
        pagerData.append('< Previous');
        pagerData.append('</a>');
    }
    
    for (var i = 1; i <= numOfPages; i++)
    {
        if (i == currentPage)
        {
            pagerData.append(' ' + i);
        }
        else
        {
            pagerData.append(
                ' ' +
                '<a href="javascript:LNJS.Page.SearchMgr.setCurrentPage(' + i + '); LNJS.Page.SearchMgr._renderResultList();LNJS.Page.SearchMgr.zoomToDefaultView();LNJS.Page.Log.__LogActionCode(153);void(window.scrollTo(0,0));" title="' +
                i +
                '">' +
                i +
                '</a>');
        }
    }
    
    var nextPage = (currentPage + 1);
    
    if (currentPage < numOfPages)
    {
        pagerData.append(' ');
        pagerData.append('<a href="javascript:LNJS.Page.SearchMgr.setCurrentPage(' + nextPage + '); LNJS.Page.SearchMgr._renderResultList();LNJS.Page.SearchMgr.zoomToDefaultView();LNJS.Page.Log.__LogActionCode(153);void(window.scrollTo(0,0));" title="Next">');
        pagerData.append('Next >');
        pagerData.append('</a>');
    }
    
    pagerData.append('</div>');
    pagerData.append('</div>');
    
    var pageListData = pagerData;
    
    pagerData = (
        xOfXPropertiesData +
        pageListData);
    
    //prompt("", pagerData.toString());
    
    var i = 1;
    
    var pagerDiv = document.getElementById('pagerDiv' + i.toString());
    
    while (pagerDiv)
    {
        pagerDiv.innerHTML = pagerData.toString();
        
        i++;
            
        pagerDiv = document.getElementById('pagerDiv' + i.toString());
    }
    
    i = 1;
    
    // Added new div to find to separate out the two components of the pager (ICP #20354)
	var pagerXofXPropertiesDiv = document.getElementById('pagerXofXPropertiesDiv' + i.toString());
	
	while (pagerXofXPropertiesDiv)
	{
	    pagerXofXPropertiesDiv.innerHTML = xOfXPropertiesData.toString();
	    
	    i++;
	    
	    pagerXofXPropertiesDiv = document.getElementById('pagerXofXPropertiesDiv' + i.toString());
	}
	
	i = 1;
	
	// Added new div to find to separate out the two components of the pager (ICP #20354)
	var pagerPageListDiv = document.getElementById('pagerPageListDiv' + i.toString());
	
	while (pagerPageListDiv)
	{
	    pagerPageListDiv.innerHTML = pageListData.toString();
	    
	    i++;
	    
	    pagerPageListDiv = document.getElementById('pagerPageListDiv' + i.toString());
	} 
}