kreisalarm={};kreisalarm.drkmap=(function(){if(typeof google==="undefined"){return}google.maps.LatLng.prototype.distanceFrom=function(i){var ad=[this.lat(),i.lat()];var af=[this.lng(),i.lng()];var l=6378137;var ab=(ad[1]-ad[0])*Math.PI/180;var ae=(af[1]-af[0])*Math.PI/180;var ag=Math.sin(ab/2)*Math.sin(ab/2)+Math.cos(ad[0]*Math.PI/180)*Math.cos(ad[1]*Math.PI/180)*Math.sin(ae/2)*Math.sin(ae/2);var ac=2*Math.atan2(Math.sqrt(ag),Math.sqrt(1-ag));var aa=l*ac;return Math.round(aa)};Ext.USE_NATIVE_JSON=true;var x=2000,b=1000,O=3000,w=4000,R="http://localhost:8080",H=(""+window.location).indexOf("jsessionid")!=-1,n,B=null,m=null,E=0,P=0,v=null,a=null,I=[],A=null,S=null,L=null,q=null,Y=null,C=false,d=false,o=true,N=null,c=null,M=null,e=null,k=null,g=/<!--ADDITIONAL/g,f=/\/ADDITIONAL-->/g,t=[],s=[],u=null,K=new Ext.XTemplate("<table><tbody>","<tr><th>Name:</th><td>{typ} {name}</td></tr>","<tr><th>Adresse:</th> <td>{strasse}<br> {plz} {ort}</td></tr>","<tr><th>Telefon:</th> <td>{telefon}</td></tr>","<tr><th>Telefax:</th><td>{telefax}</td></tr>",'<!--ADDITIONAL{[email=""]}<tpl if="this.exists(email)"><tr><th>E-Mail:</th><td><a href="mailto:{email}">{email}</a></td></tr></tpl>',' {[web=""]}<tpl if="this.exists(web)"><tr><th>Web:</th><td><a href="{web}" target="_blank">{web}</a></td></tr></tpl>','<tr><td></td><td><a href="#" onclick="kreisalarm.drkmap.routeBerechnenAnzeigen(null, \'{strasse}, {plz} {ort}\');return false">Route berechnen</a></td></tr>/ADDITIONAL-->',"</tbody></table>",{exists:function(i){return typeof i!="undefined"&&i!==null&&i!==""}});if(H){var T=decodeURIComponent(""+window.location);R=T.substring(T.indexOf("include=")+"include=".length);R=R.substring(0,R.indexOf("/","https://".length));n=T.substring(T.indexOf("jsessionid=")+"jsessionid=".length,(T+"#").indexOf("#"))}var z=function(i){z=function(l){if(typeof l=="function"){l()}};Ext.Ajax.request({url:"js/lvkv.json",method:"GET",disableCaching:false,failure:function(l,aa){Ext.MessageBox.alert("Fehler",l.statusText)},success:function(aa,ac){var ae=Ext.JSON.decode(aa.responseText);for(var ad=0;ad<ae.length;ad++){ae[ad].zoomLevel=8;ae[ad].qtip=K.applyTemplate(ae[ad]).replace(g,"").replace(f,"").replace(new RegExp('"',"g"),"");var l=ae[ad].kvs;delete ae[ad].kvs;var af=M.getRootNode().appendChild(ae[ad]);for(var ab=0;ab<l.length;ab++){l[ab].zoomLevel=12;l[ab].leaf=true;l[ab].qtip=K.applyTemplate(l[ab]).replace(g,"").replace(f,"").replace(new RegExp('"',"g"),"");af.appendChild(l[ab]);e.getRootNode().appendChild(l[ab])}}if(typeof i=="function"){i()}}})};var r=function(ac){r=function(){if(typeof ac=="function"){ac()}};var ab=[];var l=[];var aa=new google.maps.MarkerImage("img/marker_lv.png",new google.maps.Size(139,29),new google.maps.Point(0,0),new google.maps.Point(12,28));var i=new google.maps.MarkerImage("img/marker_kv.png",new google.maps.Size(139,29),new google.maps.Point(0,0),new google.maps.Point(12,28));M.getRootNode().eachChild(function(ai){var ae=ai.data.text,ah=K.applyTemplate(ai.data),af=ai.data.lat,ag=ai.data.lon;var ad=new MarkerWithLabel({position:new google.maps.LatLng(ag,af),title:"LV "+ae,labelContent:"LV "+ae,labelText:"LV "+ae,labelClass:"lvmarker",icon:aa,labelAnchor:new google.maps.Point(10,24),zIndex:x+ab.length});google.maps.event.addListener(ad,"click",(function(aj,al){var ak=null;return function(){if(!ak){ak=new google.maps.InfoWindow({content:al})}ak.open(aj.get("map"),aj)}})(ad,ah.replace(g,"").replace(f,"")));google.maps.event.addListener(ad,"mouseover",function(){if(!this.oldZIndex){this.oldZIndex=this.getZIndex();this.setZIndex(999999)}});google.maps.event.addListener(ad,"mouseout",function(){if(this.oldZIndex){this.setZIndex(this.oldZIndex);delete this.oldZIndex}});ab.push(ad);ai.marker=ad});u.addMarkers(ab,5);e.getRootNode().eachChild(function(ai){var ae=ai.data.text;var ah=K.applyTemplate({name:ai.data.name,strasse:ai.data.strasse,plz:ai.data.plz,ort:ai.data.ort,telefon:ai.data.telefon,telefax:ai.data.telefax,email:ai.data.email,web:ai.data.web});var af=ai.data.lat;var ag=ai.data.lon;var ad=new MarkerWithLabel({position:new google.maps.LatLng(ag,af),title:"KV "+ae,labelContent:"KV "+ae,labelText:"KV "+ae,labelClass:"kvmarker",icon:i,labelAnchor:new google.maps.Point(10,24),zIndex:b+l.length});google.maps.event.addListener(ad,"click",(function(aj,al){var ak=null;return function(){if(!ak){ak=new google.maps.InfoWindow({content:al})}ak.open(aj.get("map"),aj)}})(ad,ah.replace(g,"").replace(f,"")));google.maps.event.addListener(ad,"mouseover",function(){if(!this.oldZIndex){this.oldZIndex=this.getZIndex();this.setZIndex(999999)}});google.maps.event.addListener(ad,"mouseout",function(){if(this.oldZIndex){this.setZIndex(this.oldZIndex);delete this.oldZIndex}});l.push(ad);ai.marker=ad});u.addMarkers(l,8);u.refresh();Ext.get("chkLV").dom.checked=true;Ext.get("chkKV").dom.checked=true;if(typeof ac=="function"){ac()}};var Q=function(){m=m||new google.maps.Geocoder();var i=Ext.getCmp("sucheStrasseFeld").getValue()+" "+Ext.getCmp("suchePLZFeld").getValue()+" "+Ext.getCmp("sucheOrtFeld").getValue();m.geocode({address:i},function(aa,l){if(l!=google.maps.GeocoderStatus.OK){Ext.get("ortSuchenErgebnisDiv").update("Adresse nicht gefunden").show(true);W()}else{B.setCenter(aa[0].geometry.location);B.setZoom(11);if(Y!==null){B.removeOverlay(Y)}Y=new google.maps.Marker({draggable:true,map:B,position:aa[0].geometry.location});E=aa[0].geometry.location.lat();P=aa[0].geometry.location.lng();google.maps.event.addListener(Y,"click",(function(ab,ad){var ac=null;return function(){if(!ac){ac=new google.maps.InfoWindow({content:ad})}ac.open(ab.get("map"),ab)}})(Y,i));google.maps.event.addListener(Y,"dragend",function(ab){E=ab.latlng.lat();P=ab.latlng.lng()});y();if(!H){Ext.get("ortSuchenErgebnisDiv").update('<a href="#" onclick="kreisalarm.drkmap.routeBerechnenAnzeigen(\''+i+"');return false\">Route berechnen</a>").show(true)}else{Ext.get("ortSuchenErgebnisDiv").update('<a href="#" onclick="kreisalarm.drkmap.routeBerechnenAnzeigen(\''+i+'\');return false">Route berechnen</a><br><br><a href="#" onclick="Ext.getCmp(\'materialsuchePanel\').expand(true)">Materialsuche</a>').show(true)}}})};var D=function(l,i){if(l.distance&&i.distance){return(l.distance==i.distance)?0:(l.distance>i.distance)?1:-1}};var X=function(){v=v||new google.maps.DirectionsService();a=a||new google.maps.DirectionsRenderer({map:B});var aa=Ext.getCmp("anzahlMaterialSuche").getValue(),ap=Ext.getCmp("optionenMaterialSuche"),ag=ap.getValue(),ad=(ag==1),ae=(ag==2);for(var ai=0;ai<s.length;ai++){u.removeMarker(s[ai])}while(s.length){s.pop()}var ac=null;if(!N){ac=new google.maps.LatLng(E,P)}else{ac=N}for(var aj=0;aj<t.length;aj++){var aq=new google.maps.LatLng(t[aj].lat,t[aj].lon);var ao=ac.distanceFrom(aq);t[aj].distance=ao}t.sort(D);var ah=new google.maps.MarkerImage("img/marker_lv.png",new google.maps.Size(139,29),new google.maps.Point(0,0),new google.maps.Point(12,28));var af=new google.maps.MarkerImage("img/marker_kv.png",new google.maps.Size(139,29),new google.maps.Point(0,0),new google.maps.Point(12,28));var al=0;var am=[];for(var ak=0;ak<t.length;ak++){var an=true;if(ad){an=t[ak].anzahlMaterial>4}else{if(ae){an=t[ak].anzahlMaterial>9}else{an=true}}if(al<aa&&t[ak].anzahlMaterial!=0&&an){am[am.length]=t[ak];var ab=new MarkerWithLabel({position:new google.maps.LatLng(t[ak].lat,t[ak].lon),title:t[ak].name,labelContent:t[ak].name+" (<b>"+t[ak].anzahlMaterial+")</b>",labelText:t[ak].name+" (<b>"+t[ak].anzahlMaterial+")</b>",labelClass:"lvmarker",icon:ah,labelAnchor:new google.maps.Point(10,24),zIndex:O+ak});google.maps.event.addListener(ab,"click",(function(i,at){var ar=null;return function(){if(!ar){ar=new google.maps.InfoWindow({content:at})}ar.open(i.get("map"),i)}})(ab,"<b>"+t[ak].name+"</b><br />"+t[ak].adresse));s.push(ab);al+=t[ak].anzahlMaterial}else{var ab=new MarkerWithLabel({position:new google.maps.LatLng(t[ak].lat,t[ak].lon),title:t[ak].name,labelContent:t[ak].name+" (<b>"+t[ak].anzahlMaterial+")</b>",labelText:t[ak].name+" (<b>"+t[ak].anzahlMaterial+")</b>",labelClass:"lvmarker",icon:af,labelAnchor:new google.maps.Point(10,24),zIndex:O+ak});google.maps.event.addListener(ab,"click",(function(i,at){var ar=null;return function(){if(!ar){ar=new google.maps.InfoWindow({content:at})}ar.open(i.get("map"),i)}})(ab,"<b>"+t[ak].name+"</b><br />"+t[ak].adresse));s.push(ab)}}if(al==0){Ext.MessageBox.alert("Fehler","Es wurden keine Materialien gefunden.")}else{if(al<aa){Ext.MessageBox.alert("Fehler","Es wurden weniger Materialien gefunden als gesucht.")}}var l=[new google.maps.LatLng(E,P)];for(var aj=0;aj<am.length;aj++){l[aj]={location:new google.maps.LatLng(am[aj].lat,am[aj].lon),stopover:true}}v.route({origin:new google.maps.LatLng(E,P),destination:ac,waypoints:l,optimizeWaypoints:true,travelMode:google.maps.DirectionsTravelMode.DRIVING},function(i,ar){if(ar===google.maps.DirectionsStatus.OK){a.setDirections(i)}});u.addMarkers(s,8);u.refresh()};var Z=function(i){var l=document.createElement("script");l.setAttribute("type","text/javascript");l.setAttribute("src",i);document.getElementsByTagName("head").item(0).appendChild(l)};var J=function(){if(window.self&&self.innerHeight){return self.innerHeight}if(document.documentElement&&document.documentElement.clientHeight){return document.documentElement.clientHeight}return 0};var p=function(){if(window.self&&self.innerHeight){return self.innerWidth}if(document.documentElement&&document.documentElement.clientWidth){return document.documentElement.clientWidth}return 0};var y=function(){if(!Ext.getCmp("sucheMaterialFeld")){return}Ext.getCmp("sucheMaterialFeld").enable();Ext.getCmp("anzahlMaterialSuche").enable();Ext.getCmp("optionenMaterialSuche").enable()};var W=function(){if(!Ext.getCmp("sucheMaterialFeld")){return}Ext.getCmp("sucheMaterialFeld").disable();Ext.getCmp("buttonMaterialSuchen").disable();Ext.getCmp("anzahlMaterialSuche").disable();Ext.getCmp("optionenMaterialSuche").disable()};if(H){var j=R+"/alarmdaten/drkmap/materialtypen.js;jsessionid="+n;Z(j)}var G=function(){document.getElementById("map").style.height=J()+"px";document.getElementById("map").style.width=p()+"px";if(B){google.maps.event.trigger(B,"resize")}};G();Ext.QuickTips.init();S={xtype:"panel",title:"Kreisverb\u00E4nde",autoScroll:true,collapsed:true,iconCls:"kv-panel",listeners:{beforeexpand:{fn:function(i){z(r)},single:true}},layout:"border",items:[{xtype:"form",region:"north",id:"filterForm",labelAlign:"left",labelWidth:40,items:[{xtype:"textfield",emptyText:"Name",value:"",fieldLabel:"Name",labelWidth:50,name:"filterSucheFeld",id:"filterSucheFeld",enableKeyEvents:true,listeners:{keyup:function(i,l){var aa=Ext.getCmp("filterSucheFeld");e.getRootNode().cascadeBy(function(){if(this.data.text.toLowerCase().indexOf(aa.getValue().toLowerCase())==0){e.getSelectionModel().select(this);return false}})}}}]},e=Ext.create("Ext.tree.Panel",{xtype:"treepanel",region:"center",rootVisible:false,store:Ext.create("Ext.data.TreeStore",{root:{id:4711,expanded:true,text:"Kreisverbaende",children:[]}}),listeners:{itemclick:function(i,l){var aa=new google.maps.LatLng(l.data.lon,l.data.lat);B.setCenter(aa);B.setZoom(l.data.zoomLevel);google.maps.event.trigger(l.marker,"click")}}})]};L={xtype:"panel",title:"Landesverb\u00E4nde",collapsed:true,autoScroll:true,iconCls:"lv-panel",layout:"fit",listeners:{beforeexpand:{fn:function(i){z(r)},single:true}},items:[M=Ext.create("Ext.tree.Panel",{rootVisible:false,autoScroll:true,store:Ext.create("Ext.data.TreeStore",{root:{id:4712,expanded:true,text:"Landesverbaende",children:[]}}),listeners:{itemclick:function(i,l){var aa=new google.maps.LatLng(l.data.lon,l.data.lat);B.setCenter(aa);B.setZoom(l.data.zoomLevel);google.maps.event.trigger(l.marker,"click")}}})]};addressauswahlPanel={xtype:"panel",title:"Adressauswahl",bodyStyle:"padding:3px",hideBorders:true,collapsed:true,border:false,autoScroll:true,iconCls:"adress-panel",html:['<table style="width:100%">',"<tr>",'<td style="vertical-align:middle"><input type="checkbox" id="chkLV" onclick="kreisalarm.drkmap.filter(this)" name="c1"/></td>','<td style="vertical-align:middle;background-color:#f2ff66">Landesverb&auml;nde (LV)</td>',"</tr><tr>",'<td style="vertical-align:middle"><input type="checkbox" onclick="kreisalarm.drkmap.filter(this)" name="c2" id="chkKV"/></td>','<td style="vertical-align:middle;background-color:#ffffff">Kreisverb&auml;nde (KV)</td>',"</tr><tr>",'<td style="vertical-align:middle"><input type="checkbox" id="chkGeneralsekretariat" onclick="kreisalarm.drkmap.filter(this)" name="c3"/></td>','<td style="vertical-align:middle;background-color:#fa92fb">Generalsekretariat</td>',"</tr><tr>",'<td style="vertical-align:middle"><input type="checkbox"  onclick="kreisalarm.drkmap.filter(this)" id="chkSchwesternschaften" name="c4"/></td>','<td style="vertical-align:middle;background-color:#9aded4">Schwesternschaften (Schw.)</td>',"</tr><tr>",'<td style="vertical-align:middle"><input type="checkbox" onclick="kreisalarm.drkmap.filter(this)" id="chkKrankenh�user" name="c5"/></td>','<td style="vertical-align:middle;background-color:#ffbf5b">Krankenh&auml;user (KH)</td>',"</tr><tr>",'<td style="vertical-align:middle"><input type="checkbox" onclick="kreisalarm.drkmap.filter(this)" id="chkRettungsschulen" name="c6"/></td>','<td style="vertical-align:middle;background-color:#99fb92">Rettungsschulen (Rettungss.)</td>',"</tr><tr>",'<td style="vertical-align:middle"><input type="checkbox" onclick="kreisalarm.drkmap.filter(this)" id="chkKureinrichtungen" name="c7"/></td>','<td style="vertical-align:middle;background-color:#9294fb">Kureinrichtungen (Kureinr.)</td>',"</tr><tr>",'<td style="vertical-align:middle"><input type="checkbox" onclick="kreisalarm.drkmap.filter(this)" id="chkPflegeschulen" name="c8"/></td>','<td style="vertical-align:middle;background-color:#fb9292">Pflegeschulen (Pfleges.)</td>',"</tr><tr>",'<td style="vertical-align:middle"><input type="checkbox" onclick="kreisalarm.drkmap.filter(this)" id="chkBerufsbildungswerke" name="c9"/></td>','<td style="vertical-align:middle;background-color:#d998ff">Berufsbildungswerke (Berufsb.)</td>',"</tr>","</table>"].join(""),listeners:{beforeexpand:function(){z(r)}}};A={xtype:"panel",id:"ortssuchePanel",title:"Ortssuche",labelWidth:48,bodyStyle:"padding:3px",border:false,autoScroll:true,collapsed:true,iconCls:"os-panel",hideBorders:true,items:[{xtype:"container",layout:"anchor",defaults:{anchor:"100%",labelWidth:50},autoHeight:true,labelWidth:50,items:[{xtype:"textfield",fieldLabel:"Stra\u00DFe",name:"sucheStrasseFeld",id:"sucheStrasseFeld",width:120,listeners:{specialkey:function(l,i){if(i.getKey()==Ext.EventObject.ENTER){Q()}}}},{xtype:"textfield",fieldLabel:"PLZ",name:"suchePLZFeld",id:"suchePLZFeld",width:120,listeners:{specialkey:function(l,i){if(i.getKey()==Ext.EventObject.ENTER){Q()}}}},{xtype:"textfield",fieldLabel:"Ort",name:"sucheOrtFeld",id:"sucheOrtFeld",width:120,listeners:{specialkey:function(l,i){if(i.getKey()==Ext.EventObject.ENTER){Q()}}}},{xtype:"button",id:"ortssucheButton",text:"suchen",listeners:{click:Q}},{xtype:"container",style:"padding:3px",html:'<div id="ortSuchenErgebnisDiv"></div>'}]}]};materialsuchePanel=!H?null:{xtype:"panel",title:"Materialsuche",border:false,bodyStyle:"padding: 3px",defaultType:"textfield",collapsed:false,iconCls:"ms-panel",id:"materialsuchePanel",hideBorders:true,items:[{xtype:"form",id:"fieldsetMaterialsuche",autoHeight:true,border:false,hideBorders:true,labelWidth:50,defaults:{anchor:"100%",labelWidth:50},items:[{xtype:"container",html:'<div id="materialSuchenAnleitung" style="font-weight:italic;color:#000000">Um die Materialsuche benutzen zu k&ouml;nnen, geben Sie bitte unter <a href="#" onclick="Ext.getCmp(\'ortssuchePanel\').expand(true);">Ortssuche</a> Ihren Standort ein.<br/><br/>Oder Sie bestimmen Ihren Standort per <a href="#" onclick="kreisalarm.drkmap.gpsStandortBestimmen();return false">automatisch</a>.<br/><br/>'},{xtype:"combo",fieldLabel:"Material",name:"sucheMaterialFeld",id:"sucheMaterialFeld",valueField:"id",displayField:"typ",store:Ext.create("Ext.data.SimpleStore",{fields:["id","typ"],data:I}),width:120,listConfig:{width:160},allowBlank:false,triggerAction:"all",editable:false,disabled:true,mode:"local",emptyText:"Material ausw\u00E4hlen...",blankText:"Dieses Feld muss ausgef\u00FCllt werden",listeners:{select:function(){C=true;if(d&&o){Ext.getCmp("buttonMaterialSuchen").enable()}}}},{xtype:"numberfield",fieldLabel:"Anzahl",name:"anzahlMaterialSuche",id:"anzahlMaterialSuche",allowBlank:false,blankText:"Dieses Feld muss ausgef\u00FCllt werden",width:60,disabled:true,listeners:{change:function(){d=this.isValid();if(C&&o){Ext.getCmp("buttonMaterialSuchen").enable()}}}},{xtype:"combo",fieldLabel:"Option",name:"optionenMaterialSuche",id:"optionenMaterialSuche",valueField:"id",displayField:"typ",value:0,store:Ext.create("Ext.data.SimpleStore",{fields:["id","typ"],data:[[0,"keine"],[1,"nur Anzahl >=5"],[2,"nur Anzahl >=10"]]}),displayField:"typ",mode:"local",width:120,listWidth:120,triggerAction:"all",editable:false,allowBlank:false,blankText:"Bitte geben Sie eine Suchoption an",emptyText:"Suchoption ...",listeners:{select:function(){o=true;if(C&&d){Ext.getCmp("buttonMaterialSuchen").enable()}}},disabled:true},{xtype:"button",text:"Material suchen",id:"buttonMaterialSuchen",disabled:true,listeners:{click:function(){var l=Ext.getCmp("sucheMaterialFeld"),aa=l.getValue(),i=R+"/alarmdaten/drkmap/materialsuche.js;jsessionid="+n+"?materialID="+aa;Z(i)}}}]}]};hilfePanel=H?null:Ext.create("Ext.panel.Panel",{xtype:"panel",title:"Hilfe",border:false,bodyStyle:"padding:3px",hideBorders:true,collapsed:false,autoScroll:true,iconCls:"hilfe-panel",html:'<b>Willkommen</b><br/>Sie k&ouml;nnen sich hier die Landes- und Kreisverb&auml;nde (LVs und KVs) des DRK anzeigen lassen. Wie bei <a href="http://maps.google.de/support/?hl=de" onclick="window.open (\'http://maps.google.de/support/?hl=de\',\'_blank\',\'width=800,height=600,scrollbars=yes,menubar=yes,toolbars=yes,resizable=yes,status=yes\');return false">Google-Maps</a> &uuml;blich k&ouml;nnen Sie die Karte &uuml;ber die Bedienelemente oder durch Ziehen mit der gedr&uuml;ckten Maustaste bedienen.<br/>Je nach <b>Vergr&ouml;&szlig;erungsfaktor</b> werden zus&auml;tzliche Informationen eingeblendet.<br/><br/>Weiterhin k&ouml;nnen Sie &uuml;ber einen Klick auf die oben stehenden <b>Untermen&uuml;s</b> die LVs und KVs in einer alphabetisch sortierten Liste finden oder andere <b>Adressen</b> ausw&auml;hlen. Durch einen <b>Klick</b> auf die entsprechenden Namen werden die Informationen in der Karte direkt eingeblendet.<br/><br/>Bei der <b>Suche</b> k&ouml;nnen Sie Ihre Adresse eingeben und so herausfinden, welcher Kreisverband sich in der N&auml;he befindet.<!--a href="#" onclick="console.log (Ext.Loader.history)">a</a-->'});var F=Ext.create("Ext.panel.Panel",{xtype:"panel",title:"Route berechnen",iconCls:"os-panel",border:false,layout:"border",items:[{xtype:"form",region:"north",border:false,defaults:{labelWidth:40,anchor:"100%"},bodyStyle:"padding:3px",items:[{xtype:"textarea",fieldLabel:"Von",name:"routeVon",id:"routeVon",height:30,allowBlank:false,blankText:"Dieses Feld muss ausgefüllt werden"},{xtype:"textarea",fieldLabel:"Nach",name:"routeNach",id:"routeNach",value:"",height:30,allowBlank:false,blankText:"Dieses Feld muss ausgefüllt werden"},{xtype:"button",text:"Route berechnen",listeners:{click:function(){Ext.get("routeBeschreibung").update('<div style="width:100%;overflow:hidden;text-align:center">Bitte warten...</div>');var i=this;i.gdirService=i.gdirService||new google.maps.DirectionsService();i.gdirDisplay=i.gdirDisplay||new google.maps.DirectionsRenderer({map:B});i.gdirService.route({origin:Ext.DomQuery.selectNode("textarea[name=routeVon]").value,destination:Ext.DomQuery.selectNode("textarea[name=routeNach]").value,provideRouteAlternatives:true,travelMode:google.maps.DirectionsTravelMode.DRIVING},function(l,aa){if(aa===google.maps.DirectionsStatus.OK){document.getElementById("routeBeschreibung").innerHTML="";i.gdirDisplay.setPanel(document.getElementById("routeBeschreibung"));i.gdirDisplay.setDirections(l)}else{Ext.get("routeBeschreibung").update('<span style="color:#800">Sorry, konnte die Anfrage nicht verarbeiten.</span>')}})}}}]},{xtype:"container",region:"center",autoScroll:true,style:"background:white",html:'<div id="routeBeschreibung"></div>'}]});var U=navigator.appName=="Netscape"?window.innerWidth:navigator.appName.indexOf("Microsoft")!=-1?document.body.offsetWidth:630;var h=[S,L,addressauswahlPanel,A,materialsuchePanel,F,hilfePanel];for(var V=0;V<h.length;V++){if(h[V]==null){h.splice(V--,1)}}accordion=Ext.create("Ext.window.Window",{id:"accordion",layout:"fit",closeAction:"hide",closable:false,resizable:true,title:"Navigation",collapsible:true,width:232,height:400,x:U-255,y:40,items:[{xtype:"panel",layout:"accordion",items:h}]});viewport=Ext.create("Ext.container.Viewport",{layout:"fit",items:[{contentEl:"map"}],listeners:{resize:function(){var i=navigator.appName=="Netscape"?window.innerWidth:navigator.appName.indexOf("Microsoft")!=-1?document.body.offsetWidth:630;if(accordion.rendered){accordion.setPagePosition(i-255,90)}G()}}});B=new google.maps.Map(document.getElementById("map"),{center:new google.maps.LatLng(49.140186,9.214486),zoom:6,mapTypeId:google.maps.MapTypeId.HYBRID,mapTypeControl:true,navigationControl:true,scaleControl:true,scrollwheel:true,streetViewControl:true});u=new MarkerManager(B);google.maps.event.addListener(u,"loaded",function(){if(!H){z(r);brdMmarker=new google.maps.Marker({position:new google.maps.LatLng(54.92238569063361,6.0765625),map:B,icon:new google.maps.MarkerImage("img/lv_overlay2.png",new google.maps.Size(420,566),new google.maps.Point(0,0),new google.maps.Point(10,10)),clickable:false,draggable:false});u.addMarker(brdMmarker,6,6);u.refresh()}else{var l=window.location+"&";var i=l.indexOf("include=")+"include=".length;l=decodeURIComponent(l.substring(i,l.indexOf("&",i)));Z(l)}accordion.show()});return{qtipTemplate:new Ext.XTemplate("<table><tbody>","<tr><th>Name:</th><td>{typ} {name}</td></tr>","<tr><th>Adresse:</th> <td>{strasse}<br> {plz} {ort}</td></tr>",'{[tel=""]}<tpl if="this.exists(tel)"><tr><th>Telefon:</th><td>{tel}</td></tr></tpl>','{[fax=""]}<tpl if="this.exists(fax)"><tr><th>Telefax:</th><td>{fax}</td></tr></tpl>','<!--ADDITIONAL{[email=""]}<tpl if="this.exists(email)"><tr><th>E-Mail:</th><td><a href="mailto:{email}">{email}</a></td></tr></tpl>',' {[web=""]}<tpl if="this.exists(web)"><tr><th>Web:</th><td><a href="{web}" target="_blank">{web}</a></td></tr></tpl>','<tr><td></td><td><a href="#" onclick="kreisalarm.drkmap.routeBerechnenAnzeigen(null, \'{strasse}, {plz} {ort}\');return false">Route berechnen</a></td></tr>/ADDITIONAL-->',"</tbody></table>",{exists:function(i){return typeof i!="undefined"&&i!==null&&i!==""}}),addOVs:function(l){for(var ab=0;ab<l.length;ab++){if(l[ab].lat!==""){t[t.length]=l[ab]}}var ad=new google.maps.MarkerImage("img/marker_kv.png",new google.maps.Size(139,29),new google.maps.Point(0,0),new google.maps.Point(12,28));var ac=false;for(var ab=0;ab<t.length;ab++){if(!ac){B.setCenter(new google.maps.LatLng(t[ab].lat,t[ab].lon),11);B.setZoom(8);ac=true}var aa=new MarkerWithLabel({position:new google.maps.LatLng(t[ab].lat,t[ab].lon),title:t[ab].name,labelContent:t[ab].name,labelText:t[ab].name,labelClass:"lvmarker",icon:ad,labelAnchor:new google.maps.Point(10,24),zIndex:O+ab});google.maps.event.addListener(aa,"click",(function(i,af){var ae=null;return function(){if(!ae){ae=new google.maps.InfoWindow({content:af})}ae.open(i.get("map"),i)}})(aa,"<b>"+t[ab].name+"</b><br />"+t[ab].adresse));google.maps.event.addListener(aa,"mouseover",function(){if(!this.oldZIndex){this.oldZIndex=this.getZIndex();this.setZIndex(999999)}});google.maps.event.addListener(aa,"mouseout",function(){if(this.oldZIndex){this.setZIndex(this.oldZIndex);delete this.oldZIndex}});s.push(aa)}u.addMarkers(s,1);u.refresh()},gpsStandortBestimmen:function(){var i=new google.maps.LatLng(49.141598,9.222083),l=function(){E=i.lat();P=i.lng();B.setCenter(i);B.setZoom(11);var aa=new google.maps.Marker({position:i,map:B,draggable:true});google.maps.event.addListener(aa,"dragend",function(){E=this.getPosition().lat();P=this.getPosition().lng()})};if(navigator.geolocation){navigator.geolocation.getCurrentPosition(function(aa){gpsStandortinitialLocation=new google.maps.LatLng(aa.coords.latitude,aa.coords.longitude);l()})}else{if(google.gears){google.gears.factory.create("beta.geolocation").getCurrentPosition(function(aa){gpsStandortinitialLocation=new google.maps.LatLng(aa.latitude,aa.longitude);l()})}else{l()}}y()},addMaterialDatas:function(l){for(var ab=0;ab<l.length;ab++){for(var aa=0;aa<t.length;aa++){if(t[aa].id==l[ab].ovID){t[aa].anzahlMaterial=l[ab].anzahl}}}X()},addMaterialTypes:function(l){for(var aa=0;aa<l.length;aa++){I[aa]=l[aa]}},routeBerechnenAnzeigen:function(l,i){if(l&&l!==""){Ext.getCmp("routeVon").setValue(l);l=l.replace(/´/g,"'")}if(i&&i!==""){i=i.replace(/´/g,"'");Ext.getCmp("routeNach").setValue(i)}F.expand(true)},filter:function(ae){var ac=ae.id.substring(3,ae.id.length);var ad=ae.checked;if(ac=="LV"){var ab=[];if(M!==null){M.getRootNode().eachChild(function(i){if(ad){ab.push(i.marker)}else{u.removeMarker(i.marker)}})}if(ab.length!==0){u.addMarkers(ab,5);u.refresh()}}else{if(ac=="KV"){var ab=[];if(e!==null){e.getRootNode().eachChild(function(i){if(ad){ab.push(i.marker)}else{u.removeMarker(i.marker)}})}if(ab.length!=0){u.addMarkers(ab,8);u.refresh()}}else{if(c==null){Ext.Ajax.request({url:"js/kategorien.json",method:"GET",disableCaching:false,success:function(ah,aj){var am=Ext.JSON.decode(ah.responseText);c=[];for(var ak=0;ak<am.length;ak++){c[am[ak].name]=[];var al=new google.maps.MarkerImage("img/marker_"+am[ak].datei+".png",new google.maps.Size(139,29),new google.maps.Point(0,0),new google.maps.Point(12,28));var af=am[ak].eintraege;for(var ai=0;ai<af.length;ai++){var ag=new MarkerWithLabel({position:new google.maps.LatLng(af[ai].lon,af[ai].lat),title:af[ai].name,labelContent:am[ak].kuerzel==""?af[ai].name:am[ak].kuerzel+" in "+af[ai].ort,labelText:am[ak].kuerzel==""?af[ai].name:am[ak].kuerzel+" in "+af[ai].ort,labelClass:"lvmarker",icon:al,labelAnchor:new google.maps.Point(10,24),zIndex:w+ak*100+ai});google.maps.event.addListener(ag,"click",(function(i,ao){var an=null;return function(){if(!an){an=new google.maps.InfoWindow({content:ao})}an.open(i.get("map"),i)}})(ag,K.applyTemplate(af[ai]).replace(g,"").replace(f,"")));google.maps.event.addListener(ag,"mouseover",function(){if(!this.oldZIndex){this.oldZIndex=this.getZIndex();this.setZIndex(999999)}});google.maps.event.addListener(ag,"mouseout",function(){if(this.oldZIndex){this.setZIndex(this.oldZIndex);delete this.oldZIndex}});c[am[ak].name].push(ag)}}kreisalarm.drkmap.filter(ae)},failure:function(i,af){alert("failure")}});return}var l=c[ac];if(ad){u.addMarkers(l,5);u.refresh()}else{for(var aa=0;aa<l.length;aa++){u.removeMarker(l[aa])}}}}}}})();
