﻿if (typeof DRHorton == 'undefined')
    DRHorton = {};

if (typeof DRHorton.Metro == 'undefined')
    DRHorton.Metro = {};

if (typeof DRHorton.Metro.Filter == 'undefined')
    DRHorton.Metro.Filter = {};
var priceCount = new Array(8);
var bedCount = new Array(4);
var bathCount = new Array(4);
var sqFtCount = new Array(6);
var garageCount = new Array(3);
var storyCount = new Array(5);
var hometypeCount = new Array(8);
priceCount[0] = $("#ctl00_ctl00_ctl00_cphContent_FilterColumn_FilterList_PriceCB_0");
priceCount[1] = $("#ctl00_ctl00_ctl00_cphContent_FilterColumn_FilterList_PriceCB_1");
priceCount[2] = $("#ctl00_ctl00_ctl00_cphContent_FilterColumn_FilterList_PriceCB_2");
priceCount[3] = $("#ctl00_ctl00_ctl00_cphContent_FilterColumn_FilterList_PriceCB_3");
priceCount[4] = $("#ctl00_ctl00_ctl00_cphContent_FilterColumn_FilterList_PriceCB_4");
priceCount[5] = $("#ctl00_ctl00_ctl00_cphContent_FilterColumn_FilterList_PriceCB_5");
priceCount[6] = $("#ctl00_ctl00_ctl00_cphContent_FilterColumn_FilterList_PriceCB_6");
priceCount[7] = $("#ctl00_ctl00_ctl00_cphContent_FilterColumn_FilterList_PriceCB_7");


hometypeCount[0] = $("#ctl00_ctl00_ctl00_cphContent_FilterColumn_FilterList_HomeTypeCB_0");
hometypeCount[1] = $("#ctl00_ctl00_ctl00_cphContent_FilterColumn_FilterList_HomeTypeCB_1");
hometypeCount[2] = $("#ctl00_ctl00_ctl00_cphContent_FilterColumn_FilterList_HomeTypeCB_2");
hometypeCount[3] = $("#ctl00_ctl00_ctl00_cphContent_FilterColumn_FilterList_HomeTypeCB_3");
hometypeCount[4] = $("#ctl00_ctl00_ctl00_cphContent_FilterColumn_FilterList_HomeTypeCB_4");
hometypeCount[5] = $("#ctl00_ctl00_ctl00_cphContent_FilterColumn_FilterList_HomeTypeCB_5");
hometypeCount[6] = $("#ctl00_ctl00_ctl00_cphContent_FilterColumn_FilterList_HomeTypeCB_6");
hometypeCount[7] = $("#ctl00_ctl00_ctl00_cphContent_FilterColumn_FilterList_HomeTypeCB_7");


sqFtCount[0] = $("#ctl00_ctl00_ctl00_cphContent_FilterColumn_FilterList_SqftCB_0");
sqFtCount[1] = $("#ctl00_ctl00_ctl00_cphContent_FilterColumn_FilterList_SqftCB_1");
sqFtCount[2] = $("#ctl00_ctl00_ctl00_cphContent_FilterColumn_FilterList_SqftCB_2");
sqFtCount[3] = $("#ctl00_ctl00_ctl00_cphContent_FilterColumn_FilterList_SqftCB_3");
sqFtCount[4] = $("#ctl00_ctl00_ctl00_cphContent_FilterColumn_FilterList_SqftCB_4");
sqFtCount[5] = $("#ctl00_ctl00_ctl00_cphContent_FilterColumn_FilterList_SqftCB_5");

storyCount[0] = $("#ctl00_ctl00_ctl00_cphContent_FilterColumn_FilterList_StoriesCB_0");
storyCount[1] = $("#ctl00_ctl00_ctl00_cphContent_FilterColumn_FilterList_StoriesCB_1");
storyCount[2] = $("#ctl00_ctl00_ctl00_cphContent_FilterColumn_FilterList_StoriesCB_2");
storyCount[3] = $("#ctl00_ctl00_ctl00_cphContent_FilterColumn_FilterList_StoriesCB_3");
storyCount[4] = $("#ctl00_ctl00_ctl00_cphContent_FilterColumn_FilterList_StoriesCB_4");


