var map = null;
var polaEdycji = new Array();
var typGeometri = null;
var tryb = null;
var tabela = null;
var rekordId = null;
var overlay = null;
var boxes = null;
var ids = null;
var layersPan = null;
var tableWykaz = null;	
var obiektWykaz = null;
var edycjaDiv = null;	
var tabPanel = null;
var mapPanel = null;
var tabelaZaladowana = false;	
var oknoPanel = null;	
var layerTree = null;	
var layers = new Array();
var treePanel = null;
var wybranyPanel = null;
var bLayer = null;
var bEdit = null;
var bSzukaj = null;
var layinfo=null;
var editPanel = null;
var findPanel = null;
var szukanieAdresuMarker = null;
var sciezkaWdr = '';
var hostWdr = '';
var filtryPanel = null;
var filtry = new Array();
var ladowanie_stan = 0;
var analizyDiv = null;
var analizaDiv = null;
var warstwyInfo = null;
var wmsRysuj = null;
var urlRysuj = null;
var warunekRysuj = ''; 
var page = 0;
var pagesPanel= null;
var pagesSelect = null;
var where = '';
var isThematic = false;
var warstwyCmb = null;
var theSer = null;
var getInfoPanel = null;
var mainBBox = null;
var extPanSO = null;

function toBool(value){
	if ((value==1)||(value==true)||(value=="1")||(value=="true")||(value=="t")) return true;
	if ((value==0)||(value==false)||(value=="0")||(value=="false")||(value=="f")) return false;
	return false;
}
function boolToInt(value){
	if ((value==1)||(value==true)||(value=="1")||(value=="true")||(value=="t")) return 1;
	if ((value==0)||(value==false)||(value=="0")||(value=="false")||(value=="f")) return 0;
	return '';
}
function onkeyszukaj(evt,fun){
	var keyCode = null; 
	if (!evt)  evt = window.event;
	if( evt.which ) {
		keyCode = evt.which; 
	} else 
	if( evt.keyCode ) { 
	keyCode = evt.keyCode;
	} if( 13 == keyCode ) {
		fun(); 
	}
}
function isInteger(s){
	return Math.floor(s) == s ? true : false;
}
function isEmpty(s){
    return ((s == null) || (s.length == 0))
}
function isDigit (c){
    return ((c >= "0") && (c <= "9"))
}
function isFloat(s){
	var pattern = /^\d+.?\d*$/;
	if ( s.match(pattern)==null )
		return false
	else
		return true;
}
function isDate(data){
	var Y = data.substring(0,4);
	if (isInteger(Y)==false){
		return false;
	}
	var t = data.substring(4,5);
	if (t!='-'){
		return false;
	}	
	var m = data.substring(5,7);
	if (isInteger(m)==false){		
		return fasle;
	}
	var mf = parseFloat(m);
	if ((mf<=0)||(mf>12))	return false;
	
	t = data.substring(7,8);
	if (t!='-'){
		return false;
	}		
	
	var d = data.substring(8,10);
	if (isInteger(d)==false){		
		return false;
	}
	var df = parseFloat(d);
	if ((df<=0)||(df>31))	return false;

	return true;
}
	
function czyscPolaEdycji(){
	for (var i=0;i<polaEdycji.length;i++){
		typ = polaEdycji[i].typ;
		if ((typ=='t')||(typ=='ta')||(typ=='i')||(typ=='f')||(typ=='d')){
			polaEdycji[i].kontrolka.value = '';
		}
		if (typ=='b'){
			polaEdycji[i].kontrolka.checked = false;
		}		
	}
}	
function nowyPunkt(){
	map.removeOverlays();
	var ps = new BEngine.iGML.Overlays.PointStyle({image:'obrazki/marker.png',width:20,height:34,xCenter:10,yCenter:32});
	var pkt = new BEngine.iGML.Overlays.Point(null,null,ps);
	map.addOverlay(pkt);
	pkt.onclick = function(){
		map.setTool('edit',this);
	}
	map.setTool('edit',pkt);
	overlay = pkt;
}
function nowaLinia(){
	map.removeOverlays();
	var lin = new BEngine.iGML.Overlays.Line(new Array(),{width:2,color:'#0f0',opacity:0.8});
	map.addOverlay(lin);
	lin.onclick = function(){
		map.setTool('edit',this);
	}			
	map.setTool('edit',lin);

	overlay = lin;
}
function nowyPoligon(){
	map.removeOverlays();
	var pol = new BEngine.iGML.Overlays.Polygon(new Array(),{lineWidth:1,lineColor:'#f00',lineOpacity:0.8,fillColor:'#f00'});
	map.addOverlay(pol);
	pol.onclick = function(){
		map.setTool('edit',this);
	}			
	map.setTool('edit',pol);
	overlay = pol;
}
function edytujPunkt(x,y){
	map.removeOverlays();
	var ps = new BEngine.iGML.Overlays.PointStyle({image:'obrazki/marker.png',width:20,height:34,xCenter:10,yCenter:32});
	var pkt = new BEngine.iGML.Overlays.Point(x,y,ps);
	map.addOverlay(pkt);
	pkt.onclick = function(){
		map.setTool('edit',this);
	}
	map.setTool('edit',pkt);
	overlay = pkt;
}
function edytujLinie(points){
	map.removeOverlays();
	var lin = new BEngine.iGML.Overlays.Line(points,{width:2,color:'#0f0',opacity:0.8});
	map.addOverlay(lin);
	lin.onclick = function(){
		map.setTool('edit',this);
	}			
	map.setTool('edit',lin);
	overlay = lin;
}
function edytujPoligon(points){
	map.removeOverlays();
	var pol = new BEngine.iGML.Overlays.Polygon(points,{lineWidth:1,lineColor:'#f00',lineOpacity:0.8,fillColor:'#f00'});
	map.addOverlay(pol);
	pol.onclick = function(){
		map.setTool('edit',this);
	}			
	map.setTool('edit',pol);
	overlay = pol;
}
function anulujEdycje(){
	map.removeOverlays();
	overlay = null;
	tryb = null;
	map.setTool('pointer');
}
	
function nowy(){
	if (tabela!=null){
	if (wybranyPanel!=2) pokazEdit();
	czyscPolaEdycji();
	tableWykaz.clearSelection();
	var div = edycjaDiv;
	div.style.display = 'block';
	//oknoPanel.setText('Nowy obiekt');
	czyscPolaEdycji();
	tryb = 'tworzenie';
	rekordId = null; 
	if (typGeometri == 0) nowyPunkt();
	if (typGeometri == 1) nowaLinia();
	if (typGeometri == 2) nowyPoligon();
	} else {
		alert('Wybierz warstwę tematyczną z okna po lewej stronie.');
	}
}	
function czytajRekord(tabela,id,callback){
	var parametry={tabela:tabela,id:id,sciezka:sciezkaWdr};
	BEngine.Ajax.post('skrypty/ajax/czytaj_rekord.php',parametry,function(obj){
		var obiekt =eval( "("+obj.responseText+")");;
		if (obiekt.error == 0){
			callback(obiekt.data);		
		} else {
			alert('Nie ma takiego obiektu');
		}		
	});
}	
function edycja(){
	if ((rekordId==null)||(rekordId==0)) {
		alert('Wybierz obiekt do edycji');
		return 0;
	}
	if (wybranyPanel!=2) pokazEdit();
	var div = edycjaDiv;
	div.style.display = 'block';
	//oknoPanel.setText('Edycja obiektu');
	tryb = 'edycja';
	czytajRekord(tabela,rekordId,function(pola){
		for (var i=0;i<polaEdycji.length;i++){
			var p = polaEdycji[i];
			typ = polaEdycji[i].typ;
			var w = eval("(pola."+p.nazwa+")");
			if ((typ=='t')||(typ=='ta')||(typ=='i')||(typ=='f')||(typ=='d')||(typ=='dir')){
				p.kontrolka.value = w;
			}	
			if (typ=='b'){
				p.kontrolka.checked = toBool(w);
			}			
		}
		var g = pola.geometria;
		
		if (g.indexOf('POINT')!=-1){
			var coor = g.substr(6,g.length-7).split(' ');
			//alert(coor[0]+' '+coor[1]);
			edytujPunkt(coor[0],coor[1]);		
		}
		if (g.indexOf('LINESTRING')!=-1){
			var coor = g.substr(11,g.length-12).split(',');
			var points = new Array();
			for (var i=0;i<coor.length;i++){
				var pp = coor[i].split(' ');
				points.push({x:pp[0],y:pp[1]});
			}
			edytujLinie(points);		
		}	
		if (g.indexOf('POLYGON')!=-1){
			var coor = g.substr(9,g.length-11).split(',');
			var points = new Array();
			for (var i=0;i<coor.length;i++){
				var pp = coor[i].split(' ');
				points.push({x:pp[0],y:pp[1]});
			}
			edytujPoligon(points);		
		}		
	})
	
}	

function zatwierdz(){
	var nazwyPol = new Array();
	var typyPol = new Array();

	for (var i=0;i<polaEdycji.length;i++){
		var p = polaEdycji[i];
		nazwyPol.push(p.nazwa);
		typyPol.push(p.typ);
		if (((p.typ=='ta')||(p.typ=='t')||(p.typ=='i')||(p.typ=='f')||(p.typ=='d'))&&(p.wymagane==true)&&(p.kontrolka.value=='')){
			alert('Pole "'+p.naglowek+'" musi bya wypełnione.');
			return 0;
		}
		if ((p.kontrolka.value!='')&&(p.typ == 'i')&&(isInteger(p.kontrolka.value)==false)){
			alert('Nieprawidłowa wartość w polu "'+p.naglowek+'".');
			return 0;
		}
		if ((p.kontrolka.value!='')&&(p.typ == 'f')&&(isFloat(p.kontrolka.value)==false)){
			alert('Nieprawidłowa wartość w polu "'+p.naglowek+'".');
			return 0;
		}
		if ((p.kontrolka.value!='')&&(p.typ == 'd')&&(isDate(p.kontrolka.value)==false)){
			alert('Nieprawidłowa wartość w polu "'+p.naglowek+'" (np. 2009-11-24, 2009-09-04 12:00).');
			return 0;
		}		
	}

	if (overlay == null){
		alert('Brak geometrii obiektu');
		return 0;
	}
	if ((typGeometri==0) &&(overlay.coord.x==null)){
		alert('Brak geometrii obiektu');
		return 0;	
	}
	if ((typGeometri==1) &&(overlay.points.length<2)){
		alert('Brak geometrii obiektu');
		return 0;	
	}
	if ((typGeometri==2) &&(overlay.points.length<4)){
		alert('Brak geometrii obiektu');
		return 0;	
	}	
	if ((typGeometri==2) &&(overlay.points[0].x!=overlay.points[overlay.points.length-1].x)){
		alert('Nie zamkniety poligon');
		return 0;	
	}		
	
	if (rekordId == null) rekordId = 0;
	var parametry={post_tabela:tabela,id:rekordId,post_pola:nazwyPol.join(','),post_typy:typyPol.join(',')};
	for (var i=0;i<polaEdycji.length;i++){
		var p = polaEdycji[i];
		if ((p.typ=='t')||(p.typ=='ta')||(p.typ=='d')){
			eval("(parametry."+p.nazwa+" = '"+p.kontrolka.value+"')");
		}
		if ((p.typ=='dir')||(p.typ=='i')||(p.typ=='f')){
			var value = p.kontrolka.value;
			if (value!=''){
				eval("(parametry."+p.nazwa+" = "+value+")");
			} else {
				eval("(parametry."+p.nazwa+" = '')");
			}
		}		
		if (p.typ=='b'){
			eval("(parametry."+p.nazwa+" = "+boolToInt(p.kontrolka.checked)+")");
		}		
	}
	parametry.post_geometria = overlay.asText();
	parametry.post_typ_geometri = typGeometri;
	parametry.sciezka = sciezkaWdr;
	BEngine.Ajax.post('skrypty/ajax/zapisz_rekord.php',parametry,function(obj){
		var obiekt =eval( "("+obj.responseText+")");
		if (obiekt.error == 0){
			zaladujTabele(tabela,false);
			if (tryb=='tworzenie'){
				czyscPolaEdycji();
				if (typGeometri==0) nowyPunkt();
				if (typGeometri==1) nowaLinia();
				if (typGeometri==2) nowyPoligon();
				rekordId = null;
				map.removeOverlays();
				nowy();
			}
			if (tryb=='edycja'){
				czyscPolaEdycji();
				map.removeOverlays();
				overlay = null;
				tryb = null;
				rekordId = null;
				map.setTool('pointer');
				edycjaDiv.style.display = 'none';
				//schowajOknoEdycji();
			}
			map.refresh();
		} 
	})	
}
	
