//version 1.1
PopupMenu.prototype.set_display = function(display, ctrl)
{
	if (YAHOO.lang.isNull(this.menu))
	{
		return;
	}

	this.display = display;

	if (display && YAHOO.env.ua.ie > 0 && YAHOO.env.ua.ie < 8) // Show -- IE 5, 6, 7
	{
		if (YAHOO.lang.isNull(this.locator))
		{
			var form_element = this.contains_form_elements(this.menu);

			if (form_element)
			{
				console.log("Popup '%s' contains form elements", this.control.innerHTML);
				this.form = form_element.form;
			}

			this.locator = this.menu.parentNode.insertBefore(document.createElement("div"), this.menu);
			YAHOO.util.Dom.addClass(this.locator, "popupbody");
			YAHOO.util.Dom.setStyle(this.locator, "visibility", "hidden");
			YAHOO.util.Dom.setStyle(this.locator, "display", "block");
			YAHOO.util.Dom.setStyle(this.locator, "margin", "0");
			YAHOO.util.Dom.setStyle(this.locator, "padding", "0");
			YAHOO.util.Dom.setStyle(this.locator, "border", "none");
			YAHOO.util.Dom.setStyle(this.menu, "display", "block");
			YAHOO.util.Dom.setStyle(this.locator, "width", this.menu.offsetWidth + "px");
			YAHOO.util.Dom.setStyle(this.locator, "height", this.menu.offsetHeight + "px");
			YAHOO.util.Dom.setStyle(this.menu, "display", "none");
			this.menu.form = document.body.appendChild(document.createElement("form"))
			this.menu.form.appendChild(this.menu);

			if (this.form)
			{
				YAHOO.util.Event.on(this.menu.form, "submit", this.handle_popup_form_submit, this, true);
				YAHOO.util.Event.on(this.menu.form, "reset", this.handle_popup_form_reset, this, true);
			}
		}

		if (this.check_menu(this.menu))
		{
			YAHOO.util.Dom.setStyle(this.menu, "opacity", 0);
			YAHOO.util.Dom.setStyle(this.menu, "display", "block");
			YAHOO.util.Dom.setXY(this.menu, this.get_menu_position(ctrl));
			
			var anim = new YAHOO.util.Anim(this.menu,{opacity: {from: 0, to: 1 }},1,YAHOO.util.Easing.easeOut);
			anim.animate();
			this.set_control_style();
		}
	}
	else if (display) // Show -- IE8, other browsers
	{
		if (this.check_menu(this.menu))
		{
				YAHOO.util.Dom.setStyle(this.menu, "opacity", 0);
				YAHOO.util.Dom.setStyle(this.menu, "display", "block");
				var anim = new YAHOO.util.Anim(this.menu,{opacity: {from: 0, to: 1 }},1,YAHOO.util.Easing.easeOut);
				anim.animate();
				this.set_offset(this.menu, ctrl);
				this.set_control_style();

		}
	}
	else // Hide -- All browsers
	{
		YAHOO.util.Dom.setStyle(this.menu, "display", "none");
		this.set_control_style();
	}
}