var JSONData = new Array();
var JSONDataFilter = new Array();
var JSONDataFiltersecond = new Array();
var htmlcode = "<table>";
var hometype = "";
var hometypes;
var htmlplan = "";
function loaddata() {
    var plancount = 0;
    htmlcode = "<table>";
    $.each(gv_this.gv_data, function(i, item) {
        if (item.GridKey != -1) {
            JSONData.push(item);
            JSONDataFilter.push(item);
            htmlcode += "<tr><td class='CommunityDetails'><a href='" + item['url'] + "'> " + item['nm'] + "</a>";
            htmlcode += "</br>" + item['a1'];
            if (item['a2'].toString().length > 0) {
                htmlcode += "</br>" + item['a2'];
            }
            htmlcode += "</br>" + item['c'];
            htmlcode += ", " + item['s'];
            htmlcode += " " + item['zp'];
            htmlcode += "</br>" + item['sf'] + " - " + item['st'];
            hometype = item['ht'];
            if (hometype.indexOf("|") != -1) {
                hometypes = item['ht'].split("|");
                for (var ht in hometypes) {
                    switch (hometypes[ht]) {
                        case 'ASF':
                            htmlcode += "</br>Single-Family Homes";
                            break;
                        case 'SSR':
                            htmlcode += "</br>Single-Story/Ranch";
                            break;
                        case 'TX':
                            htmlcode += "</br>Triplex";
                            break;
                        case 'DX':
                            htmlcode += "</br>Duplex";
                            break;
                        case 'MPC':
                            htmlcode += "</br>Master Planned Community";
                            break;
                        case 'AA':
                            htmlcode += "</br>Active Adult";
                            break;
                        case 'TH':
                            htmlcode += "</br>Condo/Townhome";
                            break;
                        case 'TS':
                            htmlcode += "</br>Condo/Townhome";
                            break;
                    }
                }
            }
            else {
                switch (hometype) {
                    case 'SSR':
                        htmlcode += "</br>Single-Story/Ranch";
                        break;
                    case 'ASF':
                        htmlcode += "</br>Single-Family Homes";
                        break;
                    case 'TX':
                        htmlcode += "</br>Triplex";
                        break;
                    case 'DX':
                        htmlcode += "</br>Duplex";
                        break;
                    case 'MPC':
                        htmlcode += "</br>Master Planned Community";
                        break;
                    case 'AA':
                        htmlcode += "</br>Active Adult";
                        break;
                    case 'TH':
                        htmlcode += "</br>Condo/Townhome";
                        break;
                    case 'TS':
                        htmlcode += "</br>Condo/Townhome";
                        break;
                }
            }
            htmlplan = "</td><td><table>";
            plancount = 0;
            $.each(item['pl'].p, function(h, plan) {
                if (plancount < 5) {
                    htmlplan += "<tr class='PlanGridAlternatingRow'><td><a href='" + plan['url'] + "'> " + plan['nm'] + "</a></td><td>" + plan['be'] + " beds /" + plan['ba'] + " baths /" + plan['sf'] + " sq. ft /" + plan['fl'] + " story /" + plan['g'] + " car garage</td><td> $" + plan['p'] + "</td></tr>";
                }
                else if (plancount == 5) {
                    htmlplan += "<tr class='PlanGridAlternatingRow'><td colspan='3'>More plans</td></tr>";
                }
                plancount++;
            })
            htmlplan += "</table>";
            if (htmlplan == "</td><td><table></table>") {
                htmlcode += "</td></tr>";
            }
            else {
                htmlcode += htmlplan + "</td></tr>";
            }
        }
    })
    htmlcode += "</table>";
    document.getElementById("MetroQMIList").innerHTML = htmlcode;
}
function Priceclick(FilterValue1) {
    runfilters();
}

function HomeTypeclick(FilterValue) {
    runfilters();
}

function Bedclick(FilterValue) {
    AddFilterByBed(FilterValue);
}

function Bathclick(FilterValue) {
    AddFilterByBath(FilterValue);
}

function Sqftclick(FilterValue) {
    runfilters();
}

function Garageclick(FilterValue) {
    AddFilterByGarage(FilterValue);
}

function Storiesclick(FilterValue) {
    AddFilterByStories(FilterValue);
}

function runfilters() {
    PriceFilter();
    HomeTypeFilter();
    SqftFilter();
    gethtml();
}

