String.prototype.trim = function() {
	a = this.replace(/^\s+/, '');
	return a.replace(/\s+$/, '');
};
function initToolbarContent() {
	var action;
	action = new GeoExt.Action( {
		control : new OpenLayers.Control.ZoomToMaxExtent(),
		map : appobj.map,
		iconCls : 'zoomfull',
		tooltip : "Pokaż pełny widok"
	});
	appobj.toolbar.add(action);
	appobj.toolbar.add("-");
	action = new GeoExt.Action(
			{
				control : new OpenLayers.Control.ZoomBox(),
				toggleGroup : 'map',
				map : appobj.map,
				iconCls : 'zoomin',
				tooltip : "Przybliżenie: kliknij na mapę i przeciągnij wskazując obszar do powiększenia"
			});
	appobj.toolbar.add(action);
	action = new GeoExt.Action( {
		control : new OpenLayers.Control.ZoomBox( {
			out : true
		}),
		toggleGroup : 'map',
		map : appobj.map,
		iconCls : 'zoomout',
		tooltip : 'Oddalenie: kliknij na mapę żeby oddalić'
	});
	appobj.toolbar.add(action);
	action = new GeoExt.Action(
			{
				control : new OpenLayers.Control.DragPan( {
					isDefault : true
				}),
				toggleGroup : 'map',
				map : appobj.map,
				iconCls : 'pan',
				tooltip : 'Przesuń mapę: przytrzymując lewym przyciskiem myszy przesuń mapę'
			});
	appobj.toolbar.add(action);
	appobj.toolbar.add("-");
	var nav = new OpenLayers.Control.NavigationHistory();
	appobj.map.addControl(nav);
	nav.activate();
	action = new GeoExt.Action( {
		control : nav.previous,
		iconCls : 'back',
		disabled : true,
		tooltip : 'Poprzedni widok'
	});
	appobj.toolbar.add(action);
	action = new GeoExt.Action( {
		control : nav.next,
		iconCls : 'next',
		disabled : true,
		tooltip : 'Następny widok'
	});
	appobj.toolbar.add(action);
	appobj.toolbar.add("-");
	appobj.toolbar.add(new Ext.Toolbar.Button( {
		iconCls : 'infor',
		toggleGroup : 'map',
		tooltip : 'Informacja - wybierz warstwę do zapytania',
		handler : function() {
			var click = new OpenLayers.Handler.Click(this, {
				'click' : onClick
			}, {
				double : true,
				stopSingle : true,
				stopDouble : true
			});
			click.setMap(appobj.map);
			click.activate();
		}
	}))
	function onClick(pt) {
		OpenLayers.Util.getElement('nodeList').innerHTML = "<p style=font-size:11px;>Proszę czekać...Trwa pobieranie wyniku....</p>";
		var oStore = Ext.getCmp('cmb').store;
		var iId = Ext.getCmp('cmb').value;
		var wmsq = oWMSlayers[oStore.getById(iId).data.wmsind];
		var url = wmsq.getFullRequestString( {
			REQUEST : "GetFeatureInfo",
			EXCEPTIONS : "application/vnd.ogc.se_xml",
			BBOX : wmsq.map.getExtent().toBBOX(),
			X : pt.xy.x,
			Y : pt.xy.y,
			INFO_FORMAT : 'text/html',
			QUERY_LAYERS : oStore.getById(iId).data.value,
			WIDTH : wmsq.map.size.w,
			HEIGHT : wmsq.map.size.h
		});
		OpenLayers.loadURL(url, '', this, setHTML);
		Ext.getCmp('inf').expand();
	}
	;
	function setHTML(response) {
		var txt = response.responseText;
		if (txt.length < 2) {
			OpenLayers.Util.getElement('nodeList').innerHTML = 'Brak danych dla wskazanego obszaru';
		} else if (txt.indexOf('QUERY_LAYERS') != -1
				|| txt.indexOf('No LAYERS') != -1) {
			OpenLayers.Util.getElement('nodeList').innerHTML = 'Warstwa nieaktywna - włącz warstwę do widoku';
		} else {
			OpenLayers.Util.getElement('nodeList').innerHTML = txt;
		}
	}
	;
	var store = new Ext.data.SimpleStore( {
		fields : [ 'id', 'text', 'value', 'wmsind' ],
		data : oWMSQueryLayers,
		id : 0
	});
	appobj.toolbar.add(new Ext.form.ComboBox( {
		valueField : 'id',
		displayField : 'text',
		value : oWMSQueryLayers[0][0],
		editable : false,
		mode : 'local',
		triggerAction : 'all',
		lazyRender : true,
		width : 350,
		id : 'cmb',
		listClass : 'x-combo-list-small',
		store : store
	}));
	appobj.toolbar.add("-");
	var oMeasureDist = new OpenLayers.Control.Measure(OpenLayers.Handler.Path,
			{
				persist : true,
				geodesic : true,
				handlerOptions : {
					layerOptions : {
						styleMap : styleMap
					}
				}
			});
	appobj.map.addControl(oMeasureDist);
	action = new GeoExt.Action( {
		control : oMeasureDist,
		iconCls : 'mdist',
		tooltip : 'Pomiar odległości',
		toggleGroup : 'map'
	});
	appobj.toolbar.add(action);
	var oMeasureArea = new OpenLayers.Control.Measure(
			OpenLayers.Handler.Polygon, {
				persist : true,
				geodesic : true,
				handlerOptions : {
					layerOptions : {
						styleMap : styleMap
					}
				}
			});
	appobj.map.addControl(oMeasureArea);
	action = new GeoExt.Action( {
		control : oMeasureArea,
		iconCls : 'marea',
		tooltip : 'Pomiar powierzchni',
		toggleGroup : 'map'
	});
	appobj.toolbar.add(action)
	oMeasureDist.events.on( {
		'measure' : handleMeasurements,
		'measurepartial' : handleMeasurements,
		'deactivate' : function() {
			document.getElementById('pomiar').innerHTML = ''
		}
	});
	oMeasureArea.events.on( {
		'measure' : handleMeasurements,
		'measurepartial' : handleMeasurements,
		'deactivate' : function() {
			document.getElementById('pomiar').innerHTML = ''
		}
	});
	function handleMeasurements(event) {
		var geometry = event.geometry;
		var units = event.units;
		var order = event.order;
		var measure = event.measure;
		var element = document.getElementById('pomiar');
		var out = '';
		if (order == 1) {
			out += 'Odległość: ' + measure.toFixed(2) + ' ' + units;
		} else {
			out += 'Powierzchnia: ' + measure.toFixed(2) + ' ' + units
					+ '<sup>2</' + 'sup>';
		}
		element.innerHTML = out;
	}
	appobj.toolbar.add("-");
	
	appobj.toolbar.add( {
		handler : MailWindow,
		iconCls : 'mail',
		tooltip : 'Wyślij wiadomość'
	});
	
	appobj.toolbar.add("-");
		
	appobj.toolbar.add( {
		handler : HelpWindow,
		iconCls : 'info',
		tooltip : 'Instrukcja'
	});
};

