﻿function displaySearchMapPage() {
    displayHeader('start_search');
    displayNavigationMenu('map_menu');
    displayFooter();
    var str = ReadCookie('uSess');
    if (str == null || str == '') {
        document.getElementById('notsignin').style.display = "block";
        document.getElementById('alreadysignin').style.display = "none";
    } else {
        document.getElementById('notsignin').style.display = "none";
        document.getElementById('alreadysignin').style.display = "block";
        document.getElementById('usernamespan').innerHTML = ReadCookie('dName');
    }

    var str2 = ReadCookie('sbmMinRent');
    if (str2 == null || str2 == '') {
        str2 = '-1';
    } else {
        delcookie('sbmMinRent');
    }
    populateMonthlyRent('min_rent', str2);

    str2 = ReadCookie('sbmMaxRent');
    if (str2 == null || str2 == '') {
        str2 = '-1';
    } else {
        delcookie('sbmMaxRent');
    }
    populateMonthlyRent('max_rent', str2);

    str2 = ReadCookie('sbmMinSqFt');
    if (str2 == null || str2 == '') {
        str2 = '-1';
    } else {
        delcookie('sbmMinSqFt');
    }
    populateSquareFeet('minSqFt', str2);


    str2 = ReadCookie('sbmMaxSqFt');
    if (str2 == null || str2 == '') {
        str2 = '-1';
    } else {
        delcookie('sbmMaxSqFt');
    }
    populateSquareFeet('maxSqFt', str2);

    getPropertyBasic();
}

function logout() {
    var str = ReadCookie('uSess');
    window.location = "../user/processLogOut.aspx?userSession=" + encodeURI(str);
}

function populateMonthlyRent(cbname, selVal) {
    var cb = document.getElementById(cbname);
    cb.options.length = 0;
    var snum = 250;
    var diffnum = 100;
    var maxNum = 20;
    for (var i = 0; i <= maxNum; i++) {
        cb.options[i] = new Option('$' + snum);
        cb.options[i].value = snum;

        snum = snum + diffnum;
    }
    cb.options[maxNum + 1] = new Option('unlimited');
    cb.options[maxNum + 1].value = '-1';
    document.getElementById(cbname).value = selVal;
}

function populateSquareFeet(cbname, selVal) {
    var cb = document.getElementById(cbname);
    cb.options.length = 0;
    var snum = 250;
    var diffnum = 100;
    var maxNum = 20;
    for (var i = 0; i <= maxNum; i++) {
        cb.options[i] = new Option(snum);
        cb.options[i].value = snum;

        snum = snum + diffnum;
    }
    cb.options[maxNum + 1] = new Option('unlimited');
    cb.options[maxNum + 1].value = '-1';
    document.getElementById(cbname).value = selVal;
}

function getPropertyBasic() {
    var poststr = "method=advanceSearchPropertyBasic";
    makePOSTRequest('../listing/SearchListingHelper.aspx', poststr, displayPropertyBasic);
}

function displayPropertyBasic() {
    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');
            //var tListings = getNodeValue(data[0], 'totalListings');
            //document.getElementById('totallistingsspan').innerHTML = "Total Listings: " + tListings;
            //document.getElementById('hdTotalListings').value = tListings;

            var selVal = ReadCookie('sbmCity');
            if (selVal == null || selVal == '') {
                selVal = '111';
            } else {
                delcookie('sbmCity');
            }
            setsearchcb('cities', xmlobject, 'cbCity', selVal);

            selVal = ReadCookie('sbmptype');
            if (selVal == null || selVal == '') {
                selVal = '-1';
            } else {
                delcookie('sbmptype');
            }
            setsearchcb('propertytypes', xmlobject, 'cbproperty', selVal);

            selVal = ReadCookie('sbmbedroom');
            if (selVal == null || selVal == '') {
                selVal = '-1';
            } else {
                delcookie('sbmbedroom');
            }
            setsearchcb('bedrooms', xmlobject, 'cbBedrooms', selVal);
            //setListingCountDetail('petstatuses', xmlobject, 'listingpetcountspan', 'pet');

            selVal = ReadCookie('sbmbathroom');
            if (selVal == null || selVal == '') {
                selVal = '-1';
            } else {
                delcookie('sbmbathroom');
            }
            setsearchcb('bathrooms', xmlobject, 'cbBathrooms', selVal);
            //setListingCountDetail('smokingstatuses', xmlobject, 'listingsmokingcountspan', 'smoking');
            //setListingCountDetail('utilities', xmlobject, 'listingutilitiescountspan', 'utility');
            //setListingCountDetail('parkingstatuses', xmlobject, 'listingparkingcountspan', 'parking');

        } else {
            //alert('There was a problem with the request.');
        }
        GLoad();
    }
}