function wczytajPolaEdycja(serwis){
	var div = edycjaDiv;
	div.innerHTML = '';
	polaEdycji.length = 0;
	var parametry={serwis:serwis,sciezka:sciezkaWdr};
	BEngine.Ajax.post('skrypty/ajax/pola_edycja.php',parametry,function(obj){
		var obiekt =eval( "("+obj.responseText+")");
		if (obiekt.error == 0){
			var pola = obiekt.pola;
			var table = document.createElement('table');
			div.appendChild(table);
			table.style.borderCollapse = 'collapse';
			table.style.width = '100%';
			table.style.padding = '0px';
			table.style.margin = '0px';
			var tbody = document.createElement('tbody');
			table.appendChild(tbody);
	
			for (var i =0;i<pola.length;i++){
				var tr = document.createElement('tr');			
				tbody.appendChild(tr);
				
				var td = document.createElement('td');
				tr.appendChild(td);		
				td.style.fontSize = '11px';
				td.style.textAlign = "left";
				td.style.width = '33%';
				td.style.padding = '3px 3px 4px 3px';
				td.innerHTML = pola[i].naglowek+':';
				
				var obiektPole = {nazwa:pola[i].nazwa,naglowek:pola[i].naglowek.replace('&nbsp;',' '),typ:pola[i].typ,wymagane:toBool(pola[i].wymagane)};
				polaEdycji.push(obiektPole);
				
				var td = document.createElement('td');
				tr.appendChild(td);		
				td.style.fontSize = '11px';
				td.style.textAlign = "left";
				td.style.width = '67%';
				td.align = 'left';
				td.style.padding = '3px 6px 4px 3px';
				var typ = pola[i].typ;	

				if ((typ=='t')||(typ=='i')||(typ=='f')||(typ=='d')){
					var input = document.createElement('input');					
					input.style.fontSize = '11px';
					input.style.width = '100%';
					td.appendChild(input);
					obiektPole.kontrolka = input;
				}
				if (typ=='b'){
					var input = document.createElement('input');					
					input.style.fontSize = '11px';
					input.type = 'checkbox'
					td.appendChild(input);
					obiektPole.kontrolka = input;
				}				
				if (typ=='ta'){
					var input = document.createElement('textarea');					
					input.style.fontSize = '11px';
					input.style.width = '100%';
					input.style.fontFamily = 'tahoma';
					td.appendChild(input);
					obiektPole.kontrolka = input;
				}				
				if (typ=='dir'){
					var select = document.createElement('select');					
					select.style.fontSize = '11px';
					td.appendChild(select);
					var sl = pola[i].slownik;
					for (var j=0;j<sl.length;j++){
						select.options[select.length] = new Option(sl[j].nazwa,sl[j].wartosc);
					}
					obiektPole.kontrolka = select;
				}				
			}
		
		
			
			var butDiv = document.createElement('div');
			butDiv.style.position = 'relative';
			butDiv.style.width = '100%';
			butDiv.style.height = '26px';
			butDiv.style.borderTop = '1px solid #aaa';
			div.appendChild(butDiv);
			
			var b1 = new BEngine.Controls.Button({x:5,y:2,width:70,height:24,text:'Zatwierdź'},butDiv);
			var b2 = new BEngine.Controls.Button({x:78,y:2,width:70,height:24,text:'Anuluj'},butDiv);
			b1.onclick = function(){
				zatwierdz();
			}
			
			b2.onclick = function(){
				anulujEdycje();
				edycjaDiv.style.display = 'none';
				//oknoPanel.setWorkspaceHeight(1);
			}
				
			if (obiekt.serwis_geometria!=""){
				var b3 = new BEngine.Controls.Button({x:160,y:2,width:140,height:24,text:'Geometria z mapy'},butDiv);
				b3.onclick = function(){
					map.setTool('pointer');
					map.onclick = function(x,y){
						BEngine.Interface.LoadingPanel.show();
						BEngine.Ajax.post('skrypty/ajax/ajax_pobierz_plik.php',{file:"http://uslugi.igeomap.pl/dzialki/dzialki.php?srs=2180&x="+x+"&y="+y},function(obj){
							
							try{
							var obiekt =eval( "("+obj.responseText+")");
							if (obiekt.error=="0"){
								var points = new Array();
								for (var i=0;i<obiekt.geom.length;i+=2){
									points.push({x:obiekt.geom[i],y:obiekt.geom[i+1]});
								}
								edytujPoligon(points);	
								BEngine.Interface.LoadingPanel.hide();
							
							} else { alert('Nie znaleziono geometrii.'); }
							}catch(err){
								alert(err);
							}
							
						});
						
					}
				}
			}			
		}		
		edycjaDiv.style.display = 'none';
	});	
}	
	
	
function dodajWMS(adres,layers){
	if (layers.length>0){
		var menu = new BEngine.Controls.Menu({width:80},[new BEngine.Controls.MenuItem('Szukaj',true,function(item){ 
			pokazSzukaj(item);
	
		})]);
		menu.setAutoHidding();
		map.setMenu(menu);
	
		var lay = new Array();
		for (var i=0;i<layers.length;i++){
			var layer = new BEngine.iGML.WMSLayer();
			layer.name = layers[i].nazwa;
			layer.title = layers[i].tytul;
			layer.checked = layers[i].widoczna;
			layer.visibleFrom = layers[i].visFrom;
			layer.visibleTo = layers[i].visTo;			
			layer.queryable = true;
			if (layers[i].icon) layer.icon = layers[i].icon;
			lay.push(layer);
			layer.menuEnabled = true;
		}
		var wms = new BEngine.iGML.WMSService({},lay);
		wms.name = 'Warstwy tematyczne';
		wms.id = 'warstwy';
		wms.url = adres+"?sciezka="+sciezkaWdr+"";
		wms.version = '1.1.1';
		wms.format = 'image/png';
		wms.boundingBox = mainBBox;
		wms.expandable = true;	
		wms.thematicService = true;
		map.addService(wms,0);
		theSer = wms;
		//map.createLevels(); 
		//map.refresh();
		
		wmsRysuj = wms;
		urlRysuj = wms.url;
		isThematic = true;
	}	
}


function onClickRekord(tabela,id){
	rekordId = id;
	if (tryb!=null){
		edycja();
	}
}

function wypelnijTabele(){
	tableWykaz.show();
	tableWykaz.setHeaders(obiektWykaz.naglowki);
	tableWykaz.setData(obiektWykaz.data,null,function(){
		ladowanie_stan--;
		if (ladowanie_stan==0)BEngine.Interface.LoadingPanel.hide();
	});
	tableWykaz.setOnClick(function(id){
		if (mapPanel.visible==true){
			onClickRekord(tabela,id);
			for (var i=0;i<ids.length;i++){
				if (ids[i] == id){
					var b = boxes[i];
					wmsRysuj.url = urlRysuj+'&tabela='+tabela+'&id='+id+'&warunek_tabela='+warunekRysuj;
					map.setViewFromBox(new BEngine.iGML.Box(b[0],b[1],b[2],b[3]));	
				}
			}	
		}	
	},obiektWykaz.ids,function(){
		ladowanie_stan--;	
        if (ladowanie_stan==0)BEngine.Interface.LoadingPanel.hide();		
	});
	tabelaZaladowana = true;
	BEngine.Interface.LoadingPanel.hide();
	
}
function zaladujTabele(){
	
	var parametry={tabela:tabela,sciezka:sciezkaWdr,page:page};
	if (where!='') { 
		parametry.where = where; 
		page=0; 
		warunekRysuj = tabela+':'+where		
	}
	wmsRysuj.url = urlRysuj+'&warunek_tabela='+warunekRysuj;
	map.refresh();
	tabelaZaladowana = false;
	
	BEngine.Interface.LoadingPanel.show();
	ladowanie_stan = 2;

	BEngine.Ajax.post('skrypty/ajax/tabela_z_wykaz.php',parametry,function(obj){
		BEngine.Interface.LoadingPanel.hide();
		try{
		var obiekt =eval( "("+obj.responseText+")");
		if (obiekt.error == 0){
			obiektWykaz = obiekt; 
			boxes = obiekt.boxes;
			ids = obiekt.ids;
			typGeometri = parseInt(obiekt.typ_geometri);
			if (tabPanel.visible==true)
			wypelnijTabele();
			
			
			pagesSelect.options.length = 0;
			var ile = Math.floor(obiekt.count/100.0)+1;			
			for (var i=0;i<ile;i++){
				pagesSelect.options[pagesSelect.options.length] = new Option(i+1,i);
			}
			if (ile>1)
			pagesPanel.show();
			else
			pagesPanel.hide();
			
			for (var i=0;i<pagesSelect.options.length;i++){
				if (pagesSelect.options[i].value == page) pagesSelect.selectedIndex = i;
			}
			pagesSelect.value = page;
			
			
			pagesSelect.onchange = function(){
				page = this.value;
				zaladujTabele();
			}
		
			
		} else {
			BEngine.Interface.LoadingPanel.hide();
		}	
		}catch(err){
			alert('Wystapil problem z aplikacja: '+err+'. Przeraszamy.');
		}
		
	});	
}

function tworzFiltr(param,div){
	var filtr = param;
	var span = document.createElement('span');
	span.style.fontSize = '11px';
	span.style.padding="2px 3px 2px 2px";
	span.innerHTML = filtr.etykieta;
	div.appendChild(span);	
	
	var input = document.createElement('select');
	input.style.fontSize = '11px';
	div.appendChild(input);
	input.options[input.options.length] = new Option('-','');
	for (var j=0;j<filtr.wartosci.length;j++){					
		input.options[input.options.length] =  new Option(filtr.wartosci[j][1],filtr.wartosci[j][0]);
	}	
	filtry.push({pole:filtr.pole,input:input,typ:filtr.typ});	
	input.onchange = function(){
		var wyk = new Array();
		for (var j=0;j<filtry.length;j++){
			if (filtry[j].input.value!=''){
				if ((filtry[j].typ==2)||(filtry[j].typ==3))
				wyk.push(" "+filtry[j].pole+"='"+filtry[j].input.value+"' ");
				else
				wyk.push(' '+filtry[j].pole+'='+filtry[j].input.value);
			}
		}
		where = wyk.join(' AND ');
		page = 0;
		zaladujTabele();
	}		
}

function wczytajFiltry(tabela){
	filtry.length = 0;
	var parametry={tabela:tabela,sciezka:sciezkaWdr};
	BEngine.Ajax.post('skrypty/ajax/filtry_z_wykaz.php',parametry,function(obj){
		try{
			var obiekt =eval( "("+obj.responseText+")");
			if (obiekt.error == 0){
				var filtrDiv = filtryPanel.getWorkspaceDiv();
				filtrDiv.innerHTML = '';
				for (var i=0;i<obiekt.filtry.length;i++){
					tworzFiltr(obiekt.filtry[i],filtrDiv);					
				}
			}
		}catch(err){
			alert('Wystapil problem z aplikacja: '+err+'. Przeraszamy.');
		}		
	});
}

