var JSON_PROPERTY_SOURCE = '/index.cfm/fuseaction/properties.resultsJSON/';
var JSON_AGENT_SOURCE = '/index.cfm/fuseaction/agents.resultsJSON/';

var conn = null;

function showSearching() {
/*
    document.getElementById("searchLoadingContainer").className = '';
    document.getElementById("searchLoadingOverlay").className = '';
    document.getElementById("searchLoadingImageContainer").className = '';
    document.getElementById("searchLoadingImage").className = '';
*/
}
function hideSearching() {
/*
    document.getElementById("searchLoadingContainer").className = "hideIt";
    document.getElementById("searchLoadingOverlay").className = "hideIt";
    document.getElementById("searchLoadingImageContainer").className = "hideIt";
    document.getElementById("searchLoadingImage").className = "hideIt";
*/
}

function checkAll(checkboxes,controller) {
    for (i=0;i<checkboxes.length;i++) {
        checkboxes[i].checked = controller.checked;
    }
}
											
var tabs = ['foreclosure', 'preForeclosure', 'bankO', 'fsB', 'taxL'];
var tab_id_map = {'preForeclosure': 'tabPre', 'foreclosure': 'tabFore', 
                     'bankO': 'tabBo', 'taxL': 'tabTL', 'fsB': 'tabFs'};
var ppage = 1;
var fpage = 1;
var tpage = 1;
var rpage = 1;
var bpage = 1;

function switchTab(which, params, page) {
    if (conn) {
        conn.cancel();
    }
    nav = document.getElementById('resultsNav');
    cls = nav.className.split(' ');
    nav.className = cls[0] + ' ' + which;
    if (arguments.length == 3) {
       params += '&page=' + arguments[2];
    }
    loadResults(params);
} 

function switchAgentTab(which, params, page) {
    if (conn) {
        conn.cancel();
    }
    nav = document.getElementById('resultsNav');
    cls = nav.className.split(' ');
    nav.className = cls[0] + ' ' + which;
    if (arguments.length == 3) {
       params += '&page=' + arguments[2];
    }
    loadAgentResults(params);
}



function switchPage(which, params, page) {
    params += '&page=' + page;
    loadResults(params);
}
function switchAgentPage(which, params, page) {
    params += '&page=' + page;
    loadAgentResults(params);
}

function loadResults(params) {
    showSearching();
    url = JSON_PROPERTY_SOURCE + '?' + params;    
    conn = loadJSONDoc(url);
    var toggle = 1;
    var colcount = 0;
    cell_display = function(cell) {
        a = TD(null, null);
        a.innerHTML = cell;
        return a;
    };
    row_display = function(row) {
        if (row.length > count) {
            colcount = row.length;
        }
        if (toggle) {
            toggle = 0;
            return TR({'class': 'greyBk'}, map(cell_display, row));
        }
        else {
            toggle = 1;
            return TR(null, map(cell_display, row));
        }
    };
    
    var gotResults = function(jdata) {
        tbod = $('resultsBlockBody');
        pager = $('paginatorContent');
        headers = $('resultsBlockHeader');
        if (jdata.length > 0 && jdata[1].length > 0) {
            replaceChildNodes(tbod, map(row_display, jdata[1]));
            headers.innerHTML = jdata[0];
            pager.innerHTML = jdata[2];
            hideSearching();
        }
        else {
            replaceChildNodes(tbod, TR(null, TD({'colspan': 6}, "No Results Found")));
            pager.innerHTML = "<div>&nbsp;</div>";
            hideSearching();
        }
        //updateColSpan(colcount);
        colcount = 0;
    };
    var resultsFailed = function(err) {
        hideSearching();
        //alert("An error occured and the results could not be fetched.");
    };
    conn.addCallbacks(gotResults, resultsFailed);
}
function loadAgentResults(params) {
    showSearching();
    url = JSON_AGENT_SOURCE + '?' + params;    
    var d = loadJSONDoc(url);
    var toggle = 1;
    var colcount = 0;
    cell_display = function(cell) {
        a = TD(null, null);
        a.innerHTML = cell;
        return a;
    };
    row_display = function(row) {
        if (row.length > colcount) {
            colcount = row.length;
        }
        if (toggle) {
            toggle = 0;
            return TR({'class': 'greyBk'}, map(cell_display, row));
        }
        else {
            toggle = 1;
            return TR(null, map(cell_display, row));
        }
    };
    
    var gotResults = function(jdata) {
        tbod = $('resultsBlockBody');
        pager = $('paginatorContent');
        headers = $('resultsBlockHeader');
        if (jdata.length == 3 && jdata[1].length > 0) {
            replaceChildNodes(tbod, map(row_display, jdata[1]));
            headers.innerHTML = jdata[0];
            pager.innerHTML = jdata[2];
            hideSearching();
        }
        else {
            replaceChildNodes(tbod, TR(null, TD({'colspan': 6}, "No Results Found")));
            pager.innerHTML = "<div>&nbsp;</div>";
            hideSearching();
        }
        //updateColSpan(colcount);
        colcount = 0;
    };
    var resultsFailed = function(err) {
        hideSearching();
    };
    d.addCallbacks(gotResults, resultsFailed);
}

function updateColSpan(colcount) {
    controlCell = $('controlCell'); 
    setNodeAttribute(controlCell, 'colspan', colcount-1);
}

