1(function()
2{
3	Sidebar.prototype.addAlliedTelesisPalette = function()
4	{
5		var d = 60;
6		var dt = 'allied telesis';
7		var sb = this;
8		var s = 'points=[];aspect=fixed;html=1;align=center;shadow=0;dashed=0;image;image=img/lib/allied_telesis/';
9
10		// Adds Allied Telesis shapes
11		this.setCurrentSearchEntryLibrary('allied_telesis', 'allied_telesisBuildings');
12		this.addAlliedTelesisBuildingsPalette(d, dt, sb, s);
13		this.setCurrentSearchEntryLibrary('allied_telesis', 'allied_telesisComputer and Terminals');
14		this.addAlliedTelesisComputerTerminalsPalette(d, dt, sb, s);
15		this.setCurrentSearchEntryLibrary('allied_telesis', 'allied_telesisMedia Converters');
16		this.addAlliedTelesisMediaConvertersPalette(d, dt, sb, s);
17		this.setCurrentSearchEntryLibrary('allied_telesis', 'allied_telesisSecurity');
18		this.addAlliedTelesisSecurityPalette(d, dt, sb, s);
19		this.setCurrentSearchEntryLibrary('allied_telesis', 'allied_telesisStorage');
20		this.addAlliedTelesisStoragePalette(d, dt, sb, s);
21		this.setCurrentSearchEntryLibrary('allied_telesis', 'allied_telesisSwitch');
22		this.addAlliedTelesisSwitchPalette(d, dt, sb, s);
23		this.setCurrentSearchEntryLibrary('allied_telesis', 'allied_telesisWireless');
24		this.addAlliedTelesisWirelessPalette(d, dt, sb, s);
25		this.setCurrentSearchEntryLibrary();
26	};
27
28	Sidebar.prototype.addAlliedTelesisBuildingsPalette = function(d, dt, sb, s)
29	{
30		s += 'buildings/';
31		var gn = 'buildings';
32
33		var fns = [
34			 this.createVertexTemplateEntry(s + 'Apartments.svg;',
35					 d * 0.9, d * 1.75, '', 'Apartments', false, null, this.getTagsForStencil(gn, 'apartments', dt).join(' ')),
36			 this.createVertexTemplateEntry(s + 'Building_Cluster.svg;',
37					 d * 2.02, d * 1.85, '', 'Building Cluster', false, null, this.getTagsForStencil(gn, 'building cluster', dt).join(' ')),
38			 this.createVertexTemplateEntry(s + 'Large_Building.svg;',
39					 d * 1.25, d * 1.25, '', 'Large Building', false, null, this.getTagsForStencil(gn, 'large building', dt).join(' ')),
40			 this.createVertexTemplateEntry(s + 'Long_Building.svg;',
41					 d * 2.09, d * 2.16, '', 'Long Building', false, null, this.getTagsForStencil(gn, 'long building', dt).join(' ')),
42			 this.createVertexTemplateEntry(s + 'Medium_Business_Building.svg;',
43					 d * 0.91, d * 1.17, '', 'Medium Business Building', false, null, this.getTagsForStencil(gn, 'medium business building', dt).join(' ')),
44			 this.createVertexTemplateEntry(s + 'School_Building.svg;',
45					 d * 2.75, d * 2.78, '', 'School Building', false, null, this.getTagsForStencil(gn, 'school building', dt).join(' ')),
46			 this.createVertexTemplateEntry(s + 'Secure_Building.svg;',
47					 d * 2.72, d * 1.86, '', 'Secure Building', false, null, this.getTagsForStencil(gn, 'secure building', dt).join(' '))
48		];
49
50   		this.addPalette('allied_telesisBuildings', 'Allied Telesis / Buildings', false, mxUtils.bind(this, function(content)
51	    {
52			for (var i = 0; i < fns.length; i++)
53			{
54				content.appendChild(fns[i](content));
55			}
56		}));
57	};
58
59	Sidebar.prototype.addAlliedTelesisComputerTerminalsPalette = function(d, dt, sb, s)
60	{
61		s += 'computer_and_terminals/';
62		var gn = 'computer terminals';
63
64		var fns = [
65			 this.createVertexTemplateEntry(s + 'IP_TV.svg;',
66					 d * 0.82, d * 0.84, '', 'IP TV', false, null, this.getTagsForStencil(gn, 'ip tv internet protocol television', dt).join(' ')),
67			 this.createVertexTemplateEntry(s + 'Keypad.svg;',
68					 d * 0.44, d * 0.8, '', 'Keypad', false, null, this.getTagsForStencil(gn, 'keypad', dt).join(' ')),
69			 this.createVertexTemplateEntry(s + 'Laptop.svg;',
70					 d * 0.7, d * 0.71, '', 'Laptop', false, null, this.getTagsForStencil(gn, 'laptop', dt).join(' ')),
71			 this.createVertexTemplateEntry(s + 'Personal_Computer.svg;',
72					 d * 0.76, d * 1.03, '', 'Personal Computer', false, null, this.getTagsForStencil(gn, 'personal computer', dt).join(' ')),
73			 this.createVertexTemplateEntry(s + 'Personal_Computer_Wireless.svg;',
74					 d * 1.05, d * 1.07, '', 'Personal Computer Wireless', false, null, this.getTagsForStencil(gn, 'personal computer wireless', dt).join(' ')),
75			 this.createVertexTemplateEntry(s + 'Personal_Computer_with_Server.svg;',
76					 d * 1.04, d * 1.04, '', 'Personal Computer with Server', false, null, this.getTagsForStencil(gn, 'Personal Computer Server', dt).join(' ')),
77			 this.createVertexTemplateEntry(s + 'POS_keypad.svg;',
78					 d * 0.62, d * 0.46, '', 'POS Keypad', false, null, this.getTagsForStencil(gn, 'pos keypad', dt).join(' ')),
79			 this.createVertexTemplateEntry(s + 'POS_Printer.svg;',
80					 d * 0.62, d * 0.54, '', 'POS Printer', false, null, this.getTagsForStencil(gn, 'pos printer', dt).join(' ')),
81			 this.createVertexTemplateEntry(s + 'Server_Desktop.svg;',
82					 d * 0.71, d * 0.90, '', 'Server Desktop', false, null, this.getTagsForStencil(gn, 'server desktop', dt).join(' ')),
83			 this.createVertexTemplateEntry(s + 'Smartphone.svg;',
84					 d * 0.33, d * 0.72, '', 'Smartphone', false, null, this.getTagsForStencil(gn, 'smartphone', dt).join(' ')),
85			 this.createVertexTemplateEntry(s + 'Tablet.svg;',
86					 d * 0.45, d * 0.95, '', 'Tablet', false, null, this.getTagsForStencil(gn, 'tablet', dt).join(' ')),
87			 this.createVertexTemplateEntry(s + 'Tablet_Alternative.svg;',
88					 d * 0.58, d * 0.8, '', 'Tablet Alternative', false, null, this.getTagsForStencil(gn, 'tablet alternative', dt).join(' ')),
89			 this.createVertexTemplateEntry(s + 'Vdeo_Conference_Terminal.svg;',
90					 d * 0.53, d * 0.75, '', 'Vdeo Conference Terminal', false, null, this.getTagsForStencil(gn, 'vdeo conference terminal', dt).join(' ')),
91			 this.createVertexTemplateEntry(s + 'VOIP_IP_phone.svg;',
92					 d * 0.5, d * 0.76, '', 'VOIP IP Phone', false, null, this.getTagsForStencil(gn, 'voip ip phone voice over internet protocol', dt).join(' '))
93		];
94
95   		this.addPalette('allied_telesisComputer and Terminals', 'Allied Telesis / Computer and Terminals', false, mxUtils.bind(this, function(content)
96	    {
97			for (var i = 0; i < fns.length; i++)
98			{
99				content.appendChild(fns[i](content));
100			}
101		}));
102	};
103
104	Sidebar.prototype.addAlliedTelesisMediaConvertersPalette = function(d, dt, sb, s)
105	{
106		s += 'media_converters/';
107		var gn = 'media converters';
108
109		var fns = [
110			 this.createVertexTemplateEntry(s + 'Industrial_Media_Converter.svg;',
111					 d * 0.5, d * 0.95, '', 'Industrial Media Converter', false, null, this.getTagsForStencil(gn, 'industrial media converter', dt).join(' ')),
112			 this.createVertexTemplateEntry(s + 'Industrial_Media_Converter_POE.svg;',
113					 d * 0.5, d * 0.95, '', 'Industrial Media Converter POE', false, null, this.getTagsForStencil(gn, 'industrial media converter poe', dt).join(' ')),
114			 this.createVertexTemplateEntry(s + 'Media_Converter_Modular.svg;',
115					 d * 1.18, d * 0.91, '', 'Media Converter Modular', false, null, this.getTagsForStencil(gn, 'media converter modular', dt).join(' ')),
116			 this.createVertexTemplateEntry(s + 'Media_Converter_Standalone.svg;',
117					 d * 0.76, d * 0.62, '', 'Media Converter Standalone', false, null, this.getTagsForStencil(gn, 'media converter standalone', dt).join(' ')),
118			 this.createVertexTemplateEntry(s + 'Media_Converter_Standalone_POE.svg;',
119					 d * 0.76, d * 0.62, '', 'Media Converter Standalone POE', false, null, this.getTagsForStencil(gn, 'media converter standalone poe', dt).join(' '))
120		];
121
122   		this.addPalette('allied_telesisMedia Converters', 'Allied Telesis / Media Converters', false, mxUtils.bind(this, function(content)
123	    {
124			for (var i = 0; i < fns.length; i++)
125			{
126				content.appendChild(fns[i](content));
127			}
128		}));
129	};
130
131	Sidebar.prototype.addAlliedTelesisSecurityPalette = function(d, dt, sb, s)
132	{
133		s += 'security/';
134		var gn = 'security';
135
136		var fns = [
137			 this.createVertexTemplateEntry(s + 'DVS_Surveillance_Monitor.svg;',
138					 d * 0.7, d * 1, '', 'DVS Surveillance Monitor', false, null, this.getTagsForStencil(gn, 'dvs surveillance monitor', dt).join(' ')),
139			 this.createVertexTemplateEntry(s + 'EtherGRID.svg;',
140					 d * 1.49, d * 1.08, '', 'EtherGRID', false, null, this.getTagsForStencil(gn, 'ethergrid', dt).join(' ')),
141			 this.createVertexTemplateEntry(s + 'POE_DVS_Camera.svg;',
142					 d * 0.85, d * 0.67, '', 'POE DVS Camera', false, null, this.getTagsForStencil(gn, 'poe dvs camera', dt).join(' ')),
143			 this.createVertexTemplateEntry(s + 'POS.svg;',
144					 d * 1.13, d * 1.2, '', 'POS', false, null, this.getTagsForStencil(gn, 'pos', dt).join(' ')),
145			 this.createVertexTemplateEntry(s + 'Router_UTM.svg;',
146					 d * 0.93, d * 0.66, '', 'Router UTM', false, null, this.getTagsForStencil(gn, 'router utm', dt).join(' ')),
147			 this.createVertexTemplateEntry(s + 'Router_VPN.svg;',
148					 d * 0.93, d * 0.66, '', 'Router VPN', false, null, this.getTagsForStencil(gn, 'router vpn', dt).join(' ')),
149			 this.createVertexTemplateEntry(s + 'Surveillance_Camera_Ceiling.svg;',
150					 d * 0.62, d * 0.59, '', 'Surveillance Camera Ceiling', false, null, this.getTagsForStencil(gn, 'surveillance camera ceiling', dt).join(' '))
151		];
152
153   		this.addPalette('allied_telesisSecurity', 'Allied Telesis / Security', false, mxUtils.bind(this, function(content)
154	    {
155			for (var i = 0; i < fns.length; i++)
156			{
157				content.appendChild(fns[i](content));
158			}
159		}));
160	};
161
162	Sidebar.prototype.addAlliedTelesisStoragePalette = function(d, dt, sb, s)
163	{
164		s += 'storage/';
165		var gn = 'storage';
166
167		var fns = [
168			 this.createVertexTemplateEntry(s + 'Datacenter_Server_Half_Rack_ToR.svg;',
169					 d * 1.47, d * 1.91, '', 'Datacenter Server Half Rack ToR', false, null, this.getTagsForStencil(gn, 'datacenter server half rack tor', dt).join(' ')),
170			 this.createVertexTemplateEntry(s + 'Datacenter_Server_Rack.svg;',
171					 d * 1.47, d * 2.98, '', 'Datacenter Server Rack', false, null, this.getTagsForStencil(gn, 'datacenter server rack', dt).join(' ')),
172			 this.createVertexTemplateEntry(s + 'Datacenter_Server_Rack_EoR.svg;',
173					 d * 1.43, d * 2.89, '', 'Datacenter Server Rack EoR', false, null, this.getTagsForStencil(gn, 'datacenter server rack eor', dt).join(' ')),
174			 this.createVertexTemplateEntry(s + 'Datacenter_Server_Rack_Storage_Unit_Small.svg;',
175					 d * 1.29, d * 1.12, '', 'Datacenter Server Rack Storage Unit Small', false, null, this.getTagsForStencil(gn, 'datacenter server rack storage unit small', dt).join(' ')),
176			 this.createVertexTemplateEntry(s + 'Datacenter_Server_Rack_ToR.svg;',
177					 d * 1.47, d * 2.98, '', 'Datacenter Server Rack ToR', false, null, this.getTagsForStencil(gn, 'datacenter server rack tor', dt).join(' ')),
178			 this.createVertexTemplateEntry(s + 'Datacenter_Server_Storage_Unit_Large.svg;',
179					 d * 1.28, d * 1.32, '', 'Datacenter Server Storage Unit Large', false, null, this.getTagsForStencil(gn, 'datacenter server storage unit large', dt).join(' '))
180		];
181
182   		this.addPalette('allied_telesisStorage', 'Allied Telesis / Storage', false, mxUtils.bind(this, function(content)
183	    {
184			for (var i = 0; i < fns.length; i++)
185			{
186				content.appendChild(fns[i](content));
187			}
188		}));
189	};
190
191	Sidebar.prototype.addAlliedTelesisSwitchPalette = function(d, dt, sb, s)
192	{
193		s += 'switch/';
194		var gn = 'switch';
195
196		var fns = [
197			 this.createVertexTemplateEntry(s + 'Industrial_Ethernet_IE200.svg;',
198					 d * 0.67, d * 0.94, '', 'Industrial Ethernet IE200', false, null, this.getTagsForStencil(gn, 'industrial ethernet ie200', dt).join(' ')),
199			 this.createVertexTemplateEntry(s + 'Industrial_Ethernet_IE200_POE.svg;',
200					 d * 0.67, d * 0.94, '', 'Industrial Ethernet IE200 POE', false, null, this.getTagsForStencil(gn, 'industrial ethernet ie200 poe', dt).join(' ')),
201			 this.createVertexTemplateEntry(s + 'Industrial_Ethernet_IE300.svg;',
202					 d * 1.16, d * 1.29, '', 'Industrial_Ethernet_IE300', false, null, this.getTagsForStencil(gn, 'industrial ethernet ie300', dt).join(' ')),
203			 this.createVertexTemplateEntry(s + 'Modular_Switch_SBx8106.svg;',
204					 d * 1.43, d * 1.23, '', 'Modular Switch SBx8106', false, null, this.getTagsForStencil(gn, 'modular switch sbx8106', dt).join(' ')),
205			 this.createVertexTemplateEntry(s + 'Modular_Switch_SBx8112.svg;',
206					 d * 1.49, d * 1.53, '', 'Modular Switch SBx8112', false, null, this.getTagsForStencil(gn, 'modular switch sbx8112', dt).join(' ')),
207			 this.createVertexTemplateEntry(s + 'Modular_Switch_SXx908GEN2.svg;',
208					 d * 1.3, d * 1.11, '', 'Modular Switch SXx908GEN2', false, null, this.getTagsForStencil(gn, 'modular switch sxx908gen2', dt).join(' ')),
209			 this.createVertexTemplateEntry(s + 'Switch_24_port_L2.svg;',
210					 d * 1.24, d * 0.85, '', 'Switch 24 port L2', false, null, this.getTagsForStencil(gn, 'switch 24 port l2', dt).join(' ')),
211			 this.createVertexTemplateEntry(s + 'Switch_24_port_L2_POE.svg;',
212					 d * 1.24, d * 0.85, '', 'Switch 24 port L2 POE', false, null, this.getTagsForStencil(gn, 'switch 24 port l2 poe', dt).join(' ')),
213			 this.createVertexTemplateEntry(s + 'Switch_24_port_L3.svg;',
214					 d * 1.24, d * 0.85, '', 'Switch 24 port L3', false, null, this.getTagsForStencil(gn, 'switch 24 port l3', dt).join(' ')),
215			 this.createVertexTemplateEntry(s + 'Switch_24_port_L3_Alternative.svg;',
216					 d * 1.3, d * 0.88, '', 'Switch 24 port L3 Alternative', false, null, this.getTagsForStencil(gn, 'switch 24 port l3 alternative', dt).join(' ')),
217			 this.createVertexTemplateEntry(s + 'Switch_24_port_L3_POE.svg;',
218					 d * 1.24, d * 0.85, '', 'Switch 24 port L3 POE', false, null, this.getTagsForStencil(gn, 'switch 24 port l3 poe', dt).join(' ')),
219			 this.createVertexTemplateEntry(s + 'Switch_48_port_L2.svg;',
220					 d * 1.3, d * 0.88, '', 'Switch 48 port L2', false, null, this.getTagsForStencil(gn, 'switch 48 port l2', dt).join(' ')),
221			 this.createVertexTemplateEntry(s + 'Switch_48_port_L2_POE.svg;',
222					 d * 1.3, d * 0.88, '', 'Switch 48 port L2 POE', false, null, this.getTagsForStencil(gn, 'switch 48 port l2 poe', dt).join(' ')),
223			 this.createVertexTemplateEntry(s + 'Switch_48_port_L3.svg;',
224					 d * 1.3, d * 0.88, '', 'Switch 48 port L3', false, null, this.getTagsForStencil(gn, 'switch 48 port l3', dt).join(' ')),
225			 this.createVertexTemplateEntry(s + 'Switch_48_port_L3_POE.svg;',
226					 d * 1.3, d * 0.88, '', 'Switch 48 port L3 POE', false, null, this.getTagsForStencil(gn, 'switch 48 port l3 poe', dt).join(' ')),
227			 this.createVertexTemplateEntry(s + 'Switch_52_port_L3.svg;',
228					 d * 1.3, d * 0.88, '', 'Switch 52 port L3', false, null, this.getTagsForStencil(gn, 'switch 52 port l3', dt).join(' '))
229		];
230
231   		this.addPalette('allied_telesisSwitch', 'Allied Telesis / Switch', false, mxUtils.bind(this, function(content)
232	    {
233			for (var i = 0; i < fns.length; i++)
234			{
235				content.appendChild(fns[i](content));
236			}
237		}));
238	};
239
240	Sidebar.prototype.addAlliedTelesisWirelessPalette = function(d, dt, sb, s)
241	{
242		s += 'wireless/';
243		var gn = 'wireless';
244
245		var fns = [
246			 this.createVertexTemplateEntry(s + 'Access_Point_Indoor.svg;',
247					 d * 0.61, d * 0.91, '', 'Access Point Indoor', false, null, this.getTagsForStencil(gn, 'access point indoor', dt).join(' ')),
248			 this.createVertexTemplateEntry(s + 'Access_Point_Outdoor.svg;',
249					 d * 0.43, d * 1.66, '', 'Access Point Outdoor', false, null, this.getTagsForStencil(gn, 'access point outdoor', dt).join(' ')),
250			 this.createVertexTemplateEntry(s + 'Laptop_Wireless.svg;',
251					 d * 0.96, d * 0.79, '', 'Laptop Wireless', false, null, this.getTagsForStencil(gn, 'laptop wireless', dt).join(' '))
252		];
253
254   		this.addPalette('allied_telesisWireless', 'Allied Telesis / Wireless', false, mxUtils.bind(this, function(content)
255	    {
256			for (var i = 0; i < fns.length; i++)
257			{
258				content.appendChild(fns[i](content));
259			}
260		}));
261	};
262})();
263