﻿function displayListingCount() {
    var poststr = "method=listingCount";
    makePOSTRequest('../listing/SearchListingHelper.aspx', poststr, displayCategoriesCount);
}

function displayCategoriesCount() {
    if (http_request.readyState == 4) {
        if (http_request.status == 200) {
            var xmlstring = http_request.responseText;
            //alert(xmlstring);
            var xmlobject;
            if (typeof (DOMParser) == 'undefined') {
                xmlobject = new ActiveXObject('MSXML.DomDocument');
                xmlobject.async = false;
                xmlobject.loadXML(xmlstring);
            } else {
                xmlobject = (new DOMParser()).parseFromString(xmlstring, 'text/xml');
            }

            var data = xmlobject.getElementsByTagName('total');
            document.getElementById('totallistingsspan').innerHTML = "Total Listings: " + getNodeValue(data[0], 'totalListings');

            setListingCountDetail('cities', xmlobject, 'listingcitiescountspan', 'CityID');
            setListingCountDetail('propertytypes', xmlobject, 'listingpropertytyescountspan', 'PropertyTypeID');
            setListingCountDetail('monthlyrent', xmlobject, 'listingmonthlyrentcountspan', 'MonthlyRent');
            setListingCountDetail('squarefeet', xmlobject, 'listingsquarefeetcountspan', 'SquareFeet');
            setListingBedRoomCountDetail('bedrooms', xmlobject, 'listingbedroomscountspan', 'BedroomID');
            setListingCountDetail('petstatuses', xmlobject, 'listingpetcountspan', 'PetStatusID');
            setListingBathRoomCountDetail('bathrooms', xmlobject, 'listingbathroomscountspan', 'BathroomID');
            setListingCountDetail('smokingstatuses', xmlobject, 'listingsmokingcountspan', 'SmokingSuiteID');
            setListingCountDetail('utilities', xmlobject, 'listingutilitiescountspan', 'UtilityID');
            setListingCountDetail('parkingstatuses', xmlobject, 'listingparkingcountspan', 'ParkingSuiteID');

            getFeatureListings();
        } else {
            //alert('There was a problem with the request.');
        }
    }
}

function setListingCountDetail(categoryName, xmlobject, listingspanname, sCritieria, displayCritieriaName) {
    var data = xmlobject.getElementsByTagName(categoryName);
    var dc = "<p>";
    for (var i = 0; i < data.length; i++) {
        if (i > 0) {
            dc = dc + ", ";
        }
        var n = getNodeValue(data[i], 'name');
        dc = dc + "<a href=\"#\" onclick=\"categoriesSearch('" + sCritieria + "','" + getNodeValue(data[i], 'id') + "','" + n +
                "');return false;\" >" + n + "</a> (" + getNodeValue(data[i], 'count') + ")";
    }
    dc = dc + "</p>";
    document.getElementById(listingspanname).innerHTML = dc;
}

function setListingBedRoomCountDetail(categoryName, xmlobject, listingspanname, sCritieria, displayCritieriaName) {
    var data = xmlobject.getElementsByTagName(categoryName);
    var dc = "<p>";
    for (var i = 0; i < data.length; i++) {
        if (i > 0) {
            dc = dc + ", ";
        }
        var n = getNodeValue(data[i], 'name');
        if (n == '1') {
            n = n + ' Bedroom';
        } else if (n != 'bachelor') {
            n = n + ' Bedrooms';
        }
        dc = dc + "<a href=\"#\" onclick=\"categoriesSearch('" + sCritieria + "','" + getNodeValue(data[i], 'id') + "','" + n +
                "');return false;\" >" + n + "</a> (" + getNodeValue(data[i], 'count') + ")";
    }
    dc = dc + "</p>";
    document.getElementById(listingspanname).innerHTML = dc;
}