function wczytajSerwis(nazwa){
	tabela = nazwa;
	//map.removeOverlays();
	page = 0;
	where = '';
	warunekRysuj = '';
	wmsRysuj.url = urlRysuj;
	rekordId = null;
	tryb = null;
	overlay = null;
	map.setTool('pointer');
	rekordid = null;
	wczytajFiltry(tabela);
	wczytajPolaEdycja(tabela);
	zaladujTabele();
	map.refresh();

}

function wyloguj(){
	window.location = 'index.php?logout';
}

function usun(){
	if ((rekordId==null)||(rekordId==0)) {
		alert('Wybierz obiekt do usunięcia');
		return 0;
	}
	if (confirm('Czy na pewno chcesz usunąć obiekt?')){
		var parametry={post_tabela:tabela,id:rekordId,sciezka:sciezkaWdr};	
		BEngine.Ajax.post('skrypty/ajax/usun_rekord.php',parametry,function(obj){
			var obiekt =eval( "("+obj.responseText+")");
			if (obiekt.error == 0){
				zaladujTabele(tabela,false);			
				map.refresh();
			} 
		})	
	}
}

function pokazWarstwy(){
	wybranyPanel = 1;
	bLayer.setCheck(true);
	//layinfo.show();
	treePanel.show();
	editPanel.hide();
	findPanel.hide();	
}
function pokazEdit(){
	wybranyPanel = 2;
	bEdit.setCheck(true);
	//layinfo.hide();
	treePanel.hide();
	editPanel.show();
	findPanel.hide();
}
function pokazSzukaj(warstwa){
	wybranyPanel = 3;
	bSzukaj.setCheck(true);
	//layinfo.hide();
	treePanel.hide();
	editPanel.hide();
	findPanel.show();
	if (warstwa){
		//warstwa.checked = true;
		warstwyCmb.selectItemByValue(warstwa.name);
	}
}

function administracja(){
	window.location = 'index.php?inc=administracja';
}

