﻿/// <reference path="jquery-1.3.2.js" />
///<reference path="common.js"/>
var Map = null;
var CenterLatitude = 35.291307;
var CenterLongitude = -80.73909800000001;
var ResultsOverlay = null;
var MapOptions = 1;
var MapOptionsHidden = 1;
var MapOptionsSmall = 2;
var MapOptionsLarge = 4;
var MapOptionsOverlayLoaded = 8;
var MapOptionsAutoMap = 16;
var ResultsOptions = 36;
var ResultsOptionsSortByBeds = 1;
var ResultsOptionsSortByBaths = 2;
var ResultsOptionsSortByPrice = 4;
var ResultsOptionsSortBySquareFootage = 8;
var ResultsOptionsOnlySavedListings = 16;
var ResultsOptionsSortDirectionDesc = 32; 
var PageOptions = 0;
var PageOptionsAdvancedSearch = 1;
var DisplayedSearch = 1;
var DisplayedSearchProperty = 1;
var DisplayedSearchAgent = 2;
var DisplayedSearchMortgage = 4;
var WaitingForData = false;
var IE6 = window.navigator.appVersion.indexOf('MSIE 6') > -1;
function Retrieve(PageNumber)
{
    Write(1);
    if (!WaitingForData)
    {
        for (intCount = 0; intCount < CustomDrops.length; intCount++)
        {
            if (CustomDrops[intCount] != null)
            {
                //CustomDrops[intCount].onchange();
            }
            else
            {
                CustomDrops.splice(intCount, 1);
            }
        }
        switch (DisplayedSearch)
        {
            case DisplayedSearchProperty:
                if (document.getElementById('Results') != null)
                {
                    var URL = 'SearchData.aspx';
                    var Parameters = BuildParameters(PageNumber);
                    Write('1', true);
                    Parameters += '&Compression=2';
                    SubmitAsyncPOST(URL, Parameters, document.getElementById('Results'), 'PostSearch()');
                    Write(URL + '?' + Parameters, 1);
                }
                else
                {
                    HideAllCustomDrops();
                    document.getElementById('Submitted').value = true;
                    document.forms[0].action = 'search/search.aspx?AutoMap=' + ((MapOptions & MapOptionsAutoMap) == MapOptionsAutoMap);
                    document.forms[0].submit();
                }
                break;
            case DisplayedSearchAgent:
                if (document.getElementById('Results') != null)
                {
                    RetrieveAgents();
                }
                else
                {
                    document.getElementById('Submitted').value = true;
                    document.forms[0].action = 'search/search.aspx?AutoMap=false';
                    document.forms[0].submit();
                }
                break;
            case DisplayedSearchMortgage:
                break;
        }
    }
    else
    {
        setTimeout('Retrieve(' + PageNumber + ')',100);
    }
    //return false;
    Write(2);
}
function BuildParameters(PageNumber)
{
    Write(3);
    if (PageNumber == undefined)
    {
        PageNumber = 1;
    }
    var Parameters = 'NoCache=' + Math.random();
    Parameters += '&PageNumber=' + PageNumber;
    Parameters += '&CenterLatitude=' + CenterLatitude;
    Parameters += '&CenterLongitude=' + CenterLongitude;
    Parameters += '&PropertyType=' + document.getElementById('TypeControlInput').value;
    Parameters += '&PriceMin=' + document.getElementById('PriceMinControlInput').value;
    Parameters += '&PriceMax=' + document.getElementById('PriceMaxControlInput').value;
    Parameters += '&Baths=' + document.getElementById('BathsControlInput').value;
    Parameters += '&Beds=' + document.getElementById('BedsControlInput').value;
    Parameters += '&RecordsPerPage=' + (document.getElementById('RecordsPerPage') == null ? 10 : document.getElementById('RecordsPerPage').value);
    /*Parameters += '&OnlyOffice=' + document.getElementById('OnlyOffice').checked;
    Parameters += '&OpenHouses=' + document.getElementById('OpenHouses').checked;*/
    Parameters += '&OnlyOffice=' + (document.getElementById('OnlyOffice') == null ? false : (document.getElementById('OnlyOffice').type != 'checkbox' ? document.getElementById('OnlyOffice').value : document.getElementById('OnlyOffice').checked));
    Parameters += '&OpenHouses=' + (document.getElementById('OpenHouses') == null ? false : (document.getElementById('OpenHouses').type != 'checkbox' ? document.getElementById('OpenHouses').value : document.getElementById('OpenHouses').checked));
    Parameters += '&OnlySavedListings=' + ((ResultsOptions & ResultsOptionsOnlySavedListings) == ResultsOptionsOnlySavedListings)
//    Parameters += '&OnlySavedListings=' + (document.getElementById('OnlySavedListings') == null ? false : document.getElementById('OnlySavedListings').checked);
    Parameters += '&MapOptions=' + MapOptions;
    Parameters += '&ResultsOptions=' + ResultsOptions;
    Parameters += '&VisitorID=' + (document.getElementById('VisitorID') == null ? -1 : document.getElementById('VisitorID').value);
    Parameters += '&StreetName=' + escape(document.getElementById('StreetControlDataEntry') == null ? (document.getElementById('StreetControl') == null  ? -1 : document.getElementById('StreetControl').value) : document.getElementById('StreetControlDataEntry').value);
    Parameters += '&SubdivisionZip=' + escape(document.getElementById('SubdivisionZipControlDataEntry') == null ? (document.getElementById('SubdivisionZipControl') == null ? -1 : document.getElementById('SubdivisionZipControl').value) : document.getElementById('SubdivisionZipControlDataEntry').value);
    Parameters += '&City=' + escape(document.getElementById('CityControlDataEntry') == null ? (document.getElementById('CityControl') == null ? -1 : document.getElementById('CityControl').value) : document.getElementById('CityControlDataEntry').value);
    Parameters += '&MLSNumber=' + (document.getElementById('MLSNumberControl') == null ? -1 : document.getElementById('MLSNumberControl').value);
    Parameters += CheckRadio('MasterBedroomFloor');
    Parameters += CheckRadio('LaundryFloor');
    Parameters += '&SqFtTotal=' + (document.getElementById('SqFtTotalControlInput') == null ? -1 : document.getElementById('SqFtTotalControlInput').value);
    Parameters += '&Flooring=' + escape(document.getElementById('FlooringControlInput') == null ? -1 : document.getElementById('FlooringControlInput').value);
    Parameters += '&HVAC=' + escape(document.getElementById('HVACControlInput') == null ? -1 : document.getElementById('HVACControlInput').value);
    Parameters += '&YearBuilt=' + (document.getElementById('YearBuiltControlInput') == null ? -1 : document.getElementById('YearBuiltControlInput').value);
    Parameters += '&Acres=' + (document.getElementById('AcresControlInput') == null ? -1 : document.getElementById('AcresControlInput').value);
    Parameters += '&PropSubType=' + escape(document.getElementById('PropSubTypeControlInput') == null ? -1 : document.getElementById('PropSubTypeControlInput').value);
    Parameters += '&Style=' + escape(document.getElementById('StyleControlInput') == null ? -1 : document.getElementById('StyleControlInput').value);
    Parameters += '&Siding=' + escape(document.getElementById('SidingControlInput') == null ? -1 : document.getElementById('SidingControlInput').value);
    Parameters += '&Parking=' + escape(document.getElementById('ParkingControlInput') == null ? -1 : document.getElementById('ParkingControlInput').value);
    Parameters += '&LotDesc=' + escape(document.getElementById('LotDescControlInput') == null ? -1 : document.getElementById('LotDescControlInput').value);
    Parameters += '&CommunityClubHouse=' + (document.getElementById('CommunityClubHouse') == null ? false : (document.getElementById('CommunityClubHouse').type != 'checkbox' ? document.getElementById('CommunityClubHouse').value : document.getElementById('CommunityClubHouse').checked));
    Parameters += '&CommunityGatedCommunity=' + (document.getElementById('CommunityGatedCommunity') == null ? false : (document.getElementById('CommunityGatedCommunity').type != 'checkbox' ? document.getElementById('CommunityGatedCommunity').value : document.getElementById('CommunityGatedCommunity').checked));
    Parameters += '&CommunityGolfCourse=' + (document.getElementById('CommunityGolfCourse') == null ? false : (document.getElementById('CommunityGolfCourse').type != 'checkbox' ? document.getElementById('CommunityGolfCourse').value : document.getElementById('CommunityGolfCourse').checked));
    Parameters += '&CommunityPlayground=' + (document.getElementById('CommunityPlayground') == null ? false : (document.getElementById('CommunityPlayground').type != 'checkbox' ? document.getElementById('CommunityPlayground').value : document.getElementById('CommunityPlayground').checked));
    Parameters += '&CommunityPool=' + (document.getElementById('CommunityPool') == null ? false : (document.getElementById('CommunityPool').type != 'checkbox' ? document.getElementById('CommunityPool').value : document.getElementById('CommunityPool').checked));
    Parameters += '&CommunityWalkingTrails=' + (document.getElementById('CommunityWalkingTrails') == null ? false : (document.getElementById('CommunityWalkingTrails').type != 'checkbox' ? document.getElementById('CommunityWalkingTrails').value : document.getElementById('CommunityWalkingTrails').checked));
    Parameters += '&CommunityTennisCourt=' + (document.getElementById('CommunityTennisCourt') == null ? false : (document.getElementById('CommunityTennisCourt').type != 'checkbox' ? document.getElementById('CommunityTennisCourt').value : document.getElementById('CommunityTennisCourt').checked));
    Parameters += '&CommunityRecreation=' + (document.getElementById('CommunityRecreation') == null ? false : (document.getElementById('CommunityRecreation').type != 'checkbox' ? document.getElementById('CommunityRecreation').value : document.getElementById('CommunityRecreation').checked));
    Parameters += '&PropertyWaterfront=' + (document.getElementById('PropertyWaterfront') == null ? false : (document.getElementById('PropertyWaterfront').type != 'checkbox' ? document.getElementById('PropertyWaterfront').value : document.getElementById('PropertyWaterfront').checked));
    Parameters += '&PropertyOnGolfCourse=' + (document.getElementById('PropertyOnGolfCourse') == null ? false : (document.getElementById('PropertyOnGolfCourse').type != 'checkbox' ? document.getElementById('PropertyOnGolfCourse').value : document.getElementById('PropertyOnGolfCourse').checked));
    Parameters += '&PropertyPool=' + (document.getElementById('PropertyPool') == null ? false : (document.getElementById('PropertyPool').type != 'checkbox' ? document.getElementById('PropertyPool').value : document.getElementById('PropertyPool').checked));
    Parameters += '&PropertyDeckPatio=' + (document.getElementById('PropertyDeckPatio') == null ? false : (document.getElementById('PropertyDeckPatio').type != 'checkbox' ? document.getElementById('PropertyDeckPatio').value : document.getElementById('PropertyDeckPatio').checked));
    Parameters += '&PropertyFencedYard=' + (document.getElementById('PropertyFencedYard') == null ? false : (document.getElementById('PropertyFencedYard').type != 'checkbox' ? document.getElementById('PropertyFencedYard').value : document.getElementById('PropertyFencedYard').checked));
    Parameters += '&County=' + escape((document.getElementById('CountyControl') == null ? -1 : document.getElementById('CountyControl').value));
    Parameters += '&CountyData=' + escape((document.getElementById('CountyControlData') == null ? -1 : document.getElementById('CountyControlData').value));
    Parameters += '&SchoolElementary=' + escape((document.getElementById('SchoolElementaryControlInput') == null ? -1 : document.getElementById('SchoolElementaryControlInput').value));
    Parameters += '&SchoolJunior=' + escape((document.getElementById('SchoolJuniorControlInput') == null ? -1 : document.getElementById('SchoolJuniorControlInput').value));
    Parameters += '&SchoolHigh=' + escape((document.getElementById('SchoolHighControlInput') == null ? -1 : document.getElementById('SchoolHighControlInput').value));
    //Write(Parameters);
    Write(4);
    return Parameters;
}
function CheckRadio(Control)
{
    Write(5);
    var ControlArray = document.getElementsByName(Control + 'Control');
    var RetVal = '&' + Control + '=';
    if (ControlArray.length == 1)
    {
        RetVal += ControlArray[0].value;
    }
    else
    {
        var Hit = false;
        for (var intCount = 0; intCount < ControlArray.length; intCount++)
        {
            if (ControlArray[intCount].checked)
            {
                RetVal += ControlArray[intCount].value;
                Hit = true;
            }
        }
        if (!Hit)
        {
            RetVal += '-1';
        }
    }
    Write(6);
    return RetVal;
}
var Message;
function InitPage()
{
    //LoadMap();
    window.onunload = "GUnload()";
    Message = document.createElement('div');
    Message.style.backgroundColor = 'white';
    Message.innerHTML = 'This is for debugging purposes.  It will be removed when the problem is found<br/>';
    Message.style.position = 'absolute';
    Message.style.bottom = '0px'
    Message.style.right = '0px';
    Message.style.overflow = 'scroll';
    Message.style.width = '800px';
    Message.style.height = '200px';
    Message.style.position = 'absolute';
    Message.style.fontSize = '9px';
    Message.style.zIndex = 1000
    if (document.getElementById('global') != undefined)
    {
        document.getElementById('global').appendChild(Message);
    }
    else
    {
        document.body.appendChild(Message);
    }
    Message.style.display = 'none';
    $(document).ajaxSend(function()
    {
        //$('Email').value = $('Email').value + 1;
        WaitingForData = true;
    });
    $(document).ajaxStop(function()
    {
        setTimeout('WaitingForData = false', 200);
    });
}
function Write(Text, Logging)
{
    if (Logging == undefined)
    {
        Logging = false;
    }
    if (Message != null && Logging)
    {
        Message.innerHTML += new Date() + ' - ' + Text + '<br/>';
    } 
}
function LoadMap()
{
    Write(7);
    if (GBrowserIsCompatible())
    {
        Map = new GMap2(document.getElementById("Map"));
        Map.setCenter(new GLatLng(CenterLatitude, CenterLongitude), 10); //34.6665530, -79.5513450), 10); //
        Map.addControl(new GSmallMapControl());
        Map.addControl(new GMapTypeControl());
    }
    Write(8);
}
function PostSearch()
{
    if ((MapOptions & MapOptionsAutoMap) == MapOptionsAutoMap)
    {
        ChangeMap();
        MapOptions ^= MapOptionsAutoMap;
    }
    MoveNavigation()
    LoadOverlay();
}
function MoveNavigation()
{
    if (document.getElementById('SearchesMenuHolder'))
    {
        document.getElementById('Toolbar').removeChild(document.getElementById('SearchesMenuHolder'));
    }
    else
    {
        document.getElementById('Toolbar').removeChild(document.getElementById('Toolbar').childNodes[document.getElementById('Toolbar').childNodes.length - 1]);
    }
    document.getElementById('Toolbar').appendChild(document.getElementById('topResultsBoxHolder'));
}
function LoadOverlay()
{
    if ((MapOptions & MapOptionsHidden) != MapOptionsHidden)
    {
        if (ResultsOverlay != null)
        {
            Map.removeOverlay(ResultsOverlay); 
        }
        var Parameters = BuildParameters(GetInnerText(document.getElementById('PageNumberLabel')));
        Parameters += '&MapResultsKey=' + GetInnerText(document.getElementById('MapResultsKey'));
        Parameters += '&Compression=2';
        ////KML AS XML TO POPULATE GMarkers
        GDownloadUrl('http://ccbhdev.ccpweb.net/Search/GOverlay.aspx?' + Parameters, RetrieveMarkerXML)

        ////STRAIGHT KML
        //LIVE//////////////////////////////////        ResultsOverlay = new GGeoXml('http://www.cottinghamchalk.net/Search/GOverlay.aspx?' + Parameters);
        //ResultsOverlay = new GGeoXml('http://ccbhdev.ccpweb.net/Search/GOverlay.aspx?' + Parameters);
        //Map.addOverlay(ResultsOverlay, true);
    }
    MapOptions |= MapOptionsOverlayLoaded;
}
var Placemarks = new Array();
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
///Original code (before editing) copied from http://econym.org.uk/gmap/example_map3.htm///
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
function RetrieveMarkerXML(File)
{
    var XML = GXml.parse(File);
    Map.clearOverlays();
    var PlacemarkData = XML.documentElement.getElementsByTagName('Placemark');
    for (var intCount = 0; intCount < PlacemarkData.length; intCount++)
    {
        var Text = window.attachEvent != undefined ? 'text' : 'textContent';
        var Coordinates = new GLatLng.fromUrlValue(PlacemarkData[intCount].getElementsByTagName('coordinates')[0][Text]);
        var Description = PlacemarkData[intCount].getElementsByTagName('description')[0][Text];
        var Icon = new GIcon(G_DEFAULT_ICON);
        Icon.image = PlacemarkData[intCount].getElementsByTagName('Icon')[0][Text],
        Icon.iconSize = new GSize(32,32);
        Icon.shadow = null;
        var Name = PlacemarkData[intCount].getElementsByTagName('name')[0][Text];
        var PlacemarkOptions = {
            icon: Icon,
            title: Name
            };
        var NewPlacemark = new GMarker(Coordinates, PlacemarkOptions);
        Map.addOverlay(NewPlacemark);
        InfoWindow = ShowInfo(NewPlacemark, Description);
        GEvent.addListener(NewPlacemark, "click", InfoWindow);
        GEvent.addListener(NewPlacemark, "mouseover", InfoWindow);
        Placemarks.push(NewPlacemark);
    }
}
function ShowInfo(NewPlacemark, Description)
{
    return function ()
    {
        NewPlacemark.openInfoWindow(Description);
    }
}
function ChangeMap()
{
    Write(11);
    /*if (Map != null)
    {
    GUnload();
    }*/
    var OverlayGroup = document.getElementById('OverlayGroup');
    var MapHolder = document.getElementById('Map');
    if((MapOptions & MapOptionsHidden) == MapOptionsHidden)
    {
        MapOptions |= MapOptionsSmall;
        MapOptions ^= MapOptionsHidden;
    }
    if ((MapOptions & MapOptionsHidden) == MapOptionsHidden)
    {
        MapOptions ^= MapOptionsHidden;
        MapOptions |= MapOptionsSmall;
        document.getElementById('Map').style.display = 'block';
        document.getElementById('Map').style.width = '300px';
        //document.getElementById('Results').style.width = document.getElementById('Results').offsetWidth - 300;
        document.body.style.width = document.body.offsetWidth + 300 + 'px';
        SetInnerText(document.getElementById('MapSize'), 'enlarge map');
        LoadMap();
        if ((MapOptions & MapOptionsOverlayLoaded) == MapOptionsOverlayLoaded)
        {
            LoadOverlay();
        }
        OverlayGroup.style.display = 'block';
    }
    else if ((MapOptions & MapOptionsLarge) == MapOptionsLarge)
    {
        MapOptions ^= MapOptionsLarge;
        MapOptions |= MapOptionsHidden;
        document.getElementById('OverlayGroup').style.display = 'none';
        document.getElementById('Map').style.display = 'none'
        //document.getElementById('Results').style.width = '100%';
        document.body.style.width = '1024px'; //'1000px';//Max 1921px
        SetInnerText(document.getElementById('MapSize'), 'show map');
    }
    else if ((MapOptions & MapOptionsSmall) == MapOptionsSmall)
    {
        MapOptions ^= MapOptionsSmall;
        MapOptions |= MapOptionsLarge;
        document.getElementById('Map').style.display = 'block';
        document.getElementById('Map').style.width = '500px';
        //document.getElementById('Results').style.width = document.getElementById('Results').offsetWidth - 500;
        document.body.style.width = document.body.offsetWidth + 500 + 'px';
        SetInnerText(document.getElementById('MapSize'), 'hide map');
        LoadMap();
        if ((MapOptions & MapOptionsOverlayLoaded) == MapOptionsOverlayLoaded)
        {
            LoadOverlay();
        }
        OverlayGroup.style.display = 'block';
    }
    document.getElementById('Map').style.height = (document.documentElement.clientHeight || document.body.clientHeight) + 'px';
    Map.checkResize()
    for (var intCount = 0; intCount < OverlayGroup.childNodes.length; intCount++)
    {
        if (OverlayGroup.childNodes[intCount].tagName != undefined)
        {
            ChangeAmmenityOverlay(OverlayGroup.childNodes[intCount].childNodes[0]);
        } 
    }
    OverlayGroup.style.position = 'absolute';
    OverlayGroup.style.top = Top(MapHolder) + 35 + 'px';
    OverlayGroup.style.left = Left(MapHolder) + MapHolder.offsetWidth - OverlayGroup.offsetWidth - 10 + 'px';
    Write(12);
}
function Schedule(MLSNumber, PropertyType)
{
    Write(13);
    var URL = 'ScheduleViewing.aspx';
    var Parameters = 'NoCache=' + Math.random();
    Parameters += '&MLSNumber=' + MLSNumber;
    Parameters += '&PropertyType=' + PropertyType;
    ShowModal(URL,Parameters,'ShowCalendar(document.getElementById("DatePickerIcon"), "DatePickerCalendar",0)')
    Write(14);
    return false;
}
function SubmitViewing()
{
    Write(15);
    var URL = 'SendViewing.aspx';
    var Parameters = 'NoCache=' + Math.random();
    Parameters += '&MLSNumber=' + GetInnerText(document.getElementById('SelectedMLSNumberLabel'));
    Parameters += '&PropertyType=' + GetInnerText(document.getElementById('PropertyTypeLabel'));
    Parameters += '&ViewingOpenedID=' + GetInnerText(document.getElementById('ViewingOpenedIDLabel'));
    Parameters += '&Name=' + document.getElementById('NameControl').value;
    Parameters += '&Email=' + document.getElementById('EmailControl').value;
    Parameters += '&Phone=' + document.getElementById('PhoneControl').value;
    Parameters += '&Contact=' + document.getElementById('ContactControl').value;
    Parameters += '&Date=' + document.getElementById('DateControl').value;
    SubmitAsyncPOST(URL, Parameters, document.createElement('div'), 'Scheduled()');
    Write(16);
}
function Scheduled()
{
    alert('Email sent successfully!');
    HideModal();
}
function SetSort(sender, SortBy)
{
    Write(17);
    ResultsOptions &= ~ResultsOptionsSortByBaths;
    ResultsOptions &= ~ResultsOptionsSortByBeds;
    ResultsOptions &= ~ResultsOptionsSortByPrice;
    ResultsOptions &= ~ResultsOptionsSortBySquareFootage;
    ResultsOptions ^= ResultsOptionsSortDirectionDesc;
    ResultsOptions |= SortBy;
    Retrieve(1);
    Write(18);
}
function Login()
{
    Write(19);
    PageMethods.Login(document.getElementById('Email').value, LoginGood)
    Write(20);
    return false;
}
function LoginGood(e)
{
    Write(21);
    document.getElementById('VisitorID').value = e;
    if (e > 0)
    {
        ToggleLoggedInControls();
    }
    var URL = 'SavedSearches.aspx';
    var Parameters = 'NoCache=' + Math.random();
    Parameters += '&VisitorID=' + document.getElementById('VisitorID').value;
    SubmitAsyncPOST(URL, Parameters, document.getElementById('SavedSearchesHolder'), '');
    Write(22);
}
function ToggleLoggedInControls()
{
    Write(23);
    document.getElementById('LoadSavedSearchButton').disabled = !document.getElementById('LoadSavedSearchButton').disabled;
    document.getElementById('SaveSearchButton').disabled = !document.getElementById('SaveSearchButton').disabled;
    document.getElementById('SaveSelectedListingsButton').disabled = !document.getElementById('SaveSelectedListingsButton').disabled;
    document.getElementById('OnlySavedListings').parentNode.disabled = !document.getElementById('OnlySavedListings').parentNode.disabled;
    document.getElementById('OnlySavedListings').disabled = !document.getElementById('OnlySavedListings').disabled;
    /*document.getElementById('SaveSearchButton').onclick = SaveSearch;
    document.getElementById('SaveSelectedListingsButton').onclick = SaveSelectedListings;
    document.getElementById('LoadSavedSearchButton').onclick = LoadSavedSearch;*/
    Retrieve(document.getElementById('PageNumberLabel') == undefined ? 1 : GetInnerText(document.getElementById('PageNumberLabel')));
    Write(24);
}
function SaveSearch()
{
    Write(25);
    var URL = 'SaveSearch.aspx';
    var Parameters = BuildParameters(1);
    SubmitAsyncPOST(URL, Parameters, document.createElement('div'), 'Login()');
    Write(26);
}
function SaveListing(sender, MLSNumber)
{
    Write(27);
    var URL;
    var Parameters = 'NoCache=' + Math.random();
    if (document.getElementById('VisitorID').value > -1)
    {
        var senderID = sender.id;
        URL = 'SaveListing.aspx';
        Parameters += '&MLSNumber=' + MLSNumber;
        Parameters += '&VisitorID=' + document.getElementById('VisitorID').value;
        SubmitAsyncPOST(URL, Parameters, document.createElement('div'), 'SwitchSaved("' + senderID + '")');
    }
    /*else
    {
        URL = 'Register.aspx';
        ShowModal(URL, Parameters, '')
    }*/
    Write(28);
    return false;
}
function SwitchSaved(senderID)
{
    Write(29);
    document.getElementById(senderID).src = 'images/SavedListing.png';
    document.getElementById(senderID).alt = 'Saved Listing';
    document.getElementById(senderID).disabled = true;
    Write(30);
}
function LoadSearchTerms(SavedSearchID, Path)
{
    Write(31);
    var FollowOn = 'CheckAdvanced();Retrieve(1);'; //SetDots();';
    if ((document.getElementById('VisitorID') == undefined ? -1 : document.getElementById('VisitorID').value) > -1)
    {
        FollowOn = 'Login();' + FollowOn;
    }
    if (SavedSearchID == undefined)
    {
        SavedSearchID = -1;
    }
    if (Path == undefined)
    {
        Path = '';
    }
    var URL = '/search/SearchTerms.aspx'; //Path + 'SearchTerms.aspx';
    var Parameters
    if (document.getElementById('SubmittedFromIndex') != undefined)
    {
        Parameters = BuildParameters(1);
        Parameters += '&Submitted=true';
    }
    else
    {
        Parameters = '?NoCache=' + Math.random();
    }
    Parameters += '&SavedSearchID=' + SavedSearchID;
    SubmitAsyncPOST(URL, Parameters, document.getElementById('SearchTerms'), document.getElementById('Results') == null ? '' : FollowOn);
    DisplayedSearch = DisplayedSearchProperty;
    Write(32);
}
function CheckAdvanced()
{
    Write(33);
    if ((PageOptions & PageOptionsAdvancedSearch) == PageOptionsAdvancedSearch)
    {
        ShowAdvancedSearch();
    }
    Write(34);
}
function SaveSelectedListings()
{
    Write(35);
    var SelectedResults = FindSelectedResults();
    for (var intCount = 0; intCount < SelectedResults.length; intCount++)
    {
        var URL = 'SaveListing.aspx';
        var Parameters = 'NoCache=' + Math.random();
        Parameters += '&MLSNumber=' + SelectedResults[intCount];
        Parameters += '&VisitorID=' + document.getElementById('VisitorID').value;
        SubmitAsyncPOST(URL, Parameters, document.createElement('div'), 'Retrieve(GetInnerText(document.getElementById("PageNumberLabel")))');
    }
    Write(36);
}
function FindSelectedResults()
{
    Write(37);
    var Selected = new Array();
    for (var intCount = 0; intCount < document.getElementById('PropertiesGrid').childNodes[0].childNodes.length; intCount++)
    {
        var CurrentCell = document.getElementById('PropertiesGrid').childNodes[0].childNodes[intCount].childNodes[0];
        var CurrentCheck = CurrentCell.childNodes[0].childNodes[0].childNodes[2];
        var CurrentMLSNumber = GetInnerText(CurrentCell.childNodes[0].childNodes[7].childNodes[0].childNodes[0].childNodes[1]).trim();
        if (CurrentCheck.checked)
        {
            Selected.push(CurrentMLSNumber);
        }
    }
    Write(38);
    return Selected;
}
function ChangeAmmenityOverlay(sender)
{
    Write(39);
    PageMethods.GetOverlayIndex(GetInnerText(sender.parentNode), IndexGood, null, sender);
    Write(40);
}
var Overlays = new Array();
function IndexGood(Index, sender)
{
    Write(41);
    if (sender.checked)
    {
        Overlays[Index] = new GGeoXml('http://www.cottinghamchalk.net/search/AmmenityOverlay.aspx?Compression=2&OverlayFile=' + GetInnerText(sender.parentNode));// + '.kmz');
//        Overlays[Index] = new GGeoXml('http://webdev.ccpteam.com/cottinghamchalk09/search/overlays/' + GetInnerText(sender.parentNode) + '.kmz');
        //SetInnerText(document.getElementById('global'), 'http://webdev.ccpteam.com/cottinghamchalk09/search/overlays/' + GetInnerText(sender.parentNode) + '.kmz');
        Map.addOverlay(Overlays[Index]);
        Map.checkResize();
    }
    else
    {
        Map.removeOverlay(Overlays[Index]);
    }
    Write(42);
}
/*
function SendRegistration()
{
    var URL = 'SendRegistration.aspx';
    var Parameters = 'NoCache=' + Math.random();
    Parameters += '&Email=' + document.getElementById('Email').value;
    SubmitAsyncPOST(URL, Parameters, document.getElementById('VisitorID').value, '');
}
*/

