
YAHOO.namespace("ea.sp.mvj.edit");YAHOO.ea.sp.mvj.edit.Pulldown=function(view,values,selected)
{Dom=YAHOO.util.Dom;Event=YAHOO.util.Event;var esByClass=function(c,e,v){return Dom.getElementsByClassName(c,e,v?v:view);}
var eByClass=function(c,e,v){return esByClass(c,e,v)[0];}
view=Dom.get(view);this.label=eByClass('js-pulldown-label');this.button=eByClass('js-pulldown-button');Event.addListener(this.button,'mouseup',this.bind(this.showPulldown));this.menu=new YAHOO.widget.Menu(eByClass('js-menu'));this.values={};for(var i=0,v;(v=values[i])!=null;i++)
{this.values[v]=this.menu.getItem(i);if(typeof(this.values[v])!="undefined"){this.values[v].subscribe("click",this.bindFirst(this.itemSelected,v));}}
this.menu.render(view);this.createEvent(this.ITEM_SELECTED_EVENT);if(selected!=null){this.selectedValue=selected;}else{this.selectedValue=null;}}
YAHOO.ea.sp.mvj.edit.Pulldown.prototype={ITEM_SELECTED_EVENT:'item-selected',setValue:function(value)
{var item=this.values[value];var labelText=(item)?item.cfg.getProperty('text'):'';if(labelText)
this.label.innerHTML=labelText;this.selectedValue=value;},getValue:function()
{return this.selectedValue;},hidePulldown:function(){this.menu.hide();},itemSelected:function(value)
{this.setValue(value);this.fireEvent(this.ITEM_SELECTED_EVENT,value);},showPulldown:function()
{this.menu.cfg.setProperty('width',this.button.offsetWidth+'px');this.menu.show();},removeItemByIndex:function(idx,valueString)
{if(this.values[valueString])
{var itemObj=this.menu.getItem(idx);this.menu.removeItem(itemObj);this.values[valueString]=null;}},addItem:function(textVal,valueString)
{if(!this.values[valueString])
{var itemObj={text:textVal,url:"javascript:void(0);"};this.menu.addItem(itemObj);var menuObj=this.menu.getItem(this.menu.getItems().length-1);this.values[valueString]=menuObj;menuObj.subscribe("click",this.bindFirst(this.itemSelected,valueString));}}};YAHOO.lang.augment(YAHOO.ea.sp.mvj.edit.Pulldown,YAHOO.ea.sp.Bindable);YAHOO.lang.augment(YAHOO.ea.sp.mvj.edit.Pulldown,YAHOO.ea.sp.EventProvider)
