﻿// ******************************************************************************
// **************   Agent AJAX Functions                            *************
// ******************************************************************************  
var _currentAgentPageNbr = 1;

function InitializeAgentHistory()
{
    var currentLocation = '';
    var parts;

    if(arguments.callee.ObjectsInitialized == true) return;
    arguments.callee.ObjectsInitialized = true;
    
    dhtmlHistory.initialize();
    dhtmlHistory.addListener(AgentHistoryChanged);
    currentLocation = dhtmlHistory.getCurrentLocation();

    if (currentLocation == '') {
        //LoadAgentSearch('1', '10', '0');
    } else {
        parts = currentLocation.split(':');
        LoadAgentSearch(parts[0], parts[1], parts[2]);
    }
}

function AgentHistoryChanged(loc, HD)
{
    var currentLocation = '';
	var sortColumn = getQueryStringParam("SortColumn");
	var ctlSortBy = document.getElementById(ddlSortByClientID);
	var ctlPageSize = document.getElementById(ddlResultsPerPageClientID);
    var sortIndex = 0;
    var i;
    currentLocation = dhtmlHistory.getCurrentLocation();

    if (HD != null) {
        LoadAgentSearch(HD.pageNumber, HD.pageSize, HD.sortIndex);
    } else {
        
        if (sortColumn !== null) 
        {
            for (i = 0;i < ctlPageSize.length;i += 1)
            {
                if (ctlSortBy.options[i].value === sortColumn)
                {
                    sortIndex = i;
                    break
                } 
            } 
        }
        
        LoadAgentSearch(1, 10, sortIndex);
    }
}

function LoadAgentSearch(pageNumber, pageSize, sortIndex)
{
	var alphaChar  = getQueryStringParam("AlphabetSearchChar");
	var firstName  = getQueryStringParam("FirstName");
	var languageID  = getQueryStringParam("LanguageID");
	var lastName = getQueryStringParam("LastName");
	var officeID  = getQueryStringParam("OfficeID");
	var regionID = getQueryStringParam("RegionID");
	var stateID = getQueryStringParam("StateID");
	var sortDirection = getQueryStringParam("SortDirection");
	var teamID = getQueryStringParam("TeamID");
	var teamName = getQueryStringParam("TeamName");
	var ctlSortBy = document.getElementById(ddlSortByClientID);
	var ctlPageSize = document.getElementById(ddlResultsPerPageClientID);
	var divAjaxStatus = document.getElementById(divAjaxStatusClientID);
    var divResults = document.getElementById("divResults");
	var sortColumn = '';
    var sHtml = '';
    var i;

    if (ctlSortBy !== null && typeof ctlSortBy !== 'undefined')
    {
        sortColumn = ctlSortBy.options[sortIndex].value;
        ctlSortBy.selectedIndex = sortIndex;
    }

    if (ctlPageSize !== null && typeof ctlPageSize !== 'undefined')
    {
        ctlPageSize.selectedIndex = 0;
        for (i = 0;i < ctlPageSize.length;i += 1)
        {
            if (ctlPageSize.options[i].value === pageSize.toString())
            {
                ctlPageSize.selectedIndex = i;
                break
            } 
        } 
    }

	divResults.innerHTML = '';
	divAjaxStatus.innerHTML = 'Getting Search Results.  Please wait....';
	sHtml=AgentTeamSearchResults.RenderPage(alphaChar, firstName, languageID, lastName, officeID, Number(pageNumber), pageSize, regionID, stateID, sortColumn, sortDirection, teamID, searchID, teamName);
	divResults.innerHTML = sHtml.value;
	divAjaxStatus.innerHTML = '';
    _currentAgentPageNbr = Number(pageNumber);
}

function ChangeAgentPageSize(pageSize)
{
	var ctlSortBy = document.getElementById(ddlSortByClientID);
	var sortIndex = 0;
	 
    if (ctlSortBy !== null && typeof ctlSortBy !== 'undefined')
    {
        sortIndex = ctlSortBy.selectedIndex;
    }

    LoadAgentSearch(1, pageSize, sortIndex);
    SaveSearchHistory(1, pageSize, sortIndex);
}

function ChangeAgentSortCriteria()
{
	var ctlSortBy = document.getElementById(ddlSortByClientID);
	var ctlPageSize = document.getElementById(ddlResultsPerPageClientID);
	var pageSize = 10;
	var sortIndex = 0;
	 
    if (ctlSortBy !== null && typeof ctlSortBy !== 'undefined')
    {
        sortIndex = ctlSortBy.selectedIndex;
    }
    
    if (ctlPageSize !== null && typeof ctlPageSize !== 'undefined')
    {
        pageSize = ctlPageSize.value;
    }

    LoadAgentSearch(1, pageSize, sortIndex);
    SaveSearchHistory(1, pageSize, sortIndex);
}

function AgentGotoPage(pageNumber)
{
    var lnkHeader = document.getElementById('ctl00_hlHeaderLink');
	var ctlSortBy = document.getElementById(ddlSortByClientID);
	var ctlPageSize = document.getElementById(ddlResultsPerPageClientID);
	var pageSize = 10;
	var sortIndex = 0;
	 
    if (ctlSortBy !== null && typeof ctlSortBy !== 'undefined')
    {
        sortIndex = ctlSortBy.selectedIndex;
    }
    
    if (ctlPageSize !== null && typeof ctlPageSize !== 'undefined')
    {
        pageSize = ctlPageSize.value;
    }

    LoadAgentSearch(pageNumber, pageSize, sortIndex);
    SaveSearchHistory(pageNumber, pageSize, sortIndex);

    if (lnkHeader !== null && typeof lnkHeader !== 'undefined')
    {
        lnkHeader.focus();
    }
}

function AgentGotoPreviousPage()
{
	AgentGotoPage(_currentAgentPageNbr - 1)	
}

function AgentGotoNextPage()
{
	AgentGotoPage(_currentAgentPageNbr + 1)
}

function AgentGotoFirstPage()
{
	AgentGotoPage(1)	
}

function AgentGotoLastPage()
{
	var pageSize  = document.getElementById(ddlResultsPerPageClientID).value;
    
    switch (pageSize)
    {
        case "5":
            AgentGotoPage(TotalNbrPages5Results)
            break;
        case "10":
            AgentGotoPage(TotalNbrPages10Results)
            break;
        default:
            AgentGotoPage(TotalNbrPages25Results)
            break;
    }
    
}

// ******************************************************************************
// **************   Office AJAX Functions                           *************
// ******************************************************************************  
var _currentOfficePageNbr = 1;

function InitializeOfficeHistory()
{
    var currentLocation = '';
    var parts;

    if(arguments.callee.ObjectsInitialized == true) return;
    arguments.callee.ObjectsInitialized = true;
    
    dhtmlHistory.initialize();
    dhtmlHistory.addListener(OfficeHistoryChanged);
    currentLocation = dhtmlHistory.getCurrentLocation();

    if (currentLocation == '') {
        //LoadOfficeSearch('1', '10', '0');
    } else {
        parts = currentLocation.split(':');
        LoadOfficeSearch(parts[0], parts[1], parts[2]);
    }
}

