// JQuery init
$(function() {
    // don't use _blank in xhtml
    $("a[rel=\"external\"]").click(function() {
        this.target = "_blank";
      }); 

    // menu hover submenus
    var menus = "#browse_options,#browse_options_auctions,#browse_options_sellers,#browse_options_about,#browse_options_community"
    $(menus).hide();
    $("#tabs li").hover(
      function() {
        switch($(this).attr("class")) {
        case "search":
          $("#browse_options").show();
          break;
        case "auctions":
          $("#browse_options_auctions").show();
          break;
        case "sellers":
          $("#browse_options_sellers").show();
          break;
        case "about":
          $("#browse_options_about").show();
          break;
        case "community":
          $("#browse_options_community").show();
          break;
        default:
          break;
        }
        $(menus).hover(
          function() {
            $(this).show();
          },
          function() {
            $(this).hide();
          });
      },
      function() {
        $(menus).hide();
      }
    );

    // standard search
    $("#search_input input").keydown(function (e) {
        if (e.keyCode == 13) {
          var keyword=$("#search_input input").val().replace(' ','+', 'g');
          var searchurl="http://realestock.com/newsearch/kw/";
          var requesturl= searchurl + keyword;
          window.location.href=requesturl;
        }
      });
    //bind the same functionality to the the search button
    $("#search_button").click(function() {
        var keyword=$("#search_input input").val().replace(' ','+', 'g');
        var searchurl="http://realestock.com/newsearch/kw/";
        var requesturl= searchurl + keyword;
        window.location.href=requesturl;
      });
    // advanced search 
    $("#search_button_advanced").click(function() {
        if ($("#search_input_modal").is(":hidden")) {
          $("#search_input_modal").show();
          //unbind standard search functionality
          $("#search_input input").unbind("keydown");
          $("#search_button").unbind("click");
          //populate a request url with search options
          function buildrequest() {
            var searchurl="http://realestock.com/newsearch/";
            var keyword=$("#search_input input").val().replace(' ','+', 'g');
            var proptypes=[];
            $("#search_input_proptype input:checked").each(function() {
                proptypes.push($(this).val());
              });
            var pricemin=$("#search_input_price_min").val().replace(' ','','g');
            var pricemax=$("#search_input_price_max").val().replace(' ','','g');
            var bedrooms=$("#search_input_beds").val();
            var bathrooms=$("#search_input_baths").val();
            var options="false";
            if ($("input:radio[name=kwMatchType]:checked").val() == "All") {
                  var options="true";
                }
            var retStr = searchurl + "?kw=" + keyword;
            if (pricemin.match(/\d/)) retStr +="&minP=" + pricemin;
            if (pricemax.match(/\d/)) retStr +="&maxP=" + pricemax;
            if (bedrooms.match(/\d/)) retStr +="&beds=" + bedrooms;
            if (bathrooms.match(/\d/)) retStr +="&baths=" + bathrooms;
            return retStr + "&pt=" + proptypes.toString() + "&kwall=" + options;
          }
          //rebind with advanced functionality
          $("#search_input input,#search_input_modal").keydown(function (e) {
              if (e.keyCode == 13) {
                window.location.href=buildrequest();
              }
            });
          //bind the same functionality to the search link in the dialogue
          //and the search button
          $("#search_input_search, #search_button").click(function() {
              window.location.href=buildrequest();
            });
          //reset advanced search form
          $("#search_input_reset").click(function() {
              $("#search_input input").val("Search Realestock");
              $("select[id^='search_input_']").each(function() {
                  this.selectedIndex=0;
                });
              $("#search_input_proptype input:checked").each(function() {
                  this.checked=false;
                });
              $("input:radio[name=kwMatchType]").each(function() {
                  if ($(this).attr("value")=="All") {
                    this.checked=true;
                  }
                });
            });
          //close link, clear search results is null op on the joomla side of things.
          //rebind with standard search functionality
          $("#search_input_close,#search_input_clear").click(function() {
              $("#search_input input,#search_input_modal").unbind("keydown");
              $("#search_input_modal").hide();
              //rebind standard functionality
              $("#search_input input").keydown(function (e) {
                  if (e.keyCode == 13) {
                    var keyword=$("#search_input input").val().replace(' ','+', 'g');
                    var requesturl="http://realestock.com/newsearch/kw/" + keyword;
                    window.location.href=requesturl;
                  }
                });
            });
        }
        else {
          //if we're closing the advanced search window, unbind advanced functionality
          $("#search_input input,#search_input_modal").unbind("keydown");
          $("#search_button").unbind("click");
          $("#search_input_modal").hide();
          //rebind standard functionality
          $("#search_input input").keydown(function (e) {
              if (e.keyCode == 13) {
                var keyword=$("#search_input input").val().replace(' ','+', 'g');
                var requesturl="http://realestock.com/newsearch/kw/" + keyword;
                window.location.href=requesturl;
              }
            });
          //search button in input as well
          $("#search_button").click(function() {
              var keyword=$("#search_input input").val().replace(' ','+', 'g');
              var searchurl="http://realestock.com/newsearch/kw/";
              var requesturl= searchurl + keyword;
              window.location.href=requesturl;
            });
        }
      });

    // homepage flash include
    if ($("body#section-").length) {
      var flashvars = {};
      var params = {wmode:"transparent"};
      var attributes = {};
      swfobject.embedSWF("/templates/realestock/includes/flash/main/featured_home/featured_home.swf", "flash_featured", "960", "329", "8.0.0","expressInstall.swf", flashvars, params, attributes);
    } 
    
    // contact page form validation
    if ($("body#section-7").is(".page-24")) {
      $("#contact_form").validate();
    }

  });
