wf.SimpleCombo = wf.extend(wf.Component,{
	listHeight:100,
	width:120,
	height:20,
	datas:[],
	init:function(){
		this.el.setSize(this.width,this.height);
		this.inputEl=this.el.child('.inputText');
		this.inputEl.dom.readOnly=true;
		this.trigger=this.el.child('img');
		this.hiddenField=this.el.child('.hiddenText');
		this.trigger.on("click", this.onTriggerClick, this, {
            preventDefault: true
        });
		this.initList();
	},
	initList:function(){
		if(!this.list){
			var id=wf.id();
			var html='<div id="'+id+'" style="text-align: left;" class="s-combo-list"><div style="left: -1px;" ></div></div>';
		    wf.DomHelper.insertHtml('AfterBegin',wf.getBody().dom,html);
			this.list=wf.get(id);
			this.list.hide();
			this.list.setSize(this.width+18,this.listHeight);
			var listChild=this.list.child('div');
			listChild.setSize(this.width+16,this.listHeight-2);
			var offset;
			if(wf.isIE){
				offset=[-7,0];
			}else{
				offset=[-5,2]
			}
			this.list.alignTo(this.getInputEl(),'tl-bl?',offset);
			if(this.datas){
				var buf=[];
				for(var i=0;i<this.datas.length;i++){
					var o=this.datas[i];
					buf[i]='<a hidefocus="" href="javascript:void(0);">'+o.label+'</a>';
				}
			
				var html=buf.join("");
				listChild.update(html);
				this.items=wf.query('a',listChild.dom);
				
			}
			listChild.on('mouseover', this.onViewOver, this);
			listChild.on('click',this.onViewClick,this);
		}
	},
	onViewOver:function(e,t){
		var target=this.findItem(e,t);
		if(target){
			this.select(target);
		}
	},
	select:function(target){
		var items=this.items;
		if(items){
			for(var i=0;i<items.length;i++){
				var t=items[i];
				if(t==target){
					wf.fly(t).addClass('over');
				}else{
					wf.fly(t).removeClass('over');
				}
			}
		}
	},
	getIndex:function(target){
		var items=this.items;
		if(items){
			for(var i=0;i<items.length;i++){
				var t=items[i];
				if(t==target){
					return i;
				}
			}
		}
		return -1;
	},
	onViewClick:function(e,t){
		var target=this.findItem(e,t);
		if(target){
			var index=this.getIndex(target);
			if(index!=-1&&index<this.datas.length){
				var data=this.datas[index];
				this.setValue(data);
			}
		}
		this.collapse();
	},
	setValue:function(data){
		this.getInputEl().dom.value=data.label;
		this.hiddenField.dom.value=data.value;
	},
	findItem:function(e,t){
		 if(t.nodeName.toUpperCase()=="A"){
		 	return t;
		 }
		 var item = e.getTarget('a',this.el.dom);
		 return item;
		
	},
	onTriggerClick:function(){
		 if(this.isExpanded()){
		 	this.collapse();
        }else {
			this.expand();
        }
	},
	expand:function(){
		if(this.isExpanded()){
            return;
        }
		this.list.show();
		wf.getDoc().on('mousewheel', this.collapseIf, this);
		wf.getDoc().on('mousedown', this.collapseIf, this);
	},
	collapseIf : function(e){
		var t=e.getTarget();
        if(!this.el.contains(t) && !this.list.contains(t)){
            this.collapse();
        }
    },
	collapse:function(){
		 if(!this.isExpanded()){
            return;
        }
        this.list.hide();
		wf.getDoc().un('mousewheel', this.collapseIf, this);
		 	wf.getDoc().un('mousedown', this.collapseIf, this);
	},
	isExpanded : function(){
        return this.list && this.list.isVisible();
    },
	getInputEl:function(){
		return this.inputEl;
	}
});