function OfficeHistoryChanged(loc, HD) 
{
    var currentLocation = '';
    currentLocation = dhtmlHistory.getCurrentLocation();

    if(HD != null) {
        LoadOfficeSearch(HD.pageNumber, HD.pageSize, HD.sortIndex);
    } else {
        LoadOfficeSearch(1, 10, 0);
    }
}

function LoadOfficeSearch(pageNumber, pageSize, sortIndex) 
{
	var stateID = getQueryStringParam("StateID");
	var regionID = getQueryStringParam("RegionID");
	var cityID = getQueryStringParam("CityID");
	var officeID = getQueryStringParam("OfficeID");
	var ctlSortBy = document.getElementById(ddlSortByClientID);
	var ctlPageSize = document.getElementById(ddlResultsPerPageClientID);
    var divResults = document.getElementById("divResults");
    var divAjaxStatus = document.getElementById(divAjaxStatusClientID);
	var sortColumn = '';
    var sHtml = '';
    var i;

    if (ctlSortBy !== null && typeof ctlSortBy !== 'undefined')
    {
        sortColumn = ctlSortBy.options[sortIndex].value;
        ctlSortBy.selectedIndex = sortIndex;
    }

    if (ctlPageSize !== null && typeof ctlPageSize !== 'undefined')
    {
        ctlPageSize.selectedIndex = 0;
        for (i = 0;i < ctlPageSize.length;i += 1)
        {
            if (ctlPageSize.options[i].value === pageSize.toString())
            {
                ctlPageSize.selectedIndex = i;
                break
            } 
        } 
    }
        
	divResults.innerHTML = '';
	divAjaxStatus.innerHTML = 'Getting Search Results.  Please wait....';
	sHtml = OfficeSearchResults.RenderPage(Number(pageNumber), pageSize, sortColumn, stateID, regionID, cityID, officeID);
	divResults.innerHTML = sHtml.value;
	divAjaxStatus.innerHTML = '';
	_currentOfficePageNbr = Number(pageNumber);
}

function ChangeOfficePageSize(pageSize)
{
	var ctlSortBy = document.getElementById(ddlSortByClientID);
	var sortIndex = 0;
	 
    if (ctlSortBy !== null && typeof ctlSortBy !== 'undefined')
    {
        sortIndex = ctlSortBy.selectedIndex;
    }

    LoadOfficeSearch(1, pageSize, sortIndex);
    SaveSearchHistory(1, pageSize, sortIndex);
}

function ChangeOfficeSortCriteria()
{
	var ctlSortBy = document.getElementById(ddlSortByClientID);
	var ctlPageSize = document.getElementById(ddlResultsPerPageClientID);
	var pageSize = 10;
	var sortIndex = 0;
	 
    if (ctlSortBy !== null && typeof ctlSortBy !== 'undefined')
    {
        sortIndex = ctlSortBy.selectedIndex;
    }
    
    if (ctlPageSize !== null && typeof ctlPageSize !== 'undefined')
    {
        pageSize = ctlPageSize.value;
    }

    LoadOfficeSearch(1, pageSize, sortIndex);
    SaveSearchHistory(1, pageSize, sortIndex);
}

function OfficeGotoPage(pageNumber)
{						
    var lnkHeader = document.getElementById('ctl00_hlHeaderLink');
	var ctlSortBy = document.getElementById(ddlSortByClientID);
	var ctlPageSize = document.getElementById(ddlResultsPerPageClientID);
	var pageSize = 10;
	var sortIndex = 0;
	 
    if (ctlSortBy !== null && typeof ctlSortBy !== 'undefined')
    {
        sortIndex = ctlSortBy.selectedIndex;
    }
    
    if (ctlPageSize !== null && typeof ctlPageSize !== 'undefined')
    {
        pageSize = ctlPageSize.value;
    }

    LoadOfficeSearch(pageNumber, pageSize, sortIndex);
    SaveSearchHistory(pageNumber, pageSize, sortIndex);
    
    if (lnkHeader !== null && typeof lnkHeader !== 'undefined')
    {
        lnkHeader.focus();
    }
}

function OfficeGotoPreviousPage()
{
	OfficeGotoPage(_currentOfficePageNbr - 1)	
}

function OfficeGotoNextPage()
{
	OfficeGotoPage(_currentOfficePageNbr + 1)
}

function OfficeGotoFirstPage()
{
	OfficeGotoPage(1)	
}

function OfficeGotoLastPage()
{
    var pageSize = document.getElementById(ddlResultsPerPageClientID).value;
    
    switch (pageSize)
    {
        case "5":
            OfficeGotoPage(TotalNbrPages5Results)
            break;
        case "10":
            OfficeGotoPage(TotalNbrPages10Results)
            break;
        default:
            OfficeGotoPage(TotalNbrPages25Results)
            break;
    }
	
}

// ******************************************************************************
// **************   Mortgage AJAX Functions                         *************
// ******************************************************************************  
var _currentMortgagePageNbr = 1;

function InitializeMAHistory() {
    var currentLocation = '';
    var parts;

    if(arguments.callee.ObjectsInitialized == true) return;
    arguments.callee.ObjectsInitialized = true;
    
    dhtmlHistory.initialize();
    dhtmlHistory.addListener(MAHistoryChanged);
    currentLocation = dhtmlHistory.getCurrentLocation();

    if (currentLocation == '') {
        //LoadMASearch('1', '10', '0');
    } else {
        parts = currentLocation.split(':');
        LoadMASearch(parts[0], parts[1], parts[2]);
    }
}

function MAHistoryChanged(loc, HD) 
{
    var currentLocation = '';
    currentLocation = dhtmlHistory.getCurrentLocation();

    if(HD != null) {
        LoadMASearch(HD.pageNumber, HD.pageSize, HD.sortIndex);
    } else {
        LoadMASearch(1, 10, 0);
    }
}