function CheckDropdown(senderID)
{
    Write(45);
    var sender = document.getElementById(senderID);
    var Dropdown = sender.nextSibling.nextSibling;
    if (Dropdown.childNodes.length == 1)
    {
        sender.value = GetInnerText(Dropdown.childNodes[0]);
    }
    Write(46);
}
function ChooseDropdownOption(sender)
{
    Write(47);
    sender.parentNode.previousSibling.previousSibling.value = GetInnerText(sender);
    if (sender.childNodes.length > 1)
    {
        if (window.attachEvent != undefined)
        {
            sender.parentNode.parentNode.nextSibling.value = sender.childNodes[sender.childNodes.length - 2].value
        }
        else
        {
            sender.parentNode.parentNode.nextSibling.nextSibling.value = sender.childNodes[sender.childNodes.length - 1].value
        } 
    }
    Write(48);
}
function ShowAdvancedSearch()
{
    Write(49);
    document.getElementById('AdvancedSide').style.display = 'block';
    //var Advanced = getCSSRule('div.AdvancedSearchTerm', false);
    //Advanced.style.display = 'block';
    PageOptions |= PageOptionsAdvancedSearch;
    //document.getElementById('SearchTerm').childNodes[0].innerText = 'Less Search Options';
    document.getElementById('SearchTerm').childNodes[window.attachEvent == null ? 0 : 1].href = 'javascript:;HideAdvancedSearch()';
    SetDots();
    Write(50);
}
function HideAdvancedSearch()
{
    Write(51);
    //var Advanced = getCSSRule('div.AdvancedSearchTerm', false);
    // Advanced.style.display = 'none';
    document.getElementById('AdvancedSide').style.display = 'none';
    PageOptions ^= PageOptionsAdvancedSearch;
    //document.getElementById('SearchTerm').childNodes[0].innerText = 'More Search Options';
    document.getElementById('SearchTerm').childNodes[0].href = 'javascript:;ShowAdvancedSearch()';
    Write(52);
}