function analiza0(){
	analizaDiv.innerHTML = '';
	var tab = new BEngine.Controls.TableFrame(2,4,analizaDiv);
	tab.table.style.width = '100%';
	tab.cell(0,0).innerHTML ='Warstwa&nbsp;analizowana:';
	tab.cell(0,1).innerHTML ='Warstwa&nbsp;przecinająca:';
	tab.cell(0,2).innerHTML ='Pole&nbsp;do&nbsp;wpisania&nbsp;wartości:';
	tab.cell(0,3).innerHTML ='Wartość:';	
	tab.cell(0,0).style.width = '100px';
	

	var lay1sel = new BEngine.Controls.SimpleComboBox([],tab.cell(1,0));
	var lay2sel = new BEngine.Controls.SimpleComboBox([],tab.cell(1,1));
	var lay3sel = new BEngine.Controls.SimpleComboBox([],tab.cell(1,2));
	
	var opt = lay1sel.addItem('','-');
	opt.nazwa = '';
	for (var i=0;i<warstwyInfo.length;i++){
		if (warstwyInfo[i].typ==0){
			var opt = lay1sel.addItem(warstwyInfo[i].id,warstwyInfo[i].opis);
			opt.nazwa = warstwyInfo[i].nazwa;
		}
	}	
	
	
	lay1sel.onchange = function(value){
		lay2sel.removeAll();

		for (var i=0;i<warstwyInfo.length;i++){
			if ((warstwyInfo[i].typ==0)&&(warstwyInfo[i].id!=value)){
				var opt = lay2sel.addItem(warstwyInfo[i].id,warstwyInfo[i].opis);
				opt.nazwa = warstwyInfo[i].nazwa;
			}
		}	

		var parametry={table:'tabele_kolumny',sort:'nazwa',sciezka:sciezkaWdr,where:' edycja=true AND tabela='+value};
		BEngine.Ajax.post('skrypty/ajax/pobierz_tabele.php',parametry,function(obj){
			var obiekt =eval( "("+obj.responseText+")");
			if (obiekt.error == 0){
				lay3sel.removeAll();
				var opt = lay3sel.addItem('','-');
				opt.dataType = '';
				for (var i=0;i<obiekt.data.length;i++){
					var opt = lay3sel.addItem(obiekt.data[i].nazwa,obiekt.data[i].nazwa);
					opt.dataType = obiekt.data[i].typ;
				}
			}
		});	
	}
	var valCtr = null;
	lay3sel.onchange = function(value){
		var typ = this.getItem().dataType;
		tab.cell(1,3).innerHTML = '';
		if ((typ==0)||(typ==1)||(typ==2)||(typ==3)||(typ==5)){
			valCtr = document.createElement('input');
			valCtr.style.fontSize = '11px';
			valCtr.style.width = '100%';
			tab.cell(1,3).appendChild(valCtr);
		}
		if (typ==4){
			valCtr = document.createElement('input');
			valCtr.style.fontSize = '11px';
			valCtr.type='checkbox';
			tab.cell(1,3).appendChild(valCtr);
		}	
		if (typ==6){
			valCtr = new BEngine.Controls.SimpleComboBox([],tab.cell(1,3));
			var parametry={tabela:lay1sel.getItem().nazwa,pole:value,sciezka:sciezkaWdr};
			BEngine.Ajax.post('skrypty/ajax/slownik_wartosci.php',parametry,function(obj){
				try{
				var obiekt =eval( "("+obj.responseText+")");
				if (obiekt.error == 0){
					for (var i=0;i<obiekt.data.length;i++){
						valCtr.addItem(obiekt.data[i][0],obiekt.data[i][1]);
					}
				}
				}catch(err) {
					alert('Wystšpił błšd '+err);
				}
			});	
			
		}		
	}
	var ok  = new BEngine.Controls.SimpleButton('Przeprowadź',analizaDiv);
	ok.onclick = function(){
		var t1 = lay1sel.getItem().nazwa;
		if (t1==''){
			alert('Wybierz wartwę do analizy.');
			return 0;		
		}
		var t2 = lay2sel.getItem().nazwa;
		var p = lay3sel.getValue();
		if (p==''){
			alert('Wybierz pole do wpisania wartości.');
			return 0;
		}
		var t = lay3sel.getItem().dataType;
		var w = null;
		if ((t==0)||(t==1)||(t==2)||(t==3)||(t==5)){
			w = valCtr.value; 
		}
		if ((t==6)){
			w = valCtr.getValue(); 
		}		
		if (t==4){
			w = valCtr.checked; 
		}
		//validacja;
		if ((t==2)||(t==3)){
			//text, można nawet nic nie wpisywac 
		}
		if (t==0){
			if ((isInteger(w)==false)){
				alert('Wartośc nie jest liczba całkowitą.');
				return 0;
			}			
		}
		if (t==1){
			if ((isFloat(w)==false)){
				alert('Wartośc nie jest liczba rzeczywistą.');
				return 0;
			}			
		}		
		if (t==5){
			if ((isDate(w)==false)){
				alert('Wartośc nie jest datą.');
				return 0;
			}			
		}		
		BEngine.Interface.LoadingPanel.show();
		var parametry={analiza:0,tabela1:t1,tabela2:t2,typ:t,pole:p,wartosc:w,sciezka:sciezkaWdr};
		BEngine.Ajax.post('skrypty/ajax/analizy.php',parametry,function(obj){
			BEngine.Interface.LoadingPanel.hide();
			try{
			var obiekt =eval( "("+obj.responseText+")");
				if (obiekt.error == 0){
				
				} else {
					alert('Wystąpił błąd');
				}
			}catch(err) {
				alert('Wystšpił błšd '+err);
			}
		});	
	}
}
function analiza2(){
	analizaDiv.innerHTML = '';
	var tab = new BEngine.Controls.TableFrame(2,5,analizaDiv);
	tab.table.style.width = '100%';
	tab.cell(0,0).innerHTML ='Warstwa&nbsp;analizowana:';
	tab.cell(0,1).innerHTML ='Warstwa&nbsp;przecinająca:';
	tab.cell(0,2).innerHTML ='Pole&nbsp;do&nbsp;wpisania&nbsp;wartości:';
	tab.cell(0,3).innerHTML ='Wartość:';	
	tab.cell(0,4).innerHTML ='Bufor:';	
	tab.cell(0,0).style.width = '100px';
	

	var lay1sel = new BEngine.Controls.SimpleComboBox([],tab.cell(1,0));
	var lay2sel = new BEngine.Controls.SimpleComboBox([],tab.cell(1,1));
	var lay3sel = new BEngine.Controls.SimpleComboBox([],tab.cell(1,2));
	
	var opt = lay1sel.addItem('','-');
	opt.nazwa = '';
	for (var i=0;i<warstwyInfo.length;i++){
		if (warstwyInfo[i].typ==0){
			var opt = lay1sel.addItem(warstwyInfo[i].id,warstwyInfo[i].opis);
			opt.nazwa = warstwyInfo[i].nazwa;
		}
	}	
	
	
	lay1sel.onchange = function(value){
		lay2sel.removeAll();

		for (var i=0;i<warstwyInfo.length;i++){
			if ((warstwyInfo[i].typ==0)&&(warstwyInfo[i].id!=value)){
				var opt = lay2sel.addItem(warstwyInfo[i].id,warstwyInfo[i].opis);
				opt.nazwa = warstwyInfo[i].nazwa;
			}
		}	

		var parametry={table:'tabele_kolumny',sort:'nazwa',sciezka:sciezkaWdr,where:' edycja=true AND tabela='+value};
		BEngine.Ajax.post('skrypty/ajax/pobierz_tabele.php',parametry,function(obj){
			var obiekt =eval( "("+obj.responseText+")");
			if (obiekt.error == 0){
				lay3sel.removeAll();
				var opt = lay3sel.addItem('','-');
				opt.dataType = '';
				for (var i=0;i<obiekt.data.length;i++){
					var opt = lay3sel.addItem(obiekt.data[i].nazwa,obiekt.data[i].nazwa);
					opt.dataType = obiekt.data[i].typ;
				}
			}
		});	
	}
	var valCtr = null;
	lay3sel.onchange = function(value){
		var typ = this.getItem().dataType;
		tab.cell(1,3).innerHTML = '';
		if ((typ==0)||(typ==1)||(typ==2)||(typ==3)||(typ==5)){
			valCtr = document.createElement('input');
			valCtr.style.fontSize = '11px';
			valCtr.style.width = '100%';
			tab.cell(1,3).appendChild(valCtr);
		}
		if (typ==4){
			valCtr = document.createElement('input');
			valCtr.style.fontSize = '11px';
			valCtr.type='checkbox';
			tab.cell(1,3).appendChild(valCtr);
		}	
		if (typ==6){
			valCtr = new BEngine.Controls.SimpleComboBox([],tab.cell(1,3));
			var parametry={tabela:lay1sel.getItem().nazwa,pole:value,sciezka:sciezkaWdr};
			BEngine.Ajax.post('skrypty/ajax/slownik_wartosci.php',parametry,function(obj){
				try{
				var obiekt =eval( "("+obj.responseText+")");
				if (obiekt.error == 0){
					for (var i=0;i<obiekt.data.length;i++){
						valCtr.addItem(obiekt.data[i][0],obiekt.data[i][1]);
					}
				}
				}catch(err) {
					alert('Wystšpił błšd '+err);
				}
			});	
			
		}		
	}
	var bufCtr = document.createElement('input');
	bufCtr.style.fontSize = '11px';
	bufCtr.value = 0;
	tab.cell(1,4).appendChild(bufCtr);
	
	var ok  = new BEngine.Controls.SimpleButton('Przeprowadź',analizaDiv);
	ok.onclick = function(){
		var t1 = lay1sel.getItem().nazwa;
		if (t1==''){
			alert('Wybierz wartwę do analizy.');
			return 0;		
		}
		var t2 = lay2sel.getItem().nazwa;
		var p = lay3sel.getValue();
		if (p==''){
			alert('Wybierz pole do wpisania wartości.');
			return 0;
		}
		var t = lay3sel.getItem().dataType;
		var w = null;
		if ((t==0)||(t==1)||(t==2)||(t==3)||(t==5)){
			w = valCtr.value; 
		}
		if ((t==6)){
			w = valCtr.getValue(); 
		}
		if (t==4){
			w = valCtr.checked; 
		}
		//validacja;
		if ((t==2)||(t==3)){
			//text, można nawet nic nie wpisywac 
		}
		if (t==0){
			if ((isInteger(w)==false)){
				alert('Wartośc nie jest liczba całkowitą.');
				return 0;
			}			
		}
		if (t==1){
			if ((isFloat(w)==false)){
				alert('Wartośc nie jest liczba rzeczywistą.');
				return 0;
			}			
		}		
		if (t==5){
			if ((isDate(w)==false)){
				alert('Wartośc nie jest datą.');
				return 0;
			}			
		}		
		var b = bufCtr.value;
		if ((isFloat(b)==false)){
			alert('Wartośc w buforze nie jest liczba rzeczywistą.');
			return 0;
		}
			
		BEngine.Interface.LoadingPanel.show();
		var parametry={analiza:2,bufor:b,tabela1:t1,tabela2:t2,typ:t,pole:p,wartosc:w,sciezka:sciezkaWdr};
		BEngine.Ajax.post('skrypty/ajax/analizy.php',parametry,function(obj){
			BEngine.Interface.LoadingPanel.hide();
			try{
			var obiekt =eval( "("+obj.responseText+")");
				if (obiekt.error == 0){
				
				} else {
					alert('Wystąpił błąd');
				}
			}catch(err) {
				alert('Wystšpił błšd '+err);
			}
		});	
	}
}
function analiza1(){
	analizaDiv.innerHTML = '';
	var tab = new BEngine.Controls.TableFrame(2,3,analizaDiv);
	tab.table.style.width = '100%';
	tab.cell(0,0).innerHTML ='Warstwa&nbsp;analizowana:';
	tab.cell(0,1).innerHTML ='Warstwa&nbsp;przecinająca:';
	tab.cell(0,2).innerHTML ='Pole&nbsp;do&nbsp;wpisania&nbsp;długości:';
	tab.cell(0,0).style.width = '100px';
	

	var lay1sel = new BEngine.Controls.SimpleComboBox([],tab.cell(1,0));
	var lay2sel = new BEngine.Controls.SimpleComboBox([],tab.cell(1,1));
	var lay3sel = new BEngine.Controls.SimpleComboBox([],tab.cell(1,2));
	
	var opt = lay1sel.addItem('','-');
	opt.nazwa = '';
	for (var i=0;i<warstwyInfo.length;i++){
		if ((warstwyInfo[i].typ==0)&&(warstwyInfo[i].typ_geometri==2)){
			var opt = lay1sel.addItem(warstwyInfo[i].id,warstwyInfo[i].opis);
			opt.nazwa = warstwyInfo[i].nazwa;
		}
	}	
	
	
	lay1sel.onchange = function(value){
		lay2sel.removeAll();

		for (var i=0;i<warstwyInfo.length;i++){
			if ((warstwyInfo[i].typ==0)&&(warstwyInfo[i].id!=value)&&(warstwyInfo[i].typ_geometri==1)){
				var opt = lay2sel.addItem(warstwyInfo[i].id,warstwyInfo[i].opis);
				opt.nazwa = warstwyInfo[i].nazwa;
			}
		}	

		var parametry={table:'tabele_kolumny',sort:'nazwa',sciezka:sciezkaWdr,where:' edycja=true AND tabela='+value};
		BEngine.Ajax.post('skrypty/ajax/pobierz_tabele.php',parametry,function(obj){
			var obiekt =eval( "("+obj.responseText+")");
			if (obiekt.error == 0){
				lay3sel.removeAll();
				var opt = lay3sel.addItem('','-');
				opt.dataType = '';
				for (var i=0;i<obiekt.data.length;i++){
					if (obiekt.data[i].typ==1){
						var opt = lay3sel.addItem(obiekt.data[i].nazwa,obiekt.data[i].nazwa);
						opt.dataType = obiekt.data[i].typ;
					}
				}
			}
		});	
	}
	var ok  = new BEngine.Controls.SimpleButton('Przeprowadź',analizaDiv);
	ok.onclick = function(){
		var t1 = lay1sel.getItem().nazwa;
		if (t1==''){
			alert('Wybierz wartwę do analizy.');
			return 0;		
		}
		var t2 = lay2sel.getItem().nazwa;
		if (t2==''){
			alert('Wybierz wartwę do pzrecięcia.');
			return 0;		
		}		
		
		var p = lay3sel.getValue();
		if (p==''){
			alert('Wybierz pole do wpisania długoci (typ danych liczba rzeczywista).');
			return 0;
		}
		
		BEngine.Interface.LoadingPanel.show();
		var parametry={analiza:1,tabela1:t1,tabela2:t2,pole:p,sciezka:sciezkaWdr};
		BEngine.Ajax.post('skrypty/ajax/analizy.php',parametry,function(obj){
			BEngine.Interface.LoadingPanel.hide();
			try{
			var obiekt =eval( "("+obj.responseText+")");
				if (obiekt.error == 0){
				
				} else {
					alert('Wystąpił błąd');
				}
			}catch(err) {
				alert('Wystšpił błšd '+err);
			}
		});	
	}
}
function analiza3(){
	analizaDiv.innerHTML = '';
	var tab = new BEngine.Controls.TableFrame(2,3,analizaDiv);
	tab.table.style.width = '100%';
	tab.cell(0,0).innerHTML ='Warstwa:';
	tab.cell(0,1).innerHTML ='Pole&nbsp;do&nbsp;wpisania&nbsp;wartości:';
	tab.cell(0,2).innerHTML ='Wartość:';	
	tab.cell(0,0).style.width = '100px';
	

	var lay1sel = new BEngine.Controls.SimpleComboBox([],tab.cell(1,0));
	var lay3sel = new BEngine.Controls.SimpleComboBox([],tab.cell(1,1));
	
	var opt = lay1sel.addItem('','-');
	opt.nazwa = '';
	for (var i=0;i<warstwyInfo.length;i++){
		if (warstwyInfo[i].typ==0){
			var opt = lay1sel.addItem(warstwyInfo[i].id,warstwyInfo[i].opis);
			opt.nazwa = warstwyInfo[i].nazwa;
		}
	}	
	
	
	lay1sel.onchange = function(value){

		var parametry={table:'tabele_kolumny',sort:'nazwa',sciezka:sciezkaWdr,where:' edycja=true AND tabela='+value};
		BEngine.Ajax.post('skrypty/ajax/pobierz_tabele.php',parametry,function(obj){
			var obiekt =eval( "("+obj.responseText+")");
			if (obiekt.error == 0){
				lay3sel.removeAll();
				var opt = lay3sel.addItem('','-');
				opt.dataType = '';
				for (var i=0;i<obiekt.data.length;i++){
					var opt = lay3sel.addItem(obiekt.data[i].nazwa,obiekt.data[i].nazwa);
					opt.dataType = obiekt.data[i].typ;
				}
			}
		});	
	}
	var valCtr = null;
	lay3sel.onchange = function(value){
		var typ = this.getItem().dataType;
		tab.cell(1,2).innerHTML = '';
		if ((typ==0)||(typ==1)||(typ==2)||(typ==3)||(typ==5)){
			valCtr = document.createElement('input');
			valCtr.style.fontSize = '11px';
			valCtr.style.width = '100%';
			tab.cell(1,2).appendChild(valCtr);
		}
		if (typ==4){
			valCtr = document.createElement('input');
			valCtr.style.fontSize = '11px';
			valCtr.type='checkbox';
			tab.cell(1,2).appendChild(valCtr);
		}	
		if (typ==6){
			valCtr = new BEngine.Controls.SimpleComboBox([],tab.cell(1,2));
			var parametry={tabela:lay1sel.getItem().nazwa,pole:value,sciezka:sciezkaWdr};
			BEngine.Ajax.post('skrypty/ajax/slownik_wartosci.php',parametry,function(obj){
				try{
				var obiekt =eval( "("+obj.responseText+")");
				if (obiekt.error == 0){
					for (var i=0;i<obiekt.data.length;i++){
						valCtr.addItem(obiekt.data[i][0],obiekt.data[i][1]);
					}
				}
				}catch(err) {
					alert('Wystšpił błšd '+err);
				}
			});	
			
		}		
	}
	var ok  = new BEngine.Controls.SimpleButton('Przeprowadź',analizaDiv);
	ok.onclick = function(){
		var t1 = lay1sel.getItem().nazwa;
		if (t1==''){
			alert('Wybierz wartwę do analizy.');
			return 0;		
		}
		
		var p = lay3sel.getValue();
		if (p==''){
			alert('Wybierz pole do wpisania wartości.');
			return 0;
		}
		var t = lay3sel.getItem().dataType;
		var w = null;
		if ((t==0)||(t==1)||(t==2)||(t==3)||(t==5)){
			w = valCtr.value; 
		}
		if ((t==6)){
			w = valCtr.getValue(); 
		}		
		if (t==4){
			w = valCtr.checked; 
		}
		//validacja;
		if ((t==2)||(t==3)){
			//text, można nawet nic nie wpisywac 
		}
		if (t==0){
			if ((isInteger(w)==false)){
				alert('Wartośc nie jest liczba całkowitą.');
				return 0;
			}			
		}
		if (t==1){
			if ((isFloat(w)==false)){
				alert('Wartośc nie jest liczba rzeczywistą.');
				return 0;
			}			
		}		
		if (t==5){
			if ((isDate(w)==false)){
				alert('Wartośc nie jest datą.');
				return 0;
			}			
		}		
		if (confirm('Czy jesteś pewien? Spowoduje to nadpianie wartości wybranego pola we wszystkich rekordach w tabeli.')){
			BEngine.Interface.LoadingPanel.show();
			var parametry={analiza:3,tabela1:t1,typ:t,pole:p,wartosc:w,sciezka:sciezkaWdr};
			BEngine.Ajax.post('skrypty/ajax/analizy.php',parametry,function(obj){
				BEngine.Interface.LoadingPanel.hide();
				try{
				var obiekt =eval( "("+obj.responseText+")");
					if (obiekt.error == 0){
					
					} else {
						alert('Wystąpił błąd');
					}
				}catch(err) {
					alert('Wystšpił błšd '+err);
				}
			});	
		}
	}
}