function LoadMASearch(pageNumber, pageSize, sortIndex) 
{
	var alphaChar = getQueryStringParam("AlphabetSearchChar");
	var firstName  = getQueryStringParam("FirstName");
	var lastName = getQueryStringParam("LastName");
	var officeID = getQueryStringParam("OfficeID");
	var stateID = getQueryStringParam("StateID");
	var regionID = getQueryStringParam("RegionID");
    var agentID = getQueryStringParam("AgentID");
    var agentTeamID = getQueryStringParam("AgentTeamID");
    var isBranded = getQueryStringParam("IsBranded");
	var ctlSortBy = document.getElementById(ddlSortByClientID);
	var ctlPageSize = document.getElementById(ddlResultsPerPageClientID);
    var divResults = document.getElementById("divResults");
    var divAjaxStatus = document.getElementById(divAjaxStatusClientID);
	var sortColumn = '';
    var sHtml = '';
    var i;

    if (ctlSortBy !== null && typeof ctlSortBy !== 'undefined')
    {
        sortColumn = ctlSortBy.options[sortIndex].value;
        ctlSortBy.selectedIndex = sortIndex;
    }

    if (ctlPageSize !== null && typeof ctlPageSize !== 'undefined')
    {
        ctlPageSize.selectedIndex = 0;
        for (i = 0;i < ctlPageSize.length;i += 1)
        {
            if (ctlPageSize.options[i].value === pageSize.toString())
            {
                ctlPageSize.selectedIndex = i;
                break
            } 
        } 
    }   
     
	divResults.innerHTML = '';
	divAjaxStatus.innerHTML = 'Getting Search Results.  Please wait....';
	sHtml = MortgageAdvisorSearchResults.RenderPage(alphaChar, firstName, lastName, officeID, Number(pageNumber), pageSize, regionID, sortColumn, stateID, agentID, agentTeamID, isBranded);
	divResults.innerHTML = sHtml.value;
	divAjaxStatus.innerHTML = '';
	_currentMortgagePageNbr = Number(pageNumber);
}

function ChangeMAPageSize(pageSize)
{
	var ctlSortBy = document.getElementById(ddlSortByClientID);
	var sortIndex = 0;
	 
    if (ctlSortBy !== null && typeof ctlSortBy !== 'undefined')
    {
        sortIndex = ctlSortBy.selectedIndex;
    }

    LoadMASearch(1, pageSize, sortIndex);
    SaveSearchHistory(1, pageSize, sortIndex);
}

function ChangeMASortCriteria()
{
	var ctlSortBy = document.getElementById(ddlSortByClientID);
	var ctlPageSize = document.getElementById(ddlResultsPerPageClientID);
	var pageSize = 10;
	var sortIndex = 0;
	 
    if (ctlSortBy !== null && typeof ctlSortBy !== 'undefined')
    {
        sortIndex = ctlSortBy.selectedIndex;
    }
    
    if (ctlPageSize !== null && typeof ctlPageSize !== 'undefined')
    {
        pageSize = ctlPageSize.value;
    }

    LoadMASearch(1, pageSize, sortIndex);
    SaveSearchHistory(1, pageSize, sortIndex);
}

function MortgageGotoPage(pageNumber)
{						
    var lnkHeader = document.getElementById('ctl00_hlHeaderLink');
	var ctlSortBy = document.getElementById(ddlSortByClientID);
	var ctlPageSize = document.getElementById(ddlResultsPerPageClientID);
	var pageSize = 10;
	var sortIndex = 0;
	 
    if (ctlSortBy !== null && typeof ctlSortBy !== 'undefined')
    {
        sortIndex = ctlSortBy.selectedIndex;
    }
    
    if (ctlPageSize !== null && typeof ctlPageSize !== 'undefined')
    {
        pageSize = ctlPageSize.value;
    }

    LoadMASearch(pageNumber, pageSize, sortIndex);
    SaveSearchHistory(pageNumber, pageSize, sortIndex);
    
    if (lnkHeader !== null && typeof lnkHeader !== 'undefined')
    {
        lnkHeader.focus();
    }
}

function MortgageGotoPreviousPage()
{
	MortgageGotoPage(_currentMortgagePageNbr - 1)	
}

function MortgageGotoNextPage()
{
	MortgageGotoPage(_currentMortgagePageNbr + 1)
}

function MortgageGotoFirstPage()
{
	MortgageGotoPage(1)	
}

function MortgageGotoLastPage()
{
	var pageSize = document.getElementById(ddlResultsPerPageClientID).value;
    
    switch (pageSize)
    {
        case "5":
            MortgageGotoPage(TotalNbrPages5Results)
            break;
        case "10":
            MortgageGotoPage(TotalNbrPages10Results)
            break;
        default:
            MortgageGotoPage(TotalNbrPages25Results)
            break;
    }
}

function SaveSearchHistory(pageNumber, pageSize, sortIndex)
{
    var HD = {};
    var sLoc = '';
    
    HD.pageNumber = pageNumber;
    HD.pageSize = pageSize;
    HD.sortIndex = sortIndex;
    sLoc = pageNumber + ':' + pageSize + ':' + sortIndex;
    dhtmlHistory.add(sLoc, HD);
}

// ******************************************************************************
// **************   Event AJAX Functions                            *************
// ******************************************************************************  
var _currentEventPageNbr = 1;

function InitializeEventsHistory() {
    var currentLocation = '';
    var parts;

    if(arguments.callee.ObjectsInitialized == true) return;
    arguments.callee.ObjectsInitialized = true;
    
    dhtmlHistory.initialize();
    dhtmlHistory.addListener(EventsHistoryChanged);
    currentLocation = dhtmlHistory.getCurrentLocation();

    if (currentLocation == '') {
        //LoadEventsSearch('1', '10', '0');
    } else {
        parts = currentLocation.split(':');
        LoadEventsSearch(parts[0], parts[1], parts[2]);
    }
}

function EventsHistoryChanged(loc, HD) 
{
    var currentLocation = '';
    currentLocation = dhtmlHistory.getCurrentLocation();

    if(HD != null) {
        LoadEventsSearch(HD.pageNumber, HD.pageSize, HD.sortIndex);
    } else {
        LoadEventsSearch(1, 10, 0);
    }
}

function LoadEventsSearch(pageNumber, pageSize, sortIndex) 
{
	var alphaChar  = getQueryStringParam("AlphabetSearchChar");
	var firstName  = getQueryStringParam("FirstName");
	var languageID  = getQueryStringParam("LanguageID");
	var lastName = getQueryStringParam("LastName");
	var officeID  = getQueryStringParam("OfficeID");
	var regionID = getQueryStringParam("RegionID");
	var stateID = getQueryStringParam("StateID");
	var sortDirection = getQueryStringParam("SortDirection");
	var ctlSortBy = document.getElementById(ddlSortByClientID);
	var ctlPageSize = document.getElementById(ddlResultsPerPageClientID);
    var divResults = document.getElementById("divResults");
    var divAjaxStatus = document.getElementById(divAjaxStatusClientID);
	var sortColumn = '';
    var sHtml = '';
    var i;

    if (ctlSortBy !== null && typeof ctlSortBy !== 'undefined')
    {
        sortColumn = ctlSortBy.options[sortIndex].value;
        ctlSortBy.selectedIndex = sortIndex;
    }

    if (ctlPageSize !== null && typeof ctlPageSize !== 'undefined')
    {
        ctlPageSize.selectedIndex = 0;
        for (i = 0;i < ctlPageSize.length;i += 1)
        {
            if (ctlPageSize.options[i].value === pageSize.toString())
            {
                ctlPageSize.selectedIndex = i;
                break
            } 
        } 
    }

	divResults.innerHTML = '';
	divAjaxStatus.innerHTML = 'Getting Search Results.  Please wait....';
	sHtml = EventsAndSeminars.RenderPage(Number(pageNumber), pageSize, sortColumn, stateID, regionID);
	divResults.innerHTML = sHtml.value;
	divAjaxStatus.innerHTML = '';
    _currentEventPageNbr = Number(pageNumber);
}