function setsearchcb(categoryName, xmlobject, cbname, selVal) {
    var cb = document.getElementById(cbname);
    var data = xmlobject.getElementsByTagName(categoryName);
    var dc = "";

    cb.options[0] = new Option('Any');
    cb.options[0].value = '-1';
    
    for (var i = 1; i <= data.length; i++) {
        var n = getNodeValue(data[i-1], 'name');
        var v = getNodeValue(data[i-1], 'id');
        cb.options[i] = new Option(n);
        cb.options[i].value = v;
    }

    document.getElementById(cbname).value = selVal;
}

function refreshMap() {
    var poststr = "method=getMapCenterLocation&city=" + document.getElementById('cbCity').value;
    makePOSTRequest('../listing/SearchListingHelper.aspx', poststr, setCenterLocation);
}

function resetMap() {
    document.getElementById('cbCity').value = '111';
    document.getElementById('min_rent').value = '-1';
    document.getElementById('max_rent').value = '-1';
    document.getElementById('cbBedrooms').value = '-1';
    document.getElementById('cbBathrooms').value = '-1';
    document.getElementById('minSqFt').value = '-1';
    document.getElementById('maxSqFt').value = '-1';
    document.getElementById('cbproperty').value = '-1';
    var poststr = "method=getMapCenterLocation&city=" + document.getElementById('cbCity').value;
    makePOSTRequest('../listing/SearchListingHelper.aspx', poststr, setCenterLocation);
}

function setCenterLocation() {
    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('listingcenterlocation');
            document.getElementById('hdCenterLat').value = getNodeValue(data[0], 'lat');
            document.getElementById('hdCenterLong').value = getNodeValue(data[0], 'lon');

            GLoad();

        } else {
            //alert('There was a problem with the request.');
        }
    }
}

function viewListingDetail(lId) {
    setCookie('sbmCity', document.getElementById('cbCity').value, 1);
    setCookie('sbmMinRent', document.getElementById('min_rent').value, 1);
    setCookie('sbmMaxRent', document.getElementById('max_rent').value, 1);
    setCookie('sbmMinSqFt', document.getElementById('minSqFt').value, 1);
    setCookie('sbmMaxSqFt', document.getElementById('maxSqFt').value, 1);
    setCookie('sbmbedroom', document.getElementById('cbBedrooms').value, 1);
    setCookie('sbmbathroom', document.getElementById('cbBathrooms').value, 1);
    setCookie('sbmptype', document.getElementById('cbproperty').value, 1);

    window.location = "../searchByIdDetails.aspx?listingId=" + lId + "&returnPage=search_by_map.html";
}

function addToFavourite(lId) {
    var str2 = ReadCookie('favlisting');
    var str = "";
    if (str2 != null && str2 != '') {
        if (str2.indexOf(lId + ',') == -1 && str2.indexOf(',' + lId + ',') == -1 && str2.indexOf(',' + lId) == -1 && str2 != '' + lId) {
            str = str2 + ',' + lId;
            setCookie('favlisting', str, 30);
        }
    } else {
        str = lId + '';
        setCookie('favlisting', str, 30);
    }

    alert("This listing had been added to your favourite listing.");
}

function getFavResult() {
    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('listingresult');
            var resultstatus = getNodeValue(data[0], 'result');
            if (resultstatus == '1') {
                alert("This listing had been added to your favourite listing.");
            } else {
                alert("This listing is already on your favourite listing.");
            }

        } else {
            //alert('There was a problem with the request.');
        }
    }
}
