// 2009 PiK

function CreateStoreCm(){var groby=Ext.data.Record.create([{name:'imie_nazw'},{name:'cmen_out'},{name:'cmen_id'},{name:'data_out'},{name:'kw_out'},{name:'row_out'},{name:'col_out'},{name:'wkt_out'},{name:'x_out'},{name:'y_out'},{name:'acc_out'}]);var myReader=new Ext.data.JsonReader({root:'rows',totalProperty:'results'},groby);var store_cm=new Ext.data.Store({reader:myReader,fields:[{name:'imie_nazw',type:'string'},{name:'cmen_out',type:'string'},{name:'cmen_id',type:'integer'},{name:'data_out',type:'string'},{name:'kw_out',type:'string'},{name:'row_out',type:'string'},{name:'col_out',type:'string'},{name:'wkt_out',type:'string'},{name:'x_out',type:'float'},{name:'y_out',type:'float'},{name:'acc_out',type:'string'}]});return store_cm;};function addSeparator(toolbar){toolbar.add(new Ext.Toolbar.Spacer());toolbar.add(new Ext.Toolbar.Separator());toolbar.add(new Ext.Toolbar.Spacer());};function initToolbarContent(){appobj.toolbar.addControl(new OpenLayers.Control.ZoomToMaxExtent({map:appobj.map,title:'Pokaż pełny widok'}),{iconCls:'zoomfull',toggleGroup:'map'});addSeparator(appobj.toolbar);appobj.toolbar.addControl(new OpenLayers.Control.ZoomBox({title:'Przybliżenie: kliknij na mapę i przeciągnij wskazując obszar do powiększenia'}),{iconCls:'zoomin',toggleGroup:'map'});appobj.toolbar.addControl(new OpenLayers.Control.ZoomBox({out:true,title:'Oddalenie: kliknij na mapę żeby oddalić'}),{iconCls:'zoomout',toggleGroup:'map'});dp=new OpenLayers.Control.DragPan({isDefault:true,title:'Przesuń mapę: przytrzymując lewym przyciskiem myszy przesuń mapę'});appobj.toolbar.addControl(dp,{iconCls:'pan',toggleGroup:'map'});addSeparator(appobj.toolbar);var draw_point=new OpenLayers.Control.DrawFeature(appobj.lyr_start,OpenLayers.Handler.Point,{title:'Dodaj punkt startowy'});appobj.toolbar.addControl(draw_point,{iconCls:'drawpoint',toggleGroup:'map'});function attr(feature){for(var i=0;i<appobj.lyr_start.features.length-1;i++){appobj.lyr_start.removeFeatures(appobj.lyr_start.features[0]);};};draw_point.featureAdded=attr;addSeparator(appobj.toolbar);var nav=new OpenLayers.Control.NavigationHistory();appobj.map.addControl(nav);nav.activate();appobj.toolbar.add(new Ext.Toolbar.Button({iconCls:'back',tooltip:'Poprzedni widok',handler:nav.previous.trigger}));appobj.toolbar.add(new Ext.Toolbar.Button({iconCls:'next',tooltip:'Następny widok',handler:nav.next.trigger}));addSeparator(appobj.toolbar);appobj.toolbar.add({handler:openPrintWindow,iconCls:'printer',tooltip:'Wydruk okna'});addSeparator(appobj.toolbar);appobj.toolbar.add(new Ext.form.Label({text:'Cmentarze:',style:{marginRight:'5px'}}));appobj.toolbar.add(new Ext.form.ComboBox({valueField:'value',displayField:'text',emptyText:'Wskaż cmentarz',editable:false,mode:'local',triggerAction:'all',lazyRender:true,listClass:'x-combo-list-small',store:oBounds,listeners:{'select':function(combo,record){appobj.map.zoomToExtent(record.get('bbox'));}}}));addSeparator(appobj.toolbar);appobj.toolbar.add({handler:HelpWindow,iconCls:'info',tooltip:'Instrukcja'});};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();};function CreateInfoWindow(){var oIW=new Ext.Window({title:'Instrukcja',resizable:true,autoScroll:true,width:600,height:400,closeAction:'hide',region:'center',items:[{region:'center',xtype:'panel',id:'addinf'}]});return oIW;};function CreateBaseLayer(layername){var base=new OpenLayers.Layer(layername,{isBaseLayer:true});return base;};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 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 CreateWMSLayer(layername){var sublayernames=['kwatery','labels','wejscia','pkt','parkingi'];var wmslyr=new OpenLayers.Layer.WMS(layername,oSciezki['mapserv'],{map:oSciezki['mapfiles']+'/'+layername+'.map',transparent:'true',layers:sublayernames,map_imagetype:sMapImageType,format:sMapImageFormat},oWMSOptions);return wmslyr;};function CreateMapPanel(){var oMP=new GeoExt.MapPanel({region:'center',title:'Mapa',map:appobj.map,layout:'fit',tbar:appobj.toolbar,border:false});return oMP;};function CreateLeftPanel(){var now=new Date();var rok=1900+now.getYear();var oLP=new Ext.Panel({region:'west',id:'west-panel',title:'Nawigacja',split:true,width:280,minSize:280,maxSize:280,frame:true,collapsible:true,layout:'accordion',items:[{id:'lyrtree',title:'Warstwy',model:model,xtype:'layertree',map:appobj.map},{title:'1. Szukaj grobu',xtype:'form',autoScroll:true,id:'sel',labelWidth:75,defaultType:'textfield',bodyStyle:'padding: 7px;',contentEl:'west',items:[{fieldLabel:'Imię',id:'imie',name:'Imię'},{fieldLabel:'Nazwisko',id:'nazwisko',name:'Nazwisko'},{xtype:'panel',style:{marginBottom:'10px',marginTop:'10px'},items:{xtype:'label',html:'Rok zgonu (przedział maks. 20 lat)',style:{fontFamily:'tahoma, arial, helvetica, sans-serif',fontSize:'12px'}}},{fieldLabel:'Rok od',id:'rok_od',name:'Rok od',xtype:'numberfield',maxText:'Maximum dla tego pola to '+rok,allowDecimals:false,maxValue:rok,allowBlank:false,blankText:'To pole jest wymagane'},{fieldLabel:'Rok do',id:'rok_do',name:'Rok do',xtype:'numberfield',maxText:'Maximum dla tego pola to '+rok,allowDecimals:false,maxValue:rok,allowBlank:false,blankText:'To pole jest wymagane'},{xtype:'radiogroup',fieldLabel:'Płeć',defaultType:'radio',items:[{boxLabel:'Kobieta',name:'pl',id:'plec',checked:true},{boxLabel:'Mężczyzna',name:'pl'}]},{xtype:'label',id:'infowynik',html:'Wypełnij wartości i naciśnij przycisk Szukaj',style:{fontFamily:'tahoma, arial, helvetica, sans-serif',fontSize:'12px'}},{text:"Szukaj",xtype:'button',style:{marginTop:'20px',position:'absolute',right:'30px'},handler:function(){var v_imie=Ext.getCmp("imie").getValue();var v_nazwisko=Ext.getCmp("nazwisko").getValue();var v_rok_od=Ext.getCmp("rok_od").getValue();var v_rok_do=Ext.getCmp("rok_do").getValue();var v_plec=Number(Ext.getCmp("plec").getValue());znajdz(v_imie,v_nazwisko,v_rok_od,v_rok_do,v_plec);}}]},{title:'2. Szukaj trasy',xtype:'form',id:'route_find',defaultType:'label',bodyStyle:'padding: 7px;',contentEl:'rt_find',labelWidth:50,items:[{text:'Używając narzędzia Dodaj punkt startowy (na pasku narzędzi) wskaż na mapie wejcie od którego chcesz wyznaczyć trasę, a następnie kliknj przycisk Szukaj trasy',height:75,cls:'x-form-item'},{xtype:'button',text:'Szukaj trasy',handler:compute,style:{marginTop:'20px',position:'absolute',right:'30px'}}]},{xtype:'print-simple',title:'3. Wydruk do PDF',zoomToExtentEnabled:false,formConfig:{labelWidth:65,bodyStyle:'padding: 7px;',defaults:{width:140},items:[{xtype:'textarea',fieldLabel:'Komentarz',name:'comment',height:100,width:160,value:''},{xtype:'hidden',name:'imie_n',id:'imie_n'},{xtype:'hidden',name:'cmentarz',id:'cmentarz'},{xtype:'hidden',name:'row',id:'row'},{xtype:'hidden',name:'col',id:'col'},{xtype:'hidden',name:'dokl',id:'dokl'},{xtype:'hidden',name:'kwat',id:'kwat'}]},border:false,map:appobj.map,configUrl:oSciezki['wydruk']}]});return oLP;};function CreateFootPanel(){var grid=new Ext.grid.GridPanel({store:appobj.storecm,border:true,enableColumnHide:false,enableColumnMove:false,enableHdMenu:false,region:'west',sm:new Ext.grid.RowSelectionModel({singleSelect:true,listeners:{rowselect:function(sm,row,rec){appobj.lyr_end.removeFeatures(appobj.lyr_end.features);if(rec.data.wkt_out){var g=appobj.parserJson.read(rec.data.wkt_out,"Feature");appobj.lyr_end.addFeatures([g]);};appobj.map.setCenter(new OpenLayers.LonLat(rec.data.x_out,rec.data.y_out),17);Ext.getCmp('cmentarz').setRawValue(rec.data.cmen_out);Ext.getCmp('row').setRawValue(rec.data.row_out);Ext.getCmp('col').setRawValue(rec.data.col_out);Ext.getCmp('imie_n').setRawValue(rec.data.imie_nazw);Ext.getCmp('dokl').setRawValue(rec.data.acc_out);Ext.getCmp('kwat').setRawValue(rec.data.kw_out);}}}),columns:[{header:"Imię i nazwisko",width:150,sortable:true,dataIndex:'imie_nazw'},{header:"Cmentarz",width:100,sortable:true,dataIndex:'cmen_out'},{header:"Data zgonu",width:100,sortable:true,dataIndex:'data_out'},{header:"Kwatera",width:75,sortable:true,dataIndex:'kw_out'},{header:"Rząd",width:75,sortable:true,dataIndex:'row_out'},{header:"Miejsce",width:75,sortable:true,dataIndex:'col_out'},{header:"Dokładność",width:75,sortable:true,dataIndex:'acc_out'}],stripeRows:true,height:120,width:700});var oFoot=new Ext.Panel({xtype:'panel',height:120,minsize:120,maxsize:120,collapsible:true,frame:true,border:false,region:'south',split:true,layout:'border',items:[{xtype:'panel',region:'east',width:100,items:[{region:'south',html:'<a href="http://www.gispeak.pl">P&K</a>',style:{position:'absolute',right:'2px',bottom:'2px'}},{region:'north',contentEl:'pozycja'}]},{xtype:'panel',region:'center'},grid]});return oFoot;};function CreateHeadPanel(){var oHead=new Ext.Panel({region:'north',contentEl:'title',height:100});return oHead;};function znajdz(imie,nazwisko,rok_od,rok_do,plec){if(nazwisko.length==0){Ext.MessageBox.alert('Uwaga','Nazwisko nie może być puste.');return;};if(!rok_od&&!rok_do){Ext.MessageBox.alert('Uwaga','Podaj przedział lat.');return;};if(rok_od>rok_do){Ext.MessageBox.alert('Uwaga','Górna granica przedziału lat nie może być niższa od dolnej.');return;};if(rok_do-rok_od>50){Ext.MessageBox.alert('Uwaga','Maksymalny przedział wynosi 50 lat.');return;};var params={imie:imie,nazwisko:nazwisko,rok_od:rok_od,rok_do:rok_do,plec:plec};Ext.get('ajaxloader').show();var request=OpenLayers.Request.GET({url:'./pg_find_json.php',async:false,params:params,success:displayList});};function displayList(response){if(response){var dataobj=Ext.decode(response.responseText);var code=dataobj.results;if(code==0){Ext.getCmp("infowynik").setText('Brak wyników');Ext.get('ajaxloader').hide();appobj.storecm.removeAll();return;}
else if(code==-1){Ext.getCmp("infowynik").setText('Za dużo wyników. Zmień kryteria.');Ext.get('ajaxloader').hide();appobj.storecm.removeAll();return;}
appobj.storecm.loadData(dataobj);Ext.getCmp("infowynik").setText('Znaleziono '+code+' wyników');Ext.get('ajaxloader').hide();}};function compute(){var startPoint=appobj.lyr_start.features[0];var stopPoint=appobj.lyr_end.features[0];if(startPoint&&stopPoint){var params={startpoint:startPoint.geometry.x+' '+startPoint.geometry.y,finalpoint:stopPoint.geometry.getCentroid().x+' '+stopPoint.geometry.getCentroid().y};Ext.get('ajaxloader1').show();var request=OpenLayers.Request.GET({url:'./pg_routing_json.php',async:false,params:params,success:displayRouteJson});};};function displayRouteJson(response){if(response){if(appobj.lyr_route.features.length>0){appobj.lyr_route.destroyFeatures(appobj.lyr_route.features);}
var ftr=appobj.parserJson.read(response.responseText,"Feature");if(ftr){appobj.lyr_route.addFeatures([ftr]);};Ext.get('ajaxloader1').hide();}};function openPrintWindow(){appobj.print_window=window.open('print_preview.html','Wydruk','height=600,width=800,toolbar=0,menubar=0,location=0,resizable=1,scrollbars=1');};function printWindowReadyCallback(){appobj.print_window.applyMapSettings(appobj.map);appobj.print_window.document.close();appobj.print_window.focus();};function app(){this.print_window=null;this.mapoptions={controls:[new OpenLayers.Control.MousePosition({element:$('pozycja')})],maxExtent:oBounds.getById('0').data.bbox,maxResolution:156543.0339,units:'m',numZoomLevels:19,projection:new OpenLayers.Projection("EPSG:900913"),displayProjection:new OpenLayers.Projection("EPSG:4326")};this.map=new OpenLayers.Map('mapa',this.mapoptions);;this.toolbar=new mapfish.widgets.toolbar.Toolbar({map:this.map,configurable:false});this.parserJson=new OpenLayers.Format.GeoJSON();this.storecm=CreateStoreCm();this.lyr_start=new OpenLayers.Layer.Vector("Start",{style:start_style});this.lyr_end=new OpenLayers.Layer.Vector("Koniec",{style:stop_style});this.lyr_route=new OpenLayers.Layer.Vector("Trasa",{style:result_style});this.kom=new OpenLayers.Layer.Vector("Komunikacja",{styleMap:oStyleKom,minScale:15000});this.InfoWindow=CreateInfoWindow();this.highlightCtrl=new OpenLayers.Control.SelectFeature(this.kom,{hover:true,highlightOnly:true,eventListeners:{featurehighlighted:function(e){AutoSizePopup=OpenLayers.Class(OpenLayers.Popup.FramedCloud,{'autoSize':true,closeOnMove:true});popup=new AutoSizePopup("chicken",e.feature.geometry.getBounds().getCenterLonLat(),null,e.feature.attributes["html"],null,true,null);e.feature.popup=popup;this.map.addPopup(popup);}}});this.init=function(){this.map.addLayers(oCmenLayers);if(komftrs.length>0){this.kom.addFeatures(komftrs);this.highlightCtrl.setMap(this.map);this.highlightCtrl.activate();};this.map.addLayers([this.lyr_route,this.lyr_start,this.lyr_end,this.kom]);this.map.zoomToExtent(this.mapoptions.maxExtent);var nagl=CreateHeadPanel();var stopka=CreateFootPanel();var tools=CreateLeftPanel();var mapa=CreateMapPanel();var viewport=new Ext.Viewport({layout:'border',id:'viewport-panel',items:[mapa,nagl,stopka,tools]});initToolbarContent();viewport.doLayout();Ext.getCmp('lyrtree').expandAll();Ext.getCmp('sel').expand();document.getElementById("splash").style.display='none';};};