function ChangeEventPageSize(pageSize)
{
	var ctlSortBy = document.getElementById(ddlSortByClientID);
	var sortIndex = 0;
	 
    if (ctlSortBy !== null && typeof ctlSortBy !== 'undefined')
    {
        sortIndex = ctlSortBy.selectedIndex;
    }

    LoadEventsSearch(1, pageSize, sortIndex);
    SaveSearchHistory(1, pageSize, sortIndex);
}

function ChangeEventSortCriteria()
{
	var ctlSortBy = document.getElementById(ddlSortByClientID);
	var ctlPageSize = document.getElementById(ddlResultsPerPageClientID);
	var pageSize = 10;
	var sortIndex = 0;
	 
    if (ctlSortBy !== null && typeof ctlSortBy !== 'undefined')
    {
        sortIndex = ctlSortBy.selectedIndex;
    }
    
    if (ctlPageSize !== null && typeof ctlPageSize !== 'undefined')
    {
        pageSize = ctlPageSize.value;
    }

    LoadEventsSearch(1, pageSize, sortIndex);
    SaveSearchHistory(1, pageSize, sortIndex);
}

function EventsGotoPage(pageNumber)
{
    var lnkHeader = document.getElementById('ctl00_hlHeaderLink');
	var ctlSortBy = document.getElementById(ddlSortByClientID);
	var ctlPageSize = document.getElementById(ddlResultsPerPageClientID);
	var pageSize = 10;
	var sortIndex = 0;
	 
    if (ctlSortBy !== null && typeof ctlSortBy !== 'undefined')
    {
        sortIndex = ctlSortBy.selectedIndex;
    }
    
    if (ctlPageSize !== null && typeof ctlPageSize !== 'undefined')
    {
        pageSize = ctlPageSize.value;
    }

    LoadEventsSearch(pageNumber, pageSize, sortIndex);
    SaveSearchHistory(pageNumber, pageSize, sortIndex);
    
    if (lnkHeader !== null && typeof lnkHeader !== 'undefined')
    {
        lnkHeader.focus();
    }
}

function EventsGotoPreviousPage()
{
	EventsGotoPage(_currentEventPageNbr - 1)	
}

function EventsGotoNextPage()
{
	EventsGotoPage(_currentEventPageNbr + 1)
}

function EventsGotoFirstPage()
{
	EventsGotoPage(1)	
}

function EventsGotoLastPage()
{
	
	var pageSize = document.getElementById(ddlResultsPerPageClientID).value;
    
    switch (pageSize)
    {
        case "5":
            EventsGotoPage(TotalNbrPages5Results)
            break;
        case "10":
            EventsGotoPage(TotalNbrPages10Results)
            break;
        default:
            EventsGotoPage(TotalNbrPages20Results)
            break;
    }
}

// ******************************************************************************
// **************   News AJAX Functions                            *************
// ******************************************************************************  
var _currentNewsPageNbr = 1;

function InitializeNewsHistory() {
    var currentLocation = '';
    var parts;

    if(arguments.callee.ObjectsInitialized == true) return;
    arguments.callee.ObjectsInitialized = true;
    
    dhtmlHistory.initialize();
    dhtmlHistory.addListener(NewsHistoryChanged);
    currentLocation = dhtmlHistory.getCurrentLocation();

    if (currentLocation == '') {
        //LoadNewsSearch('1', '10', '2');
    } else {
        parts = currentLocation.split(':');
        LoadNewsSearch(parts[0], parts[1], parts[2]);
    }
}

function NewsHistoryChanged(loc, HD) 
{
    var currentLocation = '';
    currentLocation = dhtmlHistory.getCurrentLocation();

    if(HD != null) {
        LoadNewsSearch(HD.pageNumber, HD.pageSize, HD.sortIndex);
    } else {
        LoadNewsSearch(1, 10, 2);
    }
}

function LoadNewsSearch(pageNumber, pageSize, sortIndex) 
{
	var regionID = getQueryStringParam("RegionID");
	var stateID = getQueryStringParam("StateID");
	var ctlSortBy = document.getElementById(ddlSortByClientID);
	var ctlPageSize = document.getElementById(ddlResultsPerPageClientID);
    var divResults = document.getElementById("divResults");
    var divAjaxStatus = document.getElementById(divAjaxStatusClientID);
	var sortColumn = '';
    var sHtml = '';
    var i;

    if (ctlSortBy !== null && typeof ctlSortBy !== 'undefined')
    {
        sortColumn = ctlSortBy.options[sortIndex].value;
        ctlSortBy.selectedIndex = sortIndex;
    }

    if (ctlPageSize !== null && typeof ctlPageSize !== 'undefined')
    {
        ctlPageSize.selectedIndex = 0;
        for (i = 0;i < ctlPageSize.length;i += 1)
        {
            if (ctlPageSize.options[i].value === pageSize.toString())
            {
                ctlPageSize.selectedIndex = i;
                break
            } 
        } 
    }

	divResults.innerHTML = '';
	divAjaxStatus.innerHTML = 'Getting Search Results.  Please wait....';
	sHtml = NewsArticles.RenderPage(Number(pageNumber), pageSize, sortColumn, stateID, regionID);
	divResults.innerHTML = sHtml.value;
	divAjaxStatus.innerHTML = '';
    _currentNewsPageNbr = Number(pageNumber);
    
}

function ChangeNewsPageSize(pageSize)
{
	var ctlSortBy = document.getElementById(ddlSortByClientID);
	var sortIndex = 0;
	 
    if (ctlSortBy !== null && typeof ctlSortBy !== 'undefined')
    {
        sortIndex = ctlSortBy.selectedIndex;
    }

    LoadNewsSearch(1, pageSize, sortIndex);
    SaveSearchHistory(1, pageSize, sortIndex);
}

function ChangeNewsSortCriteria()
{
	var ctlSortBy = document.getElementById(ddlSortByClientID);
	var ctlPageSize = document.getElementById(ddlResultsPerPageClientID);
	var pageSize = 10;
	var sortIndex = 0;
	 
    if (ctlSortBy !== null && typeof ctlSortBy !== 'undefined')
    {
        sortIndex = ctlSortBy.selectedIndex;
    }
    
    if (ctlPageSize !== null && typeof ctlPageSize !== 'undefined')
    {
        pageSize = ctlPageSize.value;
    }

    LoadNewsSearch(1, pageSize, sortIndex);
    SaveSearchHistory(1, pageSize, sortIndex);
}

