1(function()
2{
3	// Adds Floorplan shapes
4	Sidebar.prototype.addFloorplanPalette = function()
5	{
6		var w = 100;
7		var h = 100;
8		var s = mxConstants.STYLE_VERTICAL_LABEL_POSITION + '=bottom;html=1;' + mxConstants.STYLE_VERTICAL_ALIGN + '=top;align=center;shape=mxgraph.floorplan.';
9		var s2 = mxConstants.STYLE_VERTICAL_LABEL_POSITION + '=center;html=1;' + mxConstants.STYLE_VERTICAL_ALIGN + '=top;align=center;shape=mxgraph.floorplan.';
10		var gn = 'mxgraph.floorplan';
11		var dt = 'floorplan ';
12		this.setCurrentSearchEntryLibrary('floorplan');
13
14		var fns =
15			[
16			this.createVertexTemplateEntry(s + 'wall;fillColor=#000000;',
17					w, 10, '', 'Wall (Horizontal)', null, null, this.getTagsForStencil(gn, 'wall', dt).join(' ')),
18			this.createVertexTemplateEntry(s + 'wall;fillColor=#000000;direction=south;',
19					10, h, '', 'Wall (Vertical)', null, null, this.getTagsForStencil(gn, 'wall', dt).join(' ')),
20			this.createVertexTemplateEntry(s + 'wallCorner;fillColor=#000000;',
21					w, h, '', 'Wall (Corner NW)', null, null, this.getTagsForStencil(gn, 'wallCorner', dt).join(' ')),
22			this.createVertexTemplateEntry(s + 'wallCorner;fillColor=#000000;direction=south;',
23					w, h, '', 'Wall (Corner NE)', null, null, this.getTagsForStencil(gn, 'wallCorner', dt).join(' ')),
24			this.createVertexTemplateEntry(s + 'wallCorner;fillColor=#000000;direction=west',
25					w, h, '', 'Wall (Corner SE)', null, null, this.getTagsForStencil(gn, 'wallCorner', dt).join(' ')),
26			this.createVertexTemplateEntry(s + 'wallCorner;fillColor=#000000;direction=north',
27					w, h, '', 'Wall (Corner SW)', null, null, this.getTagsForStencil(gn, 'wallCorner', dt).join(' ')),
28			this.createVertexTemplateEntry(s + 'wallU;fillColor=#000000;',
29					w, h, '', 'Wall (U)', null, null, this.getTagsForStencil(gn, 'wallU', dt).join(' ')),
30			this.createVertexTemplateEntry(s + 'room;fillColor=#000000;',
31					w, h, '', 'Room', null, null, this.getTagsForStencil(gn, 'room', dt).join(' ')),
32		 	this.createVertexTemplateEntry('shape=dimension;whiteSpace=wrap;html=1;align=center;points=[];verticalAlign=bottom;spacingBottom=-5;labelBackgroundColor=#ffffff', 100, 40, 'Label', 'Horizontal Dimension', null, null, 'horizontal dimension measure distance unit'),
33		 	this.createVertexTemplateEntry('shape=dimension;direction=west;whiteSpace=wrap;html=1;align=center;points=[];verticalAlign=top;spacingTop=-8;labelBackgroundColor=#ffffff', 100, 40, 'Label', 'Vertical Dimension', null, null, 'vertical dimension measure distance unit'),
34		 	this.createVertexTemplateEntry('shape=dimension;direction=north;whiteSpace=wrap;html=1;align=right;points=[];verticalAlign=middle;labelBackgroundColor=#ffffff', 40, 100, 'Label', 'Vertical Dimension', null, null, 'vertical dimension measure distance unit'),
35		 	this.createVertexTemplateEntry('shape=dimension;direction=south;whiteSpace=wrap;html=1;align=left;points=[];verticalAlign=middle;labelBackgroundColor=#ffffff', 40, 100, 'Label', 'Horizontal Dimension', null, null, 'horizontal dimension measure distance unit'),
36		 	this.createVertexTemplateEntry(s + 'window;',
37					w, 10, '', 'Window', null, null, this.getTagsForStencil(gn, 'window', dt).join(' ')),
38		 	this.createVertexTemplateEntry(s + 'windowGlider;dx=0.25;',
39					100, 10, '', 'Window, Glider', null, null, this.getTagsForStencil(gn, 'windowGlider', dt).join(' ')),
40		 	this.createVertexTemplateEntry(s + 'windowGarden;dx=0.25;',
41					100, 20, '', 'Window, Garden', null, null, this.getTagsForStencil(gn, 'windowGarden', dt).join(' ')),
42		 	this.createVertexTemplateEntry(s + 'windowBow;strokeWidth=3;',
43					100, 20, '', 'Window, Bow', null, null, this.getTagsForStencil(gn, 'windowBow', dt).join(' ')),
44		 	this.createVertexTemplateEntry(s + 'windowBay;strokeWidth=3;aspect=fixed;',
45					100, 40, '', 'Window, Bay', null, null, this.getTagsForStencil(gn, 'windowBay', dt).join(' ')),
46			this.createVertexTemplateEntry(s + 'stairs;',
47					300, 100, '', 'Stairs', null, null, this.getTagsForStencil(gn, 'stairs', dt).join(' ')),
48			this.createVertexTemplateEntry(s + 'stairs;direction=south;',
49					100, 300, '', 'Stairs', null, null, this.getTagsForStencil(gn, 'stairs', dt).join(' ')),
50			this.createVertexTemplateEntry(s + 'stairsRest;',
51					300, 200, '', 'Stairs', null, null, this.getTagsForStencil(gn, 'stairsRest', dt).join(' ')),
52			this.createVertexTemplateEntry(s + 'doorLeft;aspect=fixed;',
53					80, 85, '', 'Door', null, null, this.getTagsForStencil(gn, 'doorLeft', dt).join(' ')),
54			this.createVertexTemplateEntry(s + 'doorRight;aspect=fixed;',
55					80, 85, '', 'Door', null, null, this.getTagsForStencil(gn, 'doorRight', dt).join(' ')),
56			this.createVertexTemplateEntry(s + 'doorDouble;aspect=fixed;',
57					160, 85, '', 'Door, Double', null, null, this.getTagsForStencil(gn, 'doorDouble', dt).join(' ')),
58			this.createVertexTemplateEntry(s + 'doorUneven;dx=0.5;',
59					160, 85, '', 'Door, Uneven', null, null, this.getTagsForStencil(gn, 'doorUneven', dt).join(' ')),
60			this.createVertexTemplateEntry(s + 'doorOpposing;dx=0.5;',
61					160, 165, '', 'Door, Opposing', null, null, this.getTagsForStencil(gn, 'doorOpposing', dt).join(' ')),
62			this.createVertexTemplateEntry(s + 'doorRevolving;aspect=fixed;',
63					80, 85, '', 'Door, Revolving', null, null, this.getTagsForStencil(gn, 'doorLeft', dt).join(' ')),
64			this.createVertexTemplateEntry(s + 'doorPocket;dx=0.5;',
65					104, 10, '', 'Door, Pocket', null, null, this.getTagsForStencil(gn, 'doorPocket', dt).join(' ')),
66			this.createVertexTemplateEntry(s + 'doorDoublePocket;dx=0.25;',
67					104, 10, '', 'Door, Double Pocket', null, null, this.getTagsForStencil(gn, 'doorDoublePocket', dt).join(' ')),
68			this.createVertexTemplateEntry(s + 'doorBypass;dx=0.25;',
69					104, 10, '', 'Door, By-pass', null, null, this.getTagsForStencil(gn, 'doorBypass', dt).join(' ')),
70			this.createVertexTemplateEntry(s + 'doorBifold;dx=0.3;',
71					160, 40, '', 'Door, Bi-fold', null, null, this.getTagsForStencil(gn, 'doorBifold', dt).join(' ')),
72			this.createVertexTemplateEntry(s + 'doorSlidingGlass;dx=0.25;',
73					104, 10, '', 'Door, SlidingGlass', null, null, this.getTagsForStencil(gn, 'doorSlidingGlass', dt).join(' ')),
74			this.createVertexTemplateEntry(s + 'doorOverhead;',
75					104, 30, '', 'Door, Overhead', null, null, this.getTagsForStencil(gn, 'doorOverhead', dt).join(' ')),
76			this.createVertexTemplateEntry(s + 'doorAccordion;dx=0.6;',
77					160, 30, '', 'Door, Accordion', null, null, this.getTagsForStencil(gn, 'accordion', dt).join(' ')),
78			this.createVertexTemplateEntry(s + 'doorDoubleAction;aspect=fixed;',
79					80, 165, '', 'Door, Double Action', null, null, this.getTagsForStencil(gn, 'doorDoubleAction', dt).join(' ')),
80			this.createVertexTemplateEntry(s + 'opening;',
81					50, 10, '', 'Opening', null, null, this.getTagsForStencil(gn, 'opening', dt).join(' ')),
82			this.createVertexTemplateEntry(s + 'bathtub;',
83					180, 60, '', 'Bathtub', null, null, this.getTagsForStencil(gn, 'bathtub', dt).join(' ')),
84			this.createVertexTemplateEntry(s + 'bed_double;',
85					200, 180, '', 'Bed, Double', null, null, this.getTagsForStencil(gn, 'bed_double', dt).join(' ')),
86			this.createVertexTemplateEntry(s + 'bed_single;',
87					100, 180, '', 'Bed Single', null, null, this.getTagsForStencil(gn, 'bed_single', dt).join(' ')),
88			this.createVertexTemplateEntry(s + 'bookcase;',
89					120, 30, '', 'Bookcase', null, null, this.getTagsForStencil(gn, 'bookcase', dt).join(' ')),
90			this.createVertexTemplateEntry(s + 'chair;',
91					41, 52, '', 'Chair', null, null, this.getTagsForStencil(gn, 'chair', dt).join(' ')),
92			this.createVertexTemplateEntry(s + 'copier;',
93					110, 60, '', 'Copier', null, null, this.getTagsForStencil(gn, 'copier', dt).join(' ')),
94			this.createVertexTemplateEntry(s + 'couch;',
95					150, 80, '', 'Couch', null, null, this.getTagsForStencil(gn, 'couch', dt).join(' ')),
96			this.createVertexTemplateEntry(s + 'crt_tv;',
97					60, 40, '', 'CRT TV', null, null, this.getTagsForStencil(gn, 'crt_tv', dt).join(' ')),
98			this.createVertexTemplateEntry(s + 'desk_corner;',
99					150, 150, '', 'Desk Corner', null, null, this.getTagsForStencil(gn, 'desk_corner', dt).join(' ')),
100			this.createVertexTemplateEntry(s + 'desk_corner_2;',
101					150, 120, '', 'Desk Corner 2', null, null, this.getTagsForStencil(gn, 'desk_corner_2', dt).join(' ')),
102			this.createVertexTemplateEntry(s + 'dresser;',
103					100, 65, '', 'Dresser', null, null, this.getTagsForStencil(gn, 'dresser', dt).join(' ')),
104			this.createVertexTemplateEntry(s + 'elevator;',
105					100, 100, '', 'Elevator', null, null, this.getTagsForStencil(gn, 'elevator', dt).join(' ')),
106			this.createVertexTemplateEntry(s + 'fireplace;',
107					304, 200, '', 'Fireplace', null, null, this.getTagsForStencil(gn, 'fireplace', dt).join(' ')),
108			this.createVertexTemplateEntry(s + 'flat_tv;',
109					70, 10, '', 'Flat TV', null, null, this.getTagsForStencil(gn, 'flat_tv', dt).join(' ')),
110			this.createVertexTemplateEntry(s + 'floor_lamp;',
111					50, 50, '', 'Floor Lamp', null, null, this.getTagsForStencil(gn, 'floor_lamp', dt).join(' ')),
112			this.createVertexTemplateEntry(s + 'laptop;',
113					40, 35, '', 'Laptop', null, null, this.getTagsForStencil(gn, 'laptop', dt).join(' ')),
114			this.createVertexTemplateEntry(s + 'office_chair;',
115					40, 43, '', 'Office Chair', null, null, this.getTagsForStencil(gn, 'office_chair', dt).join(' ')),
116			this.createVertexTemplateEntry(s + 'piano;',
117					135, 143, '', 'Piano', null, null, this.getTagsForStencil(gn, 'piano', dt).join(' ')),
118			this.createVertexTemplateEntry(s + 'plant;',
119					47, 51, '', 'Plant', null, null, this.getTagsForStencil(gn, 'plant', dt).join(' ')),
120			this.createVertexTemplateEntry(s + 'printer;',
121					40, 47, '', 'Printer', null, null, this.getTagsForStencil(gn, 'printer', dt).join(' ')),
122			this.createVertexTemplateEntry(s + 'range_1;',
123					50, 62, '', 'Range 1', null, null, this.getTagsForStencil(gn, 'range_1', dt).join(' ')),
124			this.createVertexTemplateEntry(s + 'range_2;',
125					75, 62, '', 'Range 2', null, null, this.getTagsForStencil(gn, 'range_2', dt).join(' ')),
126			this.createVertexTemplateEntry(s + 'refrigerator;',
127					60, 62, '', 'Refrigerator', null, null, this.getTagsForStencil(gn, 'refrigerator', dt).join(' ')),
128			this.createVertexTemplateEntry(s + 'shower;',
129					100, 100, '', 'Shower', null, null, this.getTagsForStencil(gn, 'shower', dt).join(' ')),
130			this.createVertexTemplateEntry(s + 'sink_1;',
131					40, 35, '', 'Sink 1', null, null, this.getTagsForStencil(gn, 'sink_1', dt).join(' ')),
132			this.createVertexTemplateEntry(s + 'sink_2;',
133					40, 35, '', 'Sink 2', null, null, this.getTagsForStencil(gn, 'sink_2', dt).join(' ')),
134			this.createVertexTemplateEntry(s + 'sink_double;',
135					80, 35, '', 'Sink Double', null, null, this.getTagsForStencil(gn, 'sink_double', dt).join(' ')),
136			this.createVertexTemplateEntry(s + 'sofa;',
137					90, 80, '', 'Sofa', null, null, this.getTagsForStencil(gn, 'sofa', dt).join(' ')),
138			this.createVertexTemplateEntry(s + 'spiral_stairs;',
139					200, 200, '', 'Spiral Stairs', null, null, this.getTagsForStencil(gn, 'spiral_stairs', dt).join(' ')),
140			this.createVertexTemplateEntry(s + 'table;',
141					90, 50, '', 'Table', null, null, this.getTagsForStencil(gn, 'table', dt).join(' ')),
142			this.createVertexTemplateEntry(s + 'toilet;',
143					50, 67, '', 'Toilet', null, null, this.getTagsForStencil(gn, 'toilet', dt).join(' ')),
144			this.createVertexTemplateEntry(s + 'water_cooler;',
145					40, 40, '', 'Water Cooler', null, null, this.getTagsForStencil(gn, 'water_cooler', dt).join(' ')),
146			this.createVertexTemplateEntry(s + 'workstation;',
147					50, 40, '', 'Workstation', null, null, this.getTagsForStencil(gn, 'workstation', dt).join(' ')),
148
149			this.addEntry(dt + 'kitchen table small', function()
150			{
151			   	var table = new mxCell('', new mxGeometry(0, 20, 80, 80), 'shape=rect;shadow=0;');
152			   	table.vertex = true;
153			   	var chair1 = new mxCell('', new mxGeometry(20, 0, 40, 52), s + 'chair;shadow=0;');
154			   	chair1.vertex = true;
155			   	var chair2 = new mxCell('', new mxGeometry(20, 68, 40, 52), s + 'chair;shadow=0;rotation=180;');
156			   	chair2.vertex = true;
157
158	   			return sb.createVertexTemplateFromCells([chair1, chair2, table], 80, 120, 'Small kitchen table');
159			}),
160			this.addEntry(dt + 'kitchen table', function()
161			{
162			   	var table = new mxCell('', new mxGeometry(20, 20, 100, 100), 'shape=rect;shadow=0;');
163			   	table.vertex = true;
164			   	var chair1 = new mxCell('', new mxGeometry(50, 0, 40, 52), s + 'chair;shadow=0;');
165			   	chair1.vertex = true;
166			   	var chair2 = new mxCell('', new mxGeometry(50, 88, 40, 52), s + 'chair;shadow=0;direction=west;');
167			   	chair2.vertex = true;
168			   	var chair3 = new mxCell('', new mxGeometry(0, 50, 52, 40), s + 'chair;shadow=0;direction=north;');
169			   	chair3.vertex = true;
170			   	var chair4 = new mxCell('', new mxGeometry(88, 50, 52, 40), s + 'chair;shadow=0;direction=south');
171			   	chair4.vertex = true;
172
173	   			return sb.createVertexTemplateFromCells([chair1, chair2, chair3, chair4, table], 140, 140, 'Kitchen table');
174			}),
175
176			this.addEntry(dt + 'kitchen table', function()
177			{
178			   	var table = new mxCell('', new mxGeometry(20, 20, 100, 100), 'shape=ellipse;shadow=0;');
179			   	table.vertex = true;
180			   	var chair1 = new mxCell('', new mxGeometry(50, 0, 40, 52), s + 'chair;shadow=0;');
181			   	chair1.vertex = true;
182			   	var chair2 = new mxCell('', new mxGeometry(50, 88, 40, 52), s + 'chair;shadow=0;direction=west;');
183			   	chair2.vertex = true;
184			   	var chair3 = new mxCell('', new mxGeometry(0, 50, 52, 40), s + 'chair;shadow=0;direction=north;');
185			   	chair3.vertex = true;
186			   	var chair4 = new mxCell('', new mxGeometry(88, 50, 52, 40), s + 'chair;shadow=0;direction=south');
187			   	chair4.vertex = true;
188
189	   			return sb.createVertexTemplateFromCells([chair1, chair2, chair3, chair4, table], 140, 140, 'Round kitchen table');
190			}),
191
192			this.addEntry(dt + 'kitchen table large', function()
193			{
194			   	var table = new mxCell('', new mxGeometry(20, 20, 160, 100), 'shape=rect;shadow=0;');
195			   	table.vertex = true;
196			   	var chair1 = new mxCell('', new mxGeometry(50, 0, 40, 52), s + 'chair;shadow=0;');
197			   	chair1.vertex = true;
198			   	var chair2 = new mxCell('', new mxGeometry(50, 88, 40, 52), s + 'chair;shadow=0;direction=west;');
199			   	chair2.vertex = true;
200			   	var chair3 = new mxCell('', new mxGeometry(0, 50, 52, 40), s + 'chair;shadow=0;direction=north;');
201			   	chair3.vertex = true;
202			   	var chair4 = new mxCell('', new mxGeometry(148, 50, 52, 40), s + 'chair;shadow=0;direction=south');
203			   	chair4.vertex = true;
204			   	var chair5 = new mxCell('', new mxGeometry(110, 0, 40, 52), s + 'chair;shadow=0;');
205			   	chair5.vertex = true;
206			   	var chair6 = new mxCell('', new mxGeometry(110, 88, 40, 52), s + 'chair;shadow=0;direction=west;');
207			   	chair6.vertex = true;
208
209	   			return sb.createVertexTemplateFromCells([chair1, chair2, chair3, chair4, chair5, chair6, table], 200, 140, 'Large kitchen table');
210			}),
211
212			this.addEntry(dt + 'kitchen table large', function()
213			{
214			   	var table = new mxCell('', new mxGeometry(20, 20, 160, 100), 'shape=ellipse;shadow=0;');
215			   	table.vertex = true;
216			   	var chair1 = new mxCell('', new mxGeometry(50, 0, 40, 52), s + 'chair;shadow=0;');
217			   	chair1.vertex = true;
218			   	var chair2 = new mxCell('', new mxGeometry(50, 88, 40, 52), s + 'chair;shadow=0;direction=west;');
219			   	chair2.vertex = true;
220			   	var chair3 = new mxCell('', new mxGeometry(0, 50, 52, 40), s + 'chair;shadow=0;direction=north;');
221			   	chair3.vertex = true;
222			   	var chair4 = new mxCell('', new mxGeometry(148, 50, 52, 40), s + 'chair;shadow=0;direction=south');
223			   	chair4.vertex = true;
224			   	var chair5 = new mxCell('', new mxGeometry(110, 0, 40, 52), s + 'chair;shadow=0;');
225			   	chair5.vertex = true;
226			   	var chair6 = new mxCell('', new mxGeometry(110, 88, 40, 52), s + 'chair;shadow=0;direction=west;');
227			   	chair6.vertex = true;
228
229	   			return sb.createVertexTemplateFromCells([chair1, chair2, chair3, chair4, chair5, chair6, table], 200, 140, 'Large kitchen table');
230			}),
231
232			this.addEntry(dt + 'office table', function()
233			{
234			   	var table = new mxCell('', new mxGeometry(0, 20, 80, 50), 'shape=rect;shadow=0;');
235			   	table.vertex = true;
236			   	var chair1 = new mxCell('', new mxGeometry(20, 0, 40, 43), s + 'office_chair;shadow=0;');
237			   	chair1.vertex = true;
238			   	var item1 = new mxCell('', new mxGeometry(15, 30, 50, 40), s + 'workstation;shadow=0;flipV=1;');
239			   	item1.vertex = true;
240
241	   			return sb.createVertexTemplateFromCells([chair1, table, item1], 80, 70, 'Office table');
242			}),
243
244			this.addEntry(dt + 'office table', function()
245			{
246			   	var table = new mxCell('', new mxGeometry(20, 20, 100, 100), 'shape=rect;shadow=0;');
247			   	table.vertex = true;
248			   	var chair1 = new mxCell('', new mxGeometry(50, 0, 40, 43), s + 'office_chair;shadow=0;');
249			   	chair1.vertex = true;
250			   	var chair2 = new mxCell('', new mxGeometry(50, 97, 40, 43), s + 'office_chair;shadow=0;direction=west;');
251			   	chair2.vertex = true;
252			   	var chair3 = new mxCell('', new mxGeometry(0, 50, 43, 40), s + 'office_chair;shadow=0;direction=north;');
253			   	chair3.vertex = true;
254			   	var chair4 = new mxCell('', new mxGeometry(97, 50, 43, 40), s + 'office_chair;shadow=0;direction=south');
255			   	chair4.vertex = true;
256
257	   			return sb.createVertexTemplateFromCells([chair1, chair2, chair3, chair4, table], 140, 140, 'Office table');
258			}),
259
260			this.addEntry(dt + 'office table large', function()
261			{
262			   	var table = new mxCell('', new mxGeometry(20, 20, 160, 100), 'shape=rect;shadow=0;');
263			   	table.vertex = true;
264			   	var chair1 = new mxCell('', new mxGeometry(50, 0, 40, 43), s + 'office_chair;shadow=0;');
265			   	chair1.vertex = true;
266			   	var chair2 = new mxCell('', new mxGeometry(50, 97, 40, 43), s + 'office_chair;shadow=0;direction=west;');
267			   	chair2.vertex = true;
268			   	var chair3 = new mxCell('', new mxGeometry(0, 50, 43, 40), s + 'office_chair;shadow=0;direction=north;');
269			   	chair3.vertex = true;
270			   	var chair4 = new mxCell('', new mxGeometry(157, 50, 43, 40), s + 'office_chair;shadow=0;direction=south');
271			   	chair4.vertex = true;
272			   	var chair5 = new mxCell('', new mxGeometry(110, 0, 40, 43), s + 'office_chair;shadow=0;');
273			   	chair5.vertex = true;
274			   	var chair6 = new mxCell('', new mxGeometry(110, 97, 40, 43), s + 'office_chair;shadow=0;direction=west;');
275			   	chair6.vertex = true;
276
277	   			return sb.createVertexTemplateFromCells([chair1, chair2, chair3, chair4, chair5, chair6, table], 200, 140, 'Large office table');
278			}),
279
280			this.addEntry(dt + 'office table large', function()
281			{
282			   	var table = new mxCell('', new mxGeometry(20, 20, 160, 100), 'shape=ellipse;shadow=0;');
283			   	table.vertex = true;
284			   	var chair1 = new mxCell('', new mxGeometry(50, 0, 40, 43), s + 'office_chair;shadow=0;');
285			   	chair1.vertex = true;
286			   	var chair2 = new mxCell('', new mxGeometry(50, 97, 40, 43), s + 'office_chair;shadow=0;direction=west;');
287			   	chair2.vertex = true;
288			   	var chair3 = new mxCell('', new mxGeometry(0, 50, 43, 40), s + 'office_chair;shadow=0;direction=north;');
289			   	chair3.vertex = true;
290			   	var chair4 = new mxCell('', new mxGeometry(157, 50, 43, 40), s + 'office_chair;shadow=0;direction=south');
291			   	chair4.vertex = true;
292			   	var chair5 = new mxCell('', new mxGeometry(110, 0, 40, 43), s + 'office_chair;shadow=0;');
293			   	chair5.vertex = true;
294			   	var chair6 = new mxCell('', new mxGeometry(110, 97, 40, 43), s + 'office_chair;shadow=0;direction=west;');
295			   	chair6.vertex = true;
296
297	   			return sb.createVertexTemplateFromCells([chair1, chair2, chair3, chair4, chair5, chair6, table], 200, 140, 'Large office table');
298			}),
299
300			this.addEntry(dt + 'office table large', function()
301			{
302			   	var table = new mxCell('', new mxGeometry(20, 20, 280, 100), 'shape=ellipse;shadow=0;');
303			   	table.vertex = true;
304			   	var chair1 = new mxCell('', new mxGeometry(50, 0, 40, 43), s + 'office_chair;shadow=0;');
305			   	chair1.vertex = true;
306			   	var chair2 = new mxCell('', new mxGeometry(50, 97, 40, 43), s + 'office_chair;shadow=0;direction=west;');
307			   	chair2.vertex = true;
308			   	var chair3 = new mxCell('', new mxGeometry(0, 50, 43, 40), s + 'office_chair;shadow=0;direction=north;');
309			   	chair3.vertex = true;
310			   	var chair4 = new mxCell('', new mxGeometry(277, 50, 43, 40), s + 'office_chair;shadow=0;direction=south');
311			   	chair4.vertex = true;
312			   	var chair5 = new mxCell('', new mxGeometry(110, 0, 40, 43), s + 'office_chair;shadow=0;');
313			   	chair5.vertex = true;
314			   	var chair6 = new mxCell('', new mxGeometry(110, 97, 40, 43), s + 'office_chair;shadow=0;direction=west;');
315			   	chair6.vertex = true;
316			   	var chair7 = new mxCell('', new mxGeometry(170, 0, 40, 43), s + 'office_chair;shadow=0;');
317			   	chair7.vertex = true;
318			   	var chair8 = new mxCell('', new mxGeometry(170, 97, 40, 43), s + 'office_chair;shadow=0;direction=west;');
319			   	chair8.vertex = true;
320			   	var chair9 = new mxCell('', new mxGeometry(230, 0, 40, 43), s + 'office_chair;shadow=0;');
321			   	chair9.vertex = true;
322			   	var chair10 = new mxCell('', new mxGeometry(230, 97, 40, 43), s + 'office_chair;shadow=0;direction=west;');
323			   	chair10.vertex = true;
324
325	   			return sb.createVertexTemplateFromCells([chair1, chair2, chair3, chair4, chair5, chair6, chair7, chair8, chair9, chair10, table], 320, 140, 'Large office table');
326			}),
327
328			this.addEntry(dt + 'office table conference large huge', function()
329			{
330			   	var table = new mxCell('', new mxGeometry(20, 20, 520, 100), 'shape=ellipse;shadow=0;');
331			   	table.vertex = true;
332			   	var chair1 = new mxCell('', new mxGeometry(50, 0, 40, 43), s + 'office_chair;shadow=0;');
333			   	chair1.vertex = true;
334			   	var chair2 = new mxCell('', new mxGeometry(50, 97, 40, 43), s + 'office_chair;shadow=0;direction=west;');
335			   	chair2.vertex = true;
336			   	var chair3 = new mxCell('', new mxGeometry(0, 50, 43, 40), s + 'office_chair;shadow=0;direction=north;');
337			   	chair3.vertex = true;
338			   	var chair4 = new mxCell('', new mxGeometry(517, 50, 43, 40), s + 'office_chair;shadow=0;direction=south');
339			   	chair4.vertex = true;
340			   	var chair5 = new mxCell('', new mxGeometry(110, 0, 40, 43), s + 'office_chair;shadow=0;');
341			   	chair5.vertex = true;
342			   	var chair6 = new mxCell('', new mxGeometry(110, 97, 40, 43), s + 'office_chair;shadow=0;direction=west;');
343			   	chair6.vertex = true;
344			   	var chair7 = new mxCell('', new mxGeometry(170, 0, 40, 43), s + 'office_chair;shadow=0;');
345			   	chair7.vertex = true;
346			   	var chair8 = new mxCell('', new mxGeometry(170, 97, 40, 43), s + 'office_chair;shadow=0;direction=west;');
347			   	chair8.vertex = true;
348			   	var chair9 = new mxCell('', new mxGeometry(230, 0, 40, 43), s + 'office_chair;shadow=0;');
349			   	chair9.vertex = true;
350			   	var chair10 = new mxCell('', new mxGeometry(230, 97, 40, 43), s + 'office_chair;shadow=0;direction=west;');
351			   	chair10.vertex = true;
352			   	var chair11 = new mxCell('', new mxGeometry(290, 0, 40, 43), s + 'office_chair;shadow=0;');
353			   	chair11.vertex = true;
354			   	var chair12 = new mxCell('', new mxGeometry(290, 97, 40, 43), s + 'office_chair;shadow=0;direction=west;');
355			   	chair12.vertex = true;
356			   	var chair13 = new mxCell('', new mxGeometry(350, 0, 40, 43), s + 'office_chair;shadow=0;');
357			   	chair13.vertex = true;
358			   	var chair14 = new mxCell('', new mxGeometry(350, 97, 40, 43), s + 'office_chair;shadow=0;direction=west;');
359			   	chair14.vertex = true;
360			   	var chair15 = new mxCell('', new mxGeometry(410, 0, 40, 43), s + 'office_chair;shadow=0;');
361			   	chair15.vertex = true;
362			   	var chair16 = new mxCell('', new mxGeometry(410, 97, 40, 43), s + 'office_chair;shadow=0;direction=west;');
363			   	chair16.vertex = true;
364			   	var chair17 = new mxCell('', new mxGeometry(470, 0, 40, 43), s + 'office_chair;shadow=0;');
365			   	chair17.vertex = true;
366			   	var chair18 = new mxCell('', new mxGeometry(470, 97, 40, 43), s + 'office_chair;shadow=0;direction=west;');
367			   	chair18.vertex = true;
368
369	   			return sb.createVertexTemplateFromCells([chair1, chair2, chair3, chair4, chair5, chair6, chair7, chair8, chair9, chair10, chair11, chair12, chair13, chair14, chair15, chair16, chair17, chair18, table], 560, 140, 'Conference table');
370			})
371		];
372
373		this.addPalette('floorplan', mxResources.get('floorplans'), false, mxUtils.bind(this, function(content)
374		{
375			for (var i = 0; i < fns.length; i++)
376			{
377				content.appendChild(fns[i](content));
378			}
379		}));
380
381		this.setCurrentSearchEntryLibrary();
382	};
383
384})();
385