//////////////////////////////////////////////////////////////////////////////////////////////////
//Copied from:
//  http://www.hunlock.com/blogs/Totally_Pwn_CSS_with_Javascript
//////////////////////////////////////////////////////////////////////////////////////////////////
function getCSSRule(ruleName, deleteFlag)
{               // Return requested style obejct
    Write(53);
    ruleName = ruleName.toLowerCase();                       // Convert test string to lower case.
    if (document.styleSheets)
    {                            // If browser can play with stylesheets
        for (var i = 0; i < document.styleSheets.length; i++)
        { // For each stylesheet
            var styleSheet = document.styleSheets[i];          // Get the current Stylesheet
            var ii = 0;                                        // Initialize subCounter.
            var cssRule = false;                               // Initialize cssRule. 
            do
            {                                             // For each rule in stylesheet
                if (styleSheet.cssRules)
                {                    // Browser uses cssRules?
                    cssRule = styleSheet.cssRules[ii];         // Yes --Mozilla Style
                } else
                {                                      // Browser usses rules?
                    cssRule = styleSheet.rules[ii];            // Yes IE style. 
                }                                             // End IE check.
                if (cssRule)
                {                               // If we found a rule...
                    if (cssRule.selectorText.toLowerCase() == ruleName)
                    { //  match ruleName?
                        if (deleteFlag == 'delete')
                        {             // Yes.  Are we deleteing?
                            if (styleSheet.cssRules)
                            {           // Yes, deleting...
                                styleSheet.deleteRule(ii);        // Delete rule, Moz Style
                            } else
                            {                             // Still deleting.
                                styleSheet.removeRule(ii);        // Delete rule IE style.
                            }                                    // End IE check.
                            return true;                         // return true, class deleted.
                        } else
                        {                                // found and not deleting.
                            return cssRule;                      // return the style object.
                        }                                       // End delete Check
                    }                                          // End found rule name
                }                                             // end found cssRule
                ii++;                                         // Increment sub-counter
            } while (cssRule)                                // end While loop
        }                                                   // end For loop
    }                                                      // end styleSheet ability check
    Write(54);
    return false;                                          // we found NOTHING!
}                                                         // end getCSSRule 