function NewsGotoPage(pageNumber)
{
    var lnkHeader = document.getElementById('ctl00_hlHeaderLink');
	var ctlSortBy = document.getElementById(ddlSortByClientID);
	var ctlPageSize = document.getElementById(ddlResultsPerPageClientID);
	var pageSize = 10;
	var sortIndex = 0;
	 
    if (ctlSortBy !== null && typeof ctlSortBy !== 'undefined')
    {
        sortIndex = ctlSortBy.selectedIndex;
    }
    
    if (ctlPageSize !== null && typeof ctlPageSize !== 'undefined')
    {
        pageSize = ctlPageSize.value;
    }

    LoadNewsSearch(pageNumber, pageSize, sortIndex);
    SaveSearchHistory(pageNumber, pageSize, sortIndex);
    
    if (lnkHeader !== null && typeof lnkHeader !== 'undefined')
    {
        lnkHeader.focus();
    }
}

function NewsGotoPreviousPage()
{
	NewsGotoPage(_currentNewsPageNbr - 1)	
}

function NewsGotoNextPage()
{
	NewsGotoPage(_currentNewsPageNbr + 1)
}

function NewsGotoFirstPage()
{
	NewsGotoPage(1)	
}

function NewsGotoLastPage()
{
	var pageSize = document.getElementById(ddlResultsPerPageClientID).value;
    
    switch (pageSize)
    {
        case "5":
            NewsGotoPage(TotalNbrPages5Results)
            break;
        case "10":
            NewsGotoPage(TotalNbrPages10Results)
            break;
        default:
            NewsGotoPage(TotalNbrPages20Results)
            break;
    }
}

// ******************************************************************************
// **************   Job AJAX Functions                            *************
// ******************************************************************************  
var _currentJobsPageNbr = 1;

function InitializeJobHistory() {
    var currentLocation = '';
    var parts;

    if(arguments.callee.ObjectsInitialized == true) return;
    arguments.callee.ObjectsInitialized = true;
    
    dhtmlHistory.initialize();
    dhtmlHistory.addListener(JobHistoryChanged);
    currentLocation = dhtmlHistory.getCurrentLocation();

    if (currentLocation == '') {
        //LoadJobSearch('1', '10', '1');
    } else {
        parts = currentLocation.split(':');
        LoadJobSearch(parts[0], parts[1], parts[2]);
    }
}

function JobHistoryChanged(loc, HD) 
{
    var currentLocation = '';
    currentLocation = dhtmlHistory.getCurrentLocation();

    if(HD != null) {
        LoadJobSearch(HD.pageNumber, HD.pageSize, HD.sortIndex);
    } else {
        LoadJobSearch(1, 10, 1);
    }
}

function LoadJobSearch(pageNumber, pageSize, sortIndex) 
{
	var regionID = getQueryStringParam("RegionID");
	var stateID = getQueryStringParam("StateID");
	var ctlSortBy = document.getElementById(ddlSortByClientID);
	var ctlPageSize = document.getElementById(ddlResultsPerPageClientID);
    var divResults = document.getElementById("divResults");
    var divAjaxStatus = document.getElementById(divAjaxStatusClientID);
	var sortColumn = '';
    var sHtml = '';
    var i;

    if (ctlSortBy !== null && typeof ctlSortBy !== 'undefined')
    {
        sortColumn = ctlSortBy.options[sortIndex].value;
        ctlSortBy.selectedIndex = sortIndex;
    }

    if (ctlPageSize !== null && typeof ctlPageSize !== 'undefined')
    {
        ctlPageSize.selectedIndex = 0;
        for (i = 0;i < ctlPageSize.length;i += 1)
        {
            if (ctlPageSize.options[i].value === pageSize.toString())
            {
                ctlPageSize.selectedIndex = i;
                break
            } 
        } 
    }

	divResults.innerHTML = '';
	divAjaxStatus.innerHTML = 'Getting Search Results.  Please wait....';
	sHtml = JobPostings.RenderPage(Number(pageNumber), pageSize, sortColumn, stateID, regionID);
	divResults.innerHTML = sHtml.value;
	divAjaxStatus.innerHTML = '';
    _currentJobsPageNbr = Number(pageNumber);
    
}

function ChangeJobsPageSize(pageSize)
{
	var ctlSortBy = document.getElementById(ddlSortByClientID);
	var sortIndex = 0;
	 
    if (ctlSortBy !== null && typeof ctlSortBy !== 'undefined')
    {
        sortIndex = ctlSortBy.selectedIndex;
    }

    LoadJobSearch(1, pageSize, sortIndex);
    SaveSearchHistory(1, pageSize, sortIndex);
}

function ChangeJobsSortCriteria()
{
	var ctlSortBy = document.getElementById(ddlSortByClientID);
	var ctlPageSize = document.getElementById(ddlResultsPerPageClientID);
	var pageSize = 10;
	var sortIndex = 0;
	 
    if (ctlSortBy !== null && typeof ctlSortBy !== 'undefined')
    {
        sortIndex = ctlSortBy.selectedIndex;
    }
    
    if (ctlPageSize !== null && typeof ctlPageSize !== 'undefined')
    {
        pageSize = ctlPageSize.value;
    }

    LoadJobSearch(1, pageSize, sortIndex);
    SaveSearchHistory(1, pageSize, sortIndex);
}

function JobsGotoPage(pageNumber)
{
    var lnkHeader = document.getElementById('ctl00_hlHeaderLink');
	var ctlSortBy = document.getElementById(ddlSortByClientID);
	var ctlPageSize = document.getElementById(ddlResultsPerPageClientID);
	var pageSize = 10;
	var sortIndex = 0;
	 
    if (ctlSortBy !== null && typeof ctlSortBy !== 'undefined')
    {
        sortIndex = ctlSortBy.selectedIndex;
    }
    
    if (ctlPageSize !== null && typeof ctlPageSize !== 'undefined')
    {
        pageSize = ctlPageSize.value;
    }

    LoadJobSearch(pageNumber, pageSize, sortIndex);
    SaveSearchHistory(pageNumber, pageSize, sortIndex);
    
    if (lnkHeader !== null && typeof lnkHeader !== 'undefined')
    {
        lnkHeader.focus();
    }
}

function JobsGotoPreviousPage()
{
	JobsGotoPage(_currentJobsPageNbr - 1)	
}

function JobsGotoNextPage()
{
	JobsGotoPage(_currentJobsPageNbr + 1)
}

function JobsGotoFirstPage()
{
	JobsGotoPage(1)	
}

function JobsGotoLastPage()
{
	var pageSize = document.getElementById(ddlResultsPerPageClientID).value;
    
    switch (pageSize)
    {
        case "5":
            JobsGotoPage(TotalNbrPages5Results)
            break;
        case "10":
            JobsGotoPage(TotalNbrPages10Results)
            break;
        default:
            JobsGotoPage(TotalNbrPages20Results)
            break;
    }
}

// ******************************************************************************
// **************   AgentLookup AJAX Functions                            *************
// ******************************************************************************  
var _currentAgentLookupPageNbr = 1;

