﻿// setup dropdown variables for convenience
var prefix = "ctl00_cphMain_";
var ddPropertyType = prefix + "ddPropertyType";
var ddCounty = prefix + "ddCounty";
var ddCity = prefix + "ddCity";
var ddMinPrice = prefix + "ddMinPrice";
var ddMaxPrice = prefix + "ddMaxPrice";
var ddBeds = prefix + "ddBeds";
var ddBaths = prefix + "ddBaths";
var ddUnits = prefix + "ddUnits";
var txtMLS = prefix + "txtMLS";
var options = "less";
var priceVal = ["25000","50000","100000","150000","200000","250000","300000","400000","500000","1000000"];
var priceTxt = ["$25,000","$50,000","$100,000","$150,000","$200,000","$250,000","$300,000","$400,000","$500,000","$1,000,000"];

//
// update dropdowns when category changes
//
function onCategoryChange()
{
    var selected = document.getElementById(ddPropertyType).selectedIndex;
    var value = document.getElementById(ddPropertyType).options[selected].value;
    
    if( value == "4" || value == "6" )
    {
        // show units
        document.getElementById("Units").style.display = "block";
    }
    else
    {
        document.getElementById("Units").style.display = "none";
        document.getElementById(ddUnits).selectedIndex = 0;
    }
    
    if( value == "3" || value == "5" || value == "7" || value == "4" )
    {
        // hide bed & bath
        document.getElementById("Bedrooms").style.display = "none";
        document.getElementById(ddBeds).selectedIndex = 0;
        document.getElementById("Bathrooms").style.display = "none";
        document.getElementById(ddBaths).selectedIndex = 0;
    }
    else
    {
        document.getElementById("Bedrooms").style.display = "block";
        document.getElementById("Bathrooms").style.display = "block";
    }
}
//
// update city & schooldistrict dropdowns when county selection changes
//
function onCountyChange()
{
    var selected = document.getElementById(ddCounty).selectedIndex;
    var cty = document.getElementById(ddCounty).options[selected].value
    // update cities
    EliteProp.MapService.UpdateCities(cty,updateCities);
}

function updateCities(newCities)
{
    // clear current options
    for( var i=document.getElementById(ddCity).options.length; i > 0; i--)
    {
        document.getElementById(ddCity).options[i] = null;
    }
    for( var c=0; c < newCities.length; c++)
    {
        document.getElementById(ddCity).options[c+1] = new Option(newCities[c],newCities[c]);
    }
}

//
// redirect to search page
//
function btnSearch_Click()
{
    // set cookies
    SetCookies();
    
    //redirect to search results
    document.location = "PropertySearch.aspx";
}