function tworzModulAnaliz(){
	analizyDiv = document.createElement('div');
	analizyDiv.style.position = 'relative';
	analizyDiv.style.border = '1px solid #999';
	analizyDiv.style.padding = "5px";
	analizyDiv.style.marginTop = "5px";
	analizyDiv.style.backgroundColor = '#ddd';
	editPanel.getWorkspaceDiv().appendChild(analizyDiv);
	
	var label = document.createElement('div');
	label.innerHTML = '<b>Moduł analiz</ab>';
	analizyDiv.appendChild(label);
	
	var lista = new Array();
	lista.push([0,'Wpisanie wartości jeśli przecięcie']);
	lista.push([1,'Wpisanie długości przecięcia']);
	lista.push([2,'Wpisanie wartości jeśli przecięcie w buforze']);
	lista.push([3,'Wpisanie wartości do pola']);
	
	var tab1 = new BEngine.Controls.TableFrame(2,1,analizyDiv);
	
	var typ = new BEngine.Controls.SimpleComboBox(lista,tab1.cell(0,0));
	var butPrzeprowadz  = new BEngine.Controls.SimpleButton('Wybierz',tab1.cell(1,0));

	analizaDiv = document.createElement('div');
	analizyDiv.appendChild(analizaDiv);
	analizaDiv.style.paddingTop = '4px';
	
	butPrzeprowadz.onclick = function(){
		var t = typ.getValue();
		if (t==0) analiza0();
		if (t==1) analiza1();	
		if (t==2) analiza2();	
		if (t==3) analiza3();			
	}
}

function zaladujWarstwy(x_widok,y_widok,scale_widok){
	var parametry={table:'tabele;wms;serwisy_wms;grupy_wms',sort:'id;id;kolejnosc DESC;kolejnosc',sciezka:sciezkaWdr};
	BEngine.Ajax.post('skrypty/ajax/pobierz_tabele.php',parametry,function(obj){
		try {
			var obiekt =eval( "("+obj.responseText+")");
				} catch(err){
			alert(err);
		}	
			if (obiekt.error == 0){
				warstwyCmb.addItem('wybierz warstwę...','0');
				

				
					var tab = obiekt.tabele;
					var lay = new Array();
					
					for (var i=(tab.length-1);i>=0;i--){
						if (tab[i].typ==0){ //mamy do czynienie ze zwykłš tabelš, nie słownikowš
							var tabWMS = obiekt.wms;
							var widoczna = true;
							var rek = null;
							for (var j=0;j<tabWMS.length;j++){
								if (tabWMS[j].nazwa_warstwy == tab[i].nazwa){
									if (tabWMS[j].domyslnie_widoczna == 'f') widoczna = false;
									rek = tabWMS[j];
								}
							}
							
							var visFrom = 0;
							var visTo = 9999;

							if (rek.zakres_wid){
								var vis = rek.zakres_wid.split(';');
								visFrom = parseFloat(vis[0].replace(',','.'));
								visTo = parseFloat(vis[1].replace(',','.'));
							}
							var ltmp = {nazwa:tab[i].nazwa,tytul:tab[i].opis,widoczna:widoczna,visFrom:visFrom,visTo:visTo};
							if ((rek.ikonka!='')&&(rek.ikonka!='undefined')){
								ltmp.icon = sciezkaWdr+'legenda/'+rek.ikonka;
							}
							
							var ok = true;
							if (zalog==false){
								
								if (rek.prywatny == "t") {
									ok = false;
									
								}	
							}
							if (ok==true){
								lay.push(ltmp);
								layers.push(tab[i].nazwa);
								warstwyCmb.addItem(tab[i].opis,tab[i].nazwa);
							}
						}
					}		
					if ((tab.length==0)&&(extPanSO)) extPanSO.hide();
					rekordId = null;
					dodajWMS("http://"+hostWdr+'/skrypty/rysuj.php',lay);
					
					for (var i=0;i<obiekt.serwisy_wms.length;i++){
						var row = obiekt.serwisy_wms[i];
						if ((row.prywatny!="t")||(zalog==true)){
						
							var wms = new BEngine.iGML.WMSService({});
							if (row.adres!=""){
								var ads = row.adres.split(';'); 
								
							
								var lay = new Array();
								var ln = row.warstwy.split(',');
								var lic = row.ikonki_warstw.split(',');
								var lt = row.nazwy_warstw.split(',');
								var lz = row.zapytania.split(',');
								if (row.widocznosc_warstw==''){
									for (var j=0;j<(ln.length-1);j++)
									row.widocznosc_warstw+=',';
								}
								var lw = row.widocznosc_warstw.split(',');
								for (var j=0;j<(lw.length);j++){
									if (lw[j]=='') lw[j]='1';
								}	
								
								if (row.zakres_wid==''){
									for (var j=0;j<(ln.length-1);j++)
									row.zakres_wid+=',';
								}
								var lzw = row.zakres_wid.split(',');
								for (var j=0;j<(lzw.length);j++){
									if ((lzw[j]=='')||(lzw[j]=='undefined')) lzw[j]='0;9999';
								}					
								for (var j=0;j<(lic.length);j++){
									if (lic[j]=='undefined') lic[j]='';
								}						
								
								for (var j=0;j<ln.length;j++){
									var layer = new BEngine.iGML.WMSLayer();
									layer.name = ln[j];
									layer.title = lt[j];
									if (lic[j]!=''){
										layer.icon = sciezkaWdr+'/legenda/'+lic[j];
									}
									
									if (lw[j]=='1')
									layer.checked = true;
									else
									layer.checked = false;
									
									if (lz[j]=="1"){
										layer.queryable = true;
									}
									else
									layer.queryable = false;
									
									var visFrom = 0;
									var visTo = 9999;
									if (lzw[j]){
										var vis = lzw[j].split(';');
										visFrom = parseFloat(vis[0]);
										visTo = parseFloat(vis[1]);
									}
									layer.visibleFrom = visFrom;
									layer.visibleTo = visTo;
									
									
									lay.push(layer);
									
								}
								wms.url = ads[0]; 
								wms.version = row.wersja;
								wms.format = row.format;
								wms.layers = lay;
								
								if (ads.length>1){
									wms.urls = ads;
								}
								
							}					
							if (row.adres_tile!=""){
								wms.tile_url = row.adres_tile;
								wms.tile_type = "gs";
								if (row.tile_type != "") wms.tile_type=row.tile_type;
								wms.tile_vis_from = 0;
								wms.tile_vis_to = 2.56;						
								if (row.tile_zakres_wid!=""){
									var tab = row.tile_zakres_wid.split(';');
									wms.tile_vis_from = tab[0];
									wms.tile_vis_to = tab[1];							
								}
								wms.tile_level = 0;
								if (row.tile_level!=""){
									wms.tile_level = row.tile_level;							
								}
								wms.tile_format = 'jpg';
								if (row.tile_format)
								wms.tile_format = row.tile_format;
							}
							
							if ((row.grupa)&&(row.grupa!="")){
								wms.group = parseInt(row.grupa);
							} else
							wms.group = 0;
							
			
							
							wms.name = row.nazwa;
							wms.id = row.nazwa;			
							wms.icon = row.ikonka;			
							var boxes = row.zakres.split(';');
							var box = boxes[0].split(',');
							wms.boundingBox = new BEngine.iGML.Box(parseFloat(box[0]),parseFloat(box[1]),parseFloat(box[2]),parseFloat(box[3]));
							if (boxes.length>1){
								wms.boundingBoxes = new Array();
								for (var j=0;j<boxes.length;j++){
									var box = boxes[j].split(',');
									wms.boundingBoxes.push(new BEngine.iGML.Box(parseFloat(box[0]),parseFloat(box[1]),parseFloat(box[2]),parseFloat(box[3])));
									
								}
							}						
							wms.expandable = true;	
							wms.expanded = toBool(row.rozwiniety);	
							wms.checked = toBool(row.widoczny);	
							var w = 0;
							if (isThematic == true) w = 1; 
							map.addService(wms,w,false);				
            

						}
					}
					
					if (obiekt.grupy_wms){
						for(var i=0;i<obiekt.grupy_wms.length;i++){
							var g = obiekt.grupy_wms[i];		
							map.groups.push({id:g.id,name:g.nazwa,visible:BEngine.Utils.strToBool(g.widoczny),expanded:BEngine.Utils.strToBool(g.rozwiniety),icon:g.ikonka,active:BEngine.Utils.strToBool(g.aktywny)});
						}
					}
					
					map.fillLayerTree();
					map.createLevels(); 
					
					map.zoomExtent();
					
			
					layerTree = map.getLayersTree();
			
					layerTree.onselect = function(item,but){
						item = item.data;
						if ((item.className == 'WMSLayer')&&(but==1)){
							//alert(item.name);
							//pokazSzukaj(item.name);
						} else
						if ((item.className == 'WMSLayer')&&(zalog==true)){
							for (var i = 0;i<layers.length;i++){
								if (layers[i] == item.name){
									wczytajSerwis(item.name);
									return 0;
								}
							}
						}
					}

					if ((x_widok!=0)&&(y_widok!=0)&&(scale_widok!=0)){
						map.setView(x_widok,y_widok,scale_widok);
					}					
			}	
		
	});	

}

