$(document).ready(function(){
  $(".tabset .tab").click(function(){
    $('input.as-values').attr('name', 'qk!search'); // Make sure auto-select works

    // Sync up selected areas
    var tab = $(this).attr("href").substr(1,4);
    var formId = $("#"+tab).find("form").attr("id");

    // Remove existing
    $('#'+formId+' .all_areas option').each(function() {
      $(this).remove();
    });

    // Copy new
    $('form.form:hidden .all_areas option').each(function() {
      $("#"+formId+" .all_areas").append($(this));
    });

    updateLiveSearchCount("", formId);
  });


  // Handle map checkboxes
  $('.mapSearch input').click(function() {
    var parentForm = $('form.form:visible').attr('id');

    // Add/remove to our hidden <select> box
    var areaValue = $(this).val();
    if ($(this).is(':checked') == true) {
      // Add this area to the array
      $("#"+parentForm+" .all_areas").append("<option value=\""+areaValue+"\">"+areaValue.replace("c_","")+"</option>");
      $("#"+parentForm+" .all_areas option").attr('selected','selected');
    } else {
      // Remove this area from the select box
      var areas = $("#"+parentForm+" .all_areas").val();
      for(var i=0;i<areas.length;i++) {
        $("#"+parentForm+" .all_areas option[value='"+areaValue+"']").remove();
      }
    }
    updateLiveSearchCount("", parentForm);
  });


  // Autoselect for keywords input
  $('.as-selections input').live('focus', function() {
    $('.as-selections').css('background', '#fff');
  });
  $(".qk_search").autoSuggest(rel_path+"properties/ajax_keywords", {
      minChars: 2,
      startText: "",
      neverSubmit: true,
      keyDelay: 200,
      emptyText: "No matching areas or buildings found",
      start: function() {
        $('input.as-values').attr('name', 'qk!search');
      },
      selectionAdded: function() {
        var parentForm = $('form.form:visible').attr('id');
        updateLiveSearchCount("", parentForm);
      },
      selectionRemoved: function(e) {
        e.fadeTo("fast", 0, function() {
          if (e.parent().children('li.as-selection-item').length == 1) {
            // Last one!  Wipe our hidden field values.
            e.parent().children('li.as-original').children('input.as-values').val('');
          }

          // Remove and update search
          e.remove();
          var parentForm = $('form.form:visible').attr('id');
          updateLiveSearchCount("", parentForm);
        });
      }
    });
});

function gotoFeatPhoto(what) {
  if (!featTransitionHappening) {
    featTransitionHappening = true;
    jQuery('.thumbbox').removeClass('active');
    jQuery('#'+what.replace('Detail', 'ThumbBox')).addClass('active');

    jQuery('#'+what).css('z-index', 10);
    jQuery('#'+what).fadeIn('normal', function() {
      jQuery('#featPropDetails .featDetails').not('#'+what).css('z-index', 3);
      jQuery('#featPropDetails .featDetails').not('#'+what).removeClass('active');
      jQuery('#featPropDetails .featDetails').not('#'+what).hide();
      jQuery('#'+what).addClass('active');
      featTransitionHappening = false;
    });
    jQuery('#featCounter').html(parseInt(what.replace('featDetail', ''))+1);
  }
}

// Featured listings
var featTransitionHappening = false;
jQuery(document).ready(function() {
  if($.isFunction($.fn.jcarousel))
  {
    jQuery('#featProps').jcarousel({
        wrap: 'both',
        scroll: 4
    });
  }
  jQuery('#featProps .thumb a').click(function() {
    var target = jQuery(this).attr('id').replace('Thumb', 'Detail');
    gotoFeatPhoto(target);
  });
  jQuery('#featNext').click(function() { jQuery('#featProps').jcarousel('next'); });
  jQuery('#featLast').click(function() { jQuery('#featProps').jcarousel('prev'); });
});

function showMap() {
  if ($('.mapSearch').is(":hidden")) {
    $('.mapSearch').css('width', '0');
    $('.mapSearch').show();
    $('.mapSearch').animate({width: 600}, 1200, 'swing');
  } else {
    hideMap();
  }
}
function hideMap() {
  if ($('.mapSearch').is(":visible")) {
    $('.mapSearch').animate({width: 00}, 500, 'swing', function() {
      $('.mapSearch').hide();
    });
  }
}