function setListingBathRoomCountDetail(categoryName, xmlobject, listingspanname, sCritieria, displayCritieriaName) {
    var data = xmlobject.getElementsByTagName(categoryName);
    var dc = "<p>";
    for (var i = 0; i < data.length; i++) {
        if (i > 0) {
            dc = dc + ", ";
        }
        var n = getNodeValue(data[i], 'name');
        if (n == '1') {
            n = n + ' Bathroom';
        } else {
            n = n + ' Bathrooms';
        }
        dc = dc + "<a href=\"#\" onclick=\"categoriesSearch('" + sCritieria + "','" + getNodeValue(data[i], 'id') + "','" + n +
                "');return false;\" >" + n + "</a> (" + getNodeValue(data[i], 'count') + ")";
    }
    dc = dc + "</p>";
    document.getElementById(listingspanname).innerHTML = dc;
}

function categoriesSearch(str1, str2, str3) {
    window.location = "../search_results.html?searchcriteria=" + encodeURI(str1) + "&searchcriteriaval=" + encodeURI(str2) + "&criteriaName=" + encodeURI(str3);
}

function getFeatureListings() {
    var poststr = "method=featurelistings";
    makePOSTRequest('../listing/listingHelper.aspx', poststr, displayFeatureListings);
}

function displayFeatureListings() {
    if (http_request.readyState == 4) {
        if (http_request.status == 200) {
            var xmlstring = http_request.responseText;
            //alert(xmlstring);
            var xmlobject;
            if (typeof (DOMParser) == 'undefined') {
                xmlobject = new ActiveXObject('MSXML.DomDocument');
                xmlobject.async = false;
                xmlobject.loadXML(xmlstring);
            } else {
                xmlobject = (new DOMParser()).parseFromString(xmlstring, 'text/xml');
            }

            var dc = "";
            var data = xmlobject.getElementsByTagName('listing');
            for (var i = 0; i < data.length; i++) {
                var ploc = getNodeValue(data[i], 'photo');
                if (ploc == '') {
                    ploc = '../images/forrent.gif';
                }
                dc = dc + "<div class=\"display\">" +
                     "<div class=\"image\"><a href=\"searchByIdDetails.aspx?listingId=" + getNodeValue(data[i], 'id') +
                     "&returnPage=categories.html\"><img src=\"" + ploc + "\" alt=\"\" title=\"\" width=\"130\" height=\"97\" /></a></div>" +
                     "<div class=\"text\">" +
                     "<table cellpadding=\"0\" cellspacing=\"0\" class=\"form-table\">" +
                     "<tr>" +
                     "<td style=\"font-weight: bold;float:left; width:90px;margin:0px; padding:2px 0px 0px 0px;\"><strong>Rent:</strong></td><td style=\"vertical-align: bottom;float:left; width:90px;margin:0px; padding:2px 0px 0px 0px;\"><strong>$" + getNodeValue(data[i], 'monthlyrent') + "</strong></td>" +
                     "</tr><tr><td style=\"font-weight: bold;float:left; width:90px;margin:0px; padding:2px 0px 0px 0px;\">City:</td><td style=\"vertical-align: bottom;float:left; width:90px;margin:0px; padding:2px 0px 0px 0px;\">" + getNodeValue(data[i], 'city') + "</td>" +
                     "</tr><tr><td style=\"font-weight: bold;float:left; width:90px;margin:0px; padding:2px 0px 0px 0px;\">Bedrooms:</td><td style=\"vertical-align: bottom;float:left; width:90px;margin:0px; padding:2px 0px 0px 0px;\">" + getNodeValue(data[i], 'bedroom') + "</td>" +
                     "</tr><tr><td style=\"font-weight: bold;float:left; width:90px;margin:0px; padding:2px 0px 0px 0px;\">Square Feet:</td><td style=\"vertical-align: bottom;float:left; width:90px;margin:0px; padding:2px 0px 0px 0px;\">" + getNodeValue(data[i], 'sqfeet') + "</td>" +
                     "</tr></table></div></div>";
            }
            document.getElementById('featurelistingspan').innerHTML = dc;

        } else {
            //alert('There was a problem with the request.');
        }
    }
}
