/**
 * @author schiesser
 */
Ext.ns('efiport.book.view');

efiport.book.view.address = function(widget){
    var that = {
        viewName: 'Rechnungsadresse'
	};
    
	var commit = function() {
		if(that.panel.getForm().isValid()) {
			widget.controller.address.setAddress(that.panel.getForm().getValues());
		}
	};
	
    that.panel = new Ext.FormPanel({
        hideLabels: true,
		border: false,
		header: false,
        autoWidth: true,
        keys: {
            key: Ext.EventObject.ENTER,
            fn: commit
        },
        
        items: [{
			border: false,
			html: widget.addressText
		}, {
            layout: 'column',
            border: false,
            items: [{
                columnWidth: 0.3,
                layout: 'form',
                border: false,
                hideLabels: true,
                items: {
                    xtype: 'textfield',
					disabled: true,
                    name: 'firstName',
                    allowBlank: false,
                    anchor: '80%'
                }
            }, {
                columnWidth: 0.7,
                layout: 'form',
                border: false,
                hideLabels: true,
                items: {
                    xtype: 'textfield',
					disabled: true,
                    name: 'lastName',
                    allowBlank: false,
                    anchor: '90%'
                }
            }]
        }, {
            xtype: 'textfield',
            name: 'addressStreet',
            emptyText: 'Straße und Hausnummer',
            blankText: 'Bitte Straße und Hausnummer angeben.',
            allowBlank: false,
            anchor: '93%'
        }, {
            layout: 'column',
            border: false,
            items: [{
                columnWidth: 0.3,
                layout: 'form',
                hideLabels: true,
                border: false,
                items: {
                    xtype: 'textfield',
                    name: 'addressZipCode',
                    emptyText: 'PLZ',
		            blankText: 'Bitte Postleitzahl angeben.',
                    allowBlank: false,
                    anchor: '80%',
					maskRe: /[0-9]/,
					regex: /[0-9]{5}/
                }
            }, {
                columnWidth: 0.7,
                layout: 'form',
                hideLabels: true,
                border: false,
                items: {
                    xtype: 'textfield',
                    name: 'addressCity',
                    emptyText: 'Ort',
		            blankText: 'Bitte geben Sie Ihren Wohnort an.',
                    allowBlank: false,
                    anchor: '90%'
                }
            }]
        }]
        
    });
	// update this view if model changes
    widget.model.authPartner.addListener('load', function() {
		that.panel.getForm().loadRecord(widget.model.authPartner.getAt(0));
        that.panel.getForm().clearInvalid();
	});
	widget.model.authPartner.load();
	
	that.panel.addButton('Weiter', commit);
	
    return that;
};


