/* THIS OVERRIDE IS USED TO SHOW AND HIDE LABELS TOGETHER WITH FIELDS, thanks to Condor */
/* START */
Ext.override(Ext.layout.FormLayout, {
	renderItem : function(c, position, target){
		if(c && !c.rendered && c.isFormField && c.inputType != 'hidden'){
			var args = [
				   c.id, c.fieldLabel,
				   c.labelStyle||this.labelStyle||'',
				   this.elementStyle||'',
				   typeof c.labelSeparator == 'undefined' ? this.labelSeparator : c.labelSeparator,
				   (c.itemCls||this.container.itemCls||'') + (c.hideLabel ? ' x-hide-label' : ''),
				   c.clearCls || 'x-form-clear-left'
			];
			if(typeof position == 'number'){
				position = target.dom.childNodes[position] || null;
			}
			if(position){
				c.formItem = this.fieldTpl.insertBefore(position, args, true);
			}else{
				c.formItem = this.fieldTpl.append(target, args, true);
			}
			c.actionMode = 'formItem';
			c.render('x-form-el-'+c.id);
			c.container = c.formItem;
			c.actionMode = 'container';
		}else {
			Ext.layout.FormLayout.superclass.renderItem.apply(this, arguments);
		}
	}
});

Ext.override(Ext.form.TriggerField, {
	actionMode: 'wrap',
	onShow: Ext.form.TriggerField.superclass.onShow,
	onHide: Ext.form.TriggerField.superclass.onHide
});
/* END */

/* START: HIDDEN FIELD TYPE */
Ext.form.HiddenField = function(config){
    config.type = 'hidden';
    config.inputType = 'hidden';
    Ext.form.HiddenField.superclass.constructor.call(this, config);
};

Ext.extend(Ext.form.HiddenField, Ext.form.TextField,  {
    // private
    onRender : function(ct, position){
        if(this.el){
            this.el = Ext.get(this.el);
            if(!this.target){
                ct.dom.appendChild(this.el.dom);
            }
        }else {
            var cfg = {tag: "input", type: "hidden"};
            if(!cfg.name){
		        cfg.name = this.name;
		        cfg.id = this.id;
		    }
            this.el = ct.createChild(cfg, position);
        }
        this.el.dom.readOnly = true;
        this.el.dom.parentNode.parentNode.style.display = 'none';
        this.initValue();
    }
});
/* END: HIDDEN FIELD TYPE */