function killCSSRule(ruleName)
{                          // Delete a CSS rule
    Write(55);
    Write(56);
    return getCSSRule(ruleName, 'delete');                  // just call getCSSRule w/delete flag.
}                                                         // end killCSSRule

function addCSSRule(ruleName)
{                           // Create a new css rule
    Write(57);
    if (document.styleSheets)
    {                            // Can browser do styleSheets?
        if (!getCSSRule(ruleName))
        {                        // if rule doesn't exist...
            if (document.styleSheets[0].addRule)
            {           // Browser is IE?
                document.styleSheets[0].addRule(ruleName, null, 0);      // Yes, add IE style
            } else
            {                                         // Browser is IE?
                document.styleSheets[0].insertRule(ruleName + ' { }', 0); // Yes, add Moz style.
            }                                                // End browser check
        }                                                   // End already exist check.
    }                                                      // End browser ability check.
    Write(58);
    return getCSSRue(ruleName);                           // return rule we just created.
}
//////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////
function LoadAgentSearchTerms()
{
    Write(59);
    var URL = '/Search/AgentSearchTerms.aspx';
    var Parameters = 'NoCache=' + Math.random();
    if (document.getElementById('SubmittedFromIndex') != undefined)
    {
        if (document.getElementById('AgentNameControl') != null)
        {
            Parameters += '&AgentName=' + document.getElementById('AgentNameControl').value;
        }
        document.getElementById('SubmittedFromIndex').parentNode.removeChild(document.getElementById('SubmittedFromIndex'));
    }
    SubmitAsyncPOST(URL, Parameters, document.getElementById('SearchTerms'), 'if(document.getElementById("Results")!=null){RetrieveAgents()}');
    DisplayedSearch = DisplayedSearchAgent;
    Write(60);
}
function RetrieveAgents()
{
    Write(61);
    var URL = 'AgentSearchData.aspx';
    var Parameters = BuildAgentParameters();
    SubmitAsyncPOST(URL, Parameters, document.getElementById('Results'), '');
    Write(62);
}
function BuildAgentParameters()
{
    Write(63);
    var Parameters = 'NoCache=' + Math.random();
    Parameters += '&AgentName=' + document.getElementById('AgentNameControl').value;
    Write(64);
    return Parameters;
}
function LoadMortgageCalculator()
{
    Write(65);
    var URL = '/Search/MortgageCalculator.aspx';
    var Parameters = 'NoCache=' + Math.random();
    SubmitAsyncPOST(URL, Parameters, document.getElementById('SearchTerms'), '');
    if (document.getElementById('SubmittedFromIndex') != undefined)
    {
        document.getElementById('SubmittedFromIndex').parentNode.removeChild(document.getElementById('SubmittedFromIndex'));
    }
    DisplayedSearch = DisplayedSearchMortgage;
    Write(66);
}
function LoadPropertySearchTerms()
{
    Write(67);
    if (document.getElementById('SubmittedFromIndex') != undefined)
    {
        document.getElementById('SubmittedFromIndex').parentNode.removeChild(document.getElementById('SubmittedFromIndex'));
    }
    LoadSearchTerms();
    Write(68);
}
function DontShowAgent()
{
    Write(69);
    if (event.stopPropagation != undefined)
    {
        event.stopPropagation();
    }
    if (event.cancelBubble != undefined)
    {
        event.cancelBubble = true;
    }
    Write(70);
}
function SetShowAll()
{
    Write(71);
    document.getElementById('RecordsPerPage').selectedIndex = document.getElementById('RecordsPerPage').options.length - 1;
    Write(72);
    return false;
}















