
	YAHOO.util.Event.onDOMReady(function () {
	
		var Button = YAHOO.widget.Button;
	

		//	"render" event handler for a Button's Menu - responsible for setting
		//	 the default value for the Button's "selectedMenuItem" attribute.

		var onMenuRender = function (type, args, button) {

			button.set("selectedMenuItem", this.getItem(0));

		};


		//	"selectedMenuItemChange" event handler for a Button that will set 
		//	the Button's "label" attribute to the value of the "text" 
		//	configuration property of the MenuItem that was clicked.

		var onSelectedMenuItemChange = function (event) {

			var oMenuItem = event.newValue;

			this.set("label", ("<em class=\"yui-button-label\">" + 
						oMenuItem.cfg.getProperty("text") + "</em>"));

		};


		//	"submit" event handler for a Button's parent form - repsonsible for 
		//	rendering a Menu that was to be lazy loaded, but never clicked on, 
		//	and therefore never rendered.

		var onFormSubmit = function (event, button) {

			var oMenuItem = button.get("selectedMenuItem"),
				UA = YAHOO.env.ua,
				oEvent,
				oMenu;
			
			if (!oMenuItem) {

				//	Pause submission of the form until the Button's Menu 
				//	is rendered
				YAHOO.util.Event.preventDefault(event);

				oMenu = button.getMenu();

				oMenu.addItems(oMenu.itemData);

				oMenu.subscribe("render", function () {

					var bSubmitForm;

					if (UA.ie) {
						bSubmitForm = this.fireEvent("onsubmit");
					}
					else {  // Gecko, Opera, and Safari
			
						oEvent = document.createEvent("HTMLEvents");
						oEvent.initEvent("submit", true, true);
						bSubmitForm = this.dispatchEvent(oEvent);
			
					}

					//	In IE and Safari, dispatching a "submit" event to a form 
					//	WILL cause the form's "submit" event to fire, but WILL  
					//	NOT submit the form.  Therefore, we need to call the 
					//	"submit" method as well.
				  
					if ((UA.ie || UA.webkit) && bSubmitForm) {
						this.submit();
					}

				}, this, true);

				oMenu.render(oMenu.cfg.getProperty("container"));

			}
		
		};


		var oMenuButton1 = new Button({ 
							id: "menubutton-1", 
							name: "menubutton-1",
							label: "<em class=\"yui-button-label\">Select a Property Type</em>",
							type: "menu",  
							menu: "prop_type", 
							container: "select-1-container"
		});

		//	Register a "selectedMenuItemChange" event handler that will sync the 
		//	Button's "label" attribute to the MenuItem that was clicked.

		oMenuButton1.on("selectedMenuItemChange", onSelectedMenuItemChange);
		
		var oMenuButton2 = new Button({ 
							id: "menubutton-2", 
							name: "menubutton-2",
							label: "<em class=\"yui-button-label\">Minimum</em>",
							type: "menu",  
							menu: "min_price", 
							container: "select-2-container"
		});

		//	Register a "selectedMenuItemChange" event handler that will sync the 
		//	Button's "label" attribute to the MenuItem that was clicked.

		oMenuButton2.on("selectedMenuItemChange", onSelectedMenuItemChange);

		var oMenuButton3 = new Button({ 
							id: "menubutton-3", 
							name: "menubutton-3",
							label: "<em class=\"yui-button-label\">Select</em>",
							type: "menu",  
							menu: "quick_beds", 
							container: "select-3-container"
		});

		//	Register a "selectedMenuItemChange" event handler that will sync the 
		//	Button's "label" attribute to the MenuItem that was clicked.

		oMenuButton3.on("selectedMenuItemChange", onSelectedMenuItemChange);

		var oMenuButton4 = new Button({ 
							id: "menubutton-4", 
							name: "menubutton-4",
							label: "<em class=\"yui-button-label\">Select</em>",
							type: "menu",  
							menu: "quick_baths", 
							container: "select-4-container"
		});

		//	Register a "selectedMenuItemChange" event handler that will sync the 
		//	Button's "label" attribute to the MenuItem that was clicked.

		oMenuButton4.on("selectedMenuItemChange", onSelectedMenuItemChange);

		var oMenuButton5 = new Button({ 
							id: "menubutton-5", 
							name: "menubutton-5",
							label: "<em class=\"yui-button-label\">Maximum</em>",
							type: "menu",  
							menu: "max_price", 
							container: "select-5-container"
		});

		//	Register a "selectedMenuItemChange" event handler that will sync the 
		//	Button's "label" attribute to the MenuItem that was clicked.

		oMenuButton5.on("selectedMenuItemChange", onSelectedMenuItemChange);
		

	});
