
  // ================================================
  // functions
  // ================================================

    function get_walkscore(property) {
    } // end get_walkscore()

    function get_sections() {

      var ret  = [];

      if (getElement("property_menu")) {

        var objs = MochiKit.DOM.getElementsByTagAndClassName("a", "menu", getElement("property_menu"));

        for (var i = 0; i < objs.length; i++) {

          ret.push(objs[i].id);

        } // end for

      } // end if

      if (getElement("about_menu")) {

        var objs = MochiKit.DOM.getElementsByTagAndClassName("a", "menu", getElement("about_menu"));

        for (var i = 0; i < objs.length; i++) {

          ret.push(objs[i].id);

        } // end for

      } // end if

      return ret;

    } // end get_sections()

    function show_section(element, after_finish) {

      var element = MochiKit.DOM.getElement(element);

      if (element) {

        var sections = get_sections();

        for (var i = 0; i < sections.length; i++) {

          if (sections[i] != element.id) {

            MochiKit.DOM.getElement("section_" + sections[i]).style.display = "none";

            MochiKit.DOM.getElement(sections[i]).unselect();

          } else {

          //MochiKit.DOM.getElement("section_" + sections[i]).style.display = ""; // IE
            MochiKit.Visual.appear("section_" + sections[i], {"duration" : 0.50, "afterFinish" : after_finish});

            MochiKit.DOM.getElement(sections[i]).select();

          } // end if

        } // end for

      } // end if

    } // end show_section()

    function meettheteam() {
    
      setTimeout('window.location.hash = \'meettheteam\'', 550);

    } // end meettheteam();

  // ================================================
  // menu and button setup
  // ================================================

    // ================================================
    // top menu
    // ================================================

      var labels = ["find_an_apartment", "residents", "careers", "about_us", "contact_us"];

      for (var i in labels) {

        MochiKit.Signal.connect("menu_" + labels[i], "onmouseenter", partial(function (label, element) { MochiKit.DOM.addElementClass(element.parentNode, "selected"); MochiKit.DOM.removeElementClass(element, "menu.sprite-menu_"+label+"_off"); MochiKit.DOM.addElementClass(element, "menu.sprite-menu_" + label + "_on"); }, labels[i], getElement("menu_" + labels[i])));
        MochiKit.Signal.connect("menu_" + labels[i], "onmouseleave", partial(function (label, element) { MochiKit.DOM.removeElementClass(element.parentNode, "selected"); MochiKit.DOM.removeElementClass(element, "menu.sprite-menu_"+label+"_on"); MochiKit.DOM.addElementClass(element, "menu.sprite-menu_" + label + "_off"); }, labels[i], getElement("menu_" + labels[i])));

      } // end for

    // ================================================
    // property menu
    // ================================================

      var labels = ["about", "neighborhood", "floorplans_and_pricing", "map_and_directions"];

      for (var i in labels) {

        if (labels[i]) {

          var element = MochiKit.DOM.getElement("property_menu_" + labels[i]);

          if (element) {

            element.select = partial(function (label) {

                               MochiKit.DOM.removeElementClass(this.parentNode, "over");
                               MochiKit.DOM.removeElementClass(this.parentNode, "unselected");
                               MochiKit.DOM.removeElementClass(this, "menu.sprite-property_menu_" + label + "_off");
                               MochiKit.DOM.addElementClass(this, "menu.sprite-property_menu_" + label + "_on");

                             }, labels[i]);

            element.unselect = partial(function (label) {

                                 MochiKit.DOM.addElementClass(this.parentNode, "unselected");
                                 MochiKit.DOM.addElementClass(this, "menu.sprite-property_menu_" + label + "_off");
                                 MochiKit.DOM.removeElementClass(this, "menu.sprite-property_menu_" + label + "_on");

                               }, labels[i]);

            MochiKit.Signal.connect("property_menu_" + labels[i], "onmouseenter", partial(function (label, element) {

              if (MochiKit.DOM.hasElementClass(element.parentNode, "unselected")) {

                MochiKit.DOM.addElementClass(element.parentNode, "over");
                MochiKit.DOM.removeElementClass(element, "menu.sprite-property_menu_" + label + "_on");
                MochiKit.DOM.addElementClass(element, "menu.sprite-property_menu_" + label + "_off");

              } // end if

            }, labels[i], element));

            MochiKit.Signal.connect("property_menu_" + labels[i], "onmouseleave", partial(function (label, element) {

              if (MochiKit.DOM.hasElementClass(element.parentNode, "unselected")) {

                MochiKit.DOM.removeElementClass(element.parentNode, "over");

              } // end if

            }, labels[i], element));

          } // end if

        } // end if

      } // end for

    // ================================================
    // about menu
    // ================================================

      var labels = ["the_company", "our_team","whats_new"];

      for (var i in labels) {

        if (labels[i]) {

          var element = MochiKit.DOM.getElement("about_menu_" + labels[i]);

          if (element) {

            element.select = partial(function (label) {

                               MochiKit.DOM.removeElementClass(this.parentNode, "over");
                               MochiKit.DOM.removeElementClass(this.parentNode, "unselected");
                               MochiKit.DOM.removeElementClass(this, "menu.sprite-about_menu_" + label + "_off");
                               MochiKit.DOM.addElementClass(this, "menu.sprite-about_menu_" + label + "_on");

                             }, labels[i]);

            element.unselect = partial(function (label) {

                                 MochiKit.DOM.addElementClass(this.parentNode, "unselected");
                                 MochiKit.DOM.addElementClass(this, "menu.sprite-about_menu_" + label + "_off");
                                 MochiKit.DOM.removeElementClass(this, "menu.sprite-about_menu_" + label + "_on");

                               }, labels[i]);

            MochiKit.Signal.connect("about_menu_" + labels[i], "onmouseenter", partial(function (label, element) {

              if (MochiKit.DOM.hasElementClass(element.parentNode, "unselected")) {

                MochiKit.DOM.addElementClass(element.parentNode, "over");
                MochiKit.DOM.removeElementClass(element, "menu.sprite-about_menu_" + label + "_on");
                MochiKit.DOM.addElementClass(element, "menu.sprite-about_menu_" + label + "_off");

              } // end if

            }, labels[i], element));

            MochiKit.Signal.connect("about_menu_" + labels[i], "onmouseleave", partial(function (label, element) {

              if (MochiKit.DOM.hasElementClass(element.parentNode, "unselected")) {

                MochiKit.DOM.removeElementClass(element.parentNode, "over");

              } // end if

            }, labels[i], element));

          } // end if

        } // end if

      } // end for

    // ================================================
    // buttons
    // ================================================

      var labels = ["rental_application", "property_brochure"];

      for (var i in labels) {

        var element = MochiKit.DOM.getElement("property_button_" + labels[i]);

        if (element) {

          MochiKit.Signal.connect(element, "onmouseenter", partial(function (label, element) { MochiKit.DOM.addElementClass(element, "misc.sprite-property_button_" + label + "_over"); MochiKit.DOM.removeElementClass(element, "misc.sprite-property_button_" + label); }, labels[i], element));
          MochiKit.Signal.connect(element, "onmouseleave", partial(function (label, element) { MochiKit.DOM.removeElementClass(element, "misc.sprite-property_button_" + label + "_over"); MochiKit.DOM.addElementClass(element, "misc.sprite-property_button_" + label); }, labels[i], element));

        } // end if

      } // end for

    // ================================================

      if (MochiKit.DOM.getElement("property_menu_about")) {

        MochiKit.DOM.getElement("property_menu_about").select();

      } // end if

      if (MochiKit.DOM.getElement("about_menu_the_company")) {

        MochiKit.DOM.getElement("about_menu_the_company").select();

      } // end if

    // ================================================

  // ================================================