function PriceFilter() {
    $.each(JSONData, function(i, item) {
        JSONDataFilter.push(item);
    })
    var filter = "";
    var filterarr;
    var icnt = 0
    var valuearr = new Array(2);
    var value1 = valuearr[0];
    var value2 = valuearr[1];
    var priceused = false;
    for (icnt = 0; icnt < priceCount.length; icnt++) {
        if (priceCount[icnt].attr('checked')) {
            priceused = true;
            JSONDataFilter = new Array();
            filter = priceCount[icnt].parent().attr("datafieldvalue");
            filterarr = filter.split('-');
            value1 = filterarr[0];
            value2 = filterarr[1];
            if (value2 == 0)
                value2 = 1000000;
            AddFilterByPrice(value1, value2);
        }
    }
}

function HomeTypeFilter() {
    var filter = "";
    var icnt = 0
    var HTused = false;

    for (icnt = 0; icnt < hometypeCount.length; icnt++) {
        if (hometypeCount[icnt].attr('checked')) {
            HTused = true;
            JSONDataFiltersecond = new Array();
            filter = hometypeCount[icnt].parent().attr("datafieldvalue");
            AddFilterByHomeType(filter);
        }
    }
    if (HTused) {
        JSONDataFilter = JSONDataFiltersecond;
    }
}

function SqftFilter() {
    var filter = "";
    var filterarr;
    var icnt = 0
    var valuearr = new Array(2);
    var value1 = valuearr[0];
    var value2 = valuearr[1];
    var sqftused = false;
    for (icnt = 0; icnt < sqFtCount.length; icnt++) {
        if (sqFtCount[icnt].attr('checked')) {
            sqftused = true;
            JSONDataFiltersecond = new Array();
            filter = sqFtCount[icnt].parent().attr("datafieldvalue");
            filterarr = filter.split('-');
            value1 = filterarr[0];
            value2 = filterarr[1];
            if (value2 == 0)
                value2 = 10000;
            AddFilterBySqft(value1, value2);
        }
    }
    if (sqftused) {
        JSONDataFilter = JSONDataFiltersecond;
    }
}

function StoriesFilter() {
    var filter = "";
    var icnt = 0
    var Sused = false;

    for (icnt = 0; icnt < hometypeCount.length; icnt++) {
        if (storyCount[icnt].attr('checked')) {
            Sused = true;
            JSONDataFiltersecond = new Array();
            filter = storyCount[icnt].parent().attr("datafieldvalue");
            AddFilterByStories(filter);
        }
    }
    if (Sused) {
        JSONDataFilter = JSONDataFiltersecond;
    }
}

function gethtml() {
    var filterhtml = "<table>";
    $.each(JSONDataFilter, function(i, item) {
        filterhtml += ItemFilter(item);
    })
    filterhtml += "</table>";
    document.getElementById("MetroQMIList").innerHTML = filterhtml;
}




















function AddFilterByHomeType(FilterValue1) {
    var hometypesfilter;
    var hometypefilter = "";
    
    var filterhtml = "<table>";
    $.each(JSONDataFilter, function(i, item) {
        hometypefilter = item['ht']
        if (hometypefilter.indexOf(FilterValue1) != -1) {
            JSONDataFiltersecond.push(item);
            filterhtml += ItemFilter(item);
        }
        else {
        }
    })
    filterhtml += "</table>";
    document.getElementById("MetroQMIList").innerHTML = filterhtml;
}

function AddFilterByPrice(FilterValue1, FilterValue2) {
    var filterhtml = "<table>";
    $.each(JSONData, function(i, item) {
        if (item['pf'] > FilterValue2 || item['pt'] < FilterValue1) {
        }
        else {
            JSONDataFilter.push(item);
            filterhtml += ItemFilter(item);
        }
    })
    filterhtml += "</table>";
    //return filterhtml;
    document.getElementById("MetroQMIList").innerHTML = filterhtml;
}

function AddFilterByBed(FilterValue1) {
    var filterhtml = "<table>";
    $.each(JSONDataFilter, function(i, item) {
        if (item['bet'] >= FilterValue1) {
            filterhtml += ItemFilter(item);
        }
        else {
        }
    })
    filterhtml += "</table>";
    document.getElementById("MetroQMIList").innerHTML = filterhtml;
}

function AddFilterByBath(FilterValue1) {
    var filterhtml = "<table>";
    $.each(JSONDataFilter, function(i, item) {
        if (item['bat'] >= FilterValue1) {
            filterhtml += ItemFilter(item);
        }
        else {
        }
    })
    filterhtml += "</table>";
    document.getElementById("MetroQMIList").innerHTML = filterhtml;
}

