var SIMPLE_SEARCH_LABEL = 'City or Zip Code';

function SearchInit()
{
    $("#sim_search").keypress(function (e)
    {
        if (e.which == 13) // if enter key is pressed
            checkSearch();
    })

    $('.simple_search_input').attr('value', SIMPLE_SEARCH_LABEL);

    $('.simple_search_input').each(function()
    {
        var default_value = this.value;
        $(this).css('color', '#666');
        $(this).focus(function()
        {
            if(this.value == default_value)
            {
                this.value = '';
                $(this).css('color', '#000');
            }
        });
        $(this).blur(function()
        {
            if(this.value == '')
            {
                $(this).css('color', '#666');
                this.value = default_value;
            }
        });
    });
}

function parse_hash(event) {
    var index;
    switch(event.parameters.searchType) {
    case 'simple':
    case '0':
    default:
        var index = 0;
        break;
    case 'cat':
    case '1':
        var index = 1;
        break;
    case 'advanced':
    case '2':
        var index = 2;
        break;
    }

    $("ul#acc1").activate(index);
}

function process_query() {
    switch(QUERY.searchType) {
    case 'simple':
    case '0':
    default:
        $("ul#acc1").activate(0);
        $("input[name='sim_PropertyType'][value='"+QUERY.type+"']").attr("checked", true);
        $("#sim_filter option[value='"+QUERY.filter+"']").attr("selected", true);
        $("#sim_search").val(QUERY.search).css('color', '#000');        
        break;
    case 'cat':
    case '1':
        $("ul#acc1").activate(1);
        $("input[name='cat_PropertyType'][value='"+QUERY.type+"']").attr("checked", true);
        $("#cat_filter option[value='"+QUERY.filter+"']").attr("selected", true);
        $("#cat_city option[value='"+QUERY.city+"']").attr("selected", true); 
        break;
    case 'advanced':
    case '2':
        $("ul#acc1").activate(2);
        $('#Advanced_Form').deserialize(QUERY);
        //setTimeout(getAdvancedCount,1000);
        break;
    }
}

function checkSearch(searchType)
{
  switch(searchType) {
  case 'sim':
  case 1:
  default:
      var type = $('input[name=sim_PropertyType]:checked').val();
      if(typeof(type) == 'undefined')
      {
        ErrorMessage('Please choose Sale, Lease or Both.', 'sim_ErrMsg');
        return;
      }

      var filter = $('#sim_filter').val();
      if(filter == -1)
      {
        ErrorMessage('Please choose a property type.', 'sim_ErrMsg');
        return;
      }

      var search = $('#sim_search').val();
	  if(search == SIMPLE_SEARCH_LABEL){
		search = '';
	  }
      /*if(search == '' || search == SIMPLE_SEARCH_LABEL)
      {
        ErrorMessage('Please enter a City or Zip code.', 'sim_ErrMsg');
        return;
      }*/
	if (search == ''){
		SendSearch('searchType=simple&type='+type+'&filter='+filter);
	}else{
      // All inputs for simple search valid, send search command
      SendSearch('searchType=simple&search='+search+'&type='+type+'&filter='+filter);
     }
	  break;
  case 'cat':
  case 2:
      var type = $('input[name=cat_PropertyType]:checked').val();
      if(typeof(type) == 'undefined')
      {
        ErrorMessage('Please choose Sale, Lease or Both.', 'cat_ErrMsg');
        return;
      }
      
      var filter = $('#cat_filter').val();
      if(typeof(filter) != 'string')
      {
        ErrorMessage('Please choose at least one property type.', 'cat_ErrMsg');
        return;
      }
      
      var city = $('#cat_city').val();
      if(typeof(city) != 'string')
      {
        ErrorMessage('Please select a city to search within.', 'cat_ErrMsg');
        return;
      }
      SendSearch('searchType=cat&city='+city+'&type='+type+'&filter='+filter);
      break;
  case 'adv':
  case 3:
        var param = $('#Advanced_Form').serialize();
        param = param.replace(/[^&]+=[&]/g, '').replace(/&[^&]+=$/g, '');

        SendSearch(param);
        break;
  }
}

/* Gets the number of results an Advanced search would return
 * Updates the Number field
 *
 */
function getAdvancedCount() {
    var param = $('#Advanced_Form').serialize();
    param = param.replace(/[^&]+=[&]/g, '').replace(/&[^&]+=$/g, '');
    param += '&countOnly=on';
    
    $('#resultCountThrobber').fadeIn('fast');    
    
    $.ajax({
        type: "POST",
        url: "../request/search.php",
        data: param,
        dataType: 'json',
        success: function (json_data) {

            setTimeout(function () { $('#resultCountThrobber').fadeOut('fast'); }, 100);
            
            if(!json_data.Count)
                json_data.Count = 0;
            
            $('#resultCountNumber').fadeOut('fast', function() { $('#resultCountNumber').html(json_data.Count).fadeIn('fast'); });
            $('#resultCount').fadeIn('normal');
            
        }
    });
}

function SendSearch(param)
{
  top.document.location = 'results.php?'+param;
}

function advReset() {
    document.Advanced_Form.reset();
    $('#resultCount').fadeOut('fast');    
}

var ErrTimer = -1;
function ErrorMessage(str, loc)
{
    if(ErrTimer != -1)
        clearTimeout(ErrTimer);

    $('#'+loc).html(str).fadeIn( function() {
        ErrTimer = setTimeout( function() {
            $('#'+loc).fadeOut("normal");
            ErrTimer = -1;
        }, 2500);
    });
}
-->