//
// set cookies
//
function SetCookies()
{
    // set cookies
    var _category = document.getElementById(ddPropertyType).options[document.getElementById(ddPropertyType).selectedIndex].value;
    var _priceMin = document.getElementById(ddMinPrice).options[document.getElementById(ddMinPrice).selectedIndex].value;
    var _priceMax = document.getElementById(ddMaxPrice).options[document.getElementById(ddMaxPrice).selectedIndex].value;
    var _beds = document.getElementById(ddBeds).options[document.getElementById(ddBeds).selectedIndex].value;
    var _baths = document.getElementById(ddBaths).options[document.getElementById(ddBaths).selectedIndex].value;
    var _county = document.getElementById(ddCounty).options[document.getElementById(ddCounty).selectedIndex].value;
    var _city = document.getElementById(ddCity).options[document.getElementById(ddCity).selectedIndex].value;
    var _mls = document.getElementById(txtMLS).value;
    // set cookie to expire in a week
    var cookieExp = new Date();
    cookieExp.setDate(cookieExp.getDate()+7);
    var expired = new Date();
    expired.setDate(expired.getDate()-1);
    
    if( _category != 1 )
      document.cookie = 'category='+ _category +'; expires='+ cookieExp +'; path=/';
    else
      document.cookie = 'category=1; expires='+ expired +'; path=/';
      
    if( _priceMin != 0 || _priceMax != 999999999 )
      document.cookie = 'price='+ _priceMin +','+ _priceMax +'; expires='+ cookieExp +'; path=/';
    else
      document.cookie = 'price=0,999999999; expires='+ expired +'; path=/';
      
    if( _beds != 0 )  
      document.cookie = 'beds='+ _beds +'; expires='+ cookieExp +'; path=/';
    else
      document.cookie = 'beds=0; expires='+ expired +'; path=/';
      
    if( _baths != 0 )
      document.cookie = 'baths='+ _baths +'; expires='+ cookieExp +'; path=/';
    else
      document.cookie = 'baths=0; expires='+ expired +'; path=/';
      
    if( _county != "%" )
      document.cookie = 'county='+ _county +'; expires='+ cookieExp +'; path=/';
    else
      document.cookie = 'county=%; expires='+ expired +'; path=/';
      
    if( _city != "%" )
      document.cookie = 'city='+ _city +'; expires='+ cookieExp +'; path=/';
    else
      document.cookie = 'city=%; expires='+ expired +'; path=/';
      
    if( _mls != "" )
      document.cookie = 'mls='+ _mls +'; expires='+ cookieExp +'; path=/';
    else
      document.cookie = 'mls=%; expires='+ expired +'; path=/';
      
    //document.cookie = 'searched=true; expires'+ cookieExp +'; path=/';
    // reset map defaults
    document.cookie = 'mapCenter=43.05584433592095,-88.08013916015625; expires=' + cookieExp +'; path=/';
    document.cookie = 'mapZoom=9; expires'+ cookieExp +'; path=/';
    // clear unused cookies
    document.cookie = 'units=0; expires='+ expired +'; path=/';
    document.cookie = 'zip=%; expires='+ expired +'; path=/';
    document.cookie = 'street=%; expires='+ expired +'; path=/';
    document.cookie = 'subdiv=%; expires='+ expired +'; path=/';
    document.cookie = 'school=%; expires='+ expired +'; path=/';
    document.cookie = 'condo=%; expires='+ expired +'; path=/';    
    document.cookie = 'sort=Price,asc; expires='+ expired +'; path=/';
    document.cookie = 'user=%,%,%; expires='+ expired +'; path=/';
    document.cookie = 'options='+ options +'; expires='+ cookieExp +'; path=/';
}

// set cookies and forward to advanced search
function MoreOptions()
{
    options = "more";
    // set cookies
    SetCookies();
    // redirect to search page in advanced mode
    document.location = "PropertySearch.aspx?mode=advanced";
}

function onMinPriceChange()
{
    var selected = document.getElementById(ddMinPrice).selectedIndex;
    var value = document.getElementById(ddMinPrice).options[selected].value;
    var maxSelected = document.getElementById(ddMaxPrice).selectedIndex;
    var maxValue = document.getElementById(ddMaxPrice).options[maxSelected].value;
    
    // clear current options
    for( var i=document.getElementById(ddMaxPrice).options.length; i > 0; i--)
    {
        document.getElementById(ddMaxPrice).options[i] = null;
    }
    for( var c=0; c < priceVal.length; c++)
    {
        if( priceVal[c]/1 >= value )
        {
            document.getElementById(ddMaxPrice).options[document.getElementById(ddMaxPrice).options.length] = new Option(priceTxt[c],priceVal[c]);
        }
    }
    
    if( value/1 <= maxValue/1 )
    {
        var found = false;
        for( var d=0; d < document.getElementById(ddMaxPrice).options.length && !found; d++ )
        {
            if( document.getElementById(ddMaxPrice).options[d].value == maxValue )
            {
                found = true;
                maxSelected = d;
            }
        }
        
        document.getElementById(ddMaxPrice).selectedIndex = maxSelected;
    }   
}

function onMaxPriceChange()
{
    var selected = document.getElementById(ddMaxPrice).selectedIndex;
    var value = document.getElementById(ddMaxPrice).options[selected].value;
    var minSelected = document.getElementById(ddMinPrice).selectedIndex;
    var minValue = document.getElementById(ddMinPrice).options[minSelected].value;
    
    // clear current options
    for( var i=document.getElementById(ddMinPrice).options.length; i > 0; i--)
    {
        document.getElementById(ddMinPrice).options[i] = null;
    }
    for( var c=0; c < priceVal.length; c++)
    {
        if( priceVal[c]/1 <= value )
        {
            document.getElementById(ddMinPrice).options[document.getElementById(ddMinPrice).options.length] = new Option(priceTxt[c],priceVal[c]);
        }
    }
    
    if( value/1 >= minValue/1 )
    {
        var found = false;
        for( var d=0; d < document.getElementById(ddMinPrice).options.length && !found; d++ )
        {
            if( document.getElementById(ddMinPrice).options[d].value == minValue )
            {
                found = true;
                minSelected = d;
            }
        }
        
        document.getElementById(ddMinPrice).selectedIndex = minSelected;
    }   
}