function AgentLookupChangePageSize(pageSize)
{
	//	Get the results from server
    var firstName  = document.getElementById(txtTFirstNameClientID).value;
	var lastName  = document.getElementById(txtTLastNameClientID).value;
	var teamName  = document.getElementById(txtTTeamNameClientID).value;
	var sortColumn = document.getElementById(ddlSortByClientID).value;
    var divResults = document.getElementById("divResults");
    var sHtml = '';
    var oTotals = null;
    var nIndexOfTotal = null;
    
    _currentAgentLookupPageNbr = 1;
    document.getElementById(hdnPageNbrClientID).value = 1;
    
	divResults.innerHTML = '';	 
	sHtml = AgentSearch.RenderPage(1, pageSize, sortColumn, firstName, lastName, teamName);

    if (divDropDowns !== null && typeof divDropDowns !== 'undefined')
	{
	    if ((sHtml !== null) && (typeof sHtml !== 'undefined') && (sHtml.value.indexOf('No agents matching your search criteria were found.') < 0))
	    {
	        divDropDowns.style.display = 'block';
	        divDropDowns.style.visibility = 'visible';
	        
	        // Find out if the totals are appended to end of html
	        nIndexOfTotal = sHtml.value.indexOf('~~~~');
        	
	        if (nIndexOfTotal > 0)
	        {        
	            oTotals = sHtml.value.split('~~~~');
	            TotalNbrPages5Results = oTotals[1];
	            TotalNbrPages10Results = oTotals[2];
	            TotalNbrPages25Results = oTotals[3];
	            divResults.innerHTML = sHtml.value.substring(0, nIndexOfTotal);
	        }
	        else
	        {
	            divResults.innerHTML = sHtml.value;
	        }
	    }
	    else
	    {
	        divDropDowns.style.display = 'none';
	        divDropDowns.style.visibility = 'hidden';
	        divResults.innerHTML = sHtml.value;	    
	    }
	}
}

function AgentLookupChangeSortValue(sortValue)
{
	if (sortValue != '')
	{
        var firstName  = document.getElementById(txtTFirstNameClientID).value;
	    var lastName  = document.getElementById(txtTLastNameClientID).value;
	    var teamName  = document.getElementById(txtTTeamNameClientID).value;
	    var pageSize  = document.getElementById(ddlNumResultsPerPageClientID).value;
        var divResults = document.getElementById("divResults");
        var sHtml = '';
        var oTotals = null;
        var nIndexOfTotal = null;
    
        _currentAgentLookupPageNbr = 1;
        document.getElementById(hdnPageNbrClientID).value = 1;
        
	    divResults.innerHTML = '';	 
	    sHtml = AgentSearch.RenderPage(1, pageSize, sortValue, firstName, lastName, teamName);

        if (divDropDowns !== null && typeof divDropDowns !== 'undefined')
	    {
	        if ((sHtml !== null) && (typeof sHtml !== 'undefined') && (sHtml.value.indexOf('No agents matching your search criteria were found.') < 0))
	        {
	            divDropDowns.style.display = 'block';
	            divDropDowns.style.visibility = 'visible';
    	        
	            // Find out if the totals are appended to end of html
	            nIndexOfTotal = sHtml.value.indexOf('~~~~');
            	
	            if (nIndexOfTotal > 0)
	            {        
	                oTotals = sHtml.value.split('~~~~');
	                TotalNbrPages5Results = oTotals[1];
	                TotalNbrPages10Results = oTotals[2];
	                TotalNbrPages25Results = oTotals[3];
	                divResults.innerHTML = sHtml.value.substring(0, nIndexOfTotal);
	            }
	            else
	            {
	                divResults.innerHTML = sHtml.value;
	            }
	        }
	        else
	        {
	            divDropDowns.style.display = 'none';
	            divDropDowns.style.visibility = 'hidden';	    
	            divResults.innerHTML = sHtml.value;
	        }
	    }
    }
}

function AgentLookupGotoPage(pageNum)
{
	var firstName  = document.getElementById(txtTFirstNameClientID).value;
	var lastName  = document.getElementById(txtTLastNameClientID).value;
	var teamName  = document.getElementById(txtTTeamNameClientID).value;
	var pageSize  = document.getElementById(ddlNumResultsPerPageClientID).value;
	var sortColumn = document.getElementById(ddlSortByClientID).value;
	var sortDirection = getQueryStringParam("SortDirection");
    var divResults = document.getElementById("divResults");
    var lnkHeader = document.getElementById('ctl00_ctl00_hlHeaderLink');
    var sHtml = '';
    var oTotals = null;
    var nIndexOfTotal = null;
    
    document.getElementById(hdnPageNbrClientID).value = pageNum;
    _currentAgentLookupPageNbr = pageNum;
	divResults.innerHTML = '';
	sHtml = AgentSearch.RenderPage(pageNum, pageSize, sortColumn, firstName, lastName, teamName);

    if (divDropDowns !== null && typeof divDropDowns !== 'undefined')
	{
	    if ((sHtml !== null) && (typeof sHtml !== 'undefined') && (sHtml.value.indexOf('No agents matching your search criteria were found.') < 0))
	    {
	        divDropDowns.style.display = 'block';
	        divDropDowns.style.visibility = 'visible';
	        
	        // Find out if the totals are appended to end of html
	        nIndexOfTotal = sHtml.value.indexOf('~~~~');
        	
	        if (nIndexOfTotal > 0)
	        {        
	            oTotals = sHtml.value.split('~~~~');
	            TotalNbrPages5Results = oTotals[1];
	            TotalNbrPages10Results = oTotals[2];
	            TotalNbrPages25Results = oTotals[3];
	            divResults.innerHTML = sHtml.value.substring(0, nIndexOfTotal);
	        }
	        else
	        {
	            divResults.innerHTML = sHtml.value;
	        }
	    }
	    else
	    {
	        divDropDowns.style.display = 'none';
	        divDropDowns.style.visibility = 'hidden';
	        divResults.innerHTML = sHtml.value;
	    }
	}
	
	if (lnkHeader !== null && typeof lnkHeader !== 'undefined')
        lnkHeader.focus();
}