var AlreadyClicked = false;
function ChooseOption()
{ }
function ChooseOption2(sender, Type)
{
    Write(73);
    //Write(Type);
    var DotSelected;
    DotSelected = document.getElementById(sender.id + 'DotSelected');
    if (Type == 'radio')
    {
        ClearDots(sender);
    }
    sender.checked &= !AlreadyClicked;
    ToggleDotSelected(DotSelected, sender)
    //break;
    //}
    Write(74);
}
function ClearDots(sender)
{
    Write(75);
    var Row = sender.parentNode.parentNode.parentNode;
    for (var intCount = 0; intCount < Row.childNodes.length; intCount++)
    {
        if (Row.childNodes[intCount].tagName != undefined)
        {
            var DotSelected = Row.childNodes[intCount].childNodes[0].childNodes[Row.childNodes[intCount].childNodes[0].childNodes.length - 1];
            DotSelected.style.display = 'none';
        } 
    }
    Write(76);
}
function ToggleDotSelected(DotSelected, CoverControl)
{
    Write(77);
    //Write(CoverControl.id);
    var Offset = (window.attachEvent == undefined ? 4 : 0);  //+ 20;
    DotSelected.style.left = (Left(CoverControl) - Offset) + 'px';
    DotSelected.style.top = (Top(CoverControl) - Offset) + 'px';
    DotSelected.style.display = (CoverControl.checked ? 'block' : 'none');
    AlreadyClicked = false;
    Write(78);
}
function SetDots()
{ }
function SetDots2()
{
    Write(79);
    //    SetDot('MasterBedroomFloorControl', 'Radio');
    SetDot('MasterBedroomFloorControl_0', 'Check');
    SetDot('MasterBedroomFloorControl_1', 'Check');
    //SetDot('LaundryFloorControl', 'Radio');
    SetDot('LaundryFloorControl_0', 'Check');
    SetDot('LaundryFloorControl_1', 'Check');
    //SetDot('CommunityClubHouse', 'Check');
    SetDot('CommunityGatedCommunity', 'Check');
    SetDot('CommunityGolfCourse', 'Check');
    //SetDot('CommunityPlayground', 'Check');
    SetDot('CommunityPool', 'Check');
    //SetDot('CommunityWalkingTrails', 'Check');
    //SetDot('CommunityTennisCourt', 'Check');
    SetDot('CommunityRecreation', 'Check');
    SetDot('PropertyWaterfront', 'Check');
    SetDot('PropertyOnGolfCourse', 'Check');
    SetDot('PropertyPool', 'Check');
    SetDot('PropertyDeckPatio', 'Check');
    SetDot('PropertyFencedYard', 'Check');
    Write(80);
}
var Dots = new Array();
function SetDot(senderID, ControlType)
{
    Write(81);
    var CheckBox = document.getElementById(senderID);
    var Dot = CreateDot(CheckBox);
    CheckBox.parentNode.appendChild(Dot);
    var DotSelected = CreateDotSelected(CheckBox.parentNode, senderID);
    Dot.onclick = new Function('ClickDot("' + Dot.parentNode.childNodes[0].id + '","' + CheckBox.id + '")');
    DotSelected.onclick = new Function('DotClicked("' + Dot.parentNode.childNodes[0].id + '");ChooseOption(document.getElementById("' + CheckBox.id + '"),"' + ControlType + '")');
    Dots.push(Dot);
    if (CheckBox.checked)
    {
        ToggleDotSelected(DotSelected, CheckBox);
    }
    //break;
    //}
    Write(82);
}
function ClickDot(senderID, receiverID)
{
    Write(83);
    var sender = document.getElementById(senderID);
    sender.checked = !sender.checked;
    ChooseOption(document.getElementById(receiverID), sender.type);
    Write(84);
}
function CreateDotSelected(Parent, senderID)
{
    Write(85);
    var DotSelected = document.createElement('img');
    DotSelected.src = '/search/images/DotSelected.gif';
    DotSelected.style.position = 'absolute';
    DotSelected.style.zIndex = '51';
    var sender = document.getElementById(senderID);
    DotSelected.style.display = 'none';
    DotSelected.id = senderID + 'DotSelected';
    Parent.appendChild(DotSelected);
    Write(86);
    return DotSelected;
}
function CreateDot(CoverControl)
{
    Write(87);
    var Dot = document.createElement('img');
    var Offset = (window.attachEvent == undefined ? 4 : 0);  //- 20;
    Dot.src = '/search/images/Dot.gif';
    Dot.style.position = 'absolute';
    Dot.style.zIndex = '50';
    Dot.style.left = (Left(CoverControl) - Offset) + 'px';
    Dot.style.top = (Top(CoverControl) - Offset) + 'px';
    Write(88);
    return Dot;
}
function DotClicked(senderID)
{
    Write(89);
    var sender = document.getElementById(senderID);
    sender.checked = !sender.checked;
    Write(90);
}















