Ext.define('Ext.ux.itemreference.Reference', {

	extend: 'Ext.panel.Panel',

	alias: ['widget.ip2ItemReference', 'widget.ip2itemReference', 'widget.ip2itemreference'],

	requires: [
	'Ext.ux.itemreference.Grid',
	'Ext.ux.itemreference.Form'
	],

	layout: "border",

	border: false,

	initComponent: function() {
		var me = this;

		Ext.tip.QuickTipManager.init();

		me.labels = me.labels ||
		{
			fieldLabel: {
				da: 'Tilføj reference:',
				en: 'Add reference:'
			},
			name: {
				da: 'Producentnavn',
				en: 'Manufacturer name'
			},
			alternativItemNumber: {
				da: 'Producentvarenummer. Ved indtastning af flere, adskilles hvert nummer med semikolon.',
				en: 'Producentvarenummer. Ved indtastning af flere, adskilles hvert nummer med semikolon.'
			},
			manufacturerName: {
				da: 'Producentnavn',
				en: 'manufacturer'
			},
			webshopNumber: {
				da: 'Webshop varenummer',
				en: 'Webshop itemnumber'
			},
			manufacturerItemNumber: {
				da: 'Producent varenummer',
				en: 'Manufacturer item number'
			}
		};

		me.grid = Ext.create('Ext.ux.itemreference.Grid', {
			wrapper: me,
			proxy: '/wsh-services/partsProxy.aspx',
			labels: me.labels,
			flex: 1,
			region: "center"
		});

		me.form = Ext.create('Ext.ux.itemreference.Form', {
			wrapper: me,
			labels: me.labels,
			height: 80,
			border: false,
			region: "north"
		});

		me.items = [
			me.form,
			me.grid
		];

		me.callParent();

		me.relayEvents(me.grid, ['savecomplete']);
	},

	isDirty: function() {

		var i_self = this;
		var i_grid = i_self.grid;
		return i_grid.isDirty();
	},

	doSave: function() {
		this.grid.doSave();
	}
});