function AgentLookupPerformInitialSearch()
{
	var firstName  = document.getElementById(txtTFirstNameClientID).value;
	var lastName  = document.getElementById(txtTLastNameClientID).value;
	var teamName  = document.getElementById(txtTTeamNameClientID).value;
    var divResults = document.getElementById("divResults");
    var divDropDowns = document.getElementById("divDropDowns");
    var sHtml = '';
    var oTotals = null;
    var nIndexOfTotal = null;

    _currentAgentLookupPageNbr = 1;
	divResults.innerHTML = '';
	sHtml = AgentSearch.RenderPage('1', '10', 'AgentLastName', firstName, lastName, teamName);
	
	if (divDropDowns !== null && typeof divDropDowns !== 'undefined')
	{
	    if ((sHtml !== null) && (typeof sHtml !== 'undefined') && (sHtml.value !== null) && (sHtml.value.indexOf('No agents matching your search criteria were found.') < 0))
	    {
	        divDropDowns.style.display = 'block';
	        divDropDowns.style.visibility = 'visible';
	        document.getElementById(ddlNumResultsPerPageClientID).selectedIndex = 1;
	        document.getElementById(ddlSortByClientID).selectedIndex = 0;
	        
	        // Find out if the totals are appended to end of html
	        nIndexOfTotal = sHtml.value.indexOf('~~~~');
        	
	        if (nIndexOfTotal > 0)
	        {        
	            oTotals = sHtml.value.split('~~~~');
	            TotalNbrPages5Results = oTotals[1];
	            TotalNbrPages10Results = oTotals[2];
	            TotalNbrPages25Results = oTotals[3];
	            divResults.innerHTML = sHtml.value.substring(0, nIndexOfTotal);
	        }
	        else
	        {
	            divResults.innerHTML = sHtml.value;
	        }
	    }
	    else
	    {
	        divDropDowns.style.display = 'none';
	        divDropDowns.style.visibility = 'hidden';
	        divResults.innerHTML = sHtml.value;
	    }
	}
}

function AgentLookupGotoPreviousPage()
{
	AgentLookupGotoPage(_currentAgentLookupPageNbr - 1)	
}

function AgentLookupGotoNextPage()
{
	AgentLookupGotoPage(_currentAgentLookupPageNbr + 1)
}

function AgentLookupGotoFirstPage()
{
	AgentLookupGotoPage(1)	
}

function AgentLookupGotoLastPage()
{
	var pageSize  = document.getElementById(ddlNumResultsPerPageClientID).value;
    
    switch (pageSize)
    {
        case "5":
            AgentLookupGotoPage(TotalNbrPages5Results)
            break;
        case "10":
            AgentLookupGotoPage(TotalNbrPages10Results)
            break;
        default:
            AgentLookupGotoPage(TotalNbrPages25Results)
            break;
    }
}

// ******************************************************************************
// **************        Concierge Partners AJAX Functions          *************
// ******************************************************************************  
function InitializeConciergeHistory() {
    var currentLocation = '';
    var parts;

    if(arguments.callee.ObjectsInitialized == true) return;
    arguments.callee.ObjectsInitialized = true;
    
    dhtmlHistory.initialize();
    dhtmlHistory.addListener(ConciergeHistoryChanged);
    currentLocation = dhtmlHistory.getCurrentLocation();
    
    
    if (currentLocation == '') {
        
        var vendorLocationID = getQueryStringParam("VendorLocationID");
        var vendorServiceID = getQueryStringParam("VendorServiceID");
        var vendorID = getQueryStringParam("VendorID");
     
        if (vendorLocationID == null || vendorLocationID == '') 
            vendorLocationID = '0';
        if (vendorServiceID == null || vendorServiceID == '') 
            vendorServiceID = '0';
        if (vendorID == null || vendorID == '') 
            vendorID = '0';
                        
        LoadConciergeSearch(vendorLocationID, vendorServiceID, vendorID);
    } else {
        parts = currentLocation.split(':');
        LoadConciergeSearch(parts[0], parts[1], parts[2]);
    }
    SaveVendorSelection();
}

function ConciergeHistoryChanged(loc, HD) {
    var currentLocation = '';
    currentLocation = dhtmlHistory.getCurrentLocation();

    if(HD != null) {
        LoadConciergeSearch(HD.locationID, HD.serviceID, HD.providerID);
    } else {
        LoadConciergeSearch('0', '0', '0');
    }
}	

function LoadConciergeSearch(locationID, serviceID, providerID) {

    var hdnCompanyControl = document.getElementById(hdnCompanyClientID);
    var lstLocation = document.getElementById(lstLocationClientID);
    var lstService = document.getElementById(lstServiceClientID);
    var lstProvider = document.getElementById(lstProviderClientID);
    var hdnProvider = document.getElementById(hdnProviderClientID);
    var parentObj;
    var sHtml = '';
    
    lstLocation.value = locationID;
    
    sHtml = ConciergeController.GetLookupVendorServicesAjax(lstServiceClientID, serviceID, locationID, null);
    parentObj = lstService.parentNode;
    if(sHtml.value != null && sHtml.value != '') {
	    parentObj.innerHTML = sHtml.value;
    } else { 
	    parentObj.innerHTML = '<SELECT id=\"' + lstServiceClientID + '\" style=\"WIDTH:100%\" size=\"10\" class=\"small\"></SELECT>';
    }
    
    sHtml = ConciergeController.GetVendorListAjax(lstProviderClientID, hdnCompanyControl.value, locationID, serviceID, providerID, true, null);
    parentObj = lstProvider.parentNode;
    if(sHtml.value != null && sHtml.value != '') {
	    parentObj.innerHTML = sHtml.value;
    } else { 
	    parentObj.innerHTML = '<SELECT id=\"' + lstProviderClientID + '\" style=\"WIDTH:100%\" size=\"10\" class=\"small\"></SELECT>';
    }
    
     hdnProvider.value = NRT.Utility.getSelectedDetails(lstProvider);
}

function GetLookupVendorServices() {
    var lstLocation = document.getElementById(lstLocationClientID);
	var lstService = document.getElementById(lstServiceClientID);
	var parentObj = lstService.parentNode;
	var selectedServiceID = '';
    var sHtml = '';

	if (parentObj) {
		parentObj.innerHTML = '<SELECT id=\"' + lstServiceClientID + '\" style=\"WIDTH:100%\" size=\"10\" class=\"small\"><option value=\"0\" selected="\true\">Loading...</option></SELECT>';
	}
	selectedServiceID = NRT.Utility.getSelectedDetails(lstService);
	
	sHtml = ConciergeController.GetLookupVendorServicesAjax(lstServiceClientID, selectedServiceID,  NRT.Utility.getSelectedDetails(lstLocation), null);
    if(sHtml.value != null && sHtml.value != '') {
	    parentObj.innerHTML = sHtml.value;
    } else { 
	    parentObj.innerHTML = '<SELECT id=\"' + lstServiceClientID + '\" style=\"WIDTH:100%\" size=\"10\" class=\"small\"></SELECT>';
    }
	FillVendorList();
}
	
function FillVendorList() {
	var hdnProviderControl = document.getElementById(hdnProviderClientID);
	var hdnCompanyControl = document.getElementById(hdnCompanyClientID);
    var lstLocation = document.getElementById(lstLocationClientID);
    var lstService = document.getElementById(lstServiceClientID);
	var lstProvider = document.getElementById(lstProviderClientID);
	var parentObj = lstProvider.parentNode;
    var sHtml = '';

	if (parentObj) {
		parentObj.innerHTML = '<SELECT id=\"' + lstProviderClientID + '\" style=\"WIDTH:100%\" size=\"10\" class=\"small\"><option value=\"0\" selected="\true\">Loading...</option></SELECT>';
	}
	sHtml = ConciergeController.GetVendorListAjax(lstProviderClientID, hdnCompanyControl.value, NRT.Utility.getSelectedDetails(lstLocation), NRT.Utility.getSelectedDetails(lstService), hdnProviderControl.value, true, null);
    if(sHtml.value != null && sHtml.value != '') {
	    parentObj.innerHTML = sHtml.value;
    } else { 
	    parentObj.innerHTML = '<SELECT id=\"' + lstProviderClientID + '\" style=\"WIDTH:100%\" size=\"10\" class=\"small\"></SELECT>';
    }
	SaveVendorSelection();
}