function ShowEmailListingBox(sender)
{
    var receiver = sender.nextSibling.nextSibling;// window.location.href.indexOf('search.aspx') > 0 ? sender.nextSibling : sender.nextSibling.nextSibling;
    receiver.style.display = 'block';
    var AddressBox = window.attachEvent == null ? receiver.childNodes[1] : receiver.childNodes[1]; //sender.parentNode.childNodes[0];
    setTimeout('document.getElementById("' + AddressBox.id + '").focus(),1');
    return false;
}
function HideEmailListing(sender)
{
    sender.parentNode.style.display = 'none';
    return false;
}
function EmailListing(sender, MLSNumber)
{
    Write(91);
    /*    if (document.getElementById('Email').value != '')
    {*/
    var AddressBox = window.attachEvent == null ? sender.parentNode.childNodes[1] : sender.parentNode.childNodes[1]; //sender.parentNode.childNodes[0];
    var AddressFromBox = window.attachEvent == null ? sender.parentNode.childNodes[3] : sender.parentNode.childNodes[3]; //sender.parentNode.childNodes[0];
    var MessageBoxValue = window.attachEvent == null ? sender.parentNode.childNodes[5].value : GetInnerText(sender.parentNode.childNodes[5]);
    if (AddressBox.value != '')
    {
        var URL = 'EmailListing.aspx';
        var Parameters = 'NoCache=' + Math.random();
        Parameters += '&MLSNumber=' + MLSNumber;
        Parameters += '&EmailTo=' + AddressBox.value; //document.getElementById('Email').value;
        Parameters += '&EmailFrom=' + AddressFromBox.value;
        Parameters += '&Email=' + MessageBoxValue; //document.getElementById('Email').value;
        SubmitAsyncPOST(URL, Parameters, Message, 'CheckEmailError("' + AddressBox.id + '")');
    }
    else
    {
        alert('Please enter an e-mail address so that we may e-mail this listing');
        setTimeout('document.getElementById("' + AddressBox.id + '").focus(),1');
    }
    /*    }
    else
    {
    alert('Please enter your e-mail address so that we me e-mail this listing to you');
    document.getElementById('Email').focus();
    }*/
    Write(92);
    return false;
}
function CheckEmailError(senderID)
{
    Write(93);
    var sender = document.getElementById(senderID);
    if (GetInnerText(Message).indexOf('Your e-mail address contains an error. Please check it to ensure there are no mistakes') > -1)
    {
        alert('Your e-mail address contains an error.  Please check it to ensure there are no mistakes');
        sender.focus();
    }
	else
	{
	    alert('Email sent successfully!');
	    sender.parentNode.style.display = 'none';
	}
	Write(94);
}
var PauseHide = false;
function PauseHideTextDropdown()
{
    PauseHide = true;
}
function HideTextDropdown(sender)
{
    sender.style.display = 'none';
    //setTimeout('CheckPauseHide("' + sender.id + '")', 1000);
}
function CheckPauseHide(senderID)
{
    var sender = document.getElementById(senderID);
    if (!PauseHide)
    {
        sender.nextSibling.nextSibling.style.display = 'none'
        PauseHide = false;
    }
    else
    {
        sender.focus();
    } 
}
function ScrollUp(sender)
{
    PauseHideTextDropdown();
    sender.parentNode.scrollTop = sender.parentNode.scrollTop - (sender.parentNode.offsetHeight / 2);
    SetScroll(sender.parentNode.id);
}
function ScrollDown(sender)
{
    PauseHideTextDropdown();
    sender.parentNode.scrollTop = sender.parentNode.scrollTop + (sender.parentNode.offsetHeight / 2);
    SetScroll(sender.parentNode.id);
}
var CurrentDrop = null;
var LastDrop = null;
var NoDropClose = false;
function SetCurrentDrop(sender)
{
    //sender.style.backgroundColor = 'blue';
    CurrentDrop = sender;
}
function UnsetCurrentDrop(sender)
{
    //sender.style.backgroundColor = 'white';
    LastDrop = CurrentDrop;
    CurrentDrop = null;
}
var NoTextDropClose = false;
function SetCurrentTextDrop(sender)
{
    //sender.style.backgroundColor = 'blue';
    CurrentTextDrop = sender;
}
function UnsetCurrentTextDrop(sender)
{
    //sender.style.backgroundColor = 'white';
    LastTextDrop = CurrentTextDrop;
    CurrentTextDrop = null;
}
