function AddFilterBySqft(FilterValue1, FilterValue2) {
    var filterhtml = "<table>";
    $.each(JSONDataFilter, function(i, item) {
        if (item['sf'] > FilterValue2 || item['st'] < FilterValue1) {

        }
        else {
            JSONDataFiltersecond.push(item);
            filterhtml += ItemFilter(item);
        }
    })
    filterhtml += "</table>";
    document.getElementById("MetroQMIList").innerHTML = filterhtml;
}

function AddFilterByGarage(FilterValue1) {
    var filterhtml = "<table>";
    $.each(JSONDataFilter, function(i, item) {
        if (item['gt'] >= FilterValue1) {
            filterhtml += ItemFilter(item);
        }
        else {
        }
    })
    filterhtml += "</table>";
    document.getElementById("MetroQMIList").innerHTML = filterhtml;
}

function AddFilterByStories(FilterValue1) {
    var filterhtml = "<table>";
    $.each(JSONDataFilter, function(i, item) {
        if (item['ft'] >= FilterValue1) {
            filterhtml += ItemFilter(item);
        }
        else {
        }
    })
    filterhtml += "</table>";
    document.getElementById("MetroQMIList").innerHTML = filterhtml;
}











function ItemFilter(item) {
    var hometypesfilter;
    var hometypefilter = "";
    var filterhtml = "";
    var filterplan = "";
    var plancount = 0;
    hometypefilter = item['ht']
    filterhtml += "<tr><td class='CommunityDetails'><a href='" + item['url'] + "'> " + item['nm'] + "</a>";
    filterhtml += "</br>" + item['a1'];
    if (item['a2'].toString().length > 0) {
        filterhtml += "</br>" + item['a2'];
    }
    filterhtml += "</br>" + item['c'];
    filterhtml += ", " + item['s'];
    filterhtml += " " + item['zp'];
    filterhtml += "</br>" + item['pf'] + " - " + item['pt'];
    filterhtml += "</br>" + item['sf'] + " - " + item['st'];
    if (hometypefilter.indexOf("|") != -1) {
        hometypesfilter = item['ht'].split("|");
        for (var ht in hometypesfilter) {
            switch (hometypesfilter[ht]) {
                case 'ASF':
                    filterhtml += "</br>Single-Family Homes";
                    break;
                case 'SSR':
                    filterhtml += "</br>Single-Story/Ranch";
                    break;
                case 'TX':
                    filterhtml += "</br>Triplex";
                    break;
                case 'DX':
                    filterhtml += "</br>Duplex";
                    break;
                case 'MPC':
                    filterhtml += "</br>Master Planned Community";
                    break;
                case 'AA':
                    filterhtml += "</br>Active Adult";
                    break;
                case 'TH':
                    filterhtml += "</br>Condo/Townhome";
                    break;
                case 'TS':
                    filterhtml += "</br>Condo/Townhome";
                    break;
            }
        }
    }
    else {
        switch (hometypefilter) {
            case 'SSR':
                filterhtml += "</br>Single-Story/Ranch";
                break;
            case 'ASF':
                filterhtml += "</br>Single-Family Homes";
                break;
            case 'TX':
                filterhtml += "</br>Triplex";
                break;
            case 'DX':
                filterhtml += "</br>Duplex";
                break;
            case 'MPC':
                filterhtml += "</br>Master Planned Community";
                break;
            case 'AA':
                filterhtml += "</br>Active Adult";
                break;
            case 'TH':
                filterhtml += "</br>Condo/Townhome";
                break;
            case 'TS':
                filterhtml += "</br>Condo/Townhome";
                break;
        }
    }
    filterplan = "</td><td><table>";
    plancount = 0;
    $.each(item['pl'].p, function(h, plan) {
        if (plancount < 5) {
            filterplan += "<tr class='PlanGridAlternatingRow'><td><a href='" + plan['url'] + "'> " + plan['nm'] + "</a></td><td>" + plan['be'] + " beds /" + plan['ba'] + " baths /" + plan['sf'] + " sq. ft /" + plan['fl'] + " story /" + plan['g'] + " car garage</td><td> $" + plan['p'] + "</td></tr>";
        }
        else if (plancount == 5) {
            filterplan += "<tr class='PlanGridAlternatingRow'><td colspan='3'>More plans</td></tr>";
        }
        plancount++;
    })
    filterplan += "</table>";
    if (filterplan == "</td><td><table></table>") {
        filterhtml += "</td></tr>";
    }
    else {
        filterhtml += filterplan + "</td></tr>";
    }
    return filterhtml;

}

