Ext.namespace('Ext.CC');

Ext.CC.SearchField = Ext.extend(Ext.form.TwinTriggerField, {
	store :{},
	
    initComponent : function(){
        Ext.CC.SearchField.superclass.initComponent.call(this);
        this.on('specialkey', function(f, e){
            if(e.getKey() == e.ENTER){
                this.onTrigger2Click();
            }
        }, this);
        var storeTemp = Ext.getCmp(this.store).getStore();
        this.store = storeTemp;
    },

    validationEvent:false,
    validateOnBlur:false,
    trigger1Class:'x-form-clear-trigger',
    trigger2Class:'x-form-search-trigger',
    hideTrigger1:true,
   // width:180,
    hasSearch : false,
    paramName : 'searchquery',

    onTrigger1Click : function(){
        if(this.hasSearch){
            this.el.dom.value = '';
            this.store.baseParams[this.paramName] = '';
            this.store.reload();
            this.triggers[0].hide();
            this.hasSearch = false;
        }
    },

    onTrigger2Click : function(){
    	//var storeTemp = Ext.getCmp(this.store).getStore();
        //this.store = storeTemp;
        var v = this.getRawValue();
        if(v.length < 1){
            this.onTrigger1Click();
            return;
        }
        this.store.baseParams = this.store.baseParams || {};
        this.store.baseParams[this.paramName] = v;
        this.store.reload();
        this.hasSearch = true;
        this.triggers[0].show();
    }
});

Ext.reg('searchfield', Ext.CC.SearchField);