function init(zalogowany,kto,logowanie,host,sciezka,naglowekSerwisu,teryt,inFrame,box,x_widok,y_widok,scale_widok,wydruk_mz,teryt_mpa,instrukcjaMZ){
	var bx = box.split(',');
	zalog = zalogowany;
	

	mainBBox = new BEngine.iGML.Box(parseFloat(bx[0]),parseFloat(bx[1]),parseFloat(bx[2]),parseFloat(bx[3]));

	
	sciezkaWdr = sciezka;
	hostWdr = host;
	BEngine.start('http://'+host+'/skrypty/');
	BEngine.naglowekSerwisu = naglowekSerwisu;
	BEngine.wdrozenieSciezka = sciezka;
	var offsetTop = 37;
	var backParam = new BEngine.Controls.BackParam('#fff',sciezka+'obrazki/top.png','no-repeat','top left');
	if (inFrame==1) {
		backParam = null;
		offsetTop = 0;
	}
	BEngine.Interface.init({width:null},function(rootPanel){
		rootPanel.setMinimalSize(760,460);
		
		
		
		var pan = new BEngine.Controls.Panel({x:0,y:0,width:rootPanel.getSize()[0],height:rootPanel.getSize()[1],backParam:backParam,aLeft:true,aTop:true,aRight:true,aBottom:true},rootPanel);
	
		if (zalogowany==false){
			var panLog = new BEngine.Controls.Panel({x:pan.getSize()[0]-380,y:1,width:375,height:24,aLeft:false,aTop:true,aRight:true,aBottom:false},rootPanel);
		
			panLog.div.style.align = 'right';
			var t= '';
			t = '<form style="padding:0px;margin:0px" method="post" action="index.php">'
			t += '<table><tr>';
			t += '<td style="color:#fff;font-weight:bold"> Login: </td>';			
			t += '<td><input style="font-size:11px;width:100px" name="login"/></td>'
			t += '<td style="color:#fff;font-weight:bold"> Hasło: </td>';
			t += '<td><input style="font-size:11px;width:100px" name="haslo" type="password"/></td>'
			t += '<td><input style="font-size:11px" name="btnLoguj" type="submit" value="Zaloguj"/></td>'
			t += '</tr></table>';
			t += '</form>';
			if (logowanie==true)
			panLog.div.innerHTML = t;					
		} 
		if (zalogowany==true){
			var panLog = new BEngine.Controls.Panel({x:pan.getSize()[0]-380,y:1,width:375,height:24,aLeft:false,aTop:true,aRight:true,aBottom:false},rootPanel);
		
			panLog.div.align = 'right';
			var t= '';
			t += '<table><tr>';
			t += '<td style="color:#fff;font-weight:bold"> '+kto+' </td>';			
			t += '<td><input style="font-size:11px" type="button" onclick="wyloguj()" value="Wyloguj"/></td>'
			t += '<td><input style="font-size:11px" type="button" onclick="administracja()" value="Administracja"/></td>'
			t += '</tr></table>';
			panLog.div.innerHTML = t;					
		} 
		
		var liderPos = 350;
		if (inFrame==1) liderPos = 260;
		
		var span = new BEngine.Controls.SlidePanel({leftWidth:liderPos,minLeftWidth:300,minRightWidth:400,x:4,y:offsetTop,width:rootPanel.getSize()[0]-8,height:rootPanel.getSize()[1]-offsetTop-4,backParam:new BEngine.Controls.BackParam('#fff'),aLeft:true,aTop:true,aRight:true,aBottom:true},pan);
		
		
		var rp = span.getRightPanel();
		
		var extPan2 = new BEngine.Controls.ExtPanel({x:0,y:0,width:rp.getSize()[0],height:rp.getSize()[1],aRight:true,aBottom:true},rp);
		extPan2.addEvent('resize',function(){
			//alert('sdfds');
		});
		
	
		var lp = span.getLeftPanel();
		
		
		var extPan = new BEngine.Controls.ExtPanel({x:0,y:0,width:lp.getSize()[0],height:lp.getSize()[1],aRight:true,aBottom:true},lp);
		
		var offset = 0;
		offset = 28;
					
		var h = extPan.getWorkspaceSize()[1]-offset;		
		//layinfo = new BEngine.Controls.VerticalSlidePanel({minBottomHeight:130,topHeight:Math.round(h*0.6),x:0,y:offset,keepRatio:true,width:extPan.getWorkspaceSize()[0],height:h,aLeft:true,aTop:true,aRight:true,aBottom:true},extPan);
		treePanel = new BEngine.Controls.Panel({x:0,width:extPan.getWorkspaceSize()[0],height:extPan.getWorkspaceSize()[1]-4-offset,y:offset+2,aLeft:true,aTop:true,aRight:true,aBottom:true},extPan);
		
		
		editPanel = new BEngine.Controls.Panel({x:0,y:offset,width:extPan.getWorkspaceSize()[0],height:h,aLeft:true,aTop:true,aRight:true,aBottom:true},extPan);
		editPanel.hide();

		if (inFrame==1)  offset = 0;
		findPanel = new BEngine.Controls.Panel({x:0,y:offset,width:extPan.getWorkspaceSize()[0],height:h,aLeft:true,aTop:true,aRight:true,aBottom:true},extPan);

		var offset = 3;
		
		
		if (teryt.length<16){
			var tmp = teryt.length;
			if (tmp >6) tmp = 6;
			var wysokosc = ((5-Math.floor(tmp/2))*23)+38+26;
			var extPanSD = new BEngine.Controls.ExtPanel({x:0,y:offset,width:findPanel.getSize()[0],height:wysokosc,aRight:true,text:'Szukanie działki',barImage:'green'},findPanel);
			offset+= wysokosc;
			var left = 70;
			
			var offset2 = 3;
			if (teryt.length == 0){
				left = 90;
				var wojCmb = new BEngine.Controls.ComboBox({x:left,y:offset2,width:extPanSD.getWorkspaceWidth()-left-5,height:20,aRight:true},extPanSD);
				var div = BEngine.Controls.createDiv(3,offset2+2,null,null,left-7,20);
				extPanSD.getWorkspaceDiv().appendChild(div); 
				div.innerHTML= 'Wojewodztwo:';
				offset2+=23;
			}
			if (teryt.length <=2){
				var powCmb = new BEngine.Controls.ComboBox({x:left,y:offset2,width:extPanSD.getWorkspaceWidth()-left-5,height:20,aRight:true},extPanSD);
				var div = BEngine.Controls.createDiv(3,offset2+2,null,null,left-7,20);
				extPanSD.getWorkspaceDiv().appendChild(div); 
				div.innerHTML= 'Powiat:';				
				offset2+=23;
			}
			if (teryt.length <= 4){
				var gmiCmb = new BEngine.Controls.ComboBox({x:left,y:offset2,width:extPanSD.getWorkspaceWidth()-left-5,height:20,aRight:true},extPanSD);
				var div = BEngine.Controls.createDiv(3,offset2+2,null,null,left-7,20);
				extPanSD.getWorkspaceDiv().appendChild(div); 
				div.innerHTML= 'Gmina:';				
				offset2+=23;
			}
			if (teryt.length <= 8){
				var obrCmb = new BEngine.Controls.ComboBox({x:left,y:offset2,width:extPanSD.getWorkspaceWidth()-left-5,height:20,aRight:true},extPanSD);
				var div = BEngine.Controls.createDiv(3,offset2+2,null,null,left-7,20);
				extPanSD.getWorkspaceDiv().appendChild(div); 
				div.innerHTML= 'Obreb:';				
				offset2+=23;
			}
			
			var div = BEngine.Controls.createDiv(3,offset2+2,null,null,left-7,20);
			extPanSD.getWorkspaceDiv().appendChild(div); 
			div.innerHTML= 'Numer:';				
			var numerText = new BEngine.Controls.Panel({x:left,y:offset2,height:20,width:extPanSD.getWorkspaceWidth()-left-15},extPanSD);		
			var numerInput = document.createElement('input');					
			numerInput.style.fontSize = '11px';
			numerInput.style.position = 'absolute';
			numerInput.style.top='0px';
			numerInput.style.width = '80px';
			numerInput.style.margin = '0px';
			numerInput.style.height = '14px';
			numerText.getWorkspaceDiv().appendChild(numerInput); 
			offset2+=23;
			
			var szuDzaBut = new BEngine.Controls.Button({x:3,y:offset2,height:22,text:'Pokaż',width:50,aLeft:true,aRight:false,aTop:true},extPanSD);
			function wczytajWojewodztwa(){
				var parametry={sciezka:sciezka};
				wojCmb.removeAll();
				wojCmb.addItem('','');
				BEngine.Ajax.post('skrypty/ajax/lista_wojewodztw.php',parametry,function(obj){
					var obiekt =eval( "("+obj.responseText+")"); 
					if (obiekt.error == 0){ 

						for (var i=0;i<obiekt.data.length;i++){
							var ob = wojCmb.addItem(obiekt.data[i].nazwa,obiekt.data[i].teryt);
							ob.xmin = obiekt.data[i].xmin;
							ob.ymin = obiekt.data[i].ymin;
							ob.xmax = obiekt.data[i].xmax;
							ob.ymax = obiekt.data[i].ymax;							
						}
					}
				})			
			}				
			function wczytajPowiaty(wojTeryt){
				var parametry={woj_teryt:wojTeryt,sciezka:sciezka};
				powCmb.removeAll();
				powCmb.addItem('','');
				BEngine.Ajax.post('skrypty/ajax/lista_powiatow.php',parametry,function(obj){
					var obiekt =eval( "("+obj.responseText+")"); 
					if (obiekt.error == 0){ 

						for (var i=0;i<obiekt.data.length;i++){
							var ob = powCmb.addItem(obiekt.data[i].nazwa,obiekt.data[i].teryt);
							ob.xmin = obiekt.data[i].xmin;
							ob.ymin = obiekt.data[i].ymin;
							ob.xmax = obiekt.data[i].xmax;
							ob.ymax = obiekt.data[i].ymax;							
						}
					}
				})			
			}			
			function wczytajGminy(powTeryt){
				var parametry={pow_teryt:powTeryt,sciezka:sciezka};
				gmiCmb.removeAll();
				gmiCmb.addItem('','');
				BEngine.Ajax.post('skrypty/ajax/lista_gmin.php',parametry,function(obj){
					var obiekt =eval( "("+obj.responseText+")"); 
					if (obiekt.error == 0){ 

						for (var i=0;i<obiekt.data.length;i++){
							var ob = gmiCmb.addItem(obiekt.data[i].nazwa,obiekt.data[i].teryt);
							ob.xmin = obiekt.data[i].xmin;
							ob.ymin = obiekt.data[i].ymin;
							ob.xmax = obiekt.data[i].xmax;
							ob.ymax = obiekt.data[i].ymax;		
						}
					}
				})			
			}			
			function wczytajObreby(gminaTeryt){
				var parametry={gmi_teryt:gminaTeryt,sciezka:sciezka};
				obrCmb.removeAll();
				obrCmb.addItem('','');
				//BEngine.Interface.LoadingPanel.show();
				BEngine.Ajax.post('skrypty/ajax/lista_obrebow.php',parametry,function(obj){
					var obiekt =eval( "("+obj.responseText+")"); 
					if (obiekt.error == 0){ 

						for (var i=0;i<obiekt.data.length;i++){
							var ob = obrCmb.addItem(obiekt.data[i].nazwa,obiekt.data[i].teryt);
							ob.xmin = obiekt.data[i].xmin;
							ob.ymin = obiekt.data[i].ymin;
							ob.xmax = obiekt.data[i].xmax;
							ob.ymax = obiekt.data[i].ymax;		
						}
						//BEngine.Interface.LoadingPanel.hide();
					}
				});			
			}
			
			if (gmiCmb)
			gmiCmb.onchange = function(){
				if (gmiCmb.getSelectedItem().value!=''){
					wczytajObreby(gmiCmb.getSelectedItem().value);
				}
			}
			if (powCmb)
			powCmb.onchange = function(){
				if (powCmb.getSelectedItem().value!=''){
					wczytajGminy(powCmb.getSelectedItem().value);
				}
			}
			if (wojCmb)
			wojCmb.onchange = function(){
				if (wojCmb.getSelectedItem().value!=''){
					wczytajPowiaty(wojCmb.getSelectedItem().value);
				}
			}
			
			if (teryt.length == 0){
				wczytajWojewodztwa();
			} else
			if (teryt.length ==2){
				wczytajPowiaty(teryt);	
			} else 
			if (teryt.length ==4){
				wczytajGminy(teryt);	
			} else 
			if (teryt.length >=6){
				wczytajObreby(teryt);	
			} 			
			
			szuDzaBut.onclick = function(){
				var woj = '';			
				var pow = '';
				var gmi = '';
				var obr = '';
				var num = '';
				
				if ((wojCmb)&&(wojCmb.getSelectedItem())){
					woj = wojCmb.getSelectedItem().value;
				}
				if ((powCmb)&&(powCmb.getSelectedItem())){
					pow = powCmb.getSelectedItem().value;
				}				
				if ((gmiCmb)&&(gmiCmb.getSelectedItem())){
					gmi = gmiCmb.getSelectedItem().value;
				}	
				if ((obrCmb)&&(obrCmb.getSelectedItem())){
					obr = obrCmb.getSelectedItem().value;
				}				
				num = numerInput.value;
				
				if (num!=''){
					var parametry={numer:num,obreb:obr};
					BEngine.Interface.LoadingPanel.show();
					BEngine.Ajax.post('skrypty/ajax/szukaj_dzialki_new.php',parametry,function(obj){
						var ob =eval( "("+obj.responseText+")"); 
						BEngine.Interface.LoadingPanel.hide();
						if (ob.blad){ 
							alert(ob.blad);
						} else {
							map.setViewFromBox(new BEngine.iGML.Box(ob.xmin,ob.ymin,ob.xmax,ob.ymax));	
						}
					});				
				} else 
				if (obr!='') {
					var ob = obrCmb.getSelectedItem();
					map.setViewFromBox(new BEngine.iGML.Box(ob.xmin,ob.ymin,ob.xmax,ob.ymax));						
				} else 
				if (gmi!=''){
					var ob = gmiCmb.getSelectedItem();
					map.setViewFromBox(new BEngine.iGML.Box(ob.xmin,ob.ymin,ob.xmax,ob.ymax));					
				} else 
				if (pow!=''){
					var ob = powCmb.getSelectedItem();
					map.setViewFromBox(new BEngine.iGML.Box(ob.xmin,ob.ymin,ob.xmax,ob.ymax));					
				} else 
				if (woj!=''){
					var ob = wojCmb.getSelectedItem();
					map.setViewFromBox(new BEngine.iGML.Box(ob.xmin,ob.ymin,ob.xmax,ob.ymax));	
				}
			
			
			}
			
			numerInput.onkeypress = function(e){
				onkeyszukaj(e,szuDzaBut.onclick);
			}	
		}


		if ((host!='')){
			var terytImpa = '';
			
			if (tmp >6) tmp = 6;
			var wysokosc = ((6-Math.floor(tmp/2))*23)+38+26;
			var extPanSA = new BEngine.Controls.ExtPanel({x:0,y:offset,width:findPanel.getSize()[0],height:wysokosc,aRight:true,text:'Szukanie adresu',barImage:'blue'},findPanel);
			offset+= wysokosc;
			var left = 80;			
			var offset2 = 3;
			if (teryt.length == 0){
				left = 90;
				var wojCmbA = new BEngine.Controls.ComboBox({x:left,y:offset2,width:extPanSA.getWorkspaceWidth()-left-5,height:20,aRight:true},extPanSA);
				var div = BEngine.Controls.createDiv(3,offset2+2,null,null,left-7,20);
				extPanSA.getWorkspaceDiv().appendChild(div); 
				div.innerHTML= 'Wojewodztwo:';
				offset2+=23;
			}
			if (teryt.length <=2){
				var powCmbA = new BEngine.Controls.ComboBox({x:left,y:offset2,width:extPanSA.getWorkspaceWidth()-left-5,height:20,aRight:true},extPanSA);
				var div = BEngine.Controls.createDiv(3,offset2+2,null,null,left-7,20);
				extPanSA.getWorkspaceDiv().appendChild(div); 
				div.innerHTML= 'Powiat:';				
				offset2+=23;
			}
			if (teryt.length <= 4){
				var gmiCmbA = new BEngine.Controls.ComboBox({x:left,y:offset2,width:extPanSA.getWorkspaceWidth()-left-5,height:20,aRight:true},extPanSA);
				var div = BEngine.Controls.createDiv(3,offset2+2,null,null,left-7,20);
				extPanSA.getWorkspaceDiv().appendChild(div); 
				div.innerHTML= 'Gmina:';				
				offset2+=23;
			}

			var mieCmb = new BEngine.Controls.ComboBox({x:left,y:offset2,width:extPanSA.getWorkspaceWidth()-left-5,height:20,aRight:true},extPanSA);
			var div = BEngine.Controls.createDiv(3,offset2+2,null,null,left-7,20);
			extPanSA.getWorkspaceDiv().appendChild(div); 
			div.innerHTML= 'Miejscowość:';				
			offset2+=23;
		
			var uliCmb = new BEngine.Controls.ComboBox({x:left,y:offset2,width:extPanSA.getWorkspaceWidth()-left-5,height:20,aRight:true},extPanSA);
			var div = BEngine.Controls.createDiv(3,offset2+2,null,null,left-7,20);
			extPanSA.getWorkspaceDiv().appendChild(div); 
			div.innerHTML= 'Ulica:';				
			offset2+=23;			
		
			var div = BEngine.Controls.createDiv(3,offset2+2,null,null,left-7,20);
			extPanSA.getWorkspaceDiv().appendChild(div); 
			div.innerHTML= 'Numer:';				
			var numerTextA = new BEngine.Controls.Panel({x:left,y:offset2,height:20,width:extPanSA.getWorkspaceWidth()-left-15},extPanSA);		
			var numerInputA = document.createElement('input');					
			numerInputA.style.fontSize = '11px';
			numerInputA.style.position = 'absolute';
			numerInputA.style.top='0px';
			numerInputA.style.width = '80px';
			numerInputA.style.margin = '0px';
			numerInputA.style.height = '14px';
			numerTextA.getWorkspaceDiv().appendChild(numerInputA); 
			offset2+=23;
			
			var szuAdrBut = new BEngine.Controls.Button({x:3,y:offset2,height:22,text:'Pokaż',width:50,aLeft:true,aRight:false,aTop:true},extPanSA);

			function wczytajWojewodztwaA(){
				var parametry={sciezka:sciezka};
				wojCmbA.removeAll();
				powCmbA.removeAll();
				gmiCmbA.removeAll();
				mieCmb.removeAll();
				uliCmb.removeAll();
				
				wojCmbA.addItem('','');
				BEngine.Ajax.post('skrypty/ajax/lista_wojewodztw_adres.php',parametry,function(obj){
					var obiekt =eval( "("+obj.responseText+")"); 
					if (obiekt.error == 0){ 

						for (var i=0;i<obiekt.data.length;i++){
							var ob = wojCmbA.addItem(obiekt.data[i].nazwa,obiekt.data[i].teryt);
							ob.xmin = obiekt.data[i].xmin;
							ob.ymin = obiekt.data[i].ymin;
							ob.xmax = obiekt.data[i].xmax;
							ob.ymax = obiekt.data[i].ymax;							
						}
					}
				})			
			}				
			function wczytajPowiatyA(wojTeryt){
				var parametry={woj_teryt:wojTeryt,sciezka:sciezka};
				powCmbA.removeAll();
				gmiCmbA.removeAll();
				mieCmb.removeAll();
				uliCmb.removeAll();
				
				powCmbA.addItem('','');
				BEngine.Ajax.post('skrypty/ajax/lista_powiatow_adres.php',parametry,function(obj){
					var obiekt =eval( "("+obj.responseText+")"); 
					if (obiekt.error == 0){ 

						for (var i=0;i<obiekt.data.length;i++){
							var ob = powCmbA.addItem(obiekt.data[i].nazwa,obiekt.data[i].teryt);
							ob.xmin = obiekt.data[i].xmin;
							ob.ymin = obiekt.data[i].ymin;
							ob.xmax = obiekt.data[i].xmax;
							ob.ymax = obiekt.data[i].ymax;							
						}
					}
				})			
			}		
			function wczytajGminyA(powTeryt){
				var parametry={pow_teryt:powTeryt,sciezka:sciezka};
				gmiCmbA.removeAll();
				mieCmb.removeAll();
				uliCmb.removeAll();
				gmiCmbA.addItem('','');
				BEngine.Ajax.post('skrypty/ajax/lista_gmin_adres.php',parametry,function(obj){
					var obiekt =eval( "("+obj.responseText+")"); 
					if (obiekt.error == 0){ 

						for (var i=0;i<obiekt.data.length;i++){
							var ob = gmiCmbA.addItem(obiekt.data[i].nazwa,obiekt.data[i].teryt);		
						}
					}
				})			
			}
			function wczytajMiejscowosci(teryt){
				var parametry={teryt:teryt,sciezka:sciezka};
				mieCmb.removeAll();
				uliCmb.removeAll();
				mieCmb.addItem('','');
				BEngine.Ajax.post('skrypty/ajax/lista_miejscowosci.php',parametry,function(obj){
					var obiekt =eval( "("+obj.responseText+")"); 
					if (obiekt.error == 0){ 
						for (var i=0;i<obiekt.data.length;i++){
							var ob = mieCmb.addItem(obiekt.data[i].nazwa,obiekt.data[i].id);
							ob.teryt = teryt;
							terytImpa  = teryt;
						}
						if (mieCmb.getLength()==2){
							mieCmb.selectItemByIndex(1);
							mieCmb.onchange();
						}
					}
				})			
			}			
			function wczytajUlice(teryt,miejscowosc_id){
				var parametry={teryt:teryt,miejscowosc_id:miejscowosc_id,sciezka:sciezka};
				uliCmb.removeAll();
				uliCmb.addItem('','');
				BEngine.Ajax.post('skrypty/ajax/lista_ulic_nowy.php',parametry,function(obj){
					var obiekt =eval( "("+obj.responseText+")"); 
					if (obiekt.error == 0){ 
						for (var i=0;i<obiekt.data.length;i++){
							var ob = uliCmb.addItem(obiekt.data[i].nazwa,obiekt.data[i].id);
						}
					}
				})			
			}
			
			if (teryt_mpa==''){
				if (teryt.length == 0){		
					wczytajWojewodztwaA();
				} else
				if (teryt.length ==2){
					wczytajPowiatyA(teryt);	
				} else 
				if (teryt.length ==4){
					wczytajGminyA(teryt);	
				} else 
				if (teryt.length >=6){
					wczytajMiejscowosci(teryt);	
				} 
			} else {
				wczytajMiejscowosci(teryt_mpa);		
			}
	
			if (wojCmbA)
			wojCmbA.onchange = function(){
				if (wojCmbA.getSelectedItem().value!=''){
					wczytajPowiatyA(wojCmbA.getSelectedItem().value);
				}
			}
			
	
			if (powCmbA)
			powCmbA.onchange = function(){
				if (powCmbA.getSelectedItem().value!=''){
					wczytajGminyA(powCmbA.getSelectedItem().value);
				}
			}
			
			if (gmiCmbA)
			gmiCmbA.onchange = function(){
				if (gmiCmbA.getSelectedItem().value!=''){
					wczytajMiejscowosci(gmiCmbA.getSelectedItem().value);
				}
			}			

			if (mieCmb)
			mieCmb.onchange = function(){
				if (mieCmb.getSelectedItem().value!=''){
					var item = mieCmb.getSelectedItem();
					wczytajUlice(item.teryt,item.value);
				}
			}
			
			numerInputA.onkeypress = function(e){
				onkeyszukaj(e,szuAdrBut.onclick);
			}
			var punktIconStyle = new BEngine.iGML.Overlays.PointStyle({image:'obrazki/marker_adres.png',width:35,height:34,xCenter:10,yCenter:32});

			var linieOverlay = new Array();
			
			szuAdrBut.onclick = function(){
				var ulica_id = uliCmb.getSelectedItem().value;

				if ((szukanieAdresuMarker!=null)||(linieOverlay.length>0)){
					map.removeOverlays();
					linieOverlay.length = 0;
				}
				
				var numer = numerInputA.value;
				if (numer=='numer...') numer = '';
				var item = mieCmb.getSelectedItem();
				BEngine.Ajax.post('skrypty/ajax/szukaj_adres_nowy.php',{miejscowosc_id:item.value,ulica_id:ulica_id,numer:numer,sciezka:sciezka,teryt:terytImpa},function(obj){
					var obiekt =eval( "("+obj.responseText+")");
					if (obiekt.error == 0){
						if (obiekt.typ=="punkt"){

							szukanieAdresuMarker = new BEngine.iGML.Overlays.Point(obiekt.x,obiekt.y,punktIconStyle);
							map.addOverlay(szukanieAdresuMarker);
							map.setViewFromBox(new BEngine.iGML.Box(obiekt.x-50,obiekt.y-50,obiekt.x+50,obiekt.y+50));	
						}
						if (obiekt.typ=="ulica"){
							if (obiekt.g_ulica){
								for (var k=0;k<obiekt.g_ulica.length;k++){
									var ovr = new BEngine.iGML.Overlays.Line(obiekt.g_ulica[k],{opacity:0.4,width:16,color:'#2ea5f8'});
									linieOverlay.push(ovr);
									map.addOverlay(ovr);
								}
							}
							
							map.setViewFromBox(new BEngine.iGML.Box(obiekt.xmin,obiekt.ymin,obiekt.xmax,obiekt.ymax));	
						}					
					} else {
						alert('Brak adresu');
					}
				});		
			}	
			
		} 


		extPanSO = new BEngine.Controls.ExtPanel({x:0,y:offset,width:findPanel.getSize()[0],height:64,aRight:true,text:'Szukanie obiektów'},findPanel);

		warstwyCmb = new BEngine.Controls.ComboBox({x:2,y:5,width:130,height:20,aRight:true},extPanSO);
		if (BEngine.Utils.isIE()==false) warstwyCmb.select.style.fontStyle='italic';
		var warstwyCmbOtw = false;
		warstwyCmb.onclick = function(){
			if (warstwyCmbOtw == false){
				if (BEngine.Utils.isIE()==false){
					this.select.style.fontStyle='normal';
					this.select.options[0] = null;	
				}
				
				warstwyCmbOtw = true;
			}
		}
		
		var frazaText = new BEngine.Controls.Panel({x:137,y:5,height:20,width:114,aLeft:false,aRight:true,aTop:true},extPanSO);		
		var inputFraza = document.createElement('input');					
		inputFraza.style.fontSize = '11px';
		inputFraza.style.position = 'absolute';
		inputFraza.style.top='0px';		
		inputFraza.style.width = '100%';
		inputFraza.style.margin = '0px';
		inputFraza.style.height = '16px';
		inputFraza.style.fontStyle='italic';
		inputFraza.value = 'fraza...';
		if (BEngine.Utils.isIE()==false){
			inputFraza.style.padding = '1px 1px 1px 1px';		
		} else {
			inputFraza.style.padding = '0px';	
		}
		frazaText.div.appendChild(inputFraza);
		inputFraza.onkeypress = function(e){
			onkeyszukaj(e,szuObBut.onclick);
		}
		
		var inputFrazaOtw = false;
		inputFraza.onclick = function(){
			if (inputFrazaOtw == false){
				if (BEngine.Utils.isIE()==false){
					this.style.fontStyle='normal';
				}
				this.value = '';
				inputFrazaOtw = true;
			}
		}
		
		var szuObBut = new BEngine.Controls.Button({x:260,y:5,height:20,text:'Szukaj',width:50,aLeft:false,aRight:true,aTop:true},extPanSO);
		var wynikiPanel = new BEngine.Controls.Panel({backParam:new BEngine.Controls.BackParam('#eaeaea'),x:3,y:28,height:-2,width:extPanSO.getWorkspaceWidth()-6,aLeft:true,aRight:true,aTop:true,aBottom:true},extPanSO);
		wynikiPanel.getWorkspaceDiv().style.overflow = 'auto';
		
		var obiektyIconStyle = new BEngine.iGML.Overlays.PointStyle({image:'obrazki/marker.png',width:20,height:34,xCenter:10,yCenter:32});
		
		szuObBut.onclick = function(){
			var tabela = warstwyCmb.getSelectedItem().value;
			if (tabela=='0'){
				alert('Wybierz warstwę');
				return 0;
			}
			var fraza = inputFraza.value;
			if ((fraza=='') ||(fraza=='fraza...')) {
				fraza='';
				//return 0;
			}
			
			extPanSO.setWorkspaceHeight(200);
			var div = wynikiPanel.getWorkspaceDiv();
			div.style.backgroundImage = 'url(skrypty/obrazki/processing.gif)';
			div.style.backgroundRepeat = 'no-repeat';
			div.style.backgroundPosition = 'center center';
			
			BEngine.Ajax.post('skrypty/ajax/szukaj_obiekt.php',{tabela:tabela,fraza:fraza,sciezka:sciezka},function(obj){
				var obiekt =eval( "("+obj.responseText+")");
				if (obiekt.error == 0){
					for (var ii=0;ii<theSer.layers.length;ii++){
						var w = theSer.layers[ii];
						if (w.name == tabela){
							w.checked = true;
							w.treeItem.setCheck(true);
						}
					}
					
					var div = wynikiPanel.getWorkspaceDiv();
					div.innerHTML = '';
					div.style.backgroundImage = 'none';
					
					var c = 0;
					for (var i=0;i<obiekt.dane.length;i++){
						var row = obiekt.dane[i];
						var d = document.createElement('div');
						d.onmouseover = function(){
							this.style.backgroundColor = '#d1eaf8';
						}
						d.onmouseout = function(){
							this.style.backgroundColor = this.backColor;
						}						
						div.appendChild(d);
						d.innerHTML = row.nazwa;
						if (row.fragment!='') d.innerHTML+=' - '+row.fragment;
						d.style.padding = "3px 4px 3px 4px";
						d.style.fontSize = '11px';
						d.style.overflow = 'hidden';	
						d.xmin = row.xmin;
						d.ymin = row.ymin;
						d.xmax = row.xmax;
						d.ymax = row.ymax;
						if (c==0) d.backColor = '#f9f9f9'; else d.backColor = '#eaeaea';
						d.style.backgroundColor = d.backColor;
						
						d.row_id = row.id
						d.onclick = function(){
						
							wmsRysuj.url = urlRysuj+'&line_width=8&line_color=54b7ea&tabela='+tabela+'&id='+this.row_id+'&warunek_tabela='+warunekRysuj;
							map.setViewFromBox(new BEngine.iGML.Box(this.xmin,this.ymin,this.xmax,this.ymax));	
						}
						c++;
						if (c==2) c=0;
					}
				} 
				if (obiekt.dane.length==0){
					div.innerHTML = '<div style="padding:2px 4px 2px 4px;font-size:11px">Nic nie znaleziono</div>';
				}
				
			});		
		}		
		//extPanSO.hide();
		/*
		BEngine.Ajax.post('skrypty/ajax/pobierz_tabele.php',{table:'tabele',sort:'id',sciezka:sciezka},function(obj){
			var obiekt =eval( "("+obj.responseText+")");
			if (obiekt.error == 0){
				warstwyCmb.addItem('wybierz warstwę...','0');
				for (var i=0;i<obiekt.data.length;i++){
					var o = obiekt.data[i];
					if (o.typ=="0")
					warstwyCmb.addItem(o.opis,o.nazwa);
				}
			}
		});
		*/		
		
		
		findPanel.hide();		
		
		var toolLay = new BEngine.Controls.Toolbar({y:1,height:26,fullWeight:false,fontSize:12},extPan);
		bLayer = new BEngine.Controls.ToolbarCheckButton({image:'obrazki/layers.png',text:'Warstwy',group:45645,width:85},toolLay);		
		bSzukaj = new BEngine.Controls.ToolbarCheckButton({image:'obrazki/szukaj.png',text:'Szukaj',group:45645,width:85},toolLay);	
		if (inFrame==1) toolLay.hide();
	
		
	
		if (zalogowany==true){
			bEdit = new BEngine.Controls.ToolbarCheckButton({image:'obrazki/edit.png',text:'Działania',group:45645,width:85},toolLay);				
			bEdit.onclick = function(){pokazEdit();}
		}
		
		if (inFrame==1) 
		pokazSzukaj();
		else
		pokazWarstwy();
		
		bLayer.onclick = function(){pokazWarstwy();}		
		bSzukaj.onclick = function(){ pokazSzukaj(); };
	
		
		
		

		edycjaDiv = document.createElement('div');
		edycjaDiv.style.position = 'relative';
		edycjaDiv.style.border = '1px solid #999';
		edycjaDiv.style.padding = "5px";
		edycjaDiv.style.marginTop = "5px";
		edycjaDiv.style.backgroundColor = '#ddd';
		edycjaDiv.style.display = 'none';		
		editPanel.getWorkspaceDiv().appendChild(edycjaDiv);
		
		tworzModulAnaliz();
		
	

		
		

		if (zalogowany==true){	
			var maptabpan = new BEngine.Controls.VerticalSlidePanel({topHeight:Math.round(extPan2.getWorkspaceSize()[1]*0.3),x:0,y:28,keepRatio:true,width:extPan2.getWorkspaceSize()[0],height:extPan2.getWorkspaceSize()[1]-28,aLeft:true,aTop:true,aRight:true,aBottom:true},extPan2);
			mapPanel = maptabpan.getBottomPanel();
		} else {
			mapPanel = extPan2;
		}
		
		if (zalogowany==true){	
			var tp = maptabpan.getTopPanel();
			tabPanel = tp;
			
			tabPanel.div.innerHTML = '<div style="position:absolute;top:0px;left:0px;right:0px;bottom:0px;border:1px solid #999;background-color:#ddd"><table style="width:100%;height:100%" ><tr><td style="font-size:11px" align="center">Wybierz warstwę tematyczną z okna po lewej stronie.</td></tr></table></div>';
			
			tableWykaz = new BEngine.Controls.Table({x:0,y:0,width:tp.getWorkspaceSize()[0],height:tp.getWorkspaceSize()[1],aLeft:true,aTop:true,aRight:true,aBottom:true,borderColor:'#999'},tp);
			tableWykaz.hide();
			

			var tool2 = new BEngine.Controls.Toolbar({y:1,height:22,fullWeight:false},extPan2);
			var b1 = new BEngine.Controls.ToolbarCheckButton({image:'skrypty/obrazki/table.png'},tool2);
			var b2 = new BEngine.Controls.ToolbarCheckButton({image:'skrypty/obrazki/map.png'},tool2);
		
			b1.setCheck(true);
			b2.setCheck(true);
			
			b2.onclick = function(ch){
				if (ch == false){
					if (b1.checked == true){
						maptabpan.showOnlyTop();
						if (tabelaZaladowana == false)
						wypelnijTabele();					
					} else {
						this.setCheck(true);
					}
				} else {
					maptabpan.showBoth();
					if (tabelaZaladowana == false)
					wypelnijTabele();
				}
			}

			b1.onclick = function(ch){
				if (ch == false){
					if (b2.checked == true){
						maptabpan.showOnlyBottom();
					} else {
						this.setCheck(true);
					}
				}else {
					maptabpan.showBoth();
					if (tabelaZaladowana == false)
					wypelnijTabele();
				}
			}
			
			var tool = new BEngine.Controls.Toolbar({x:60,y:1,height:22,fullWeight:false},extPan2);
			var b11 = new BEngine.Controls.ToolbarButton({text:'Nowy'},tool);
			var b21 = new BEngine.Controls.ToolbarButton({text:'Edytuj'},tool);		
			var b31 = new BEngine.Controls.ToolbarButton({text:'Usuń'},tool);	

			var b41 = new BEngine.Controls.ToolbarButton({text:'Odśwież'},tool);	

			
			b11.onclick = function(){	
				nowy();			
			}	
			b21.onclick = function(){
				edycja();
			}
			b31.onclick = function(){
				usun();
			}
			b41.onclick = function(){
				zaladujTabele();
			}		
			var width = extPan2.getWorkspaceWidth();
			filtryPanel = new BEngine.Controls.Panel({x:300,y:2,width:width-240,height:22,aLeft:true,aTop:true,aRight:true,aBottom:false},extPan2);
			pagesPanel = new BEngine.Controls.Panel({x:width-100,y:2,width:100,height:22,aLeft:false,aTop:true,aRight:true,aBottom:false},extPan2);
			var tx = document.createElement('span');
			tx.innerHTML ='strona: ';
			pagesPanel.getWorkspaceDiv().appendChild(tx);
			pagesSelect = document.createElement('select');
			pagesSelect.style.fontSize = '11px';
			pagesPanel.getWorkspaceDiv().style.textAlign = 'right';
			pagesPanel.getWorkspaceDiv().appendChild(pagesSelect);
			pagesPanel.hide();
		}	
		
		map = new BEngine.iGML.Map(mapPanel,treePanel,wydruk_mz,instrukcjaMZ);

		map.setMaxScale(15);
		map.loged = zalogowany;
		map.onclick = function(x,y){
			if (zalogowany==true){
				if (tabela!=null){
					var parametry={tabela:tabela,x:x,y:y,sciezka:sciezka,skala:map.scale};
					BEngine.Ajax.post('skrypty/ajax/zwroc_obiekt.php',parametry,function(obj){				
						var obiekt =eval( "("+obj.responseText+")"); 
						if (obiekt.error == 0){
							if (obiekt.id!=0){
								onClickRekord(tabela,obiekt.id);
								wmsRysuj.url = urlRysuj+'&tabela='+tabela+'&id='+obiekt.id+'&warunek_tabela='+warunekRysuj;
								map.refresh();
							}
						}
					});
				}
			}
		}
		
		zaladujWarstwy(x_widok,y_widok,scale_widok);
	
		
	})
	
}