var CurrentTextDropdown = null;
var NoTextDropdown = false;
var CurrentTextDrop = null;
var LastTextDrop = null;
function ShowTextDropdown(sender, Characters, SkipFilter, ContentID, WrapperID)
{
    Write(43);
    if (Characters == undefined)
    {
        Characters = 3;
    }
    if (SkipFilter == undefined)
    {
        SkipFilter = false;
    }
    if (ContentID == undefined)
    {
        Dropdown = sender.nextSibling.nextSibling;
    }
    else
    {
        Dropdown = document.getElementById(ContentID);
    }
    var Wrapper = document.getElementById(WrapperID);
    if (Dropdown.options.length > 1)
    {
        Dropdown.style.position = 'absolute';
        Dropdown.style.display = 'block';
    }
    if (sender.value.length >= Characters && !SkipRefilter)
    {
        var URL = '/search/FilterDropdown.aspx';
        var Parameters = 'NoCache=' + Math.random();
        Parameters += '&Text=' + sender.value;
        Parameters += '&Field=' + sender.id;
        Parameters += '&SkipFilter=' + SkipFilter;
        $.post(URL, { Text: sender.value, Field: sender.id, SkipFilter: SkipFilter }, function(Data)
        {
            Message.innerHTML = Data;
            CompleteTextDropdown(sender, ContentID);
        });
        //SubmitAsyncPOST(URL, Parameters, Message, 'CompleteTextDropdown(document.getElementById("' + sender.id + '"),"' + ContentID + '")');
    }
    SkipRefilter = false;
    return false;
    Write(44);
}
function CompleteTextDropdown(sender, ContentID)
{
    var Content = document.getElementById(ContentID);
    /*if (window.attachEvent)
    {
        Content.innerHTML = ''; //Message.childNodes[0].innerHTML;
        while (Message.childNodes[0].childNodes.length > 0)
        {
            Content.appendChild(Message.childNodes[0].childNodes[0]);
        } 
    }
    else
    {*/
        var NewContent = Message.childNodes[0];
        NewContent.style.display = 'block';
        Content.parentNode.appendChild(NewContent);
        Content.parentNode.removeChild(Content);
        if (HoldingCustomDrop == Content)
        {
            HoldingCustomDrop = NewContent;
        }
        Content = NewContent;
    //}
    if (Content.options.length > 1)
    {
        Content.selectedIndex = 1;
    } 
}
var NoUnholdCustomDrop = false;
var CustomDrops = new Array();
var HoldingCustomDrop = null;
var SkipRefilter = false;
function ShowCustomDrop(sender, receiverID, DataEntryID, NoClear)
{
    CustomDrops = new Array();
    if ((DisplayedSearch & DisplayedSearchProperty) == DisplayedSearchProperty)
    {
        CustomDrops.push(document.getElementById('TypeControlContent'));
        CustomDrops.push(document.getElementById('PriceMinControlContent'));
        CustomDrops.push(document.getElementById('PriceMaxControlContent'));
        CustomDrops.push(document.getElementById('BathsControlContent'));
        CustomDrops.push(document.getElementById('BedsControlContent'));
        CustomDrops.push(document.getElementById('SqFtTotalControlContent'));
        CustomDrops.push(document.getElementById('YearBuiltControlContent'));
        CustomDrops.push(document.getElementById('AcresControlContent'));
        CustomDrops.push(document.getElementById('SidingControlContent'));
        CustomDrops.push(document.getElementById('ParkingControlContent'));
        CustomDrops.push(document.getElementById('SchoolElementaryControlContent'));
        CustomDrops.push(document.getElementById('SchoolJuniorControlContent'));
        CustomDrops.push(document.getElementById('SchoolHighControlContent'));
        CustomDrops.push(document.getElementById('StreetControlContent'));
        CustomDrops.push(document.getElementById('SubdivisionZipControlContent'));
        CustomDrops.push(document.getElementById('CountyControlContent'));
    }
    if ((DisplayedSearch & DisplayedSearchAgent) == DisplayedSearchAgent)
    {
        CustomDrops.push(document.getElementById('AgentNameControlContent'));
    }
    var DataEntry = document.getElementById(DataEntryID);
    if (false)//!NoClear)
    {
        DataEntry.value = '';
    }
    var Droplist = document.getElementById(receiverID);
    if (Droplist.options.length > 1)
    {
        Droplist.style.display = 'block';
        Droplist.style.position = 'absolute';
    } 
    Droplist.style.top = (Top(DataEntry) + DataEntry.offsetHeight) + 'px';
    if (window.attachEvent == undefined)
    {
        Droplist.style.left = DataEntry.offsetLeft; //Left(Droplist.parentNode) + 'px';
    }
    else
    {
        if (DataEntry.nextSibling.tagName != 'INPUT')
        {
            if (Droplist.offsetLeft >= DataEntry.offsetWidth)
            {
                Droplist.style.left = Droplist.offsetLeft - DataEntry.offsetWidth;
            }
            else
            {
                setTimeout('RemoveGhost("' + Droplist.id + '")', 1);
            }
        }
    }
    if (!NoPop)
    {
        if (window.attachEvent)
        {
            DataEntry.select();
        }
        else
        {
            DataEntry.focus();
        }
    }
    else
    {
        Retrieve(1);
        //NoPop = false;
    }
    return false;
}
function RemoveGhost(receiverID)
{
    var receiver = document.getElementById(receiverID);
    receiver.style.left = receiver.offsetLeft - 1;
    receiver.style.left = receiver.offsetLeft + 1;
}
function HideAllCustomDrops()
{
    for (var intCount = 0; intCount < CustomDrops.length; intCount++)
    {
        if (HoldingCustomDrop != CustomDrops[intCount])
        {
            if (CustomDrops[intCount] != null)
            {
                HideCustomDrop(CustomDrops[intCount].id, true);
            }
            else
            {
                CustomDrops.splice(intCount, 1);
            }
        }
    }
}
function HideCustomDrop(receiverID, StoreValue)
{
    if (StoreValue == undefined)
    {
        StoreValue = true;
    }
    var Droplist = document.getElementById(receiverID);
    Droplist.style.display = 'none';
    if (StoreValue)
    {
        //Droplist.onchange();
    } 
}
function HoldCustomDrop(senderID, receiverID)
{
    var sender = document.getElementById(senderID);
    var receiver = document.getElementById(receiverID);
    HoldingCustomDrop = receiver;
}
function UnholdCustomDrop()
{
    if (!NoUnholdCustomDrop)
    {
        HoldingCustomDrop = null;
    }
    NoUnholdCustomDrop = false;
}
function EditCustomDrop(senderID, receiverID, e, AllowMove, AllowChange)
{
    var sender = document.getElementById(senderID);
    var receiver = document.getElementById(receiverID);
    var KeyCode;
    if (window.event)
    {
        KeyCode = e.keyCode;
    }
    else
    {
        KeyCode = e.which;
    }
    var Change;
    switch (KeyCode)
    {
        case 38:
            Change = -1;
            break;
        case 40:
            Change = 1;
            break;
        case 13:
            Change = 0;
            NoPop = true;
            break;
        default:
            Change = 0;
            break;
    }
    ChangeContent(sender, receiver, Change, KeyCode, AllowMove, AllowChange);
}
var NoPop = false;
function ChangeContent(sender, receiver, Change, KeyCode, AllowMove, AllowChange)
{
    var DoChange = Change != 0 && AllowChange;
    var DoMove = Change != 0 && AllowMove;
    if ((receiver.options.length - 1 == receiver.selectedIndex && Change > 0) || (receiver.selectedIndex == 0 && Change < 0))
    {
        Change = 0;
    }
    else if (receiver.selectedIndex == -1 && Change != 0)
    {
        Change = 1;
    }
    if (DoMove)
    {
        receiver.selectedIndex += Change;
        SkipRefilter = true;
    }
    if (KeyCode == 9)
    {
        HoldingCustomDrop = null;
        DoChange = true;
    }
    if(DoChange)
    {
        ArrowMove = true;
        receiver.onchange();
    }
}
var ArrowMove = false;
function FindContent(senderID, receiverID, e)
{
    var sender = document.getElementById(senderID);
    var receiver = document.getElementById(receiverID);
    var KeyCode;
    if (window.event)
    {
        KeyCode = e.keyCode;
    }
    else
    {
        KeyCode = e.which;
    }
    if (KeyCode == 13)
    {
        setTimeout('Retrieve(1);', 100);
        return false;
    }
    var Text = sender.value.replace(',', '').replace('.','').replace(' ','').toLowerCase(); 
    var Match = false;
    var intCount = 1;
    while (intCount < receiver.options.length)
    {
        var CurrentOption = receiver.options[intCount];
        var OptionText = GetInnerText(CurrentOption).replace(',', '').replace('.', '').replace(' ', '').toLowerCase();
        var OptionValue = CurrentOption.value;
        if (OptionText.indexOf(Text) > -1 || OptionValue.indexOf(sender.value.replace(',', '').replace(' ', '').toLowerCase()) > -1)// || OptionValue.indexOf(Text) > -1)
        {
            if (!Match)
            {
                CurrentOption.selected = true;
            }
            Match = true;
            CurrentOption.style.backgroundColor = '#A6CAF0';
        }
        else
        {
            CurrentOption.style.backgroundColor = 'white';
        }
        intCount++;
    }
    if (!Match)
    {
        receiver.selectedIndex = 0;
    }
    return true
}
function SetCustomDropValue(ContentID, DataEntryID, DataStorageID, Close)
{
    if (Close == undefined)
    {
        Close = true;
    }
    var Content = document.getElementById(ContentID);
    var DataEntry = document.getElementById(DataEntryID);
    var DataStorage = document.getElementById(DataStorageID);
    if (Content.selectedIndex > -1)
    {
        var CurrentOption = Content.options[Content.selectedIndex];
        DataEntry.value = GetInnerText(CurrentOption);
        DataStorage.value = CurrentOption.value;
    }
    if (Close && !ArrowMove)
    {
        HideCustomDrop(ContentID, false);
    }
    ArrowMove = false;
}
function SetOnlySavedListings()
{
    ResultsOptions |= ResultsOptionsOnlySavedListings;
    document.getElementById('OnlySavedListingsButton').href = 'javascript:;UnsetOnlySavedListings()';
    SetInnerText(document.getElementById('OnlySavedListingsButton'), 'show all listings');
    Retrieve(1);
}
function UnsetOnlySavedListings()
{
    ResultsOptions ^= ResultsOptionsOnlySavedListings;
    document.getElementById('OnlySavedListingsButton').href = 'javascript:;SetOnlySavedListings()';
    SetInnerText(document.getElementById('OnlySavedListingsButton'), 'show saved listings');
    Retrieve(1);
}
function SetOpenHouseDefaults()
{
    document.getElementById('OpenHouses').checked = true;
    document.getElementById('CountyControl').value = ''
    Retrieve(1);
    //Parameters += '&CountyData=' + escape((document.getElementById('CountyControlData') == null ? -1 : document.getElementById('CountyControlData').value));
}
			var newwindow;
function moreInfo(url, MLSNumber)
{
	newwindow=window.open(url + '?MLSNumber=' + MLSNumber,'name','height=350,width=350');
	if (window.focus) {newwindow.focus()}
}