function SaveVendorSelection() {
    var hdnCompanyControl = document.getElementById(hdnCompanyClientID);
    var hdnProvider = document.getElementById(hdnProviderClientID);
    var hdnLocation = document.getElementById(hdnLocationClientID);
    var hdnService = document.getElementById(hdnServiceClientID);
    var lstLocation = document.getElementById(lstLocationClientID);
    var lstService = document.getElementById(lstServiceClientID);
    var lstProvider = document.getElementById(lstProviderClientID);
    var HD = {};
    var sLoc = '';
    
    hdnProvider.value = NRT.Utility.getSelectedDetails(lstProvider);
    hdnLocation.value = NRT.Utility.getSelectedDetails(lstLocation);
    hdnService.value = NRT.Utility.getSelectedDetails(lstService);

    HD.companyID = hdnCompanyControl.value;
    HD.locationID = lstLocation.value;
    HD.serviceID = lstService.value;
    HD.providerID = lstProvider.value;
    
    sLoc = lstLocation.value + ':' + lstService.value + ':' + lstProvider.value;
    dhtmlHistory.add(sLoc, HD);
}

function SubmitConciergeForm() {
    var imbNext = document.getElementById(imbNextClientID);
    if (imbNext !== null && typeof imbNext !== 'undefined') {
        imbNext.focus();
        imbNext.click();
    }
}

// ******************************************************************************
// **************   Coupon AJAX Functions                            *************
// ******************************************************************************  
var _currentCouponPageNbr = 1;

function InitializeCouponHistory() {
    var currentLocation = '';
    var parts;

    if(arguments.callee.ObjectsInitialized == true) return;
    arguments.callee.ObjectsInitialized = true;
    
    dhtmlHistory.initialize();
    dhtmlHistory.addListener(CouponHistoryChanged);
    currentLocation = dhtmlHistory.getCurrentLocation();

    if (currentLocation == '') {
        //LoadCouponSearch('1', '10', '2');
    } else {
        parts = currentLocation.split(':');
        LoadCouponSearch(parts[0], parts[1], parts[2]);
    }
}

function CouponHistoryChanged(loc, HD) 
{
    var currentLocation = '';
    currentLocation = dhtmlHistory.getCurrentLocation();

    if(HD != null) {
        LoadCouponSearch(HD.pageNumber, HD.pageSize, HD.sortIndex);
    } else {
        LoadCouponSearch(1, 10, 0);
    }
}

function LoadCouponSearch(pageNumber, pageSize, sortIndex) 
{
	var companyID = getQueryStringParam("CompanyID");
	var ctlPageSize = document.getElementById(ddlResultsPerPageClientID);
	var divResults = document.getElementById("divResults");	
	var divAjaxStatus = document.getElementById(divAjaxStatusClientID);
    var sHtml = '';
    var i;

    if (ctlPageSize !== null && typeof ctlPageSize !== 'undefined')
    {
        ctlPageSize.selectedIndex = 0;
        for (i = 0;i < ctlPageSize.length;i += 1)
        {
            if (ctlPageSize.options[i].value === pageSize.toString())
            {
                ctlPageSize.selectedIndex = i;
                break
            } 
        } 
    }

	divResults.innerHTML = '';
	divAjaxStatus.innerHTML = 'Getting Search Results.  Please wait....';
	sHtml = ConciergeCoupons.RenderPage(Number(pageNumber), pageSize, companyID);
	divResults.innerHTML = sHtml.value;
	divAjaxStatus.innerHTML = '';
    _currentCouponPageNbr = Number(pageNumber);
    
}

function ChangeCouponPageSize(pageSize)
{
    LoadCouponSearch(1, pageSize, 0);
    SaveSearchHistory(1, pageSize, 0);
}

function ChangeCouponSortCriteria()
{
	var ctlPageSize = document.getElementById(ddlResultsPerPageClientID);
	var pageSize = 10;
	var sortIndex = 0;
	 
    if (ctlPageSize !== null && typeof ctlPageSize !== 'undefined')
    {
        pageSize = ctlPageSize.value;
    }

    LoadCouponSearch(1, pageSize, sortIndex);
    SaveSearchHistory(1, pageSize, sortIndex);
}

function CouponGotoPage(pageNumber)
{
    var lnkHeader = document.getElementById('ctl00_hlHeaderLink');
	var ctlPageSize = document.getElementById(ddlResultsPerPageClientID);
	var pageSize = 10;
	var sortIndex = 0;
	 
    if (ctlPageSize !== null && typeof ctlPageSize !== 'undefined')
    {
        pageSize = ctlPageSize.value;
    }

    LoadCouponSearch(pageNumber, pageSize, sortIndex);
    SaveSearchHistory(pageNumber, pageSize, sortIndex);
    
    if (lnkHeader !== null && typeof lnkHeader !== 'undefined')
    {
        lnkHeader.focus();
    }
}

function CouponGotoPreviousPage()
{
	CouponGotoPage(_currentCouponPageNbr - 1)	
}

function CouponGotoNextPage()
{
	CouponGotoPage(_currentCouponPageNbr + 1)
}

function CouponGotoFirstPage()
{
	CouponGotoPage(1)	
}

function CouponGotoLastPage()
{
	var pageSize = document.getElementById(ddlResultsPerPageClientID).value;
    
    switch (pageSize)
    {
        case "5":
            CouponGotoPage(TotalNbrPages5Results)
            break;
        case "10":
            CouponGotoPage(TotalNbrPages10Results)
            break;
        default:
            CouponGotoPage(TotalNbrPages20Results)
            break;
    }
}

// ******************************************************************************
// **************   Helper Functions                                *************
// ******************************************************************************  
/*==================================================================================
	Method		: getQueryStringParam
	Summary		: function with regex to retrieve the value of the requested 
					parameter name.
	Author		: TSA - from online script
	Create Date	: 12/18/2006
====================================================================================*/
function getQueryStringParam(paramname)
{
	try
	{
		var regexS = "[\\?&]"+paramname+"=([^&#]*)";
		var regex = new RegExp( regexS );
		var tmpURL = window.location.href;
		var results = regex.exec( tmpURL );
		
		if( results == null )
		{
			return null;
		}else{
			return results[1];
		}
	}
	catch(err)
	{
		//_oErrorHandler.Error('NRT.Utility.getQueryStringParam', _oErrorHandler.ERRORTYPE_JS, err);
		return;
	}
}