function MailWindow() {
	window.open('email.php','mailWindow','width=550,height=400')
};



function HelpWindow(layername) {
	var request = OpenLayers.Request.GET( {
		url : 'help.html',
		async : false,
		success : function(response) {
			sHTML = response.responseText;
		}
	});
	var oPanel = new Ext.Panel( {
		region : 'center',
		items : [ {
			bodyCssClass : 'inf',
			html : sHTML
		} ]
	});
	appobj.InfoWindow.remove(appobj.InfoWindow.items.items[0]);
	appobj.InfoWindow.insert(0, oPanel);
	appobj.InfoWindow.show();
};



var sHtmlLeg;
function setHTMLLeg(response) {
	sHtmlLeg = response.responseText;
}
function CreateGoogleLayer(layername) {
	var gmap = new OpenLayers.Layer.Google(layername, {
		'sphericalMercator' : true
	});
	return gmap;
};
function CreateGoogleSatLayer(layername) {
	var gsat = new OpenLayers.Layer.Google(layername, {
		type : G_SATELLITE_MAP,
		'sphericalMercator' : true
	});
	return gsat;
};
function CreateGoogleHybLayer(layername) {
	var ghyb = new OpenLayers.Layer.Google(layername, {
		type : G_HYBRID_MAP,
		'sphericalMercator' : true
	});
	return ghyb;
};
function CreateGooglePhysLayer(layername) {
	var gphys = new OpenLayers.Layer.Google(layername, {
		type : G_PHYSICAL_MAP,
		'sphericalMercator' : true
	});
	return gphys;
};
function CreateBaseLayer(layername) {
	var base = new OpenLayers.Layer(layername, {
		isBaseLayer : true
	});
	return base;
};
function CreateOSMLayer(layername) {
	var osm = new OpenLayers.Layer.OSM(layername);
	return osm;
};
function CreateUMPLayer(layername) {
	var ump = new OpenLayers.Layer.OSM(layername, [
			"http://1.tiles.ump.waw.pl/ump_tiles/${z}/${x}/${y}.png",
			"http://2.tiles.ump.waw.pl/ump_tiles/${z}/${x}/${y}.png",
			"http://3.tiles.ump.waw.pl/ump_tiles/${z}/${x}/${y}.png" ], {
		numZoomLevels : 19,
		'buffer' : 0,
		attribution : "Dane z <a href='http://ump.waw.pl/'>UMP-pcPL</a>"
	});
	return ump;
};
function CreateWMSRasterLayer(layername) {
	var wmslyr = new OpenLayers.Layer.WMS(layername, oSciezki['mapserv'], {
		map : oSciezki['mapfiles'] + layername + '.map',
		transparent : 'true',
		layers : layername,
		map_imagetype : sMapImageType,
		format : sMapImageFormat
	}, oWMSOrtoOptions);
	return wmslyr;
};
function CreateWMSLayer(layername, sublayernames) {
	var wmslyr = new OpenLayers.Layer.WMS(layername, oSciezki['geoserv'], {
		transparent : 'true',
		layers : sublayernames
	}, oWMSOptions);
	return wmslyr;
};
function CreateWMSGeoPortalLayer(layername, sublayernames) {
	var wmslyr = new OpenLayers.Layer.WMS(layername, oSciezki['geoportal'], {
		transparent : 'true',
		layers : sublayernames,
		srs : "EPSG:4326"
	}, {
		buffer : 0,
		isBaseLayer : true
	});
	return wmslyr;
};
function CreateWMSLayerSingle(layername) {
	var wmslyr = new OpenLayers.Layer.WMS(layername, oSciezki['geoserv'], {
		transparent : 'true',
		layers : layername
	}, oWMSOptions);
	return wmslyr;
};
function CreateVectorSimpleLayer(layername) {
	var lyr = new OpenLayers.Layer.Vector(layername, {
		style : oAdres
	});
	return lyr;
};
function CreateEditLayer(layername) {
	var lyr = new OpenLayers.Layer.Vector(layername, {
		style : oEdit,
		strategies : [ new OpenLayers.Strategy.Fixed(), oSaveStrategy ],
		protocol : new OpenLayers.Protocol.HTTP( {
			url : oSciezki['edit'],
			format : new OpenLayers.Format.GeoJSON()
		})
	});
	return lyr;
};
function CreateLeftPanel() {
	var ltree = new Ext.tree.TreePanel( {
		title : "Warstwy",
		id : 'lyrtree',
		autoScroll : true,
		loader : new Ext.tree.TreeLoader( {
			applyLoader : false
		}),
		root : {
			nodeType : "async",
			layerStore : appobj.mapa,
			children : Ext.decode(treeConfig)
		},
		rootVisible : false,
		lines : false,
		listeners : {
			click : function(n, eo) {
				if (!n.layer)
					return;
				if (!n.layer.isBaseLayer) {
					var url = n.layer.getFullRequestString( {
						REQUEST : "GetLegendGraphic",
						EXCEPTIONS : "application/vnd.ogc.se_xml",
						FORMAT : "image/png",
						LAYER : n.layer.name + ":" + n.item
					});
					tip = new Ext.Window( {
						autoScroll : true,
						width : 300,
						height : 150,
						title : 'Legenda',
						bodyStyle : {
							backgroundColor : 'white'
						},
						x : eo.getXY()[0],
						y : eo.getXY()[1],
						items : [ {
							xtype : 'box',
							width : 'auto',
							height : 'auto',
							anchor : '',
							autoEl : {
								tag : 'img',
								src : url
							}
						} ]
					});
					tip.show();
				}
			}
		}
	});
	function setUp() {
		if (!appobj.pageLayer && printProvider) {
			appobj.pageLayer = new OpenLayers.Layer.Vector("_Print", {
				calculateInRange : function() {
					return true;
				}
			});
			appobj.pageLayer.addFeatures(printPage.feature);
			appobj.map.addLayers( [ appobj.pageLayer ]);
			appobj.pageDrag = new OpenLayers.Control.DragFeature(
					appobj.pageLayer,{
				onComplete : function(feat,pix) {
					printPage.fit(feat);
				}
			});
			appobj.map.addControl(appobj.pageDrag);
			appobj.pageDrag.activate();
		}
	}
	function tearDown() {
		if (appobj.pageLayer) {
			appobj.pageDrag.deactivate();
			appobj.pageDrag.destroy();
			appobj.pageDrag = null;
			appobj.pageLayer.removeFeatures(appobj.pageLayer.features);
			appobj.pageLayer.destroy();
			appobj.pageLayer = null;
		}
	}
	var printPanel = new Ext.form.FormPanel(
			{
				bodyStyle : "padding:5px",
				title : "Wydruk",
				labelAlign : "top",
				autoScroll : true,
				defaults : {
					anchor : "100%"
				},
				listeners : {
					'expand' : setUp,
					'collapse' : tearDown
				},
				items : [
						{
							xtype : "textfield",
							name : "tytul",
							value : "",
							fieldLabel : "Tytuł",
							plugins : new GeoExt.plugins.PrintPageField( {
								printPage : printPage
							})
						},
						{
							xtype : "textarea",
							name : "comment",
							value : "",
							fieldLabel : "Opis",
							plugins : new GeoExt.plugins.PrintPageField( {
								printPage : printPage
							})
						},
						{
							xtype : "combo",
							store : printProvider.layouts,
							displayField : "name",
							fieldLabel : "Format",
							typeAhead : true,
							mode : "local",
							triggerAction : "all",
							plugins : new GeoExt.plugins.PrintProviderField( {
								printProvider : printProvider
							})
						},
						{
							xtype : "combo",
							store : printProvider.dpis,
							displayField : "name",
							fieldLabel : "Rozdzielczość",
							tpl : '<tpl for="."><div class="x-combo-list-item">{name} dpi</div></tpl>',
							typeAhead : true,
							mode : "local",
							triggerAction : "all",
							plugins : new GeoExt.plugins.PrintProviderField( {
								printProvider : printProvider
							}),
							setValue : function(v) {
								v = parseInt(v) + " dpi";
								Ext.form.ComboBox.prototype.setValue.apply(
										this, arguments);
							}
						}, {
							xtype : "combo",
							store : printProvider.scales,
							displayField : "name",
							fieldLabel : "Skala",
							typeAhead : true,
							mode : "local",
							triggerAction : "all",
							plugins : new GeoExt.plugins.PrintPageField( {
								printPage : printPage
							})
						} ],
				buttons : [ {
					text : "Utwórz PDF",
					handler : function() {
						printProvider.print(appobj.mapa, printPage);
					}
				} ]
			});
	var request = OpenLayers.Request.GET( {
		url : './pg_query_tables.php',
		async : false,
		success : getTables
	});
	var tbls;
	function getTables(response) {
		if (response) {
			tbls = Ext.decode(response.responseText);
		}
	}
	;
	var store_tbls = new Ext.data.SimpleStore( {
		fields : [ 'klasa', 'alias_k' ],
		data : tbls,
		id : 0
	});
	var store_flds = new Ext.data.SimpleStore( {
		fields : [ 'pole', 'alias_p' ],
		data : [ [ "", "" ] ],
		id : 0
	});
	var store_vals = new Ext.data.SimpleStore( {
		fields : [ 'wart' ],
		data : [ [ "" ] ],
		id : 0
	});
	var selectPanel = new Ext.form.FormPanel( {
		bodyStyle : "padding:5px",
		title : "Selekcja",
		labelAlign : "top",
		defaults : {
			anchor : "100%"
		},
		items : [ {
			xtype : "combo",
			store : store_tbls,
			valueField : "klasa",
			displayField : "alias_k",
			fieldLabel : "Tabela",
			mode : "local",
			editable : false,
			triggerAction : "all",
			id : "cmb_tbls",
			listeners : {
				'select' : queryFields
			}
		}, {
			xtype : "combo",
			store : store_flds,
			valueField : "pole",
			displayField : "alias_p",
			fieldLabel : "Pole",
			mode : "local",
			editable : false,
			triggerAction : "all",
			id : "cmb_flds",
			listeners : {
				'select' : queryVals
			}
		}, {
			xtype : "combo",
			store : store_vals,
			valueField : "wart",
			displayField : "wart",
			fieldLabel : "Wartość",
			mode : "local",
			editable : true,
			triggerAction : "all",
			id : "cmb_vals"
		} ],
		buttons : [ {
			text : "Szukaj",
			handler : loadFeatures
		},
{
			text : "Czyść",
			handler : clearSel
		} 		]
	});
	function queryFields(combo, record, index) {
		var flds;
		var params = {
			table : record.data.klasa
		};
		var request = OpenLayers.Request.GET( {
			url : './pg_query_fields.php',
			async : false,
			params : params,
			success : getFields
		});
		function getFields(response) {
			if (response) {
				flds = Ext.decode(response.responseText);
			}
		}
		;
		store_flds.loadData(flds);
		Ext.getCmp('cmb_flds').reset();
		Ext.getCmp('cmb_vals').reset();
	}
	function queryVals(combo, record, index) {
		var vals;
		var tb = Ext.getCmp('cmb_tbls').value;
		var params = {
			table : tb,
			pole : record.data.pole
		};
		var request = OpenLayers.Request.GET( {
			url : './pg_query_vals.php',
			async : false,
			params : params,
			success : getVals
		});
		function getVals(response) {
			if (response) {
				vals = Ext.decode(response.responseText);
			}
		}
		;
		store_vals.loadData(vals);
		Ext.getCmp('cmb_vals').reset();
	}
	function loadFeatures() {
		var ftrs;
		var wynik = 1;
		var vTb = Ext.getCmp('cmb_tbls').value;
		var vFl = Ext.getCmp('cmb_flds').value;
		var vVl = Ext.getCmp('cmb_vals').value;
		var params = {
			tab : vTb,
			col : vFl,
			wart : vVl
		};
		var request = OpenLayers.Request.GET( {
			url : './pg_query_features.php',
			async : false,
			params : params,
			success : getFeatures
		});
		function getFeatures(response) {
			if (response.responseText == "0") {
				Ext.Msg.alert('UWAGA', 'Brak wyników.');
				wynik = 0;
			}
			if (response) {
				ftrs = Ext.decode(response.responseText);
			}
		}
		;
		if (wynik == 0)
			return;
		if (appobj.selectLayer) {
			appobj.selectLayer.removeFeatures(appobj.selectLayer.features);
			appobj.selectLayer.destroy();
			appobj.selectLayer = null;
		}
		appobj.selectLayer = new OpenLayers.Layer.Vector("_Select");
		appobj.map.addLayers( [ appobj.selectLayer ]);
		var pjson = new OpenLayers.Format.GeoJSON();
		var g = pjson.read(ftrs.dane);
		storeftrs = new GeoExt.data.FeatureStore( {
			layer : appobj.selectLayer,
			fields : ftrs.pola,
			features : g,
			autoLoad : true
		});
		gridPanel = new Ext.grid.GridPanel( {
			region : "center",
			store : storeftrs,
			columns : ftrs.cols,
			sm : new GeoExt.grid.FeatureSelectionModel()
		})
		gridPanel.on("rowdblclick", function(grid, index, evt) {
			var record = gridPanel.getSelectionModel().getSelected();
			if (record) {
				var bounds = record.data.feature.geometry.getBounds();
				appobj.map.zoomToExtent(bounds);
			}
		}, this);
		var selWin = new Ext.Window( {
			title : 'Dane',
			width : 500,
			height : 300,
			layout : 'fit',
			autoScroll : true,
			closeAction : 'close',
			region : 'center',
			items : [ gridPanel ]
		});
		selWin.show();
	}
	function clearSel (){
		if (appobj.selectLayer) {
			appobj.selectLayer.removeFeatures(appobj.selectLayer.features);
			appobj.selectLayer.destroy();
			appobj.selectLayer = null;
		}	
	}
	var WMSPanel = new Ext.form.FormPanel( {
		bodyStyle : "padding:5px",
		title : "Usługa WMS",
		labelAlign : "top",
		defaults : {
			anchor : "100%"
		},
		items : [ {
			xtype : "textarea",
			fieldLabel : "Serwis WMS",
			value : "http://rdlpkrakow3.gis-net.pl/wms?",
			height : 20,
			readOnly : true
		} ]
	});
	var oLeftPanel = new Ext.Panel( {
		region : 'west',
		title : 'Nawigacja',
		split : true,
		collapsible : true,
		frame : true,
		border : false,
		width : 250,
		layout : 'accordion',
		items : [ ltree, {
			title : 'Informacja',
			contentEl : 'nodeList',
			id : 'inf',
			autoScroll : true
		}, {
			title : 'Skróty',
			contentEl : 'myDiv'
		}, WMSPanel, selectPanel, printPanel ]
	});
	return oLeftPanel;
};
function CreateMapPanel() {
	var oMP = new GeoExt.MapPanel( {
		region : 'center',
		title : 'Mapa',
		map : appobj.map,
		layout : 'fit',
		tbar : appobj.toolbar,
		border : false,
		id : 'mappanel'
	});
	return oMP;
};
function CreateNorthPanel() {
	var oNP = new Ext.BoxComponent( {
		region : 'north',
		el : 'title',
		height : 69
	});
	return oNP;
};
function CreateSouthPanel() {
	var oSP = new Ext.Panel( {
		xtype : 'panel',
		height : 49,
		minsize : 49,
		maxsize : 49,
		frame : true,
		border : false,
		region : 'south',
		split : true,
		layout : 'border',
		items : [ {
			xtype : 'panel',
			region : 'east',
			width : 150,
			contentEl : 'pozycja'
		}, {
			xtype : 'panel',
			region : 'center',
			layout : 'column',
			width : 800,
			items : [ {
				width : 510,
				height : 28,
				contentEl : 'info'
			}, {
				contentEl : 'pomiar',
				height : 20,
				width : 200
			}, {
				height : 20,
				html : "Ilość wejść: " + licznik,
				width : 125
			} ]
		}, {
			xtype : 'panel',
			width : 250,
			region : 'west',
			contentEl : 'skala'
		} ]
	});
	return oSP;
};
function CreateShortcuts() {
	var oSC = new mapfish.widgets.Shortcuts(
			{
				map : appobj.map,
				el : 'myDiv',
				store : oBounds,
				templates : {
					header : new Ext.Template(
							"<p style=padding:5px;>Wybierz obiekt z listy</p>"),
					footer : new Ext.Template(
							"<p style=padding:5px;>Mapa zostanie ustawiona na wskazanym obiekcie</p>")
				}
			});
	return oSC;
};
function createMap() {
	return new OpenLayers.Map('map', {
		projection : new OpenLayers.Projection("EPSG:900913"),
		displayProjection : new OpenLayers.Projection("EPSG:4326"),
		units : 'm',
		numZoomLevels : 18,
		maxResolution : 156543.0339,
		maxExtent : oMaxBounds,
		eventListeners : {
			"moveend" : function() {
				printPage.fit(this);
			}
		},
		controls : [ new OpenLayers.Control.MousePosition( {
			element : $('pozycja')
		}), new OpenLayers.Control.Scale($('skala')) ]
	});
};
function GetLegend() {
	var layerRec0 = appobj.mapa.layers.getAt(5);
	alert(layerRec0);
	var leg = new GeoExt.UrlLegend( {
		legendTitle : 'Legenda',
		layerRecord : layerRec0,
		showTitle : true
	});
	return leg;
}
function CreateInfoWindow() {
	var oIW = new Ext.Window( {
		title : 'Instrukcja',
		resizable : true,
		autoScroll : true,
		width : 700,
		height : 500,
		closeAction : 'hide',
		region : 'center',
		items : [ {
			region : 'center',
			xtype : 'panel',
			id : 'addinf'
		} ]
	});
	return oIW;
};
function app() {
	this.map = createMap();
	this.mapa = null;
	this.pageLayer = null;
	this.selectLayer = null;
	this.pageDrag = null;
	this.toolbar = new Ext.Toolbar();
	this.InfoWindow = CreateInfoWindow();
	this.init = function() {
		Ext.QuickTips.init();
		this.map.addLayers(oOtherLayers);
		this.map.addLayers(oWMSlayers);
		this.map.zoomToExtent(oMaxBounds);
		oBoxFilter = new OpenLayers.Filter.Spatial( {
			type : OpenLayers.Filter.Spatial.BBOX,
			value : oMaxBounds
		});
		this.mapa = CreateMapPanel();
		var p_info = CreateLeftPanel();
		var naglowek = CreateNorthPanel();
		var stopka = CreateSouthPanel();
		var viewport = new Ext.Viewport( {
			layout : 'border',
			id : 'vpt',
			items : [ this.mapa, naglowek, p_info, stopka ]
		});
		initToolbarContent();
		viewport.doLayout();
		var shortcuts = CreateShortcuts();
		shortcuts.render();
	};
};

