var iwconst = {DEFAULT_MAPTYPE: 'bing_mapdispatcher',MAPTYPES:[{NAME:'google-de',TYPE:'IW_MAPDISPATCHER',VNR:-1,PNR:-1,MAXLEVEL:18,PREFERREDLEVEL:15,MINLEVEL:1,COPYRIGHT:'<a href="http://www.infoware.de" target="_blank">Infoware</a>, Google Maps',PROJECTIONTYPE:'1',TILESIZE_METER:[2.0037508352E7,1.0018754176E7,5009377.088,2504688.544,1252344.272,626172.136,313086.068,156543.034,78271.517,39135.7585,19567.87925,9783.939625,4891.9698125,2445.98490625,1222.992453125,611.4962265625,305.74811328125,152.874056640625,76.4370283203125,38.2185141601563,19.1092570800781],TILESSERVER:[{BASE_DIR:'null',MINLEVEL:'1',MAXLEVEL:'20',COPYRIGHT:'',LOGGING:[],ALIAS: ['http://mt0.google.com/vt/lyrs=m@149&hl=de&x=%x&y=%y&z=%z&s=%s','http://mt1.google.com/vt/lyrs=m@149&hl=de&x=%x&y=%y&z=%z&s=%s'],URL:'',PROJECTION:'',PORTLIST:[],IMAGETYPE:'',CACHEENABELD:false}],LABELSSERVER:[{BASE_DIR:'MapAPI-1.0',MINLEVEL:'0',MAXLEVEL:'20',COPYRIGHT:'',LOGGING:[],ALIAS: ['http://iw.mapandroute.de/'],URL:'localhost',PROJECTION:'MERCATOR_WEB',PORTLIST:[5224],IMAGETYPE:'gif',CACHEENABELD:false}]},{NAME:'roadmap_mapdispatcher',TYPE:'IW_MAPDISPATCHER',VNR:-1,PNR:-1,MAXLEVEL:18,PREFERREDLEVEL:15,MINLEVEL:0,COPYRIGHT:'',PROJECTIONTYPE:'1',TILESIZE_METER:[2.0037508352E7,1.0018754176E7,5009377.088,2504688.544,1252344.272,626172.136,313086.068,156543.034,78271.517,39135.7585,19567.87925,9783.939625,4891.9698125,2445.98490625,1222.992453125,611.4962265625,305.74811328125,152.874056640625,76.4370283203125,38.2185141601563,19.1092570800781],TILESSERVER:[{BASE_DIR:'MapAPI-1.0',MINLEVEL:'5',MAXLEVEL:'18',COPYRIGHT:'<a href="http://www.mapandroute.de" target="_blank">Map and Route</a>, infoware, Navteq',LOGGING:['roadmap-mar'],ALIAS: ['http://m0.md.mapandroute.de/mapdispatcher/0-0/r%1.png','http://m1.md.mapandroute.de/mapdispatcher/0-0/r%1.png','http://m2.md.mapandroute.de/mapdispatcher/0-0/r%1.png','http://m3.md.mapandroute.de/mapdispatcher/0-0/r%1.png'],URL:'',PROJECTION:'',PORTLIST:[],IMAGETYPE:'',CACHEENABELD:false},{BASE_DIR:'MapAPI-1.0',MINLEVEL:'0',MAXLEVEL:'4',COPYRIGHT:'<a href="http://www.mapandroute.de" target="_blank">Map and Route</a>, infoware, Bing',LOGGING:['roadmap-bing'],ALIAS: ['http://ecn.t0.tiles.virtualearth.net/tiles/r%QUADKEY.jpeg?g=857&mkt=de-de&key=%BINGKEY','http://ecn.t1.tiles.virtualearth.net/tiles/r%QUADKEY.jpeg?g=857&mkt=de-de&key=%BINGKEY','http://ecn.t2.tiles.virtualearth.net/tiles/r%QUADKEY.jpeg?g=857&mkt=de-de&key=%BINGKEY','http://ecn.t3.tiles.virtualearth.net/tiles/r%QUADKEY.jpeg?g=857&mkt=de-de&key=%BINGKEY'],URL:'',PROJECTION:'',PORTLIST:[],IMAGETYPE:'',CACHEENABELD:false}],LABELSSERVER:[{BASE_DIR:'MapAPI-1.0',MINLEVEL:'0',MAXLEVEL:'30',COPYRIGHT:'',LOGGING:[],ALIAS: ['http://iw.mapandroute.de/'],URL:'localhost',PROJECTION:'MERCATOR_WEB',PORTLIST:[5224],IMAGETYPE:'gif',CACHEENABELD:false}]},{NAME:'hybrid',TYPE:'IW_MAPDISPATCHER',VNR:9000,PNR:9004,MAXLEVEL:19,PREFERREDLEVEL:15,MINLEVEL:5,COPYRIGHT:'<a href="http://www.mapandroute.de" target="_blank">Map and Route</a>, infoware',PROJECTIONTYPE:'1',TILESIZE_METER:[2.0037508352E7,1.0018754176E7,5009377.088,2504688.544,1252344.272,626172.136,313086.068,156543.034,78271.517,39135.7585,19567.87925,9783.939625,4891.9698125,2445.98490625,1222.992453125,611.4962265625,305.74811328125,152.874056640625,76.4370283203125,38.2185141601563,19.1092570800781],TILESSERVER:[{BASE_DIR:'MapAPI-1.0',MINLEVEL:'16',MAXLEVEL:'19',COPYRIGHT:'Navteq',LOGGING:['air-geoc','roadmap-mar'],ALIAS: ['http://a0.md.mapandroute.de/mapdispatcher/9000-9004/msiwae/a','http://a1.md.mapandroute.de/mapdispatcher/9000-9004/msiwae/a','http://a2.md.mapandroute.de/mapdispatcher/9000-9004/msiwae/a','http://a3.md.mapandroute.de/mapdispatcher/9000-9004/msiwae/a'],URL:'',PROJECTION:'',PORTLIST:[],IMAGETYPE:'',CACHEENABELD:false},{BASE_DIR:'MapAPI-1.0',MINLEVEL:'5',MAXLEVEL:'15',COPYRIGHT:'Bing Maps',LOGGING:['roadmap-bing'],ALIAS: ['http://ecn.t0.tiles.virtualearth.net/tiles/h%QUADKEY.jpeg?g=857&mkt=de-de&key=%BINGKEY','http://ecn.t1.tiles.virtualearth.net/tiles/h%QUADKEY.jpeg?g=857&mkt=de-de&key=%BINGKEY','http://ecn.t2.tiles.virtualearth.net/tiles/h%QUADKEY.jpeg?g=857&mkt=de-de&key=%BINGKEY','http://ecn.t3.tiles.virtualearth.net/tiles/h%QUADKEY.jpeg?g=857&mkt=de-de&key=%BINGKEY'],URL:'',PROJECTION:'',PORTLIST:[],IMAGETYPE:'',CACHEENABELD:false}],LABELSSERVER:[{BASE_DIR:'MapAPI-1.0',MINLEVEL:'16',MAXLEVEL:'19',COPYRIGHT:'GeoContent',LOGGING:['roadmap-navt'],ALIAS: ['http://www2.mapandroute.de/'],URL:'localhost',PROJECTION:'MERCATOR_WEB',PORTLIST:[5221],IMAGETYPE:'gif',CACHEENABELD:false},{BASE_DIR:'MapAPI-1.0',MINLEVEL:'5',MAXLEVEL:'15',COPYRIGHT:'',LOGGING:[],ALIAS: ['http://www2.mapandroute.de/'],URL:'localhost',PROJECTION:'MERCATOR_WEB',PORTLIST:[5224],IMAGETYPE:'gif',CACHEENABELD:false}]},{NAME:'osm-de-mapnik',TYPE:'IW_MAPDISPATCHER',VNR:-1,PNR:-1,MAXLEVEL:18,PREFERREDLEVEL:15,MINLEVEL:1,COPYRIGHT:'<a href="http://www.infoware.de" target="_blank">Infoware</a>, <a href="http://www.openstreetmap.de" target="_blank">OpenStreetMap</a> (<a href="http://creativecommons.org/licenses/by-sa/2.0/" target="_blank">CC-BY-SA</a>)',PROJECTIONTYPE:'1',TILESIZE_METER:[2.0037508352E7,1.0018754176E7,5009377.088,2504688.544,1252344.272,626172.136,313086.068,156543.034,78271.517,39135.7585,19567.87925,9783.939625,4891.9698125,2445.98490625,1222.992453125,611.4962265625,305.74811328125,152.874056640625,76.4370283203125,38.2185141601563,19.1092570800781],TILESSERVER:[{BASE_DIR:'null',MINLEVEL:'1',MAXLEVEL:'20',COPYRIGHT:'',LOGGING:[],ALIAS: ['http://a.tile.openstreetmap.de/tiles/osmde/%z/%x/%y.png','http://b.tile.openstreetmap.de/tiles/osmde/%z/%x/%y.png','http://c.tile.openstreetmap.de/tiles/osmde/%z/%x/%y.png'],URL:'',PROJECTION:'',PORTLIST:[],IMAGETYPE:'',CACHEENABELD:false}],LABELSSERVER:[{BASE_DIR:'MapAPI-1.0',MINLEVEL:'0',MAXLEVEL:'20',COPYRIGHT:'',LOGGING:[],ALIAS: ['http://iw.mapandroute.de/'],URL:'localhost',PROJECTION:'MERCATOR_WEB',PORTLIST:[5224],IMAGETYPE:'gif',CACHEENABELD:false}]},{NAME:'dasoertliche',TYPE:'IW_MAPDISPATCHER',VNR:-1,PNR:-1,MAXLEVEL:18,PREFERREDLEVEL:15,MINLEVEL:4,COPYRIGHT:'<a href="http://www.mapandroute.de" target="_blank">Map and Route</a>, infoware',PROJECTIONTYPE:'1',TILESIZE_METER:[2.0037508352E7,1.0018754176E7,5009377.088,2504688.544,1252344.272,626172.136,313086.068,156543.034,78271.517,39135.7585,19567.87925,9783.939625,4891.9698125,2445.98490625,1222.992453125,611.4962265625,305.74811328125,152.874056640625,76.4370283203125,38.2185141601563,19.1092570800781],TILESSERVER:[{BASE_DIR:'MapAPI-1.0',MINLEVEL:'0',MAXLEVEL:'30',COPYRIGHT:'',LOGGING:[],ALIAS: ['http://ecn.t0.tiles.virtualearth.net/tiles/r%QUADKEY.jpeg?g=857&mkt=de-de&key=%BINGKEY','http://ecn.t1.tiles.virtualearth.net/tiles/r%QUADKEY.jpeg?g=857&mkt=de-de&key=%BINGKEY','http://ecn.t2.tiles.virtualearth.net/tiles/r%QUADKEY.jpeg?g=857&mkt=de-de&key=%BINGKEY','http://ecn.t3.tiles.virtualearth.net/tiles/r%QUADKEY.jpeg?g=857&mkt=de-de&key=%BINGKEY'],URL:'',PROJECTION:'',PORTLIST:[],IMAGETYPE:'',CACHEENABELD:false}],LABELSSERVER:[{BASE_DIR:'MapAPI-1.0',MINLEVEL:'0',MAXLEVEL:'30',COPYRIGHT:'',LOGGING:[],ALIAS: ['http://iw.mapandroute.de/'],URL:'localhost',PROJECTION:'MERCATOR_WEB',PORTLIST:[5224],IMAGETYPE:'gif',CACHEENABELD:false}]},{NAME:'birdsview',TYPE:'IW',VNR:-1,PNR:-1,MAXLEVEL:19,PREFERREDLEVEL:19,MINLEVEL:18,COPYRIGHT:'<a href="http://www.mapandroute.de" target="_blank">Map and Route</a>, infoware, Blom\u0020ASA',PROJECTIONTYPE:'2',TILESIZE_METER:[2.0037508352E7,1.0018754176E7,5009377.088,2504688.544,1252344.272,626172.136,313086.068,156543.034,78271.517,39135.7585,19567.87925,9783.939625,4891.9698125,2445.98490625,1222.992453125,611.4962265625,305.74811328125,152.874056640625,76.4370283203125,38.2185141601563,19.1092570800781],TILESSERVER:[{BASE_DIR:'MapAPI-1.0',MINLEVEL:'0',MAXLEVEL:'30',COPYRIGHT:'',LOGGING:[],ALIAS: ['http://picto.mapandroute.de/'],URL:'localhost',PROJECTION:'MERCATOR_WEB',PORTLIST:[5211],IMAGETYPE:'jpg',CACHEENABELD:false}],LABELSSERVER:[]},{NAME:'bing_mapdispatcher',TYPE:'IW_MAPDISPATCHER',VNR:-1,PNR:-1,MAXLEVEL:18,PREFERREDLEVEL:15,MINLEVEL:0,COPYRIGHT:'<a href="http://www.mapandroute.de" target="_blank">Map and Route</a>, infoware, Bing',PROJECTIONTYPE:'1',TILESIZE_METER:[2.0037508352E7,1.0018754176E7,5009377.088,2504688.544,1252344.272,626172.136,313086.068,156543.034,78271.517,39135.7585,19567.87925,9783.939625,4891.9698125,2445.98490625,1222.992453125,611.4962265625,305.74811328125,152.874056640625,76.4370283203125,38.2185141601563,19.1092570800781],TILESSERVER:[{BASE_DIR:'MapAPI-1.0',MINLEVEL:'0',MAXLEVEL:'30',COPYRIGHT:'',LOGGING:[],ALIAS: ['http://ecn.t0.tiles.virtualearth.net/tiles/r%QUADKEY.jpeg?g=857&mkt=de-de&key=%BINGKEY','http://ecn.t1.tiles.virtualearth.net/tiles/r%QUADKEY.jpeg?g=857&mkt=de-de&key=%BINGKEY','http://ecn.t2.tiles.virtualearth.net/tiles/r%QUADKEY.jpeg?g=857&mkt=de-de&key=%BINGKEY','http://ecn.t3.tiles.virtualearth.net/tiles/r%QUADKEY.jpeg?g=857&mkt=de-de&key=%BINGKEY'],URL:'',PROJECTION:'',PORTLIST:[],IMAGETYPE:'',CACHEENABELD:false}],LABELSSERVER:[{BASE_DIR:'MapAPI-1.0',MINLEVEL:'0',MAXLEVEL:'30',COPYRIGHT:'',LOGGING:[],ALIAS: ['http://iw.mapandroute.de/'],URL:'localhost',PROJECTION:'MERCATOR_WEB',PORTLIST:[5224],IMAGETYPE:'gif',CACHEENABELD:false}]},{NAME:'roadmapPremium',TYPE:'IW_MAPDISPATCHER',VNR:9000,PNR:9004,MAXLEVEL:18,PREFERREDLEVEL:15,MINLEVEL:5,COPYRIGHT:'',PROJECTIONTYPE:'1',TILESIZE_METER:[2.0037508352E7,1.0018754176E7,5009377.088,2504688.544,1252344.272,626172.136,313086.068,156543.034,78271.517,39135.7585,19567.87925,9783.939625,4891.9698125,2445.98490625,1222.992453125,611.4962265625,305.74811328125,152.874056640625,76.4370283203125,38.2185141601563,19.1092570800781],TILESSERVER:[{BASE_DIR:'MapAPI-1.0',MINLEVEL:'5',MAXLEVEL:'18',COPYRIGHT:'<a href="http://www.mapandroute.de" target="_blank">Map and Route</a>, infoware, Navteq',LOGGING:['roadmap-mar'],ALIAS: ['http://m0.md.mapandroute.de/mapdispatcher/9000-9004/r%1.png','http://m1.md.mapandroute.de/mapdispatcher/9000-9004/r%1.png','http://m2.md.mapandroute.de/mapdispatcher/9000-9004/r%1.png','http://m3.md.mapandroute.de/mapdispatcher/9000-9004/r%1.png'],URL:'',PROJECTION:'',PORTLIST:[],IMAGETYPE:'',CACHEENABELD:false}],LABELSSERVER:[{BASE_DIR:'MapAPI-1.0',MINLEVEL:'0',MAXLEVEL:'30',COPYRIGHT:'',LOGGING:[],ALIAS: ['http://www2.mapandroute.de/'],URL:'localhost',PROJECTION:'MERCATOR_WEB',PORTLIST:[5224],IMAGETYPE:'gif',CACHEENABELD:false}]},{NAME:'roadmap',TYPE:'IW_MAPDISPATCHER',VNR:0,PNR:3,MAXLEVEL:18,PREFERREDLEVEL:15,MINLEVEL:5,COPYRIGHT:'<a href="http://www.mapandroute.de" target="_blank">Map and Route</a>, infoware, Navteq, Bing',PROJECTIONTYPE:'1',TILESIZE_METER:[2.0037508352E7,1.0018754176E7,5009377.088,2504688.544,1252344.272,626172.136,313086.068,156543.034,78271.517,39135.7585,19567.87925,9783.939625,4891.9698125,2445.98490625,1222.992453125,611.4962265625,305.74811328125,152.874056640625,76.4370283203125,38.2185141601563,19.1092570800781],TILESSERVER:[{BASE_DIR:'MapAPI-1.0',MINLEVEL:'5',MAXLEVEL:'18',COPYRIGHT:'',LOGGING:['roadmap-mar'],ALIAS: ['http://m0.md.mapandroute.de/mapdispatcher/0-3/r%1.png','http://m1.md.mapandroute.de/mapdispatcher/0-3/r%1.png','http://m2.md.mapandroute.de/mapdispatcher/0-3/r%1.png','http://m3.md.mapandroute.de/mapdispatcher/0-3/r%1.png'],URL:'',PROJECTION:'',PORTLIST:[],IMAGETYPE:'',CACHEENABELD:false}],LABELSSERVER:[{BASE_DIR:'MapAPI-1.0',MINLEVEL:'0',MAXLEVEL:'30',COPYRIGHT:'',LOGGING:[],ALIAS: ['http://iw.mapandroute.de/'],URL:'localhost',PROJECTION:'MERCATOR_WEB',PORTLIST:[5226],IMAGETYPE:'png',CACHEENABELD:false}]},{NAME:'roadmap',TYPE:'IW_MAPDISPATCHER',VNR:0,PNR:2,MAXLEVEL:18,PREFERREDLEVEL:15,MINLEVEL:4,COPYRIGHT:'<a href="http://www.mapandroute.de" target="_blank">Map and Route</a>, infoware, Navteq, Bing',PROJECTIONTYPE:'1',TILESIZE_METER:[2.0037508352E7,1.0018754176E7,5009377.088,2504688.544,1252344.272,626172.136,313086.068,156543.034,78271.517,39135.7585,19567.87925,9783.939625,4891.9698125,2445.98490625,1222.992453125,611.4962265625,305.74811328125,152.874056640625,76.4370283203125,38.2185141601563,19.1092570800781],TILESSERVER:[{BASE_DIR:'MapAPI-1.0',MINLEVEL:'6',MAXLEVEL:'18',COPYRIGHT:'',LOGGING:['roadmap-mar'],ALIAS: ['http://m0.md.mapandroute.de/mapdispatcher/0-2/r%1.png','http://m1.md.mapandroute.de/mapdispatcher/0-2/r%1.png','http://m2.md.mapandroute.de/mapdispatcher/0-2/r%1.png','http://m3.md.mapandroute.de/mapdispatcher/0-2/r%1.png'],URL:'',PROJECTION:'',PORTLIST:[],IMAGETYPE:'',CACHEENABELD:false},{BASE_DIR:'MapAPI-1.0',MINLEVEL:'4',MAXLEVEL:'5',COPYRIGHT:'',LOGGING:['roadmap-navt'],ALIAS: ['http://m0.md.mapandroute.de/mapdispatcher/0-2/r%1.png','http://m1.md.mapandroute.de/mapdispatcher/0-2/r%1.png','http://m2.md.mapandroute.de/mapdispatcher/0-2/r%1.png','http://m3.md.mapandroute.de/mapdispatcher/0-2/r%1.png'],URL:'',PROJECTION:'',PORTLIST:[],IMAGETYPE:'',CACHEENABELD:false}],LABELSSERVER:[{BASE_DIR:'MapAPI-1.0',MINLEVEL:'0',MAXLEVEL:'30',COPYRIGHT:'',LOGGING:[],ALIAS: ['http://iw.mapandroute.de/'],URL:'localhost',PROJECTION:'MERCATOR_WEB',PORTLIST:[5226],IMAGETYPE:'png',CACHEENABELD:false}]},{NAME:'hybrid_mapdispatcher',TYPE:'IW_MAPDISPATCHER',VNR:-1,PNR:-1,MAXLEVEL:19,PREFERREDLEVEL:15,MINLEVEL:0,COPYRIGHT:'<a href="http://www.mapandroute.de" target="_blank">Map and Route</a>, infoware, GeoContent, Navteq',PROJECTIONTYPE:'1',TILESIZE_METER:[2.0037508352E7,1.0018754176E7,5009377.088,2504688.544,1252344.272,626172.136,313086.068,156543.034,78271.517,39135.7585,19567.87925,9783.939625,4891.9698125,2445.98490625,1222.992453125,611.4962265625,305.74811328125,152.874056640625,76.4370283203125,38.2185141601563,19.1092570800781],TILESSERVER:[{BASE_DIR:'MapAPI-1.0',MINLEVEL:'0',MAXLEVEL:'30',COPYRIGHT:'',LOGGING:[],ALIAS: ['http://a0.md.mapandroute.de/mapdispatcher/10000-9999/msiwae/a','http://a1.md.mapandroute.de/mapdispatcher/10000-9999/msiwae/a','http://a2.md.mapandroute.de/mapdispatcher/10000-9999/msiwae/a','http://a3.md.mapandroute.de/mapdispatcher/10000-9999/msiwae/a'],URL:'',PROJECTION:'',PORTLIST:[],IMAGETYPE:'',CACHEENABELD:false}],LABELSSERVER:[{BASE_DIR:'MapAPI-1.0',MINLEVEL:'0',MAXLEVEL:'30',COPYRIGHT:'',LOGGING:[],ALIAS: ['http://iw.mapandroute.de/'],URL:'localhost',PROJECTION:'MERCATOR_WEB',PORTLIST:[5221],IMAGETYPE:'gif',CACHEENABELD:false}]},{NAME:'dastelefonbuch',TYPE:'IW_MAPDISPATCHER',VNR:-1,PNR:-1,MAXLEVEL:18,PREFERREDLEVEL:15,MINLEVEL:4,COPYRIGHT:'<a href="http://www.mapandroute.de" target="_blank">Map and Route</a>, infoware, ',PROJECTIONTYPE:'1',TILESIZE_METER:[2.0037508352E7,1.0018754176E7,5009377.088,2504688.544,1252344.272,626172.136,313086.068,156543.034,78271.517,39135.7585,19567.87925,9783.939625,4891.9698125,2445.98490625,1222.992453125,611.4962265625,305.74811328125,152.874056640625,76.4370283203125,38.2185141601563,19.1092570800781],TILESSERVER:[{BASE_DIR:'MapAPI-1.0',MINLEVEL:'0',MAXLEVEL:'30',COPYRIGHT:'',LOGGING:[],ALIAS: ['http://ecn.t0.tiles.virtualearth.net/tiles/r%QUADKEY.jpeg?g=857&mkt=de-de&key=%BINGKEY','http://ecn.t1.tiles.virtualearth.net/tiles/r%QUADKEY.jpeg?g=857&mkt=de-de&key=%BINGKEY','http://ecn.t2.tiles.virtualearth.net/tiles/r%QUADKEY.jpeg?g=857&mkt=de-de&key=%BINGKEY','http://ecn.t3.tiles.virtualearth.net/tiles/r%QUADKEY.jpeg?g=857&mkt=de-de&key=%BINGKEY'],URL:'',PROJECTION:'',PORTLIST:[],IMAGETYPE:'',CACHEENABELD:false}],LABELSSERVER:[{BASE_DIR:'MapAPI-1.0',MINLEVEL:'0',MAXLEVEL:'30',COPYRIGHT:'',LOGGING:[],ALIAS: ['http://iw.mapandroute.de'],URL:'localhost',PROJECTION:'MERCATOR_WEB',PORTLIST:[5224],IMAGETYPE:'gif',CACHEENABELD:false}]},{NAME:'roadmap',TYPE:'IW_MAPDISPATCHER',VNR:0,PNR:1,MAXLEVEL:18,PREFERREDLEVEL:16,MINLEVEL:4,COPYRIGHT:'<a href="http://www.mapandroute.de" target="_blank">Map and Route</a>, infoware, ',PROJECTIONTYPE:'1',TILESIZE_METER:[2.0037508352E7,1.0018754176E7,5009377.088,2504688.544,1252344.272,626172.136,313086.068,156543.034,78271.517,39135.7585,19567.87925,9783.939625,4891.9698125,2445.98490625,1222.992453125,611.4962265625,305.74811328125,152.874056640625,76.4370283203125,38.2185141601563,19.1092570800781],TILESSERVER:[{BASE_DIR:'MapAPI-1.0',MINLEVEL:'6',MAXLEVEL:'18',COPYRIGHT:'Navteq',LOGGING:['roadmap-mar'],ALIAS: ['http://m0.md.mapandroute.de/mapdispatcher/0-1/r%1.png','http://m1.md.mapandroute.de/mapdispatcher/0-1/r%1.png','http://m2.md.mapandroute.de/mapdispatcher/0-1/r%1.png','http://m3.md.mapandroute.de/mapdispatcher/0-1/r%1.png'],URL:'',PROJECTION:'',PORTLIST:[],IMAGETYPE:'',CACHEENABELD:false},{BASE_DIR:'MapAPI-1.0',MINLEVEL:'4',MAXLEVEL:'5',COPYRIGHT:'Navteq',LOGGING:['roadmap-navt'],ALIAS: ['http://m0.md.mapandroute.de/mapdispatcher/0-299/r%1.png','http://m1.md.mapandroute.de/mapdispatcher/0-299/r%1.png','http://m2.md.mapandroute.de/mapdispatcher/0-299/r%1.png','http://m3.md.mapandroute.de/mapdispatcher/0-299/r%1.png'],URL:'',PROJECTION:'',PORTLIST:[],IMAGETYPE:'',CACHEENABELD:false}],LABELSSERVER:[{BASE_DIR:'MapAPI-1.0',MINLEVEL:'0',MAXLEVEL:'30',COPYRIGHT:'',LOGGING:[],ALIAS: ['http://iw.mapandroute.de/'],URL:'localhost',PROJECTION:'MERCATOR_WEB',PORTLIST:[5224],IMAGETYPE:'gif',CACHEENABELD:false}]},{NAME:'airBing_mapdispatcher',TYPE:'IW_MAPDISPATCHER',VNR:-1,PNR:-1,MAXLEVEL:19,PREFERREDLEVEL:15,MINLEVEL:0,COPYRIGHT:'<a href="http://www.mapandroute.de" target="_blank">Map and Route</a>, infoware, GeoContent',PROJECTIONTYPE:'1',TILESIZE_METER:[2.0037508352E7,1.0018754176E7,5009377.088,2504688.544,1252344.272,626172.136,313086.068,156543.034,78271.517,39135.7585,19567.87925,9783.939625,4891.9698125,2445.98490625,1222.992453125,611.4962265625,305.74811328125,152.874056640625,76.4370283203125,38.2185141601563,19.1092570800781],TILESSERVER:[{BASE_DIR:'MapAPI-1.0',MINLEVEL:'0',MAXLEVEL:'30',COPYRIGHT:'',LOGGING:[],ALIAS: ['http://ecn.t0.tiles.virtualearth.net/tiles/r%QUADKEY.jpeg?g=857&mkt=de-de&key=%BINGKEY','http://ecn.t1.tiles.virtualearth.net/tiles/r%QUADKEY.jpeg?g=857&mkt=de-de&key=%BINGKEY','http://ecn.t2.tiles.virtualearth.net/tiles/r%QUADKEY.jpeg?g=857&mkt=de-de&key=%BINGKEY','http://ecn.t3.tiles.virtualearth.net/tiles/r%QUADKEY.jpeg?g=857&mkt=de-de&key=%BINGKEY'],URL:'',PROJECTION:'',PORTLIST:[],IMAGETYPE:'',CACHEENABELD:false}],LABELSSERVER:[{BASE_DIR:'MapAPI-1.0',MINLEVEL:'0',MAXLEVEL:'30',COPYRIGHT:'',LOGGING:[],ALIAS: ['http://iw.mapandroute.de/'],URL:'localhost',PROJECTION:'MERCATOR_WEB',PORTLIST:[5224],IMAGETYPE:'gif',CACHEENABELD:false}]},{NAME:'mapstyler_mapdispatcher',TYPE:'IW_MAPDISPATCHER',VNR:-1,PNR:-1,MAXLEVEL:18,PREFERREDLEVEL:15,MINLEVEL:0,COPYRIGHT:'<a href="http://www.mapandroute.de" target="_blank">Map and Route</a>, infoware, Tele\u0020Atlas',PROJECTIONTYPE:'1',TILESIZE_METER:[2.0037508352E7,1.0018754176E7,5009377.088,2504688.544,1252344.272,626172.136,313086.068,156543.034,78271.517,39135.7585,19567.87925,9783.939625,4891.9698125,2445.98490625,1222.992453125,611.4962265625,305.74811328125,152.874056640625,76.4370283203125,38.2185141601563,19.1092570800781],TILESSERVER:[{BASE_DIR:'MapAPI-1.0',MINLEVEL:'0',MAXLEVEL:'30',COPYRIGHT:'',LOGGING:[],ALIAS: ['http://iw.mapandroute.de/MapStylerMapDispatcher/1234-4321/msiwfd/r','http://iw.mapandroute.de/MapStylerMapDispatcher/1234-4321/msiwfd/r','http://iw.mapandroute.de/MapStylerMapDispatcher/1234-4321/msiwfd/r','http://iw.mapandroute.de/MapStylerMapDispatcher/1234-4321/msiwfd/r'],URL:'',PROJECTION:'',PORTLIST:[],IMAGETYPE:'',CACHEENABELD:false}],LABELSSERVER:[{BASE_DIR:'MapAPI-1.0',MINLEVEL:'0',MAXLEVEL:'30',COPYRIGHT:'',LOGGING:[],ALIAS: ['http://iw.mapandroute.de/'],URL:'localhost',PROJECTION:'MERCATOR_WEB',PORTLIST:[5224],IMAGETYPE:'gif',CACHEENABELD:false}]},{NAME:'birdsview',TYPE:'IW',VNR:9000,PNR:9004,MAXLEVEL:19,PREFERREDLEVEL:18,MINLEVEL:0,COPYRIGHT:'<a href="http://www.mapandroute.de" target="_blank">Map and Route</a>, infoware, Blom\u0020ASA',PROJECTIONTYPE:'2',TILESIZE_METER:[2.0037508352E7,1.0018754176E7,5009377.088,2504688.544,1252344.272,626172.136,313086.068,156543.034,78271.517,39135.7585,19567.87925,9783.939625,4891.9698125,2445.98490625,1222.992453125,611.4962265625,305.74811328125,152.874056640625,76.4370283203125,38.2185141601563,19.1092570800781],TILESSERVER:[{BASE_DIR:'MapAPI-1.0',MINLEVEL:'0',MAXLEVEL:'30',COPYRIGHT:'',LOGGING:['bv-blom'],ALIAS: ['http://picto.mapandroute.de/'],URL:'localhost',PROJECTION:'MERCATOR_WEB',PORTLIST:[5211],IMAGETYPE:'jpg',CACHEENABELD:false}],LABELSSERVER:[]},{NAME:'birdsviewarea',TYPE:'IW',VNR:-1,PNR:-1,MAXLEVEL:19,PREFERREDLEVEL:15,MINLEVEL:0,COPYRIGHT:'<a href="http://www.mapandroute.de" target="_blank">Map and Route</a>, infoware, Blom\u0020ASA',PROJECTIONTYPE:'1',TILESIZE_METER:[2.0037508352E7,1.0018754176E7,5009377.088,2504688.544,1252344.272,626172.136,313086.068,156543.034,78271.517,39135.7585,19567.87925,9783.939625,4891.9698125,2445.98490625,1222.992453125,611.4962265625,305.74811328125,152.874056640625,76.4370283203125,38.2185141601563,19.1092570800781],TILESSERVER:[{BASE_DIR:'MapAPI-1.0',MINLEVEL:'0',MAXLEVEL:'30',COPYRIGHT:'',LOGGING:[],ALIAS: ['http://iw.mapandroute.de/'],URL:'localhost',PROJECTION:'MERCATOR_WEB',PORTLIST:[5253],IMAGETYPE:'gif',CACHEENABELD:false}],LABELSSERVER:[{BASE_DIR:'MapAPI-1.0',MINLEVEL:'0',MAXLEVEL:'30',COPYRIGHT:'',LOGGING:[],ALIAS: ['http://iw.mapandroute.de/'],URL:'localhost',PROJECTION:'MERCATOR_WEB',PORTLIST:[5222],IMAGETYPE:'gif',CACHEENABELD:false}]},{NAME:'hybrid',TYPE:'IW_MAPDISPATCHER',VNR:0,PNR:3,MAXLEVEL:17,PREFERREDLEVEL:15,MINLEVEL:5,COPYRIGHT:'<a href="http://www.mapandroute.de" target="_blank">Map and Route</a>, infoware, Bing',PROJECTIONTYPE:'1',TILESIZE_METER:[2.0037508352E7,1.0018754176E7,5009377.088,2504688.544,1252344.272,626172.136,313086.068,156543.034,78271.517,39135.7585,19567.87925,9783.939625,4891.9698125,2445.98490625,1222.992453125,611.4962265625,305.74811328125,152.874056640625,76.4370283203125,38.2185141601563,19.1092570800781],TILESSERVER:[{BASE_DIR:'MapAPI-1.0',MINLEVEL:'16',MAXLEVEL:'17',COPYRIGHT:'',LOGGING:['air-geoc'],ALIAS: ['http://a0.md.mapandroute.de/mapdispatcher/0-299/a%1.png','http://a1.md.mapandroute.de/mapdispatcher/0-299/a%1.png','http://a2.md.mapandroute.de/mapdispatcher/0-299/a%1.png','http://a3.md.mapandroute.de/mapdispatcher/0-299/a%1.png'],URL:'',PROJECTION:'',PORTLIST:[],IMAGETYPE:'',CACHEENABELD:false},{BASE_DIR:'MapAPI-1.0',MINLEVEL:'5',MAXLEVEL:'15',COPYRIGHT:'',LOGGING:['hybrid-bing'],ALIAS: ['http://ecn.t0.tiles.virtualearth.net/tiles/h%QUADKEY.jpeg?g=857&mkt=de-de&key=%BINGKEY','http://ecn.t1.tiles.virtualearth.net/tiles/h%QUADKEY.jpeg?g=857&mkt=de-de&key=%BINGKEY','http://ecn.t2.tiles.virtualearth.net/tiles/h%QUADKEY.jpeg?g=857&mkt=de-de&key=%BINGKEY','http://ecn.t3.tiles.virtualearth.net/tiles/h%QUADKEY.jpeg?g=857&mkt=de-de&key=%BINGKEY'],URL:'',PROJECTION:'',PORTLIST:[],IMAGETYPE:'',CACHEENABELD:false}],LABELSSERVER:[{BASE_DIR:'MapAPI-1.0',MINLEVEL:'16',MAXLEVEL:'17',COPYRIGHT:'',LOGGING:[],ALIAS: ['http://iw.mapandroute.de/'],URL:'localhost',PROJECTION:'MERCATOR_WEB',PORTLIST:[5225],IMAGETYPE:'png',CACHEENABELD:false},{BASE_DIR:'MapAPI-1.0',MINLEVEL:'5',MAXLEVEL:'15',COPYRIGHT:'',LOGGING:[],ALIAS: ['http://iw.mapandroute.de/'],URL:'localhost',PROJECTION:'MERCATOR_WEB',PORTLIST:[5226],IMAGETYPE:'png',CACHEENABELD:false}]},{NAME:'hybrid',TYPE:'IW_MAPDISPATCHER',VNR:0,PNR:2,MAXLEVEL:18,PREFERREDLEVEL:15,MINLEVEL:4,COPYRIGHT:'<a href="http://www.mapandroute.de" target="_blank">Map and Route</a>, infoware, Bing',PROJECTIONTYPE:'1',TILESIZE_METER:[2.0037508352E7,1.0018754176E7,5009377.088,2504688.544,1252344.272,626172.136,313086.068,156543.034,78271.517,39135.7585,19567.87925,9783.939625,4891.9698125,2445.98490625,1222.992453125,611.4962265625,305.74811328125,152.874056640625,76.4370283203125,38.2185141601563,19.1092570800781],TILESSERVER:[{BASE_DIR:'MapAPI-1.0',MINLEVEL:'4',MAXLEVEL:'18',COPYRIGHT:'',LOGGING:['hybrid-bing'],ALIAS: ['http://ecn.t0.tiles.virtualearth.net/tiles/h%QUADKEY.jpeg?g=857&mkt=de-de&key=%BINGKEY','http://ecn.t1.tiles.virtualearth.net/tiles/h%QUADKEY.jpeg?g=857&mkt=de-de&key=%BINGKEY','http://ecn.t2.tiles.virtualearth.net/tiles/h%QUADKEY.jpeg?g=857&mkt=de-de&key=%BINGKEY','http://ecn.t3.tiles.virtualearth.net/tiles/h%QUADKEY.jpeg?g=857&mkt=de-de&key=%BINGKEY'],URL:'',PROJECTION:'',PORTLIST:[],IMAGETYPE:'',CACHEENABELD:false}],LABELSSERVER:[{BASE_DIR:'MapAPI-1.0',MINLEVEL:'0',MAXLEVEL:'30',COPYRIGHT:'',LOGGING:[],ALIAS: ['http://iw.mapandroute.de/'],URL:'localhost',PROJECTION:'MERCATOR_WEB',PORTLIST:[5226],IMAGETYPE:'png',CACHEENABELD:false}]},{NAME:'hybrid',TYPE:'IW_MAPDISPATCHER',VNR:0,PNR:1,MAXLEVEL:18,PREFERREDLEVEL:15,MINLEVEL:4,COPYRIGHT:'<a href="http://www.mapandroute.de" target="_blank">Map and Route</a>, infoware, ',PROJECTIONTYPE:'1',TILESIZE_METER:[2.0037508352E7,1.0018754176E7,5009377.088,2504688.544,1252344.272,626172.136,313086.068,156543.034,78271.517,39135.7585,19567.87925,9783.939625,4891.9698125,2445.98490625,1222.992453125,611.4962265625,305.74811328125,152.874056640625,76.4370283203125,38.2185141601563,19.1092570800781],TILESSERVER:[{BASE_DIR:'MapAPI-1.0',MINLEVEL:'16',MAXLEVEL:'18',COPYRIGHT:'GeoContent, Navteq',LOGGING:['air-geoc','roadmap-navt'],ALIAS: ['http://a0.md.mapandroute.de/mapdispatcher/0-299/a%1.png','http://a1.md.mapandroute.de/mapdispatcher/0-299/a%1.png','http://a2.md.mapandroute.de/mapdispatcher/0-299/a%1.png','http://a3.md.mapandroute.de/mapdispatcher/0-299/a%1.png'],URL:'',PROJECTION:'',PORTLIST:[],IMAGETYPE:'',CACHEENABELD:false},{BASE_DIR:'MapAPI-1.0',MINLEVEL:'6',MAXLEVEL:'15',COPYRIGHT:'Bing Maps',LOGGING:['hybrid-bing'],ALIAS: ['http://ecn.t0.tiles.virtualearth.net/tiles/h%QUADKEY.jpeg?g=857&mkt=de-de&key=%BINGKEY','http://ecn.t1.tiles.virtualearth.net/tiles/h%QUADKEY.jpeg?g=857&mkt=de-de&key=%BINGKEY','http://ecn.t2.tiles.virtualearth.net/tiles/h%QUADKEY.jpeg?g=857&mkt=de-de&key=%BINGKEY','http://ecn.t3.tiles.virtualearth.net/tiles/h%QUADKEY.jpeg?g=857&mkt=de-de&key=%BINGKEY'],URL:'',PROJECTION:'',PORTLIST:[],IMAGETYPE:'',CACHEENABELD:false},{BASE_DIR:'MapAPI-1.0',MINLEVEL:'4',MAXLEVEL:'5',COPYRIGHT:'Bing Maps',LOGGING:['air-bing'],ALIAS: ['http://ecn.t0.tiles.virtualearth.net/tiles/a%QUADKEY.jpeg?g=857&key=%BINGKEY','http://ecn.t1.tiles.virtualearth.net/tiles/a%QUADKEY.jpeg?g=857&key=%BINGKEY','http://ecn.t2.tiles.virtualearth.net/tiles/a%QUADKEY.jpeg?g=857&key=%BINGKEY','http://ecn.t3.tiles.virtualearth.net/tiles/a%QUADKEY.jpeg?g=857&key=%BINGKEY'],URL:'',PROJECTION:'',PORTLIST:[],IMAGETYPE:'',CACHEENABELD:false}],LABELSSERVER:[{BASE_DIR:'MapAPI-1.0',MINLEVEL:'16',MAXLEVEL:'18',COPYRIGHT:'',LOGGING:[],ALIAS: ['http://iw.mapandroute.de/'],URL:'localhost',PROJECTION:'MERCATOR_WEB',PORTLIST:[5225],IMAGETYPE:'png',CACHEENABELD:false},{BASE_DIR:'MapAPI-1.0',MINLEVEL:'6',MAXLEVEL:'15',COPYRIGHT:'',LOGGING:[],ALIAS: ['http://iw.mapandroute.de/'],URL:'localhost',PROJECTION:'MERCATOR_WEB',PORTLIST:[5226],IMAGETYPE:'png',CACHEENABELD:false},{BASE_DIR:'MapAPI-1.0',MINLEVEL:'4',MAXLEVEL:'5',COPYRIGHT:'',LOGGING:[],ALIAS: ['http://iw.mapandroute.de/'],URL:'localhost',PROJECTION:'MERCATOR_WEB',PORTLIST:[5224],IMAGETYPE:'gif',CACHEENABELD:false}]},{NAME:'air_mapdispatcher',TYPE:'IW_MAPDISPATCHER',VNR:-1,PNR:-1,MAXLEVEL:19,PREFERREDLEVEL:15,MINLEVEL:0,COPYRIGHT:'<a href="http://www.mapandroute.de" target="_blank">Map and Route</a>, infoware, GeoContent',PROJECTIONTYPE:'1',TILESIZE_METER:[2.0037508352E7,1.0018754176E7,5009377.088,2504688.544,1252344.272,626172.136,313086.068,156543.034,78271.517,39135.7585,19567.87925,9783.939625,4891.9698125,2445.98490625,1222.992453125,611.4962265625,305.74811328125,152.874056640625,76.4370283203125,38.2185141601563,19.1092570800781],TILESSERVER:[{BASE_DIR:'MapAPI-1.0',MINLEVEL:'0',MAXLEVEL:'30',COPYRIGHT:'',LOGGING:[],ALIAS: ['http://a0.md.mapandroute.de/mapdispatcher/10000-9999/msiwae/a','http://a1.md.mapandroute.de/mapdispatcher/10000-9999/msiwae/a','http://a2.md.mapandroute.de/mapdispatcher/10000-9999/msiwae/a','http://a3.md.mapandroute.de/mapdispatcher/10000-9999/msiwae/a'],URL:'',PROJECTION:'',PORTLIST:[],IMAGETYPE:'',CACHEENABELD:false}],LABELSSERVER:[{BASE_DIR:'MapAPI-1.0',MINLEVEL:'0',MAXLEVEL:'30',COPYRIGHT:'',LOGGING:[],ALIAS: ['http://iw.mapandroute.de/'],URL:'localhost',PROJECTION:'MERCATOR_WEB',PORTLIST:[5224],IMAGETYPE:'gif',CACHEENABELD:false}]},{NAME:'osm',TYPE:'IW_MAPDISPATCHER',VNR:-1,PNR:-1,MAXLEVEL:18,PREFERREDLEVEL:15,MINLEVEL:4,COPYRIGHT:'<a href="http://www.mapandroute.de" target="_blank">Map and Route</a>, infoware',PROJECTIONTYPE:'1',TILESIZE_METER:[2.0037508352E7,1.0018754176E7,5009377.088,2504688.544,1252344.272,626172.136,313086.068,156543.034,78271.517,39135.7585,19567.87925,9783.939625,4891.9698125,2445.98490625,1222.992453125,611.4962265625,305.74811328125,152.874056640625,76.4370283203125,38.2185141601563,19.1092570800781],TILESSERVER:[{BASE_DIR:'MapAPI-1.0',MINLEVEL:'0',MAXLEVEL:'30',COPYRIGHT:'',LOGGING:[],ALIAS: ['http://osm0.mapandroute.de/mapdispatcher/10000-9999/r%1.png','http://osm1.mapandroute.de/mapdispatcher/10000-9999/r%1.png','http://osm2.mapandroute.de/mapdispatcher/10000-9999/r%1.png','http://osm3.mapandroute.de/mapdispatcher/10000-9999/r%1.png'],URL:'',PROJECTION:'',PORTLIST:[],IMAGETYPE:'',CACHEENABELD:false}],LABELSSERVER:[{BASE_DIR:'MapAPI-1.0',MINLEVEL:'0',MAXLEVEL:'30',COPYRIGHT:'',LOGGING:[],ALIAS: ['http://maps.abendblatt.de/'],URL:'localhost',PROJECTION:'LCC_EUROPE',PORTLIST:[5295],IMAGETYPE:'gif',CACHEENABELD:false}]},{NAME:'air',TYPE:'IW',VNR:-1,PNR:-1,MAXLEVEL:19,PREFERREDLEVEL:15,MINLEVEL:0,COPYRIGHT:'<a href="http://www.mapandroute.de" target="_blank">Map and Route</a>, infoware, GeoContent',PROJECTIONTYPE:'1',TILESIZE_METER:[2.0037508352E7,1.0018754176E7,5009377.088,2504688.544,1252344.272,626172.136,313086.068,156543.034,78271.517,39135.7585,19567.87925,9783.939625,4891.9698125,2445.98490625,1222.992453125,611.4962265625,305.74811328125,152.874056640625,76.4370283203125,38.2185141601563,19.1092570800781],TILESSERVER:[{BASE_DIR:'MapAPI-1.0',MINLEVEL:'0',MAXLEVEL:'30',COPYRIGHT:'',LOGGING:[],ALIAS: ['http://iw.mapandroute.de/'],URL:'localhost',PROJECTION:'MERCATOR_WEB',PORTLIST:[5513],IMAGETYPE:'jpg',CACHEENABELD:false}],LABELSSERVER:[{BASE_DIR:'MapAPI-1.0',MINLEVEL:'0',MAXLEVEL:'30',COPYRIGHT:'',LOGGING:[],ALIAS: ['http://iw.mapandroute.de/'],URL:'localhost',PROJECTION:'MERCATOR_WEB',PORTLIST:[5224],IMAGETYPE:'gif',CACHEENABELD:false}]},{NAME:'roadmap',TYPE:'IW_MAPDISPATCHER',VNR:-1,PNR:-1,MAXLEVEL:18,PREFERREDLEVEL:15,MINLEVEL:4,COPYRIGHT:'<a href="http://www.mapandroute.de" target="_blank">Map and Route</a>, infoware, Navteq, Bing',PROJECTIONTYPE:'1',TILESIZE_METER:[2.0037508352E7,1.0018754176E7,5009377.088,2504688.544,1252344.272,626172.136,313086.068,156543.034,78271.517,39135.7585,19567.87925,9783.939625,4891.9698125,2445.98490625,1222.992453125,611.4962265625,305.74811328125,152.874056640625,76.4370283203125,38.2185141601563,19.1092570800781],TILESSERVER:[{BASE_DIR:'MapAPI-1.0',MINLEVEL:'5',MAXLEVEL:'18',COPYRIGHT:'',LOGGING:['roadmap-mar'],ALIAS: ['http://m0.md.mapandroute.de/mapdispatcher/0-0/r%1.png','http://m1.md.mapandroute.de/mapdispatcher/0-0/r%1.png','http://m2.md.mapandroute.de/mapdispatcher/0-0/r%1.png','http://m3.md.mapandroute.de/mapdispatcher/0-0/r%1.png'],URL:'',PROJECTION:'',PORTLIST:[],IMAGETYPE:'',CACHEENABELD:false},{BASE_DIR:'MapAPI-1.0',MINLEVEL:'4',MAXLEVEL:'4',COPYRIGHT:'',LOGGING:['roadmap-bing'],ALIAS: ['http://ecn.t0.tiles.virtualearth.net/tiles/r%QUADKEY.jpeg?g=857&mkt=de-de&key=%BINGKEY','http://ecn.t1.tiles.virtualearth.net/tiles/r%QUADKEY.jpeg?g=857&mkt=de-de&key=%BINGKEY','http://ecn.t2.tiles.virtualearth.net/tiles/r%QUADKEY.jpeg?g=857&mkt=de-de&key=%BINGKEY','http://ecn.t3.tiles.virtualearth.net/tiles/r%QUADKEY.jpeg?g=857&mkt=de-de&key=%BINGKEY'],URL:'',PROJECTION:'',PORTLIST:[],IMAGETYPE:'',CACHEENABELD:false}],LABELSSERVER:[{BASE_DIR:'MapAPI-1.0',MINLEVEL:'0',MAXLEVEL:'30',COPYRIGHT:'',LOGGING:[],ALIAS: ['http://iw.mapandroute.de/'],URL:'localhost',PROJECTION:'MERCATOR_WEB',PORTLIST:[5226],IMAGETYPE:'png',CACHEENABELD:false}]},{NAME:'dastelefonbuch-hybrid',TYPE:'IW_MAPDISPATCHER',VNR:-1,PNR:-1,MAXLEVEL:18,PREFERREDLEVEL:15,MINLEVEL:4,COPYRIGHT:'<a href="http://www.mapandroute.de" target="_blank">Map and Route</a>, infoware, ',PROJECTIONTYPE:'1',TILESIZE_METER:[2.0037508352E7,1.0018754176E7,5009377.088,2504688.544,1252344.272,626172.136,313086.068,156543.034,78271.517,39135.7585,19567.87925,9783.939625,4891.9698125,2445.98490625,1222.992453125,611.4962265625,305.74811328125,152.874056640625,76.4370283203125,38.2185141601563,19.1092570800781],TILESSERVER:[{BASE_DIR:'MapAPI-1.0',MINLEVEL:'0',MAXLEVEL:'30',COPYRIGHT:'',LOGGING:[],ALIAS: ['http://ecn.t0.tiles.virtualearth.net/tiles/h%QUADKEY.jpeg?g=857&mkt=de-de&key=%BINGKEY','http://ecn.t1.tiles.virtualearth.net/tiles/h%QUADKEY.jpeg?g=857&mkt=de-de&key=%BINGKEY','http://ecn.t2.tiles.virtualearth.net/tiles/h%QUADKEY.jpeg?g=857&mkt=de-de&key=%BINGKEY','http://ecn.t3.tiles.virtualearth.net/tiles/h%QUADKEY.jpeg?g=857&mkt=de-de&key=%BINGKEY'],URL:'',PROJECTION:'',PORTLIST:[],IMAGETYPE:'',CACHEENABELD:false}],LABELSSERVER:[{BASE_DIR:'MapAPI-1.0',MINLEVEL:'0',MAXLEVEL:'30',COPYRIGHT:'',LOGGING:[],ALIAS: ['http://iw.mapandroute.de/'],URL:'localhost',PROJECTION:'MERCATOR_WEB',PORTLIST:[5225],IMAGETYPE:'png',CACHEENABELD:false}]},{NAME:'birdsviewarea',TYPE:'IW_MAPDISPATCHER',VNR:9000,PNR:9004,MAXLEVEL:18,PREFERREDLEVEL:18,MINLEVEL:5,COPYRIGHT:'',PROJECTIONTYPE:'1',TILESIZE_METER:[2.0037508352E7,1.0018754176E7,5009377.088,2504688.544,1252344.272,626172.136,313086.068,156543.034,78271.517,39135.7585,19567.87925,9783.939625,4891.9698125,2445.98490625,1222.992453125,611.4962265625,305.74811328125,152.874056640625,76.4370283203125,38.2185141601563,19.1092570800781],TILESSERVER:[{BASE_DIR:'MapAPI-1.0',MINLEVEL:'5',MAXLEVEL:'18',COPYRIGHT:'<a href="http://www.mapandroute.de" target="_blank">Map and Route</a>, infoware, Navteq',LOGGING:['roadmap-mar'],ALIAS: ['http://m0.md.mapandroute.de/mapdispatcher/9000-9004/r%1.png','http://m1.md.mapandroute.de/mapdispatcher/9000-9004/r%1.png','http://m2.md.mapandroute.de/mapdispatcher/9000-9004/r%1.png','http://m3.md.mapandroute.de/mapdispatcher/9000-9004/r%1.png'],URL:'',PROJECTION:'',PORTLIST:[],IMAGETYPE:'',CACHEENABELD:false}],LABELSSERVER:[{BASE_DIR:'MapAPI-1.0',MINLEVEL:'0',MAXLEVEL:'30',COPYRIGHT:'',LOGGING:[],ALIAS: ['http://www2.mapandroute.de/'],URL:'localhost',PROJECTION:'LCC_EUROPE',PORTLIST:[5222],IMAGETYPE:'gif',CACHEENABELD:false}]},{NAME:'hybrid',TYPE:'IW',VNR:-1,PNR:-1,MAXLEVEL:19,PREFERREDLEVEL:15,MINLEVEL:0,COPYRIGHT:'<a href="http://www.mapandroute.de" target="_blank">Map and Route</a>, infoware, GeoContent,\u0020Tele\u0020Atlas',PROJECTIONTYPE:'1',TILESIZE_METER:[2.0037508352E7,1.0018754176E7,5009377.088,2504688.544,1252344.272,626172.136,313086.068,156543.034,78271.517,39135.7585,19567.87925,9783.939625,4891.9698125,2445.98490625,1222.992453125,611.4962265625,305.74811328125,152.874056640625,76.4370283203125,38.2185141601563,19.1092570800781],TILESSERVER:[{BASE_DIR:'MapAPI-1.0',MINLEVEL:'0',MAXLEVEL:'30',COPYRIGHT:'',LOGGING:[],ALIAS: ['http://iw.mapandroute.de/'],URL:'localhost',PROJECTION:'MERCATOR_WEB',PORTLIST:[5860],IMAGETYPE:'jpg',CACHEENABELD:false}],LABELSSERVER:[{BASE_DIR:'MapAPI-1.0',MINLEVEL:'0',MAXLEVEL:'30',COPYRIGHT:'',LOGGING:[],ALIAS: ['http://iw.mapandroute.de/'],URL:'localhost',PROJECTION:'MERCATOR_WEB',PORTLIST:[5710],IMAGETYPE:'gif',CACHEENABELD:false}]},{NAME:'hybridBing_mapdispatcher',TYPE:'IW_MAPDISPATCHER',VNR:-1,PNR:-1,MAXLEVEL:19,PREFERREDLEVEL:15,MINLEVEL:0,COPYRIGHT:'<a href="http://www.mapandroute.de" target="_blank">Map and Route</a>, infoware',PROJECTIONTYPE:'1',TILESIZE_METER:[2.0037508352E7,1.0018754176E7,5009377.088,2504688.544,1252344.272,626172.136,313086.068,156543.034,78271.517,39135.7585,19567.87925,9783.939625,4891.9698125,2445.98490625,1222.992453125,611.4962265625,305.74811328125,152.874056640625,76.4370283203125,38.2185141601563,19.1092570800781],TILESSERVER:[{BASE_DIR:'MapAPI-1.0',MINLEVEL:'0',MAXLEVEL:'30',COPYRIGHT:'',LOGGING:[],ALIAS: ['http://a0.md.mapandroute.de/mapdispatcher/10000-9999/msiwae/a','http://a1.md.mapandroute.de/mapdispatcher/10000-9999/msiwae/a','http://a2.md.mapandroute.de/mapdispatcher/10000-9999/msiwae/a','http://a3.md.mapandroute.de/mapdispatcher/10000-9999/msiwae/a'],URL:'',PROJECTION:'',PORTLIST:[],IMAGETYPE:'',CACHEENABELD:false}],LABELSSERVER:[{BASE_DIR:'MapAPI-1.0',MINLEVEL:'0',MAXLEVEL:'30',COPYRIGHT:'',LOGGING:[],ALIAS: ['http://iw.mapandroute.de/'],URL:'localhost',PROJECTION:'MERCATOR_WEB',PORTLIST:[5224],IMAGETYPE:'gif',CACHEENABELD:false}]},{NAME:'air',TYPE:'IW_MAPDISPATCHER',VNR:0,PNR:3,MAXLEVEL:17,PREFERREDLEVEL:15,MINLEVEL:5,COPYRIGHT:'<a href="http://www.mapandroute.de" target="_blank">Map and Route</a>, infoware, GeoContent, Bing',PROJECTIONTYPE:'1',TILESIZE_METER:[2.0037508352E7,1.0018754176E7,5009377.088,2504688.544,1252344.272,626172.136,313086.068,156543.034,78271.517,39135.7585,19567.87925,9783.939625,4891.9698125,2445.98490625,1222.992453125,611.4962265625,305.74811328125,152.874056640625,76.4370283203125,38.2185141601563,19.1092570800781],TILESSERVER:[{BASE_DIR:'MapAPI-1.0',MINLEVEL:'16',MAXLEVEL:'17',COPYRIGHT:'',LOGGING:['air-geoc'],ALIAS: ['http://a0.md.mapandroute.de/mapdispatcher/0-299/a%1.png','http://a1.md.mapandroute.de/mapdispatcher/0-299/a%1.png','http://a2.md.mapandroute.de/mapdispatcher/0-299/a%1.png','http://a3.md.mapandroute.de/mapdispatcher/0-299/a%1.png'],URL:'',PROJECTION:'',PORTLIST:[],IMAGETYPE:'',CACHEENABELD:false},{BASE_DIR:'MapAPI-1.0',MINLEVEL:'5',MAXLEVEL:'15',COPYRIGHT:'',LOGGING:['air-bing'],ALIAS: ['http://ecn.t0.tiles.virtualearth.net/tiles/a%QUADKEY.jpeg?g=857&key=%BINGKEY','http://ecn.t1.tiles.virtualearth.net/tiles/a%QUADKEY.jpeg?g=857&key=%BINGKEY','http://ecn.t2.tiles.virtualearth.net/tiles/a%QUADKEY.jpeg?g=857&key=%BINGKEY','http://ecn.t3.tiles.virtualearth.net/tiles/a%QUADKEY.jpeg?g=857&key=%BINGKEY'],URL:'',PROJECTION:'',PORTLIST:[],IMAGETYPE:'',CACHEENABELD:false}],LABELSSERVER:[{BASE_DIR:'MapAPI-1.0',MINLEVEL:'0',MAXLEVEL:'30',COPYRIGHT:'',LOGGING:[],ALIAS: ['http://iw.mapandroute.de/'],URL:'localhost',PROJECTION:'MERCATOR_WEB',PORTLIST:[5226],IMAGETYPE:'png',CACHEENABELD:false}]},{NAME:'air',TYPE:'IW_MAPDISPATCHER',VNR:0,PNR:2,MAXLEVEL:18,PREFERREDLEVEL:15,MINLEVEL:4,COPYRIGHT:'<a href="http://www.mapandroute.de" target="_blank">Map and Route</a>, infoware, GeoContent, Bing',PROJECTIONTYPE:'1',TILESIZE_METER:[2.0037508352E7,1.0018754176E7,5009377.088,2504688.544,1252344.272,626172.136,313086.068,156543.034,78271.517,39135.7585,19567.87925,9783.939625,4891.9698125,2445.98490625,1222.992453125,611.4962265625,305.74811328125,152.874056640625,76.4370283203125,38.2185141601563,19.1092570800781],TILESSERVER:[{BASE_DIR:'MapAPI-1.0',MINLEVEL:'16',MAXLEVEL:'18',COPYRIGHT:'',LOGGING:['air-geoc'],ALIAS: ['http://a0.md.mapandroute.de/mapdispatcher/0-299/a%1.png','http://a1.md.mapandroute.de/mapdispatcher/0-299/a%1.png','http://a2.md.mapandroute.de/mapdispatcher/0-299/a%1.png','http://a3.md.mapandroute.de/mapdispatcher/0-299/a%1.png'],URL:'',PROJECTION:'',PORTLIST:[],IMAGETYPE:'',CACHEENABELD:false},{BASE_DIR:'MapAPI-1.0',MINLEVEL:'4',MAXLEVEL:'15',COPYRIGHT:'',LOGGING:['air-bing'],ALIAS: ['http://ecn.t0.tiles.virtualearth.net/tiles/a%QUADKEY.jpeg?g=857&key=%BINGKEY','http://ecn.t1.tiles.virtualearth.net/tiles/a%QUADKEY.jpeg?g=857&key=%BINGKEY','http://ecn.t2.tiles.virtualearth.net/tiles/a%QUADKEY.jpeg?g=857&key=%BINGKEY','http://ecn.t3.tiles.virtualearth.net/tiles/a%QUADKEY.jpeg?g=857&key=%BINGKEY'],URL:'',PROJECTION:'',PORTLIST:[],IMAGETYPE:'',CACHEENABELD:false}],LABELSSERVER:[{BASE_DIR:'MapAPI-1.0',MINLEVEL:'0',MAXLEVEL:'30',COPYRIGHT:'',LOGGING:[],ALIAS: ['http://iw.mapandroute.de/'],URL:'localhost',PROJECTION:'MERCATOR_WEB',PORTLIST:[5226],IMAGETYPE:'png',CACHEENABELD:false}]},{NAME:'osm',TYPE:'IW_MAPDISPATCHER',VNR:9000,PNR:9004,MAXLEVEL:18,PREFERREDLEVEL:15,MINLEVEL:5,COPYRIGHT:'<a href="http://www.mapandroute.de" target="_blank">Map and Route</a>, infoware, Map data <a href="http://www.openstreetmap.org/">OpenStreetMap and contributors</a> (<a href="http://creativecommons.org/licenses/by-sa/2.0/">CC-BY-SA</a>)',PROJECTIONTYPE:'1',TILESIZE_METER:[2.0037508352E7,1.0018754176E7,5009377.088,2504688.544,1252344.272,626172.136,313086.068,156543.034,78271.517,39135.7585,19567.87925,9783.939625,4891.9698125,2445.98490625,1222.992453125,611.4962265625,305.74811328125,152.874056640625,76.4370283203125,38.2185141601563,19.1092570800781],TILESSERVER:[{BASE_DIR:'MapAPI-1.0',MINLEVEL:'0',MAXLEVEL:'30',COPYRIGHT:'',LOGGING:[],ALIAS: ['http://osm0.mapandroute.de/mapdispatcher/10000-9999/r%1.png','http://osm1.mapandroute.de/mapdispatcher/10000-9999/r%1.png','http://osm2.mapandroute.de/mapdispatcher/10000-9999/r%1.png','http://osm3.mapandroute.de/mapdispatcher/10000-9999/r%1.png'],URL:'',PROJECTION:'',PORTLIST:[],IMAGETYPE:'',CACHEENABELD:false}],LABELSSERVER:[{BASE_DIR:'MapAPI-1.0',MINLEVEL:'0',MAXLEVEL:'30',COPYRIGHT:'',LOGGING:[],ALIAS: ['http://www2.mapandroute.de/'],URL:'localhost',PROJECTION:'LCC_EUROPE',PORTLIST:[5224],IMAGETYPE:'gif',CACHEENABELD:false}]},{NAME:'air',TYPE:'IW_MAPDISPATCHER',VNR:0,PNR:1,MAXLEVEL:18,PREFERREDLEVEL:16,MINLEVEL:4,COPYRIGHT:'<a href="http://www.mapandroute.de" target="_blank">Map and Route</a>, infoware, ',PROJECTIONTYPE:'1',TILESIZE_METER:[2.0037508352E7,1.0018754176E7,5009377.088,2504688.544,1252344.272,626172.136,313086.068,156543.034,78271.517,39135.7585,19567.87925,9783.939625,4891.9698125,2445.98490625,1222.992453125,611.4962265625,305.74811328125,152.874056640625,76.4370283203125,38.2185141601563,19.1092570800781],TILESSERVER:[{BASE_DIR:'MapAPI-1.0',MINLEVEL:'16',MAXLEVEL:'18',COPYRIGHT:'GeoContent',LOGGING:['air-geoc'],ALIAS: ['http://a0.md.mapandroute.de/mapdispatcher/0-299/a%1.png','http://a1.md.mapandroute.de/mapdispatcher/0-299/a%1.png','http://a2.md.mapandroute.de/mapdispatcher/0-299/a%1.png','http://a3.md.mapandroute.de/mapdispatcher/0-299/a%1.png'],URL:'',PROJECTION:'',PORTLIST:[],IMAGETYPE:'',CACHEENABELD:false},{BASE_DIR:'MapAPI-1.0',MINLEVEL:'4',MAXLEVEL:'15',COPYRIGHT:'Bing Maps',LOGGING:['air-bing'],ALIAS: ['http://ecn.t0.tiles.virtualearth.net/tiles/a%QUADKEY.jpeg?g=857&key=%BINGKEY','http://ecn.t1.tiles.virtualearth.net/tiles/a%QUADKEY.jpeg?g=857&key=%BINGKEY','http://ecn.t2.tiles.virtualearth.net/tiles/a%QUADKEY.jpeg?g=857&key=%BINGKEY','http://ecn.t3.tiles.virtualearth.net/tiles/a%QUADKEY.jpeg?g=857&key=%BINGKEY'],URL:'',PROJECTION:'',PORTLIST:[],IMAGETYPE:'',CACHEENABELD:false}],LABELSSERVER:[{BASE_DIR:'MapAPI-1.0',MINLEVEL:'4',MAXLEVEL:'18',COPYRIGHT:'',LOGGING:[],ALIAS: ['http://iw.mapandroute.de/'],URL:'localhost',PROJECTION:'MERCATOR_WEB',PORTLIST:[5226],IMAGETYPE:'png',CACHEENABELD:false}]},{NAME:'air',TYPE:'IW_MAPDISPATCHER',VNR:9000,PNR:9004,MAXLEVEL:19,PREFERREDLEVEL:15,MINLEVEL:5,COPYRIGHT:'<a href="http://www.mapandroute.de" target="_blank">Map and Route</a>, infoware',PROJECTIONTYPE:'1',TILESIZE_METER:[2.0037508352E7,1.0018754176E7,5009377.088,2504688.544,1252344.272,626172.136,313086.068,156543.034,78271.517,39135.7585,19567.87925,9783.939625,4891.9698125,2445.98490625,1222.992453125,611.4962265625,305.74811328125,152.874056640625,76.4370283203125,38.2185141601563,19.1092570800781],TILESSERVER:[{BASE_DIR:'MapAPI-1.0',MINLEVEL:'17',MAXLEVEL:'19',COPYRIGHT:'GeoContent',LOGGING:['air-geoc'],ALIAS: ['http://a0.md.mapandroute.de/mapdispatcher/9000-9004/msiwae/a','http://a1.md.mapandroute.de/mapdispatcher/9000-9004/msiwae/a','http://a2.md.mapandroute.de/mapdispatcher/9000-9004/msiwae/a','http://a3.md.mapandroute.de/mapdispatcher/9000-9004/msiwae/a'],URL:'',PROJECTION:'',PORTLIST:[],IMAGETYPE:'',CACHEENABELD:false},{BASE_DIR:'MapAPI-1.0',MINLEVEL:'5',MAXLEVEL:'16',COPYRIGHT:'Bing Maps',LOGGING:['air-bing'],ALIAS: ['http://ecn.t0.tiles.virtualearth.net/tiles/a%QUADKEY.jpeg?g=857&key=%BINGKEY','http://ecn.t1.tiles.virtualearth.net/tiles/a%QUADKEY.jpeg?g=857&key=%BINGKEY','http://ecn.t2.tiles.virtualearth.net/tiles/a%QUADKEY.jpeg?g=857&key=%BINGKEY','http://ecn.t3.tiles.virtualearth.net/tiles/a%QUADKEY.jpeg?g=857&key=%BINGKEY'],URL:'',PROJECTION:'',PORTLIST:[],IMAGETYPE:'',CACHEENABELD:false}],LABELSSERVER:[{BASE_DIR:'MapAPI-1.0',MINLEVEL:'0',MAXLEVEL:'30',COPYRIGHT:'',LOGGING:[],ALIAS: ['http://www2.mapandroute.de/'],URL:'localhost',PROJECTION:'MERCATOR_WEB',PORTLIST:[5224],IMAGETYPE:'gif',CACHEENABELD:false}]},{NAME:'roadmap',TYPE:'IW_MAPDISPATCHER',VNR:9000,PNR:9004,MAXLEVEL:18,PREFERREDLEVEL:15,MINLEVEL:5,COPYRIGHT:'',PROJECTIONTYPE:'1',TILESIZE_METER:[2.0037508352E7,1.0018754176E7,5009377.088,2504688.544,1252344.272,626172.136,313086.068,156543.034,78271.517,39135.7585,19567.87925,9783.939625,4891.9698125,2445.98490625,1222.992453125,611.4962265625,305.74811328125,152.874056640625,76.4370283203125,38.2185141601563,19.1092570800781],TILESSERVER:[{BASE_DIR:'MapAPI-1.0',MINLEVEL:'5',MAXLEVEL:'19',COPYRIGHT:'<a href="http://www.mapandroute.de" target="_blank">Map and Route</a>, infoware, Bing',LOGGING:['roadmap-bing'],ALIAS: ['http://ecn.t0.tiles.virtualearth.net/tiles/r%QUADKEY.jpeg?g=857&mkt=de-de&key=%BINGKEY','http://ecn.t1.tiles.virtualearth.net/tiles/r%QUADKEY.jpeg?g=857&mkt=de-de&key=%BINGKEY','http://ecn.t2.tiles.virtualearth.net/tiles/r%QUADKEY.jpeg?g=857&mkt=de-de&key=%BINGKEY','http://ecn.t3.tiles.virtualearth.net/tiles/r%QUADKEY.jpeg?g=857&mkt=de-de&key=%BINGKEY'],URL:'',PROJECTION:'',PORTLIST:[],IMAGETYPE:'',CACHEENABELD:false}],LABELSSERVER:[{BASE_DIR:'MapAPI-1.0',MINLEVEL:'0',MAXLEVEL:'30',COPYRIGHT:'',LOGGING:[],ALIAS: ['http://www2.mapandroute.de/'],URL:'localhost',PROJECTION:'MERCATOR_WEB',PORTLIST:[5224],IMAGETYPE:'gif',CACHEENABELD:false}]},{NAME:'osm-org-mapnik',TYPE:'IW_MAPDISPATCHER',VNR:-1,PNR:-1,MAXLEVEL:18,PREFERREDLEVEL:15,MINLEVEL:1,COPYRIGHT:'<a href="http://www.infoware.de" target="_blank">Infoware</a>, <a href="http://www.openstreetmap.de" target="_blank">OpenStreetMap</a> (<a href="http://creativecommons.org/licenses/by-sa/2.0/" target="_blank">CC-BY-SA</a>)',PROJECTIONTYPE:'1',TILESIZE_METER:[2.0037508352E7,1.0018754176E7,5009377.088,2504688.544,1252344.272,626172.136,313086.068,156543.034,78271.517,39135.7585,19567.87925,9783.939625,4891.9698125,2445.98490625,1222.992453125,611.4962265625,305.74811328125,152.874056640625,76.4370283203125,38.2185141601563,19.1092570800781],TILESSERVER:[{BASE_DIR:'null',MINLEVEL:'1',MAXLEVEL:'20',COPYRIGHT:'',LOGGING:[],ALIAS: ['http://a.tile.openstreetmap.org/%z/%x/%y.png','http://b.tile.openstreetmap.org/%z/%x/%y.png','http://c.tile.openstreetmap.org/%z/%x/%y.png'],URL:'',PROJECTION:'',PORTLIST:[],IMAGETYPE:'',CACHEENABELD:false}],LABELSSERVER:[{BASE_DIR:'MapAPI-1.0',MINLEVEL:'0',MAXLEVEL:'20',COPYRIGHT:'',LOGGING:[],ALIAS: ['http://iw.mapandroute.de/'],URL:'localhost',PROJECTION:'MERCATOR_WEB',PORTLIST:[5224],IMAGETYPE:'gif',CACHEENABELD:false}]},{NAME:'air-virtualearth',TYPE:'IW_MAPDISPATCHER',VNR:-1,PNR:-1,MAXLEVEL:18,PREFERREDLEVEL:15,MINLEVEL:4,COPYRIGHT:'<a href="http://www.mapandroute.de" target="_blank">Map and Route</a>, infoware',PROJECTIONTYPE:'1',TILESIZE_METER:[2.0037508352E7,1.0018754176E7,5009377.088,2504688.544,1252344.272,626172.136,313086.068,156543.034,78271.517,39135.7585,19567.87925,9783.939625,4891.9698125,2445.98490625,1222.992453125,611.4962265625,305.74811328125,152.874056640625,76.4370283203125,38.2185141601563,19.1092570800781],TILESSERVER:[{BASE_DIR:'MapAPI-1.0',MINLEVEL:'0',MAXLEVEL:'30',COPYRIGHT:'',LOGGING:[],ALIAS: ['http://ecn.t0.tiles.virtualearth.net/tiles/a%QUADKEY.jpeg?g=857&key=%BINGKEY','http://ecn.t1.tiles.virtualearth.net/tiles/a%QUADKEY.jpeg?g=857&key=%BINGKEY','http://ecn.t2.tiles.virtualearth.net/tiles/a%QUADKEY.jpeg?g=857&key=%BINGKEY','http://ecn.t3.tiles.virtualearth.net/tiles/a%QUADKEY.jpeg?g=857&key=%BINGKEY'],URL:'',PROJECTION:'',PORTLIST:[],IMAGETYPE:'',CACHEENABELD:false}],LABELSSERVER:[]}],GEOCODERSERVER_PROXY_URL:'http://iw.mapandroute.de/MapAPI-1.0/XMLHttpRequestProxy',ROUTINGSERVER_PROXY_URL:'http://iw.mapandroute.de/MapAPI-1.0/XMLHttpRequestProxy',ROUTING_SERVER_PROJECTION:'MERCATOR',PROJECTIONSERVER_PROXY_URL:'http://iw.mapandroute.de/MapAPI-1.0/XMLHttpRequestProxy',SHAPESERVER_PROXY_URL:'http://iw.mapandroute.de/MapAPI-1.0/XMLHttpRequestProxy',WEBSERVER_PORT:'80',LOCAL_APP_URL:'http://localhost/MapAPI-1.0/',GLOBAL_APP_URL:'http://iw.mapandroute.de/MapAPI-1.0/',GLOBAL_PROXY_URL:'http://iw.mapandroute.de/MapAPI-1.0/XMLHttpRequestProxy',GLOBAL_GC_SIMPLE_URL:'http://localhost/gc_simple/Simple.jsp',GLOBAL_GETMAPTYPES_URL:'http://picto.mapandroute.de/MapAPI-1.0/XMLHttpRequestProxy',CACHE_CLIENT_URL:'http://m1.mapandroute.com/cache/Mobile/',CACHE_GROUP_SIZE:'10',CACHE_GROUP_LEVEL:'4',CACHE_BLOCK_SIZE:'10',CACHE_URL_USE:'false',CACHE_MAPSERVER_GROUP:'',KEEPALIVE_INTERVAL:'120',ENCODING:'ISO-8859-1',A_TILESIZE_METER:[26214400, 13107200, 6553600, 3276800, 1638400, 819200, 409600, 204800, 102400, 51200, 25600, 12800, 6400, 3200, 1600, 800, 400, 200, 100, 50],SESSION_ID: '3FAB75EA801C546E896B2D58C797B8AE', BING_MAPS_KEY: 'AlJniEJtw05h5m_ogx1E-bKuEg4j3jarxKoAq96fT2T8KzLLvCvmiJbLfkr6b3yb', TILE_SIZE: 256};Function.prototype.iwclosure=function(c){if(!window.__objs){window.__objs=[]}if(!window.__funs){window.__funs=[]}var a=this;var b=c.__objId;if(!b){__objs[b=c.__objId=__objs.length]=c}var d=a.__funId;if(!d){__funs[d=a.__funId=__funs.length]=a}if(!c.__closures){c.__closures=[]}var e=c.__closures[d];if(e){return e}c=null;a=null;return __objs[b].__closures[d]=function(){return __funs[d].apply(__objs[b],arguments)}};var log4javascript;(function(){function d(){return function(){}}function h(k,j){for(var f in j){k[f]=j[f]}}var e=d();var c=d();h(c.prototype,{addAppender:e,removeAppender:e,removeAllAppenders:e,log:e,setLevel:e,getLevel:e,trace:e,debug:e,info:e,warn:e,error:e,fatal:e});var a=function(){return new c()};log4javascript={isStub:true,version:"dummy",logLog:{setQuietMode:e,setAlertAllErrors:e,debug:e,warn:e,error:e},addErrorListener:e,removeErrorListener:e,setEnabled:e,setShowStackTraces:e,isEnabled:e,evalInScope:e,getLogger:a,getDefaultLogger:a,getNullLogger:a,Level:d(),LoggingEvent:d(),Layout:d(),Appender:d()};log4javascript.LoggingEvent.prototype={getThrowableStrRep:e};log4javascript.Level.prototype={toString:e,equals:e,isGreaterOrEqual:e};var g=new log4javascript.Level();h(log4javascript.Level,{ALL:g,TRACE:g,DEBUG:g,INFO:g,WARN:g,ERROR:g,FATAL:g,OFF:g});log4javascript.Layout.prototype={defaults:{},format:e,ignoresThrowable:e,getContentType:e,allowBatching:e,getDataValues:e,setKeys:e,setCustomField:e,hasCustomFields:e};log4javascript.SimpleLayout=d();log4javascript.SimpleLayout.prototype=new log4javascript.Layout();log4javascript.XmlLayout=d();log4javascript.XmlLayout.prototype=new log4javascript.Layout();log4javascript.XmlLayout.prototype.escapeCdata=e;log4javascript.JsonLayout=d();log4javascript.JsonLayout.prototype=new log4javascript.Layout();h(log4javascript.JsonLayout.prototype,{setReadable:e,isReadable:e});log4javascript.HttpPostDataLayout=d();log4javascript.HttpPostDataLayout.prototype=new log4javascript.Layout();log4javascript.PatternLayout=d();log4javascript.PatternLayout.prototype=new log4javascript.Layout();log4javascript.NullLayout=d();log4javascript.NullLayout.prototype=new log4javascript.Layout();log4javascript.Appender=d();log4javascript.Appender.prototype={layout:new log4javascript.PatternLayout(),threshold:log4javascript.Level.ALL,doAppend:e,append:e,setLayout:e,getLayout:e,setThreshold:e,getThreshold:e,toString:e};log4javascript.AlertAppender=d();log4javascript.AlertAppender.prototype=new log4javascript.Appender();log4javascript.ArrayAppender=d();log4javascript.ArrayAppender.prototype=new log4javascript.Appender();log4javascript.AjaxAppender=d();log4javascript.AjaxAppender.prototype=new log4javascript.Appender();h(log4javascript.AjaxAppender.prototype,{isTimed:e,setTimed:e,getTimerInterval:e,setTimerInterval:e,isWaitForResponse:e,setWaitForResponse:e,getBatchSize:e,setBatchSize:e,setRequestSuccessCallback:e,setFailCallback:e,sendAll:e,defaults:{requestSuccessCallback:null,failCallback:null}});function b(){}b.prototype=new log4javascript.Appender();h(b.prototype,{create:e,isNewestMessageAtTop:e,setNewestMessageAtTop:e,isScrollToLatestMessage:e,setScrollToLatestMessage:e,getWidth:e,setWidth:e,getHeight:e,setHeight:e,getMaxMessages:e,setMaxMessages:e});log4javascript.InPageAppender=d();log4javascript.InPageAppender.prototype=new b();h(log4javascript.InPageAppender.prototype,{isInitiallyMinimized:e,setInitiallyMinimized:e,hide:e,show:e,isVisible:e,close:e,defaults:{layout:new log4javascript.PatternLayout(),maxMessages:null}});log4javascript.InlineAppender=log4javascript.InPageAppender;log4javascript.PopUpAppender=d();log4javascript.PopUpAppender.prototype=new b();h(log4javascript.PopUpAppender.prototype,{isUseOldPopUp:e,setUseOldPopUp:e,isComplainAboutPopUpBlocking:e,setComplainAboutPopUpBlocking:e,isFocusPopUp:e,setFocusPopUp:e,isReopenWhenClosed:e,setReopenWhenClosed:e,close:e,defaults:{layout:new log4javascript.PatternLayout(),maxMessages:null}});log4javascript.BrowserConsoleAppender=d();log4javascript.BrowserConsoleAppender.prototype=new log4javascript.Appender()
})();var log4javascript_dummy=log4javascript;var cssScreen=document.createElement("link");document.getElementsByTagName("head")[0].appendChild(cssScreen);cssScreen.title="standard";cssScreen.media="all";cssScreen.type="text/css";cssScreen.rel="stylesheet";cssScreen.href=iwconst.GLOBAL_APP_URL+"css/screen.css";var cssPrint=document.createElement("link");document.getElementsByTagName("head")[0].appendChild(cssPrint);cssPrint.title="standard";cssPrint.media="print";cssPrint.type="text/css";cssPrint.rel="stylesheet";cssPrint.href=iwconst.GLOBAL_APP_URL+"css/print.css";function correctPNG(img){
/*@cc_on @*/
/*@if (@_jscript_version >= 5)
	if (navigator.appVersion.indexOf("MSIE 7.0") == -1)
	{
		var imgName = img.src.toUpperCase();
		if (imgName.substring(imgName.length - 3, imgName.length) == "PNG")
		{ 
			img.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src=" + img.src + ", sizingmethod=scale)";
			img.src = iwconst.GLOBAL_APP_URL + 'img/symbols/blank.gif';
		}
	}
	@end @*/
}function IWXMLHttpRequest(){var o=this;var n=log4javascript.getLogger("IWXMLHttpRequest");var a="";var e=null;var h=null;var f=null;var g=null;this.isActive=false;this.url=null;this.onreadystatechange=null;this.readyState=0;this.status=null;this.statusText=null;this.responseText=null;var j=function(){n.info("Calling callbackClosure: "+e);if(e){o.isActive=false;o.readyState=4;o.responseText=e.loadedText;o.status=e.statusCode;o.statusText=e.statusText;if(o.onreadystatechange){o.onreadystatechange()}}};this.open=function(s,r,q){a="IWXMLHttpRequest_"+new Date().getTime()+"_"+iw.random(1,10000000);this.isActive=true;this.readyState=1;if(q==false){throw"IWXMLHttpRequest: synchronious calls are not supported yet"}if(s!="GET"&&s!="POST"){throw"IWXMLHttpRequest: unsupported method. Use GET or POST."}g=s;this.url=r};this.send=function(){if(this.url==null||this.readyState!=1){throw"IWXMLHttpRequest: Call open before send"}if(g=="GET"){m()}else{if(g=="POST"){d()}else{this.abort()}}};this.abort=function(){this.onreadystatechange=null;this.isActive=false;if(e){iw.remove(e);e=null}};function m(){n.debug("Calling sendGet");if(!o.url.match(/^https?:\/\//)){o.url=iwconst.LOCAL_APP_URL+o.url}e=iw.create("script");iw.append(k,e);e.type="text/javascript";e.id=a;e.loadedText="";e.callback=j;if(o.url.indexOf("?")>-1){e.src=o.url+"&callerID="+e.id}else{if(o.url==iwconst.LOCAL_APP_URL){e.src=null}else{e.src=o.url+"?callerID="+e.id}}}function d(){var w=false;try{f=iw.create('<iframe name="frame_'+a+'">');f.attachEvent("onload",c);w=true}catch(u){f=iw.create("iframe");f.name="frame_"+a}f.id="frame_"+a;if(IWBrowserDetect.browser=="Opera"){f.src=null}iw.append(k,f);if(!w){f.onload=c}o.url=unescape(o.url);var r=o.url.split("?");o.url=r[0]+";jsessionid="+iwconst.SESSION_ID;h=iw.create("form");iw.append(k,h);h.id="form_"+a;h.name="name_"+a;h.method="post";h.target="frame_"+a;h.action=o.url;for(var s=1;s<r.length;s++){var q=r[s].split("&");for(var t=0;t<q.length;t++){var v=q[t].split("=");b(h,v[0],unescape(v[1]))}}b(h,"callerID",a);if(!h.checkValidity||h.checkValidity()){h.submit()}}function c(){n.debug("Calling fetchPostResults "+h);iw.destroy(e);e=null;g="GET";o.url+="?fetchPostResults=1";o.send();window.setTimeout(function(){iw.destroy(f);f=null},1);iw.destroy(h);h=null}function b(s,r,t){var q=iw.create("input");q.type="hidden";q.name=r;q.value=t;iw.append(s,q);return q}var k=iw.id("iw-ajax");if(!k){k=iw.create("div");iw.append(document.body,k);k.id="iw-ajax"}}function IWServerConfig(){var f=this;var b=null;var g="";var h="";var j=null;var c=null;var e=0;var d=null;var a=false;this.copyright="";this.logging=[];this.minlevel=0;this.maxlevel=30;this.setAliases=function(k){c=k};this.getAliases=function(){return c};this.getNextAlias=function(){var k=c[e];e=(e+1)%c.length;return k};this.setUrl=function(k){b=k};this.getUrl=function(){return b};this.setProjection=function(k){g=k};this.getProjection=function(){return g};this.setPortList=function(k){j=k};this.getPortList=function(){return j
};this.setImageType=function(k){d=k};this.getImageType=function(){return d};this.setCacheEnabled=function(k){a=k};this.isCacheEnabled=function(){return a};this.setBaseDir=function(k){h=k};this.getBaseDir=function(){return h};this.toString=function(){return"[IWServerConfig minlevel:"+f.minlevel+" maxlevel:"+f.maxlevel+" aliases:"+c+"]"}}var IWAlignment=new function(){this.CENTER=0;this.LEFT=1;this.RIGHT=2;this.TOP=4;this.BOTTOM=8};var IWButton=new function(){this.NONE=0;this.LEFT=1;this.RIGHT=2;this.MIDDLE=4};function IWAddressSearchControl(u){IWWindowControl.call(this,u,"IWAddressSearchControl");var o=this;var y=new IWGeocoderClient();var r=null;var h=false;var x=log4javascript.getLogger("IWAddressSearchControl");var q=null;var b=100;var v=0;var w=1;var d=2;var a=3;var g=4;var s=new IWLanguagePack();s.addLanguage(new IWLanguage("de",iwconst.LOCAL_APP_URL+"lang/IWAddressSearchControl.lang.de"));s.addLanguage(new IWLanguage("en",iwconst.LOCAL_APP_URL+"lang/IWAddressSearchControl.lang.en"));s.addLanguage(new IWLanguage("es",iwconst.LOCAL_APP_URL+"lang/IWAddressSearchControl.lang.es"));s.addLanguage(new IWLanguage("fr",iwconst.LOCAL_APP_URL+"lang/IWAddressSearchControl.lang.fr"));s.addLanguage(new IWLanguage("tr",iwconst.LOCAL_APP_URL+"lang/IWAddressSearchControl.lang.tr"));IWMultiLanguageSupport.call(this,u,s);function e(z,C){var B=iw.create("div");z.appendChild(B);B.id=C;B.name="address";iw.append(B,j("street","ADDRESS_STREET"));iw.append(B,j("housenumber","ADDRESS_HOUSE_NUMBER"));iw.append(B,j("zipcode","ADDRESS_ZIPCODE"));iw.append(B,j("city","ADDRESS_CITY"));var A=iw.create("select");A.className="country";A.options[0]=n("ANDORRA","AND");A.options[1]=n("BELGIUM","B");A.options[2]=n("DENMARK","DK");A.options[3]=n("GERMANY","D");A.options[4]=n("FINNLAND","FIN");A.options[5]=n("FRANCE","F");A.options[6]=n("GREECE","GR");A.options[7]=n("GREAT_BRITAIN","GB");A.options[8]=n("IRELAND","IRL");A.options[9]=n("ITALY","I");A.options[10]=n("LUXEMBOURG","L");A.options[11]=n("NETHERLANDS","NL");A.options[12]=n("AUSTRIA","A");A.options[13]=n("NORWAY","N");A.options[14]=n("POLAND","PL");A.options[15]=n("PORTUGAL","P");A.options[16]=n("SAN_MARINO","RSM");A.options[17]=n("SWEDEN","S");A.options[18]=n("SWITZERLAND","CH");A.options[19]=n("SLOVAKIA","SK");A.options[20]=n("SPAIN","E");A.options[21]=n("CZECH_REPUBLIC","CZ");A.options[22]=n("HUNGARY","H");f(A,"D");iw.append(B,A);return B}function n(B,z){var A=new Option(r.get(B),z);o.addLabelFor(new IWLabel(B,A,"text"));return A}function f(A,B){for(var z=0;z<A.options.length;z++){if(A.options[z].value==B){A.selectedIndex=z;return}}}function c(z){return z.options[z.selectedIndex].text}function j(A,B){var z=iw.create("input");z.name=A;z.className=A;z.value=r.get(B);z.onfocus=function(){if(z.value==r.get(B)){z.value=""}};z.onblur=function(){if(z.value==""){z.value=r.get(B)}};z.onkeypress=function(C){if(C.keyCode==13){t()}};o.addLabelFor(new IWLabel(B,z,"value"));return z}function m(E){var z=new IWAddress();var D=E.childNodes[v].value;if(D!=r.get("ADDRESS_STREET")){z.setStreet(D)}var C=E.childNodes[w].value;if(C!=r.get("ADDRESS_HOUSE_NUMBER")){z.setHouseNumber(C)}var A=E.childNodes[d].value;if(A!=r.get("ADDRESS_ZIPCODE")){z.setZipCode(A)}var B=E.childNodes[a].value;if(B!=r.get("ADDRESS_CITY")){z.setCity(B)}z.setCountry(c(E.childNodes[g]));z.setCountryCode(E.childNodes[g].value);return z}function k(z){var B=iw.create("div");iw.append(z,B);B.style.position="absolute";B.style.left="0px";B.style.height="140px";B.style.width="340px";B.style.top="0px";B.style.padding="5px";B.style.left="0px";B.style.overflowX="hidden";B.style.overflowY="auto";q=e(B,"addressFields");var A=iw.create("button");iw.append(B,A);A.className="searchButton";o.addLabelFor(new IWLabel("BUTTON_SEARCH",A,"innerHTML"));A.onclick=function(){t()}}function t(){var z=m(q);if((z.getZipCode()==null||z.getZipCode().length==0)&&(z.getCity()==null||z.getCity().length==0)){alert(r.get("ERROR_INPUT_ADDRESS"));return}o.searchAddress(z)}this.buildBody=function(z){IWEventManager.addListener(this,"onlanguagepackload",function(A){r=A.language;
o.setTitle(r.get("ADDRESS_SEARCH"));if(h==false){k(z);h=true}});this.loadLanguagePack(u.getOptions().getLanguage())};this.searchAddressString=function(A,z){y.geocodeAddressString(A,z,b)};this.searchAddress=function(z){y.geocodeAddress(z,b)};this.triggerOnAddressFound=function(z){IWEventManager.trigger(this,"onaddressfound",z)};this.toString=function(){return"[IWAddressSearchControl]"};this.setId("IWAddressSearchControl");this.setSize(new IWSize(350,150));this.setRedrawable(false);this.close();IWEventManager.addListener(y,"ongeocode",function(z){o.triggerOnAddressFound(z)})}function IWBirdsViewControl(a,n){IWControl.call(this,a,"IWBirdsViewControl");var o=this;var b=o.getContainer();var j=iw.create("div");var f=iw.create("div");var c=iw.create("div");var k=iw.create("div");var d=n?n:a.getOptions().getMapTypeByName("birdsview");var m=new IWLanguagePack();m.addLanguage(new IWLanguage("de",iwconst.LOCAL_APP_URL+"lang/IWBirdsViewControl.lang.de"));m.addLanguage(new IWLanguage("en",iwconst.LOCAL_APP_URL+"lang/IWBirdsViewControl.lang.en"));m.addLanguage(new IWLanguage("es",iwconst.LOCAL_APP_URL+"lang/IWBirdsViewControl.lang.es"));m.addLanguage(new IWLanguage("tr",iwconst.LOCAL_APP_URL+"lang/IWBirdsViewControl.lang.tr"));m.addLanguage(new IWLanguage("fr",iwconst.LOCAL_APP_URL+"lang/IWBirdsViewControl.lang.fr"));m.addLanguage(new IWLanguage("it",iwconst.LOCAL_APP_URL+"lang/IWBirdsViewControl.lang.it"));IWMultiLanguageSupport.call(this,a,m);IWEventManager.addListener(this,"onlanguagepackload",function(q){j.title=q.language.get("NORTH");f.title=q.language.get("WEST");c.title=q.language.get("EAST");k.title=q.language.get("SOUTH")});this.afterAppend=function(){e();g()};this.toString=function(){return"[IWBirdsViewControl]"};function h(u){var t=d.getRequestParameters();var r=t.indexOf("&direction=");if(r>-1){var q="&direction=".length+1;var v=t.substr(0,r);var s=t.substr(r+q);t=v+s}switch(u){case IWBirdsViewControl.EAST:d.setRequestParameters(t+"&direction=E");b.style.backgroundPosition="0 0";break;case IWBirdsViewControl.WEST:d.setRequestParameters(t+"&direction=W");b.style.backgroundPosition="0 -330px";break;case IWBirdsViewControl.NORTH:d.setRequestParameters(t+"&direction=N");b.style.backgroundPosition="0 -110px";break;case IWBirdsViewControl.SOUTH:d.setRequestParameters(t+"&direction=S");b.style.backgroundPosition="0 -220px";break}a.setCenter(a.getCenter(),a.getZoom())}function g(){o.setVisible(a.getCurrentMapType()==d)}function e(){b.id="IWBirdsViewControl";b.style.width="60px";b.style.height="60px";b.style.background="url("+iwconst.GLOBAL_APP_URL+"img/controls/birdsview/sprite-bv.png) no-repeat top left";b.style.backgroundPosition="0 -110px";iw.append(b,j);j.onclick=function(){h(IWBirdsViewControl.NORTH)};j.style.position="absolute";j.style.top="3px";j.style.left="20px";j.style.height="15px";j.style.width="18px";iw.append(b,k);k.onclick=function(){h(IWBirdsViewControl.SOUTH)};k.style.position="absolute";k.style.top="39px";k.style.left="20px";k.style.height="15px";k.style.width="18px";iw.append(b,c);c.onclick=function(){h(IWBirdsViewControl.EAST)};c.style.position="absolute";c.style.top="20px";c.style.right="3px";c.style.height="17px";c.style.width="16px";iw.append(b,f);f.onclick=function(){h(IWBirdsViewControl.WEST)};f.style.position="absolute";f.style.top="20px";f.style.left="3px";f.style.height="17px";f.style.width="16px"}IWEventManager.addListener(a,"onmaptypechange",g);this.loadLanguagePack(a.getOptions().getLanguage())}IWBirdsViewControl.NORTH=1;IWBirdsViewControl.WEST=2;IWBirdsViewControl.EAST=3;IWBirdsViewControl.SOUTH=4;function IWControl(f,c){IWMapElement.call(this,f.getControlContainer());this.isControl=function(){return true};this.isRedrawable=function(){return d};this.setRedrawable=function(g){d=g};this.getPadding=function(){return e};this.setPadding=function(g){e=g};this.setFirstOrientation=function(g){b=g};this.getFirstOrientation=function(){return b};this.setSecondOrientation=function(g){a=g};this.getSecondOrientation=function(){return a
};this.getName=function(){return c};this.toString=function(){return"[IWControl] Name: "+c+", Padding: "+e+", Orientation: "+b+"/"+a+", Visible: "+this.isVisible()+", Draggable: "+this.isDraggable()+", Drag button: "+this.getDragButton()+", Drag container: "+this.getDraggableContainer()+", Allow dragging outside parent: "+this.isDraggingOutsideParentAllowed()+", Printable: "+this.isPrintable()+", Redrawable: "+this.isRedrawable()};var e=new IWSize(0,0);var b=IWAlignment.CENTER;var a=IWAlignment.CENTER;var d=true;IWDraggable.call(this,this.getContainer(),f.getZoomingAndDraggingContainer());this.setPrintable(false)}function IWCoordinateWindowControl(a,s){IWWindowControl.call(this,a,"show coordinate");var h;if(s&&s.marker){h=s.marker}else{var n=new IWIcon(iwconst.GLOBAL_APP_URL+"img/symbols/house/house_green_30.gif",new IWPoint(15,13),new IWSize(30,26));h=new IWMarker(a,a.getCenter());h.setDefaultIcon(n);h.setDraggable(false);h.setVisible(false)}var k=s&&s.layer?s.layer:2;a.getOverlayManager().getLayer(k).addOverlay(h);var d=a.getCenter().toWGS84();var g=(parseInt(d.getX()*1000000))/1000000;var f=(parseInt(d.getY()*1000000))/1000000;var d=new IWCoordinate(g,f,IWProjectionType.WGS84);var o="WGS84";var r;if(s&&s.keyCode){r=s.keyCode.toUpperCase().charCodeAt(0);if(r<65||r>90){r=69}}else{r=69}console.log(r);var q=new IWKeyboardAdapter();this.setSize(new IWSize(225,145));this.setVisible(false);this.buildBody=function(u){var C=this;IWEventManager.addListener(q,"onkeyup",function(K){console.log(K.keyCode);if(K.keyCode==r&&K.shiftKey&&K.altKey){C.setVisible(true)}});var D=iw.create("div");D.className="iwCoordinateWindowControlContentWindow";D.name="iwCoordinateWindowControlContent";iw.append(u,D);var I=document.createElement("span");I.innerHTML="&nbsp;long: ";I.id="iwCoordinateWindowControlSpanLongitude";I.name="iwCoordinateWindowControlSpanLongitude";D.appendChild(I);var F=document.createElement("input");F.type="text";F.id="iwCoordinateWindowControlInputLongitude";F.name="iwCoordinateWindowControlInputLongitude";F.value=d.getX();F.onchange=c;D.appendChild(F);var G=document.createElement("br");D.appendChild(G);var z=document.createElement("span");z.innerHTML="&nbsp;lat: ";z.id="iwCoordinateWindowControlSpanLatitude";z.name="iwCoordinateWindowControlSpanLatitude";D.appendChild(z);var w=document.createElement("input");w.type="text";w.id="iwCoordinateWindowControlInputLatitude";w.name="iwCoordinateWindowControlInputLatitude";w.value=d.getY();w.onchange=c;D.appendChild(w);var H=document.createElement("br");D.appendChild(H);var t=document.createElement("select");t.name="iwCoordinateWindowControlProjectionTypes";t.id="iwCoordinateWindowControlProjectionTypes";t.onchange=m;t.size="1";D.appendChild(t);var x=document.createElement("option");x.id="iwCoordinateWindowControlOptionWGS84";x.innerHTML="WGS84";x.value="WGS84";x.selected="selected";t.appendChild(x);var E=document.createElement("option");E.id="iwCoordinateWindowControlOptionMercator";E.innerHTML="Mercator";E.value="Mercator";t.appendChild(E);var A=document.createElement("br");D.appendChild(A);var J=document.createElement("input");J.type="button";J.id="iwCoordinateWindowControlButtonGoto";J.name="iwCoordinateWindowControlButtonGoto";J.value="goto coordinate";J.onclick=function(){e()};D.appendChild(J);var B=document.createElement("span");B.innerHTML="&nbsp;set marker: ";B.id="iwCoordinateWindowControlSpanMarker";B.name="iwCoordinateWindowControlSpanMarker";D.appendChild(B);var v=document.createElement("input");v.type="checkbox";v.name="iwCoordinateWindowControlCheckboxMarker";v.id="iwCoordinateWindowControlCheckboxMarker";v.checked="";v.onclick=function(){b()};D.appendChild(v);var y=document.createElement("br");D.appendChild(y)};function j(u){if(u=="Mercator"){o="Mercator";document.getElementById("iwCoordinateWindowControlSpanLongitude").innerHTML="&nbsp;x: ";document.getElementById("iwCoordinateWindowControlSpanLatitude").innerHTML="&nbsp;y: ";if(d.getProjectionType()==IWCoordinate.WGS84){d=d.toMercator()
}var t=parseInt(d.getX());var v=parseInt(d.getY());document.getElementById("iwCoordinateWindowControlInputLongitude").value=t;document.getElementById("iwCoordinateWindowControlInputLatitude").value=v}else{if(u=="WGS84"){o="WGS84";document.getElementById("iwCoordinateWindowControlSpanLongitude").innerHTML="&nbsp;long: ";document.getElementById("iwCoordinateWindowControlSpanLatitude").innerHTML="&nbsp;lat: ";if(d.getProjectionType()==IWCoordinate.MERCATOR){d=d.toWGS84()}var t=(parseInt(d.getX()*1000000))/1000000;var v=(parseInt(d.getY()*1000000))/1000000;document.getElementById("iwCoordinateWindowControlInputLongitude").value=t;document.getElementById("iwCoordinateWindowControlInputLatitude").value=v}}h.setCoordinate(d)}function c(){if(o=="WGS84"){d=new IWCoordinate(document.getElementById("iwCoordinateWindowControlInputLongitude").value,document.getElementById("iwCoordinateWindowControlInputLatitude").value,IWProjectionType.WGS84);d=d.toMercator();return d}else{if(o=="Mercator"){d=new IWCoordinate(document.getElementById("iwCoordinateWindowControlInputLongitude").value,document.getElementById("iwCoordinateWindowControlInputLatitude").value,IWProjectionType.MERCATOR);return d}}}function m(t){var u=(this.options[this.selectedIndex].text);j(u)}function b(){var t=document.getElementById("iwCoordinateWindowControlCheckboxMarker").checked;h.setVisible(t);h.setCoordinate(d.toMercator());h.redraw()}function e(){b();a.setCenter(d,14)}}function IWCopyrightControl(f){IWControl.call(this,f,"IWCopyrightControl");var b=this;var a=this.getContainer();var d="";var c=log4javascript.getLogger("IWCopyrightControl");this.getCopyrightText=function(){return d};this.afterAppend=function(){g();e()};function g(){iw.backgroundImage(a,iwconst.GLOBAL_APP_URL+"img/symbols/background_white_transparency.png");var j=iw.create("div");iw.append(a,j);j.style.position="absolute";j.style.top="0px";j.style.left="2px";var h=iw.create("span");iw.append(j,h);h.innerHTML="&nbsp;"}function e(){var k=f.getCurrentMapType();if(k!=null){var m="&#169;&nbsp;"+new Date().getFullYear()+"&nbsp;"+k.getCopyright();var h=f.getOptions().getApplicationCopyright();if(h!=null&&h.length>0){m=m+h}d=m;var j=a.lastChild.firstChild;if(f.getOptions().getSize().getWidth()<380){j.className="copyright copyrightWithSmallText"}else{j.className="copyright copyrightWithNormalText"}j.innerHTML=d;a.style.width=j.offsetWidth+5+"px";a.style.height=j.offsetHeight+1+"px";f.getLayoutManager().redraw()}}this.setId("IWCopyrightControl");this.setPrintable(true);a.className="IWCopyrightControl";IWEventManager.addListener(f,"onmaptypechange",e);IWEventManager.addListener(f,"onprojectioninvalid",e);IWEventManager.addListener(f,"oncopyrightchange",e);IWEventManager.addListener(f,"onresize",e)}function IWLayerSelectinControl(a){IWControl.call(this,a,"IWLayerSelectionControl");var h=new Object();h.de=new Object();h.en=new Object();h.de["DISPLAYED"]="Dargestellte Statistik";h.de["NONE"]="Statistik ausblenden";h.de["LEGEND"]="Legende";h.de["QUERY_MODE"]="Abfragemodus";h.de["POPULATION"]="Einwohnerzahl";h.en["DISPLAYED"]="Displayed statistic";h.en["NONE"]="No statistic";h.en["LEGEND"]="Legend";h.en["QUERY_MODE"]="Query mode";h.en["POPULATION"]="Population";var s=a.getOptions().getLanguage();if(!h[s]){s="en"}var n=this;var e=a;var f=this.getContainer();var t=new Array(4);var k=null;var m=null;var j=["#ffff00","#ffdf00","#ffbf00","#ff9f00","#ff8000","#ff6000","#ff3900","#ff0000"];f.id="layerSelectionDiv";function g(){var y=document.createElement("form");y.id="formLayerSelection";f.appendChild(y);var L=document.createElement("h1");L.appendChild(document.createTextNode(h[s]["DISPLAYED"]));y.appendChild(L);var A=document.createElement("div");A.className="category";var R=document.createElement("span");R.className="header";R.appendChild(document.createTextNode(h[s]["POPULATION"]));A.appendChild(R);A.appendChild(document.createElement("br"));for(var M=0;M<6;M++){var F=d();F.value=t[M].getName();var C=new q(F);IWEventManager.addDomListener(F,"onclick",C);
var I=document.createElement("div");I.className="subcategory";I.appendChild(F);I.appendChild(document.createTextNode(t[M].getName()));A.appendChild(I)}y.appendChild(A);for(var M=6;M<t.length;M++){var K=document.createElement("div");K.className="category";var E=document.createElement("div");E.className="radio";var F=d();E.appendChild(F);F.value=t[M].getName();var C=new q(F);IWEventManager.addDomListener(F,"onclick",C);var R=document.createElement("div");R.className="header";R.appendChild(document.createTextNode(t[M].getName()));K.appendChild(E);K.appendChild(R);y.appendChild(K)}var O=document.createElement("div");O.className="category";var x=document.createElement("div");x.className="radio";var F=d();F.value="Karte ausblenden";F.selected="selected";x.appendChild(F);var R=document.createElement("div");R.className="header";R.appendChild(document.createTextNode(h[s]["NONE"]));O.appendChild(x);O.appendChild(R);y.appendChild(O);var C=new q(F);IWEventManager.addDomListener(F,"onclick",C);var H=document.createElement("div");y.appendChild(H);H.id="divShowStatistic";H.style.display="none";H.appendChild(document.createElement("br"));var G=document.createElement("h1");H.appendChild(G);G.appendChild(document.createTextNode(h[s]["LEGEND"]));var Q=document.createElement("div");Q.className="category";H.appendChild(Q);var N=document.createElement("table");Q.appendChild(N);N.id="tableLegend";N.style.padding="5px;";var u=document.createElement("tbody");N.appendChild(u);for(var M=0;M<j.length;M++){var w=document.createElement("tr");u.appendChild(w);var B=document.createElement("td");w.appendChild(B);var J=document.createElement("div");B.appendChild(J);J.style.width="25px";J.style.height="16px";J.style.border="1px solid black";J.style.backgroundColor=j[M];var z=document.createElement("td");w.appendChild(z);z.appendChild(document.createTextNode(""))}var F;try{F=document.createElement('<input name="queryPoint" type="checkbox">')}catch(D){F=document.createElement("input");F.name="queryPoint";F.type="checkbox"}H.appendChild(F);var v=document.createElement("div");v.className="category";var P=document.createElement("div");P.className="radio";P.appendChild(F);var R=document.createElement("div");R.className="header";R.appendChild(document.createTextNode(h[s]["QUERY_MODE"]));v.appendChild(P);v.appendChild(R);H.appendChild(v);IWEventManager.addDomListener(F,"onclick",function(S){if(!S){S=window.event}var T=S.target;if(!T){T=S.srcElement}if(T.nodeType==3){T=T.parentNode}if(T.checked){m=IWEventManager.addListener(e,"onclick",function(U){b(U.position,k.getLayer(),k.getShape())}.iwclosure(this))}else{IWEventManager.removeListener(m)}})}function q(v){var u=v;return function(){k=null;for(var w=0;w<t.length;w++){if(t[w].getName()==u.value){k=t[w]}r("layer"+t[w].getLayer())}c(k);if(k!=null){szExtraUrlParm+="&layer"+k.getLayer()+"="+k.getShape()}e.setCenter(e.getCenter())}}function c(y){var A=document.getElementById("divShowStatistic");if(y==null){A.style.display="none"}else{A.style.display="block";var z=document.getElementById("tableLegend");var u=y.getLegend().split(";");for(var x=0;x<z.firstChild.childNodes.length;x++){var v=z.firstChild.childNodes[x].lastChild;var w=document.createTextNode(u[x]+" - "+u[x+1]);v.replaceChild(w,v.firstChild)}}IWEventManager.trigger(n,"onredraw",null)}function b(u,y,w){var A=e.fromPixelToCoordinate(u);var v=new IWXMLHttpRequest();if(v==null){alert("Browser does not support HTTP Request");return}var z=iwconst.LOCAL_APP_URL+"servlet/FrontController?cmd=getLocationStatistics&VNR="+IWAccessFilter.getCNR()+"&PNR="+IWAccessFilter.getPNR()+"&app=ms&layer="+y+"&shape="+w+"&x="+A.getX()+"&y="+A.getY();try{v.open("GET",z,true);v.onreadystatechange=function(){if(v.readyState==4){if(v.status==200){var N=IWXMLHelper.parse(v.responseText);var H=N.getElementsByTagName("G_NAME")[0].firstChild.nodeValue;var Q=N.getElementsByTagName("KGS22")[0].firstChild.nodeValue;var F=N.getElementsByTagName("EW")[0].firstChild.nodeValue;var L=parseFloat(N.getElementsByTagName("EWp0014")[0].firstChild.nodeValue).toFixed(1);
var B=parseFloat(N.getElementsByTagName("EWp1524")[0].firstChild.nodeValue).toFixed(1);var P=parseFloat(N.getElementsByTagName("EWp2549")[0].firstChild.nodeValue).toFixed(1);var J=parseFloat(N.getElementsByTagName("EWp5064")[0].firstChild.nodeValue).toFixed(1);var O=parseFloat(N.getElementsByTagName("EWp65")[0].firstChild.nodeValue).toFixed(1);var I=new IWCoordinate(A.getX().toFixed(0),A.getY().toFixed(0));var K="Koordinate:&nbsp;"+I.toString()+"<br>Ort:&nbsp;"+H+"<br>KGS22:&nbsp;"+Q+"<br><br>Einwohner:&nbsp;"+F+"<br>Anteil 0 bis 14:&nbsp;"+L+"%<br>Anteil 15 bis 24:&nbsp;"+B+"%<br>Anteil 25 bis 49:&nbsp;"+P+"%<br>Anteil 50 bis 64:&nbsp;"+J+"%<br>Anteil \u00FCber 65:&nbsp;"+O+"%";var M=globalPOIList.getPOIList();for(var G=0;G<M.length;G++){var E=M[G];var D=document.getElementById("divPopup_"+E);if(D!=null){D.parentNode.removeChild(D)}}globalPOIList.clear();globalPOIList.addPOI("1_Window");var C=new Sprechblase_Schatten();C.activateMapSlide=true;C.setContent(new StatisticsContent(A,K));C.show(u.getX(),u.getY())}else{if(v.status==401){alert(v.statusText)}else{alert("Unable to query data from server")}}}}.iwclosure(this);v.send(null)}catch(x){alert("Exception: "+x)}}function r(w){var v=szExtraUrlParm.indexOf("&"+w);if(v>-1){var u=szExtraUrlParm.indexOf("&",v+1);if(u>-1){szExtraUrlParm=szExtraUrlParm.substring(0,v)+szExtraUrlParm.substring(u)}else{szExtraUrlParm=szExtraUrlParm.substring(0,v)}}}function o(w){if(h[w.language]){s=w.language;var x=document.getElementById("headerDisplayedStatistics").firstChild;x.data=h[s]["DISPLAYED"];var v=document.getElementById("formLayerSelection").children[1];v.data=h[s]["NONE"];var u=document.getElementById("headerLegend").firstChild;u.data=h[s]["LEGEND"]}}function d(){var u;try{u=document.createElement('<input name="layer" type="radio">')}catch(v){u=document.createElement("input");u.name="layer";u.type="radio"}return u}t[0]=new IWStatisticLayer("insgesamt","EW","wq06gk300_lcc_europe","0;347;637;921;1182;1465;1839;2429;3767");t[1]=new IWStatisticLayer("0- bis 14-j\u00E4hrig","EWp0014","wq06gk300_lcc_europe","0%;4,3%;9,8%;12,4%;14,8%;17,4%;20,4%;25,5%;45,6%");t[2]=new IWStatisticLayer("15- bis 24-j\u00E4hrig","EWp1524","wq06gk300_lcc_europe","0,0%;4,0%;8,3%;9,6%;10,7%;11,8%;13,2%;15,3%;60,0%");t[3]=new IWStatisticLayer("25- bis 49-j\u00E4hrig","EWp2549","wq06gk300_lcc_europe","0,0%;14,4%;28,6%;32,6%;35,6%;38,5%;42,2%;47,3%;72,4%");t[4]=new IWStatisticLayer("50- bis 64-j\u00E4hrig","EWp5064","wq06gk300_lcc_europe","0,0%;13,2%;15,4%;17,1%;18,5%;19,9%;21,6%;24,0%;40,0%");t[5]=new IWStatisticLayer("\u00DCber 65-j\u00E4hrig","EWp65","wq06gk300_lcc_europe","0,0%;6.7%;14,4%;17,3%;19,9%;22,6%;25,9%;31,4%;57,3%");t[6]=new IWStatisticLayer("Kaufkraft pro Einwohner in Euro","KK_EW","wq06gk300_lcc_europe","0;14859;16294;17554;18980;20667;23059;27296;55025");t[7]=new IWStatisticLayer("Firmen pro km²","FZ_QKM","wq06gk300_lcc_europe","0;1,5;3,1;7,0;17,6;47,0;106,2;248,5;4711,8");g();IWEventManager.trigger(n,"onredraw",null);IWEventManager.addListener(e,"onlanguagechange",o)}function IWStatisticLayer(c,d,b,e){var a=c;var h=d;var f=b;var g=e;this.getName=function(){return a};this.getLayer=function(){return h};this.getShape=function(){return f};this.getLegend=function(){return g};this.toString=function(){return"IWStatisticLayer: "+c}}function IWMeasuringControl(b){IWControl.call(this,b,"IWMeasuringControl");var q=this;var c=false;var n=null;var a=iw.create("div");var f=iw.create("img");var d=iw.create("div");var k=new IWMouseAdapter();var m=new IWGraphics(d);var h=new IWMeasuringInfoWindowControl(b,this);var g=true;var o=log4javascript.getLogger("IWMeasuringControl");this.hideInfoWindow=function(){g=false;h.setVisible(false)};this.showInfoWindow=function(){g=true;h.setVisible(true)};this.afterAppend=function(){e(this.getContainer())};this.activate=function(){a.style.display="block";if(g&&!h.isVisible()){h.open()}};this.deactivate=function(){a.style.display="none";if(g&&h.isVisible()){h.close()}};this.getRenderer=function(){return m
};this.getInfoWindow=function(){return h};this.reset=function(){o.info("Calling reset");var s=n;while(s!=null){var r=s;s=s.getPreviousSegment();r.destroy();r=null}s=null;n=null;q.triggerOnDistanceChange()};this.setLastPoint=function(r){n=r};this.addPoint=function(s){o.info("Calling addPoint with coordinate x:"+s.getX()+", y:"+s.getY());var r=new IWMeasuringPoint(b,q,s);r.setPreviousSegment(n);if(n!=null){n.setNextSegment(r)}n=r;q.triggerOnDistanceChange()};this.triggerOnDistanceChange=function(){o.error("Calling triggerOnDistanceChange");var r=new IWMeasuringEvent();if(n!=null){r.distance=parseFloat(n.getDistance())}IWEventManager.trigger(this,"ondistancechange",r)};this.toString=function(){return"[IWMeasuringControl]"};function e(r){q.setId("IWMeasuringControl");r.style.width="0px";r.style.height="0px";h.getContainer().style.position="absolute";h.getContainer().style.left="20px";h.getContainer().style.top="20px";h.getContainer().style.zIndex="150";var s=q.getParent();s.appendChild(h.getContainer());a.id="measuringDiv";a.style.position="absolute";a.style.top="0px";a.style.left="0px";a.style.display="none";s.insertBefore(a,s.lastChild.nextSibling);f.id="captureImg";f.src=iwconst.GLOBAL_APP_URL+"img/symbols/blank.gif";f.style.position="absolute";f.style.top="0px";f.style.left="0px";f.style.cursor="crosshair";a.appendChild(f);d.id="drawDiv";d.style.position="absolute";d.style.top="0px";d.style.left="0px";d.style.cursor="crosshair";a.appendChild(d);j(b.getOptions().getSize())}function j(s){var t=s.getWidth();var r=s.getHeight();a.style.width=t+"px";a.style.height=r+"px";f.style.width=t+"px";f.style.height=r+"px";d.style.width=t+"px";d.style.height=r+"px"}IWEventManager.addListener(b,"onresize",function(r){j(r.newSize)});IWEventManager.addDomListener(a,"onmousedown",function(r){iw.noPropagation(r)});IWEventManager.addDomListener(a,"onmouseup",function(r){iw.noPropagation(r)});IWEventManager.addDomListener(a,"ondblclick",function(r){iw.noPropagation(r)});IWEventManager.addDomListener(a,"onclick",function(r){iw.noPropagation(r);var s=k.toMouseEvent(r,a);var t=b.getCurrentMapType().getProjection().pixelToMeter(s.position);q.addPoint(t)});IWEventManager.addListener(h,"onreset",this.reset);IWEventManager.addListener(h,"oncloseend",this.deactivate)}function IWMeasuringPoint(I,s,F){var v=this;var h=0;var G=null;var z=null;var y=null;var H=null;var D=null;var K=null;var t=null;var w=null;var b=null;var o=null;var u=null;var q=false;var C=new IWMouseAdapter();var x=s.getRenderer();var B=x.getContainer();var J=log4javascript.getLogger("IWMeasuringPoint");var a="#0033FF";var f="#660000";var E="#FFFFFF";this.getPosition=function(){return I.getCurrentMapType().getProjection().meterToPixel(F)};this.getPreviousSegment=function(){return G};this.setPreviousSegment=function(M){var L=G;G=M;if((L!=null&&G==null)||(L==null&&G!=null)){c()}if(G!=null){if(o==null){A()}x.move(o,G.getPosition(),v.getPosition())}else{if(o!=null){g()}}v.calculateDistance()};this.setNextSegment=function(M){var L=z;z=M;if((L!=null&&z==null)||(L==null&&z!=null)){c()}if(z==null){s.setLastPoint(this);v.calculateDistance()}};this.moveTailOfLine=function(L){if(o!=null){x.move(o,L,v.getPosition())}};this.destroy=function(){IWEventManager.clearInstanceListeners(v);k();g();y=null;G=null;z=null};this.getDistance=function(){return h};this.getCoordinate=function(){return F};this.calculateDistance=function(){if(G==null){h=0}else{h=G.getDistance()+G.getCoordinate().distanceFrom(F)}if(z!=null){z.calculateDistance()}else{s.triggerOnDistanceChange()}};this.toString=function(){return"[IWMeasuringPoint]"};function A(){o=x.drawLine(G.getPosition(),v.getPosition(),4,a);o.style.opacity="0.75";o.style.filter="alpha(opacity=75)";o.style.cursor="pointer";x.moveToBottom(o);lineOnMouseClickListener=IWEventManager.addDomListener(o,"onclick",function(L){iw.noPropagation(L);var M=C.toMouseEvent(L,B);n(M.position)})}function g(){if(o!=null){IWEventManager.removeListener(u);x.removeElement(o);o=null}}function c(){k();
if(G==null){y=x.drawEllipse(v.getPosition(),new IWSize(8,8),1,a,f)}else{if(z==null){y=x.drawEllipse(v.getPosition(),new IWSize(8,8),1,a,E)}else{y=x.drawEllipse(v.getPosition(),new IWSize(6,6),1,a,a)}}y.style.cursor="pointer";H=IWEventManager.addDomListener(y,"onmousedown",function(L){iw.noPropagation(L);var M=C.toMouseEvent(L,B);if(M.button==IWButton.RIGHT){if(q){m()}j()}else{if(q){m()}else{y.style.cursor="move";d()}}});b=IWEventManager.addDomListener(y,"onclick",function(L){iw.noPropagation(L);m()});if(G!=null&&z!=null){t=IWEventManager.addDomListener(y,"onmouseover",function(M){if(!q){var L=new IWDistanceFormatter(v.getDistance());I.openTooltip(F,L.getDistance()+"&nbsp;"+L.getUnit())}});w=IWEventManager.addDomListener(y,"onmouseout",function(L){I.removeTooltip()})}}function k(){if(y!=null){x.removeElement(y)}IWEventManager.removeListener(H);IWEventManager.removeListener(D);IWEventManager.removeListener(K);IWEventManager.removeListener(t);IWEventManager.removeListener(w);IWEventManager.removeListener(b);H=null;D=null;K=null;t=null;w=null;b=null}function n(L){var N=I.getCurrentMapType().getProjection().pixelToMeter(L);var M=new IWMeasuringPoint(I,s,N);M.setPreviousSegment(G);M.setNextSegment(v);G.setNextSegment(M);v.setPreviousSegment(M)}function j(){I.removeTooltip();if(G!=null){G.setNextSegment(z)}if(z!=null){z.setPreviousSegment(G)}if(z==null){if(G==null){s.setLastPoint(null)}else{s.setLastPoint(G);G.calculateDistance()}}v.destroy()}function d(){D=IWEventManager.addDomListener(document,"onmousemove",function(L){iw.noPropagation(L);I.removeTooltip();var M=C.toMouseEvent(L,B);x.moveToTop(y);x.move(y,M.position);if(G!=null){x.move(o,G.getPosition(),M.position)}if(z!=null){z.moveTailOfLine(M.position)}F=I.getCurrentMapType().getProjection().pixelToMeter(M.position);v.calculateDistance();q=true});K=IWEventManager.addDomListener(y,"onmouseup",function(L){iw.noPropagation(L);if(q){m()}})}function m(){y.style.cursor="pointer";IWEventManager.removeListener(K);IWEventManager.removeListener(D);K=null;D=null;F=I.getCurrentMapType().getProjection().pixelToMeter(x.getPosition(y));x.move(y,v.getPosition());v.calculateDistance();q=false}function e(L){y.style.visibility="hidden";y.style.display="none";if(o!=null){o.style.visibility="hidden";o.style.display="none"}}function r(){x.move(y,v.getPosition());if(o!=null&&G!=null){x.move(o,G.getPosition(),v.getPosition());o.style.visibility="visible";o.style.display=""}y.style.visibility="visible";y.style.display=""}c();IWEventManager.addDomListener(I,"onzoomstart",e);IWEventManager.addDomListener(I,"onzoomend",r);IWEventManager.addDomListener(I,"onmovestart",e);IWEventManager.addDomListener(I,"onmoveend",r);IWEventManager.addDomListener(I,"oncenter",r);IWEventManager.addDomListener(I,"onmaptypechange",r);IWEventManager.addDomListener(I,"onresize",r)}function IWMeasuringInfoWindowControl(g,f){IWWindowControl.call(this,g,"",new IWSize(150,70));var b=this;var e=iw.create("div");var a=false;var c=log4javascript.getLogger("IWMeasuringInfoWindowControl");var d=new IWLanguagePack();d.addLanguage(new IWLanguage("de",iwconst.LOCAL_APP_URL+"lang/IWMeasuringControl.lang.de"));d.addLanguage(new IWLanguage("en",iwconst.LOCAL_APP_URL+"lang/IWMeasuringControl.lang.en"));d.addLanguage(new IWLanguage("es",iwconst.LOCAL_APP_URL+"lang/IWMeasuringControl.lang.es"));d.addLanguage(new IWLanguage("it",iwconst.LOCAL_APP_URL+"lang/IWMeasuringControl.lang.it"));d.addLanguage(new IWLanguage("fr",iwconst.LOCAL_APP_URL+"lang/IWMeasuringControl.lang.fr"));d.addLanguage(new IWLanguage("tr",iwconst.LOCAL_APP_URL+"lang/IWMeasuringControl.lang.tr"));IWMultiLanguageSupport.call(this,g,d);this.buildBody=function(j){c.info("Calling buildBody");IWEventManager.addListener(this,"onlanguagepackload",function(k){b.setTitle(k.language.get("TITLE"));if(a==false){h(j);a=true}});this.loadLanguagePack(g.getOptions().getLanguage())};this.setDistance=function(k){var j=new IWDistanceFormatter(k);e.innerHTML='<span style="font-size:30px; font-weight:bold;">'+j.getDistance()+'</span>&nbsp;<span style="font-size:16px; font-weight:bold;">'+j.getUnit()+"</span><br><br>"
};this.toString=function(){return"[IWMeasuringInfoWindowControl]"};this.triggerOnReset=function(){IWEventManager.trigger(b,"onreset",null)};function h(k){e.style.position="absolute";e.style.top="0px";e.style.left="0px";e.style.width=b.getSize().getWidth()-10+"px";e.align="right";iw.append(k,e);var j=iw.create("button");j.style.position="absolute";j.style.top=b.getSize().getHeight()-28+"px";j.style.left="20px";j.style.width=b.getSize().getWidth()-40+"px";b.addLabelFor(new IWLabel("RESET",j,"innerHTML"));iw.append(k,j);IWEventManager.addDomListener(j,"onclick",b.triggerOnReset)}IWEventManager.addListener(f,"ondistancechange",function(j){b.setDistance(j.distance)});this.setRedrawable(false);this.close();this.setDistance(0)}function IWNavigationControl(a){IWControl.call(this,a,"IWNavigationControl");var b=this.getContainer();var c=iw.create("div");var g=iw.create("div");var f=iw.create("div");var d=iw.create("div");var h=null;var k=iwconst.GLOBAL_APP_URL+"img/controls/navigation/navicross.png";var j=new IWLanguagePack();j.addLanguage(new IWLanguage("de",iwconst.LOCAL_APP_URL+"lang/IWNavigationControl.lang.de"));j.addLanguage(new IWLanguage("en",iwconst.LOCAL_APP_URL+"lang/IWNavigationControl.lang.en"));j.addLanguage(new IWLanguage("es",iwconst.LOCAL_APP_URL+"lang/IWNavigationControl.lang.es"));j.addLanguage(new IWLanguage("tr",iwconst.LOCAL_APP_URL+"lang/IWNavigationControl.lang.tr"));j.addLanguage(new IWLanguage("fr",iwconst.LOCAL_APP_URL+"lang/IWNavigationControl.lang.fr"));j.addLanguage(new IWLanguage("it",iwconst.LOCAL_APP_URL+"lang/IWNavigationControl.lang.it"));IWMultiLanguageSupport.call(this,a,j);this.addLabelFor(new IWLabel("UP",c,"title"));this.addLabelFor(new IWLabel("UP",c,"alt"));this.addLabelFor(new IWLabel("LEFT",g,"title"));this.addLabelFor(new IWLabel("LEFT",g,"alt"));this.addLabelFor(new IWLabel("RIGHT",f,"title"));this.addLabelFor(new IWLabel("RIGHT",f,"alt"));this.addLabelFor(new IWLabel("DOWN",d,"title"));this.addLabelFor(new IWLabel("DOWN",d,"alt"));this.afterAppend=function(){e()};this.toString=function(){return"[IWNavigationControl]"};this.setNavigationImage=function(m){k=m;if(h!=null){h.src=k}};this.getNavigationImage=function(){return k};function e(){h=iw.create("img");iw.append(b,h);h.className="navigationImage";h.onload=function(){correctPNG(this)}.iwclosure(h);h.src=k;iw.append(b,c);c.className="areaUp";iw.backgroundImage(c,iwconst.GLOBAL_APP_URL+"img/symbols/blank.gif");IWEventManager.addDomListener(c,"onmousedown",function(m){var n=new IWPoint(0,Math.floor(a.getOptions().getSize().getHeight()/2));a.panBy(n)});iw.append(b,g);g.className="areaLeft";iw.backgroundImage(g,iwconst.GLOBAL_APP_URL+"img/symbols/blank.gif");IWEventManager.addDomListener(g,"onmousedown",function(m){var n=new IWPoint(Math.floor(a.getOptions().getSize().getWidth()/2),0);a.panBy(n)});iw.append(b,f);f.className="areaRight";iw.backgroundImage(f,iwconst.GLOBAL_APP_URL+"img/symbols/blank.gif");IWEventManager.addDomListener(f,"onmousedown",function(m){var n=new IWPoint(-Math.floor(a.getOptions().getSize().getWidth()/2),0);a.panBy(n)});iw.append(b,d);d.className="areaDown";iw.backgroundImage(d,iwconst.GLOBAL_APP_URL+"img/symbols/blank.gif");IWEventManager.addDomListener(d,"onmousedown",function(m){var n=new IWPoint(0,-Math.floor(a.getOptions().getSize().getHeight()/2));a.panBy(n)})}b.id="IWNavigationControl";b.className="IWNavigationControl";this.loadLanguagePack(a.getOptions().getLanguage())}function IWOverlaySelectionControl(g){IWWindowControl.call(this,g,"IWOverlaySelectionControl");var b=this;var f=null;var a=false;var e=iw.create("div");var c=log4javascript.getLogger("IWOverlaySelectionControl");var d=new IWLanguagePack();d.addLanguage(new IWLanguage("de",iwconst.LOCAL_APP_URL+"lang/IWOverlaySelectionControl.lang.de"));d.addLanguage(new IWLanguage("en",iwconst.LOCAL_APP_URL+"lang/IWOverlaySelectionControl.lang.en"));d.addLanguage(new IWLanguage("es",iwconst.LOCAL_APP_URL+"lang/IWOverlaySelectionControl.lang.es"));d.addLanguage(new IWLanguage("tr",iwconst.LOCAL_APP_URL+"lang/IWOverlaySelectionControl.lang.tr"));
d.addLanguage(new IWLanguage("fr",iwconst.LOCAL_APP_URL+"lang/IWOverlaySelectionControl.lang.fr"));d.addLanguage(new IWLanguage("it",iwconst.LOCAL_APP_URL+"lang/IWOverlaySelectionControl.lang.it"));IWMultiLanguageSupport.call(this,g,d);this.buildBody=function(j){c.info("Calling buildBody with "+j);IWEventManager.addListener(this,"onlanguagepackload",function(k){b.setTitle(k.language.get("TITLE"));if(a==false){h(j);a=true}});this.loadLanguagePack(g.getOptions().getLanguage())};this.getTreeView=function(){return f};function h(j){c.debug("Calling buildGUI with "+j);b.setId("IWOverlaySelectionControl");j.style.height="295px";j.style.width="220px";iw.append(j,e)}this.setSize(new IWSize(220,270));this.setRedrawable(false);e.style.position="absolute";e.style.left="1px";e.style.height="270px";e.style.width="218px";e.style.top="0px";e.style.left="0px";e.style.overflowX="hidden";e.style.overflowY="auto";f=new IWTreeView(e);f.addNodes(g.getLayers());IWEventManager.addListener(f,"onnodeclick",function(j){g.redraw()})}function IWOverviewMapControl(a,c,n){IWControl.call(this,a,"IWOverviewMapControl");var k=this;var d=null;var f=4;var g=null;var b=this.getContainer();var j=log4javascript.getLogger("IWOverviewMapControl");if(n==null||typeof n=="undefined"){n=new IWSize(120,120)}this.getSize=function(){return n};this.getMap=function(){return a};this.setZoomStep=function(o){f=o};this.getZoomStep=function(){return f};this.afterAppend=function(){e()};this.getOverviewMap=function(){return d};function e(){j.debug("Calling buildGUI");d=new IWMap(b);d.getCopyrightControl().getContainer().style.display="none";var o=d.getOptions();o.setIsOverviewMap(true);a.getOptions().setHasOverviewMap(true);g=o.getMapTypeByName(c);g.setLabelsServerConfig(null);o.setBorderTiles(0);o.setSize(n);o.setLeftMouseAction(IWMapOptions.CONTROL_NONE);o.setRightMouseAction(IWMapOptions.CONTROL_NONE);o.setDoubleClickAction(IWMapOptions.CONTROL_NONE);o.setMouseWheelAction(IWMapOptions.CONTROL_NONE);o.setPlusMinusKeyAction(IWMapOptions.CONTROL_NONE);o.setArrowKeyAction(IWMapOptions.CONTROL_NONE);IWEventManager.addListener(d,"oninitialize",function(r){var q=new IWOverviewDragBoxControl(k);d.getLayoutManager().getLayer(0).addControl(q,IWAlignment.CENTER,IWAlignment.CENTER)});if(a.getCenter()){d.setCenter(a.getCenter(),h(a.getZoom()),g)}}function h(q){var o=a.getCurrentMapType().getProjection();var r=o instanceof IWCentralProjection;var s=r?f+1:f;return Math.max(q-s,g.getMinLevel())}function m(s,r,u){j.debug("Calling updateView with "+s+", "+r+", "+u);var x=h(u);if(d.getZoom()!=x){d.setCenter(new IWCoordinate(s,r),x)}else{var v=d.getCurrentMapType().getProjection();var w=v.meterToPixel(d.getCenter());var o=v.meterToPixelXY(s,r);var t=w.getX()-o.x;var q=w.getY()-o.y;if(Math.abs(t)>1||Math.abs(q)>1){d.panTo(new IWCoordinate(s,r))}}}this.setId("IWOverviewMapControl");b.className="IWOverviewMapControl";b.style.height=n.getHeight()+"px";b.style.width=n.getWidth()+"px";IWEventManager.addListener(a,"onzoomend",function(o){m(o.newCenterX,o.newCenterY,o.newZoomLevel)});IWEventManager.addListener(a,"oncenter",function(o){m(o.coordinateX,o.coordinateY,o.zoom)})}function IWOverviewDragBoxControl(c){IWControl.call(this,c.getOverviewMap(),"IWOverviewDragBoxControl");var o=this;var b=this.getContainer();var a=c.getMap();var d=c.getOverviewMap();var e=IWMapOptions.CONTROL_NONE;var m=log4javascript.getLogger("IWOverviewDragBoxControl");var q=false;var g=null;this.afterAppend=function(){g=new IWGraphics(b);n()};function k(u){var s=d.getCurrentMapType().getProjection().meterToPixel(u);var r=s.getX()-(parseInt(b.style.width)/2);var t=s.getY()-(parseInt(b.style.height)/2);b.style.top=t+"px";b.style.left=r+"px"}function h(s){var r=parseInt(b.style.left)+s.getX();var t=parseInt(b.style.top)+s.getY();b.style.top=t+"px";b.style.left=r+"px"}function n(){g.clearContainer();var C=a.getOptions().getSize();var z=a.getCurrentMapType().getProjection();var A=d.getCurrentMapType().getProjection();var y=[z.pixelToMeterXY(0,0),z.pixelToMeterXY(C.getWidth(),0),z.pixelToMeterXY(C.getWidth(),C.getHeight()),z.pixelToMeterXY(0,C.getHeight())];
var w=Number.MAX_VALUE;var v=Number.MAX_VALUE;var t=Number.MIN_VALUE;var s=Number.MIN_VALUE;var u=[];for(var x=0;x<y.length;x++){u.push(A.meterToPixelXY(y[x].x,y[x].y));w=Math.min(w,u[x].x);v=Math.min(v,u[x].y);t=Math.max(t,u[x].x);s=Math.max(s,u[x].y)}var r=d.getOptions().getSize();if(t-w+4<r.getWidth()&&s-v+4<r.getHeight()){b.style.width=(t-w+4)+"px";b.style.height=(s-v+4)+"px";b.style.left=(w-2)+"px";b.style.top=(v-2)+"px";var B="";for(var x=0;x<u.length;x++){B+=parseInt(u[x].x-w+2)+","+parseInt(u[x].y-v+2)+" "}g.drawPolygon(B,0,"#000000","#4444bb","polygon-inner");g.drawPolygon(B,2,"#4444bb",null,"polygon-border")}}function j(s){m.debug("Calling beforeDraggedHandler with "+s);var r=a.getOptions();e=r.getMouseWheelAction();r.setMouseWheelAction(IWMapOptions.CONTROL_NONE)}function f(u){m.debug("Calling afterDraggedHandler with "+u);var y=o.getContainer();var w=y.offsetTop;var v=y.offsetLeft;var t=y.offsetWidth;var s=y.offsetHeight;var r=new IWPoint(v+(t/2),w+(s/2));var x=d.getCurrentMapType().getProjection().pixelToMeter(r);a.getOptions().setMouseWheelAction(e);q=true;d.panTo(x);a.panTo(x)}this.setId("IWOverviewDragBoxControl");b.className="outerBox";this.setDragButton(IWButton.LEFT+IWButton.RIGHT);this.allowDraggingOutsideParent(true);this.setDraggingBounds(d.getOptions().getSize());this.setDraggable(true);IWEventManager.addListener(a,"onresize",n);IWEventManager.addListener(a,"onprojectioninitialize",n);IWEventManager.addListener(a,"onmove",function(){if(q==false){k(a.getCenter())}});IWEventManager.addListener(a,"onmoveend",function(){d.panTo(a.getCenter());n()});IWEventManager.addListener(d,"onprojectioninitialize",n);IWEventManager.addListener(d,"onmove",function(r){h(r.offset)});IWEventManager.addListener(d,"onmoveend",function(){q=false});IWEventManager.addListener(d,"oncenter",function(){k(d.getCenter())});IWEventManager.addListener(this,"ondragstart",j);IWEventManager.addListener(this,"ondragend",f)}function IWPanelControl(a,m){IWControl.call(this,a,"IWPanelControl");var g=0.8;var j="";var c=this.getContainer();var e=new IWLayoutManager(c);var h=null;if(typeof m=="undefined"){h=new IWSize(100,100)}else{h=m.clone()}var b=iw.create("div");b.id="divPanelBackground";b.style.zIndex=-1;c.appendChild(b);function k(){e.redraw()}function f(q){var n=q.newSize.getHeight();var o=q.newSize.getWidth();if((h.getWidth()<o)||(h.getHeight()<n)){h=new IWSize(o,n);b.style.width=o+"px";b.style.height=n+"px"}}function d(n,s){var r=s.childNodes;for(var q=0;q<r.length;q++){if(r.item(q).nodeName=="DIV"){n=d(n,r.item(q))}var o=new IWSize(r.item(q).offsetWidth,r.item(q).offsetHeight);if((o.getWidth()>n.getWidth())&&(r.item(q).id!="divPanelBackground")&&(r.item(q).style.visibility!="hidden")&&(r.item(q).style.display!="none")){n=new IWSize(o.getWidth(),n.getHeight())}if((o.getHeight()>n.getHeight())&&(r.item(q).id!="divPanelBackground")&&(r.item(q).style.visibility!="hidden")&&(r.item(q).style.display!="none")){n=new IWSize(n.getWidth(),o.getHeight())}if((o.getHeight()>n.getHeight())&&(o.getWidth()>n.getWidth())&&(r.item(q).id!="divPanelBackground")&&(r.item(q).style.visibility!="hidden")&&(r.item(q).style.display!="none")){n=new IWSize(o.getWidth(),o.getHeight())}}return n}this.isPanelControl=function(){return true};this.getLayoutManager=function(){return e};this.setSize=function(o){h=o.clone();var q=h.getWidth();var n=h.getHeight();c.style.width=q+"px";c.style.height=n+"px";b.style.width=q+"px";b.style.height=n+"px";k()};this.setVerticalScroll=function(n){if(typeof c.style.overflowY!="undefined"){c.style.overflowY=n}else{c.style.overflow=n}};this.setHorizontalScroll=function(n){if(typeof c.style.overflowX!="undefined"){c.style.overflowX=n}else{c.style.overflow=n}};this.adjustBackground=function(){var n=this.getSize();n=d(this.getSize(),c);b.style.width=n.getWidth()+"px";if(n.getHeight()<=h.getHeight()){b.style.height=n.getHeight()+"px"}else{b.style.height=n.getHeight()+15+"px"}};this.getSize=function(){return new IWSize(parseInt(c.style.width),parseInt(c.style.height))
};this.setOpacity=function(o){var n=parseFloat(o);if(n<0||n>1){throw ("setOpacity: parameter not between 0 and 1.")}else{g=n;b.style.opacity=n;b.style.filter="alpha(opacity="+n*100+")"}};this.getOpacity=function(){return g};this.setBackgroundColor=function(n){b.style.backgroundColor=n};this.getBackgroundColor=function(){return b.style.backgroundColor};this.toString=function(){return"[IWPanelControl] Size: "+this.getSize()+", Backgroundcolor: "+this.getBackgroundColor()+", Opacity: "+this.getOpacity()};c.id="divPanelControl";this.setSize(h);this.setOpacity(g);this.setBackgroundColor(j);IWEventManager.addListener(e,"onresize",function(n){f(n)}.iwclosure(this))}function IWRoutingControl(G,ae){IWControl.call(this,G,"IWRoutingControl");var k=this;var f=new IWGeocoderClient();var U=new IWRoutingClient();var aa=null;var z=null;var I=false;var S=0;var Z=null;var j=0;var R=null;var af=false;var y=new IWRoutingMagnifierFactory(G);var L=new IWShape("");var x=new IWLayer(G,"Route","ROUTE");var P=null;var F=null;var W=new Array();var M=null;var r=iw.create("div");var o=iw.create("div");var m=iw.create("div");var n=null;var K=100;var u=100;var h=0;var v=1;var B=2;var O=3;var s=4;var w=new IWLanguagePack();w.addLanguage(new IWLanguage("de",iwconst.LOCAL_APP_URL+"lang/IWRoutingControl.lang.de"));w.addLanguage(new IWLanguage("en",iwconst.LOCAL_APP_URL+"lang/IWRoutingControl.lang.en"));IWMultiLanguageSupport.call(this,G,w);this.afterAppend=function(){IWEventManager.addListener(this,"onlanguagepackload",function(ag){z=ag.language;if(I==false){ab();I=true}});this.loadLanguagePack(G.getOptions().getLanguage())};this.setStartAddress=function(ag){iw.strict([IWAddress],[ag]);if(!P){throw ("You should add the routing control to the DOM before calling this method.")}else{C(P,ag)}};this.getStartAddress=function(){if(!P){throw ("You should add the routing control to the DOM before calling this method.")}else{return ac(P)}};this.resetStartAddress=function(){if(!P){throw ("You should add the routing control to the DOM before calling this method.")}else{C(P,new IWAddress())}};this.setDestinationAddress=function(ag){iw.strict([IWAddress],[ag]);if(!F){throw ("You should add the routing control to the DOM before calling this method.")}else{C(F,ag)}};this.getDestinationAddress=function(){if(!F){throw ("You should add the routing control to the DOM before calling this method.")}else{return ac(F)}};this.resetDestinationAddress=function(){if(!F){throw ("You should add the routing control to the DOM before calling this method.")}else{C(F,new IWAddress())}};this.addInterstationAddress=function(ag){iw.strict([IWAddress],[ag]);if(!M){throw ("You should add the routing control to the DOM before calling this method.")}else{var aj=e("interstationAddress"+S++);aj.className="interstation";var ai=iw.create("button");this.addLabelFor(new IWLabel("INTERSTATION_DELETE",ai,"innerHTML"));aj.appendChild(ai);W.push(aj);var ah=iw.create("h1");this.addLabelFor(new IWLabel("INTERSTATION",ah,"innerHTML"));var am=iw.create("div");am.appendChild(ah);am.appendChild(aj);var al=M.childNodes[1];al.insertBefore(am,al.lastChild);C(aj,ag);IWEventManager.trigger(k,"onredraw",null);var ak=IWEventManager.addDomListener(ai,"onclick",function(){k.removeInterstationAddress(am);IWEventManager.removeListener(ak);IWEventManager.trigger(k,"onredraw",null)}.iwclosure(k))}};this.setInterstationAddresses=function(ah){iw.strict(IWAddress,[ah]);for(var ag=0;ag<ah.length;ag++){this.addInterstationAddress(ah[ag])}};this.removeInterstationAddress=function(ah){ah.parentNode.removeChild(ah);for(var ag=0;ag<W.length;ag++){if(ah.lastChild.id==W[ag].id){W.splice(ag,1);break}}IWEventManager.trigger(k,"onredraw",null)};this.removeInterstationAddresses=function(){for(var ag=0;ag<W.length;ag++){this.removeInterstationAddress(W[0].parentNode)}};this.getInterstationAddresses=function(){var ah=new Array();for(var ag=0;ag<W.length;ag++){ah.push(ac(W[ag]))}return ah};this.changeAddressOrder=function(){var ag=iw.tag("select",o);
var ai=new Array();for(var ah=0;ah<ag.length;ah++){ai.push(n[ah][ag[ah].selectedIndex].getAddress())}ai.reverse();C(P,ai[0]);C(F,ai[ai.length-1]);for(var ah=0;ah<W.length;ah++){C(W[ah],ai[ah+1])}};this.getRoute=function(){return aa};this.getRouteLayer=function(){return x};this.getLayerIndexOfRoutingPoints=function(){return K};this.toString=function(){return"[IWRoutingControl]"};function t(){if(af){return}af=true;Z=new Array();var ak=iw.tag("div",r);for(var aj=0;aj<ak.length;aj++){if(ak[aj].name=="address"){var ag=ac(ak[aj]);if((ag.getZipCode()==null||ag.getZipCode().length==0)&&(ag.getCity()==null||ag.getCity().length==0)){alert(z.get("ERROR_INPUT_ADDRESS"));af=false;return}Z.push(ag)}}addressNodes=null;var ak=o.childNodes;while(ak.length>0){ak[0].parentNode.removeChild(ak[0])}var ah=iw.create("h2");k.addLabelFor(new IWLabel("ROUTE_SELECT",ah,"innerHTML"));o.appendChild(ah);var ai=iw.create("button");o.appendChild(ai);k.addLabelFor(new IWLabel("BACK",ai,"innerHTML"));ai.onclick=function(){X(o);N(r);IWEventManager.trigger(k,"onredraw",null)};j=0;n=new Array();f.geocodeAddress(Z[j],u)}function ab(){var ah=k.getContainer();ah.id="IWRoutingControl";r.id="routePane1";r.style.width="350px";r.className="routing";ah.appendChild(r);var ai=iw.create("h2");k.addLabelFor(new IWLabel("SEARCH_ROUTE",ai,"innerHTML"));r.appendChild(ai);iw.append(r,ad());M=D();iw.append(r,M);iw.append(r,a());r.appendChild(H());var aj=iw.create("button");aj.style.width="190px";r.appendChild(aj);k.addLabelFor(new IWLabel("SEARCH_ROUTE",aj,"innerHTML"));IWEventManager.addDomListener(aj,"onclick",t.iwclosure(aj));var ak=IWEventManager.addListener(f,"ongeocode",function(aq){var at=aq.results;if(at.length==0){alert(z.get("ERROR_GEOCODING_ADDRESS")+": "+Y(aq.inputAddress));return}else{var ay="";if(j==0){ay=z.get("START_ADDRESS")}else{if(j==Z.length-1){ay=z.get("DESTINATION_ADDRESS")}else{ay=z.get("INTERSTATION")}}var ap=iw.create("div");ap.className="dropDownContent";ap.style.display="block";ap.style.visibility="visible";ap.style.marginBottom="5px";ap.style.marginTop="5px";var av=iw.create("h1");av.innerHTML=ay;o.appendChild(ap);var aw=iw.create("select");aw.name="address";aw.style.width="280px";n.push(at);for(var au=0,ar=0;au<at.length;au++,ar++){var ax=at[au].getAddress();aw.options[ar]=new Option(Y(ax));aw.options[ar].address=ax}ap.appendChild(av);ap.appendChild(aw);o.appendChild(ap)}if(j<Z.length-1){j++;f.geocodeAddress(Z[j],u)}else{X(r);o.appendChild(ao);N(o);ao.focus();IWEventManager.trigger(k,"onredraw",null);af=false}}.iwclosure(this));ah.appendChild(o);o.id="routePane2";o.className="routing";o.style.width="350px";X(o);var ao=iw.create("button");ao.style.width="190px";k.addLabelFor(new IWLabel("CALCULATE_ROUTE",ao,"innerHTML"));IWEventManager.addDomListener(ao,"onclick",function(ap){var ay=new IWRouteOptions();var au=iw.name("routeMode");for(var ar=0;ar<au.length;ar++){if(au[ar].checked){ay.setType(au[ar].value);break}}ay.setCitySpeed(A(iw.id("routeSpeedCity")));ay.setCountryRoadSpeed(A(iw.id("routeSpeedCountryRoad")));ay.setHighwaySpeed(A(iw.id("routeSpeedHighway")));U.setRouteOptions(ay);var at=iw.tag("select",o);if(at.length>=2){var aq=at[0].options[at[0].selectedIndex].address;var aw=at[at.length-1].options[at[at.length-1].selectedIndex].address;var av=[];if(at.length>=3){for(var ar=1;ar<at.length-1;ar++){var ax=at[ar].options[at[ar].selectedIndex].address;av.push(ax)}}U.route(aq,aw,av)}});IWEventManager.addListener(U,"onroute",function(at){X(o);aa=at.route;var aq=new IWRouteFormatter(aa);aq.setLanguage("de");iw.id("headerRoute").innerHTML=aq.createSummaryAsHTML();var ar=iw.id("routeTable");for(var ap=ar.rows.length-1;ap>=0;ap--){ar.deleteRow(ap)}if(aa.getSegments()==0){alert(z.get("ERROR_ROUTING"))}else{for(var ap=0;ap<aa.getSegments();ap++){var au=ar.insertRow(ap);au.className=(ap%2?"even":"odd");au.style.cursor="pointer";var aw=aa.getEntry(ap).getCoordinate();T(ap+1,aw);au.onclick=function(){var ax=y.createRoutingMagnifierContent(this);G.openInfoBalloon(this,ax)
}.iwclosure(aw);var av=au.insertCell(0);av.style.verticalAlign="top";av.innerHTML=ap+1;av=au.insertCell(1);av.style.verticalAlign="top";av.innerHTML=aq.createImageAsHTML(ap);av=au.insertCell(2);av.style.verticalAlign="top";av.innerHTML=aq.createDescriptionAsHTML(ap);av=au.insertCell(3);av.style.verticalAlign="top";av.innerHTML=aq.createDistanceAsHTML(ap)}}L.setShapeName(aa.getShape());G.setCenter(aa.getBounds().getCenter(),G.getBoundsZoomlevel(aa.getBounds()));N(m);IWEventManager.trigger(k,"onredraw",null);return true}.iwclosure(this));ah.appendChild(m);m.id="routePane3";m.className="routing";m.style.width="350px";X(m);var ai=iw.create("h2");iw.append(m,ai);k.addLabelFor(new IWLabel("ROUTE_DESCRIPTION",ai,"innerHTML"));var am=iw.create("span");iw.append(m,am);am.id="headerRoute";var ag=iw.create("button");m.appendChild(ag);ag.style.width="190px";ag.style.marginBottom="10px";k.addLabelFor(new IWLabel("CALCULATE_WAYBACK",ag,"innerHTML"));ag.onclick=function(){J();this.changeAddressOrder();X(m);N(r);IWEventManager.trigger(k,"onredraw",null)}.iwclosure(k);var al=iw.create("button");m.appendChild(al);al.style.width="190px";al.style.marginBottom="10px";k.addLabelFor(new IWLabel("CALCULATE_NEW_ROUTE",al,"innerHTML"));al.onclick=function(){J();k.resetStartAddress();k.resetDestinationAddress();k.removeInterstationAddresses();X(m);N(r);IWEventManager.trigger(k,"onredraw",null)}.iwclosure(k);var an=iw.create("table");m.appendChild(an);an.id="routeTable"}function N(ag){ag.style.visibility="visible";ag.style.display="block"}function X(ag){ag.style.visibility="hidden";ag.style.display="none"}function J(){G.getOverlayManager().removeLayer(K);L.setShapeName("");G.setCenter(G.getCenter());aa=null}function ad(){var ah=iw.create("div");ah.className="dropDownContent";ah.style.display="block";ah.style.visibility="visible";var ag=iw.create("H1");k.addLabelFor(new IWLabel("START_ADDRESS",ag,"innerHTML"));ah.appendChild(ag);P=e("startAddress");iw.append(ah,P);return ah}function a(){var ah=iw.create("div");ah.className="dropDownContent";ah.style.display="block";ah.style.visibility="visible";var ag=iw.create("H1");k.addLabelFor(new IWLabel("DESTINATION_ADDRESS",ag,"innerHTML"));ah.appendChild(ag);F=e("destinationAddress");iw.append(ah,F);return ah}function e(ai){var ah=iw.create("div");ah.id=ai;ah.name="address";iw.append(ah,c("street","ADDRESS_STREET"));iw.append(ah,c("housenumber","ADDRESS_HOUSE_NUMBER"));iw.append(ah,c("zipcode","ADDRESS_ZIPCODE"));iw.append(ah,c("city","ADDRESS_CITY"));var ag=iw.create("select");ag.className="country";ag.options[0]=q("ANDORRA","AND");ag.options[1]=q("BELGIUM","B");ag.options[2]=q("DENMARK","DK");ag.options[3]=q("GERMANY","D");ag.options[4]=q("FINNLAND","FIN");ag.options[5]=q("FRANCE","F");ag.options[6]=q("GREECE","GR");ag.options[7]=q("GREAT_BRITAIN","GB");ag.options[8]=q("IRELAND","IRL");ag.options[9]=q("ITALY","I");ag.options[10]=q("LUXEMBOURG","L");ag.options[11]=q("NETHERLANDS","NL");ag.options[12]=q("AUSTRIA","A");ag.options[13]=q("NORWAY","N");ag.options[14]=q("POLAND","PL");ag.options[15]=q("PORTUGAL","P");ag.options[16]=q("SAN_MARINO","RSM");ag.options[17]=q("SWEDEN","S");ag.options[18]=q("SWITZERLAND","CH");ag.options[19]=q("SLOVAKIA","SK");ag.options[20]=q("SPAIN","E");ag.options[21]=q("CZECH_REPUBLIC","CZ");ag.options[22]=q("HUNGARY","H");g(ag,"D");iw.append(ah,ag);return ah}function q(ai,ag){var ah=new Option(z.get(ai),ag);k.addLabelFor(new IWLabel(ai,ah,"text"));return ah}function g(ah,ai){for(var ag=0;ag<ah.options.length;ag++){if(ah.options[ag].value==ai){ah.selectedIndex=ag;return}}}function A(ag){return ag.options[ag.selectedIndex].text}function C(am,ag){var al=ag.getStreet();am.childNodes[h].value=(al!=null&&al.length>0?al:z.get("ADDRESS_STREET"));var ai=ag.getHouseNumber();am.childNodes[v].value=(ai!=0&&ai!=null?ai:z.get("ADDRESS_HOUSE_NUMBER"));var ah=ag.getZipCode();am.childNodes[B].value=(ah!=null&&ah.length>0?ah:z.get("ADDRESS_ZIPCODE"));var ak=ag.getCity();am.childNodes[O].value=(ak!=null&&ak.length>0?ak:z.get("ADDRESS_CITY"));
var aj=ag.getCountryCode();if(aj!=null&&aj.length>0){g(am.childNodes[s],aj)}else{g(am.childNodes[s],"D")}}function ac(al){var ag=new IWAddress();var ak=al.childNodes[h].value;if(ak!=z.get("ADDRESS_STREET")){ag.setStreet(ak)}var aj=al.childNodes[v].value;if(aj!=z.get("ADDRESS_HOUSE_NUMBER")){ag.setHouseNumber(aj)}var ah=al.childNodes[B].value;if(ah!=z.get("ADDRESS_ZIPCODE")){ag.setZipCode(ah)}var ai=al.childNodes[O].value;if(ai!=z.get("ADDRESS_CITY")){ag.setCity(ai)}ag.setCountry(A(al.childNodes[s]));ag.setCountryCode(al.childNodes[s].value);return ag}function c(ah,ai){var ag=iw.create("input");ag.name=ah;ag.className=ah;ag.value=z.get(ai);ag.onfocus=function(){if(this.value==z.get(ai)){this.value=""}}.iwclosure(ag);ag.onblur=function(){if(this.value==""){this.value=z.get(ai)}}.iwclosure(ag);IWEventManager.addDomListener(ag,"onkeypress",function(aj){if(aj.keyCode==13){t()}}.iwclosure(ag));k.addLabelFor(new IWLabel(ai,ag,"value"));return ag}function H(){R=iw.create("div");R.id="optionsMenu";R.className="dropDownMenu";var aj=iw.create("div");aj.className="dropDownHeader";aj.name="modus";R.appendChild(aj);aj.onclick=function(){V(aj)};var ag=iw.create("img");aj.appendChild(ag);ag.src=iwconst.GLOBAL_APP_URL+"img/controls/routing/oeffnen_route.gif";ag.className="img";var ai=iw.create("p");aj.appendChild(ai);k.addLabelFor(new IWLabel("ROUTE_OPTIONS",ai,"innerHTML"));var ah=iw.create("div");ah.className="dropDownContent";R.appendChild(ah);ah.appendChild(E());ah.appendChild(Q());return R}function D(){var al=iw.create("div");al.id="interstationMenu";al.className="dropDownMenu";var ak=iw.create("div");ak.className="dropDownHeader";ak.name="modus";al.appendChild(ak);ak.onclick=function(){V(ak)};var ag=iw.create("img");ak.appendChild(ag);ag.src=iwconst.GLOBAL_APP_URL+"img/controls/routing/oeffnen_route.gif";ag.className="img";var aj=iw.create("p");k.addLabelFor(new IWLabel("INTERSTATIONS",aj,"innerHTML"));ak.appendChild(aj);var ai=iw.create("div");ai.id="routeInterstationContent";ai.className="dropDownContent";var ah=iw.create("button");ai.appendChild(ah);ah.style.width="190px";k.addLabelFor(new IWLabel("INTERSTATION_ADD",ah,"innerHTML"));ah.onclick=function(){k.addInterstationAddress(new IWAddress())};iw.append(al,ai);return al}function E(){var ah=iw.create("div");ah.id="modusDiv";var ag=iw.create("h1");k.addLabelFor(new IWLabel("ROUTE_MODE_SETTINGS",ag,"innerHTML"));ah.appendChild(ag);ah.appendChild(d());return ah}function d(){var am=null;var ak=null;var aj=null;try{am=iw.create('<input type="radio" name="mode" value="1" className="modus" checked>');ak=iw.create('<input type="radio" name="mode" value="2" className="modus">');aj=iw.create('<input type="radio" name="mode" value="3" className="modus">')}catch(ai){am=iw.create("input");am.type="radio";am.name="routeMode";am.value="SPEED";am.checked=true;am.className="modus";ak=iw.create("input");ak.type="radio";ak.name="routeMode";ak.value="LENGTH";ak.className="modus";aj=iw.create("input");aj.type="radio";aj.name="routeMode";aj.value="ECONOMY";aj.className="modus"}var ag=iw.create("table");var ah=ag.insertRow(0);var al=ah.insertCell(0);al.style.width="65px";iw.append(al,am);k.addLabelFor(new IWLabel("ROUTE_FASTEST",ah.insertCell(1),"innerHTML"));var ah=ag.insertRow(1);ah.insertCell(0).appendChild(ak);k.addLabelFor(new IWLabel("ROUTE_SHORTEST",ah.insertCell(1),"innerHTML"));var ah=ag.insertRow(2);ah.insertCell(0).appendChild(aj);k.addLabelFor(new IWLabel("ROUTE_ECONOMIEST",ah.insertCell(1),"innerHTML"));return ag}function Q(){var ah=iw.create("div");ah.id="speedDiv";var ag=iw.create("h1");k.addLabelFor(new IWLabel("ROUTE_SPEED_SETTINGS",ag,"innerHTML"));ah.appendChild(ag);ah.appendChild(b());return ah}function b(){var ag=iw.create("select");ag.id="routeSpeedHighway";ag.className="speed";ag.options[0]=new Option("130");ag.options[1]=new Option("120");ag.options[2]=new Option("110");ag.options[3]=new Option("100");ag.options[4]=new Option("90");ag.options[5]=new Option("80");ag.selectedIndex=3;var ak=iw.create("select");
ak.id="routeSpeedCountryRoad";ak.className="speed";ak.options[0]=new Option("100");ak.options[1]=new Option("90");ak.options[2]=new Option("80");ak.options[3]=new Option("70");ak.options[4]=new Option("60");ak.options[5]=new Option("50");ak.selectedIndex=4;var aj=iw.create("select");aj.id="routeSpeedCity";aj.className="speed";aj.options[0]=new Option("50");aj.options[1]=new Option("40");aj.options[2]=new Option("30");aj.selectedIndex=2;var ah=iw.create("table");ah.id="speedTable";var ai=ah.insertRow(0);var al=ai.insertCell(0);al.style.width="65px";iw.append(al,ag);k.addLabelFor(new IWLabel("ROUTE_SPEED_HIGHWAY",ai.insertCell(1),"innerHTML"));var ai=ah.insertRow(1);ai.insertCell(0).appendChild(ak);k.addLabelFor(new IWLabel("ROUTE_SPEED_COUNTRYROAD",ai.insertCell(1),"innerHTML"));var ai=ah.insertRow(2);ai.insertCell(0).appendChild(aj);k.addLabelFor(new IWLabel("ROUTE_SPEED_CITY",ai.insertCell(1),"innerHTML"));return ah}function V(ak){var ag=null;var aj=null;for(var ah=0;ah<ak.childNodes.length;ah++){if(ak.childNodes[ah].className){if(ak.childNodes[ah].className=="img"){ag=ak.childNodes[ah];break}}}var ai=ak.nextSibling;while(ai){if(ai.className=="dropDownContent"){aj=ai;break}ai=ai.nextSibling}if(aj.style.display=="block"){aj.style.display="none";ag.src=iwconst.GLOBAL_APP_URL+"img/controls/routing/oeffnen_route.gif"}else{aj.style.display="block";ag.src=iwconst.GLOBAL_APP_URL+"img/controls/routing/schliessen_route.gif"}IWEventManager.trigger(k,"onredraw",null)}function Y(ag){var ah="";if(ag.getStreet()!=null){ah=ah.concat(ag.getStreet());if(ag.getHouseNumber()!=null){ah=ah.concat(ag.getHouseNumber())}}if(ag.getZipCode()!=null){if(ah.length>0){ah=ah.concat(", ")}ah=ah.concat(ag.getZipCode()).concat(" ")}if(ag.getCity()!=null){ah=ah.concat(ag.getCity())}return ah}function T(ah,aj){var ag=new IWMarker(G,aj);ag.setDefaultIcon(new IWIcon(iwconst.GLOBAL_APP_URL+"/img/controls/routing/bullet_white_10.gif",new IWPoint(10,10)));var ai=iw.create("div");ag.getContainer().appendChild(ai);ai.innerHTML='<p align="center" style="margin: 0px">'+ah+"</p>";ai.style.position="absolute";ai.style.top="2px";ai.style.left="0px";ai.style.width="20px";ai.style.color="black";ai.style.fontSize="8pt";ai.style.fontWeight="bold";ag.onclick=function(){var ak=y.createRoutingMagnifierContent(aj);G.openInfoBalloon(aj,ak)};G.getOverlayManager().getLayer(K).addOverlay(ag)}if(typeof ae!="undefined"){K=parseInt(ae)}G.getOverlayManager().getLayer(K).setVisibilityRange(new IWRange(0,120));x.addShape(L);G.addLayer(x)}function IWScalarControl(d){IWControl.call(this,d,"IWScalarControl");var e=this.getContainer();var h=[20,50,100,200,500,1000,2000,5000,10000,20000,50000,100000,200000,500000,1000000,2000000,5000000];var m=["20 m","50 m","100 m","200 m","500 m","1 km","2 km","5 km","10 km","20 km","50 km","100 km","200 km","500 km","1000 km","2000 km","5000 km"];var o=iwconst.GLOBAL_APP_URL+"img/symbols/background_white_transparency.png";var k=iwconst.GLOBAL_APP_URL+"img/symbols/background_blue.jpg";var j=iwconst.GLOBAL_APP_URL+"img/symbols/background_blue.jpg";var f=iwconst.GLOBAL_APP_URL+"img/symbols/background_white.jpg";this.afterAppend=function(){g();q()};this.toString=function(){return"[IWScalarControl]"};this.setSeparatorImage=function(r){k=r};this.getSeparatorImage=function(){return k};this.setDarkImage=function(r){j=r};this.getDarkImage=function(){return j};this.setBrightImage=function(r){f=r};this.getBrightImage=function(){return f};this.setBackgroundImage=function(r){o=r};this.getBackgroundImage=function(){return o};function g(){var s=iw.create("div");iw.append(e,s);iw.backgroundImage(s,o);s.className="background";var t=iw.create("div");iw.append(e,t);t.className="foreground";var r=iw.create("div");iw.append(e.lastChild,r);r.className="text";r.style.width=r.parentNode.style.width;c();n();c();b();c();n();c();b();c()}function c(){var r=iw.create("div");iw.append(e.lastChild,r);r.className="separator";iw.backgroundImage(r,k);return r}function n(){var r=a("dark");iw.append(e.lastChild,r);
iw.backgroundImage(r,j);return r}function b(){var r=a("bright");iw.append(e.lastChild,r);iw.backgroundImage(r,f);return r}function a(r){var s=iw.create("div");s.className=r;return s}function q(){if(!d.getCenter()){return}var C=d.getOptions().getSize();var y=IWVEUtils.pixelToLatLon(d,0,C.getHeight()/2);var B=IWVEUtils.pixelToLatLon(d,C.getWidth(),C.getHeight()/2);var z=new IWCoordinate(y.x,y.y,IWCoordinate.WGS84);var x=new IWCoordinate(B.x,B.y,IWCoordinate.WGS84);var t=z.distanceFrom(x);var v=Math.round(t/10);var w=0;while(v>=h[w]&&w<(h.length-1)){w++}var u=5;var A=d.getOptions().getSize().getWidth()/t;var s=Math.round(h[w]*A/4)-1;e.style.width=e.firstChild.style.width=e.lastChild.style.width=(4*s+15)+"px";var r=e.lastChild.childNodes;r[0].innerHTML=m[w];r[1].style.left=u+"px";u=u+1;r[2].style.left=u+"px";r[2].style.width=s+"px";u=u+s;r[3].style.left=u+"px";u=u+1;r[4].style.left=u+"px";r[4].style.width=s+"px";u=u+s;r[5].style.left=u+"px";u=u+1;r[6].style.left=u+"px";r[6].style.width=s+"px";u=u+s;r[7].style.left=u+"px";u=u+1;r[8].style.left=u+"px";r[8].style.width=s+"px";u=u+s;r[9].style.left=u-1+"px"}this.setId("IWScalarControl");this.setPrintable(true);e.className="IWScalarControl";IWEventManager.addListener(d,"onzoomend",q);IWEventManager.addListener(d,"onresize",q);IWEventManager.addListener(d,"oncenter",q);IWEventManager.addListener(d,"onmoveend",q);IWEventManager.addListener(d,"onmaptypechange",q)}function IWSlideInMenuControl(v,q,a){IWControl.call(this,v,"IWSlideInMenuControl");function m(){var z=null;var A=null;if(h==IWAlignment.LEFT){z=k.getWidth();A=-1;if(!x){r.getContainer().style.width=k.getWidth()+11+"px";r.getContainer().style.left=parseInt(r.getContainer().style.left)-k.getWidth()+"px";n.style.left=k.getWidth()+"px"}}else{if(h==IWAlignment.RIGHT){z=k.getWidth();A=1;if(!x){r.getContainer().style.width=k.getWidth()+11+"px"}}else{if(h==IWAlignment.TOP){z=k.getHeight();A=-1;if(!x){r.getContainer().style.height=k.getHeight()+11+"px";r.getContainer().style.top=parseInt(r.getContainer().style.top)-k.getHeight()+"px";n.style.top=k.getHeight()+"px"}}else{if(h==IWAlignment.BOTTOM){z=k.getHeight();A=1;if(!x){r.getContainer().style.height=k.getHeight()+11+"px"}}}}}x=!x;if(!x){r.triggerOnCloseStart();f=e.getContainer().style.overflowX;b=e.getContainer().style.overflowY;e.getContainer().style.overflowX="hidden";e.getContainer().style.overflowY="hidden";j(e.getContainer());g(z,A,0,0)}else{r.triggerOnOpenStart();g(z,-1*A,0,0);e.getContainer().style.overflowX=f;e.getContainer().style.overflowY=b;for(var y=0;y<s.length;y++){if(s[y][0]=="v"){s[y][1].style.overflow=s[y][2]}if(s[y][0]=="x"){s[y][1].style.overflowX=s[y][2]}if(s[y][0]=="y"){s[y][1].style.overflowY=s[y][2]}}s=new Array()}}function j(z){for(var y=0;y<z.childNodes.length;y++){if(z.childNodes.item(y).nodeName=="DIV"){j(z.childNodes.item(y))}}if(z.style.overflow=="auto"||z.style.overflow=="scroll"){s.push(new Array("v",z,z.style.overflow));z.style.overflow="hidden"}if(z.style.overflowY=="auto"||z.style.overflowY=="scroll"){s.push(new Array("y",z,z.style.overflowY));z.style.overflowY="hidden"}if(z.style.overflowX=="auto"||z.style.overflowX=="scroll"){s.push(new Array("x",z,z.style.overflowX));z.style.overflowX="hidden"}}function g(C,E,B,A){if(B<t.length){var y=Math.round(t[B]*C);y+=A;A=y-Math.round(y);if(h==IWAlignment.LEFT||h==IWAlignment.RIGHT){var D=parseInt(n.style.left)-E*y;n.style.left=D+"px"}else{if(h==IWAlignment.TOP||h==IWAlignment.BOTTOM){var z=parseInt(n.style.top)-E*y;n.style.top=z+"px"}}window.setTimeout(function(){g(C,E,++B,A)},35)}else{o();u()}}function o(){if(x){if(h==IWAlignment.LEFT){n.style.left="11px"}else{if(h==IWAlignment.RIGHT){n.style.left="0px"}else{if(h==IWAlignment.TOP){n.style.top="11px"}else{if(h==IWAlignment.BOTTOM){n.style.top="0px"}}}}}else{if(h==IWAlignment.LEFT){n.style.left="11px";r.getContainer().style.width="11px";if(!r.getContainer().style.left){r.getContainer().style.left=k.getWidth()+"px"}else{r.getContainer().style.left=parseInt(r.getContainer().style.left)+k.getWidth()+"px"
}}else{if(h==IWAlignment.RIGHT){n.style.left=-k.getWidth()+"px";r.getContainer().style.width="11px"}else{if(h==IWAlignment.TOP){n.style.top="11px";r.getContainer().style.height="11px";if(!r.getContainer().style.top){r.getContainer().style.top=k.getHeight()+"px"}else{r.getContainer().style.top=parseInt(r.getContainer().style.top)+k.getHeight()+"px"}}else{if(h==IWAlignment.BOTTOM){n.style.top=-k.getHeight()+"px";r.getContainer().style.height="11px"}}}}}}function u(){if(h==IWAlignment.RIGHT){w.src=iwconst.GLOBAL_APP_URL+(x?"img/controls/slidemenu/links.gif":"img/controls/slidemenu/rechts.gif")}else{if(h==IWAlignment.LEFT){w.src=iwconst.GLOBAL_APP_URL+(x?"img/controls/slidemenu/rechts.gif":"img/controls/slidemenu/links.gif")}else{if(h==IWAlignment.TOP){w.src=iwconst.GLOBAL_APP_URL+(x?"img/controls/slidemenu/unten.gif":"img/controls/slidemenu/oben.gif")}else{if(h==IWAlignment.BOTTOM){w.src=iwconst.GLOBAL_APP_URL+(x?"img/controls/slidemenu/oben.gif":"img/controls/slidemenu/unten.gif")}}}}}this.triggerOnOpenStart=function(){IWEventManager.trigger(this,"onopenstart",null)};this.triggerOnCloseStart=function(){IWEventManager.trigger(this,"onclosestart",null)};this.setSize=function(z){k=z;var A=k.getWidth();var y=k.getHeight();if(h==IWAlignment.LEFT||h==IWAlignment.RIGHT){n.style.width=A+11+"px";n.style.height=y+"px";this.getContainer().style.width=A+11+"px";this.getContainer().style.height=y+"px";d.style.height=y-2+"px";d.style.width="9px";c.style.top=(y/2-10)+"px";c.style.left="0px";d.style.top="0px"}else{if(h==IWAlignment.TOP||h==IWAlignment.BOTTOM){n.style.width=A+"px";n.style.height=y+11+"px";this.getContainer().style.width=A+"px";this.getContainer().style.height=y+11+"px";d.style.width=A-2+"px";d.style.height="9px";c.style.left=(A/2-10)+"px";c.style.bottom="0px";d.style.left="0px"}}e.setSize(z);o()};this.setVerticalScroll=function(y){b=y;e.setVerticalScroll(y)};this.setHorizontalScroll=function(y){f=y;e.setHorizontalScroll(y)};this.getSize=function(){return e.getSize()};this.setBackgroundColor=function(y){e.setBackgroundColor(y);d.style.backgroundColor=y};this.adjustBackground=function(){e.adjustBackground()};this.setOpacity=function(y){e.setOpacity(y);d.style.opacity=y;d.style.filter="alpha(opacity="+y*100+")"};this.getOpacity=function(){return e.getOpacity()};this.getBackgroundColor=function(){return e.getBackgroundColor()};this.getLayoutManager=function(){return e.getLayoutManager()};this.expand=function(){if(!x){m()}};this.collapse=function(){if(x){m()}};this.open=function(){if(x){return}this.triggerOnOpenStart();x=true;u();if(h==IWAlignment.LEFT){r.getContainer().style.width=k.getWidth()+11+"px";r.getContainer().style.left=parseInt(r.getContainer().style.left)-k.getWidth()+"px";n.style.left=k.getWidth()+"px"}else{if(h==IWAlignment.RIGHT){r.getContainer().style.width=k.getWidth()+11+"px"}else{if(h==IWAlignment.TOP){r.getContainer().style.height=k.getHeight()+11+"px";r.getContainer().style.top=parseInt(r.getContainer().style.top)-k.getHeight()+"px";n.style.top=k.getHeight()+"px"}else{if(h==IWAlignment.BOTTOM){r.getContainer().style.height=k.getHeight()+11+"px"}}}}o()};this.close=function(){if(!x){return}this.triggerOnCloseStart();x=false;u();o()};this.isOpen=function(){return x};this.toString=function(){return"[IWSlideInMenuControl] Size: "+this.getSize()+", Backgroundcolor: "+this.getBackgroundColor()+", Opacity: "+this.getOpacity()};if(typeof a=="undefined"||a<0||a>4){throw ("IWSlideInMenuControl: adding control failed: slideDirection not valid!")}var r=this;var t=[0.03,0.07,0.12,0.18,0.2,0.18,0.12,0.07,0.03];this.getContainer().id="divSlideInMenu";var h=a;var x=false;var f="inherit";var b="inherit";var s=new Array();var k=null;if(typeof q=="undefined"){k=new IWSize(100,100)}else{k=q}var n=iw.create("div");n.style.position="absolute";this.getContainer().appendChild(n);this.getContainer().style.overflow="hidden";var e=new IWPanelControl(v);n.appendChild(e.getContainer());var d=iw.create("div");n.appendChild(d);var c=iw.create("div");
var w=iw.create("img");c.appendChild(w);d.appendChild(c);c.style.position="absolute";u();d.style.position="absolute";d.style.right="0px";d.style.cursor="pointer";d.style.borderLeftWidth="1px";d.style.borderLeftStyle="solid";d.style.borderLeftColor="#689acd";d.style.borderRightWidth="1px";d.style.borderRightStyle="solid";d.style.borderRightColor="#689acd";d.style.borderTopWidth="1px";d.style.borderTopStyle="solid";d.style.borderTopColor="#689acd";d.style.borderBottomWidth="1px";d.style.borderBottomStyle="solid";d.style.borderBottomColor="#689acd";this.setOpacity(0.8);this.setBackgroundColor("");this.setSize(k);o();IWEventManager.addDomListener(d,"onclick",m)}function IWSliderControl(G,B){IWControl.call(this,G,"IWSliderControl");var v=this;var k=G.getCurrentMapType().getMinLevel();var H=G.getCurrentMapType().getMaxLevel();var o=0;var x=0;var F=0;var f=0;var t=G.getZoom();var A=new IWMouseAdapter();var r=this.getContainer();var K=log4javascript.getLogger("IWSliderControl");var h=new IWMouseWheelAdapter(G,r);var I=null;var D=null;var E=null;var z=null;var c=null;var J=iwconst.GLOBAL_APP_URL+"img/controls/slider/slider.png";var d=iwconst.GLOBAL_APP_URL+"img/controls/slider/slider_button.png";var w=null;var j=null;var b=null;if(!B){B=IWSliderControl.STYLE_FULL}var e=null;var y=new IWLanguagePack();y.addLanguage(new IWLanguage("de",iwconst.LOCAL_APP_URL+"lang/IWSliderControl.lang.de"));y.addLanguage(new IWLanguage("en",iwconst.LOCAL_APP_URL+"lang/IWSliderControl.lang.en"));y.addLanguage(new IWLanguage("es",iwconst.LOCAL_APP_URL+"lang/IWSliderControl.lang.es"));y.addLanguage(new IWLanguage("tr",iwconst.LOCAL_APP_URL+"lang/IWSliderControl.lang.tr"));y.addLanguage(new IWLanguage("fr",iwconst.LOCAL_APP_URL+"lang/IWSliderControl.lang.fr"));y.addLanguage(new IWLanguage("it",iwconst.LOCAL_APP_URL+"lang/IWSliderControl.lang.it"));IWMultiLanguageSupport.call(this,G,y);this.setSliderImage=function(L){J=L};this.getSliderImage=function(){return J};this.setCompactSliderImages=function(M,N,L){w=M;j=N;b=L};this.setSliderButtonImage=function(L){d=L};this.getSliderButtonImage=function(){return d};this.getValue=function(L){if(typeof(L)=="undefined"){L=true}var M=g(parseInt(e.style.top)-o);if(L){return Math.round(M)}else{return M}};this.setValue=function(P){K.info("Calling setValue with "+P);if(typeof(P)=="string"){P=parseInt(P)}var O=G.getCurrentMapType();var L=O.getMaxLevel();var R=O.getMinLevel();var M;if(P<R){M=R}else{if(P>L){M=L}else{M=P}}var P=M-R;var N=L-R;var Q=f/N;e.style.top=Math.round(o+(f-Q*P))+"px"};this.afterAppend=function(){q();m();this.setValue(G.getZoom());this.loadLanguagePack(G.getOptions().getLanguage())};this.toString=function(){return"[IWSliderControl]"};function g(L){var N=L/f;var M=H-k;return H-(M*N)}function C(M){var L=G.getCurrentMapType().getMaxLevel();t=G.getZoom();if(t<L){var M=new IWZoomEvent();M.newZoomLevel=t+1;M.newCenter=G.getCenter();G.triggerOnZoomStart(M);if(G.zoomIn()){v.setValue(t+1)}}}function u(L){var M=G.getCurrentMapType().getMinLevel();t=G.getZoom();if(t>M){var L=new IWZoomEvent();L.newZoomLevel=t-1;L.newCenter=G.getCenter();G.triggerOnZoomStart(L);if(G.zoomOut()){v.setValue(t-1)}}}function a(L){if(!L){L=window.event}var M=A.toMouseEvent(L,r);var N=M.position.getY();if(N>=o&&N<=(x+o)){var L=new IWZoomEvent();L.newZoomLevel=Math.min(Math.round(g(N-o),G.getCurrentMapType().getMaxLevel()));L.newCenter=G.getCenter();G.triggerOnZoomStart(L);G.zoom(G.getZoom(),L.newZoomLevel)}}function q(){D=iw.create("img");iw.append(r,D);D.id="sliderBackground";D.style.display="none";D.onload=function(){IWDOMHelper.fixPng(this)}.iwclosure(D);D.src=J;if(B==IWSliderControl.STYLE_COMPACT||B==IWSliderControl.STYLE_COMPACT_BIRDS_VIEW){E=iw.create("img");iw.append(r,E);E.style.display="none";E.src=w;E.id="sliderBackgroundZoomIn";z=iw.create("img");iw.append(r,z);z.style.display="none";z.src=j;z.id="sliderBackgroundZoomOut";c=iw.create("img");iw.append(r,c);c.style.display="none";c.src=b;c.id="sliderBackgroundZoomBoth"}var L=iw.create("div");
iw.append(r,L);L.onclick=C;L.className="zoomIn";iw.backgroundImage(L,iwconst.GLOBAL_APP_URL+"img/symbols/blank.gif");v.addLabelFor(new IWLabel("ZOOM_IN",L,"title"));var N=iw.create("div");iw.append(r,N);N.onclick=u;N.className="zoomOut";iw.backgroundImage(N,iwconst.GLOBAL_APP_URL+"img/symbols/blank.gif");v.addLabelFor(new IWLabel("ZOOM_OUT",N,"title"));var M=iw.create("div");iw.append(r,M);M.onclick=a;M.className="zoomClick";iw.backgroundImage(M,iwconst.GLOBAL_APP_URL+"img/symbols/blank.gif");e=iw.create("div");iw.append(r,e);e.className="button";e.style.display="none";iw.backgroundImage(e,d);o=IWDOMHelper.getSize(L,r).getHeight();x=IWDOMHelper.getSize(M,r).getHeight();F=IWDOMHelper.getSize(e,r).getHeight();f=x-F;IWEventManager.addDomListener(e,"onmousedown",function(S){if(!S){S=window.event}if(S.cancelable){S.preventDefault()}S.cancelBubble=false;S.returnValue=false;if(A.getButton(S)!=IWButton.LEFT){return}var R=A.getPositionXY(S,r);var P=R.y;IWEventManager.trigger(G,"onzoomstart",null);limitHigh=o;limitLow=f+o;var Q=IWEventManager.addListener(document.body,"onmousemove",function(W){if(!W){W=window.event}var V=A.getPositionXY(W,r);var T=V.y-P;P=V.y;if(W.cancelable){W.preventDefault()}W.cancelBubble=false;W.returnValue=false;var Y=Math.min(Math.max(parseInt(e.style.top)+T,limitHigh),limitLow);var U=v.getValue();e.style.top=Y+"px";var X=v.getValue();if(U!=X){G.opticalZoom(U,X)}});var O=IWEventManager.addListener(document.body,"onmouseup",function(T){G.zoom(v.getValue(),v.getValue());IWEventManager.removeListener(Q);IWEventManager.removeListener(O)})})}this.setId("IWSliderControl");r.className="IWSliderControl";IWEventManager.addListener(h,"onmousewheel",function(N){if(G.getOptions().getMouseWheelAction()!=IWMapOptions.CONTROL_ZOOM){return}if(I==null){t=G.getZoom();var L=new IWZoomEvent();G.triggerOnZoomStart(L)}else{window.clearTimeout(I)}I=window.setTimeout(function(){G.zoom(t,t);I=null},500);var L=new IWZoomEvent();L.oldZoomLevel=t;var M=G.getCurrentMapType();t=t+N.delta;if(t>M.getMaxLevel()){t=M.getMaxLevel()}if(t<M.getMinLevel()){t=M.getMinLevel()}L.newZoomLevel=t;v.setValue(t);G.triggerOnZoom(L);G.opticalZoom(L.oldZoomLevel,L.newZoomLevel)});IWEventManager.addListener(G,"onzoom",function(L){m();v.setValue(L.newZoomLevel)});IWEventManager.addListener(G,"onzoomend",function(L){m();v.setValue(L.newZoomLevel)});IWEventManager.addListener(G,"oncenter",function(L){m();v.setValue(G.getZoom())});IWEventManager.addListener(G,"onmaptypechange",function(L){m();k=G.getCurrentMapType().getMinLevel();H=G.getCurrentMapType().getMaxLevel();v.setValue(G.getZoom())});function m(){try{if(D!=null){D.style.display="none"}if(E!=null){E.style.display="none"}if(z!=null){z.style.display="none"}if(c!=null){c.style.display="none"}}catch(L){}if(B==1||B==2&&G.getCurrentMapType().getName()=="birdsview"){s()}else{n()}}function s(){var M=G.getCurrentMapType().getMinLevel();var L=G.getCurrentMapType().getMaxLevel();var N=G.getZoom();r.className="IWCompactSliderControl";e.style.display="none";if(N<L){if(N>M){if(c!=null){c.style.display="block"}}else{if(E!=null){E.style.display="block"}}}else{if(z!=null){z.style.display="block"}}}function n(){r.className="IWSliderControl";e.style.display="block";D.style.display="block"}}IWSliderControl.STYLE_FULL=0;IWSliderControl.STYLE_COMPACT=1;IWSliderControl.STYLE_COMPACT_BIRDS_VIEW=2;function IWTabbedPanelControl(a,n){IWControl.call(this,a,"IWTabbedPanelControl");this.setSize=function(o){j=o;e.style.width=j.getWidth()+"px";e.style.height=j.getHeight()+"px"};this.setTabTextSize=function(o){d.style.fontSize=o};this.setTabColor=function(o){d.style.color=o;g=o;f.style.borderLeftColor=g;f.style.borderRightColor=g;f.style.borderBottomColor=g};this.setTabHeight=function(o){c=parseInt(o)};this.addPanel=function(o,s){if((typeof o.isPanelControl=="undefined")||!o.isPanelControl()){alert("IWTabbedPanelControl: Only IWPanelControls allowed!");return}for(var q=0;q<_panels.length;q++){if(_panels[q][0]==o){alert("IWTabbedPanelControl: Panel already added: "+o);
return}}var r=document.createElement("div");r.style.position="absolute";r.style.height=c+"px";r.style.cursor="pointer";r.style.whiteSpace="nowrap";r.appendChild(document.createTextNode(s));d.appendChild(r);IWEventManager.addDomListener(r,"onclick",function(){this.showTab(o)}.iwclosure(this));o.setSize(new IWSize(j.getWidth(),j.getHeight()-c-1));_panels.push(new Array(o,s,r));m();if(_panels.length>=1){this.showTab(_panels[0][0])}};this.removePanel=function(o){for(var s=0;s<_panels.length;s++){if(_panels[s][0]==o){d.removeChild(_panels[s][2]);if(b==o){f.removeChild(_panels[s][0].getContainer())}var q=new Array();for(var r=0;r<_panels.length;r++){if(s!=r){q.push(_panels[r])}}_panels=q;m();if(b==o){this.showTab(_panels[0][0])}else{k()}return true}}return false};this.showTab=function(o){for(var q=0;q<_panels.length;q++){if(_panels[q][0]==o){if(b){f.removeChild(b.getContainer())}f.appendChild(o.getContainer());b=o;k();return true}}return false};function m(){var o=j.getWidth()/_panels.length;for(var q=0;q<_panels.length;q++){if(q==_panels.length-1){_panels[q][2].style.width=o-2+"px"}else{_panels[q][2].style.width=o-1+"px"}_panels[q][2].style.left=o*q+"px"}}function k(){var s=new Array("dddddd","cccccc","bbbbbb","aaaaaa","999999","888888","777777","666666","555555");if(_panels.length-1<s.length){step=parseInt(s.length/_panels.length-1)}if(step==0){step++}var r=false;for(var q=0;q<_panels.length;q++){if(_panels[q][0]==b){_panels[q][2].style.backgroundColor=_panels[q][0].getBackgroundColor();_panels[q][2].style.borderLeftWidth="1px";_panels[q][2].style.borderLeftStyle="solid";_panels[q][2].style.borderLeftColor=g;_panels[q][2].style.borderTopWidth="1px";_panels[q][2].style.borderTopStyle="solid";_panels[q][2].style.borderTopColor=g;_panels[q][2].style.borderBottomWidth="0px";_panels[q][2].style.borderBottomStyle="solid";_panels[q][2].style.borderBottomColor=g;r=true}else{var o=q;if(r){o--}if(q<s.length){_panels[q][2].style.backgroundColor="#"+s[step*o]}else{_panels[q][2].style.backgroundColor="#"+s[s.length-1]}_panels[q][2].style.borderLeftWidth="1px";_panels[q][2].style.borderLeftStyle="solid";_panels[q][2].style.borderLeftColor=g;_panels[q][2].style.borderTopWidth="1px";_panels[q][2].style.borderTopStyle="solid";_panels[q][2].style.borderTopColor=g;_panels[q][2].style.borderBottomWidth="1px";_panels[q][2].style.borderBottomStyle="solid";_panels[q][2].style.borderBottomColor=g}if(q==_panels.length-1){_panels[q][2].style.borderRightWidth="1px";_panels[q][2].style.borderRightStyle="solid";_panels[q][2].style.borderRightColor=g}else{_panels[q][2].style.borderRightWidth="0px";_panels[q][2].style.borderRightStyle="solid";_panels[q][2].style.borderRightColor=g}}}this.getContainer().id="divTabbedPanelControl";var h=this;var e=this.getContainer();var c=15;var g="black";var b=null;_panels=new Array();var j;if(typeof n=="undefined"){j=new IWSize(100,100)}else{j=n}var d=document.createElement("div");d.id="divTabs";e.appendChild(d);d.style.position="absolute";d.style.top="0px";d.style.left="0px";d.style.width=j.getWidth()+"px";d.style.height=c+"px";this.setTabTextSize("9pt");var f=document.createElement("div");f.id="divPanels";e.appendChild(f);f.style.position="absolute";f.style.visibility="inherit";f.style.top=c+1+"px";f.style.left="0px";f.style.width=j.getWidth()-2+"px";f.style.height=j.getHeight()-c-2+"px";f.style.borderLeftWidth="1px";f.style.borderLeftStyle="solid";f.style.borderLeftColor=g;f.style.borderRightWidth="1px";f.style.borderRightStyle="solid";f.style.borderRightColor=g;f.style.borderBottomWidth="1px";f.style.borderBottomStyle="solid";f.style.borderBottomColor=g;this.setSize(n)}function IWToolbarControl(e){IWControl.call(this,e,"IWToolbarControl");var c=this;var b=new Object();var a=this.getContainer();var d=0;this.addItem=function(r){b[r.getName()]=r;var g=new IWToolbarEvent();g.item=r;this.triggerOnAppendStart(g);var k=g.item.getNode();if(k==null){throw"IWToolbarControl.addItem failed. The item.getNode() returns null."}iw.append(a,k);
var q=parseInt(k.style.width);var h=parseInt(k.style.height);a.style.width=parseInt(a.style.width)+q+"px";this.triggerOnAppendEnd(g);k.style.left=d+"px";d+=q;if(h>parseInt(a.style.height)){a.style.height=h+"px"}var n=null;try{n=iw.create('<map name="toolbarMap'+r.getName()+'">')}catch(o){n=iw.create("map");n.name="toolbarMap"+r.getName()}n.id="toolbarMap"+r.getName();var j=iw.create("area");iw.append(n,j);j.shape="rect";j.coords="0,0,"+q+","+h;try{iw.append(k,n)}catch(o){return}var m=iw.create("img");iw.append(k,m);m.useMap="#toolbarMap"+r.getName();m.src=iwconst.GLOBAL_APP_URL+"img/symbols/blank.gif";m.border="0px";m.style.position="absolute";m.style.top="0px";m.style.left="0px";m.style.height="100%";m.style.width="100%";IWEventManager.addDomListener(j,"onclick",function(t){var s=new IWToolbarEvent();s.item=r;c.triggerOnClick(s)}.iwclosure(r));IWEventManager.addDomListener(j,"onmouseover",function(t){var s=new IWToolbarEvent();s.item=r;c.triggerOnMouseOver(s)}.iwclosure(r));IWEventManager.addDomListener(j,"onmouseout",function(t){var s=new IWToolbarEvent();s.item=r;c.triggerOnMouseOut(s)}.iwclosure(r))};this.removeItem=function(k){if(k!=null&&b[k.getName()]){var j=k.getNode();var g=parseInt(j.style.width);a.style.width=parseInt(a.style.width)-g+"px";d=d-g;var m=j.nextSibling;while(m){m.style.left=parseInt(m.style.left)-g+"px";m=m.nextSibling}b[k.getName()]=null;iw.remove(j);var h=new IWToolbarEvent();h.item=k;this.triggerOnRemove(h)}};this.getItem=function(g){return b[g]};this.toString=function(){return"[IWToolbarControl]"};this.triggerOnMouseOver=function(g){IWEventManager.trigger(this,"onmouseover",g)};this.triggerOnMouseOut=function(g){IWEventManager.trigger(this,"onmouseout",g)};this.triggerOnClick=function(g){IWEventManager.trigger(this,"onclick",g)};this.triggerOnAppendStart=function(g){IWEventManager.trigger(this,"onappendstart",g)};this.triggerOnAppendEnd=function(g){IWEventManager.trigger(this,"onappendend",g)};this.triggerOnRemove=function(g){IWEventManager.trigger(this,"onremove",g)};function f(){a.id="IWToolbarControl";a.style.position="absolute";a.style.height="0px";a.style.width="0px"}f()}function IWToolbarItem(a){var b=null;this.getName=function(){return a};this.getNode=function(){return b};this.setNode=function(c){b=c};this.toString=function(){return"[IWToolbarItem] name: "+a}}function IWToolbarEvent(){this.item=null;this.toString=function(){return"[IWToolbarEvent]\u0020"+(this.item!=null?this.item.getName():"")}}function IWWindowControl(b,k,o){IWControl.call(this,b,"IWWindowControl");var m=this;var c=this.getContainer();var n=iw.create("div");var h=iw.create("span");var d=true;var a=new IWPanelControl(b,o);var e=false;var j=new IWLanguagePack();j.addLanguage(new IWLanguage("de",iwconst.LOCAL_APP_URL+"lang/IWWindowControl.lang.de"));j.addLanguage(new IWLanguage("en",iwconst.LOCAL_APP_URL+"lang/IWWindowControl.lang.en"));j.addLanguage(new IWLanguage("es",iwconst.LOCAL_APP_URL+"lang/IWWindowControl.lang.es"));j.addLanguage(new IWLanguage("tr",iwconst.LOCAL_APP_URL+"lang/IWWindowControl.lang.tr"));j.addLanguage(new IWLanguage("fr",iwconst.LOCAL_APP_URL+"lang/IWWindowControl.lang.fr"));j.addLanguage(new IWLanguage("it",iwconst.LOCAL_APP_URL+"lang/IWWindowControl.lang.it"));var g=new Object();IWMultiLanguageSupport.call(g,b,j);this.buildBody=function(q){};this.beforeOpen=function(){};this.afterOpen=function(){};this.beforeClose=function(){};this.afterClose=function(){};this.setCloseable=function(q){d=q};this.isCloseable=function(){return d};this.close=function(){m.triggerOnCloseStart();m.beforeClose();m.setVisible(false);m.afterClose();m.triggerOnCloseEnd()};this.open=function(){m.triggerOnOpenStart();m.beforeOpen();m.setVisible(true);m.afterOpen();m.triggerOnOpenEnd()};this.getSize=function(){return a.getSize()};this.setSize=function(q){o=q;c.style.height=o.getHeight()+25+"px";c.style.width=o.getWidth()+"px";n.style.width=o.getWidth()-10+"px";a.setSize(o)};this.getContentPanel=function(){return a};this.getTitle=function(){return h.innerHTML
};this.setTitle=function(q){h.innerHTML=q};this.afterAppend=function(){IWEventManager.addListener(g,"onlanguagepackload",function(q){if(e==false){f();e=true}});g.loadLanguagePack(b.getOptions().getLanguage())};this.triggerOnOpenStart=function(){IWEventManager.trigger(this,"onopenstart",null)};this.triggerOnOpenEnd=function(){IWEventManager.trigger(this,"onopenend",null)};this.triggerOnCloseStart=function(){IWEventManager.trigger(this,"onclosestart",null)};this.triggerOnCloseEnd=function(){IWEventManager.trigger(this,"oncloseend",null)};function f(){n.className="IWWindowControlHeader";iw.append(n,h);if(m.isCloseable()){var q=iw.create("img");n.appendChild(q);q.style.position="absolute";q.style.right="4px";q.style.top="4px";q.src=iwconst.GLOBAL_APP_URL+"img/symbols/close.png";q.style.cursor="pointer";g.addLabelFor(new IWLabel("CLOSE",q,"alt"));g.addLabelFor(new IWLabel("CLOSE",q,"title"));IWEventManager.addDomListener(q,"onclick",m.close)}iw.append(c,n);a.getContainer().style.position="absolute";a.getContainer().style.top="22px";a.getContainer().style.left="0px";a.setBackgroundColor("#FFFFFF");a.setOpacity(1);iw.append(c,a.getContainer());m.buildBody(m.getContentPanel().getContainer())}if(typeof o=="undefined"){o=new IWSize(100,100)}if(typeof k=="undefined"){k="IWWindowControl"}this.setSize(o);this.setTitle(k);this.allowDraggingOutsideParent(false);this.setDraggableContainer(n);this.setDraggable(true);this.setVisible(false)}function IWZoomBoxControl(map){IWControl.call(this,map,"IWZoomBoxControl");var self=this;var divZoomBox=this.getContainer();var divMiddel=null;var divContent=null;var mouseAdapter=new IWMouseAdapter();var logger=log4javascript.getLogger("IWZoomBoxControl");var lastMousePositionX=null;var lastMousePositionY=null;var startPositionX=0;var startPositionY=0;var mapHeightPixel=0;var mapWidthPixel=0;this.afterAppend=function(){buildGUI()};this.toString=function(){return"[IWZoomBoxControl]"};function buildGUI(){self.setId("IWZoomBoxControl");with(divZoomBox.style){backgroundColor="#ffffff";opacity="0.6";filter="alpha(opacity=60)";position="absolute";overflow="hidden";zIndex="0";width="0px";height="0px"}var divHorizontal=iw.create("div");iw.append(divZoomBox,divHorizontal);with(divHorizontal.style){position="absolute";top="50%";left="0px";width="100%";height="1px";overflow="visible"}divMiddel=iw.create("div");iw.append(divHorizontal,divMiddel);with(divMiddel.style){marginLeft="-48px";position="absolute";top="50%";left="50%";width="96px";height="96px";textAlign="center";color="#d0d0d0";overflow="visible"}divContent=iw.create("div");iw.append(divMiddel,divContent);divContent.style.fontSize="96px"}function redrawZoomingBox(mousePositionXY){var boxLeft=0;var boxRight=0;var boxTop=0;var boxBottom=0;if(mousePositionXY.x<startPositionX){boxLeft=mousePositionXY.x;boxRight=startPositionX}else{boxLeft=startPositionX;boxRight=mousePositionXY.x}var boxWidth=boxRight-boxLeft;if(mousePositionXY.y<startPositionY){boxTop=mousePositionXY.y;boxBottom=startPositionY}else{boxTop=startPositionY;boxBottom=mousePositionXY.y}var boxHeight=boxBottom-boxTop;divZoomBox.style.height=boxHeight+"px";divZoomBox.style.width=boxWidth+"px";divZoomBox.style.top=boxTop+"px";divZoomBox.style.left=boxLeft+"px";if(startPositionX<mousePositionXY.x){divMiddel.style.marginTop="-54px";divContent.innerHTML="+"}else{divMiddel.style.marginTop="-63px";divContent.innerHTML="-"}if(divZoomBox.style.visibility!="visible"){divZoomBox.style.visibility="visible"}}function isMouseCursorInsideMap(mousePositionX,mousePositionY){if(mousePositionX<0||mousePositionX>mapWidthPixel){return false}if(mousePositionY<0||mousePositionY>mapHeightPixel){return false}return true}function prepareMouseZooming(mousePositionXY){startPositionX=mousePositionXY.x;startPositionY=mousePositionXY.y;var onMouseMoveListener=IWEventManager.addDomListener(window.document,"onmousemove",function(event){if(!event){event=window.event}var mousePositionXY=mouseAdapter.getPositionXY(event,map.getContainer());
if(lastMousePositionX==mousePositionXY.x&&lastMousePositionY==mousePositionXY.y){return}lastMousePositionX=mousePositionXY.x;lastMousePositionY=mousePositionXY.y;if(isMouseCursorInsideMap(mousePositionXY.x,mousePositionXY.y)){redrawZoomingBox(mousePositionXY)}});var onMouseUpListener=IWEventManager.addListener(map,"onmouseup",function(mouseEvent){divZoomBox.style.visibility="hidden";IWEventManager.removeListener(onMouseMoveListener);IWEventManager.removeListener(onMouseUpListener);onMouseMoveListener=null;onMouseUpListener=null;map.getZoomingAndDraggingContainer().style.cursor="auto";var maptype=map.getCurrentMapType();var projection=maptype.getProjection();var endPositionX=mouseEvent.position.getX();var endPositionY=mouseEvent.position.getY();if(Math.abs(startPositionX-endPositionX)<5&&Math.abs(startPositionY-endPositionY)<5){return}var zoomCenterX=0;var zoomCenterY=0;var newZoomLevel=0;if(startPositionX<endPositionX){var coordNW=projection.pixelToMeter(new IWPoint(startPositionX,startPositionY));var coordSE=projection.pixelToMeter(mouseEvent.position);newZoomLevel=map.getBoundsZoomlevel(new IWBounds(coordNW,coordSE));zoomCenterX=((endPositionX-startPositionX)/2)+startPositionX}else{var distanceX=Math.abs(startPositionX-endPositionX);var distanceY=Math.abs(startPositionY-endPositionY);var size=map.getOptions().getSize();var currentWidth=size.getWidth();var currentHeight=size.getHeight();var factorX=currentWidth/distanceX;var factorY=currentHeight/distanceY;var offsetX=(factorX*currentWidth)/4;var offsetY=(factorY*currentHeight)/4;var coordNW=projection.pixelToMeter(new IWPoint(0-offsetX,0-offsetY));var coordSE=projection.pixelToMeter(new IWPoint(currentWidth+offsetX,currentHeight+offsetY));newZoomLevel=map.getZoomByMeter(coordSE.getX()-coordNW.getX());zoomCenterX=((startPositionX-endPositionX)/2)+endPositionX}if(startPositionY<endPositionY){zoomCenterY=((endPositionY-startPositionY)/2)+startPositionY}else{zoomCenterY=((startPositionY-endPositionY)/2)+endPositionY}var event=new IWZoomEvent();event.newZoomLevel=newZoomLevel;map.triggerOnZoomStart(event);map.zoom(map.getZoom(),newZoomLevel,zoomCenterX,zoomCenterY,true)})}IWEventManager.addDomListener(map.getZoomingAndDraggingContainer(),"onmousedown",function(event){var mouseButton=mouseAdapter.getButton(event);var options=map.getOptions();if((mouseButton==IWButton.LEFT&&options.getLeftMouseAction()==IWMapOptions.CONTROL_ZOOM)||(mouseButton==IWButton.RIGHT&&options.getRightMouseAction()==IWMapOptions.CONTROL_ZOOM)){var size=options.getSize();mapHeightPixel=size.getHeight();mapWidthPixel=size.getWidth();map.getZoomingAndDraggingContainer().style.cursor="crosshair";var mousePositionXY=mouseAdapter.getPositionXY(event,map.getContainer());prepareMouseZooming(mousePositionXY)}})}var iw={id:function(a){return document.getElementById(a)},trim:function(a){return a.replace(/^\s+|\s+$/g,"")},search:function(c,d){if(c.id==d){return c}for(var a=0;a<c.childNodes.length;a++){var b=this.search(c.childNodes[a],d);if(b!=null){return b}}return null},name:function(a){return document.getElementsByName(a)},tag:function(a,b){return(b||document).getElementsByTagName(a)},hasClass:function(a,d){var f=[];var c=new RegExp("(^|\\s)"+a+"(\\s|$)");var g=document.getElementsByTagName(d||"*");for(var b=0;b<g.length;b++){if(c.test(g[b].className)){f.push(g[b])}}return f},clone:function(c){if(c==null||typeof(c)!="object"){return c}var a=new c.constructor();for(var b in c){if(c[b].cloneNode){a[b]=c[b].cloneNode(true)}else{a[b]=clone(c[b])}}return a},create:function(a){return document.createElement(a)},before:function(a,c,b){if(b==null){b=c;c=a;a=c.parentNode}try{a.insertBefore(iw.checkElem(b),c)}catch(d){}},append:function(a,b){a.appendChild(iw.checkElem(b))},checkElem:function(b){if(b!=null&&b.constructor==String){var a=iw.create("span");a.innerHTML=b;return a}return b},remove:function(a){if(a&&a.parentNode){a.parentNode.removeChild(a)}},getMousePositionXY:function(a){if(typeof a.type!="undefined"){if(a.type=="touchstart"||a.type=="touchmove"){a=a.touches[0]
}else{if(a.type=="touchend"){a=a.changedTouches[0]}}}if(a.clientX||a.clientY){return{x:a.clientX,y:a.clientY}}else{if(a.pageX||a.pageY){return{x:a.pageX+document.body.scrollLeft+document.documentElement.scrollLeft,y:a.pageY+document.body.scrollTop+document.documentElement.scrollTop}}}},empty:function(a){while(a.firstChild){if(a.firstChild.firstChild){iw.empty(a.firstChild.firstChild)}iw.remove(a.firstChild)}},absolute:function(c,b){var g=c;var a=0;var h=0;do{var f=(g.style.left?parseInt(g.style.left):0);var d=(g.style.top?parseInt(g.style.top):0);if(g.style.position!="absolute"&&(f!=0||d!=0)){throw"Invalid positioning attribute: "+g.style.position+". Require absolute positioning."}a+=f;h+=d;g=g.parentNode}while(g.parentNode!=null&&g!=b);return new IWPoint(a,h)},backgroundImage:function(parent,imageURL){var img=iw.create("img");with(img.style){position="absolute";top="0px";left="0px";width="100%";height="100%"}if(imageURL.match(".*.png$")){img.onload=function(){correctPNG(this)}.iwclosure(img)}iw.append(parent,img);img.src=imageURL},strict:function(c,a){if(c.length!=a.length){throw"Invalid number of arguments. Excepted "+c.length+", received "+a.length+" instead."}for(var b=0;b<a.length;b++){if(a[b].constructor!=c[b]){throw"Invalid argument type. Excepted "+c[b].name+", received "+a[b].constructor.name+" instead."}}},extractFilePath:function(b){var a=b.match(/(.*)\/([^\/\\]+)(\.\w+)$/);if(a==null||a.length<=3){throw"extractFilePath: invalid filepath "+b}return{path:a[1],file:a[2],extension:a[3]}},fireMouseEvent:function(f,h,a){var e=0;var d=0;var c=0;var b=0;var g=0;if(typeof a!="undefined"){e=a.screenX;d=a.screenY;c=a.clientX;b=a.clientY;g=a.button}if(document.createEvent){var j=document.createEvent("MouseEvents");j.initMouseEvent(h,true,false,window,0,0,0,c,b,false,false,false,false,g,null);f.dispatchEvent(j)}else{if(document.createEventObject){var j=document.createEventObject();j.detail=0;j.screenX=e;j.screenY=d;j.clientX=c;j.clientY=b;j.ctrlKey=false;j.altKey=false;j.shiftKey=false;j.metaKey=false;j.button=g;j.relatedTarget=null;f.fireEvent("on"+h,j)}}},destroy:function(f){if(f==null){return}var c=f.attributes,d,b,h;if(c){b=c.length;for(d=0;d<b;d+=1){h=c[d].name;if(typeof f[h]==="function"){f[h]=null}}}c=f.childNodes;if(c){b=c.length;for(d=b;d>0;d--){iw.destroy(c[d-1])}}iw.remove(f);if(typeof f.outerHTML!="undefined"){try{f.outerHTML=null}catch(g){}}},getPageOffset:function(){var a=null;if(window.pageYOffset){a=new IWPoint(window.pageXOffset,window.pageYOffset)}else{if(document.documentElement&&document.documentElement.scrollTop){a=new IWPoint(document.documentElement.scrollLeft,document.documentElement.scrollTop)}else{if(document.body){a=new IWPoint(document.body.scrollLeft,document.body.scrollTop)}else{a=new IWPoint(0,0)}}}return a},getPageOffsetXY:function(){if(window.pageYOffset){return{x:window.pageXOffset,y:window.pageYOffset}}else{if(document.documentElement&&document.documentElement.scrollTop){return{x:document.documentElement.scrollLeft,y:document.documentElement.scrollTop}}else{if(document.body){return{x:document.body.scrollLeft,y:document.body.scrollTop}}else{return{x:0,y:0}}}}},random:function(b,a){return Math.floor(Math.random()*(a-b+1))+b},windowSize:function(){var b=0;var a=0;if(window.innerWidth&&window.innerHeight){b=window.innerWidth;a=window.innerHeight}else{if(document.documentElement.clientWidth&&document.documentElement.clientHeight){b=document.documentElement.clientWidth;a=document.documentElement.clientHeight}else{if(document.body.clientWidth&&document.body.clientHeight){b=document.body.clientWidth;a=document.body.clientHeight}else{alert("Error reading window size!");return}}}return new IWSize(b,a)},replace:function(e,c,a){if(e==null||c==null){return null}if(e.length==0||c.length==0){return e}if(a==null||a.length==0){a=""}var b=c.length;var d=a.length;var f=e.indexOf(c,0);while(f>=0){e=e.substring(0,f)+a+e.substring(f+b);f=e.indexOf(c,f+d)}return e},noPropagation:function(a){if(!a){a=window.event}a.cancelBubble=true;
if(a.stopPropagation){a.stopPropagation()}return false},disableSelection:function(a){if(typeof a.onselectstart!="undefined"){a.onselectstart=function(c){var f=c?c:window.event;if(f.button!=1){var b=null;if(f.target){b=f.target}else{if(f.srcElement){b=f.srcElement}}var d=b.tagName.toLowerCase();if((d!="input")&&(d!="textarea")){return false}}}}else{if(typeof a.style.MozUserSelect!="undefined"){a.style.MozUserSelect="-moz-none"}else{a.onmousedown=function(){return false}}}},enableSelection:function(a){if(typeof a.onselectstart!="undefined"){}else{if(typeof a.style.MozUserSelect!="undefined"){a.style.MozUserSelect="text"}else{a.onmousedown=function(){return true}}}}};function IWCloneable(){}IWCloneable.prototype.clone=function(){alert("Methode clone is not implemented.")};function IWDraggable(m,j){var n=this;var v=log4javascript.getLogger("IWDraggable");var e=false;var f=null;var k=false;var w=IWButton.LEFT;var b=null;var d=null;var s=null;var u=new IWMouseAdapter();var h=null;var c=null;var o=null;var q=null;var r=window.document;if(typeof m=="undefined"){m=null}if(typeof j=="undefined"){j=null}this.allowDraggingOutsideParent=function(x){if(x==true||x==false){k=x}else{throw"Type exception allowDraggingOutsideParent: "+x+". A boolean value is needed."}};this.isDraggingOutsideParentAllowed=function(){return k};this.setOnMouseMoveContainer=function(x){r=x};this.getOnMouseMoveContainer=function(){return r};this.setDraggingBounds=function(x){q=x};this.getDraggingBounds=function(){return q};this.setDraggable=function(x){if(x==true||x==false){e=x}else{throw"Type exception draggable: "+x+". A boolean value is needed."}if(e){IWEventManager.addDomListener(f,"ondrag",function(y){return iw.noPropagation(y)});s=IWEventManager.addDomListener(f,"onmousedown",function(A){if(!A){A=window.event}if(A.cancelable){A.preventDefault()}var z=u.toMouseEvent(A,j);if(e&&(w&z.button)){var H=parseInt(m.style.left);var G=parseInt(m.style.top);var D=iw.absolute(m,j);var C=z.position.getX()-D.getX();var B=z.position.getY()-D.getY();c=new IWPoint(C,B);var F=z.position.getX()-c.getX()-(D.getX()-H);var E=z.position.getY()-c.getY()-(D.getY()-G);h=new IWPoint(F,E);o=h;document.body.style.cursor=f.style.cursor="move";a()}})}else{if(s!=null){document.body.style.cursor=f.style.cursor="auto";IWEventManager.removeListener(s)}}};this.isDraggable=function(){return e};this.setDraggableContainer=function(x){if(x.style){f=x}else{throw"Type exception container: "+x+"."}};this.getDraggableContainer=function(){return f};this.setDragButton=function(x){var y=parseInt(x);if(y&(IWButton.LEFT+IWButton.MIDDLE+IWButton.RIGHT)){w=x}else{throw"Invalid drag button "+x+". Use one of the following constants: IWButton.LEFT, IWButton.MIDDLE or IWButton.RIGHT."}};this.getDragButton=function(){return w};this.triggerOnDragStart=function(x){v.info("Calling triggerOnDragStart with "+x+".");IWEventManager.trigger(this,"ondragstart",x)};this.triggerOnDrag=function(x){v.info("Calling triggerOnDrag with "+x+".");IWEventManager.trigger(this,"ondrag",x)};this.triggerOnDragEnd=function(x){v.info("Calling triggerOnDragEnd with "+x+".");IWEventManager.trigger(this,"ondragend",x)};function a(){v.debug("Function prepareDragging is called.");var x=new IWMouseEvent();x.position=o;x.lastPosition=o;x.offset=new IWPoint(0,0);n.triggerOnDragStart(x);IWEventManager.removeListener(b);IWEventManager.removeListener(d);b=null;d=null;b=IWEventManager.addDomListener(r,"onmousemove",function(y){var z=u.toMouseEvent(y,j);if(q==null||q.containsPoint(z.position)){t(z)}else{g()}});d=IWEventManager.addDomListener(r,"onmouseup",function(){g()})}function t(z){v.debug("Calling drag with "+z+".");var G=z.position;var C=new IWPoint(G.getX()-c.getX(),G.getY()-c.getY());if(!k){var A=parseInt(j.style.width);var H=parseInt(j.style.height);if(C.getX()+m.offsetWidth>=A){C.setX(A-m.offsetWidth)}else{if(C.getX()<=0){C.setX(0)}}if(C.getY()+m.offsetHeight>=H){C.setY(H-m.offsetHeight)}else{if(C.getY()<=0){C.setY(0)}}}var F=parseInt(m.style.left);
var D=parseInt(m.style.top);var B=iw.absolute(m,j);m.style.left=C.getX()-(B.getX()-F)+"px";m.style.top=C.getY()-(B.getY()-D)+"px";var J=C.getX()-o.getX();var I=C.getY()-o.getY();var E=new IWMoveEvent();E.position=C;E.lastPosition=o;E.offset=new IWPoint(J,I);o=C;n.triggerOnDrag(E)}function g(){v.debug("Calling drop.");IWEventManager.removeListener(b);IWEventManager.removeListener(d);b=null;d=null;f.style.cursor="pointer";document.body.style.cursor="auto";var z=o.getX()-h.getX();var y=o.getY()-h.getY();var x=new IWMoveEvent();x.position=o;x.lastPosition=h;x.offset=new IWPoint(z,y);n.triggerOnDragEnd(x)}this.setDraggableContainer(m)}function IWNodeElement(b){var e=null;var d=new Array();var c=false;var f=false;var a=log4javascript.getLogger("IWNodeElement");this.isNodeElement=true;this.setParent=function(g){if(g!=null&&!g.isNodeElement){throw'NodeElement.setParent: "'+g+'" does not implement tree functionality!'}e=g};this.hasChildren=function(){return(d!=null&&d.length!=0)};this.hasChild=function(h){for(var g=0;g<d.length;g++){if(h==d[g]){return true}}return false};this.getChildren=function(){return d};this.getParent=function(){return e};this.add=function(g){if(!g.isNodeElement){throw'NodeElement.add: "'+g+'" does not implement tree functionality!'}if(this.hasChild(g)||this.checkIfExistsAsParent(g)||g.getParent()!=null){throw'NodeElement.add: Node "'+g.getName()+'" could not be added'}g.setParent(this);this.getChildren().push(g)};this.remove=function(h){if(!this.hasChild(h)){throw"NodeElement.remove: Node not found"}h.setParent(null);for(var g=0;g<this.getChildren().length;g++){if(h==this.getChildren()[g]){this.getChildren().splice(g,1);break}}};this.getName=function(){return b};this.setName=function(g){b=g};this.checkIfExistsAsParent=function(g){if(g==this){return true}if(this.getParent()==null){return false}return this.getParent().checkIfExistsAsParent(g)};this.mark=function(){var g=c;c=true;if(g!=c){this.triggerOnStateChange()}};this.unmark=function(){var g=c;c=false;if(g!=c){this.triggerOnStateChange()}};this.isMarked=function(){return c};this.collapse=function(){var g=f;f=true;if(g!=f){this.triggerOnViewChange()}};this.expand=function(){var g=f;f=false;if(g!=f){this.triggerOnViewChange()}};this.isCollapsed=function(){return f};this.triggerOnStateChange=function(){IWEventManager.trigger(this,"onstatechange",null)};this.triggerOnViewChange=function(){IWEventManager.trigger(this,"onviewchange",null)}}function IWSessionKeeper(){var a=iw.create("img");a.width="0px";a.height="0px";a.style.position="absolute";a.style.left="0px";a.style.top="0px";a.style.display="none";document.body.appendChild(a);if(iwconst.KEEPALIVE_INTERVAL>0){window.setInterval(function(){a.src=iwconst.GLOBAL_APP_URL+"img/symbols/blank.gif?randomKey="+iw.random(0,1000000000)},iwconst.KEEPALIVE_INTERVAL*1000)}}function IWFormatNodeEvent(){this.obj=null;this.node=null;this.toString=function(){return"[IWFormatNodeEvent]"}}function IWTreeNode(e){var a=null;var c=null;var b=null;var f=null;var h=null;var d=new Array();var g=null;var j=log4javascript.getLogger("IWTreeNode");this.hasParent=function(){return h!=null};this.setParent=function(k){h=k};this.hasChildren=function(){return(d.length>0)};this.addChild=function(k){d.push(k)};this.getChildren=function(){return d};this.getNode=function(){return e};this.getCheckbox=function(){return g};this.setCheckbox=function(k){g=k};this.setState=function(m){var k=m.toLowerCase();if(k=="expanded"||k=="collapsed"){a=k}else{throw"Invalid state: "+a}};this.getState=function(){return a};this.setContainer=function(k){b=k};this.getContainer=function(){return b};this.setLastChild=function(k){c=k};this.isLastChild=function(){return c};this.isExpanded=function(){return(a=="expanded")};this.isCollapsed=function(){return(a=="collapsed")};this.getDomNode=function(){return f};this.getTreeImage=function(){return treeImage};this.setDomNode=function(k){f=k};this.toString=function(){return"[IWTreeNode] node: "+e.toString()+", state: "+a+", hasParent: "+this.hasParent()+", hasChildren: "+this.hasChildren()+", isLastChild: "+c+", isExpanded: "+this.isExpanded()+", isCollapsed: "+this.isCollapsed()
}}function IWTreeNodeClickedEvent(){this.treeNode=null;this.toString=function(){return"[IWTreeNodeClickedEvent] treeNode: "+this.treeNode.toString()}}function IWTreeView(m){var o=this;var b=new Array();var h=new Array();var c=iw.create("div");var n=log4javascript.getLogger("IWTreeView");this.addNodes=function(q){for(var r=0;r<q.length;r++){this.addNode(q[r])}};this.addNode=function(q){b.push(q)};this.getNodes=function(){return b};this.getContainer=function(){return c};this.getParent=function(){return m};this.getTreenodes=function(){return h};this.build=function(){iw.empty(m);c.style.visibility="hidden";iw.append(m,c);for(var q=0;q<b.length;q++){var r=b[q];if(q==(b.length-1)){g(null,r,2,"1",false)}else{g(null,r,2,"0",false)}}c.style.visibility="visible"};function d(q){q.id="treeview";q.style.position="relative";q.style.top="0px";q.style.left="0px";q.style.width=m.style.width;q.style.height=m.style.height;q.style.overflow="auto"}function e(q){if(q.isCollapsed()){k(q)}else{if(q.isExpanded()){j(q)}}}function g(z,D,J,u,t){var F=iw.create("div");iw.append(c,F);F.style.display="block";var C=new IWTreeNode(D);if(D.isCollapsed()){C.setState("collapsed")}else{C.setState("expanded")}C.setContainer(F);C.setLastChild(u.charAt(u.length-1)=="1");IWEventManager.addListener(D,"onstatechange",function(){this.getCheckbox().checked=this.getNode().isMarked()}.iwclosure(C));IWEventManager.addListener(D,"onviewchange",function(){n.debug("Receiving viewchanged event for "+D);if(this.getNode().isCollapsed()){j(this)}else{k(this)}}.iwclosure(C));if(z!=null){z.addChild(C);C.setParent(z)}else{h.push(C)}var H=iw.create("table");iw.append(F,H);H.border="0px";H.cellPadding="0px";H.cellSpacing="0px";var q=H.insertRow(0);for(var G=0;G<J;G++){var x=iw.create("td");iw.append(q,x);x.style.verticalAlign="top";x.style.margin="0px";if(G==(J-1)){var B=null;try{if(D.isMarked()){B=iw.create('<input type="checkbox" checked>')}else{B=iw.create('<input type="checkbox">')}}catch(I){B=iw.create("input");B.type="checkbox";B.checked=D.isMarked()}B.id="cb_"+D.getName();B.style.border="0px";C.setCheckbox(B);x.className="treeviewNode";iw.append(x,B);var E=new IWFormatNodeEvent();E.obj=null;E.node=D;o.triggerOnFormatNode(E);if(E.obj!=null){iw.append(x,E.obj)}else{var y=iw.create("label");y.innerHTML=D.getName();y.htmlFor="cb_"+D.getName();iw.append(x,y)}IWEventManager.addDomListener(B,"onclick",function(){this.getNode().setVisible(this.getCheckbox().checked);var s=new IWTreeNodeClickedEvent();s.treeNode=this;o.triggerOnNodeClick(s)}.iwclosure(C))}else{x.style.width="16px";x.style.height="22px";var v=iw.create("div");v.style.height="22px";v.style.width="16px";iw.append(x,v);C.setDomNode(x);x.style.background="url("+iwconst.GLOBAL_APP_URL+"img/controls/treeview/sprite-treeview.gif) no-repeat top left";if(G==(J-2)){if(D.hasChildren()){if(C.isExpanded()){x.title="collapse";if(u.charAt(G)=="1"){x.style.backgroundPosition="0 -388px"}else{x.style.backgroundPosition="0 -532px"}}else{x.title="expand";if(u.charAt(G)=="1"){x.style.backgroundPosition="0 -316px"}else{x.style.backgroundPosition="0 -460px"}}x.style.cursor="pointer";x.onclick=function(){e(this)}.iwclosure(C)}else{if(u.charAt(G)=="1"){x.style.backgroundPosition="0 -244px"}else{x.style.backgroundPosition="0 -172px"}}}else{if(u.charAt(G)=="0"){x.style.backgroundPosition="0 0";x.style.backgroundRepeat="repeat-y"}else{x.style.backgroundPosition="0 -100px"}}}}if(t){C.getContainer().style.display="none";C.getContainer().style.visibility="hidden"}if(D.hasChildren()){J++;var r=D.getChildren();for(var G=0;G<r.length;G++){var w=r[G];var A=u;if(G==(r.length-1)){A+="1"}else{A+="0"}g(C,w,J,A,(t||C.isCollapsed()))}}}this.triggerOnNodeClick=function(q){IWEventManager.trigger(this,"onnodeclick",q)};this.triggerOnFormatNode=function(q){IWEventManager.trigger(this,"onformatnode",q)};function j(r){f(r);r.setState("collapsed");var q=r.getDomNode();q.title="expand";if(r.isLastChild()==true){q.style.backgroundPosition="0 -316px"}else{q.style.backgroundPosition="0 -460px"
}}function f(s){var r=s.getChildren();for(var q=0;q<r.length;q++){var s=r[q];s.getContainer().style.display="none";s.getContainer().style.visibility="hidden";if(s.hasChildren()){f(s)}}}function k(r){a(r);r.setState("expanded");var q=r.getDomNode();q.title="collapse";if(r.isLastChild()==true){q.style.backgroundPosition="0 -388px"}else{q.style.backgroundPosition="0 -532px"}}function a(s){var r=s.getChildren();for(var q=0;q<r.length;q++){var s=r[q];s.getContainer().style.display="block";s.getContainer().style.visibility="visible";if(s.hasChildren()&&s.isExpanded()){a(s)}}}d(c)}function IWBounds(g,c){if(g instanceof Array&&g.length>0){this._coordMin=g[0].clone();this._coordMax=g[0].clone();for(var e=1;e<g.length;e++){this.extendBy(g[e])}}else{if(g&&g.getX&&g.getY&&c&&c.getX&&c.getY){var f=Math.min(g.getX(),c.getX());var d=Math.min(g.getY(),c.getY());var b=Math.max(g.getX(),c.getX());var a=Math.max(g.getY(),c.getY());this._coordMin=new g.constructor(f,d);this._coordMax=new g.constructor(b,a)}else{if(g&&g.getX&&g.getY){this._coordMin=g.clone();this._coordMax=g.clone()}else{throw"Invalid arguments"}}}}IWBounds.prototype.getMin=function(){return this._coordMin};IWBounds.prototype.getNorthWest=function(){if(this._coordMin instanceof IWCoordinate){return new IWCoordinate(this._coordMin.getX(),this._coordMax.getY(),this._coordMin.getProjectionType())}else{return this._coordMin}};IWBounds.prototype.getMax=function(){return this._coordMax};IWBounds.prototype.getSouthEast=function(){if(this._coordMin instanceof IWCoordinate){return new IWCoordinate(this._coordMax.getX(),this._coordMin.getY(),this._coordMin.getProjectionType())}else{return this._coordMax}};IWBounds.prototype.getCenter=function(){var a=this._coordMin._x+(this._coordMax._x-this._coordMin._x)/2;var b=this._coordMin._y+(this._coordMax._y-this._coordMin._y)/2;return new this._coordMin.constructor(a,b)};IWBounds.prototype.getSize=function(){var b=this._coordMax._x-this._coordMin._x;var a=this._coordMax._y-this._coordMin._y;return new IWSize(b,a)};IWBounds.prototype.isEmpty=function(){return this._coordMin.equals(this._coordMax)};IWBounds.prototype.containsCoordinate=function(a){if(this._coordMin._x<=a._x&&this._coordMax._x>=a._x){if(this._coordMin._y<=a._y&&this._coordMax._y>=a._y){return true}}return false};IWBounds.prototype.extendBy=function(a){if(a instanceof IWBounds){this.extendBy(a.getMin());this.extendBy(a.getMax())}else{this._coordMin._x=Math.min(this._coordMin._x,a._x);this._coordMax._x=Math.max(this._coordMax._x,a._x);this._coordMin._y=Math.min(this._coordMin._y,a._y);this._coordMax._y=Math.max(this._coordMax._y,a._y)}};IWBounds.prototype.equals=function(a){if(this._coordMin.equals(a._coordMin)){if(this._coordMax.equals(a._coordMax)){return true}}return false};IWBounds.prototype.contains=function(a){if(this.containsCoordinate(a._coordMin)){if(this.containsCoordinate(a._coordMax)){return true}}return false};IWBounds.prototype.intersects=function(a){if(this._coordMax._x<a._coordMin._x){return false}else{if(this._coordMin._x>a._coordMax._x){return false}}if(this._coordMax._y<a._coordMin._y){return false}else{if(this._coordMin._y>a._coordMax._y){return false}}return true};IWBounds.prototype.toString=function(){return"[IWBounds] "+this._coordMin.toString()+" - "+this._coordMax.toString()};function IWCoordinate(b,c,a){IWCloneable.call(this);this._x=b?parseFloat(b):0;this._y=c?parseFloat(c):0;this._projection=a?a:IWCoordinate.MERCATOR}IWCoordinate.prototype.getX=function(){return this._x};IWCoordinate.prototype.setX=function(a){this._x=a};IWCoordinate.prototype.getY=function(){return this._y};IWCoordinate.prototype.setY=function(a){this._y=a};IWCoordinate.prototype.setProjectionType=function(a){this._projection=a};IWCoordinate.prototype.getProjectionType=function(){return this._projection};IWCoordinate.prototype.toWGS84=function(){if(this._projection==IWCoordinate.WGS84){return this.clone()}else{if(this._projection==IWCoordinate.MERCATOR){var a=this._x/IWCoordinate.LONGITUDE_FACTOR;
var b=(2*Math.atan(Math.exp(this._y/IWCoordinate.RADIUS))-IWCoordinate.MERCATOR_PI_OVER_2)/IWCoordinate.MERCATOR_PI_OVER_180;return new IWCoordinate(a,b,IWCoordinate.WGS84)}}};IWCoordinate.prototype.toMercator=function(){if(this._projection==IWCoordinate.MERCATOR){return this.clone()}else{if(this._projection==IWCoordinate.WGS84){var c=this._x*IWCoordinate.LONGITUDE_FACTOR;var a=Math.sin(this._y*IWCoordinate.MERCATOR_PI_OVER_180);var b=0.5*Math.log((1+a)/(1-a))*IWCoordinate.RADIUS;return new IWCoordinate(c,b,IWCoordinate.MERCATOR)}}};IWCoordinate.prototype.equals=function(a){return this.distanceFrom(a)<IWCoordinate.EPSILON};IWCoordinate.prototype.distanceFrom=function(j){var r=this.toWGS84();var q=j.toWGS84();var f=r.getY();var h=r.getX();var e=q.getY();var g=q.getX();var m=this.degreesToRadians(e-f);var b=this.degreesToRadians(g-h);var o=Math.sin(m/2)*Math.sin(m/2)+Math.cos(this.degreesToRadians(f))*Math.cos(this.degreesToRadians(e))*Math.sin(b/2)*Math.sin(b/2);var n=2*Math.atan2(Math.sqrt(o),Math.sqrt(1-o));var k=IWCoordinate.RADIUS*n;return k};IWCoordinate.prototype.degreesToRadians=function(a){return a*(Math.PI/180)};IWCoordinate.prototype.clone=function(){return new IWCoordinate(this._x,this._y,this._projection)};IWCoordinate.prototype.toString=function(){return"("+this._x+"/"+this._y+") "+this._projection};IWCoordinate.MERCATOR="MERCATOR";IWCoordinate.WGS84="WGS84";IWCoordinate.EPSILON=5;IWCoordinate.RADIUS=6378137;IWCoordinate.LONGITUDE_FACTOR=Math.PI/180*IWCoordinate.RADIUS;IWCoordinate.MERCATOR_PI_OVER_2=Math.PI/2;IWCoordinate.MERCATOR_PI_OVER_180=Math.PI/180;function IWIcon(f,a,b){var c="";var e=new IWPoint(0,0);var d=null;this.setUrl=function(g){c=g};this.getUrl=function(){return c};this.setHotspot=function(g){e=g};this.getHotspot=function(){return e};this.setSize=function(g){iw.strict([IWSize],[g]);d=g};this.getSize=function(){return d};this.toString=function(){return"[IWIcon] url: "+c+", hotspot: "+(e!=null?e.toString():"null")+", size: "+(d!=null?d.toString():"null")};if(typeof f!="undefined"){this.setUrl(f)}if(typeof a!="undefined"){this.setHotspot(a)}if(typeof b!="undefined"){this.setSize(b)}}function IWLine(c,b){var a;var d;this.getSlope=function(){return a};this.getIntercept=function(){return d};this.getIntersection=function(f){var e;var g;if(a==f.getSlope()){e=-1000000}else{e=(f.getIntercept()-d)/(a-f.getSlope())}g=a*e+d;return new IWCoordinate(e,g)};this.toString=function(){return"y = "+a+" * x + "+d};if(c.getX()==b.getX()){a=1000}else{a=(b.getY()-c.getY())/(b.getX()-c.getX())}d=c.getY()-a*c.getX()}function IWPoint(a,b){IWCloneable.call(this);this._x=a?parseInt(a):0;this._y=b?parseInt(b):0}IWPoint.prototype.setX=function(a){var b=parseInt(a);if(isNaN(b)){throw"IWPoint: x parameter is not a number."}this._x=b};IWPoint.prototype.getX=function(){return this._x};IWPoint.prototype.setY=function(b){var a=parseInt(b);if(isNaN(a)){throw"IWPoint: y parameter is not a number."}this._y=a};IWPoint.prototype.getY=function(){return this._y};IWPoint.prototype.substract=function(a){return new IWPoint(this._x-a._x,this._y-a._y)};IWPoint.prototype.add=function(a){return new IWPoint(this._x+a._x,this._y+a._y)};IWPoint.prototype.distanceFrom=function(a){var c=this._x-a._x;var b=this._y-a._y;return Math.sqrt(c*c+b*b)};IWPoint.prototype.equals=function(a){return(a._x==this._x&&a._y==this._y)};IWPoint.prototype.clone=function(){return new IWPoint(this._x,this._y)};IWPoint.prototype.toString=function(){return"[IWPoint] ("+this._x+"/"+this._y+")"};function IWRange(c,d){var b=Number.MIN_VALUE;var a=Number.MAX_VALUE;this.setMin=function(e){if(isNaN(e)){throw"Minimum value is not a number: "+e}if(e>a){throw"Minimum value is greater than the maximum value: "+e+">"+a}b=e};this.setMax=function(e){if(isNaN(e)){throw"Maximum value is not a number: "+e}if(e<b){throw"Maximum value is less than the minimum value: "+e+"<"+b}a=e};this.getMin=function(){return b};this.getMax=function(){return a};this.contains=function(e){iw.strict([Number],arguments);
return(b<=e&&e<=a)};this.toString=function(){return"[IWRange] "+b+" .. "+a};this.setMin(c);this.setMax(d)}function IWScaleDependentIcon(d,c,b,a){IWIcon.call(this,d,c,b);var e=new IWRange(0,100);this.setRange=function(f){iw.strict([IWRange],[f]);e=f};this.getRange=function(){return e};this.toString=function(){return"[IWScaleDependentIcon]"};if(typeof a!="undefined"){this.setRange(a)}}function IWSize(b,a){IWCloneable.call(this);this._width=0;this._height=0;this.setWidth(b);this.setHeight(a)}IWSize.prototype.setWidth=function(b){var a=parseInt(b);if(a==NaN||a<0){throw"IWSize: Width parameter must be a positive integer value: "+b}this._width=a};IWSize.prototype.getWidth=function(){return this._width};IWSize.prototype.setHeight=function(a){var b=parseInt(a);if(b==NaN||b<0){throw"IWSize: Height parameter must be a positive integer value: "+a}this._height=b};IWSize.prototype.getHeight=function(){return this._height};IWSize.prototype.equals=function(a){return this._width==a._width&&this._height==a._height};IWSize.prototype.compareTo=function(a){var c=this._width*this._height;var b=a._width*a._height;if(c>b){return 1}else{if(c<b){return -1}else{return 0}}};IWSize.prototype.containsPoint=function(a){return a._x>=0&&a._x<=this._width&&a._y>=0&&a._y<=this._height};IWSize.prototype.multiplicate=function(a){return new IWSize(this._width*a,this._height*a)};IWSize.prototype.divide=function(a){return new IWSize(this._width/a,this._height/a)};IWSize.prototype.clone=function(){return new IWSize(this._width,this._height)};IWSize.prototype.toString=function(){return"[IWSize] "+this._width+" x "+this._height};function IWCopyrightChangeEvent(){this.copyright=""}function IWEventListener(){this.id=IWEventListener.prototype.instanceId++;this.type="";this.objectHandler=null;this.removeFunction=null;this.obj=null;this.toString=function(){return"[IWEventListener] id: "+this.id+", type: "+this.type+", objectHandler: "+this.objectHandler+", removeFunction: "+this.removeFunction+", obj: "+this.obj}}IWEventListener.prototype.instanceId=0;var IWEventManager=new function(){var logger=log4javascript.getLogger("IWEventManager");this.addListener=function(obj,eventName,eventHandler){var eventListener=this.bind(obj,eventName,null,eventHandler);return eventListener};this.addDomListener=function(obj,eventName,eventHandler){var eventListener=null;if(obj.addEventListener||obj.attachEvent){eventListener=new IWEventListener();if(!obj.domListenerDelegate){obj.domListenerDelegate=new Object()}if(!obj.domListenerDelegate[eventName]){obj.domListenerDelegate[eventName]=new Array()}if(obj.addEventListener){var name=eventName.indexOf("on")==0?eventName.substring(2):eventName;obj.addEventListener(name,eventHandler,false);eventListener.type="W3C";eventListener.removeFunction=function(){obj.removeEventListener(name,eventHandler,false);var arr=obj.domListenerDelegate[eventName];for(var i=arr.length;i>0;i--){if(arr[(i-1)].method==eventHandler){arr.splice(i-1,1)}}}}else{if(obj.attachEvent){obj.attachEvent(eventName,eventHandler);eventListener.type="MS";eventListener.removeFunction=function(){obj.detachEvent(eventName,eventHandler);var arr=obj.domListenerDelegate[eventName];for(var i=arr.length;i>0;i--){if(arr[(i-1)].method==eventHandler){arr.splice(i-1,i)}}}}}var objectHandler=new Object();objectHandler.listenerObject=eventListener;objectHandler.method=eventHandler;obj.domListenerDelegate[eventName].push(objectHandler)}else{eventListener=this.bind(obj,eventName,null,eventHandler)}return eventListener};this.trigger=function(obj,eventName,theEvent){try{var f=eval("obj."+eventName);if(typeof f!="undefined"){f(theEvent)}}catch(e){logger.error("Trigger error: "+e)}};this.removeListener=function(eventListener){if(eventListener==null){}else{if(eventListener.removeFunction){eventListener.removeFunction()}else{logger.error("Could not remove event listener "+eventListener+" "+this.removeListener.caller)}}return null};this.clearListeners=function(obj,eventName){if(obj.iwListenerDelegate&&obj.iwListenerDelegate[eventName]){obj.iwListenerDelegate[eventName]=null;
logger.debug("Removed all "+eventName+" listeners from "+obj)}if(obj.domListenerDelegate&&obj.domListenerDelegate[eventName]){var arr=obj.domListenerDelegate[eventName];for(var i=arr.length;i>0;i--){arr[(i-1)].listenerObject.removeFunction()}logger.debug("Removed all "+eventName+" listeners from "+obj)}else{logger.debug("Removing "+eventName+" listeners from "+obj+": Nothing registered")}};this.clearInstanceListeners=function(obj){if(typeof obj.iwListenerDelegate!="undefined"){obj.iwListenerDelegate=null}if(typeof obj.domListenerDelegate!="undefined"){for(eventName in obj.domListenerDelegate){var arr=obj.domListenerDelegate[eventName];for(var i=arr.length;i>0;i--){arr[(i-1)].listenerObject.removeFunction()}}}};this.bind=function(obj,eventName,listenerObj,eventHandler){if(!obj.iwListenerDelegate){obj.iwListenerDelegate=new Object()}if(!obj.iwListenerDelegate[eventName]){obj.iwListenerDelegate[eventName]=new Array()}var objectHandler=new Object();objectHandler.listenerObject=listenerObj;objectHandler.method=eventHandler;obj.iwListenerDelegate[eventName].push(objectHandler);obj[eventName]=function(e){if(obj.iwListenerDelegate!=null&&obj.iwListenerDelegate[eventName]!=null){var objectHandlerArr=obj.iwListenerDelegate[eventName];for(var i=objectHandlerArr.length;i>0;i--){var theObjectHandler=objectHandlerArr[(i-1)];var theObject=theObjectHandler.listenerObject;var theMethod=theObjectHandler.method;try{if(theObject!=null){theMethod.call(theObject,e)}else{theMethod(e)}}catch(ex){logger.warn("Listener method for "+eventName+" threw an exception: "+theMethod+" exception: "+ex)}}}};var eventListener=new IWEventListener();eventListener.type="IW";eventListener.objectHandler=objectHandler;eventListener.removeFunction=function(){if(obj==null){logger.debug("Removing event listener aborted. The object is not accessible.")}if(obj.iwListenerDelegate==null){logger.debug("Removing event listener aborted. The object has no listener delegate.")}else{var arr=obj.iwListenerDelegate[eventName];for(var i=arr.length;i>0;i--){if(arr[(i-1)]==eventListener.objectHandler){arr.splice(i-1,1)}}}};return eventListener};function getObjectName(obj){if(obj.id&&((""+obj.id).length>0)){return obj.id}else{if(obj.name&&((""+obj.name).length>0)){return obj.name}else{if(obj.toString&&obj.toString().length>0){return obj.toString()}else{return"unnamed object"}}}}};function IWKeyboardAdapter(){var a=this;var c=log4javascript.getLogger("IWKeyboardAdapter");this.triggerOnKeyDown=function(g){IWEventManager.trigger(this,"onkeydown",g)};this.triggerOnKeyUp=function(g){IWEventManager.trigger(this,"onkeyup",g)};this.triggerOnKeyPress=function(g){IWEventManager.trigger(this,"onkeypress",g)};function f(g){c.debug("Calling onKeyDownHandler with "+g);a.triggerOnKeyDown(d(g))}function e(g){c.debug("Calling onKeyPressHandler with "+g);a.triggerOnKeyPress(d(g))}function b(g){c.debug("Calling onKeyUpHandler with "+g);a.triggerOnKeyUp(d(g))}function d(h){if(!h){h=window.event}c.debug("Calling createKeyboardEvent with "+h);var g=new IWKeyboardEvent();g.keyCode=h.keyCode?h.keyCode:h.which;g.altKey=h.altKey;g.shiftKey=h.shiftKey;g.ctrlKey=h.ctrlKey;g.tagName=h.srcElement?h.srcElement.tagName:h.target.tagName;return g}IWEventManager.addDomListener(document,"onkeydown",f);IWEventManager.addDomListener(document,"onkeypress",e);IWEventManager.addDomListener(document,"onkeyup",b)}IWKeyboardAdapter.PLUS_KEY=107;IWKeyboardAdapter.MINUS_KEY=109;IWKeyboardAdapter.ARROW_LEFT_KEY=37;IWKeyboardAdapter.ARROW_UP_KEY=38;IWKeyboardAdapter.ARROW_RIGHT_KEY=39;IWKeyboardAdapter.ARROW_DOWN_KEY=40;function IWKeyboardEvent(){this.keyCode=null;this.tagName=null;this.altKey=false;this.shiftKey=false;this.ctrlKey=false;this.toString=function(){return"[IWKeyboardEvent]"}}function IWLanguageChangeEvent(){this.language=""}function IWMapCenterEvent(){this.coordinate=null;this.lastCoordinate=null;this.offset=null;this.zoom=null;this.lastZoom=null;this.toString=function(){return"[IWMapCenterEvent] coordinate: "+this.coordinate+", last coordinate: "+this.lastCoordinate+", offset: "+this.offset+", zoom: "+this.zoom+", last zoom: "+this.lastZoom
}}function IWMapControlChangeEvent(){this.mouseAction="";this.controlMethod=-1;this.toString=function(){return"[IWMapControlChangeEvent] mouseAction: "+this.mouseAction+", controlMethod: "+this.controlMethod}}function IWMapInitializeEvent(){this.toString=function(){return"[IWMapInitializeEvent]"}}function IWMapTypeAvailabilityChangeEvent(){this.type=null;this.available=null;this.toString=function(){return"[IWMapTypeAvailabilityChangeEvent] type: "+this.type+", available: "+this.available}}function IWMapTypeChangeEvent(){this.newMapType=null;this.oldMapType=null;this.toString=function(){return"[IWMapTypeChangeEvent] newMapType: "+(this.newMapType!=null?this.newMapType:"null")+", oldMapType: "+(this.oldMapType!=null?this.oldMapType:"null")}}function IWMapTypesChangeEvent(){this.mapTypes=null;this.toString=function(){return"[IWMapTypesChangeEvent]"}}function IWMeasuringEvent(){this.distance=0;this.toString=function(){return"[IWMeasuringEvent] distance: "+this.distance}}function IWMouseAdapter(){var b=null;var e=null;var a=null;var d=null;var c=log4javascript.getLogger("IWMouseAdapter");this.getButton=function(f){if(!f){f=window.event}if(f.which==null){return(f.button<2)?IWButton.LEFT:((f.button==4)?IWButton.MIDDLE:IWButton.RIGHT)}else{return(f.which<2)?IWButton.LEFT:((f.which==2)?IWButton.MIDDLE:IWButton.RIGHT)}};this.toMouseEvent=function(j,h){if(!j){j=window.event}if(a&&a==j){return d}var k=new IWMouseEvent();var g=this.getPositionXY(j,h);k.position=new IWPoint(g.x,g.y);k.positionXY={x:g.x,y:g.y};k.lastPosition=b;k.lastPositionXY=e;b=k.position;e={x:k.positionXY.x,y:k.positionXY.y};var f=0,m=0;if(k.lastPositionXY!=null){f=k.positionXY.x-k.lastPositionXY.x;m=k.positionXY.y-k.lastPositionXY.y}k.offset=new IWPoint(f,m);k.offsetX=f;k.offsetY=m;k.button=this.getButton(j);d=k;a=j;return k};this.getPositionXY=function(j,g){var f=0,o=0,m=0,k=0;if(g!=null&&typeof g!="undefined"){m=(g.offsetLeft?g.offsetLeft:0);k=(g.offsetTop?g.offsetTop:0);while(g.offsetParent){g=g.offsetParent;m+=(g.offsetLeft?g.offsetLeft:0);k+=(g.offsetTop?g.offsetTop:0)}}var h=iw.getMousePositionXY(j);var n=iw.getPageOffsetXY();f=h.x-m+n.x;o=h.y-k+n.y;return{x:f,y:o}};this.getPosition=function(j,h){var g=0,o=0,m=0,k=0;if(h!=null&&typeof h!="undefined"){m=(h.offsetLeft?h.offsetLeft:0);k=(h.offsetTop?h.offsetTop:0);while(h.offsetParent){h=h.offsetParent;m+=(h.offsetLeft?h.offsetLeft:0);k+=(h.offsetTop?h.offsetTop:0)}}var f=0,n=0;if(j.clientX||j.clientY){f=j.clientX;n=j.clientY}else{if(j.pageX||j.pageY){f=j.pageX+document.body.scrollLeft+document.documentElement.scrollLeft;n=j.pageY+document.body.scrollTop+document.documentElement.scrollTop}}g=f-m;o=n-k;return new IWPoint(g,o)};this.toString=function(){return"[IWMouseAdapter] last mouse event: "+(d!=null?d.toString():"")}}function IWMouseEvent(){this.position=null;this.lastPosition=null;this.offset=null;this.scrollbarOffset=null;this.button=IWButton.NONE;this.toString=function(){return"[IWMouseEvent] position: "+(this.position==null?"":this.position.toString())+", lastPosition: "+(this.lastPosition==null?"":this.lastPosition.toString())+", offset: "+(this.offset==null?"":this.offset.toString())+", scrollbarOffset: "+(this.scrollbarOffset==null?"":this.scrollbarOffset.toString())+", button: "+this.button}}function IWMouseWheelAdapter(e,a){var b=this;var c=log4javascript.getLogger("IWMouseWheelAdapter");if(typeof a=="undefined"){a=e}this.triggerOnMouseWheel=function(f){IWEventManager.trigger(this,"onmousewheel",f)};this.toString=function(){return"[IWMouseAdapter]"};function d(f){c.debug("Calling catchEvent");if(!f){f=window.event}if(e.getOptions&&e.getOptions().getMouseWheelAction()==IWMapOptions.CONTROL_ZOOM){f.cancel=true;f.returnValue=false;iw.noPropagation(f);if(f.preventDefault){f.preventDefault()}}var h=0;if(f.wheelDelta){h=parseInt(f.wheelDelta);if(h<0){h=-1}else{h=1}}else{if(f.detail){h=parseInt(f.detail);if(h<0){h=1}else{h=-1}if(window.opera){h=-h}}}var g=new IWMouseWheelEvent();g.delta=h;g.mouseEvent=f;b.triggerOnMouseWheel(g)
}IWEventManager.addDomListener(a,"onmousewheel",function(f){d(f)});IWEventManager.addDomListener(a,"DOMMouseScroll",function(f){d(f)})}function IWMouseWheelEvent(){this.delta=null;this.toString=function(){return"[IWMouseWheelEvent] delta: "+(this.delta==null?"":this.delta.toString())}}function IWMoveEvent(){this.positionX=0;this.positionY=0;this.lastPositionX=0;this.lastPositionY=0;this.offsetX=0;this.offsetY=0;this.totalOffsetX=0;this.totalOffsetY=0;this.position=null;this.lastPosition=null;this.offset=new IWPoint(0,0);this.toString=function(){return"[IWMoveEvent] position: "+(this.position==null?"null":this.position.toString())+", lastPosition: "+(this.lastPosition==null?"null":this.lastPosition.toString())+", offset: "+this.offset.toString()}}function IWResizeEvent(){this.oldSize=null;this.newSize=null;this.toString=function(){return"[IWResizeEvent] oldSize: "+(this.oldSize==null?"null":this.oldSize.toString())+", newSize: "+(this.newSize==null?"null":this.newSize.toString())}}function IWZoomEvent(){this.newZoomLevel=null;this.newCenter=null;this.toString=function(){return"[IWZoomEvent] newZoomLevel: "+this.newZoomLevel+", newCenter: "+this.newCenter}}function AGeocoderClient(c){var b=c;var a=log4javascript.getLogger("AGeocoderClient_"+b);this.getGeocoderType=function(){return b};this.getLogger=function(){return a}}function IWAddress(){var c="";var j="";var a="";var g="";var b="";var k="";var d="";var h="";var f=null;var e=null;this.setStreet=function(m){c=m};this.getStreet=function(){return c};this.setHouseNumber=function(m){j=m};this.getHouseNumber=function(){return j};this.setZipCode=function(m){a=m};this.getZipCode=function(){return a};this.setCity=function(m){g=m};this.getCity=function(){return g};this.setPart=function(m){b=m};this.getPart=function(){return b};this.setDistrict=function(m){k=m};this.getDistrict=function(){return k};this.setCountry=function(m){d=m};this.getCountry=function(){return d};this.setCountryCode=function(m){h=m};this.getCountryCode=function(){return h};this.hasHouseNumber=function(){return(j&&j!="")};this.setMeter=function(m){f=m};this.getMeter=function(){return f};this.setWGS84=function(m){e=m};this.getWGS84=function(){return e};this.setLCC=function(m){f=m};this.getLCC=function(){return f};this.setDegree=function(m){e=m};this.getDegree=function(){return e};this.toString=function(){return"[IWAddress] Street: "+(c==null?"null":c)+", HouseNumber: "+(j==null?"null":j)+", ZipCode: "+(a==null?"null":a)+", City: "+(g==null?"null":g)+", Part: "+(b==null?"null":b)+", District: "+(k==null?"null":k)+", Country: "+(d==null?"null":d)+", CountryCode: "+(h==null?"null":h)+", meter cooordinate: "+(f==null?"null":f.toString())+", degree coordinate: "+(e==null?"null":e.toString())};this.equals=function(m){return(this.getStreet()==m.getStreet()&&this.getHouseNumber()==m.getHouseNumber()&&this.getZipCode()==m.getZipCode()&&this.getCity()==m.getCity()&&this.getPart()==m.getPart()&&this.getDistrict()==m.getDistrict()&&this.getCountry()==m.getCountry()&&this.getCountryCode()==m.getCountryCode())}}function IWGeocoderClient(){AGeocoderClient.call(this,"INFOWARE");this.geocodeAddressString=function(e,d,j,g){this.getLogger().info("Calling geocodeAddressString with address "+e+" ("+d+"), maximumHits: "+j);var h=1;if(typeof j!="undefined"){h=parseInt(j)}var f=iwconst.LOCAL_APP_URL+"/servlet/FrontController?cmd=geocode&app=ms&VNR="+IWAccessFilter.getCNR()+"&PNR="+IWAccessFilter.getPNR()+"&RTVDIR=mapapi-1.0&RTVADR="+encodeURIComponent(e)+"&RTVLAND="+encodeURIComponent(d);if(h==1){f+="&RTVMODE=1"}else{f+="&RTVMODE=0&RTVHITMAX="+h}f+="&GEOCODERTYPE="+this.getGeocoderType();var c=new IWXMLHttpRequest();c.open("GET",iwconst.GEOCODERSERVER_PROXY_URL+"?serverURL="+encodeURIComponent(f),true);c.onreadystatechange=function(){a(this,c,e+" "+d,h,g)}.iwclosure(this);c.send(null)};this.geocodeAddress=function(d,h,f){this.getLogger().info("Calling geocodeAddress with address "+d+", maximumHits: "+h);var g=1;if(typeof h!="undefined"){g=parseInt(h)
}var e=iwconst.LOCAL_APP_URL+"/servlet/FrontController?cmd=geocode&app=ms&VNR="+IWAccessFilter.getCNR()+"&PNR="+IWAccessFilter.getPNR()+"&RTVDIR=mapapi-1.0&RTVPLZ="+encodeURIComponent(d.getZipCode())+"&RTVORT="+encodeURIComponent(d.getCity())+"&RTVSTR="+encodeURIComponent(d.getStreet())+"&RTVHNR="+encodeURIComponent(d.getHouseNumber())+"&RTVLAND="+encodeURIComponent(d.getCountryCode());if(g==1){e+="&RTVMODE=1"}else{e+="&RTVMODE=0&RTVHITMAX="+g}e+="&GEOCODERTYPE="+this.getGeocoderType();var c=new IWXMLHttpRequest();c.open("GET",iwconst.GEOCODERSERVER_PROXY_URL+"?serverURL="+encodeURIComponent(e),true);c.onreadystatechange=function(){a(this,c,d,g,f)}.iwclosure(this);c.send(null)};this.reverseGeocodeByRadius=function(g,c,f){this.getLogger().info("Calling reverseGeocodeByRadius with coordinate: "+g+", radiusCriteria: "+c);if(g.getProjectionType()==IWCoordinate.MERCATOR){g=g.toWGS84()}var e=iwconst.LOCAL_APP_URL+"/servlet/FrontController?cmd=locate&app=ms&VNR="+IWAccessFilter.getCNR()+"&PNR="+IWAccessFilter.getPNR()+"&RTVDIR=mapapi-1.0&RTVLAND=EU&REVPROJ="+g.getProjectionType()+"&REVMODE=1&REVX="+g.getX()+"&REVY="+g.getY()+"&REVOPT="+c;e+="&GEOCODERTYPE="+this.getGeocoderType();var d=new IWXMLHttpRequest();d.open("GET",iwconst.GEOCODERSERVER_PROXY_URL+"?serverURL="+encodeURIComponent(e),true);d.onreadystatechange=function(){b(this,d,g,f)}.iwclosure(this);d.send(null)};this.reverseGeocodeByHits=function(g,c,f){this.getLogger().info("Calling reverseGeocodeByHits with "+g+", "+c+", "+f);if(g.getProjectionType()==IWCoordinate.MERCATOR){g=g.toWGS84()}var e=iwconst.LOCAL_APP_URL+"/servlet/FrontController?cmd=locate&app=ms&VNR="+IWAccessFilter.getCNR()+"&PNR="+IWAccessFilter.getPNR()+"&RTVDIR=mapapi-1.0&RTVLAND=EU&REVPROJ="+g.getProjectionType()+"&REVMODE=0&REVX="+g.getX()+"&REVY="+g.getY()+"&REVOPT="+c;e+="&GEOCODERTYPE="+this.getGeocoderType();var d=new IWXMLHttpRequest();d.open("GET",iwconst.GEOCODERSERVER_PROXY_URL+"?serverURL="+encodeURIComponent(e),true);d.onreadystatechange=function(){b(this,d,g,f)}.iwclosure(this);d.send(null)};this.toString=function(){return"[IWGeocoderClient]"};this.triggerOnGeocode=function(c){IWEventManager.trigger(this,"ongeocode",c)};this.triggerOnReverseGeocode=function(c){IWEventManager.trigger(this,"onreversegeocode",c)};function a(w,q,u,m,j){var x=new Array();if(q.readyState==4){if(q.statusText=="OK"){var y=IWXMLHelper.parse(q.responseText).documentElement;if(y&&y.getElementsByTagName("fail").length==0){var g=y.getElementsByTagName("street");var o=y.getElementsByTagName("housenumber");var d=y.getElementsByTagName("zipcode");var k=y.getElementsByTagName("city");var f=y.getElementsByTagName("country");var r=y.getElementsByTagName("country_code");var c=y.getElementsByTagName("mercator_x");var D=y.getElementsByTagName("mercator_y");var v=y.getElementsByTagName("wgs84_long");var s=y.getElementsByTagName("wgs84_lat");var e=y.getElementsByTagName("hitprobability");var C=y.getElementsByTagName("quality");for(var A=0,B=0;A<d.length&&B<m;A++,B++){var h=IWXMLHelper.getNodeValue(o[A]);var n=new IWAddress();n.setStreet(IWXMLHelper.getNodeValue(g[A]));n.setHouseNumber((h!="X"&&h!="0"?h:""));n.setZipCode(IWXMLHelper.getNodeValue(d[A]));n.setCity(IWXMLHelper.getNodeValue(k[A]));n.setCountry(IWXMLHelper.getNodeValue(f[A]));n.setCountryCode(IWXMLHelper.getNodeValue(r[A]));n.setMeter(new IWCoordinate(IWXMLHelper.getNodeValue(c[A]),IWXMLHelper.getNodeValue(D[A]),IWCoordinate.MERCATOR));n.setDegree(new IWCoordinate(IWXMLHelper.getNodeValue(v[A]),IWXMLHelper.getNodeValue(s[A]),IWCoordinate.WGS84));var t=new IWGeocodingResult();t.setAddress(n);t.setHitProbability(parseInt(IWXMLHelper.getNodeValue(e[A])));t.setQuality(IWXMLHelper.getNodeValue(C[A]));x.push(t)}}}else{if(q.status==401){alert("IWGeocoderClient: Access denied. ("+q.status+") "+q.statusText)}else{alert("IWGeocoderClient: ("+q.status+") "+q.statusText)}}}var z=new IWGeocodingEvent();z.inputAddress=u;z.status=q.statusText;z.results=x;z.parameterObject=j;w.triggerOnGeocode(z)
}function b(u,n,y,h){var w=new Array();if(n.readyState==4){if(n.statusText=="OK"){var x=IWXMLHelper.parse(n.responseText).documentElement;if(x&&x.getElementsByTagName("fail").length==0){var v=x.getElementsByTagName("zipcode").length;var e=x.getElementsByTagName("country");var q=x.getElementsByTagName("country_code");var d=x.getElementsByTagName("zipcode");var j=x.getElementsByTagName("city");var f=x.getElementsByTagName("street");var m=x.getElementsByTagName("housenumber");var c=x.getElementsByTagName("mercator_x");var B=x.getElementsByTagName("mercator_y");var t=x.getElementsByTagName("wgs84_long");var r=x.getElementsByTagName("wgs84_lat");var o=x.getElementsByTagName("distance");for(var A=0;A<v;A++){var s=new IWReverseGeocodingResult();var k=new IWAddress();k.setStreet(IWXMLHelper.getNodeValue(f[A]));k.setZipCode(IWXMLHelper.getNodeValue(d[A]));k.setCity(IWXMLHelper.getNodeValue(j[A]));k.setMeter(new IWCoordinate(IWXMLHelper.getNodeValue(c[A]),IWXMLHelper.getNodeValue(B[A]),IWCoordinate.MERCATOR));k.setDegree(new IWCoordinate(IWXMLHelper.getNodeValue(t[A]),IWXMLHelper.getNodeValue(r[A]),IWCoordinate.WGS84));var g=IWXMLHelper.getNodeValue(m[A]);k.setHouseNumber((g!="X"&&g!="0"?g:""));k.setCountry(IWXMLHelper.getNodeValue(e[A]));k.setCountryCode(IWXMLHelper.getNodeValue(q[A]));s.setAddress(k);s.setDistance(IWXMLHelper.getNodeValue(o[A]));w.push(s)}}}else{if(n.status==401){alert(n.statusText)}else{alert("Reverse-Geocoding failed: "+n.status+" "+n.statusText)}}}var z=new IWReverseGeocodingEvent();z.status=n.statusText;z.inputCoordinate=y;z.results=w;z.parameterObject=h;u.triggerOnReverseGeocode(z)}}function IWGeocodingEvent(){this.status=null;this.inputAddress=null;this.results=null;this.parameterObject=null;this.toString=function(){return"[IWGeocodingEvent] Address: "+(this.inputAddress==null?"null":this.inputAddress)+", Status: "+(this.status==null?"null":this.status)+", Results: "+(this.results==null?"null":this.results.length)}}function IWGeocodingResult(){var b=null;var a=null;var c=null;this.setAddress=function(d){b=d};this.getAddress=function(){return b};this.setHitProbability=function(d){a=d};this.getHitProbability=function(){return a};this.setQuality=function(d){c=d};this.getQuality=function(){return c};this.toString=function(){return"[IWGeocodingResult] address: "+b.toString()+", hitprobability: "+a+", quality: "+c}}function IWReverseGeocodingEvent(){this.status=null;this.coordinate=null;this.results=null;this.parameterObject=null;this.toString=function(){return"[IWReverseGeocodingEvent] Status: "+(this.status==null?"null":this.status)+", Coordinate: "+(this.coordinate==null?"null":this.coordinate)+", Results: "+(this.results==null?"null":this.results.length)}}function IWReverseGeocodingResult(){var a=null;var b=0;this.setAddress=function(c){a=c};this.getAddress=function(){return a};this.setDistance=function(c){b=c};this.getDistance=function(){return b};this.toString=function(){return"[IWReverseGeocodingResult] address: "+a.toString()+", distance: "+b}}function IWSimpleGeocoderClient(){var b=iwconst.GLOBAL_GC_SIMPLE_URL;this.setUrl=function(c){b=c};this.getUrl=function(){return b};this.geocodeAddressString=function(h,f,j,g){var d=b+(b.match(/\?/)!=null?"&":"?")+"VNR="+IWAccessFilter.getCNR()+"&PNR="+IWAccessFilter.getPNR()+"&ADD="+escape(h)+"&LND="+escape(f)+"&MULTI="+(j?"1":"0");var c=iwconst.GLOBAL_PROXY_URL+"?serverURL="+encodeURIComponent(d);var e=new IWXMLHttpRequest();e.open("GET",c,true);e.onreadystatechange=function(){a(this,e,h,f,g)}.iwclosure(this);e.send(null)};this.geocodeAddress=function(g,h,f){var d=b+(b.match(/\?/)!=null?"&":"?")+"VNR="+IWAccessFilter.getCNR()+"&PNR="+IWAccessFilter.getPNR()+"&PLZ="+escape(g.getZipCode())+"&ORT="+escape(g.getCity())+"&STR="+escape(g.getStreet())+"&HNR="+escape(g.getHouseNumber())+"&LND="+escape(g.getCountryCode())+"&MULTI="+(h?"1":"0");var c=iwconst.GLOBAL_PROXY_URL+"?serverURL="+encodeURIComponent(d);var e=new IWXMLHttpRequest();e.open("GET",c,true);e.onreadystatechange=function(){a(this,e,g,g.getCountryCode(),f)
}.iwclosure(this);e.send(null)};this.toString=function(){return"[IWSimpleGeocoderClient]"};this.triggerOnGeocode=function(c){IWEventManager.trigger(this,"ongeocode",c)};function a(v,o,t,g,j){var w=new Array();var A=new IWSimpleGeocodingEvent();if(o.readyState==4){if(o.statusText=="OK"){var y=IWXMLHelper.parse(o.responseText).documentElement;if(y){var z=y.getElementsByTagName("error")[0];if(z!=null){var u=IWXMLHelper.getNodeValue(z);if(u!=null){A.status=u}else{A.status="OK";var d=y.getElementsByTagName("street");var n=y.getElementsByTagName("housenumber");var c=y.getElementsByTagName("zipcode");var k=y.getElementsByTagName("city");var x=y.getElementsByTagName("part");var f=y.getElementsByTagName("district");var r=y.getElementsByTagName("wgs84");var q=y.getElementsByTagName("lcc_europe");var h=y.getElementsByTagName("matchcode");for(var B=(c.length-1);B>=0;B--){var e=IWXMLHelper.getNodeValue(n[B]);var m=new IWAddress();m.setStreet(IWXMLHelper.getNodeValue(d[B]));m.setHouseNumber((e!="X"&&e!="0"?e:""));m.setZipCode(IWXMLHelper.getNodeValue(c[B]));m.setCity(IWXMLHelper.getNodeValue(k[B]));m.setPart(IWXMLHelper.getNodeValue(x[B]));m.setDistrict(IWXMLHelper.getNodeValue(f[B]));m.setCountryCode(g);m.setLCC(new IWCoordinate(IWXMLHelper.getNodeValue(q[B].childNodes[0]),IWXMLHelper.getNodeValue(q[B].childNodes[1]),IWCoordinate.LCC));m.setWGS84(new IWCoordinate(IWXMLHelper.getNodeValue(r[B].childNodes[0]),IWXMLHelper.getNodeValue(r[B].childNodes[1]),IWCoordinate.WGS84));var s=new IWSimpleGeocodingResult();s.setAddress(m);s.setMatchCode(IWXMLHelper.getNodeValue(h[B]));w.push(s)}}}}}else{if(o.status==401){alert(o.statusText)}else{alert("Geocoding failed: "+o.status+"\n"+o.statusText)}}}A.inputAddress=t;A.results=w;A.parameterObject=j;v.triggerOnGeocode(A)}}function IWSimpleGeocodingEvent(){this.status=null;this.inputAddress=null;this.results=null;this.parameterObject=null;this.toString=function(){return"[IWSimpleGeocodingEvent] InputAddress: "+(this.inputAddress==null?"null":this.inputAddress)+", Status: "+(this.status==null?"null":this.status)+", Results: "+(this.results==null?"null":this.results.length)}}function IWSimpleGeocodingResult(){var b=null;var a=null;this.setAddress=function(c){b=c};this.getAddress=function(){return b};this.setMatchCode=function(c){a=c};this.getMatchCode=function(){return a};this.toString=function(){return"[IWSimpleGeocodingResult] address: "+b.toString()+", matchcode: "+a}}function IWBingGeocoderClient(){AGeocoderClient.call(this,"BING");var d="";var b=IWBingCulture.German_Germany;this.setApplicationID=function(e){d=e};this.setCulture=function(e){b=e};this.geocodeAddressString=function(g,f,m,j){this.getLogger().info("Calling geocodeAddressString with address "+g+" ("+f+"), maximumHits: "+m);var k=1;if(typeof m!="undefined"){k=parseInt(m)}if(k>20){k=20}if(k<1){k=1}var h=iwconst.LOCAL_APP_URL+"/servlet/FrontController?cmd=geocode&app=ms&VNR="+IWAccessFilter.getCNR()+"&PNR="+IWAccessFilter.getPNR()+"&RTVDIR=mapapi-1.0&RTVADR="+escape(g)+"&RTVLAND="+escape(f);if(k==1){h+="&RTVMODE=1"}else{h+="&RTVMODE=0&RTVHITMAX="+k}h+="&GEOCODERTYPE="+this.getGeocoderType();h+="&APPLICATIONID="+d;h+="&CULTURE="+b;h+="&GEOCODINGMODE=geocode";var e=new IWXMLHttpRequest();e.open("GET",iwconst.GEOCODERSERVER_PROXY_URL+"?serverURL="+encodeURIComponent(h),true);e.onreadystatechange=function(){a(this,e,g+" "+f,k,j)}.iwclosure(this);e.send(null)};this.geocodeAddress=function(f,k,h){this.getLogger().info("Calling geocodeAddress with address "+f+", maximumHits: "+k);var j=1;if(typeof k!="undefined"){j=parseInt(k)}if(j>20){j=20}if(j<1){j=1}var g=iwconst.LOCAL_APP_URL+"/servlet/FrontController?cmd=geocode&app=ms&VNR="+IWAccessFilter.getCNR()+"&PNR="+IWAccessFilter.getPNR()+"&RTVDIR=mapapi-1.0&RTVPLZ="+escape(f.getZipCode())+"&RTVORT="+escape(f.getCity())+"&RTVSTR="+escape(f.getStreet())+"&RTVHNR="+escape(f.getHouseNumber())+"&RTVLAND="+escape(f.getCountryCode());if(j==1){g+="&RTVMODE=1"}else{g+="&RTVMODE=0&RTVHITMAX="+j}g+="&GEOCODERTYPE="+this.getGeocoderType();
g+="&APPLICATIONID="+d;g+="&CULTURE="+b;g+="&GEOCODINGMODE=geocode";var e=new IWXMLHttpRequest();e.open("GET",iwconst.GEOCODERSERVER_PROXY_URL+"?serverURL="+encodeURIComponent(g),true);e.onreadystatechange=function(){a(this,e,f,j,h)}.iwclosure(this);e.send(null)};this.reverseGeocodeByHits=function(j,e,h){this.getLogger().info("Calling reverseGeocodeByHits with "+j+", "+e+", "+h);if(j.getProjectionType()==IWCoordinate.MERCATOR){j=j.toWGS84()}var g=iwconst.LOCAL_APP_URL+"/servlet/FrontController?cmd=locate&app=ms&VNR="+IWAccessFilter.getCNR()+"&PNR="+IWAccessFilter.getPNR()+"&RTVDIR=mapapi-1.0&RTVLAND=EU&REVPROJ="+j.getProjectionType()+"&REVMODE=0&REVX="+j.getX()+"&REVY="+j.getY()+"&REVOPT="+e;g+="&GEOCODERTYPE="+this.getGeocoderType();g+="&APPLICATIONID="+d;g+="&CULTURE="+b;g+="&GEOCODINGMODE=reversegeocode";var f=new IWXMLHttpRequest();f.open("GET",iwconst.GEOCODERSERVER_PROXY_URL+"?serverURL="+encodeURIComponent(g),true);f.onreadystatechange=function(){c(this,f,j,h)}.iwclosure(this);f.send(null)};this.toString=function(){return"[IWBingGeocoderClient]"};this.triggerOnGeocode=function(e){IWEventManager.trigger(this,"ongeocode",e)};this.triggerOnReverseGeocode=function(e){IWEventManager.trigger(this,"onreversegeocode",e)};function a(y,s,w,o,m){var z=new Array();if(s.readyState==4){if(s.statusText=="OK"){var A=IWXMLHelper.parse(s.responseText).documentElement;if(A&&A.getElementsByTagName("fail").length==0){var j=A.getElementsByTagName("street");var r=A.getElementsByTagName("housenumber");var f=A.getElementsByTagName("zipcode");var n=A.getElementsByTagName("city");var h=A.getElementsByTagName("country");var t=A.getElementsByTagName("country_code");var e=A.getElementsByTagName("mercator_x");var F=A.getElementsByTagName("mercator_y");var x=A.getElementsByTagName("wgs84_long");var u=A.getElementsByTagName("wgs84_lat");var g=A.getElementsByTagName("hitprobability");var E=A.getElementsByTagName("quality");for(var C=0,D=0;C<f.length&&D<o;C++,D++){var k=IWXMLHelper.getNodeValue(r[C]);var q=new IWAddress();q.setStreet(IWXMLHelper.getNodeValue(j[C]));q.setHouseNumber((k!="X"&&k!="0"?k:""));q.setZipCode(IWXMLHelper.getNodeValue(f[C]));q.setCity(IWXMLHelper.getNodeValue(n[C]));q.setCountry(IWXMLHelper.getNodeValue(h[C]));q.setCountryCode(IWXMLHelper.getNodeValue(t[C]));q.setMeter(new IWCoordinate(IWXMLHelper.getNodeValue(e[C]),IWXMLHelper.getNodeValue(F[C]),IWCoordinate.MERCATOR));q.setDegree(new IWCoordinate(IWXMLHelper.getNodeValue(x[C]),IWXMLHelper.getNodeValue(u[C]),IWCoordinate.WGS84));var v=new IWGeocodingResult();v.setAddress(q);v.setHitProbability(parseInt(IWXMLHelper.getNodeValue(g[C])));v.setQuality(IWXMLHelper.getNodeValue(E[C]));z.push(v)}}}else{if(s.status==401){alert("IWBingGeocoderClient: Access denied. ("+s.status+") "+s.statusText)}else{alert("IWBingGeocoderClient: ("+s.status+") "+s.statusText)}}}var B=new IWGeocodingEvent();B.inputAddress=w;B.status=s.statusText;B.results=z;B.parameterObject=m;y.triggerOnGeocode(B)}function c(w,q,A,k){var y=new Array();if(q.readyState==4){if(q.statusText=="OK"){var z=IWXMLHelper.parse(q.responseText).documentElement;if(z&&z.getElementsByTagName("fail").length==0){var x=z.getElementsByTagName("zipcode").length;var g=z.getElementsByTagName("country");var s=z.getElementsByTagName("country_code");var f=z.getElementsByTagName("zipcode");var m=z.getElementsByTagName("city");var h=z.getElementsByTagName("street");var o=z.getElementsByTagName("housenumber");var e=z.getElementsByTagName("mercator_x");var D=z.getElementsByTagName("mercator_y");var v=z.getElementsByTagName("wgs84_long");var t=z.getElementsByTagName("wgs84_lat");var r=z.getElementsByTagName("distance");for(var C=0;C<x;C++){var u=new IWReverseGeocodingResult();var n=new IWAddress();n.setStreet(IWXMLHelper.getNodeValue(h[C]));n.setZipCode(IWXMLHelper.getNodeValue(f[C]));n.setCity(IWXMLHelper.getNodeValue(m[C]));n.setMeter(new IWCoordinate(IWXMLHelper.getNodeValue(e[C]),IWXMLHelper.getNodeValue(D[C]),IWCoordinate.MERCATOR));n.setDegree(new IWCoordinate(IWXMLHelper.getNodeValue(v[C]),IWXMLHelper.getNodeValue(t[C]),IWCoordinate.WGS84));
var j=IWXMLHelper.getNodeValue(o[C]);n.setHouseNumber((j!="X"&&j!="0"?j:""));n.setCountry(IWXMLHelper.getNodeValue(g[C]));n.setCountryCode(IWXMLHelper.getNodeValue(s[C]));u.setAddress(n);u.setDistance(IWXMLHelper.getNodeValue(r[C]));y.push(u)}}}else{if(q.status==401){alert(q.statusText)}else{alert("Reverse-Geocoding failed: "+q.status+" "+q.statusText)}}}var B=new IWReverseGeocodingEvent();B.status=q.statusText;B.inputCoordinate=A;B.results=y;B.parameterObject=k;w.triggerOnReverseGeocode(B)}}function IWLabel(a,c,b){this.getKey=function(){return a};this.getDomElement=function(){return c};this.getDomAttribute=function(){return b};this.toString=function(){return"[IWLabel] key: "+this.getKey()+", domElement: "+this.getDOMElement()+", domAttribute: "+this.getDOMAttribute()}}function IWLanguage(b,c){var a=new Object();this.getName=function(){return b};this.getFile=function(){return c};this.put=function(d,e){a[d]=e};this.get=function(d){if(typeof a[d]=="undefined"){alert("Language key "+d+" not found in "+this.getFile())}return a[d]};this.toString=function(){return"[IWLanguage] Name: "+this.getName()+", File: "+this.getFile()}}var IWLanguageCacheManager=new function(){var a=new Object();this.putLanguage=function(b){a[b.getFile()]=b};this.isCached=function(b){return(this.getLanguage(b)!=null)};this.getLanguage=function(b){return a[b.getFile()]};this.toString=function(){return"[IWLanguageLoadManager]"}};function IWLanguagePack(){var a=new Object();this.getLanguage=function(b){return a[b]};this.addLanguage=function(b){a[b.getName()]=b};this.toString=function(){var b="";for(l in a){b+=a[l].toString()}return"[IWLanguagePack] "+b}}function IWMultiLanguageSupport(map,languagePack){var self=this;var labels=new Array();var language=null;var onLanguageChangeListener=null;if(typeof languagePack=="undefined"||languagePack==null){languagePack=new IWLanguagePack()}this.addLabelFor=function(label){if(language){updateLabel(label)}labels.push(label)};this.getLanguagePack=function(){return languagePack};this.triggerOnLanguagePackLoad=function(event){IWEventManager.trigger(this,"onlanguagepackload",event)};this.loadLanguagePack=function(lang){language=languagePack.getLanguage(lang);if(language){if(IWLanguageCacheManager.isCached(language)==false){var url=iwconst.LOCAL_APP_URL+"/servlet/FrontController?cmd=getLanguagePack&languagePack="+encodeURIComponent(language.getFile())+"&app=ms&VNR="+IWAccessFilter.getCNR()+"&PNR="+IWAccessFilter.getPNR();var xmlHttp=new IWXMLHttpRequest();xmlHttp.open("GET",iwconst.GLOBAL_PROXY_URL+"?serverURL="+encodeURIComponent(url),true);xmlHttp.onreadystatechange=function(){callbackOnLanguagePackLoad(xmlHttp,language)};xmlHttp.send(null)}else{language=IWLanguageCacheManager.getLanguage(language);notifyAll(language)}}else{alert("Missing language pack: "+lang)}};this.destroyMultiLanguageSupport=function(){IWEventManager.removeListener(onLanguageChangeListener);for(var i=labels.length;i>0;i--){iw.destroy(labels[i-1])}};this.toString=function(){return"[IWMultiLanguageSupport]"};function updateLabels(){for(var i=0;i<labels.length;i++){updateLabel(labels[i])}}function updateLabel(label){var key=label.getKey();if(!key){alert("Key is not specified.");return}var obj=label.getDomElement();if(!obj){alert("DOM Element for key "+key+" is not specified.");return}var attr=label.getDomAttribute();if(!attr){alert("The attribute of the DOM element "+obj+" is not specified.");return}obj[attr]=language.get(key)}function callbackOnLanguagePackLoad(xmlHttp,language){if(xmlHttp.readyState==4){if(xmlHttp.statusText=="OK"){var obj=eval(xmlHttp.responseText);for(key in obj.LANGUAGE_PACK){language.put(key,obj.LANGUAGE_PACK[key])}IWLanguageCacheManager.putLanguage(language);notifyAll(language)}else{if(xmlHttp.status==401){alert("IWMultiLanguageSupport: Access denied. ("+xmlHttp.status+") "+xmlHttp.statusText)}else{alert("IWMultiLanguageSupport: ("+xmlHttp.status+") "+xmlHttp.statusText)}}}}function notifyAll(language){updateLabels(language);var event=new IWMultiLanguageSupportEvent();
event.language=language;self.triggerOnLanguagePackLoad(event)}onLanguageChangeListener=IWEventManager.addListener(map,"onlanguagechange",function(event){self.loadLanguagePack(event.language)})}function IWMultiLanguageSupportEvent(){this.language=null;this.toString=function(){return"[IWMultiLanguageSupportEvent] language: "+this.language}}var popupAppender=new log4javascript.PopUpAppender();popupAppender.setLayout(new log4javascript.PatternLayout("%d{HH:mm:ss} %-5p %c - %m%n"));function setupLogger(d,b,a){var c=log4javascript.getLogger(d);c.addAppender(popupAppender);c.setLevel(a)}setupLogger("IWEventManager",popupAppender,log4javascript.Level.TRACE);setupLogger("IWActionStack",popupAppender,log4javascript.Level.TRACE);setupLogger("IWAddressSearchControl",popupAppender,log4javascript.Level.TRACE);setupLogger("IWCentralProjection",popupAppender,log4javascript.Level.TRACE);setupLogger("IWCopyrightControl",popupAppender,log4javascript.Level.TRACE);setupLogger("IWCoordinate",popupAppender,log4javascript.Level.TRACE);setupLogger("IWDraggable",popupAppender,log4javascript.Level.TRACE);setupLogger("IWGeocoderClient",popupAppender,log4javascript.Level.TRACE);setupLogger("IWInfoBalloon",popupAppender,log4javascript.Level.TRACE);setupLogger("IWKeyboardAdapter",popupAppender,log4javascript.Level.TRACE);setupLogger("IWLayout",popupAppender,log4javascript.Level.TRACE);setupLogger("IWLayoutManager",popupAppender,log4javascript.Level.TRACE);setupLogger("IWLayerInfoManager",popupAppender,log4javascript.Level.TRACE);setupLogger("IWMap",popupAppender,log4javascript.Level.TRACE);setupLogger("IWMapOptions",popupAppender,log4javascript.Level.TRACE);setupLogger("IWMarker",popupAppender,log4javascript.Level.TRACE);setupLogger("IWMeasuringControl",popupAppender,log4javascript.Level.TRACE);setupLogger("IWMeasureSegment",popupAppender,log4javascript.Level.TRACE);setupLogger("IWMeasuringPoint",popupAppender,log4javascript.Level.TRACE);setupLogger("IWMeasuringInfoWindowControl",popupAppender,log4javascript.Level.TRACE);setupLogger("IWMouseAdapter",popupAppender,log4javascript.Level.TRACE);setupLogger("IWMouseWheelAdapter",popupAppender,log4javascript.Level.TRACE);setupLogger("IWNodeElement",popupAppender,log4javascript.Level.TRACE);setupLogger("IWOverlay",popupAppender,log4javascript.Level.TRACE);setupLogger("IWOverlayLayer",popupAppender,log4javascript.Level.TRACE);setupLogger("IWOverlayManager",popupAppender,log4javascript.Level.TRACE);setupLogger("IWOverlaySelectionControl",popupAppender,log4javascript.Level.TRACE);setupLogger("IWOverviewMapControl",popupAppender,log4javascript.Level.TRACE);setupLogger("IWOverviewDragBoxControl",popupAppender,log4javascript.Level.TRACE);setupLogger("IWParallelProjection",popupAppender,log4javascript.Level.TRACE);setupLogger("IWProjectionClient",popupAppender,log4javascript.Level.TRACE);setupLogger("IWRoutingClient",popupAppender,log4javascript.Level.TRACE);setupLogger("IWRoutingControl",popupAppender,log4javascript.Level.TRACE);setupLogger("IWScalarControl",popupAppender,log4javascript.Level.TRACE);setupLogger("IWSliderControl",popupAppender,log4javascript.Level.TRACE);setupLogger("IWSVGRenderer",popupAppender,log4javascript.Level.TRACE);setupLogger("IWTile",popupAppender,log4javascript.Level.TRACE);setupLogger("IWTileLoader",popupAppender,log4javascript.Level.TRACE);setupLogger("IWTreeView",popupAppender,log4javascript.Level.TRACE);setupLogger("IWTreeNode",popupAppender,log4javascript.Level.TRACE);setupLogger("IWWindowOverlay",popupAppender,log4javascript.Level.TRACE);setupLogger("IWWindowOverlayManager",popupAppender,log4javascript.Level.TRACE);setupLogger("IWXMLHttpRequest",popupAppender,log4javascript.Level.TRACE);setupLogger("IWZoomBoxControl",popupAppender,log4javascript.Level.TRACE);setupLogger("IWVEProjection",popupAppender,log4javascript.Level.TRACE);setupLogger("IWVEUtils",popupAppender,log4javascript.Level.TRACE);setupLogger("IWVMLRenderer",popupAppender,log4javascript.Level.TRACE);function IWActionStack(e,c){var b=(typeof c!="undefined"?c:20);
var a=[];var d=[];this.clear=function(){a=[];d=[]};this.addAction=function(f){if(f.isMapAction&&f.isMapAction()){a.push(f);if(d.length>0){d=[]}if(a.length>b){a.shift()}}};this.undoAction=function(){var f=a.pop();if(f){f.undo(e);d.push(f)}};this.redoAction=function(){var f=d.pop();if(f){f.redo(e);a.push(f)}};this.toString=function(){return"[IWActionStack] max actions: "+b+", undo stack length: "+a.length+", redo stack length: "+d.length}}function IWCentralProjection(v){IWProjection.call(this);var w=log4javascript.getLogger("IWCentralProjection");var g;var u;var x;var s;var o;var k;var e=new Array(4);var r;var j;var h=new IWPoint(0,0);this.initialize=function(y){w.info("Calling initialize.");if(y.camera){u=y.camera.longitude;x=y.camera.latitude;g=y.camera.altitude;s=y.view.width;o=y.view.height;k=y.view.elevation;e[0]=new IWCoordinate(y.view.points[0].x,y.view.points[0].y);e[1]=new IWCoordinate(y.view.points[1].x,y.view.points[1].y);e[2]=new IWCoordinate(y.view.points[2].x,y.view.points[2].y);e[3]=new IWCoordinate(y.view.points[3].x,y.view.points[3].y);r=parseFloat(y.section.factor);j=new IWPoint(y.section.offsetX,y.section.offsetY);this._viewImage=y.view.imagename}else{u=y.CAMERA.LONGITUDE;x=y.CAMERA.LATITUDE;g=y.CAMERA.ALTITUDE;s=y.VIEW.WIDTH;o=y.VIEW.HEIGHT;k=y.VIEW.ELEVATION;e[0]=new IWCoordinate(y.VIEW.POINTS[0].X,y.VIEW.POINTS[0].Y);e[1]=new IWCoordinate(y.VIEW.POINTS[1].X,y.VIEW.POINTS[1].Y);e[2]=new IWCoordinate(y.VIEW.POINTS[2].X,y.VIEW.POINTS[2].Y);e[3]=new IWCoordinate(y.VIEW.POINTS[3].X,y.VIEW.POINTS[3].Y);r=parseFloat(y.SECTION.FACTOR);j=new IWPoint(y.SECTION.OFFSET_X,y.SECTION.OFFSET_Y)}h._x=0;h._y=0;w.info("Calling initialize done with cameraLongitude: "+u+", cameraLatitude: "+x+", cameraAltitude: "+g+", viewWidth: "+s+", viewHeight: "+o+", viewElevation: "+k+", viewPoints: "+e[0]+", "+e[1]+", "+e[2]+", "+e[3]+", sectionFactor: "+r+", sectionOffset: "+j+".")};this.meterToPixel=function(B){var y=b(B);var A=((y.getX()-j.getX())/r)-h._x;var z=((j.getY()-y.getY())/r)-h._y;return new IWPoint(A,z)};this.meterToPixelXY=function(z,y){var D=new IWCoordinate(z,y);var A=b(D);var C=((A.getX()-j.getX())/r)-h._x;var B=((j.getY()-A.getY())/r)-h._y;return{x:C,y:B}};this.pixelToMeter=function(y){var A=j._x+(y._x+h._x)*r;var z=j._y-(y._y+h._y)*r;return q(new IWPoint(A,z))};this.pixelToMeterXY=function(z,y){var C=j._x+(z+h._x)*r;var A=j._y-(y+h._y)*r;var B=q(new IWPoint(C,A));return{x:B.getX(),y:B.getY()}};this.needsReload=function(B,z){w.info("Calling needsReload with coord: "+B.getX()+", "+B.getY()+", size: "+z.getWidth()+", "+z.getHeight());var A=new Array(4);A[0]=b(this.pixelToMeter(new IWPoint(0,0)));A[1]=b(this.pixelToMeter(new IWPoint(z.getWidth(),0)));A[2]=b(this.pixelToMeter(new IWPoint(0,z.getHeight())));A[3]=b(this.pixelToMeter(new IWPoint(z.getWidth(),z.getHeight())));for(var y=0;y<4;y++){if(A[y].getX()<0||A[y].getX()>s){return true}if(A[y].getY()<0||A[y].getY()>o){return true}}return false};this.needsReloadXY=function(z,y,B){var C=[new IWPoint(IWCentralProjection.RELOAD_OFFSET,IWCentralProjection.RELOAD_OFFSET),new IWPoint(B.getWidth()-IWCentralProjection.RELOAD_OFFSET,IWCentralProjection.RELOAD_OFFSET),new IWPoint(IWCentralProjection.RELOAD_OFFSET,B.getHeight()-IWCentralProjection.RELOAD_OFFSET),new IWPoint(B.getWidth()-IWCentralProjection.RELOAD_OFFSET,B.getHeight()-IWCentralProjection.RELOAD_OFFSET)];for(var A=0;A<C.length;A++){var D=b(this.pixelToMeter(C[A]));if(D._x<0||D._x>s){return true}if(D._y<0||D._y>o){return true}}return false};this.toString=function(){return"[IWCentralProjection] camera altitude: "+g+", camera longitude: "+u+", camera latitude: "+x+", view width: "+s+", view height: "+o+", view elevation: "+k+", view points: {"+e[0]+", "+e[1]+", "+e[2]+", "+e[3]+"}, section factor: "+r+", section offset: "+j};function d(C){var A=(C[2].getX()<C[0].getX()?C[0].getX():C[2].getX());var D=(C[3].getX()<C[1].getX()?C[3].getX():C[1].getX());var y=(C[0].getY()<C[1].getY()?C[1].getY():C[0].getY());var B=(C[2].getY()<C[3].getY()?C[2].getY():C[3].getY());
var z=new Array(4);z[0]=new IWPoint(A,y);z[1]=new IWPoint(D,y);z[2]=new IWPoint(A,B);z[3]=new IWPoint(D,B);return z}function c(z,D,B,y,C,A){var G=y-z;var F=C-D;var E=A-B;return Math.sqrt(G*G+F*F+E*E)}function f(A,z,y){return Math.acos((A*A-z*z-y*y)/(-2*z*y))}function t(D,M,J,C,L,I,A,K,H){var B=c(C,L,I,A,K,H);var z=c(A,K,H,D,M,J);var y=c(C,L,I,D,M,J);var G=f(B,z,y);var F=f(z,B,y);var E=f(y,z,B);var N=[B,z,y,G,F,E];return N}function n(A,D,C,B){var z=t(C.getX(),C.getY(),0,B.getX(),B.getY(),0,u,x,g-k);var y=new Array(6);y[1]=z[1];y[3]=z[3];y[5]=z[5]/2+Math.atan((A-D/2)*(Math.tan(z[5]/2)/(D/2)));y[4]=Math.PI-y[5]-y[3];y[2]=y[1]/Math.sin(y[4])*Math.sin(y[5]);return y[2]/z[2]}function a(C,B,A){var z=C.getX()+(B.getX()-C.getX())*A;var D=C.getY()+(B.getY()-C.getY())*A;return new IWCoordinate(z,D)}function q(A){var C=a(e[0],e[1],n(A.getX(),s,e[0],e[1]));var D=a(e[2],e[3],n(A.getX(),s,e[2],e[3]));var z=a(e[0],e[2],n(A.getY(),o,e[0],e[2]));var B=a(e[1],e[3],n(A.getY(),o,e[1],e[3]));var y=new IWLine(C,D);var E=new IWLine(z,B);return y.getIntersection(E)}function m(H,G,F,D,B){var y=new Array(3);var A=new IWLine(G,F);var C=new IWLine(D,B);var z=new IWLine(G,D);var I=new IWLine(F,B);y[0]=A.getIntersection(C);var E=new IWLine(y[0],H);y[1]=E.getIntersection(z);y[2]=E.getIntersection(I);return y}function b(F){var B=g-k;var C;var A;var D=m(F,e[0],e[1],e[2],e[3]);C=t(e[0].getX(),e[0].getY(),0,e[2].getX(),e[2].getY(),0,u,x,B);A=t(e[0].getX(),e[0].getY(),0,D[1].getX(),D[1].getY(),0,u,x,B);if(Math.abs(C[3]-A[3])>=0.001){A[5]*=-1}var E=0.5-0.5*Math.tan(C[5]/2-A[5])/Math.tan(C[5]/2);D=m(F,e[0],e[2],e[1],e[3]);C=t(e[0].getX(),e[0].getY(),0,e[1].getX(),e[1].getY(),0,u,x,B);A=t(e[0].getX(),e[0].getY(),0,D[1].getX(),D[1].getY(),0,u,x,B);if(Math.abs(C[3]-A[3])>=0.001){A[5]*=-1}var z=0.5-0.5*Math.tan(C[5]/2-A[5])/Math.tan(C[5]/2);return new IWPoint(z*s,E*o)}IWEventManager.addListener(v,"onmove",function(y){h=h.add(new IWPoint(-y.offset.getX(),-y.offset.getY()))})}IWCentralProjection.RELOAD_OFFSET=100;function IWLayout(k,q){var z=log4javascript.getLogger("IWLayout");this.setBorder=function(A,B){d=new IWSize(A,B);this.redraw()};this.getZIndex=function(){return y};this.getControlByName=function(A){var C=null;for(var B=0;B<s.length;B++){if(s[B].getName()==A){C=s[B];break}}return C};this.getControls=function(){return s};this.redraw=function(){z.error("redraw!!!!!!!!!!!");v();for(var A=0;A<s.length;A++){z.error("xxx1 redraw bottom right "+b);r(s[A]);z.error("xxx2 redraw bottom right "+b)}};this.addControl=function(G,B,A,F,E){z.info("Calling addControl with "+B+", "+A+", "+F+", "+E);if((typeof G.isControl=="undefined")||!G.isControl()){z.warn("Adding control failed: control has to implement IWControl!");throw ("IWLayoutManager: adding control failed: control has to implement IWControl!")}if(B!=IWAlignment.TOP&&B!=IWAlignment.RIGHT&&B!=IWAlignment.BOTTOM&&B!=IWAlignment.LEFT&&B!=IWAlignment.CENTER){z.warn("Adding control failed: first orientation not valid!");throw ("IWLayoutManager: adding control failed: first orientation not valid!")}if(A!=IWAlignment.TOP&&A!=IWAlignment.RIGHT&&A!=IWAlignment.BOTTOM&&A!=IWAlignment.LEFT&&A!=IWAlignment.CENTER){z.error("Adding control failed: second orientation not valid!");throw ("IWLayoutManager: adding control failed: second orientation not valid!")}for(var C=0;C<s.length;C++){if(G==s[C]){z.error("Adding control failed: control already added!");throw ("IWLayoutManager: adding control failed: control already added!")}}z.debug("Calling addControl with "+G.toString()+" to map.");if((typeof F!="undefined")||(typeof E!="undefined")){G.setPadding(new IWSize(parseInt(F),parseInt(E)))}G.setFirstOrientation(B);G.setSecondOrientation(A);G.onresizeListener=IWEventManager.addListener(G,"onresize",function(){this.redraw()}.iwclosure(this));s.push(G);G.getContainer().style.zIndex=y;_old_bb=new IWSize(a.getWidth(),a.getHeight());G.beforeAppend();g.appendChild(G.getContainer());r(G);G.afterAppend();if(!_old_bb.equals(a)){var D=new IWResizeEvent();
D.newSize=a;IWEventManager.trigger(this,"onresize",D)}};this.removeControl=function(B){for(var A=0;A<s.length;A++){if(B==s[A]){s.splice(A,1);B.beforeRemove();iw.remove(B.getContainer());this.redraw();B.afterRemove();IWEventManager.removeListener(B.onresizeListener);break}}};function v(){m=new IWSize(0,0);u=new IWSize(0,0);w=new IWSize(0,0);b=new IWSize(0,0);z.error("ResetBorders bottom right "+b);o=new IWSize(0,0);n=new IWSize(0,0);f=new Array();x=new Array();j=new Array();e=new Array()}function t(){var B=g.style.width.replace(/\d/g,"");var A;if(B=="px"){A=parseInt(g.style.width)}else{A=g.offsetWidth}return A}function h(){var B=g.style.height.replace(/\d/g,"");var A;if(B=="px"){A=parseInt(g.style.height)}else{A=g.offsetHeight}return A}function r(F){z.debug("calculateControlPosition for "+F);var N=IWDOMHelper.getSize(F.getContainer(),F.getParent());var L=N.getWidth();var A=N.getHeight();switch(F.getFirstOrientation()){case IWAlignment.TOP:switch(F.getSecondOrientation()){case IWAlignment.LEFT:var K=d.getHeight()+F.getPadding().getHeight();var E=d.getWidth()+m.getWidth()+F.getPadding().getWidth();c(F,K,E);if(m.equals(new IWSize(0,0))){m=new IWSize(m.getWidth()+F.getPadding().getWidth()*2+L,m.getHeight()+F.getPadding().getHeight()*2+A)}else{m=new IWSize(m.getWidth()+F.getPadding().getWidth()*2+L,m.getHeight())}if(m.getWidth()>t()){a=new IWSize(m.getWidth()+d.getWidth(),a.getHeight())}break;case IWAlignment.RIGHT:var K=d.getHeight()+F.getPadding().getHeight();var E=t()-(d.getWidth()+u.getWidth()+F.getPadding().getWidth()+L);c(F,K,E);if(u.equals(new IWSize(0,0))){u=new IWSize(u.getWidth()+F.getPadding().getWidth()*2+L,u.getHeight()+F.getPadding().getHeight()*2+A)}else{u=new IWSize(u.getWidth()+F.getPadding().getWidth()*2+L,u.getHeight())}break;case IWAlignment.CENTER:case IWAlignment.TOP:f.push(F);var D=0;for(var G=0;G<f.length;G++){D+=parseInt(f[G].getContainer().style.width);D+=2*f[G].getPadding().getWidth()}var C=Math.round((t()-D)/2);var J=C;for(var G=0;G<f.length;G++){var K=d.getHeight()+f[G].getPadding().getHeight();var E=J+f[G].getPadding().getWidth();c(f[G],K,E);J+=parseInt(f[G].getContainer().style.width);J+=2*f[G].getPadding().getWidth()}if(D>t()){a=new IWSize(t()+(D-t())/2,a.getHeight())}break;default:alert("Invalid positioning!")}break;case IWAlignment.RIGHT:switch(F.getSecondOrientation()){case IWAlignment.TOP:var K=u.getHeight()+d.getHeight()+F.getPadding().getHeight();var E=t()-(d.getWidth()+F.getPadding().getWidth()+L);c(F,K,E);if(u.equals(new IWSize(0,0))){u=new IWSize(u.getWidth()+F.getPadding().getWidth()*2+L,u.getHeight()+F.getPadding().getHeight()*2+A)}else{u=new IWSize(u.getWidth(),u.getHeight()+F.getPadding().getHeight()*2+A)}if(u.getHeight()>h()){a=new IWSize(a.getWidth(),u.getHeight()+d.getHeight())}break;case IWAlignment.BOTTOM:var K=h()-(b.getHeight()+d.getHeight()+F.getPadding().getHeight()+A);var E=t()-(d.getWidth()+F.getPadding().getWidth()+L);z.error("Layout getMainHeight: "+h());z.error("- Layout _bottom_right.getHeight(): "+b.getHeight());z.error("- Layout _mapBorder.getHeight(): "+d.getHeight());z.error("- Layout control.getPadding().getHeight(): "+F.getPadding().getHeight());z.error("- Layout controlHeight: "+A);z.error("= Layout top: "+K);c(F,K,E);z.error("- Layout BottomRight xxxxx "+b);if(b.equals(new IWSize(0,0))){z.error("- Layout 1.0 "+b);b=new IWSize(b.getWidth()+F.getPadding().getWidth()*2+L,b.getHeight()+F.getPadding().getHeight()*2+A);z.error("- Layout 1.1 "+b)}else{z.error("- Layout 2.1 "+b);b=new IWSize(b.getWidth(),b.getHeight()+F.getPadding().getHeight()*2+A);z.error("- Layout 2.1 "+b)}break;case IWAlignment.CENTER:case IWAlignment.RIGHT:e.push(F);var H=0;for(var G=0;G<e.length;G++){var M=parseInt(e[G].getContainer().style.height);if(isNaN(M)){z.warn("The style.height attribute of "+e[G]+" must be set.")}H+=M;H+=2*e[G].getPadding().getHeight()}var C=Math.round((h()-H)/2);var J=C;for(var G=0;G<e.length;G++){var K=J+e[G].getPadding().getHeight();var E=t()-(d.getWidth()+e[G].getPadding().getWidth()+parseInt(e[G].getContainer().style.width));
c(e[G],K,E);J+=parseInt(e[G].getContainer().style.height);J+=2*e[G].getPadding().getHeight()}if(H>h()){a=new IWSize(a.getWidth(),h()+(H-h())/2)}break;default:alert("Invalid positioning!");break}break;case IWAlignment.BOTTOM:switch(F.getSecondOrientation()){case IWAlignment.LEFT:var K=h()-(d.getHeight()+F.getPadding().getHeight()+A);var E=d.getWidth()+w.getWidth()+F.getPadding().getWidth();c(F,K,E);if(w.equals(new IWSize(0,0))){w=new IWSize(w.getWidth()+F.getPadding().getWidth()*2+L,w.getHeight()+F.getPadding().getHeight()*2+A)}else{w=new IWSize(w.getWidth()+F.getPadding().getWidth()*2+L,w.getHeight())}if(w.getWidth()>t()){a=new IWSize(u.getWidth()+d.getWidth(),a.getHeight())}break;case IWAlignment.RIGHT:var K=h()-(d.getHeight()+F.getPadding().getHeight()+A);var E=t()-(d.getWidth()+b.getWidth()+F.getPadding().getWidth()+L);c(F,K,E);if(b.equals(new IWSize(0,0))){b=new IWSize(b.getWidth()+F.getPadding().getWidth()*2+L,b.getHeight()+F.getPadding().getHeight()*2+A)}else{b=new IWSize(b.getWidth()+F.getPadding().getWidth()*2+L,b.getHeight())}break;case IWAlignment.CENTER:case IWAlignment.BOTTOM:x.push(F);var D=0;for(var G=0;G<x.length;G++){D+=parseInt(x[G].getContainer().style.width);D+=2*x[G].getPadding().getWidth()}var C=Math.round((t()-D)/2);var J=C;for(var G=0;G<x.length;G++){var K=h()-(d.getHeight()+x[G].getPadding().getHeight()+parseInt(x[G].getContainer().style.height));var E=J+x[G].getPadding().getWidth();c(x[G],K,E);J+=parseInt(x[G].getContainer().style.width);J+=2*x[G].getPadding().getWidth()}if(D>t()){a=new IWSize(t()+(D-t())/2,a.getHeight())}break;default:alert("Invalid positioning!")}break;case IWAlignment.LEFT:switch(F.getSecondOrientation()){case IWAlignment.TOP:var K=m.getHeight()+d.getHeight()+F.getPadding().getHeight();var E=d.getWidth()+F.getPadding().getWidth();c(F,K,E);if(m.equals(new IWSize(0,0))){m=new IWSize(m.getWidth()+F.getPadding().getWidth()*2+L,m.getHeight()+F.getPadding().getHeight()*2+A)}else{m=new IWSize(m.getWidth(),m.getHeight()+F.getPadding().getHeight()*2+A)}if(m.getHeight()>h()){a=new IWSize(a.getWidth(),m.getHeight()+d.getHeight())}break;case IWAlignment.BOTTOM:var K=h()-(w.getHeight()+d.getHeight()+F.getPadding().getHeight()+A);var E=d.getWidth()+F.getPadding().getWidth();c(F,K,E);if(w.equals(new IWSize(0,0))){w=new IWSize(w.getWidth()+F.getPadding().getWidth()*2+L,w.getHeight()+F.getPadding().getHeight()*2+A)}else{w=new IWSize(w.getWidth(),w.getHeight()+F.getPadding().getHeight()*2+A)}break;case IWAlignment.CENTER:case IWAlignment.LEFT:j.push(F);var D=0;for(var G=0;G<j.length;G++){D+=parseInt(j[G].getContainer().style.height);D+=2*j[G].getPadding().getHeight()}var C=Math.round((h()-D)/2);var J=C;for(var G=0;G<j.length;G++){var K=J+j[G].getPadding().getHeight();var E=d.getWidth()+j[G].getPadding().getWidth();c(j[G],K,E);J+=parseInt(j[G].getContainer().style.height);J+=2*j[G].getPadding().getHeight()}if(D>h()){a=new IWSize(a.getWidth(),h()+(D-h())/2)}break;default:alert("Invalid positioning!")}break;case IWAlignment.CENTER:var B=Math.round(t()/2);var I=Math.round(h()/2);if(o.equals(new IWSize(0,0))&&n.equals(new IWSize(0,0))){con_y=Math.round(A/2);con_x=Math.round(L/2);o=new IWSize(B+con_x+F.getPadding().getWidth(),B+con_x+F.getPadding().getWidth());n=new IWSize(I+con_y+F.getPadding().getHeight(),I+con_y+F.getPadding().getHeight());var K=I-con_y;var E=B-con_x;z.error("y_center = "+I);z.error("con_y = "+con_y);z.error("x_center = "+B);z.error("con_x = "+con_x);z.error("top = "+K);z.error("left = "+E);c(F,K,E)}else{switch(F.getSecondOrientation()){case IWAlignment.TOP:var K=h()-(n.getWidth()+A+F.getPadding().getHeight());var E=B-Math.round(L/2);c(F,K,E);n=new IWSize(n.getWidth()+A+F.getPadding().getHeight()*2,n.getHeight());break;case IWAlignment.RIGHT:case IWAlignment.CENTER:var K=I-Math.round(A/2);var E=o.getHeight()+F.getPadding().getWidth();c(F,K,E);o=new IWSize(o.getWidth(),o.getHeight()+L+F.getPadding().getWidth()*2);break;case IWAlignment.BOTTOM:var K=n.getHeight()+F.getPadding().getHeight();
var E=B-Math.round(L/2);c(F,K,E);n=new IWSize(n.getWidth(),n.getHeight()+A+F.getPadding().getHeight()*2);break;case IWAlignment.LEFT:var K=I-Math.round(A/2);var E=t()-(o.getWidth()+L+F.getPadding().getWidth());c(F,K,E);o=new IWSize(o.getWidth()+L+F.getPadding().getWidth()*2,o.getHeight());break;default:alert("Invalid positioning!")}}if(o.getHeight()>t()){a=new IWSize(o.getHeight(),a.getHeight())}if(n.getHeight()>h()){a=new IWSize(a.getWidth(),n.getHeight())}break;default:alert("Invalid positioning!")}}function c(C,B,F){z.debug("Calling setPosition with "+C+", "+B+", "+F);if(C.isRedrawable()||C.positionedFirstTime==null){C.getContainer().style.top=B+"px";C.getContainer().style.left=F+"px";C.positionedFirstTime=true}else{size=IWDOMHelper.getSize(C.getContainer());var H=size.getWidth();var A=size.getHeight();var I=parseInt(C.getContainer().style.top);var D=parseInt(C.getContainer().style.left);if(I+A>h()){var E=h()-A;if(E<0){E=0}C.getContainer().style.top=E+"px"}if(D+H>t()){var G=t()-H;if(G<0){G=0}C.getContainer().style.left=G+"px"}}}if((typeof q!="number")||(parseInt(q)!=q)){z.error("Layer is not an int:"+q+", type: "+typeof q)}var y=q;var d=new IWSize(4,4);var g=k;var a=new IWSize(t(),h());var s=new Array();var f=new Array();var x=new Array();var j=new Array();var e=new Array();var m;var u;var w;var b;var o;var n;v()}function IWLayoutManager(a){var f=new Array();var d=new IWSize(0,0);var b=log4javascript.getLogger("IWLayoutManager");var e=30;this.getLayer=function(k){b.info("Calling getLayer with "+k);if((typeof k!="number")||(parseInt(k)!=k)){throw ("Level is not an int: "+k+", type: "+typeof k)}k+=e;var j=false;var g=0;for(g=0;g<f.length;g++){if((typeof f[g][0]=="number")&&(f[g][0]==k)){j=true;break}}if(j==false){var h=new IWLayout(a,k);f.push(new Array(k,h));g=f.length-1;IWEventManager.addListener(h,"onresize",function(m){if(c(m.newSize)){IWEventManager.trigger(this,"onresize",m)}}.iwclosure(this))}return f[g][1]};this.getLayers=function(){return f};this.redraw=function(){b.info("Calling redraw");for(var g=0;g<f.length;g++){f[g][1].redraw()}};function c(g){b.debug("Calling hasBoundingBoxChanged with "+g);if(d.getWidth()<g.getWidth()||d.getHeight()<g.getHeight()){d=g.clone();return true}return false}}function IWMap(mapContainer){var N_MAX_REQUESTS=5;var self=this;var logger=log4javascript.getLogger("IWMap");var options=new IWMapOptions(this);var mouseAdapter=new IWMouseAdapter();var mouseWheelAdapter=new IWMouseWheelAdapter(this,mapContainer);var keyboardAdapter=new IWKeyboardAdapter(mapContainer);var sessionKeeper=new IWSessionKeeper();var currentCenterX=null;var currentCenterY=null;var currentZoomCenterXY=null;var oldCenterX=null;var oldCenterY=null;var currentMapType=options.getMapTypeByName(iwconst.DEFAULT_MAPTYPE);var currentZoom=currentMapType.getPreferredLevel();var currentTilesize=currentMapType.getTilesizeMeter()[currentZoom];var oldZoom=currentZoom;var windowOverlayManager=new IWWindowOverlayManager(this);var layerInfoManager=new IWLayerInfoManager(this);var copyrightControl=null;var layers=new Array();var timeoutWheel=null;var mouseStopTimeout=null;var dragOnMouseMoveListener=null;var dragOnMouseUpListener=null;var startDragPosition=null;var savedCenter=null;var savedZoom=null;var actionStack=new IWActionStack(this);var clickTimeout=null;var clickTimestamp=null;var dblClickTimestamp=null;var onMouseDownPosition=null;var isFirstLoad=true;var slideSteps=[0.1,0.25,0.3,0.25,0.1];var slideTimeout=null;var isOnClickEvent=false;var numTilesX;var numTilesY;var tiles=new Object();var layerTiles=null;var currentTileLayer=null;var requests=initRequests();var visibleSectionCounter=Number.MAX_VALUE;var oldMapTypeName=null;var toggleMapType=false;var oldZoomBounds=null;var queueTiles=new Array();var queueRequests=new Array();var currentWheelstep=0;var currentAliasCounter=0;var isVisibleSectionLoaded=false;var loadedTiles=0;var logstat=true;var isZoomEvent=false;var visibleBounds=null;var buttonPressed=0;var centerPixelX=0;var centerPixelY=0;
var totalOffsetX=0;var totalOffsetY=0;var RELOAD_ON_MOVE=true;var reloadTimeout=null;var mapWidthInMeter=0;var mapHeightInMeter=0;var firstTilePixelX=0;var firstTilePixelY=0;var divCSS=iw.create("div");var divDrawing=iw.create("div");var divClipping=iw.create("div");var divZoomingAndDragging=iw.create("div");var divOverlaysAndControls=iw.create("div");var divOverlay=iw.create("div");var divControl=iw.create("div");var divWindowOverlay=iw.create("div");var divTileMap=null;var divTileMapZoom=null;var imgZoomingAndDragging=iw.create("img");var imgLabels=iw.create("img");var imgLabelsLoad=iw.create("img");var imgPrintMap=iw.create("img");var tileLoader=new Object();var isOnMoveEventTriggered=false;var overlayManager=new IWOverlayManager(this,divOverlay);var layoutManager=new IWLayoutManager(divControl);var imgLabelsX=0;var imgLabelsY=0;var divTileMapX=0;var divTileMapY=0;var divWindowOverlayX=0;var divWindowOverlayY=0;var lastMousePositionX=0;var lastMousePositionY=0;var rasterTileOffsetX=0;var rasterTileOffsetY=0;var fixme_imageCount=new Image();var zoomTimer=null;var gesturechangeListener=null;function onGestureStart(event){event.preventDefault();gesturechangeListener=IWEventManager.addDomListener(document,"gesturechange",onGestureChange);gestureendListener=IWEventManager.addDomListener(document,"gestureend",onGestureChange);return false}function onGestureChange(event){event.preventDefault();if(event.scale>1){if(zoomTimer){clearTimeout(zoomTimer)}zoomTimer=setTimeout(function(){self.zoomIn();zoomTimer=false},200)}else{if(event.scale<1){if(zoomTimer){clearTimeout(zoomTimer)}zoomTimer=setTimeout(function(){self.zoomOut();zoomTimer=false},200)}}return false}function onGestureEnd(event){alert("A");event.preventDefault();IWEventManager.removeListener(gesturechangeListener);IWEventManager.removeListener(gestureendListener);alert("B");return false}function touchHandler(event){var touches=event.changedTouches,first=touches[0],type="";if(touches.length>1){return false}switch(event.type){case"touchstart":type="mousedown";isClick=true;break;case"touchmove":type="mousemove";isClick=false;break;case"touchend":if(isClick&&dblClick){type="dblclick"}else{if(isClick){type="click";dblClick=true;if(!doubleTapTimer){doubleTapTimer=setTimeout(function(){dblClick=false;doubleTapTimer=false},200)}}else{type="mouseup"}}isClick=false;break;default:return}var simulatedEvent=document.createEvent("MouseEvent");simulatedEvent.initMouseEvent(type,true,true,window,1,first.screenX,first.screenY,first.clientX,first.clientY,false,false,false,false,0,null);first.target.dispatchEvent(simulatedEvent);event.preventDefault()}function countClick(){var config=currentMapType.getTilesServerConfig(currentZoom);var url=iwconst.GLOBAL_APP_URL+"servlet/FrontController?cmd=writeAccessStatistics&VNR="+IWAccessFilter.getCNR()+"&PNR="+IWAccessFilter.getPNR()+"&app=ms&mapcx="+parseInt(currentCenterX)+"&mapcy="+parseInt(currentCenterY)+"&mapdx="+parseInt(self.getMapWidthInMeter())+"&mapdy="+parseInt(self.getMapHeightInMeter())+"&width="+options.getSize().getWidth()+"&height="+options.getSize().getHeight()+"&projc="+config.getProjection()+"&overview="+(options.hasOverviewMap()?"1":"0")+"&session="+self.getSessionId()+"&zoom="+currentZoom+"&maptype="+encodeURIComponent(currentMapType.getName())+currentMapType.getLogging()+currentMapType.getRequestParameters();fixme_imageCount.src=url}this.getCurrentTileContainer=function(){return currentTileLayer};this.zoom=function(startZoom,targetZoom,zoomCenterPixelX,zoomCenterPixelY,adjustToCenter){if(targetZoom<currentMapType.getMinLevel()||targetZoom>currentMapType.getMaxLevel()){return false}showLabels(false);abortAllRequests();if(!zoomCenterPixelX||!zoomCenterPixelY){zoomCenterPixelX=Math.ceil(options.getSize().getWidth()/2);zoomCenterPixelY=Math.ceil(options.getSize().getHeight()/2)}var moveOffset=new IWPoint(0,0);if(adjustToCenter==true&&currentZoom!=targetZoom){var zoomsteps=Math.abs(currentZoom-targetZoom);var offsetTileMapX=parseInt(divTileMap.style.left);
var offsetTileMapY=parseInt(divTileMap.style.top);var size=options.getSize();var centerPixelX=Math.ceil(size.getWidth()/2);var centerPixelY=Math.ceil(size.getHeight()/2);moveOffset._x=(centerPixelX-zoomCenterPixelX)/zoomsteps;moveOffset._y=(centerPixelY-zoomCenterPixelY)/zoomsteps}zoomMap(startZoom,targetZoom,zoomCenterPixelX,zoomCenterPixelY,moveOffset,adjustToCenter);return true};function zoomMap(currentZoom,targetZoom,zoomCenterPixelX,zoomCenterPixelY,moveOffset,adjustToCenter){if(currentMapType.getType()=="IW_MAPDISPATCHER"){loadZoomMap(targetZoom,zoomCenterPixelX,zoomCenterPixelY,adjustToCenter)}else{if(currentZoom>targetZoom){self.opticalZoom(currentZoom,currentZoom-1,zoomCenterPixelX,zoomCenterPixelY,moveOffset);window.setTimeout(function(){zoomMap(currentZoom-1,targetZoom,zoomCenterPixelX,zoomCenterPixelY,moveOffset,adjustToCenter)},0)}else{if(currentZoom<targetZoom){self.opticalZoom(currentZoom,currentZoom+1,zoomCenterPixelX,zoomCenterPixelY,moveOffset);window.setTimeout(function(){zoomMap(currentZoom+1,targetZoom,zoomCenterPixelX,zoomCenterPixelY,moveOffset,adjustToCenter)},0)}else{loadZoomMap(targetZoom,zoomCenterPixelX,zoomCenterPixelY,adjustToCenter)}}}}function loadZoomMap(targetZoom,zoomCenterPixelX,zoomCenterPixelY,adjustToCenter){isZoomEvent=true;var tilesizeMeter=currentMapType.getTilesizeMeter();var zoomFactor=tilesizeMeter[currentZoom]/tilesizeMeter[targetZoom];var projection=currentMapType.getProjection();var zoomCenterCoordinateXY=projection.pixelToMeterXY(zoomCenterPixelX,zoomCenterPixelY);var oldCenterCoordinateX=currentCenterX;var oldCenterCoordinateY=currentCenterY;if(adjustToCenter==false){zoomCenterCoordinateXY.x=zoomCenterCoordinateXY.x+((oldCenterCoordinateX-zoomCenterCoordinateXY.x)/zoomFactor);zoomCenterCoordinateXY.y=zoomCenterCoordinateXY.y+((oldCenterCoordinateY-zoomCenterCoordinateXY.y)/zoomFactor)}oldZoom=currentZoom;currentZoom=targetZoom;currentCenterX=zoomCenterCoordinateXY.x;currentCenterY=zoomCenterCoordinateXY.y;currentTilesize=currentMapType.getTilesizeMeter()[currentZoom];loadWholeMap()}this.opticalZoom=function(startZoom,targetZoom,zoomCenterPixelX,zoomCenterPixelY,moveOffset){showLabels(false);abortAllRequests();var currentZoom=startZoom;if(divTileMapZoom==null){divTileMapZoom=currentTileLayer.cloneNode(true);divTileMapZoom.id="IWTilesZoom";divTileMapZoom.style.position="absolute";divTileMapZoom.style.left=currentTileLayer.parentNode.style.left;divTileMapZoom.style.top=currentTileLayer.parentNode.style.top;currentTileLayer.style.visibility="hidden";iw.before(currentTileLayer.parentNode.parentNode,currentTileLayer.parentNode,divTileMapZoom)}var imageTiles=divTileMapZoom.childNodes;var size=options.getSize();var mapWidthInPixel=size.getWidth();var mapHeightInPixel=size.getHeight();var offsetTileMapX=parseInt(divTileMap.style.left);var offsetTileMapY=parseInt(divTileMap.style.top);if(moveOffset==null||typeof moveOffset=="undefined"){moveOffset=new IWPoint(0,0)}if(!zoomCenterPixelX||!zoomCenterPixelY){var size=options.getSize();zoomCenterPixelX=Math.ceil(size.getWidth()/2)-offsetTileMapX;zoomCenterPixelY=Math.ceil(size.getHeight()/2)-offsetTileMapY}else{zoomCenterPixelX-=offsetTileMapX;zoomCenterPixelY-=offsetTileMapY}var zoomSteps=Math.abs(startZoom-targetZoom);for(var z=0;z<zoomSteps;z++){if(currentZoom<currentMapType.getMinLevel()||currentZoom>currentMapType.getMaxLevel()){return}var tilesizeMeters=currentMapType.getTilesizeMeter();var currentZoomMeter=tilesizeMeters[currentZoom];var targetZoomMeter=tilesizeMeters[targetZoom];var zoomFactor=currentZoomMeter/targetZoomMeter;for(var i=0;i<imageTiles.length;i++){var imageTile=imageTiles[i];var oldImageSize=(imageTile.widthVal?imageTile.widthVal:parseInt(imageTile.width));var imageWidth=oldImageSize*zoomFactor;if(imageWidth<1){continue}imageTile.widthVal=imageWidth;var newImageSize=Math.ceil(imageTile.widthVal);var x1=(imageTile.xVal?imageTile.xVal:(parseInt(imageTile.style.left)));var y1=(imageTile.yVal?imageTile.yVal:(parseInt(imageTile.style.top)));
imageTile.moveOffsetX=(imageTile.moveOffsetX?+imageTile.moveOffsetX:0)+moveOffset.getX();imageTile.moveOffsetY=(imageTile.moveOffsetY?+imageTile.moveOffsetY:0)+moveOffset.getY();var x2=x1+newImageSize;var y2=y1+newImageSize;if(offsetTileMapX+x2<0||offsetTileMapY+y2<0||offsetTileMapX+x1>mapWidthInPixel||offsetTileMapY+y1>mapHeightInPixel){if(imageTile.style.display!="none"){imageTile.style.display="none"}}else{if(IWBrowser.isInternetExplorer()){imageTile.style.width=imageTile.style.height=newImageSize}else{imageTile.width=imageTile.height=newImageSize}if(imageTile.style.display=="none"){imageTile.style.block="block"}}var xCenterOffset=Math.abs(x1-zoomCenterPixelX);var yCenterOffset=Math.abs(y1-zoomCenterPixelY);var xMoveOffset=((xCenterOffset)*zoomFactor);var yMoveOffset=((yCenterOffset)*zoomFactor);if(currentZoom>targetZoom){if(x1>zoomCenterPixelX){imageTile.xVal=x1-xMoveOffset}else{imageTile.xVal=x1+xMoveOffset}if(y1>zoomCenterPixelY){imageTile.yVal=y1-yMoveOffset}else{imageTile.yVal=y1+yMoveOffset}}else{if(x1>zoomCenterPixelX){imageTile.xVal=x1+xMoveOffset/zoomFactor}else{imageTile.xVal=x1-xMoveOffset/zoomFactor}if(y1>zoomCenterPixelY){imageTile.yVal=y1+yMoveOffset/zoomFactor}else{imageTile.yVal=y1-yMoveOffset/zoomFactor}}if(imageTile.style.display!="none"){imageTile.style.left=Math.floor(imageTile.xVal)+Math.floor(imageTile.moveOffsetX)+"px";imageTile.style.top=Math.floor(imageTile.yVal)+Math.floor(imageTile.moveOffsetY)+"px"}}if(currentZoom<targetZoom){currentZoom++}else{currentZoom--}}};this.createPrintMap=function(){};this.getCopyrightControl=function(){return copyrightControl};this.addWindowOverlay=function(windowOverlay){windowOverlay.beforeAppend();windowOverlay.redraw();iw.append(windowOverlay.getParent(),windowOverlay.getContainer());windowOverlay.afterAppend()};this.removeWindowOverlay=function(windowOverlay){if(windowOverlay.getContainer){windowOverlay.beforeRemove();iw.remove(windowOverlay.getContainer());windowOverlay.afterRemove()}};this.openInfoBalloon=function(coordinate,content){windowOverlayManager.openInfoBalloon(coordinate,content)};this.removeInfoBalloon=function(){windowOverlayManager.removeInfoBalloon()};this.openTooltip=function(coordinate,text){windowOverlayManager.openTooltip(coordinate,text)};this.removeTooltip=function(){windowOverlayManager.removeTooltip()};this.getContainer=function(){return mapContainer};this.getCenter=function(){if(currentCenterX!=null&&currentCenterY!=null){return new IWCoordinate(currentCenterX,currentCenterY)}else{return null}};this.getMapWidthInMeter=function(){return mapWidthInMeter};this.getMapHeightInMeter=function(){return mapHeightInMeter};this.getMeterPerPixel=function(){if(options.getSize().getWidth()==0){return 0}return Math.round(mapWidthInMeter/options.getSize().getWidth())};this.getZoom=function(){return currentZoom};this.getZoomByMeter=function(meter){var tilesizeMeters=currentMapType.getTilesizeMeter();var meterPerTile=Math.round(meter/(options.getSize().getWidth()/IWTile.SIZE));var zoomlevel=parseInt(currentMapType.getMinLevel());for(var i=zoomlevel+1;i<=currentMapType.getMaxLevel();i++){if(Math.round(tilesizeMeters[i])>=meterPerTile){zoomlevel=i}else{break}}return zoomlevel};this.getBounds=function(){var nDiffX=this.getMapWidthInMeter()/2;var nDiffY=this.getMapHeightInMeter()/2;var coordNW=new IWCoordinate(currentCenterX-nDiffX,currentCenterY+nDiffY);var coordSE=new IWCoordinate(currentCenterX+nDiffX,currentCenterY-nDiffY);return new IWBounds(coordNW,coordSE)};this.getBoundsZoomlevel=function(bounds){var size=bounds.getSize();var meterWidth=size.getWidth();var meterHeight=size.getHeight();var meterRatio=(meterHeight!=0)?(meterWidth/meterHeight):Number.POSITIVE_INFINITY;var pixelRatio=options.getSize().getWidth()/options.getSize().getHeight();if(meterRatio<pixelRatio){meterWidth=meterHeight*pixelRatio}else{meterHeight=meterWidth/pixelRatio}var center=bounds.getCenter();var w=meterWidth/2;var h=meterHeight/2;var min=new IWCoordinate(center.getX()-w,center.getY()-h);
var max=new IWCoordinate(center.getX()+w,center.getY()+h);bounds=new IWBounds(min,max);return this.getZoomByMeter(bounds.getSize().getWidth())};this.getCurrentMapType=function(){return currentMapType};this.getOptions=function(){return options};this.getLayoutManager=function(){return layoutManager};this.getOverlayManager=function(){return overlayManager};this.getLayerInfoManager=function(){return layerInfoManager};this.panTo=function(coordinate){if(coordinate.getProjectionType()==IWCoordinate.WGS84){coordinate=coordinate.toMercator()}var projection=currentMapType.getProjection();var pointCenterXY=projection.meterToPixelXY(currentCenterX,currentCenterY);var pointCoordXY=projection.meterToPixelXY(coordinate.getX(),coordinate.getY());var offsetX=pointCenterXY.x-pointCoordXY.x;var offsetY=pointCenterXY.y-pointCoordXY.y;var size=options.getSize();var distanceToPoint=Math.sqrt(offsetX*offsetX+offsetY*offsetY);var distanceScreen=Math.sqrt(size.getWidth()*size.getWidth()+size.getHeight()*size.getHeight());if(distanceToPoint<distanceScreen){var moveEvent=new IWMoveEvent();moveEvent.offsetX=offsetX;moveEvent.offsetY=offsetY;moveEvent.offset=new IWPoint(offsetX,offsetY);this.triggerOnMoveStart(moveEvent);slide(offsetX,offsetY,coordinate)}else{this.setCenter(coordinate)}if(this.panTo.caller.caller!=actionStack.undoAction){if(this.panTo.caller.caller!=actionStack.redoAction){actionStack.addAction(new IWMapActionMove(new IWPoint(offsetX,offsetY)))}}};this.panBy=function(offset,undoable){var offsetX=offset.getX();var offsetY=offset.getY();if(Math.abs(offsetX)>3000||Math.abs(offsetY)>3000){alert("panBy "+offset+" is not allowed. The offset must not exceed a maximum of 3000 x 3000 pixel.");return}var moveEvent=new IWMoveEvent();moveEvent.offsetX=offsetX;moveEvent.offsetY=offsetY;moveEvent.offset=offset;this.triggerOnMoveStart(moveEvent);var width=options.getSize().getWidth();var height=options.getSize().getHeight();if(offsetX<=2&&offsetY<=2){move(offsetX,offsetY);showLabels(true)}else{if(offsetX<=width*0.5&&offsetY<=height*0.5){slide(offsetX,offsetY)}else{move(offsetX,offsetY);showLabels(true)}}if(undoable||typeof undoable=="undefined"){actionStack.addAction(new IWMapActionMove(offset))}};function move(offsetX,offsetY){if(!offsetX&&!offsetY){return}var newCurrentCenterXY=currentMapType.getProjection().pixelToMeterXY(centerPixelX-offsetX,centerPixelY-offsetY);if(currentMapType.getType()=="IW_MAPDISPATCHER"){if(newCurrentCenterXY.x<-20037508.342789274){newCurrentCenterXY.x=(newCurrentCenterXY.x+20037508.342789274)%40075016.68557855+20037508.342789274}else{if(newCurrentCenterXY.x>20037508.342789274){newCurrentCenterXY.x=(newCurrentCenterXY.x+20037508.342789274)%40075016.68557855-20037508.342789274}}if(newCurrentCenterXY.y<-20037508.342789274){newCurrentCenterXY.y=(newCurrentCenterXY.y+20037508.342789274)%40075016.68557855+20037508.342789274}else{if(newCurrentCenterXY.y>20037508.342789274){newCurrentCenterXY.y=(newCurrentCenterXY.y+20037508.342789274)%40075016.68557855-20037508.342789274}}}currentCenterX=newCurrentCenterXY.x;currentCenterY=newCurrentCenterXY.y;rasterTileOffsetX+=offsetX;rasterTileOffsetY+=offsetY;imgLabelsX+=offsetX;imgLabelsY+=offsetY;imgLabels.style.left=imgLabelsX+"px";imgLabels.style.top=imgLabelsY+"px";divTileMapX+=offsetX;divTileMapY+=offsetY;divTileMap.style.left=divTileMapX+"px";divTileMap.style.top=divTileMapY+"px";divWindowOverlayX+=offsetX;divWindowOverlayY+=offsetY;divWindowOverlay.style.left=divWindowOverlayX+"px";divWindowOverlay.style.top=divWindowOverlayY+"px";if(divTileMapZoom){divTileMapZoom.style.left=(parseInt(divTileMapZoom.style.left)+offsetX)+"px";divTileMapZoom.style.top=(parseInt(divTileMapZoom.style.top)+offsetY)+"px"}var moveEvent=new IWMoveEvent();moveEvent.position=null;moveEvent.lastPosition=null;moveEvent.offsetX=offsetX;moveEvent.offsetY=offsetY;moveEvent.offset=new IWPoint(offsetX,offsetY);self.triggerOnMove(moveEvent);if(RELOAD_ON_MOVE){if(rasterTileOffsetX>IWTile.SIZE||rasterTileOffsetX<-IWTile.SIZE||rasterTileOffsetY>IWTile.SIZE||rasterTileOffsetY<-IWTile.SIZE){rasterTileOffsetX=rasterTileOffsetX%IWTile.SIZE;
rasterTileOffsetY=rasterTileOffsetY%IWTile.SIZE;if(currentMapType.getType()=="IW_MAPDISPATCHER"){reloadTilesMapDispatcher()}else{var moveOffset=new IWPoint(rasterTileOffsetX,rasterTileOffsetY);reloadTiles(moveOffset)}}else{}}}this.setCenter=function(coordinate,zoom,mapType){hide();if(coordinate.getProjectionType()==IWCoordinate.WGS84){var mercator=coordinate.toMercator();currentCenterX=mercator.getX();currentCenterY=mercator.getY()}else{currentCenterX=coordinate.getX();currentCenterY=coordinate.getY()}oldCenterX=currentCenterX;oldCenterY=currentCenterY;oldZoom=currentZoom;if(typeof zoom!="undefined"){currentZoom=zoom}var projection=currentMapType.getProjection();var meterNW=projection.pixelToMeter(new IWPoint(0,0));var meterSE=projection.pixelToMeter(new IWPoint(options.getSize().getWidth(),options.getSize().getHeight()));visibleBounds=new IWBounds(meterNW,meterSE);oldMapTypeName=currentMapType.getName();if(typeof mapType!="undefined"){currentMapType=mapType;if(oldMapTypeName!=mapType.getName()){toggleMapType=true;myMapTiles=new Object();for(var level in tiles){for(var i=tiles[level].length;i>0;i--){if(tiles[level][(i-1)].destroy){tiles[level][(i-1)].destroy();tiles[level][(i-1)]=null}else{iw.destroy(tiles[level][(i-1)]);tiles[level][(i-1)]=null}}}tiles=new Object();iw.empty(divTileMap);var event=new IWMapTypeChangeEvent();event.oldMapType=oldMapTypeName;event.newMapType=currentMapType.getName();this.triggerOnMapTypeChangeStart(event)}}if(currentZoom<currentMapType.getMinLevel()){currentZoom=currentMapType.getMinLevel()}else{if(currentZoom>currentMapType.getMaxLevel()){currentZoom=currentMapType.getMaxLevel()}}loadWholeMap()};this.zoomIn=function(undoable){var oldBounds=this.getBounds();if(this.zoom(currentZoom,currentZoom+1)){if(undoable||typeof undoable=="undefined"){actionStack.addAction(new IWMapActionZoom(oldBounds,this.getBounds()))}return true}return false};this.zoomOut=function(undoable){var oldBounds=this.getBounds();if(this.zoom(currentZoom,currentZoom-1)){if(undoable||typeof undoable=="undefined"){actionStack.addAction(new IWMapActionZoom(oldBounds,this.getBounds()))}return true}return false};this.savePosition=function(){savedCenter=currentCenter;savedZoom=currentZoom};this.returnToSavedPosition=function(){if(savedCenter&&savedZoom){this.setCenter(savedCenter,savedZoom)}};this.undo=function(){actionStack.undoAction()};this.redo=function(){actionStack.redoAction()};this.addLayer=function(layer){for(var i=0;i<layers.length;i++){if(layer==layers[i]){layers[i]=layer;return}}layers.push(layer)};this.removeLayerByName=function(layerName){for(var i=0;i<layers.length;i++){if(layerName==layers[i].getName()){var removeLayer=layers[i];layers.splice(i,1);removeLayer.triggerOnRemove();return removeLayer}}return null};this.removeLayer=function(layer){for(var i=0;i<layers.length;i++){if(layer==layers[i]){var removeLayer=layers[i];layers.splice(i,1);removeLayer.triggerOnRemove()}}};this.redraw=function(){showLabels(true)};this.getLayers=function(){return layers};this.getLayerByName=function(layerName){for(var i=0;i<layers.length;i++){if(layerName==layers[i].getName()){return layers[i]}}return null};this.getSessionId=function(){return iwconst.SESSION_ID};this.getClippingContainer=function(){return divClipping};this.getWindowOverlayContainer=function(){return divWindowOverlay};this.getZoomingAndDraggingContainer=function(){return divZoomingAndDragging};this.getOverlayContainer=function(){return divOverlay};this.getDrawingContainer=function(){return divDrawing};this.getControlContainer=function(){return divControl};this.getTilesContainer=function(){return divTileMap};this.toString=function(){return"[IWMap]"};this.triggerOnProjectionInvalid=function(){IWEventManager.trigger(this,"onprojectioninvalid",null)};this.triggerOnProjectionInitialize=function(){IWEventManager.trigger(this,"onprojectioninitialize",null)};this.triggerOnMouseDown=function(event){IWEventManager.trigger(this,"onmousedown",event)};this.triggerOnMouseUp=function(event){IWEventManager.trigger(this,"onmouseup",event)
};this.triggerOnMouseStop=function(event){IWEventManager.trigger(this,"onmousestop",event)};this.triggerOnClick=function(event){clickTimestamp=new Date().getTime();clickTimeout=null;if(isOnClickEvent){IWEventManager.trigger(this,"onclick",event)}};this.triggerOnInitialize=function(event){IWEventManager.trigger(this,"oninitialize",event)};this.triggerOnCenter=function(event){if(!options.isOverviewMap()&&!currentMapType.hasLabels()){countClick()}IWEventManager.trigger(this,"oncenter",event)};this.triggerOnMoveStart=function(event){totalOffsetX=0;totalOffsetY=0;IWEventManager.trigger(this,"onmovestart",event)};this.triggerOnMove=function(event){totalOffsetX+=event.offsetX;totalOffsetY+=event.offsetY;event.totalOffsetX=totalOffsetX;event.totalOffsetY=totalOffsetY;IWEventManager.trigger(this,"onmove",event)};this.triggerOnMoveEnd=function(event){event.totalOffsetX=totalOffsetX;event.totalOffsetY=totalOffsetY;if(!options.isOverviewMap()&&!currentMapType.hasLabels()){countClick()}if(!options.isOverviewMap()&&(event.totalOffsetX!=0||event.totalOffsetY!=0)){requestMapTypeAvailable()}IWEventManager.trigger(this,"onmoveend",event);if(!currentMapType.getProjection().needsReloadXY(currentCenterX,currentCenterY,options.getSize())){if(!RELOAD_ON_MOVE){if(currentMapType.getType()=="IW_MAPDISPATCHER"){reloadTilesMapDispatcher()}else{reloadTiles(event.offset)}}}if(tiles[currentZoom].length>200){divTileMapX=parseInt(divTileMap.style.left);divTileMapY=parseInt(divTileMap.style.top);var size=options.getSize();for(var i=tiles[currentZoom].length,j=0;i>100;i--){var imageTile=tiles[currentZoom][j];var imageTileX=parseInt(imageTile.style.left)+divTileMapX;var imageTileY=parseInt(imageTile.style.top)+divTileMapY;if(imageTileX+IWTile.SIZE<0||imageTileX>size.getWidth()||imageTileY+IWTile.SIZE<0||imageTileY>size.getHeight()){delete (myMapTiles[currentZoom][imageTile.id]);tiles[currentZoom].splice(j,1);if(imageTile.destroy){imageTile.destroy()}else{iw.destroy(imageTile)}}else{j++}}}};this.triggerOnZoomStart=function(event){IWEventManager.trigger(this,"onzoomstart",event)};this.triggerOnZoom=function(event){IWEventManager.trigger(this,"onzoom",event)};this.triggerOnZoomEnd=function(event){iw.destroy(divTileMapZoom);divTileMapZoom=null;if(!options.isOverviewMap()&&!currentMapType.hasLabels()){countClick()}IWEventManager.trigger(this,"onzoomend",event)};this.triggerOnMapTypeChange=function(event){IWEventManager.trigger(this,"onmaptypechange",event)};this.triggerOnMapTypeChangeStart=function(event){IWEventManager.trigger(this,"onmaptypechangestart",event)};this.triggerOnMapTypesChange=function(event){IWEventManager.trigger(this,"onmaptypeschange",event)};this.triggerOnMapTypeAvailabilityChange=function(event){IWEventManager.trigger(this,"onmaptypeavailabilitychange",event)};this.triggerOnResize=function(event){var size=event.newSize;var width=parseInt(mapContainer.style.width);var height=parseInt(mapContainer.style.height);if(size.getWidth()!=width||size.getHeight()!=height){resize(size);layoutManager.redraw();IWEventManager.trigger(this,"onresize",event)}};this.triggerOnMapControlChange=function(event){IWEventManager.trigger(this,"onmapcontrolchange",event)};this.triggerOnLanguageChange=function(event){IWEventManager.trigger(this,"onlanguagechange",event)};this.triggerOnCopyrightChange=function(event){IWEventManager.trigger(this,"oncopyrightchange",event)};function callbackGetPrintMapRequest(xmlHttp){if(xmlHttp.readyState==4){if(xmlHttp.statusText=="OK"){imgPrintMap.src=xmlHttp.responseText}else{if(xmlHttp.status==401){alert(xmlHttp.statusText)}}}else{alert("GetPrintMap failed: "+xmlHttp.statusText)}}function wheelZoom(event){if(timeoutWheel==null){currentZoomCenterXY=mouseAdapter.toMouseEvent(event.mouseEvent,mapContainer).positionXY;self.triggerOnZoomStart();currentWheelstep=currentZoom}else{window.clearTimeout(timeoutWheel)}var oldZoomLevel=currentWheelstep;currentWheelstep=Math.max(Math.min(currentWheelstep+event.delta,currentMapType.getMaxLevel()),currentMapType.getMinLevel());
timeoutWheel=window.setTimeout(function(){self.zoom(currentWheelstep,currentWheelstep,currentZoomCenterXY.x,currentZoomCenterXY.y,false);timeoutWheel=null},500);var zoomEvent=new IWZoomEvent();zoomEvent.newZoomLevel=currentWheelstep;self.triggerOnZoom(zoomEvent);self.opticalZoom(oldZoomLevel,currentWheelstep,currentZoomCenterXY.x,currentZoomCenterXY.y);if(event.preventDefault){event.preventDefault()}}function prepareMouseDragging(mouseEvent){logger.debug("Calling prepareMouseDragging with "+mouseEvent.positionXY.x+", "+mouseEvent.positionXY.y);IWEventManager.removeListener(dragOnMouseMoveListener);IWEventManager.removeListener(dragOnMouseUpListener);var e=new IWMoveEvent();e.positionXY=mouseEvent.positionXY;e.lastPosition=mouseEvent.lastPosition;e.offset=new IWPoint(0,0);lastMousePositionX=mouseEvent.positionXY.x;lastMousePositionY=mouseEvent.positionXY.y;startDragPosition=mouseEvent.positionXY;isOnMoveEventTriggered=false;divZoomingAndDragging.style.cursor="pointer";if(typeof window.document.ontouchmove!="undefined"){dragOnMouseMoveListener=IWEventManager.addDomListener(window.document,"ontouchmove",onMouseMoveHandlerDocument)}else{dragOnMouseMoveListener=IWEventManager.addDomListener(window.document,"onmousemove",onMouseMoveHandlerDocument)}if(typeof window.document.ontouchend!="undefined"){dragOnMouseUpListener=IWEventManager.addDomListener(window.document,"ontouchend",prepareDropMap)}else{dragOnMouseUpListener=IWEventManager.addDomListener(window.document,"onmouseup",prepareDropMap)}}function prepareDropMap(event){if(!event){event=window.event}IWEventManager.removeListener(dragOnMouseMoveListener);buttonPressed=0;if(document.attachEvent&&divZoomingAndDragging.releaseCapture){divZoomingAndDragging.releaseCapture()}if(isOnMoveEventTriggered){var mousePositionXY=mouseAdapter.getPositionXY(event,mapContainer);dropMap(mousePositionXY.x,mousePositionXY.y)}}function dropMap(mousePosX,mousePosY){window.document.onmouseout=null;IWEventManager.removeListener(dragOnMouseMoveListener);IWEventManager.removeListener(dragOnMouseUpListener);dragOnMouseMoveListener=null;dragOnMouseUpListener=null;divZoomingAndDragging.style.cursor="auto";var moveEvent=new IWMoveEvent();moveEvent.lastPosition=startDragPosition;var moveX=mousePosX-startDragPosition.x;var moveY=mousePosY-startDragPosition.y;if(moveX!=0||moveY!=0){showLabels(true)}self.triggerOnMoveEnd(moveEvent)}function buildGUI(){var size=options.getSize();centerPixelX=size.getWidth()/2;centerPixelY=size.getHeight()/2;var newWidth=size.getWidth()+"px";var newHeight=size.getHeight()+"px";mapContainer.style.height=newHeight;mapContainer.style.width=newWidth;iw.append(mapContainer,divCSS);divCSS.className="iwmapcss";divCSS.style.position="relative";divCSS.style.top="0px";divCSS.style.left="0px";iw.append(mapContainer.firstChild,divClipping);divClipping.id="IWClipping";divClipping.style.position="relative";divClipping.style.left="0px";divClipping.style.top="0px";divClipping.style.width=newWidth;divClipping.style.height=newHeight;divClipping.style.overflow="hidden";divClipping.style.clip="rect(0px "+newWidth+" "+newHeight+" 0px)";iw.append(divClipping,imgLabels);imgLabels.id="IWLabels";imgLabels.style.width=newWidth;imgLabels.style.height=newHeight;imgLabels.style.position="absolute";imgLabels.style.left="0px";imgLabels.style.top="0px";imgLabels.style.zIndex="2";imgLabels.style.display="none";imgLabels.src=iwconst.GLOBAL_APP_URL+"img/symbols/blank.gif";iw.append(divClipping,imgLabelsLoad);imgLabelsLoad.id="IWLabelsLoad";imgLabelsLoad.style.width="0px";imgLabelsLoad.style.height="0px";imgLabelsLoad.style.position="absolute";imgLabelsLoad.style.left="0px";imgLabelsLoad.style.top="0px";imgLabelsLoad.style.zIndex="2";imgLabelsLoad.style.display="none";iw.append(divClipping,divZoomingAndDragging);divZoomingAndDragging.id="IWZoomingAndDragging";divZoomingAndDragging.style.position="absolute";divZoomingAndDragging.style.left="0px";divZoomingAndDragging.style.top="0px";divZoomingAndDragging.style.zIndex="3";
divZoomingAndDragging.style.width=newWidth;divZoomingAndDragging.style.height=newHeight;iw.append(divClipping,imgPrintMap);imgPrintMap.id="IWPrintMap";imgPrintMap.className="iwnoscreen";imgPrintMap.src=iwconst.GLOBAL_APP_URL+"img/symbols/blank.gif";iw.append(divZoomingAndDragging,imgZoomingAndDragging);imgZoomingAndDragging.id="IWImgZoomingAndDragging";imgZoomingAndDragging.src=iwconst.GLOBAL_APP_URL+"img/symbols/blank.gif";imgZoomingAndDragging.galleryimg="no";imgZoomingAndDragging.style.width=newWidth;imgZoomingAndDragging.style.height=newHeight;divZoomingAndDragging.oncontextmenu=function(){return false};divZoomingAndDragging.ondrag=function(){return false};iw.append(divZoomingAndDragging,divOverlaysAndControls);divOverlaysAndControls.id="IWOverlaysAndControls";divOverlaysAndControls.style.position="absolute";divOverlaysAndControls.style.left="0px";divOverlaysAndControls.style.top="0px";divOverlaysAndControls.style.width="0px";divOverlaysAndControls.style.height="0px";divOverlaysAndControls.oncontextmenu=function(){return false};divOverlaysAndControls.ondrag=function(){return false};iw.append(divOverlaysAndControls,divControl);divControl.id="IWControl";divControl.style.position="absolute";divControl.style.left="0px";divControl.style.top="0px";divControl.style.width=newWidth;divControl.style.height=newHeight;divControl.style.zIndex="0";divControl.oncontextmenu=function(){return false};divControl.ondrag=function(){return false};iw.append(divControl,divOverlay);divOverlay.id="IWOverlay";divOverlay.style.position="absolute";divOverlay.style.left="0px";divOverlay.style.top="0px";divOverlay.style.zIndex="0";iw.append(divOverlay,divDrawing);divDrawing.id="divDrawing";iw.append(divOverlaysAndControls,divWindowOverlay);divWindowOverlay.id="IWWindowOverlay";divWindowOverlay.style.position="absolute";divWindowOverlay.style.left="0px";divWindowOverlay.style.top="0px";divWindowOverlay.style.zIndex="1";divWindowOverlay.oncontextmenu=function(){return false};divWindowOverlay.ondrag=function(){return false};divTileMap=iw.create("div");iw.append(divClipping,divTileMap);divTileMap.id="IWTiles";divTileMap.style.zIndex="1";divTileMap.style.position="absolute";divTileMap.style.left="0px";divTileMap.style.top="0px";copyrightControl=new IWCopyrightControl(self);layoutManager.getLayer(0).addControl(copyrightControl,IWAlignment.RIGHT,IWAlignment.BOTTOM,0,0);layoutManager.getLayer(0).addControl(new IWZoomBoxControl(self),IWAlignment.CENTER,IWAlignment.CENTER,0,0);if(typeof divClipping.ontouchmove!="undefined"){IWEventManager.addDomListener(divClipping,"ontouchmove",onMouseMoveHandlerClipping)}else{IWEventManager.addDomListener(divClipping,"onmousemove",onMouseMoveHandlerClipping)}IWEventManager.addDomListener(divClipping,"onmouseover",function(e){if(options.getMouseWheelAction()!=IWMapOptions.CONTROL_NONE){window.onmousewheel=document.onmousewheel=function(e){return false}}});IWEventManager.addDomListener(divClipping,"onmouseout",function(e){if(options.getMouseWheelAction()!=IWMapOptions.CONTROL_NONE){window.onmousewheel=document.onmousewheel=function(e){return true}}window.clearTimeout(mouseStopTimeout)});if(typeof divZoomingAndDragging.ontouchstart!="undefined"){IWEventManager.addDomListener(divZoomingAndDragging,"ontouchstart",onMouseDownHandler)}else{IWEventManager.addDomListener(divZoomingAndDragging,"onmousedown",onMouseDownHandler)}if(typeof divZoomingAndDragging.ontouchend!="undefined"){IWEventManager.addDomListener(divZoomingAndDragging,"ontouchend",onMouseUpHandler)}else{IWEventManager.addDomListener(divZoomingAndDragging,"onmouseup",onMouseUpHandler)}IWEventManager.addDomListener(divZoomingAndDragging,"onclick",function(event){window.clearTimeout(mouseStopTimeout);clickTimestamp=new Date().getTime();if(clickTimeout){return}if(dblClickTimestamp){var time=clickTimestamp-dblClickTimestamp;if(time<10){return}}if(!event){event=window.event}var mouseEvent=mouseAdapter.toMouseEvent(event,mapContainer);clickTimeout=window.setTimeout(function(){self.triggerOnClick(mouseEvent)
},200)});IWEventManager.addDomListener(divZoomingAndDragging,"ondblclick",function(event){dblClickTimestamp=new Date().getTime();if(clickTimeout){window.clearTimeout(clickTimeout);clickTimeout=null}if(options.getDoubleClickAction()==IWMapOptions.CONTROL_ZOOM){var mousePositionXY=mouseAdapter.getPositionXY(event,mapContainer);var pixelNW=new IWPoint(mousePositionXY.x-20,mousePositionXY.y-20);var pixelSE=new IWPoint(mousePositionXY.x+20,mousePositionXY.y+20);var projection=currentMapType.getProjection();var coordNW=projection.pixelToMeter(pixelNW);var coordSE=projection.pixelToMeter(pixelSE);var newZoomLevel=self.getBoundsZoomlevel(new IWBounds(coordNW,coordSE));if(newZoomLevel!=currentZoom){self.triggerOnZoomStart();if(newZoomLevel<currentMapType.getMaxLevel()){self.zoom(currentZoom,newZoomLevel,mousePositionXY.x,mousePositionXY.y,true)}else{self.zoom(currentZoom,currentMapType.getMaxLevel(),mousePositionXY.x,mousePositionXY.y,true)}}}})}function resize(size){var size=options.getSize();centerPixelX=size.getWidth()/2;centerPixelY=size.getHeight()/2;hide();abortAllRequests();var newWidth=size.getWidth()+"px";var newHeight=size.getHeight()+"px";var containerSize=options.getSizeInUnit();mapContainer.style.width=containerSize.size.getWidth()+containerSize.unit;mapContainer.style.height=containerSize.size.getHeight()+containerSize.unit;divClipping.style.clip="rect(0px, "+newWidth+", "+newHeight+", 0px)";divClipping.style.width=newWidth;divClipping.style.height=newHeight;divZoomingAndDragging.style.width=newWidth;divZoomingAndDragging.style.height=newHeight;divOverlaysAndControls.width=newWidth;divOverlaysAndControls.height=newHeight;imgZoomingAndDragging.style.width=newWidth;imgZoomingAndDragging.style.height=newHeight;divControl.style.width=newWidth;divControl.style.height=newHeight;if(currentCenterX&&currentCenterY){loadWholeMap()}}function slide(offsetX,offsetY){if(offsetX==0&&offsetY==0){return}window.clearTimeout(slideTimeout);slideStep(offsetX,offsetY,0,0,0)}function slideStep(offsetX,offsetY,nStep,nRestX,nRestY){if(nStep<slideSteps.length){var movePixelX=slideSteps[nStep]*offsetX;var movePixelY=slideSteps[nStep]*offsetY;movePixelX+=nRestX;nRestX=movePixelX-Math.floor(movePixelX);movePixelX=Math.floor(movePixelX);movePixelY+=nRestY;nRestY=movePixelY-Math.floor(movePixelY);movePixelY=Math.floor(movePixelY);move(movePixelX,movePixelY);slideTimeout=window.setTimeout(function(){slideStep(offsetX,offsetY,++nStep,nRestX,nRestY)},40)}else{move(Math.round(nRestX),Math.round(nRestY));showLabels(true);var moveEvent=new IWMoveEvent();moveEvent.position=null;moveEvent.lastPosition=null;moveEvent.offset=new IWPoint(offsetX,offsetY);moveEvent.offsetX=offsetX;moveEvent.offsetY=offsetY;self.triggerOnMoveEnd(moveEvent)}}function reloadTiles(offset){logstat=true;var offsetX=offset._x;var offsetY=offset._y;var leftX=tiles[currentZoom][findLeftCol()].getPosition().getX();var rightX=leftX+((numTilesX-1)*IWTile.SIZE);var topY=tiles[currentZoom][findTopRow()*numTilesX].getPosition().getY();var bottomY=topY+((numTilesY-1)*IWTile.SIZE);var size=options.getSize();if(rightX>=size.getWidth()){if(offsetX>0){var projection=currentMapType.getProjection();var outOfRangePixel=rightX-size.getWidth();var discardBorders=Math.ceil(outOfRangePixel/IWTile.SIZE);if(discardBorders>0){var sectionCenterPixel=new IWPoint(leftX-discardBorders*IWTile.SIZE/2,topY+(numTilesY*IWTile.SIZE/2));var sectionCenterMeter=projection.pixelToMeter(sectionCenterPixel);var x1=leftX-(discardBorders*IWTile.SIZE);var y1=topY;var x2=leftX;var y2=y1+(numTilesY*IWTile.SIZE);var pointNW=new IWPoint(x1,y1);var pointSE=new IWPoint(x2,y2);var meterNW=projection.pixelToMeter(pointNW);var meterSE=projection.pixelToMeter(pointSE);discardRightBorder(discardBorders,sectionCenterMeter,new IWBounds(meterNW,meterSE));var offsetX=discardBorders*IWTile.SIZE;leftX-=offsetX;rightX-=offsetX;logstat=false}}}else{if(leftX+IWTile.SIZE<=0){if(offsetX<0){var projection=currentMapType.getProjection();var outOfRangePixel=leftX+IWTile.SIZE;
var discardBorders=Math.abs(Math.floor(outOfRangePixel/IWTile.SIZE));if(discardBorders>0){var sectionCenterPixel=new IWPoint(rightX+IWTile.SIZE+discardBorders*IWTile.SIZE/2,topY+(numTilesY*IWTile.SIZE/2));var sectionCenterMeter=projection.pixelToMeter(sectionCenterPixel);var x1=leftX+numTilesX*IWTile.SIZE;var y1=topY;var x2=x1+(discardBorders*IWTile.SIZE);var y2=y1+(numTilesY*IWTile.SIZE);var pointNW=new IWPoint(x1,y1);var pointSE=new IWPoint(x2,y2);var meterNW=projection.pixelToMeter(pointNW);var meterSE=projection.pixelToMeter(pointSE);discardLeftBorder(discardBorders,sectionCenterMeter,new IWBounds(meterNW,meterSE));var offsetX=discardBorders*IWTile.SIZE;leftX+=offsetX;rightX+=offsetX;logstat=false}}}}if(bottomY>=size.getHeight()){if(offsetY>0){var projection=currentMapType.getProjection();var outOfRangePixel=bottomY-size.getHeight();var discardBorders=Math.ceil(outOfRangePixel/IWTile.SIZE);if(discardBorders>0){var sectionCenterPixel=new IWPoint(leftX+numTilesX*IWTile.SIZE/2,topY-discardBorders*IWTile.SIZE/2);var sectionCenterMeter=projection.pixelToMeter(sectionCenterPixel);var x1=leftX;var y1=topY-(discardBorders*IWTile.SIZE);var x2=x1+(numTilesX*IWTile.SIZE);var y2=y1+(discardBorders*IWTile.SIZE);var pointNW=new IWPoint(x1,y1);var pointSE=new IWPoint(x2,y2);var meterNW=projection.pixelToMeter(pointNW);var meterSE=projection.pixelToMeter(pointSE);discardLowerBorder(discardBorders,sectionCenterMeter,new IWBounds(meterNW,meterSE));var offsetY=discardBorders*IWTile.SIZE;topY-=offsetY;bottomY-=offsetY;logstat=false}}}else{if(topY+IWTile.SIZE<=0){if(offsetY<0){var projection=currentMapType.getProjection();var outOfRangePixel=topY+IWTile.SIZE;var discardBorders=Math.abs(Math.floor(outOfRangePixel/IWTile.SIZE));if(discardBorders>0){var sectionCenterPixel=new IWPoint(leftX+numTilesX*IWTile.SIZE/2,bottomY+IWTile.SIZE+discardBorders*IWTile.SIZE/2);var sectionCenterMeter=projection.pixelToMeter(sectionCenterPixel);var x1=leftX;var y1=topY+(numTilesY*IWTile.SIZE);var x2=x1+(numTilesX*IWTile.SIZE);var y2=y1+(discardBorders*IWTile.SIZE);var pointNW=new IWPoint(x1,y1);var pointSE=new IWPoint(x2,y2);var meterNW=projection.pixelToMeter(pointNW);var meterSE=projection.pixelToMeter(pointSE);discardUpperBorder(discardBorders,sectionCenterMeter,new IWBounds(meterNW,meterSE));var offsetY=discardBorders*IWTile.SIZE;topY+=offsetY;bottomY+=offsetY;logstat=false}}}}logstat=true}function getTilePosition(img){if(img){var imgX=parseInt(img.style.left);var imgY=parseInt(img.style.top);return{x:divTileMapX+imgX,y:divTileMapY+imgY}}else{return{x:0,y:0}}}var myMapTiles=new Object();function reloadTilesMapDispatcher(){divTileMapX=parseInt(divTileMap.style.left);divTileMapY=parseInt(divTileMap.style.top);var config=currentMapType.getTilesServerConfig(currentZoom);var numAliases=config.getAliases().length;var cornerPixelAbsoluteXY=IWVEUtils.relativePixelToAbsoluteXY(self,0,0);var rasterPixelAbsoluteXY={x:(parseInt(cornerPixelAbsoluteXY.x/IWTile.SIZE))*IWTile.SIZE,y:(parseInt(cornerPixelAbsoluteXY.y/IWTile.SIZE))*IWTile.SIZE};var relativeTilePixelX=rasterPixelAbsoluteXY.x-cornerPixelAbsoluteXY.x-parseInt(divTileMap.style.left);var relativeTilePixelY=rasterPixelAbsoluteXY.y-cornerPixelAbsoluteXY.y-parseInt(divTileMap.style.top);for(var x=0;x<numTilesX;x++){var pixelX=relativeTilePixelX+(x*IWTile.SIZE);for(var y=0;y<numTilesY;y++){var pixelY=relativeTilePixelY+(y*IWTile.SIZE);var absoluteTilePixelX=rasterPixelAbsoluteXY.x+(x*IWTile.SIZE);var absoluteTilePixelY=rasterPixelAbsoluteXY.y+(y*IWTile.SIZE);var tileXY=IWVEUtils.pixelToTileXY(absoluteTilePixelX,absoluteTilePixelY);var id=IWVEUtils.tileToQuadKeyXY(tileXY.x,tileXY.y,currentZoom);var tileId="IWTile_"+id+"_"+absoluteTilePixelX+"_"+absoluteTilePixelY;if(!myMapTiles[currentZoom][tileId]){var imageTile=createImageTile(id,pixelX,pixelY);imageTile.id=tileId;myMapTiles[currentZoom][tileId]=true;imageTile.pixelAbsoluteX=absoluteTilePixelX;imageTile.pixelAbsoluteY=absoluteTilePixelY;tiles[currentZoom].push(imageTile);
if(typeof tileLoader[imageTile.alias]=="undefined"){tileLoader[imageTile.alias]=new Array()}updateTileSource(imageTile,tileXY);tileLoader[imageTile.alias].push(imageTile)}}}for(var alias in tileLoader){tileLoader[alias].sort(sortFunc);doLoad(alias);doLoad(alias)}}function updateTileSource(imageTile,tileXY){if(imageTile.alias.indexOf("%1")>0){imageTile.source=imageTile.alias.replace("%1",imageTile.quadkey);imageTile.source=imageTile.source.replace("%2",iwconst.BING_MAPS_KEY)}else{if(imageTile.alias.indexOf("%BINGQK%")>0){imageTile.source=imageTile.alias.replace("%BINGQK%",imageTile.quadkey);imageTile.source=imageTile.source.replace("%BINGTK%",iwconst.BING_MAPS_KEY)}else{if(imageTile.alias.indexOf("%BINGKEY")>0){imageTile.source=imageTile.alias.replace("%QUADKEY",imageTile.quadkey);imageTile.source=imageTile.source.replace("%BINGKEY",iwconst.BING_MAPS_KEY)}else{if(imageTile.alias.indexOf("%z")>0){imageTile.source=imageTile.alias.replace("%z",(currentZoom+1));imageTile.source=imageTile.source.replace("%y",(tileXY.y));imageTile.source=imageTile.source.replace("%x",(tileXY.x));imageTile.source=imageTile.source.replace("%s","Galileo".substr(0,(3*tileXY.x+tileXY.y)%8))}else{if(imageTile.alias.indexOf("%LOD%")>0){imageTile.source=imageTile.alias.replace("%LOD%",(currentZoom+1));imageTile.source=imageTile.source.replace("%TILECY%",(tileXY.y));imageTile.source=imageTile.source.replace("%TILECX%",(tileXY.x));imageTile.source=imageTile.source.replace("%s","Galileo".substr(0,(3*tileXY.x+tileXY.y)%8))}else{imageTile.source=imageTile.alias+imageTile.quadkey+".png"}}}}}if(imageTile.source.indexOf("%VNR%")>-1){imageTile.source=imageTile.source.replace(/%VNR%/,IWAccessFilter.getCNR());imageTile.source=imageTile.source.replace(/%PNR%/,IWAccessFilter.getPNR())}if(imageTile.source.match(/%SRV(\d+)%/)){imageTile.source=imageTile.source.replace(/%SRV(\d+)%/,(currentAliasCounter%RegExp.$1))}if(imageTile.source.match(/%SRV([a-zA-Z])%/)){imageTile.source=imageTile.source.replace(/%SRV([a-zA-Z])%/,String.fromCharCode("a".charCodeAt(0)+(currentAliasCounter%(parseInt((RegExp.$1).charCodeAt(0))-96))))}}function doLoad(alias){if(tileLoader[alias]&&tileLoader[alias].length>0){var img=tileLoader[alias].shift();if(img){img.src=img.source}}}function createImageTile(quadkey,tileX,tileY){var img=iw.create("img");currentTileLayer.appendChild(img);var countOfAliases=currentMapType.getTilesServerConfig(currentZoom).getAliases().length;img.alias=currentMapType.getTilesServerConfig(currentZoom).getAliases()[currentAliasCounter++%countOfAliases];img.quadkey=quadkey;img.width=IWTile.SIZE;img.height=IWTile.SIZE;img.style.position="absolute";img.style.zIndex="1";img.style.width=IWTile.SIZE;img.style.height=IWTile.SIZE;img.style.display="none";img.firstLoad=false;if(options.hasRaster()){img.style.border="1px solid green"}if(!IWBrowser.isInternetExplorer()){img.style.visibility="hidden"}img.tileX=tileX;img.tileY=tileY;img.style.left=tileX+"px";img.style.top=tileY+"px";img.onload=img.onabort=img.onerror=function(){this.firstLoad=true;if(!IWBrowser.isInternetExplorer()){this.style.visibility="inherit"}this.style.display="";doLoad(this.alias)};return img}function createTiles(){var borderTiles=options.getBorderTiles();var size=options.getSize();numTilesX=Math.ceil(size.getWidth()/IWTile.SIZE)+1+2*borderTiles;numTilesY=Math.ceil(size.getHeight()/IWTile.SIZE)+1+2*borderTiles;divTileMapX=0;divTileMapY=0;divTileMap.style.top="0px";divTileMap.style.left="0px";divTileMap.style.visibility="visible";divTileMap.style.width=size.getWidth()+"px";divTileMap.style.height=size.getHeight()+"px";if(tiles[currentZoom]!=null&&currentMapType.getType()!="IW_MAPDISPATCHER"){for(var i=tiles[currentZoom].length;i>0;i--){var tile=tiles[currentZoom][(i-1)];if(tile!=null){if(tile.destroy){tile.destroy();tile=null}else{iw.destroy(tile);tile=null}}}}if(!tiles[currentZoom]){tiles[currentZoom]=new Array()}if(currentMapType.getType()!="IW_MAPDISPATCHER"){for(var row=0;row<numTilesY;row++){for(var column=0;column<numTilesX;
column++){var cellIndex=row*numTilesX+column;tiles[currentZoom][cellIndex]=new IWTile(self,column,row)}}}}function placeTiles(){lastMoveDirection=0;isVisibleSectionLoaded=false;loadedTiles=0;if(currentMapType.getName()!="birdsview"){var cornerPixelAbsoluteXY=IWVEUtils.relativePixelToAbsoluteXY(self,0,0);var rasterPixelAbsoluteXY={x:(parseInt(cornerPixelAbsoluteXY.x/IWTile.SIZE))*IWTile.SIZE,y:(parseInt(cornerPixelAbsoluteXY.y/IWTile.SIZE))*IWTile.SIZE};rasterTileOffsetX=IWTile.SIZE+(rasterPixelAbsoluteXY.x-cornerPixelAbsoluteXY.x);rasterTileOffsetY=IWTile.SIZE+(rasterPixelAbsoluteXY.y-cornerPixelAbsoluteXY.y);for(var row=0;row<numTilesY;row++){var absoluteTilePixelY=rasterPixelAbsoluteXY.y+(row*IWTile.SIZE);for(var column=0;column<numTilesX;column++){var isLoaded=false;var absoluteTilePixelX=rasterPixelAbsoluteXY.x+(column*IWTile.SIZE);var tileXY=IWVEUtils.pixelToTileXY(absoluteTilePixelX,absoluteTilePixelY);var id=IWVEUtils.tileToQuadKeyXY(tileXY.x,tileXY.y,currentZoom);var tileId="IWTile_"+id+"_"+absoluteTilePixelX+"_"+absoluteTilePixelY;if(currentMapType.getType()=="IW_MAPDISPATCHER"){isLoaded=(typeof myMapTiles[currentZoom][tileId]!="undefined");myMapTiles[currentZoom][tileId]=true}var index=row*numTilesX+column;var tilePixelAbsoluteX=rasterPixelAbsoluteXY.x+(column*IWTile.SIZE);var tilePixelAbsoluteY=rasterPixelAbsoluteXY.y+(row*IWTile.SIZE);var tilePixelRelativeX=tilePixelAbsoluteX-cornerPixelAbsoluteXY.x;var tilePixelRelativeY=tilePixelAbsoluteY-cornerPixelAbsoluteXY.y;tilePixelRelativeX-=divTileMapX;tilePixelRelativeY-=divTileMapY;if(currentMapType.getType()=="IW_MAPDISPATCHER"){if(isLoaded==false){var imageTile=createImageTile(id,tilePixelRelativeX,tilePixelRelativeY);imageTile.id=tileId;imageTile.pixelAbsoluteX=tilePixelAbsoluteX;imageTile.pixelAbsoluteY=tilePixelAbsoluteY;tiles[currentZoom].push(imageTile);if(typeof tileLoader[imageTile.alias]=="undefined"){tileLoader[imageTile.alias]=new Array()}updateTileSource(imageTile,tileXY);tileLoader[imageTile.alias].push(imageTile)}}else{tiles[currentZoom][index].tileId=id;tiles[currentZoom][index].moveToXY(tilePixelRelativeX,tilePixelRelativeY)}}}if(currentMapType.getType()=="IW_MAPDISPATCHER"){tiles[currentZoom].sort(sortFunc);var cornerPixelAbsoluteXY=IWVEUtils.relativePixelToAbsoluteXY(self,0,0);for(var i=0;i<tiles[currentZoom].length;i++){var pixelX=tiles[currentZoom][i].pixelAbsoluteX-cornerPixelAbsoluteXY.x;var pixelY=tiles[currentZoom][i].pixelAbsoluteY-cornerPixelAbsoluteXY.y;tiles[currentZoom][i].style.left=Math.floor(pixelX)+"px";tiles[currentZoom][i].style.top=Math.floor(pixelY)+"px";if(tiles[currentZoom][i].firstLoad==false){if(options.hasRaster()){tiles[currentZoom][i].style.border="1px solid blue"}}else{if(options.hasRaster()){tiles[currentZoom][i].style.border="1px solid red"}}}for(var alias in tileLoader){tileLoader[alias].sort(sortFunc);doLoad(alias);doLoad(alias)}}}else{var tilesize=currentMapType.getTilesizeMeter()[currentZoom];var pixelMapSize=options.getSize();var pixelMapHeight=pixelMapSize.getHeight();var pixelMapWidth=pixelMapSize.getWidth();var firstTileCoordinateX=currentCenterX-(mapWidthInMeter/2);var firstTileCoordianteY=currentCenterY+(mapHeightInMeter/2);var rasterMeterXY=findRasterCoordinate(firstTileCoordinateX,firstTileCoordianteY);var nMeterOffsetX=rasterMeterXY.x-(currentCenterX-numTilesX/2*tilesize);var nTilesetStartX=(pixelMapWidth/2)-(numTilesX*IWTile.SIZE/2)+nMeterOffsetX/tilesize*IWTile.SIZE;var nMeterOffsetY=rasterMeterXY.y-(currentCenterY+numTilesY/2*tilesize);var nTilesetStartY=(pixelMapHeight/2)-(numTilesY*IWTile.SIZE/2)-nMeterOffsetY/tilesize*IWTile.SIZE;rasterTileOffsetX=IWTile.SIZE+nTilesetStartX;rasterTileOffsetY=IWTile.SIZE+nTilesetStartY;for(var row=0;row<numTilesY;row++){for(var column=0;column<numTilesX;column++){var index=row*numTilesX+column;var tileX=Math.floor(nTilesetStartX+column*IWTile.SIZE);var tileY=Math.floor(nTilesetStartY+row*IWTile.SIZE);tiles[currentZoom][index].moveToXY(tileX,tileY)}}}}function sortFunc(tileImageA,tileImageB){var tileImageAX=tileImageA.tileX;
var tileImageAY=tileImageA.tileY;var tileImageBX=tileImageB.tileX;var tileImageBY=tileImageB.tileY;var distanceA=Math.pow(centerPixelX-(tileImageAX+IWTile.SIZE/2),2)+Math.pow(centerPixelY-(tileImageAY+IWTile.SIZE/2),2);var distanceB=Math.pow(centerPixelX-(tileImageBX+IWTile.SIZE/2),2)+Math.pow(centerPixelY-(tileImageBY+IWTile.SIZE/2),2);return distanceA-distanceB}function buildTileQueue(){queueTiles=new Array();for(var i=0;i<tiles[currentZoom].length;i++){var tile=tiles[currentZoom][i];if(tile!=null){if(tile.getState()==IWTile.STATE_QUEUED){queueTiles.push(tile)}}}var tile=tiles[currentZoom][0];if(tile!=null){queueTiles.sort(tile.compare)}}function checkVisibleSectionLoaded(){if(!tiles[currentZoom]){return}if(isVisibleSectionLoaded==false){var loadedTiles=0;for(var i=0;i<tiles[currentZoom].length;i++){if(tiles[currentZoom][i]&&tiles[currentZoom][i].firstLoad){loadedTiles++}else{if(tiles[currentZoom][i].hasFirstLoadCompleted){if(tiles[currentZoom][i].hasFirstLoadCompleted()==true){loadedTiles++}}}}if(loadedTiles==tiles[currentZoom].length){isVisibleSectionLoaded=true;iw.destroy(divTileMapZoom);if(toggleMapType){toggleMapType=false;var event=new IWMapTypeChangeEvent();event.oldMapType=oldMapTypeName;event.newMapType=currentMapType.getName();self.triggerOnMapTypeChange(event);oldMapTypeName=currentMapType.getName()}showLabels(true);if(isZoomEvent||currentZoom!=oldZoom){var zoomEvent=new IWZoomEvent();zoomEvent.newZoomLevel=currentZoom;zoomEvent.oldZoomLevel=oldZoom;zoomEvent.newCenterX=currentCenterX;zoomEvent.newCenterY=currentCenterY;self.triggerOnZoomEnd(zoomEvent);isZoomEvent=false}if(isFirstLoad){isFirstLoad=false;var event=new IWMapInitializeEvent();self.triggerOnInitialize(event)}}}if(isVisibleSectionLoaded==false){window.setTimeout(checkVisibleSectionLoaded,500)}}function loadTilesFromQueue(){while(queueTiles.length>0){var tile=queueTiles.pop();if(tile.getState()==IWTile.STATE_QUEUED){tile.load()}}if(isVisibleSectionLoaded==false){checkVisibleSectionLoaded()}}function addTilesToQueue(timestamp){for(var i=0;i<tiles[currentZoom].length;i++){var tile=tiles[currentZoom][i];if(tile!=null){if(tile.getState()==IWTile.STATE_WAITING){if(tile.getTimestamp()==timestamp){tile.setState(IWTile.STATE_QUEUED)}}}}buildTileQueue();loadTilesFromQueue()}function hide(){showLabels(false)}function sendPrepareTilesRequest(nTimestamp,sectionURL){queueRequests.push({sURL:sectionURL,nTimestamp:nTimestamp});requestNext()}function requestNext(){while(queueRequests.length>0){var request=getFreeRequest();if(request){var data=queueRequests.pop();prepareTilesAsynchrone(request,data)}else{break}}}function createGetMapTypesURL(){var tilesize=currentMapType.getTilesizeMeter()[currentZoom];var order=iwconst.birdsViewOrder?iwconst.birdsViewOrder:"distance";return iwconst.LOCAL_APP_URL+"servlet/FrontController?cmd=getMapTypes&v=2&VNR="+IWAccessFilter.getCNR()+"&PNR="+IWAccessFilter.getPNR()+"&tileSize="+IWTile.SIZE+"&mapcx="+currentCenterX+"&mapcy="+currentCenterY+"&mapdx="+numTilesX*tilesize+"&mapdy="+numTilesY*tilesize+"&width="+numTilesX*IWTile.SIZE+"&height="+numTilesY*IWTile.SIZE+"&visibleOffsetX="+((numTilesX*IWTile.SIZE)-options.getSize().getWidth())/2+"&visibleOffsetY="+((numTilesY*IWTile.SIZE)-options.getSize().getHeight())/2+"&zoom="+currentZoom+"&order="+order+"&maptype="+encodeURIComponent(currentMapType.getName())+currentMapType.getLogging()+currentMapType.getRequestParameters()}function loadWholeMap(){currentTilesize=currentMapType.getTilesizeMeter()[currentZoom];mapWidthInMeter=currentTilesize*(options.getSize().getWidth()/IWTile.SIZE);mapHeightInMeter=currentTilesize*(options.getSize().getHeight()/IWTile.SIZE);if(currentTileLayer!=null){currentTileLayer.style.visibility="hidden";currentTileLayer.style.display="none"}currentTileLayer=iw.search(divTileMap,"IWTileLayer"+currentZoom);if(currentTileLayer==null){currentTileLayer=iw.create("div");iw.append(divTileMap,currentTileLayer);currentTileLayer.id="IWTileLayer"+currentZoom;currentTileLayer.style.position="absolute";
currentTileLayer.style.left="0px";currentTileLayer.style.top="0px"}currentTileLayer.style.visibility="visible";currentTileLayer.style.display="block";if(typeof myMapTiles[currentZoom]=="undefined"){myMapTiles[currentZoom]=new Object()}if(currentMapType.getType()=="IW_MAPDISPATCHER"){self.triggerOnProjectionInvalid();createTiles();var projection=currentMapType.getProjection();var meterPerPixel=currentTilesize/IWTile.SIZE;projection.setMeterPerPixel(meterPerPixel);placeTiles();self.triggerOnProjectionInitialize();var event=new IWMapCenterEvent();event.coordinateX=currentCenterX;event.coordinateY=currentCenterY;if(oldCenterX&&oldCenterY){event.lastCoordinateX=oldCenterX;event.lastCoordinateY=oldCenterY}else{event.lastCoordinateX=event.coordinateX;event.lastCoordinateY=event.coordinateY}event.offsetX=event.coordinateX-event.lastCoordinateX;event.offsetY=event.coordinateY-event.lastCoordinateY;event.zoom=currentZoom;event.lastZoom=oldZoom;self.triggerOnCenter(event);checkVisibleSectionLoaded();if(!options.isOverviewMap()){requestMapTypeAvailable()}}else{self.triggerOnProjectionInvalid();abortAllRequests();createTiles();try{var url=iwconst.GLOBAL_GETMAPTYPES_URL+"?serverURL="+encodeURIComponent(createGetMapTypesURL());var xmlHttp=new IWXMLHttpRequest();xmlHttp.open("GET",url,true);xmlHttp.onreadystatechange=function(){if(xmlHttp.readyState==4){if(xmlHttp.status==200){var json=eval("("+xmlHttp.responseText+")");var projection=currentMapType.getProjection();if(json.mapTypes){projection.initialize(json.mapTypes[currentMapType.getName()].projection)}else{if(json.MAPTYPES){projection.initialize(json.MAPTYPES[currentMapType.getName()].PROJECTION)}}checkMapTypesAvailibiltyChange(json);if(iwconst.debugLevel&&iwconst.debugLevel&1){if(projection instanceof IWCentralProjection){var date=json.mapTypes[currentMapType.getName()].date;console.log("Birds view shot date: "+date)}}placeTiles();self.triggerOnProjectionInitialize();var event=new IWMapCenterEvent();event.coordinateX=currentCenterX;event.coordinateY=currentCenterY;if(oldCenterX&&oldCenterY){event.lastCoordinateX=oldCenterX;event.lastCoordinateY=oldCenterY}else{event.lastCoordinateX=event.coordinateX;event.lastCoordinateY=event.coordinateY}event.offsetX=event.coordinateX-event.lastCoordinateX;event.offsetY=event.coordinateY-event.lastCoordinateY;event.zoom=currentZoom;event.lastZoom=oldZoom;self.triggerOnCenter(event);loadWholeMap2()}else{if(xmlHttp.status==401){alert(xmlHttp.statusText)}else{alert("Unable to request projections from server.")}}}};xmlHttp.send(null)}catch(exception){alert("Exception: "+exception)}}}function loadWholeMap2(){showLabels(false);queueTiles.length=0;queueRequests.length=0;var nTiles=numTilesX*numTilesY;var projection=currentMapType.getProjection();var pixelX=tiles[currentZoom][0].getPosition().getX();var pixelY=tiles[currentZoom][0].getPosition().getY();for(var i=1;i<tiles[currentZoom].length;i++){var tile=tiles[currentZoom][i];if(tile!=null){var tilePixel=tile.getPosition();if(tilePixel.getX()<=pixelX&&tilePixel.getY()<=pixelY){pixelX=tilePixel.getX();pixelY=tilePixel.getY()}}}var pixelNW=new IWPoint(pixelX,pixelY);var pixelSE=new IWPoint(pixelNW._x+(numTilesX*IWTile.SIZE),pixelNW._y+(numTilesY*IWTile.SIZE));var meterNW=projection.pixelToMeter(pixelNW);var meterSE=projection.pixelToMeter(pixelSE);var sectionBounds=new IWBounds(meterNW,meterSE);var pixelCenterX=pixelNW._x+((pixelSE._x-pixelNW._x)/2);var pixelCenterY=pixelNW._y+((pixelSE._y-pixelNW._y)/2);var pixelCenter=new IWPoint(pixelCenterX,pixelCenterY);var meterCenter=projection.pixelToMeter(pixelCenter);var timestamp=new Date().getTime()+Math.random();var url=createSectionURL(meterCenter,sectionBounds,numTilesX,numTilesY,timestamp,"c");for(var row=0;row<numTilesY;row++){for(var column=0;column<numTilesX;column++){var nTileRow=row%numTilesY;var nTileCol=column%numTilesX;var cellIndex=nTileRow*numTilesX+nTileCol;var sTilename=buildTileImageName(timestamp,row+1,column+1);var tile=tiles[currentZoom][cellIndex];
tile.setSource(sTilename,timestamp)}}sendPrepareTilesRequest(timestamp,url)}function buildTileImageName(nTimestamp,nRow,nCol){return"Tile_"+self.getSessionId()+"_"+nTimestamp+"_"+nRow+"_"+nCol+"."+currentMapType.getTilesServerConfig(currentZoom).getImageType()}function findTopRow(){var minRow=0;var minRowValue=tiles[currentZoom][0].getPosition().getY();for(var row=0;row<numTilesY;row++){var cell=row*numTilesX;if(tiles[currentZoom][cell].getPosition().getY()<minRowValue){minRow=row;minRowValue=tiles[currentZoom][cell].getPosition().getY()}}return minRow}function findLeftCol(){var minCol=0;var minColValue=tiles[currentZoom][0].getPosition().getX();for(var col=0;col<numTilesX;col++){var cell=col;if(tiles[currentZoom][cell].getPosition().getX()<minColValue){minCol=col;minColValue=tiles[currentZoom][cell].getPosition().getX()}}return minCol}function discardUpperBorder(numBorders,sectionCenterMeter,sectionBounds){var nTimestamp=new Date().getTime()+Math.random();var sortArray=new Array();for(var nBorder=1;nBorder<=numBorders;nBorder++){var nLeftCol=findLeftCol();var nTopRow=findTopRow();var nBottomRow=(nTopRow+numTilesY-1)%numTilesY;for(var nCol=0;nCol<numTilesX;nCol++){var nTile=nTopRow*numTilesX+(nLeftCol+nCol)%numTilesX;var currentTile=tiles[currentZoom][nTile];currentTile.setVisible(false);currentTile.setSource(buildTileImageName(nTimestamp,nBorder,nCol+1),nTimestamp);currentTile.moveTo(new IWPoint(currentTile.getPosition().getX(),tiles[currentZoom][nBottomRow*numTilesX].getPosition().getY()+IWTile.SIZE));if(currentMapType.getType()=="IW_MAPDISPATCHER"){sortArray.push(currentTile)}}}if(currentMapType.getType()=="IW_MAPDISPATCHER"){sortArray.sort(tiles[currentZoom][0].compare);for(var i=sortArray.length-1;i>=0;i--){sortArray[i].load()}}if(currentMapType.getType()!="IW_MAPDISPATCHER"){var url=createSectionURL(sectionCenterMeter,sectionBounds,numTilesX,numBorders,nTimestamp,"b");sendPrepareTilesRequest(nTimestamp,url)}}function discardLowerBorder(numBorders,sectionCenterMeter,sectionBounds){var nTimestamp=new Date().getTime()+Math.random();var sortArray=new Array();for(var nBorder=numBorders;nBorder>0;nBorder--){var nLeftCol=findLeftCol();var nTopRow=findTopRow();var nBottomRow=(nTopRow+numTilesY-1)%numTilesY;for(var nCol=0;nCol<numTilesX;nCol++){var nTile=nBottomRow*numTilesX+(nLeftCol+nCol)%numTilesX;var currentTile=tiles[currentZoom][nTile];currentTile.setVisible(false);currentTile.setSource(buildTileImageName(nTimestamp,nBorder,nCol+1),nTimestamp);var x=currentTile.getPosition().getX();var y=tiles[currentZoom][nTopRow*numTilesX].getPosition().getY()-IWTile.SIZE;currentTile.moveTo(new IWPoint(x,y));if(currentMapType.getType()=="IW_MAPDISPATCHER"){sortArray.push(currentTile)}}}if(currentMapType.getType()=="IW_MAPDISPATCHER"){sortArray.sort(tiles[currentZoom][0].compare);for(var i=sortArray.length-1;i>=0;i--){sortArray[i].load()}}if(currentMapType.getType()!="IW_MAPDISPATCHER"){var url=createSectionURL(sectionCenterMeter,sectionBounds,numTilesX,numBorders,nTimestamp,"t");sendPrepareTilesRequest(nTimestamp,url)}}function discardLeftBorder(numBorders,sectionCenterMeter,sectionBounds){var nTimestamp=new Date().getTime()+Math.random();var sortArray=new Array();for(var nBorder=1;nBorder<=numBorders;nBorder++){var nLeftCol=findLeftCol();var nRightCol=(nLeftCol+numTilesX-1)%numTilesX;var nTopRow=findTopRow();for(var nRow=0;nRow<numTilesY;nRow++){var nTile=(nRow+nTopRow)%numTilesY*numTilesX+nLeftCol;var currentTile=tiles[currentZoom][nTile];currentTile.setVisible(false);currentTile.setSource(buildTileImageName(nTimestamp,nRow+1,nBorder),nTimestamp);currentTile.moveTo(new IWPoint(tiles[currentZoom][nRightCol].getPosition().getX()+IWTile.SIZE,currentTile.getPosition().getY()));if(currentMapType.getType()=="IW_MAPDISPATCHER"){sortArray.push(currentTile)}}}if(currentMapType.getType()=="IW_MAPDISPATCHER"){sortArray.sort(tiles[currentZoom][0].compare);for(var i=sortArray.length-1;i>=0;i--){sortArray[i].load()}}if(currentMapType.getType()!="IW_MAPDISPATCHER"){var url=createSectionURL(sectionCenterMeter,sectionBounds,numBorders,numTilesY,nTimestamp,"r");
sendPrepareTilesRequest(nTimestamp,url)}}function discardRightBorder(numBorders,sectionCenterMeter,sectionBounds){var nTimestamp=new Date().getTime()+Math.random()+1;for(var nBorder=numBorders;nBorder>0;nBorder--){var nLeftCol=findLeftCol();var nRightCol=(nLeftCol+numTilesX-1)%numTilesX;var nTopRow=findTopRow();var sortArray=new Array();for(var nRow=0;nRow<numTilesY;nRow++){var nTile=(nRow+nTopRow)%numTilesY*numTilesX+nRightCol;var currentTile=tiles[currentZoom][nTile];currentTile.setVisible(false);currentTile.setSource(buildTileImageName(nTimestamp,nRow+1,nBorder),nTimestamp);currentTile.moveTo(new IWPoint(tiles[currentZoom][nLeftCol].getPosition().getX()-IWTile.SIZE,currentTile.getPosition().getY()));if(currentMapType.getType()=="IW_MAPDISPATCHER"){sortArray.push(currentTile)}}if(currentMapType.getType()=="IW_MAPDISPATCHER"){sortArray.sort(tiles[currentZoom][0].compare);for(var i=sortArray.length-1;i>=0;i--){sortArray[i].load()}}}if(currentMapType.getType()!="IW_MAPDISPATCHER"){var url=createSectionURL(sectionCenterMeter,sectionBounds,numBorders,numTilesY,nTimestamp,"l");sendPrepareTilesRequest(nTimestamp,url)}}function findRasterCoordinate(meterX,meterY){var rasterX=Math.floor(meterX/currentTilesize)*currentTilesize;var rasterY=Math.ceil(meterY/currentTilesize)*currentTilesize;return{x:rasterX,y:rasterY}}function createSectionURL(sectionCenterMeter,sectionBounds,nTilesX,nTilesY,nTimestamp,sectionCode){var config=currentMapType.getTilesServerConfig(currentZoom);var url="http://localhost:"+iwconst.WEBSERVER_PORT+"/"+config.getBaseDir()+"/servlet/FrontController?cmd=prepareTiles&VNR="+IWAccessFilter.getCNR()+"&PNR="+IWAccessFilter.getPNR()+"&code="+sectionCode+"&mapcx="+sectionCenterMeter.getX()+"&mapcy="+sectionCenterMeter.getY()+"&centercx="+currentCenterX+"&centercy="+currentCenterY+"&oldcx="+(oldCenterX!=null?oldCenterX:currentCenterX)+"&oldcy="+(oldCenterY!=null?oldCenterY:currentCenterY)+"&mapdx="+nTilesX*currentTilesize+"&mapdy="+nTilesY*currentTilesize+"&width="+nTilesX*IWTile.SIZE+"&height="+nTilesY*IWTile.SIZE+"&tileSize="+IWTile.SIZE+"&tilex="+IWTile.SIZE+"&tiley="+IWTile.SIZE+"&tilenx="+nTilesX+"&tileny="+nTilesY+"&tileprefix=Tile_"+self.getSessionId()+"_"+nTimestamp+"&zoom="+currentZoom+"&pictureformat="+config.getImageType()+IWRequestFormatter.getLayerParameter(currentZoom,layers,IWLayer.DRAW_ON_TILES)+"&type="+encodeURIComponent(currentMapType.getName())+currentMapType.getRequestParameters()+"&logstat="+logstat+currentMapType.getLogging();if(currentMapType.getType()=="IW"){return config.getNextAlias()+config.getBaseDir()+"/XMLHttpRequestProxy?serverURL="+encodeURIComponent(url)}else{if(currentMapType.getType()=="VE"){return iwconst.GLOBAL_PROXY_URL+"?serverURL="+encodeURIComponent(url)}}}imgLabelsLoad.onload=function(){imgLabelsLoad.style.width=mapContainer.style.width;imgLabelsLoad.style.height=mapContainer.style.height;imgLabelsLoad.style.display="block";iw.destroy(imgLabels);imgLabels=imgLabelsLoad.cloneNode(false);if(currentMapType.getLabelsServerConfig()){var isPng="png"==currentMapType.getLabelsServerConfig().getImageType().toLowerCase();IWDOMHelper.fixPng(imgLabels,isPng)}imgLabels.id="IWLabels";imgLabelsLoad.parentNode.appendChild(imgLabels);imgLabelsLoad.style.width="0px";imgLabelsLoad.style.height="0px";imgLabelsLoad.style.display="none"};function showLabels(visible){if(visible){imgLabelsX=0;imgLabelsY=0;var mapsizePixel=options.getSize();var nMapWidthMeter=currentTilesize*mapsizePixel.getWidth()/IWTile.SIZE;var nMapHeightMeter=currentTilesize*mapsizePixel.getHeight()/IWTile.SIZE;if(currentMapType.hasLabels()){var config=currentMapType.getLabelsServerConfig();var parameter=config.getBaseDir()+"/servlet/FrontController?cmd=getLabel&VNR="+IWAccessFilter.getCNR()+"&PNR="+IWAccessFilter.getPNR()+"&mapcx="+currentCenterX+"&mapcy="+currentCenterY+"&mapdx="+nMapWidthMeter+"&mapdy="+nMapHeightMeter+"&width="+options.getSize().getWidth()+"&height="+options.getSize().getHeight()+"&projc="+config.getProjection()+IWRequestFormatter.getLayerParameter(currentZoom,layers,IWLayer.DRAW_ON_LABELS)+"&overview="+(options.hasOverviewMap()?"1":"0")+"&session="+self.getSessionId()+"&maptype="+encodeURIComponent(currentMapType.getName())+currentMapType.getRequestParameters()+currentMapType.getLogging()+"&zoom="+currentZoom+"&randomKey="+iw.random(0,1000000000);
var url=config.getNextAlias()+parameter;if(url.length<2000){imgLabelsLoad.src=url}else{var xmlHttp=new IWXMLHttpRequest();xmlHttp.open("POST",config.getNextAlias()+config.getBaseDir()+"/XMLHttpRequestProxy?serverURL="+encodeURIComponent("http://localhost/"+parameter),true);xmlHttp.onreadystatechange=function(){if(xmlHttp.readyState==4){if(xmlHttp.statusText=="OK"){if(xmlHttp.responseText.length>0){imgLabelsLoad.src=xmlHttp.responseText}else{alert("GetLabel post request failed: Response text is empty.")}}else{if(xmlHttp.status==401){alert(xmlHttp.statusText)}}}else{alert("GetLabel post request failed: "+xmlHttp.statusText)}};xmlHttp.send(null)}}else{imgLabels.style.display="none"}}else{imgLabels.style.display="none"}}function onMouseDownHandler(event){logger.info("Catching onmousedown - Starting map dragging.");if(!event){event=window.event}if(event.preventDefault){event.preventDefault()}isOnClickEvent=false;divZoomingAndDragging.style.cursor="pointer";var mouseEvent=mouseAdapter.toMouseEvent(event,mapContainer);onMouseDownPosition=mouseEvent.position;if(mouseEvent.button==IWButton.LEFT){var leftMouseAction=options.getLeftMouseAction();if(leftMouseAction==IWMapOptions.CONTROL_MOVE){prepareMouseDragging(mouseEvent)}}else{if(mouseEvent.button==IWButton.RIGHT){var rightMouseAction=options.getRightMouseAction();if(rightMouseAction==IWMapOptions.CONTROL_MOVE){prepareMouseDragging(mouseEvent)}}}self.triggerOnMouseDown(mouseEvent)}function onMouseUpHandler(event){logger.info("Catching onmouseup - Stopping map dragging.");if(!event){event=window.event}if(event.preventDefault){event.preventDefault()}divZoomingAndDragging.style.cursor="auto";var mouseEvent=mouseAdapter.toMouseEvent(event,mapContainer);if(onMouseDownPosition&&onMouseDownPosition.distanceFrom(mouseEvent.position)<2){isOnClickEvent=true}onMouseDownPosition=null;self.triggerOnMouseUp(mouseEvent)}function onMouseMoveHandlerDocument(event){if(!event){event=window.event}var mousePositionXY=mouseAdapter.getPositionXY(event,mapContainer);if(mousePositionXY.x==lastMousePositionX&&mousePositionXY.y==lastMousePositionY){return}if(buttonPressed!=0&&event.button==0){dropMap(mousePositionXY.x,mousePositionXY.y)}else{buttonPressed=event.button;if(document.attachEvent&&divZoomingAndDragging.setCapture){divZoomingAndDragging.setCapture()}var offsetX=mousePositionXY.x-lastMousePositionX;var offsetY=mousePositionXY.y-lastMousePositionY;if(isOnMoveEventTriggered==false){isOnMoveEventTriggered=true;var mouseEvent=new IWMouseEvent();mouseEvent.position=new IWPoint(mousePositionXY.x,mousePositionXY.y);mouseEvent.positionXY={x:mousePositionXY.x,y:mousePositionXY.y};self.triggerOnMoveStart(mouseEvent)}move(offsetX,offsetY)}lastMousePositionX=mousePositionXY.x;lastMousePositionY=mousePositionXY.y}function onMouseMoveHandlerClipping(event){logger.debug("Calling onMouseMoveHandler with "+event);window.clearTimeout(mouseStopTimeout);if(!event){event=window.event}if(event.preventDefault){event.preventDefault()}var theEvent=new Object();theEvent.pageX=event.pageX;theEvent.pageY=event.pageY;theEvent.clientX=event.clientX;theEvent.clientY=event.clientY;if(event.target){targ=event.target}else{if(event.srcElement){targ=event.srcElement}}if(targ.nodeType==3){targ=targ.parentNode}if(targ.id=="IWImgZoomingAndDragging"||targ.id=="IWControl"){mouseStopTimeout=window.setTimeout(function(){var mouseEvent=mouseAdapter.toMouseEvent(theEvent,mapContainer);if(mouseEvent.lastPosition==null||!mouseEvent.position.equals(mouseEvent.lastPosition)){self.triggerOnMouseStop(mouseEvent)}},350)}}function initRequests(){var requests=new Array(N_MAX_REQUESTS);for(var i=0;i<N_MAX_REQUESTS;i++){requests[i]=new IWXMLHttpRequest()}return requests}function prepareTilesAsynchrone(request,data){request.onreadystatechange=function(){checkPrepareRequest(self,request,data);requestNext()};var method=(data.sURL.length>2000)?"POST":"GET";request.open(method,data.sURL,true);request.send()}function abortAllRequests(){for(var i=0;i<N_MAX_REQUESTS;
i++){requests[i].abort();requests[i].isActive=false}}function getFreeRequest(){for(var i=0;i<requests.length;i++){if(!requests[i].isActive){requests[i].isActive=true;return requests[i]}}return null}function requestMapTypeAvailable(){var url=iwconst.GLOBAL_GETMAPTYPES_URL+"?serverURL="+encodeURIComponent(createGetMapTypesURL());var xmlHttpRequest=new IWXMLHttpRequest();xmlHttpRequest.open("GET",url,true);xmlHttpRequest.onreadystatechange=function(){if(xmlHttpRequest.readyState==4){if(xmlHttpRequest.status==200){var json=eval("("+xmlHttpRequest.responseText+")");checkMapTypesAvailibiltyChange(json)}}};xmlHttpRequest.send(null)}function checkMapTypesAvailibiltyChange(json){var maptypes=options.getMapTypes();if(currentMapType.getProjection().needsReloadXY(currentCenterX,currentCenterY,options.getSize())){var currentImage=currentMapType.getProjection()._viewImage;var newImage=json.mapTypes&&json.mapTypes.birdsview?json.mapTypes.birdsview.projection.view.imagename:null;if(!currentImage||!newImage||currentImage!=newImage){self.setCenter(new IWCoordinate(currentCenterX,currentCenterY))}}for(var i=0;i<maptypes.length;i++){var maptype=maptypes[i];var available=false;if(json.mapTypes){var jsonMaptype=json.mapTypes[maptype.getName()];available=jsonMaptype?jsonMaptype.available:false}else{if(json.MAPTYPES){var jsonMaptype=json.MAPTYPES[maptype.getName()];available=jsonMaptype?jsonMaptype.AVAILABLE:false}}if(maptype.isAvailable()!=available){var event=new IWMapTypeAvailabilityChangeEvent();event.type=maptype.getName();event.available=available;self.triggerOnMapTypeAvailabilityChange(event)}}}function checkPrepareRequest(self,xmlHttp,data){try{if(xmlHttp.readyState==4){if(xmlHttp.status==200){var xml=null;try{xml=IWXMLHelper.parse(xmlHttp.responseText).documentElement}catch(e){}if(xml!=null){var status=getContent(xmlHttp,"status");if(status.toLowerCase()=="ok"){addTilesToQueue(data.nTimestamp)}else{if(status.toLowerCase()=="no_data"){logger.error("Receiving no data message.")}else{if(navigator.appName.indexOf("Internet Explorer")==-1){xmlHttp.send(null)}}}}}else{logger.error("xmlHttp.status "+xmlHttp.status)}}else{logger.error("xmlHttp.readyState "+xmlHttp.readyState)}}catch(e){}}function getContent(xmlHttp,sTagName){var xml=null;try{xml=IWXMLHelper.parse(xmlHttp.responseText).documentElement;return xml.getElementsByTagName(sTagName)[0].firstChild.nodeValue}catch(e){return""}}if(!mapContainer){alert("The map container is not defined.");return false}mouseWheelAdapter.onmousewheel=function(event){if(options.getMouseWheelAction()==IWMapOptions.CONTROL_ZOOM){wheelZoom(event)}IWEventManager.trigger(self,"onmousewheel",event)};var keydownTimeout=null;keyboardAdapter.onkeydown=function(event){if(event.tagName=="INPUT"||event.tagName=="SELECT"||event.tagName=="TEXTAREA"){return}if(options.getPlusMinusKeyAction()==IWMapOptions.CONTROL_ZOOM){if(event.keyCode==IWKeyboardAdapter.PLUS_KEY){self.zoomIn()}else{if(event.keyCode==IWKeyboardAdapter.MINUS_KEY){self.zoomOut()}}}if(options.getArrowKeyAction()==IWMapOptions.CONTROL_MOVE){var moveEvent=new IWMoveEvent();if(event.keyCode==IWKeyboardAdapter.ARROW_LEFT_KEY){moveEvent.offsetX=50;moveEvent.offsetY=0}else{if(event.keyCode==IWKeyboardAdapter.ARROW_UP_KEY){moveEvent.offsetX=0;moveEvent.offsetY=50}else{if(event.keyCode==IWKeyboardAdapter.ARROW_RIGHT_KEY){moveEvent.offsetX=-50;moveEvent.offsetY=0}else{if(event.keyCode==IWKeyboardAdapter.ARROW_DOWN_KEY){moveEvent.offsetX=0;moveEvent.offsetY=-50}}}}if(moveEvent.offsetX!=0||moveEvent.offsetY!=0){self.triggerOnMoveStart(moveEvent);move(moveEvent.offsetX,moveEvent.offsetY);self.triggerOnMoveEnd(moveEvent)}}};IWEventManager.addListener(self,"onzoomstart",function(e){window.clearTimeout(timeoutWheel)});if(mapContainer.style.position==""){mapContainer.style.position="relative"}iw.disableSelection(mapContainer);var width=parseInt(mapContainer.style.width);var height=parseInt(mapContainer.style.height);var unit=mapContainer.style.width.replace(/\d/g,"");if(!isNaN(width)&&!isNaN(height)&&width>0&&height>0){options.setSize(new IWSize(width,height),unit)
}buildGUI()}function IWMapAction(){this.isMapAction=function(){return true};this.redo=function(){throw ("Method IWMapAction.redo is not implemented.")};this.undo=function(){throw ("Method IWMapAction.undo is not implemented.")};this.toString=function(){throw ("Method IWMapAction.toString is not implemented.")}}function IWMapActionMove(b){IWMapAction.call(this);var a=b;this.redo=function(c){c.panBy(a,false)};this.undo=function(c){c.panBy(new IWPoint(-a.getX(),-a.getY()),false)};this.toString=function(){return"IWMapActionMove "+a.toString()}}function IWMapActionTypeChange(d,b){IWMapAction.call(this);var c=d;var a=b;this.redo=function(e){e.setMapType(a,false)};this.undo=function(e){e.setMapType(c,false)};this.toString=function(){return"IWMapActionTypeChange("+c.toString()+", "+a.toString()+")"}}function IWMapActionZoom(b,d){IWMapAction.call(this);var a=b;var c=d;this.redo=function(e){e.setZoom(e.getBoundsZoomlevel(c))};this.undo=function(e){e.setZoom(e.getBoundsZoomlevel(a))};this.toString=function(){return"[IWMapActionZoom] old bounds: "+a.toString()+", new bounds: "+c.toString()}}function IWMapElement(d){var b=this;var a=null;this.isDisplayed=function(){var f=a.parentNode;while(f){if(f==d){return true}f=f.parentNode}return false};this.getParent=function(){return d};this.setParent=function(e){d=e};this.isVisible=function(){return(a.style.visibility!="hidden")};this.setVisible=function(e){if(e==true){a.style.visibility="visible";a.style.display="block"}else{if(e==false){a.style.visibility="hidden";a.style.display="none"}}};this.setPrintable=function(e){if(e==false){a.className="iwnoprint"}else{if(e==true){a.removeAttribute("class")}}};this.isPrintable=function(){return a.className!="iwnoprint"};this.getContainer=function(){return a};this.setContainer=function(e){a=e};this.setId=function(e){a.id=e};this.getId=function(){return a.id};this.onContextMenu=function(e){};this.onMouseUp=function(e){};this.onMouseDown=function(e){};this.onMouseMove=function(e){};this.onMouseOut=function(e){};this.onMouseOver=function(e){iw.noPropagation(e);if(e.preventDefault){e.preventDefault()}};this.onClick=function(e){};this.onDblClick=function(e){};this.onSelect=function(e){iw.noPropagation(e)};this.onMouseWheel=function(e){iw.noPropagation(e)};this.beforeAppend=function(){};this.afterAppend=function(){};this.beforeRemove=function(){};this.afterRemove=function(){};this.destroyMapElement=function(){iw.destroy(a);IWEventManager.clearInstanceListeners(a);a=null};function c(e,f){if(!f){f=window.event}switch(e){case"oncontextmenu":iw.noPropagation(f);b.onContextMenu(f);break;case"onmouseup":b.onMouseUp(f);break;case"onmousedown":iw.noPropagation(f);b.onMouseDown(f);break;case"onmousemove":b.onMouseMove(f);break;case"onmouseout":iw.noPropagation(f);b.onMouseOut(f);break;case"onmouseover":b.onMouseOver(f);break;case"onclick":iw.noPropagation(f);b.onClick(f);break;case"ondblclick":iw.noPropagation(f);b.onDblClick(f);break;case"onmousewheel":b.onMouseWheel(f);break}}a=iw.create("div");a.id="IWMapElement";a.style.position="absolute";IWEventManager.addDomListener(a,"oncontextmenu",function(f){c("oncontextmenu",f)});IWEventManager.addDomListener(a,"onmouseup",function(f){c("onmouseup",f)});IWEventManager.addDomListener(a,"onmousedown",function(f){c("onmousedown",f)});IWEventManager.addDomListener(a,"onmousemove",function(f){c("onmousemove",f)});IWEventManager.addDomListener(a,"onmouseout",function(f){c("onmouseout",f)});IWEventManager.addDomListener(a,"onmouseover",function(f){c("onmouseover",f)});IWEventManager.addDomListener(a,"ondblclick",function(f){c("ondblclick",f)});IWEventManager.addDomListener(a,"onclick",function(f){c("onclick",f)});IWEventManager.addDomListener(a,"onmousewheel",function(f){c("onmousewheel",f)});IWEventManager.addDomListener(a,"DOMMouseScroll",function(f){c("onmousewheel",f)})}function IWMapOptions(b){var r=log4javascript.getLogger("IWMapOptions");var k=new IWSize(600,400);var f="en";var s="";var n=IWMapOptions.CONTROL_MOVE;var a=IWMapOptions.CONTROL_ZOOM;
var g=IWMapOptions.CONTROL_ZOOM;var e=IWMapOptions.CONTROL_ZOOM;var d=IWMapOptions.CONTROL_ZOOM;var h=IWMapOptions.CONTROL_MOVE;var q=[];var m=1;var j=false;var o=false;var c=false;this.setBorderTiles=function(u){var v=parseInt(u);if(!isNaN(v)&&v>=0){m=v;r.info("Setting border tiles to "+m)}else{r.warn("Invalid value for border tiles: "+u)}};this.getBorderTiles=function(){return m};this.showRaster=function(u){j=u};this.hasRaster=function(){return j};this.getSize=function(){return k};this.getSizeInUnit=function(){return{size:k,unit:"px"}};this.getLanguage=function(){return f};this.getApplicationCopyright=function(){return s};this.setSize=function(v){var x=new IWResizeEvent();x.oldSize=this.getSize().clone();var w=v.getWidth();var u=v.getHeight();if(w%2!=0){w--}if(u%2!=0){u--}k=new IWSize(w,u);x.newSize=this.getSize().clone();b.triggerOnResize(x)};this.setMapTypes=function(u){q=u;var v=new IWMapTypesChangeEvent(q);v.mapTypes=q;b.triggerOnMapTypesChange(v)};this.getMapTypes=function(){var u=[];for(var v=0;v<q.length;v++){if(q[v].getVnr()===IWAccessFilter.getCNR()&&q[v].getPnr()===IWAccessFilter.getPNR()){u.push(q[v])}if(q[v].getVnr()===-1&&q[v].getPnr()===-1){u.push(q[v])}}return u};this.getMapTypeByName=function(u){var w=null;for(var v=0;v<q.length;v++){if(q[v].getName()===u&&q[v].getVnr()===IWAccessFilter.getCNR()&&q[v].getPnr()===IWAccessFilter.getPNR()){w=q[v];break}}if(!w){for(var v=0;v<q.length;v++){if(q[v].getName()===u&&q[v].getVnr()===IWAccessFilter.getCNR()&&q[v].getPnr()===-1){w=q[v];break}}}if(!w){for(var v=0;v<q.length;v++){if(q[v].getName()===u&&q[v].getVnr()===-1&&q[v].getPnr()===-1){w=q[v];break}}}return w};this.setLanguage=function(u){f=u;var v=new IWLanguageChangeEvent();v.language=f;b.triggerOnLanguageChange(v)};this.setApplicationCopyright=function(u){s=u;var v=new IWCopyrightChangeEvent();v.copyright=s;b.triggerOnCopyrightChange(v)};this.getLeftMouseAction=function(){return n};this.getRightMouseAction=function(){return a};this.getMouseWheelAction=function(){return g};this.getDoubleClickAction=function(){return e};this.getPlusMinusKeyAction=function(){return d};this.getArrowKeyAction=function(){return h};this.setLeftMouseAction=function(v){if(v!=IWMapOptions.CONTROL_MOVE&&v!=IWMapOptions.CONTROL_ZOOM&&v!=IWMapOptions.CONTROL_NONE){throw ("Invalid action: "+v)}n=v;var u=new IWMapControlChangeEvent();u.mouseAction="left";u.controlMethod=v;b.triggerOnMapControlChange(u)};this.setRightMouseAction=function(v){if(v!=IWMapOptions.CONTROL_MOVE&&v!=IWMapOptions.CONTROL_ZOOM&&v!=IWMapOptions.CONTROL_NONE){throw ("Invalid action: "+v)}a=v;var u=new IWMapControlChangeEvent();u.mouseAction="right";u.controlMethod=v;b.triggerOnMapControlChange(u)};this.setMouseWheelAction=function(v){if(v!=IWMapOptions.CONTROL_ZOOM&&v!=IWMapOptions.CONTROL_NONE){throw ("Invalid action: "+v)}g=v;var u=new IWMapControlChangeEvent();u.mouseAction="wheel";u.controlMethod=v;b.triggerOnMapControlChange(u)};this.setDoubleClickAction=function(v){if(v!=IWMapOptions.CONTROL_ZOOM&&v!=IWMapOptions.CONTROL_NONE){throw ("Invalid action: "+v)}e=v;var u=new IWMapControlChangeEvent();u.mouseAction="doubleclick";u.controlMethod=v;b.triggerOnMapControlChange(u)};this.setPlusMinusKeyAction=function(v){if(v!=IWMapOptions.CONTROL_ZOOM&&v!=IWMapOptions.CONTROL_NONE){throw ("Invalid action: "+v)}d=v;var u=new IWMapControlChangeEvent();u.mouseAction="plusminuskey";u.controlMethod=v;b.triggerOnMapControlChange(u)};this.setArrowKeyAction=function(v){if(v!=IWMapOptions.CONTROL_MOVE&&v!=IWMapOptions.CONTROL_NONE){throw ("Invalid action: "+v)}h=v;var u=new IWMapControlChangeEvent();u.mouseAction="arrowkeys";u.controlMethod=v;b.triggerOnMapControlChange(u)};this.isOverviewMap=function(){return o};this.setIsOverviewMap=function(u){o=u};this.hasOverviewMap=function(){return c};this.setHasOverviewMap=function(u){c=u};function t(){var x=new Array();var w=iwconst.MAPTYPES;for(var z=0;z<w.length;z++){var v=w[z];var B=new IWMapType(b);B.setName(v.NAME);B.setType(v.TYPE);B.setPnr(v.PNR);
B.setVnr(v.VNR);B.setCopyright(v.COPYRIGHT);B.setMinLevel(v.MINLEVEL);B.setPreferredLevel(v.PREFERREDLEVEL);B.setMaxLevel(v.MAXLEVEL);B.setTilesizeMeter(v.TILESIZE_METER);if(v.PROJECTIONTYPE=="1"){B.setProjection(new IWParallelProjection(b))}else{if(v.PROJECTIONTYPE=="2"){B.setProjection(new IWCentralProjection(b))}else{if(v.PROJECTIONTYPE=="3"){B.setProjection(new IWVEProjection(b))}else{alert("Projection not set or unknown: "+v.PROJECTIONTYPE)}}}for(var y=0;y<v.TILESSERVER.length;y++){var u=new IWServerConfig();u.minlevel=v.TILESSERVER[y].MINLEVEL;u.maxlevel=v.TILESSERVER[y].MAXLEVEL;u.copyright=v.TILESSERVER[y].COPYRIGHT;u.logging=v.TILESSERVER[y].LOGGING;u.setBaseDir(v.TILESSERVER[y].BASE_DIR);u.setUrl(v.TILESSERVER[y].URL);u.setProjection(v.TILESSERVER[y].PROJECTION);u.setImageType(v.TILESSERVER[y].IMAGETYPE);u.setPortList(v.TILESSERVER[y].PORTLIST);u.setAliases(v.TILESSERVER[y].ALIAS);u.setCacheEnabled(v.TILESSERVER[y].CACHEENABELD);B.addTilesServerConfig(u)}for(var y=0;y<v.LABELSSERVER.length;y++){if(v.LABELSSERVER[y]){var A=new IWServerConfig();A.minlevel=v.LABELSSERVER[y].MINLEVEL;A.maxlevel=v.LABELSSERVER[y].MAXLEVEL;A.copyright=v.LABELSSERVER[y].COPYRIGHT;A.logging=v.LABELSSERVER[y].LOGGING;A.setBaseDir(v.LABELSSERVER[y].BASE_DIR);A.setUrl(v.LABELSSERVER[y].URL);A.setProjection(v.LABELSSERVER[y].PROJECTION);A.setImageType(v.LABELSSERVER[y].IMAGETYPE);A.setPortList(v.LABELSSERVER[y].PORTLIST);A.setAliases(v.LABELSSERVER[y].ALIAS);A.setCacheEnabled(v.LABELSSERVER[y].CACHEENABELD);B.addLabelsServerConfig(A)}}r.trace("Adding maptype with name '"+B.getName()+"'.");x.push(B)}return x}q=t()}IWMapOptions.CONTROL_NONE=0;IWMapOptions.CONTROL_MOVE=1;IWMapOptions.CONTROL_ZOOM=2;function IWMapType(b){var g=b;var m=this;var c="";var o="";var s=0;var n=0;var a=0;var f=false;var k=null;var e="";var t=[];var j=[];var q=null;var r="";var h=-1;var d=-1;this.setName=function(u){c=u};this.getName=function(){return c};this.setType=function(u){o=u};this.getType=function(){return o};this.setCopyright=function(u){r=u};this.getCopyright=function(){var x=g.getZoom();var u=m.getTilesServerConfig(x);var v=m.getLabelsServerConfig(x);var w="";if(r){w+=r}if(u.copyright){if(w.length>0){w+=",&nbsp;"}w+=u.copyright}if(m.hasLabels()&&v.copyright){if(w.length>0){w+=",&nbsp;"}w+=v.copyright}return w};this.getLogging=function(){var y=g.getZoom();var u=m.getTilesServerConfig(y);var x="";for(var w=0;w<u.logging.length;w++){x+="&type="+u.logging[w]}if(m.hasLabels()){var v=m.getLabelsServerConfig(y);for(var w=0;w<v.logging.length;w++){x+="&type="+v.logging[w]}}return x};this.setMaxLevel=function(u){s=u};this.getMaxLevel=function(){return s};this.setPreferredLevel=function(u){n=u};this.getPreferredLevel=function(){return n};this.setMinLevel=function(u){a=u};this.getMinLevel=function(){return a};this.setProjection=function(u){k=u};this.getProjection=function(){return k};this.hasLabels=function(){return(j&&j[0])};this.setRequestParameters=function(u){e=u};this.getTilesServerConfig=function(v){for(var u=0;u<t.length;u++){if(t[u]&&t[u].minlevel<=v&&t[u].maxlevel>=v){return t[u]}}return t[0]};this.setTilesServerConfig=function(u){t=[];t.push(u)};this.addTilesServerConfig=function(u){t.push(u)};this.setLabelsServerConfig=function(u){j=[];j.push(u)};this.addLabelsServerConfig=function(u){j.push(u)};this.getLabelsServerConfig=function(v){for(var u=0;u<j.length;u++){if(j[u]&&j[u].minlevel<=v&&j[u].maxlevel>=v){return j[u]}}return j[0]};this.setVnr=function(u){h=u};this.setPnr=function(u){d=u};this.getPnr=function(){return d};this.getVnr=function(){return h};this.getRequestParameters=function(){return e};this.setTilesizeMeter=function(u){q=u};this.getTilesizeMeter=function(){return q};this.toString=function(){return"[IWMapType] name: "+this.getName()+", vnr: "+this.getVnr()+", pnr: "+this.getPnr()+", copyright: "+this.getCopyright()+", maxlevel: "+this.getMaxLevel()+", preferredlevel: "+this.getPreferredLevel()+", minlevel: "+this.getMinLevel()};this.isAvailable=function(){return f
};IWEventManager.addListener(b,"onmaptypeavailabilitychange",function(u){if(u.type==c){f=u.available}})}function IWOverlay(e,g){IWMapElement.call(this,e.getOverlayContainer());var d=new IWPoint(0,0);var b=this;var f=false;var c=log4javascript.getLogger("IWOverlay");var a=this.getContainer();IWDraggable.call(this,a,e.getContainer());this.setDraggableContainer(a);this.setHotspot=function(h){iw.strict([IWPoint],[h]);d=h};this.getHotspot=function(){return d};this.getLayer=function(){var h=parseInt(a.style.zIndex);if(isNaN(h)){return null}else{return h}};this.setCoordinate=function(h){iw.strict([IWCoordinate],[h]);g=h;this.triggerOnPositionChange()};this.getCoordinate=function(){return g};this.beforeAppend=function(){};this.afterAppend=function(){};this.beforeRemove=function(){if(f){iw.fireMouseEvent(a,"mouseout")}};this.afterRemove=function(){};this.redraw=function(){this.triggerOnRedrawStart();var j=e.getCurrentMapType().getProjection();var h=j.meterToPixel(this.getCoordinate());var m=this.getContainer();if(m.parentNode&&m.parentNode.parentNode){var k=m.parentNode.parentNode;m.style.top=h.getY()-this.getHotspot().getY()-parseInt(k.style.top)+"px";m.style.left=h.getX()-this.getHotspot().getX()-parseInt(k.style.left)+"px";k=null}this.triggerOnRedrawEnd();m=null};this.triggerOnPositionChange=function(){IWEventManager.trigger(this,"onpositionchange",null)};this.triggerOnRedrawStart=function(){IWEventManager.trigger(this,"onredrawstart")};this.triggerOnRedrawEnd=function(){IWEventManager.trigger(this,"onredrawend")};this.destroyOverlay=function(){this.destroyMapElement()};IWEventManager.addDomListener(a,"onclick",function(h){IWEventManager.trigger(b,"onclick",h)});IWEventManager.addDomListener(a,"ondblclick",function(h){IWEventManager.trigger(b,"ondblclick",h)});IWEventManager.addDomListener(a,"onmouseover",function(h){a.style.cursor="pointer";IWEventManager.trigger(b,"onmouseover",h);f=true});IWEventManager.addDomListener(a,"onmouseout",function(h){a.style.cursor="auto";IWEventManager.trigger(b,"onmouseout",h);f=false})}function IWOverlayLayer(a,k,j){var b=iw.create("div");var h=new IWRange(0,Number.MAX_VALUE);var f=true;var m=new Object();var g=1;var d=a.getZoomingAndDraggingContainer();var o=log4javascript.getLogger("IWOverlayLayer");this.getOverlayById=function(s){var q=null;for(var r in m){if(m[r].getId()==s){q=m[r];break}}return q};this.getOverlays=function(){var r=new Array();for(var q in m){r.push(m[q])}return r};this.addOverlay=function(q){if(q.overlayId==null){q.beforeAppend();q.getContainer().style.zIndex=j;IWEventManager.addListener(q,"ondragend",function(t){var u=q.getContainer();var s=parseInt(u.style.left)+q.getHotspot().getX();var v=parseInt(u.style.top)+q.getHotspot().getY();while(u.parentNode!=null&&u.parentNode!=d){u=u.parentNode;if(u.style.left){s+=parseInt(u.style.left)}if(u.style.top){v+=parseInt(u.style.top)}}var r=a.getCurrentMapType().getProjection();q.setCoordinate(r.pixelToMeter(new IWPoint(s,v)))});iw.append(b,q.getContainer());q.redraw();e(q);q.afterAppend()}};this.removeOverlay=function(q){if(q.overlayId){c(q);q.beforeRemove();iw.remove(q.getContainer());q.afterRemove()}};this.removeAllOverlays=function(){for(var q in m){this.removeOverlay(m[q])}};this.setVisibilityRange=function(q){h=q};this.redraw=function(){for(p in m){var q=m[p];q.redraw();q=null}if(f){var r=false;if(h.getMin()<=a.getZoom()&&a.getZoom()<=h.getMax()){r=true}n(r)}};this.getVisibilityRange=function(){return h};this.setVisible=function(q){f=q;n(f)};this.isVisible=function(){return(b.style.visibility!="hidden")};function n(q){if(q==true){b.style.visibility="inherit"}else{if(q==false){b.style.visibility="hidden"}}}function e(q){q.overlayId=g;m[q.overlayId]=q;g++}function c(q){delete m[q.overlayId];q.overlayId=null}b.id="IWOverlayLayer_"+j;b.style.position="absolute";b.style.top="0px";b.style.left="0px";b.style.zIndex=j;iw.append(k,b)}function IWOverlayManager(g,b){var c=this;var f=new Object;var d=log4javascript.getLogger("IWOverlayManager");
var e=0;var a=0;this.setVisible=function(h){if(h==true){b.style.visibility="inherit"}else{if(h==false){b.style.visibility="hidden"}}};this.isVisible=function(){return(b.style.visibility!="hidden")};this.getLayer=function(h){iw.strict([Number],arguments);if(f[h]==null){f[h]=new IWOverlayLayer(g,b,h)}return f[h]};this.removeLayer=function(j){iw.strict([Number],arguments);var h=f[j];if(h!=null){h.removeAllOverlays();f[j]=null;delete f[j]}};this.removeAllLayers=function(){for(layerNumber in f){this.removeLayer(parseInt(layerNumber))}};this.getAllOverlays=function(){var h=new Array();for(layerNumber in f){var j=f[layerNumber];h=j.getOverlays().concat(h)}return h};this.redraw=function(){for(layerNumber in f){f[layerNumber].redraw()}};this.toString=function(){return"[IWOverlayManager]"};IWEventManager.addListener(g,"onmove",function(h){e+=h.offsetY;a+=h.offsetX;b.style.top=e+"px";b.style.left=a+"px"});IWEventManager.addListener(g,"oncenter",function(h){b.style.display="none";c.redraw();b.style.display="block"});IWEventManager.addListener(g,"onmaptypechangestart",function(h){b.style.visibility="hidden"});IWEventManager.addListener(g,"onmaptypechange",function(h){c.redraw();b.style.visibility="inherit"});IWEventManager.addListener(g,"onzoomstart",function(){b.style.display="none"});IWEventManager.addListener(g,"onzoomend",function(){c.redraw();b.style.display="block"});IWEventManager.addListener(g,"onresize",function(){b.style.display="none";c.redraw();b.style.display="block"})}function IWParallelProjection(b){IWProjection.call(this);var c=1;var a=log4javascript.getLogger("IWParallelProjection");this.initialize=function(d){if(d.meterPerPixel){c=d.meterPerPixel}else{if(d.METER_PER_PIXEL){c=d.METER_PER_PIXEL}}};this.setMeterPerPixel=function(d){c=d};this.meterToPixel=function(k){var g=b.getCenter();if(!g){return new IWPoint(0,0)}else{var e=b.getOptions().getSize();var j=k._x-g._x;var h=k._y-g._y;var f=j/c;var d=-h/c;return new IWPoint((e._width/2)+f,(e._height/2)+d)}};this.meterToPixelXY=function(o,m){var f=b.getCenter();if(!f){return{x:0,y:0}}else{var n=b.getOptions().getSize();var k=n.getWidth()/2;var j=n.getHeight()/2;var e=o-f.getX();var d=m-f.getY();var h=e/c;var g=-1*d/c;return{x:k+h,y:j+g}}};this.pixelToMeter=function(m){var f=b.getCenter();if(f==null){return new IWCoordinate(0,0)}else{var n=b.getOptions().getSize();var k=n.getWidth()/2;var j=n.getHeight()/2;var h=m.getX()-k;var g=m.getY()-j;var e=h*c;var d=-1*g*c;return new IWCoordinate(f.getX()+e,f.getY()+d)}};this.pixelToMeterXY=function(h,g){var f=b.getCenter();if(f==null){return{x:0,y:0}}else{var o=b.getOptions().getSize();var n=o.getWidth()/2;var m=o.getHeight()/2;var k=h-n;var j=g-m;var e=k*c;var d=-1*j*c;return{x:f.getX()+e,y:f.getY()+d}}};this.needsReload=function(e,d){return false};this.needsReloadXY=function(e,d,f){return false};this.toString=function(){return"[IWParallelProjection]Meter per pixel: "+c}}function IWProjection(){this.meterRadiusToPixel=function(b,a){var h=new IWCoordinate(b.getX()+a,b.getY());var j=h.distanceFrom(b);var g=a/j;var e=new IWCoordinate(b.getX()+a*g,b.getY());var d=this.meterToPixel(b);var c=this.meterToPixel(e);return d.distanceFrom(c)};this.initialize=function(a){alert("Method not implemented")};this.meterToPixel=function(a){alert("Method not implemented");return"undefined"};this.pixelToMeter=function(a){alert("Method not implemented");return"undefined"};this.needsReload=function(b,a){alert("Method not implemented");return"undefined"};this.toString=function(){alert("Method not implemented");return"undefined"}}function IWTile(c,e,d,k){this.tileId=null;var s=this;var r="";var m=0;var q=null;var n=false;var b=IWTile.STATE_INACTIVE;var o=log4javascript.getLogger("IWTile");var f=c.getCurrentMapType().getTilesServerConfig(c.getZoom()).getAliases();var h=0;var g=0;var j=iw.create("img");j.id="imgTile_"+e+"_"+d;j.width=IWTile.SIZE;j.height=IWTile.SIZE;j.style.position="absolute";j.style.zIndex="1";j.style.left="0px";j.style.top="0px";j.style.width=IWTile.SIZE;
j.style.height=IWTile.SIZE;j.style.visibility="hidden";j.style.display="none";if(c.getOptions().hasRaster()){j.style.border="1px solid green"}j.onload=function(){n=true;if(b==IWTile.STATE_LOADING){s.setVisible(true);b=IWTile.STATE_COMPLETE}};j.onabort=function(){n=true;s.setVisible(true);try{o.error("loading abort for tile "+e+", "+d+". Requesting image "+j.src)}catch(t){o.error("Catching failure onAbort: "+t)}};j.onerror=function(){n=true;s.setVisible(true);try{o.error("loading error for tile "+e+", "+d+". Requesting image "+j.src)}catch(t){o.error("Catching failure onError: "+t)}};c.getCurrentTileContainer().appendChild(j);this.getImage=function(){return j};this.hasFirstLoadCompleted=function(){return n};this.setVisible=function(t){try{if(t){if(j&&j.style.visibility!="inherit"){j.style.display="block";j.style.visibility="inherit"}}else{if(j&&j.style.visibility!="hidden"){j.style.display="none";j.style.visibility="hidden"}}}catch(u){o.error("Error on setVisible for tile "+e+", "+d+". "+u)}};this.getPosition=function(){if(j){var v=parseInt(j.style.left);var u=parseInt(j.style.top);var t=0;var y=0;if(j.parentNode&&j.parentNode.parentNode){var x=parseInt(j.parentNode.parentNode.style.left);if(!isNaN(x)){t=x}var w=parseInt(j.parentNode.parentNode.style.top);if(!isNaN(w)){y=w}}return new IWPoint(t+v,y+u)}else{return new IWPoint(0,0)}};this.getPositionXY=function(){return{x:h,y:g}};this.destroy=function(){iw.destroy(j);j=null};this.getState=function(){return b};this.setState=function(t){b=t};this.getTimestamp=function(){return m};this.setSource=function(u,t){b=IWTile.STATE_WAITING;r=u;m=t};this.moveToXY=function(u,t){if(j){h=u;g=t;j.style.left=h+"px";j.style.top=g+"px"}};this.moveTo=function(u){if(j){var v=u.getX()-parseInt(j.parentNode.parentNode.style.left);var t=u.getY()-parseInt(j.parentNode.parentNode.style.top);j.style.left=v+"px";j.style.top=t+"px"}};this.load=function(){if(j){b=IWTile.STATE_LOADING;var H=c.getCurrentMapType();var J=H.getTilesServerConfig(c.getZoom());if(H.getType()=="IW"){var L=H.getProjection();var C=this.getPosition();var t=L.pixelToMeter(C);if(J.isCacheEnabled()==false){var F=J.isCacheEnabled()?"1":"0";var u="&left="+t.getX()+"&bottom="+t.getY()+"&tilemeter="+H.getTilesizeMeter()[c.getZoom()]+"&tile="+IWTile.SIZE+"&maptype="+H.getName()+"&cached="+F;var y=J.getNextAlias()+J.getBaseDir()+"/servlet/FrontController?cmd=getTile&VNR="+IWAccessFilter.getCNR()+"&PNR="+IWAccessFilter.getPNR()+"&file="+r+u;j.src=y}else{j.src=a(t)}}else{if(H.getType()=="IW_MAPDISPATCHER"){if(!this.tileId){var L=H.getProjection();var C=this.getPosition();var t=L.pixelToMeter(C);var G=new IWPoint(C.getX()+IWTile.SIZE/2,C.getY()+IWTile.SIZE/2);var t=L.pixelToMeter(G);var z=new IWCoordinate(t.getX(),t.getY(),IWCoordinate.MERCATOR).toWGS84();var x=IWVEUtils.latLongToPixelXY(z,c.getZoom());var M=IWVEUtils.pixelToTile(x);var B=IWVEUtils.tileToQuadKey(M,c.getZoom());this.tileId=B}var E=""+this.tileId;var D=parseInt(E.charAt(E.length-1));var A=J.getAliases()[D%J.getAliases().length];if(A.indexOf("%1")>0){j.src=A.replace("%1",this.tileId)}else{j.src=A+this.tileId+".png"}}else{if(H.getType()=="VE"){var L=H.getProjection();var C=this.getPosition();var t=L.pixelToMeter(C);var G=new IWPoint(C.getX()+IWTile.SIZE/2,C.getY()+IWTile.SIZE/2);var t=L.pixelToMeter(G);var K=IWVEUtils.getMapSize(c.getZoom());var I=40075016.704;var w=(K/I)*(t.getX());var v=(K/I)*(t.getY());var x=new IWPoint(w,v);var M=IWVEUtils.pixelToTile(x);var B=IWVEUtils.tileToQuadKey(M,c.getZoom());j.src=J.getAliases()[B%4]+"tiles/r"+B+".png?g=266&mkt=de-de&shading=hill"}}}}};this.compare=function(z,y){var B=c.getOptions().getSize();var w=B.getWidth()/2;var v=B.getHeight()/2;var t=z.getPosition();var A=y.getPosition();var x=Math.pow(w-(t.getX()+IWTile.SIZE/2),2)+Math.pow(v-(t.getY()+IWTile.SIZE/2),2);var u=Math.pow(w-(A.getX()+IWTile.SIZE/2),2)+Math.pow(v-(A.getY()+IWTile.SIZE/2),2);return u-x};this.toString=function(){var t=(j?j.src:"");return"[IWTile] cell: "+e+", "+d+", position: "+this.getPosition()+"src: "+t
};function a(J){var w=c.getCurrentMapType().getTilesizeMeter()[c.getZoom()];var B=Math.floor(J.getX()/w)+1;var E=Math.floor(J.getY()/w)-1;var u=parseInt((B<0?(B/10000)-1:(B/10000)));var A=parseInt((B-u*10000)/1000);var C=parseInt((B-u*10000-A*1000)/100);var v=parseInt((B-u*10000-A*1000-C*100)/10);var I=parseInt((B-u*10000-A*1000-C*100-v*10));var M=u+A+C+v+I;var x=parseInt((E<0?(E/10000)-1:(E/10000)));var K=parseInt((E-x*10000)/1000);var F=parseInt((E-x*10000-K*1000)/100);var H=parseInt((E-x*10000-K*1000-F*100)/10);var y=parseInt((E-x*10000-K*1000-F*100-H*10));var z=x+K+F+H+y;var L=c.getCurrentMapType();var D=L.getName();var G=L.getTilesServerConfig(c.getZoom());var t=G.getImageType();return f[(M+z)%G.getAliases().length]+"cache/Mobile/"+D+"/"+IWTile.SIZE+"/"+w+"/"+u+"_"+x+"/"+A+"_"+K+"/"+C+"_"+F+"/"+v+"_"+H+"/"+I+"_"+y+"."+t}}IWTile.SIZE=iwconst.TILE_SIZE;IWTile.STATE_INACTIVE="STATE_INACTIVE";IWTile.STATE_WAITING="STATE_WAITING";IWTile.STATE_QUEUED="STATE_QUEUED";IWTile.STATE_LOADING="STATE_LOADING";IWTile.STATE_COMPLETE="STATE_COMPLETE";function IWTileLoader(a,j){var e=4;var f=null;var c=new Array();var g=null;var d=0;var h=log4javascript.getLogger("IWTileLoader");this.inc=function(){d--};this.loadTile=function(k){k.load()};this.loadNext=function(){if(d<e&&c.length>0){b()}};function b(){if(c.length>0){while(d<e&&c.length>0){d++;var k=c.shift();k.load()}}}g=new Array(j);h.info("IWTileLoader instance created.")}function IWTileset(D){var g=5;var E=log4javascript.getLogger("IWTileset");var u=true;var z=[];var h=d();var s=[];var q=false;var m={};function w(){var G=0;var H=tiles[currentZoom][0].getPosition().getY();for(var I=0;I<numTilesY;I++){var F=I*numTilesX;if(tiles[currentZoom][F].getPosition().getY()<H){G=I;H=tiles[currentZoom][F].getPosition().getY()}}return G}function e(){var H=0;var I=tiles[currentZoom][0].getPosition().getX();for(var G=0;G<numTilesX;G++){var F=G;if(tiles[currentZoom][F].getPosition().getX()<I){H=G;I=tiles[currentZoom][F].getPosition().getX()}}return H}function c(I,H,O){var S=new Date().getTime()+Math.random();var N=new Array();for(var G=1;G<=I;G++){var R=e();var Q=w();var L=(Q+numTilesY-1)%numTilesY;for(var P=0;P<numTilesX;P++){var J=Q*numTilesX+(R+P)%numTilesX;var M=tiles[currentZoom][J];M.setVisible(false);M.setSource(k(S,G,P+1),S);M.moveTo(new IWPoint(M.getPosition().getX(),tiles[currentZoom][L*numTilesX].getPosition().getY()+IWTile.SIZE));if(currentMapType.getType()=="IW_MAPDISPATCHER"){N.push(M)}}}if(currentMapType.getType()=="IW_MAPDISPATCHER"){N.sort(tiles[currentZoom][0].compare);for(var K=N.length-1;K>=0;K--){N[K].load()}}if(currentMapType.getType()!="IW_MAPDISPATCHER"){var F=f(H,O,numTilesX,I,S,"b");v(S,F)}}function r(I,H,O){var T=new Date().getTime()+Math.random();var N=new Array();for(var G=I;G>0;G--){var R=e();var Q=w();var L=(Q+numTilesY-1)%numTilesY;for(var P=0;P<numTilesX;P++){var J=L*numTilesX+(R+P)%numTilesX;var M=tiles[currentZoom][J];M.setVisible(false);M.setSource(k(T,G,P+1),T);var U=M.getPosition().getX();var S=tiles[currentZoom][Q*numTilesX].getPosition().getY()-IWTile.SIZE;M.moveTo(new IWPoint(U,S));if(currentMapType.getType()=="IW_MAPDISPATCHER"){N.push(M)}}}if(currentMapType.getType()=="IW_MAPDISPATCHER"){N.sort(tiles[currentZoom][0].compare);for(var K=N.length-1;K>=0;K--){N[K].load()}}if(currentMapType.getType()!="IW_MAPDISPATCHER"){var F=f(H,O,numTilesX,I,T,"t");v(T,F)}}function C(K,H,P){var S=new Date().getTime()+Math.random();var O=new Array();for(var G=1;G<=K;G++){var R=e();var I=(R+numTilesX-1)%numTilesX;var Q=w();for(var J=0;J<numTilesY;J++){var L=(J+Q)%numTilesY*numTilesX+R;var N=tiles[currentZoom][L];N.setVisible(false);N.setSource(k(S,J+1,G),S);N.moveTo(new IWPoint(tiles[currentZoom][I].getPosition().getX()+IWTile.SIZE,N.getPosition().getY()));if(currentMapType.getType()=="IW_MAPDISPATCHER"){O.push(N)}}}if(currentMapType.getType()=="IW_MAPDISPATCHER"){O.sort(tiles[currentZoom][0].compare);for(var M=O.length-1;M>=0;M--){O[M].load()}}if(currentMapType.getType()!="IW_MAPDISPATCHER"){var F=f(H,P,K,numTilesY,S,"r");
v(S,F)}}function j(K,H,P){var S=new Date().getTime()+Math.random()+1;for(var G=K;G>0;G--){var R=e();var I=(R+numTilesX-1)%numTilesX;var Q=w();var O=new Array();for(var J=0;J<numTilesY;J++){var L=(J+Q)%numTilesY*numTilesX+I;var N=tiles[currentZoom][L];N.setVisible(false);N.setSource(k(S,J+1,G),S);N.moveTo(new IWPoint(tiles[currentZoom][R].getPosition().getX()-IWTile.SIZE,N.getPosition().getY()));if(currentMapType.getType()=="IW_MAPDISPATCHER"){O.push(N)}}if(currentMapType.getType()=="IW_MAPDISPATCHER"){O.sort(tiles[currentZoom][0].compare);for(var M=O.length-1;M>=0;M--){O[M].load()}}}if(currentMapType.getType()!="IW_MAPDISPATCHER"){var F=f(H,P,K,numTilesY,S,"l");v(S,F)}}function k(G,F,H){return"Tile_"+D.getSessionId()+"_"+G+"_"+F+"_"+H+"."+currentMapType.getTilesServerConfig(currentZoom).getImageType()}function f(J,M,H,G,N,K){var I=currentMapType.getTilesServerConfig(currentZoom);var L=currentMapType.getTilesizeMeter()[currentZoom];var F="http://localhost:"+iwconst.WEBSERVER_PORT+"/"+I.getBaseDir()+"/servlet/FrontController?cmd=prepareTiles&VNR="+IWAccessFilter.getCNR()+"&PNR="+IWAccessFilter.getPNR()+"&code="+K+"&mapcx="+J.getX()+"&mapcy="+J.getY()+"&centercx="+currentCenterX+"&centercy="+currentCenterY+"&oldcx="+(oldCenterX!=null?oldCenterX:currentCenterX)+"&oldcy="+(oldCenterY!=null?oldCenterY:currentCenterY)+"&mapdx="+H*L+"&mapdy="+G*L+"&width="+H*IWTile.SIZE+"&height="+G*IWTile.SIZE+"&tileSize="+IWTile.SIZE+"&tilex="+IWTile.SIZE+"&tiley="+IWTile.SIZE+"&tilenx="+H+"&tileny="+G+"&tileprefix=Tile_"+D.getSessionId()+"_"+N+"&zoom="+currentZoom+"&pictureformat="+I.getImageType()+IWRequestFormatter.getLayerParameter(currentZoom,D.getLayers(),IWLayer.DRAW_ON_TILES)+"&type="+encodeURIComponent(currentMapType.getName())+currentMapType.getRequestParameters()+"&logstat="+u+currentMapType.getLogging();if(currentMapType.getType()=="IW"){return I.getNextAlias()+I.getBaseDir()+"/XMLHttpRequestProxy?serverURL="+encodeURIComponent(F)}else{if(currentMapType.getType()=="VE"){return iwconst.GLOBAL_PROXY_URL+"?serverURL="+encodeURIComponent(F)}}}function v(F,G){z.push({sURL:G,nTimestamp:F});t()}function t(){while(z.length>0){var F=y();if(F!=null){var G=z.pop();a(F,G)}}}function y(){var G=null;for(var F=0;F<h.length;F++){if(h[F].isActive==false){G=h[F];G.isActive=true;break}}return G}function a(F,G){F.onreadystatechange=function(){A(F,G);t()};var H=G.sURL.length>2000?"POST":"GET";F.open(H,G.sURL,true);F.send(null)}function A(G,I){try{if(G.readyState==4){if(G.status==200){var H=null;try{H=IWXMLHelper.parse(G.responseText).documentElement}catch(J){}if(H!=null){var F=getContent(G,"status");if(F.toLowerCase()=="ok"){x(I.nTimestamp)}else{if(F.toLowerCase()=="no_data"){E.error("Receiving no data message.")}else{if(navigator.appName.indexOf("Internet Explorer")==-1){G.send(null)}}}}}else{E.error("xmlHttp.status "+G.status)}}else{E.error("xmlHttp.readyState "+G.readyState)}}catch(J){}}function x(H){for(var F=0;F<tiles[currentZoom].length;F++){var G=tiles[currentZoom][F];if(G!=null){if(G.getState()==IWTile.STATE_WAITING){if(G.getTimestamp()==H){G.setState(IWTile.STATE_QUEUED)}}}}n();b()}function n(){s=new Array();for(var F=0;F<tiles[currentZoom].length;F++){var G=tiles[currentZoom][F];if(G!=null){if(G.getState()==IWTile.STATE_QUEUED){s.push(G)}}}var G=tiles[currentZoom][0];if(G!=null){s.sort(G.compare)}}function b(){while(s.length>0){var F=s.pop();if(F.getState()==IWTile.STATE_QUEUED){window.setTimeout(function(){this.load()}.iwclosure(F),0)}}if(q==false){checkVisibleSectionLoaded()}}function d(){var G=new Array(g);for(var F=0;F<g;F++){G[F]=new IWXMLHttpRequest()}return G}function B(){for(var F=0;F<g;F++){h[F].abort();h[F].isActive=false}}function o(G){if(m[G]&&m[G].length>0){var F=m[G].shift();if(F){F.src=F.source}}}}function IWVEProjection(d){IWProjection.call(this);var f=1;var e=512;var a=40075016.704;var c=0;var b=log4javascript.getLogger("IWVEProjection");this.initialize=function(j){b.info("Calling initialize with "+j);var h=d.getZoom();e=IWVEUtils.getMapSize(h);
b.error("Current size of map in pixel is "+e);var g=d.getCurrentMapType().getTilesizeMeter()[h];b.error("Tilesize meter is "+g);f=g/256;b.error("MeterPerPixel is set to "+f)};this.meterToPixel=function(o){b.info("Calling meterToPixel with "+o);var m=d.getCenter();b.trace("Current center is "+m);if(m==null){return new IWPoint(0,0)}else{var n=new IWCoordinate(o.getX()-m.getX(),o.getY()-m.getY());var k=d.getOptions().getSize();var g=new IWPoint(k.getWidth()/2,k.getHeight()/2);var j=new IWPoint(n.getX()/f,n.getY()/f);b.error("centerPixel (Zentrum in Meter) "+g);b.error("offsetPixel (Meterversatz in Pixel) "+j);var h=new IWPoint(g.getX()+j.getX(),g.getY()+j.getY());b.error("p="+h);return h}};this.pixelToMeter=function(g){b.info("Calling pixelToMeter with "+g);var m=d.getCenter();if(m==null){b.warn("Map center is not specified, method returns IWCoordinate(0, 0).");return new IWCoordinate(0,0)}else{var k=d.getOptions().getSize();var h=new IWPoint(k.getWidth()/2,k.getHeight()/2);var j=new IWPoint(g.getX()-h.getX(),g.getY()-h.getY());var o=new IWCoordinate(j.getX()*f,j.getY()*f);var n=new IWCoordinate(m.getX()+o.getX(),m.getY()+o.getY());b.error("XX pixelToMeter "+g+" "+n);return n}};this.needsReload=function(h,g){return false};this.toString=function(){return"[IWVEProjection]Meter per pixel: "+f}}function IWWindowOverlay(a,f){var h=this;var c=new IWPoint(0,0);var g=log4javascript.getLogger("IWWindowOverlay");IWMapElement.call(this,a.getWindowOverlayContainer());this.getAnchor=function(){return c};this.setAnchor=function(m){if(this.isDisplayed()){var k=this.getContainer();var o=parseInt(k.style.top);var n=parseInt(k.style.left);k.style.top=o-c.getY()+m.getY()+"px";k.style.left=n-c.getX()+m.getX()+"px"}c=m};this.setCoordinate=function(k){iw.strict([IWCoordinate],[k]);f=k};this.getCoordinate=function(){return f};this.destroyWindowOverlay=function(){IWEventManager.removeListener(b);IWEventManager.removeListener(d);IWEventManager.removeListener(j);IWEventManager.removeListener(e);this.destroyMapElement()};this.redraw=function(){var k=this.getContainer();var n=this.getParent();var m=a.getCurrentMapType().getProjection().meterToPixel(f);k.style.top=m.getY()+c.getY()-parseInt(n.style.top)+"px";k.style.left=m.getX()+c.getX()-parseInt(n.style.left)+"px"};var b=IWEventManager.addListener(a,"oncenter",function(k){h.setVisible(false);h.redraw();h.setVisible(true)});var d=IWEventManager.addListener(a,"onzoomstart",function(){h.setVisible(false)});var j=IWEventManager.addListener(a,"onzoomend",function(){h.redraw();h.setVisible(true)});var e=IWEventManager.addListener(a,"onresize",function(){h.redraw()})}function IWWindowOverlayManager(d){var a=null;var c=null;var b=log4javascript.getLogger("IWWindowOverlayManager");this.openInfoBalloon=function(q,j){b.debug("Calling openInfoBalloon width "+q+", "+j);var k=null;if(j.constructor==String){b.trace("Content is a String");var h=iw.checkElem(j);k=iw.create("div");k.style.top="0px";k.style.left="0px";k.style.overflow="auto";iw.append(k,h)}else{b.trace("Content is not a String");k=j}k.style.position="relative";var e=IWDOMHelper.getSize(k,d.getContainer());b.trace("contentSize = "+e);var g=k.style.left==""?0:parseInt(k.style.left);var m=k.style.top==""?0:parseInt(k.style.top);var f=d.getOptions().getSize();var o=Math.ceil(f.getHeight()-80);var n=Math.ceil(f.getWidth()-50);if(e.getHeight()>o){e.setHeight(o)}if(e.getWidth()>n){e.setWidth(n)}b.trace("myContent.style.height = "+k.style.height);b.trace("myContent.style.width = "+k.style.width);this.removeInfoBalloon();var r=new IWSize(e.getWidth()+g,e.getHeight()+m);b.trace("Setting balloon size to "+r);a=new IWInfoBalloon(d,q,k);a.setSize(r);d.addWindowOverlay(a)};this.removeInfoBalloon=function(){if(a!=null){d.removeWindowOverlay(a);a.destroy();a=null}};this.openTooltip=function(f,e){this.removeTooltip();c=new IWTooltip(d,f,e);d.addWindowOverlay(c)};this.removeTooltip=function(){if(c!=null){d.removeWindowOverlay(c);c.destroy();c=null}}}function IWInfoBalloon(y,v,t){IWWindowOverlay.call(this,y,v);
var r=this;var q=new IWSize(240,180);var w=5;var e=true;var z=17;var m=17;var h=53;var n=this.getContainer();var f=iw.create("div");var b=iw.create("div");var k=iw.create("div");var s=iw.create("div");var o=iw.create("div");var c=iw.create("div");var d=iw.create("div");var g=iw.create("img");var A=log4javascript.getLogger("IWInfoBalloon");var a=iwconst.GLOBAL_APP_URL+"img/symbols/close.png";var u=new IWLanguagePack();u.addLanguage(new IWLanguage("de",iwconst.LOCAL_APP_URL+"lang/IWInfoBalloon.lang.de"));u.addLanguage(new IWLanguage("en",iwconst.LOCAL_APP_URL+"lang/IWInfoBalloon.lang.en"));u.addLanguage(new IWLanguage("es",iwconst.LOCAL_APP_URL+"lang/IWInfoBalloon.lang.es"));u.addLanguage(new IWLanguage("fr",iwconst.LOCAL_APP_URL+"lang/IWInfoBalloon.lang.fr"));u.addLanguage(new IWLanguage("tr",iwconst.LOCAL_APP_URL+"lang/IWInfoBalloon.lang.tr"));u.addLanguage(new IWLanguage("it",iwconst.LOCAL_APP_URL+"lang/IWInfoBalloon.lang.it"));IWMultiLanguageSupport.call(this,y,u);this.setAutoPan=function(B){e=B};this.setCloseImage=function(B){a=B;if(g!=null&&g.parentNode){g.src=a}};this.getCloseImage=function(){return a};this.getContent=function(){return t};this.setContent=function(B){t=B};this.afterAppend=function(){A.info("Calling afterAppend.");n.style.visibility="visible";if(e){var J=iw.absolute(n,y.getContainer());if(y.getBounds().containsCoordinate(v)){var G=J.getX()+q.getWidth()+z+z+w-y.getOptions().getSize().getWidth();var D=J.getX()-w;var B=J.getY()-w;var E=J.getY()+q.getHeight()+m+m+w-y.getOptions().getSize().getHeight();if(G>0||D<0||B<0||E>0){var N=0;var M=0;if(G>0){N=-G}else{if(D<0){N=-D}}if(B<0){M=-B}else{if(E>0){M=-E}}y.panBy(new IWPoint(N,M),true)}}else{var K=y.getCurrentMapType().getProjection();var L=K.meterToPixel(v);var C=this.getSize().getHeight()/2;var H=L.getX();var F=L.getY()-C;var I=new IWPoint(H,F);y.setCenter(K.pixelToMeter(I))}}};this.setSize=function(B){A.info("Calling setSize with "+q);iw.strict([IWSize],[q]);q=B;x();this.setAnchor(new IWPoint(-(q.getWidth()/2),-(q.getHeight()+m+m+h)))};this.getSize=function(){return q};this.destroy=function(){A.info("Calling destroy");IWEventManager.clearInstanceListeners(this);this.destroyMultiLanguageSupport();this.destroyWindowOverlay();t=null;f=null;b=null;k=null;s=null;o=null;c=null;d=null;g=null;n=null};this.toString=function(){return"[IWInfoBalloon]"};function j(){A.debug("Calling buildGUI");n.style.height=q.getHeight()+m+m+"px";n.style.width=q.getWidth()+z+z+"px";n.style.visibility="hidden";iw.append(n,f);f.style.position="absolute";f.style.top="0px";f.style.left="0px";f.style.width=q.getWidth()+"px";f.style.height=q.getHeight()+"px";var F=iw.create("div");iw.append(f,F);F.style.top="0px";F.style.left="0px";F.style.height=m+"px";F.style.width=z+"px";F.style.background="url("+iwconst.GLOBAL_APP_URL+"img/overlays/infoballoon/sprite-infoballoon.gif) no-repeat top left";F.style.backgroundPosition="0 -245px";var E=iw.create("div");iw.append(f,E);E.style.position="absolute";E.style.top="0px";E.style.right="0px";E.style.height=m+"px";E.style.width=z+"px";E.style.background="url("+iwconst.GLOBAL_APP_URL+"img/overlays/infoballoon/sprite-infoballoon.gif) no-repeat top left";E.style.backgroundPosition="-4px -316px";var B=iw.create("div");iw.append(f,B);B.style.position="absolute";B.style.bottom="0px";B.style.left="0px";B.style.height=m+"px";B.style.width=z+"px";B.style.background="url("+iwconst.GLOBAL_APP_URL+"img/overlays/infoballoon/sprite-infoballoon.gif) no-repeat top left";B.style.backgroundPosition="0 -107px";var C=iw.create("div");iw.append(f,C);C.style.position="absolute";C.style.bottom="0px";C.style.right="0px";C.style.height=m+"px";C.style.width=z+"px";C.style.background="url("+iwconst.GLOBAL_APP_URL+"img/overlays/infoballoon/sprite-infoballoon.gif) no-repeat top left";C.style.backgroundPosition="-4px -178px";iw.append(f,k);iw.backgroundImage(k,iwconst.GLOBAL_APP_URL+"/img/symbols/background_white.jpg");k.style.position="absolute";k.style.borderTop="1px solid #cfcfd1";k.style.top="0px";
k.style.left=z+"px";k.style.height=m+"px";k.style.width=q.getWidth()-z-z+"px";iw.append(f,s);iw.backgroundImage(s,iwconst.GLOBAL_APP_URL+"/img/symbols/background_white.jpg");s.style.position="absolute";s.style.borderRight="1px solid #cfcfd1";s.style.top=m+"px";s.style.right="0px";s.style.width=z+"px";s.style.height=q.getHeight()-m-m+"px";iw.append(f,o);iw.backgroundImage(o,iwconst.GLOBAL_APP_URL+"/img/symbols/background_white.jpg");o.style.position="absolute";o.style.borderBottom="1px solid #cfcfd1";o.style.bottom="0px";o.style.left=z+"px";o.style.height=m+"px";o.style.width=q.getWidth()-z-z+"px";iw.append(f,c);iw.backgroundImage(c,iwconst.GLOBAL_APP_URL+"/img/symbols/background_white.jpg");c.style.borderLeft="1px solid #cfcfd1";c.style.position="absolute";c.style.top=m+"px";c.style.left="0px";c.style.width=z+"px";c.style.height=q.getHeight()-m-m+"px";b.id="divContent";iw.append(f,b);iw.backgroundImage(b,iwconst.GLOBAL_APP_URL+"/img/symbols/background_white.jpg");b.style.position="absolute";b.style.top=m+"px";b.style.left=z+"px";b.style.width=q.getWidth()+"px";b.style.height=q.getHeight()+"px";b.style.overflow="hidden";var D=iw.create("div");D.style.overflow="auto";iw.append(b,D);iw.append(D,t);iw.append(f,g);r.addLabelFor(new IWLabel("CLOSE",g,"title"));r.addLabelFor(new IWLabel("CLOSE",g,"alt"));g.src=a;g.style.position="absolute";g.style.top="5px";g.style.right="5px";g.style.cursor="pointer";iw.append(n,d);d.style.position="absolute";d.style.top="0px";d.style.height=h+"px";d.style.width="55px";d.style.left=Math.round(q.getWidth()/2)+"px";d.style.background="url("+iwconst.GLOBAL_APP_URL+"img/overlays/infoballoon/sprite-infoballoon.gif) no-repeat top left";d.style.backgroundPosition="0 0";g.onclick=function(){y.removeWindowOverlay(r)}}function x(){A.debug("Calling resize.");var B=q.getWidth();var C=q.getHeight();n.style.height=C+m+m+"px";n.style.width=B+z+z+"px";f.style.width=B+z+z+"px";f.style.height=C+m+m+"px";b.style.width=B+"px";b.style.height=C+"px";k.style.width=B+"px";s.style.height=C+"px";o.style.width=B+"px";c.style.height=C+"px";d.style.top=C+m+m-2+"px";d.style.left=Math.round(B/2)+"px"}j();this.setAnchor(new IWPoint(-(q.getWidth()/2),-(q.getHeight())));this.loadLanguagePack(y.getOptions().getLanguage())}function IWMarker(b,g){IWOverlay.call(this,b,g);var j=this;var e=new IWIcon(iwconst.GLOBAL_APP_URL+"img/symbols/pin/pin_red_33.gif",new IWPoint(16,22),new IWSize(33,24));var d=new Array();var c=this.getContainer();var h=log4javascript.getLogger("IWMarker");var f=iw.create("img");this.setDefaultIcon=function(k){e=k;if(this.isDisplayed()){a()}};this.getDefaultIcon=function(){return e};this.addScaleDependentIcon=function(k){d.push(k)};this.setScaleDependentIcons=function(k){d=k};this.getScaleDependentIcons=function(){return d};this.afterAppend=function(){iw.append(c,f);a()};this.beforeRemove=function(){IWEventManager.clearInstanceListeners(f);iw.remove(f)};this.toString=function(){return"[IWMarker] coordinate: "+g.toString()+", default icon: "+e.toString()};this.destroy=function(){this.destroyOverlay();IWEventManager.clearInstanceListeners(this)};function a(){var q=null;for(var n=0;n<d.length;n++){var k=d[n];if(k.getRange().getMin()<=b.getZoom()&&b.getZoom()<=k.getRange().getMax()){q=k;break}}var o=(q!=null?q:e);if(f.src!=o.getUrl()){var m=o.getUrl();if(o.getSize()!=null){f.width=o.getSize().getWidth();f.height=o.getSize().getHeight()}if(IWBrowser.isInternetExplorer()&&iw.extractFilePath(m).extension==".png"){f.onload=function(){correctPNG(f)}}else{f.onload=null}f.src=m}j.setHotspot(o.getHotspot())}f.align="top";this.setDraggable(false);this.setDragButton(IWButton.LEFT);this.setDraggableContainer(c);this.allowDraggingOutsideParent(false);IWEventManager.addListener(this,"onredrawstart",a)}function IWTooltip(map,coordinate,obj){var self=this;var _size=null;var _xAnchor=15;var _yAnchor=0;var _mapSize=map.getOptions().getSize();IWWindowOverlay.call(this,map,coordinate);this.beforeAppend=function(){this.setAnchor(new IWPoint(_xAnchor,_yAnchor))
};this.afterAppend=function(){var position=iw.absolute(this.getContainer(),map.getContainer());var spaceRight=_mapSize.getWidth()-(position.getX()+_size.getWidth()+5);var spaceBottom=_mapSize.getHeight()-(position.getY()+_size.getHeight()+5);var newAnchorX=_xAnchor;var newAnchorY=_yAnchor;if(spaceRight<0){newAnchorX=-(_xAnchor+_size.getWidth())}if(spaceBottom<0){newAnchorY=-(_yAnchor+_size.getHeight())}if(newAnchorX!=_xAnchor||newAnchorY!=_yAnchor){this.setAnchor(new IWPoint(newAnchorX,newAnchorY))}this.getContainer().style.visibility="visible"};this.destroy=function(){obj=null;this.destroyWindowOverlay();IWEventManager.clearInstanceListeners(this)};function buildGUI(container){container.style.visibility="hidden";iw.backgroundImage(container,iwconst.GLOBAL_APP_URL+"img/symbols/background_white.jpg");var div=iw.create("div");if(typeof obj=="string"){obj=obj.replace(/\u0020/g,"&nbsp;")}iw.append(div,obj);iw.append(container,div);_size=IWDOMHelper.getSize(container,self.getParent());with(div.style){position="absolute";left="0px";top="0px";width=_size.getWidth()+4+"px";height=_size.getHeight()+"px";textAlign="center"}container.style.border="1px solid #dddddd";container.style.width=div.style.width;container.style.height=div.style.height}buildGUI(this.getContainer())}function IWRoutingMagnifierFactory(map){var _self=this;var _map=map;var _mapType=_map.getOptions().getMapTypeByName("roadmap");var _zoomLevel=200;this.createRoutingMagnifierContent=function(coordinate){var div=iw.create("div");with(div.style){position="relative";width="230px";height="260px"}var img=iw.create("img");iw.append(div,img);img.onload=function(){this.style.display="block"}.iwclosure(div);loadRoutingMagnifierImage(img,coordinate,_mapType);var imgZoomIn=iw.create("img");iw.append(div,imgZoomIn);imgZoomIn.src=iwconst.GLOBAL_APP_URL+"img/controls/magnifier/zoomIn.gif";with(imgZoomIn.style){position="absolute";top="5px";left="5px";cursor="pointer"}imgZoomIn.onclick=function(){if(_zoomLevel>400){_zoomLevel-=400;loadRoutingMagnifierImage(img,coordinate,_mapType)}}.iwclosure(_self);var imgZoomOut=iw.create("img");iw.append(div,imgZoomOut);imgZoomOut.src=iwconst.GLOBAL_APP_URL+"img/controls/magnifier/zoomOut.gif";with(imgZoomOut.style){position="absolute";top="23px";left="5px";cursor="pointer"}imgZoomOut.onclick=function(){_zoomLevel+=400;loadRoutingMagnifierImage(img,coordinate,_mapType)}.iwclosure(_self);var imgMap=iw.create("img");iw.append(div,imgMap);imgMap.src=iwconst.GLOBAL_APP_URL+"img/controls/magnifier/map.gif";with(imgMap.style){position="absolute";top="5px";left="30px";cursor="pointer"}imgMap.onclick=function(){_mapType=_map.getOptions().getMapTypeByName("roadmap");loadRoutingMagnifierImage(img,coordinate,_mapType)}.iwclosure(_self);var imgHybrid=iw.create("img");iw.append(div,imgHybrid);imgHybrid.src=iwconst.GLOBAL_APP_URL+"img/controls/magnifier/air.gif";with(imgHybrid.style){position="absolute";top="5px";left="77px";cursor="pointer"}imgHybrid.onclick=function(){_mapType=_map.getOptions().getMapTypeByName("hybrid");loadRoutingMagnifierImage(img,coordinate,_mapType)}.iwclosure(_self);return div};function loadRoutingMagnifierImage(img,coordinate,mapType){var config=mapType.getTilesServerConfig(_map.getZoom());img.src=config.getNextAlias()+config.getBaseDir()+"/servlet/FrontController?cmd=getPrintMap&app=ms&VNR="+IWAccessFilter.getCNR()+"&PNR="+IWAccessFilter.getPNR()+"&mapcx="+coordinate.getX()+"&mapcy="+coordinate.getY()+"&mapdx="+_zoomLevel+"&mapdy="+_zoomLevel+"&width=230&height=240&projc="+config.getProjection()+"&maptype="+mapType.getName()+IWRequestFormatter.getLayerParameter(_map.getZoom(),_map.getLayers(),IWLayer.DRAW_ON_LABELS)}}function IWProjectionClient(){var b=log4javascript.getLogger("IWProjectionClient");this.project=function(h,e,g,f){b.info("Calling project with "+e+" coordinate x:"+h.getX()+" y:"+h.getY()+" to "+g);var d=iwconst.LOCAL_APP_URL+"/servlet/FrontController?cmd=project&app=ms&VNR="+IWAccessFilter.getCNR()+"&PNR="+IWAccessFilter.getPNR()+"&FROM_X="+h.getX()+"&FROM_Y="+h.getY()+"&FROM_PROJ="+e+"&TO_PROJ="+g;
var c=new IWXMLHttpRequest();c.open("GET",iwconst.PROJECTIONSERVER_PROXY_URL+"?serverURL="+encodeURIComponent(d),true);c.onreadystatechange=function(){a(this,c,h,e,g,f)}.iwclosure(this);c.send(null)};this.toString=function(){return"[IWProjectionClient]"};this.triggerOnProjection=function(c){IWEventManager.trigger(this,"onprojection",c)};function a(o,f,e,n,c,j){if(f.readyState==4){if(f.statusText=="OK"){if(f.responseText.length>0){var k=IWXMLHelper.parse(f.responseText).documentElement;var d=new IWProjectionEvent();d.inputCoordinate=e;d.fromProjection=n;d.toProjection=c;d.parameterObject=j;var g=null;if(k.getElementsByTagName("PROJECTION_RESULT")[0]){d.status="OK";var m=IWXMLHelper.getNodeValue(k.getElementsByTagName("PROJECTED_X")[0]);var h=IWXMLHelper.getNodeValue(k.getElementsByTagName("PROJECTED_Y")[0]);d.outputCoordinate=new IWCoordinate(m,h)}else{d.status=IWXMLHelper.getNodeValue(k.getElementsByTagName("ERROR_CODE")[0]);d.errorDescription=IWXMLHelper.getNodeValue(k.getElementsByTagName("ERROR_MSG")[0])}}else{alert("IWProjectionClient: Response text is empty.")}}else{if(f.status==401){alert("IWProjectionClient: Access denied. ("+f.status+") "+f.statusText)}else{alert("IWProjectionClient: ("+f.status+") "+f.statusText)}}o.triggerOnProjection(d)}}}function IWProjectionEvent(){this.status=null;this.errorDescription=null;this.inputCoordinate=null;this.outputCoordinate=null;this.fromProjection=null;this.toProjection=null;this.parameterObject=null;this.toString=function(){var a="[IWProjectionEvent] status: "+this.status+", ";if(this.status=="OK"){a+="inputCoordinate: "+(this.inputCoordinate?this.inputCoordinate.toString():"null")+", outputCoordinate: "+(this.outputCoordinate?this.outputCoordinate.toString():"null")+", fromProjection: "+this.fromProjection+", toProjection: "+this.toProjection}else{a+="errorDescription: "+this.errorDescription}return a}}var IWProjectionType=new function(){this.WGS84="WGS84";this.LCC_EUROPE="LCC_EUROPE";this.MERCATOR="MERCATOR"};function ARouteOptions(){var a=true;this.setShapeEnabled=function(b){if(b==true||b==false){a=b}};this.isShapeEnabled=function(){return a}}function ARoutingClient(a){var c=a;var b=log4javascript.getLogger("ARoutingClient_"+c);this.getRouteType=function(){return c};this.getLogger=function(){return b}}function IWRoute(){var c=null;var b=null;var e=null;var d=new Array();var a=0;var j=0;var g=0;var f=null;var h="";this.setStartAddress=function(k){c=k};this.getStartAddress=function(){return c};this.setDestinationAddress=function(k){b=k};this.getDestinationAddress=function(){return b};this.setInterstationAddresses=function(k){e=k};this.getInterstationAddresses=function(){return e};this.setShape=function(k){h=k};this.getShape=function(){return h};this.setBounds=function(k){f=k};this.getBounds=function(){return f};this.setDrivingTime=function(k){a=k};this.getDrivingTime=function(){return a};this.setFuelConsumption=function(k){j=k};this.getFuelConsumption=function(){return j};this.setRouteLength=function(k){g=k};this.getRouteLength=function(){return g};this.getSegments=function(){return d.length};this.getEntry=function(k){return d[k]};this.addEntry=function(k){d.push(k)};this.toString=function(){return"[IWRoute]"}}function IWRouteEntry(){var f="";var q="";var b=0;var r=0;var a=0;var d=0;var j="";var h="";var k=IWRouteSegment.DC_UNDEFINED;var o=null;var c=0;var g="";var n="";var e="";var m="";this.setType=function(s){f=s};this.getType=function(){return f};this.setStreetType=function(s){q=s};this.getStreetType=function(){return q};this.setEntryDistance=function(s){b=s};this.getEntryDistance=function(){return b};this.setTotalDistance=function(s){r=s};this.getTotalDistance=function(){return r};this.setEntryTime=function(s){a=s};this.getEntryTime=function(){return a};this.setTotalTime=function(s){d=s};this.getTotalTime=function(){return d};this.setSegment=function(s){j=s};this.getSegment=function(){return j};this.setConnector=function(s){h=s};this.getConnector=function(){return h};this.setDirection=function(t){var s=parseInt(t);
k=s};this.getDirection=function(){return k};this.setCoordinate=function(s){o=s};this.getCoordinate=function(){return o};this.setOrientation=function(s){c=s};this.getOrientation=function(){return c};this.setRoundaboutType=function(s){g=s};this.getRoundaboutType=function(){return g};this.setRoundaboutNumber=function(s){n=s};this.getRoundaboutNumber=function(){return n};this.setSignPost=function(s){e=s};this.getSignPost=function(){return e};this.setDescription=function(s){m=s};this.getDescription=function(){return m};this.toString=function(){return"[IWRouteEntry] Type: "+f+", Street type: "+q+", Entry distance: "+b+", Total distance: "+r+", Entry Time: "+a+", Total Time: "+d+", Segment: "+j+", Connector: "+h+", Direction: "+k+", Coordinate: "+o+", Orientation: "+c+", Signpost: "+e+", Description: "+m}}function IWRouteFormatter(f){this.setLanguage=function(k){d=k};this.getLanguage=function(){return d};this.createSummaryAsHTML=function(){var k="";k+="<p>von\u0020<b>"+a(j.getStartAddress())+"</b>\u0020nach\u0020<b>"+a(j.getDestinationAddress())+"</b><br>";k+=g(j.getRouteLength())+"\u0020-\u0020ca.&nbsp;"+h(j.getDrivingTime())+"</p>";return k};this.createImageAsHTML=function(m){var o=0;var k=j.getEntry(m-1);var n=j.getEntry(m);switch(n.getDirection()){case -3:o=-646;break;case -2:o=-432;break;case -1:o=-70;break;case 0:o=-786;break;case 1:o=-140;break;case 2:o=-502;break;case 3:o=-716;break;case 10:o=0;break;case 11:o=-572;break}if(n.getConnector()!=""){if(k.getStreetType()=="highway"){if(n.getStreetType()=="highway"){o=-358}else{o=-284}}else{if(n.getStreetType()=="highway"){o=-210}}}return'<div style="background: transparent url('+iwconst.GLOBAL_APP_URL+"/img/controls/routing/sprite-routing.gif) no-repeat scroll 0 "+o+'px; vertical-align: top; width: 24px; height: 24px;"></div>'};this.createDistanceAsHTML=function(m){var o="";var n=j.getEntry(m);var k=j.getEntry(m+1);if(typeof k!="undefined"){o="<b>"+g(k.getEntryDistance())+"</b>&nbsp;<font size=-2>weiter</font><br>"}o+="<font size=-2>gesamt&nbsp;"+g(n.getTotalDistance())+"</font>";return o};this.createDescriptionAsHTML=function(s){var r="";var o=j.getEntry(s-1);var u=j.getEntry(s);var t=j.getEntry(s+1);if(s==0){r="Sie\u0020starten\u0020<b>"+e(u)+"</b>\u0020auf\u0020<b>"+u.getSegment()+"</b>\u0020Richtung\u0020";if(u.getSignPost()!=""){r+="<b>"+u.getSignPost()+"</b>"}else{r+="<b>"+t.getSegment()+"</b>"}}else{switch(u.getDirection()){case -3:if(t.getStreetType()=="other"){r="Scharf\u0020links\u0020abbiegen";if(u.getSegment()!=""){r+="\u0020auf\u0020<b>"+u.getSegment()+"</b>"}}else{if(t.getStreetType()=="interstate"){r="Scharf\u0020links\u0020abbiegen";if(u.getSegment()!=""){r+="\u0020und\u0020<b>"+u.getSegment()+"</b>\u0020folgen"}}else{if(t.getStreetType()=="highway"){r="Fahren\u0020Sie\u0020scharf\u0020links\u0020auf\u0020<b>"+u.getSegment()+"</b>"}}}break;case -2:if(t.getStreetType()=="other"){r="Links\u0020abbiegen";if(u.getSegment()!=""){r+="\u0020auf\u0020<b>"+u.getSegment()+"</b>"}}else{if(t.getStreetType()=="interstate"){r="Links\u0020abbiegen";if(u.getSegment()!=""){r+="\u0020und\u0020<b>"+u.getSegment()+"</b>\u0020folgen"}}else{if(t.getStreetType()=="highway"){r="Fahren\u0020Sie\u0020links\u0020auf\u0020<b>"+u.getSegment()+"</b>"}}}break;case -1:if(t.getStreetType()=="other"){r="Links\u0020abbiegen";if(u.getSegment()!=""){r+="\u0020auf\u0020<b>"+u.getSegment()+"</b>"}}else{if(t.getStreetType()=="interstate"){r="Links\u0020einbiegen";if(u.getSegment()!=""){r+="\u0020und\u0020<b>"+u.getSegment()+"</b>\u0020folgen"}}else{if(t.getStreetType()=="highway"){r="Fahren\u0020Sie\u0020auf\u0020<b>"+u.getSegment()+"</b>"}}}break;case 0:if(u.getConnector()!=""){if(o.getStreetType()=="highway"&&u.getStreetType()=="highway"){r="Wechseln\u0020Sie\u0020bei\u0020<b>"+u.getConnector()+"</b>\u0020auf\u0020<b>"+u.getSegment()+"</b>"}else{if(o.getStreetType()!="highway"&&u.getStreetType()=="highway"){r="Nehmen\u0020Sie\u0020die\u0020Auffahrt\u0020<b>"+u.getConnector()+"</b>"}else{if(o.getStreetType()!="highway"&&u.getStreetType()!="highway"){r="Fahren\u0020Sie\u0020weiter\u0020zu\u0020<b>"+u.getConnector()+"</b>"
}else{r="Nehmen\u0020Sie\u0020die\u0020Ausfahrt\u0020<b>"+u.getConnector()+"</b>"}}}}else{if(t.getStreetType()=="other"){r="Weiter\u0020auf\u0020<b>"+u.getSegment()+"</b>"}else{if(t.getStreetType()=="interstate"){r="Geradeaus\u0020und\u0020<b>"+u.getSegment()+"</b>\u0020folgen"}else{if(t.getStreetType()=="highway"){r="Geradeaus\u0020auf\u0020<b>"+u.getSegment()+"</b>"}}}}break;case 1:if(u.getConnector()!=""){if(o.getStreetType()=="highway"&&u.getStreetType()=="highway"){r="Wechseln\u0020Sie\u0020bei\u0020<b>"+u.getConnector()+"</b>\u0020auf\u0020<b>"+u.getSegment()+"</b>"}else{if(o.getStreetType()!="highway"&&u.getStreetType()=="highway"){r="Nehmen\u0020Sie\u0020die\u0020Auffahrt\u0020<b>"+u.getConnector()+"</b>"}else{if(o.getStreetType()!="highway"&&u.getStreetType()!="highway"){r="Fahren\u0020Sie\u0020weiter\u0020zu\u0020<b>"+u.getConnector()+"</b>"}else{r="Nehmen\u0020Sie\u0020die\u0020Ausfahrt\u0020<b>"+u.getConnector()+"</b>"}}}}else{if(t.getStreetType()=="other"){r="Rechts\u0020abbiegen";if(u.getSegment()!=""){r+="\u0020auf\u0020<b>"+u.getSegment()+"</b>"}}else{if(t.getStreetType()=="interstate"){r="Rechts\u0020einbiegen";if(u.getSegment()!=""){r+="\u0020und\u0020<b>"+u.getSegment()+"</b>\u0020folgen"}}else{if(t.getStreetType()=="highway"){r="Fahren\u0020Sie\u0020auf\u0020<b>"+u.getSegment()+"</b>"}}}}break;case 2:if(u.getConnector()!=""){if(o.getStreetType()=="highway"&&u.getStreetType()=="highway"){r="Wechseln\u0020Sie\u0020bei\u0020<b>"+u.getConnector()+"</b>\u0020auf\u0020<b>"+u.getSegment()+"</b>"}else{if(o.getStreetType()!="highway"&&u.getStreetType()=="highway"){r="Nehmen\u0020Sie\u0020die\u0020Auffahrt\u0020<b>"+u.getConnector()+"</b>"}else{if(o.getStreetType()!="highway"&&u.getStreetType()!="highway"){r="Fahren\u0020Sie\u0020weiter\u0020zu\u0020<b>"+u.getConnector()+"</b>"}else{r="Nehmen\u0020Sie\u0020die\u0020Ausfahrt\u0020<b>"+u.getConnector()+"</b>"}}}}else{if(t.getStreetType()=="other"){r="Rechts\u0020abbiegen";if(u.getSegment()!=""){r+="\u0020auf\u0020<b>"+u.getSegment()+"</b>"}}else{if(t.getStreetType()=="interstate"){r="Rechts\u0020abbiegen";if(u.getSegment()!=""){r+="\u0020und\u0020<b>"+u.getSegment()+"</b>\u0020folgen"}}else{if(t.getStreetType()=="highway"){r="Fahren\u0020Sie\u0020rechts\u0020auf\u0020<b>"+u.getSegment()+"</b>"}}}}break;case 3:if(u.getConnector()!=""){if(o.getStreetType()=="highway"&&u.getStreetType()=="highway"){r="Wechseln\u0020Sie\u0020bei\u0020<b>"+u.getConnector()+"</b>\u0020auf\u0020<b>"+u.getSegment()+"</b>"}else{if(o.getStreetType()!="highway"&&u.getStreetType()=="highway"){r="Nehmen\u0020Sie\u0020die\u0020Auffahrt\u0020<b>"+u.getConnector()+"</b>"}else{if(o.getStreetType()!="highway"&&u.getStreetType()!="highway"){r="Fahren\u0020Sie\u0020weiter\u0020zu\u0020<b>"+u.getConnector()+"</b>"}else{r="Nehmen\u0020Sie\u0020die\u0020Ausfahrt\u0020<b>"+u.getConnector()+"</b>"}}}}else{if(t.getStreetType()=="other"){r="Scharf\u0020rechts\u0020abbiegen";if(u.getSegment()!=""){r+="\u0020auf\u0020<b>"+u.getSegment()+"</b>"}}else{if(t.getStreetType()=="interstate"){r="Scharf\u0020rechts\u0020abbiegen";if(u.getSegment()!=""){r+="\u0020und\u0020<b>"+u.getSegment()+"</b>\u0020folgen"}}else{if(t.getStreetType()=="highway"){r="Fahren\u0020Sie\u0020scharf\u0020rechts\u0020auf\u0020<b>"+u.getSegment()+"</b>"}}}}break;case 10:var v=null;if(typeof t=="undefined"){v=f.getDestinationAddress()}else{var k=0;for(var q=s-1;q>=0;q--){if(f.getEntry(q).getDirection()==10){k++}}v=f.getInterstationAddresses()[k]}r="Nach\u0020ca.\u0020"+g(u.getEntryDistance())+"\u0020haben\u0020Sie\u0020Ihr\u0020Ziel,\u0020<b>"+a(v)+"</b>\u0020erreicht.";break;case 11:r="Im\u0020Kreisverkehr\u0020<b>"+u.getSegment()+"</b>\u0020die\u0020<b>"+b(u.getRoundaboutNumber())+"</b>\u0020Ausfahrt\u0020nehmen";break}if(u.getDirection()!=10&&u.getSignPost()!=""){r+="\u0020Richtung\u0020<b>"+u.getSignPost()+"</b>"}if(typeof t!="undefined"){var m=h(t.getEntryTime());if(m){r+="<br>Ca.&nbsp;"+m}}}return r};function a(k){var m="";if(k.getStreet()){m+=k.getStreet();
if(k.hasHouseNumber()){m+="&nbsp;"+k.getHouseNumber()}m+=",\u0020"}if(k.getZipCode()){m+=k.getZipCode()+"&nbsp;"}m+=k.getCity();return m}function c(m){var k=m.getDirection();if((k>=337.5&&k<=0)||(k>=0&&k<=22.5)){return 1}else{if(k>=22.5&&k<=67.5){return 2}else{if(k>=67.5&&k<=112.5){return 3}else{if(k>=112.5&&k<=157.5){return 4}else{if(k>=157.5&&k<=202.5){return 5}else{if(k>=202.5&&k<=247.5){return 6}else{if(k>=247.5&&k<=292.5){return 7}else{if(k>=292.5&&k<=337.5){return 8}}}}}}}}}function e(m){var n="";var k=c(m);if(d.toLowerCase()=="de"){switch(k){case 1:n="n&ouml;rdlich";break;case 2:n="nord&ouml;stlich";break;case 3:n="&ouml;stlich";break;case 4:n="s&uuml;d&ouml;stlich";break;case 5:n="s&uuml;dlich";break;case 6:n="s&uuml;dwestlich";break;case 7:n="westlich";break;case 8:n="nordwestlich";break}}return n}function h(q){var o="";var n=Math.round(q/60);var k=Math.floor(n/60);var m=n-(k*60);if(k==1){o="1&nbsp;Stunde"}else{if(k>1){o=k+"&nbsp;Stunden"}}if(n==0){o=""}else{if(n==1){o="1&nbsp;Minute"}else{if(n<60){o=n+"&nbsp;Minuten"}else{o+=",&nbsp;"+m+"&nbsp;Minuten"}}}return o}function g(k){var m="";if(k<100){m=(Math.round(k/10)*10)+"&nbsp;m"}else{m=(Math.round(k/100)/10)+"&nbsp;km"}return m}function b(m){var k="";if(m==1){k="erste"}else{if(m==2){k="zweite"}else{if(m==3){k="dritte"}else{if(m==4){k="vierte"}else{k=m}}}}return k}var d="de";var j=f}function IWRouteOptions(){ARouteOptions.call(this);this.TYPE_SPEED="SPEED";this.TYPE_LENGTH="LENGTH";this.TYPE_ECONOMY="ECONOMY";var b=this.TYPE_SPEED;var c=30;var d=70;var a=130;this.setType=function(e){if(e==this.TYPE_SPEED||e==this.TYPE_LENGTH||e==this.TYPE_ECONOMY){b=e}else{throw"Unkown type: "+e+"."}};this.getType=function(){return b};this.setCitySpeed=function(f){var e=parseInt(f);if(e>0){c=e}else{throw"The average driving speed in cities must be greater than 0."}};this.getCitySpeed=function(){return c};this.setCountryRoadSpeed=function(f){var e=parseInt(f);if(e>0){d=e}else{throw"The average driving speed on country roads must be greater than 0."}};this.getCountryRoadSpeed=function(){return d};this.setHighwaySpeed=function(e){var f=parseInt(e);if(f>0){a=f}else{throw"The average driving speed on highways must be greater than 0."}};this.getHighwaySpeed=function(){return a};this.toString=function(){return"[IWRouteOptions] Routing type: "+b+", Average driving speed in cities: "+c+", Average driving speed on country roads: "+d+", Average driving speed on highways: "+a}}function IWRouteSegment(){var c=null;var e=null;var f=null;var g=null;var d=null;var a=null;var b=null;this.setInstruction=function(h){c=h};this.getInstruction=function(){return c};this.setCoordinate=function(h){e=h};this.getCoordinate=function(){return e};this.setDirection=function(h){var j=parseInt(h);if(j>=0&&j<=12){f=h}else{throw"The direction "+h+" is out of range. The value must be between 0 and 12."}};this.getDirection=function(){return f};this.setLength=function(h){g=h};this.getLength=function(){return g};this.setRouteLength=function(h){a=h};this.getRouteLength=function(){return a};this.setTime=function(h){d=h};this.getTime=function(){return d};this.setRouteTime=function(h){b=h};this.getRouteTime=function(){return b};this.toString=function(){return"[IWRouteSegment] Instruction text: "+c+", Coordinate :"+e.toString()+", Driving direction code: "+f+", Segment Length: "+g+", Segment Driving Time: "+d+", Route Driving Time: "+b+", Route Length: "+a}}IWRouteSegment.DC_UNDEFINED=-1;IWRouteSegment.DC_START=0;IWRouteSegment.DC_DESTINATION=1;IWRouteSegment.DC_STRAIGHTAHEAD=2;IWRouteSegment.DC_HALFRIGHT=3;IWRouteSegment.DC_RIGHT=4;IWRouteSegment.DC_SHARPRIGHT=5;IWRouteSegment.DC_HALFLEFT=6;IWRouteSegment.DC_LEFT=7;IWRouteSegment.DC_SHARPLEFT=8;IWRouteSegment.DC_ROUNDABOUT=9;function IWRoutingClient(){ARoutingClient.call(this,"INFOWARE");var options=new IWRouteOptions();this.setRouteOptions=function(routeOptions){options=routeOptions};this.getRouteOptions=function(){return options};this.route=function(start,destination,interstations){this.getLogger().info("Calling route with "+start+", "+destination+", "+interstations);
var params="";var startCoord,destCoord;if(iwconst.ROUTING_SERVER_PROJECTION=="MERCATOR"){startCoord=start.getDegree().toMercator();destCoord=destination.getDegree().toMercator()}else{startCoord=start.getMeter();destCoord=destination.getMeter()}params=params.concat("&X1=").concat(startCoord.getX());params=params.concat("&Y1=").concat(startCoord.getY());params=params.concat("&X2=").concat(destCoord.getX());params=params.concat("&Y2=").concat(destCoord.getY());if((interstations!=null)&&(typeof interstations!="undefined")){for(var i=0,n=1;i<interstations.length;i++,n++){var interCoord;if(iwconst.ROUTING_SERVER_PROJECTION=="MERCATOR"){interCoord=interstations[i].getDegree().toMercator()}else{interCoord=interstations[i].getMeter()}params=params.concat("&IX").concat(n).concat("=").concat(interCoord.getX());params=params.concat("&IY").concat(n).concat("=").concat(interCoord.getY())}}if(options!=null){params=params.concat("&TYPE=").concat(options.getType());params=params.concat("&SPEED_CI=").concat(options.getCitySpeed());params=params.concat("&SPEED_CO=").concat(options.getCountryRoadSpeed());params=params.concat("&SPEED_HI=").concat(options.getHighwaySpeed());params=params.concat("&SHAPE=").concat(options.isShapeEnabled()?"1":"0")}params=params.concat("&ROUTETYPE=").concat(this.getRouteType());var url=iwconst.LOCAL_APP_URL+"/servlet/FrontController?cmd=route&app=ms&VNR="+IWAccessFilter.getCNR()+"&PNR="+IWAccessFilter.getPNR()+params;var xmlHttp=new IWXMLHttpRequest();xmlHttp.open("GET",iwconst.ROUTINGSERVER_PROXY_URL+"?serverURL="+encodeURIComponent(url),true);xmlHttp.onreadystatechange=function(){routeCallback(this,xmlHttp,start,destination,interstations)}.iwclosure(this);xmlHttp.send(null)};this.toString=function(){return"[IWRoutingClient] "+(options!=null?options.toString():"null")};this.triggerOnRoute=function(event){IWEventManager.trigger(this,"onroute",event)};function routeCallback(self,xmlHttp,start,destination,interstations){if(xmlHttp.readyState==4){if(xmlHttp.statusText=="OK"){if(xmlHttp.responseText.length>0){var json=eval(xmlHttp.responseText);var route=new IWRoute();route.setStartAddress(start);route.setDestinationAddress(destination);route.setInterstationAddresses(interstations);route.setShape(json.route.shape);var coordNW=new IWCoordinate(json.route.boundsNW.split(";")[0],json.route.boundsNW.split(";")[1]);var coordSE=new IWCoordinate(json.route.boundsSE.split(";")[0],json.route.boundsSE.split(";")[1]);route.setBounds(new IWBounds(coordNW,coordSE));route.setDrivingTime(json.route.drivingTime);route.setFuelConsumption(json.route.fuelConsumption);route.setRouteLength(json.route.routeLength*1000);var entries=json.route.entries;for(var i=0;i<entries.length;i++){var e=entries[i];var entry=new IWRouteEntry();entry.setType(e.type);entry.setStreetType(e.streettype);entry.setEntryDistance(parseInt(e.entryDistance));entry.setTotalDistance(parseInt(e.totalDistance));entry.setEntryTime(parseInt(e.entryTime));entry.setTotalTime(parseInt(e.totalTime));entry.setSegment(e.segment);entry.setConnector(e.connector);entry.setDirection(parseInt(e.direction));entry.setCoordinate(new IWCoordinate(e.coordinateX,e.coordinateY));entry.setOrientation(parseInt(e.orientation));entry.setRoundaboutType(e.roundaboutType);entry.setRoundaboutNumber(e.roundaboutNumber);entry.setSignPost(e.signpost);entry.setDescription(e.description);route.addEntry(entry)}}else{alert("IWRoutingClient: Response text is empty.")}}else{if(xmlHttp.status==401){alert("IWRoutingClient: Access denied. ("+xmlHttp.status+") "+xmlHttp.statusText)}else{alert("IWRoutingClient: ("+xmlHttp.status+") "+xmlHttp.statusText)}}}else{throw"Error. ReadyState: "+xmlHttp.readyState+", Status: "+xmlHttp.statusText+", Content-length: "+xmlHttp.responseText.length}var event=new IWRoutingEvent();event.statusCode=xmlHttp.statusText;event.route=route;self.triggerOnRoute(event)}}function IWRoutingEvent(){this.status=null;this.bounds=null;this.shape="";this.route=null;this.parameterObject=null;this.toString=function(){return"[IWRoutingEvent]"
}}function IWBingCulture(){}IWBingCulture.Czech_Czech_Republic="cs-CZ";IWBingCulture.Danish_Denmark="da-DK";IWBingCulture.Dutch_Netherlands="nl-NL";IWBingCulture.English_Australia="en-AU";IWBingCulture.English_Canada="en-CA";IWBingCulture.English_India="en-IN";IWBingCulture.English_United_Kingdom="en-GB";IWBingCulture.English_United_States="en-US";IWBingCulture.Finnish_Finland="fi-FI";IWBingCulture.French_Canada="fr-CA";IWBingCulture.French_France="fr-FR";IWBingCulture.German_Germany="de-DE";IWBingCulture.Italian_Italy="it-IT";IWBingCulture.Japanese_Japan="ja-JP";IWBingCulture.Norwegian_Bokmal_Norway="nb-NO";IWBingCulture.Portuguese_Brazil="Pt-BR";IWBingCulture.Portuguese_Portugal="pt-PT";IWBingCulture.Spanish_Spain="es-ES";IWBingCulture.Spanish_United_States="es-US";IWBingCulture.Swedish_Sweden="sv-SE";function IWBingRouteEntry(){IWRouteEntry.call(this);this.iwRouteEntry=IWRouteEntry;this.iwRouteEntry();this.iwRouteEntry=null;this.iwRouteEntry=this.toString;var e=IWBingRouteSegment.None;var a="";var c="";var b="";var d="";this.setWaypoint=function(f){a=f};this.setAction=function(f){c=f};this.setDirection=function(f){e=f};this.setTurnDir=function(f){b=f};this.setExitNumber=function(f){d=f};this.getWaypoint=function(){return a};this.getAction=function(){return c};this.getDirection=function(){return e};this.getTurnDir=function(){return b};this.getExitNumber=function(){return d};this.toString=function(){var f=this.iwRouteEntry();return f+" Waypoint: "+a+", Action: "+c+", TurnDir: "+b+", ExitNumber: "+d}}function IWBingRouteOptions(){ARouteOptions.call(this);var c=IWBingRouteOptions.TravelMode_Driving;var a=IWBingRouteOptions.RouteOptimization_MinimizeDistance;var b=IWBingRouteOptions.TrafficUsage_None;this.setTravelMode=function(d){c=d};this.getTravelMode=function(){return c};this.setRouteOptimization=function(d){a=d};this.getRouteOptimization=function(){return a};this.setTrafficUsage=function(d){b=d};this.getTrafficUsage=function(){return b};this.toString=function(){return"[IWBingRouteOptions] "}}IWBingRouteOptions.TravelMode_Driving="Driving";IWBingRouteOptions.TravelMode_Walking="Walking";IWBingRouteOptions.RouteOptimization_MinimizeDistance="MinimizeDistance";IWBingRouteOptions.RouteOptimization_MinimizeTime="MinimizeTime";IWBingRouteOptions.TrafficUsage_None="None";IWBingRouteOptions.TrafficUsage_TrafficBasedRouteAndTime="TrafficBasedRouteAndTime";IWBingRouteOptions.TrafficUsage_TrafficBasedTime="TrafficBasedTime";function IWBingRouteSegment(){this.None="None";this.Unknown="Unknown";this.DepartStart="DepartStart";this.DepartIntermediateStop="DepartIntermediateStop";this.DepartIntermediateStopReturning="DepartIntermediateStopReturning";this.ArriveFinish="ArriveFinish";this.ArriveIntermediateStop="ArriveIntermediateStop";this.TurnLeft="TurnLeft";this.TurnRight="TurnRight";this.TurnBack="TurnBack";this.UTurn="UTurn";this.TurnToStayLeft="TurnToStayLeft";this.TurnToStayRight="TurnToStayRight";this.BearLeft="BearLeft";this.BearRight="BearRight";this.KeepToStayLeft="KeepToStayLeft";this.KeepToStayRight="KeepToStayRight";this.KeepToStayStraight="KeepToStayStraight";this.KeepLeft="KeepLeft";this.KeepRight="KeepRight";this.KeepStraight="KeepStraight";this.Take="Take";this.TakeRampLeft="TakeRampLeft";this.TakeRampRight="TakeRampRight";this.TakeRampStraight="TakeRampStraight";this.KeepOnrampLeft="KeepOnrampLeft";this.KeepOnrampRight="KeepOnrampRight";this.KeepOnrampStraight="KeepOnrampStraight";this.Merge="Merge";this.Continue="Continue";this.RoadNameChange="RoadNameChange";this.EnterRoundabout="EnterRoundabout";this.ExitRoundabout="ExitRoundabout";this.TurnRightThenTurnRight="TurnRightThenTurnRight";this.TurnRightThenTurnLeft="TurnRightThenTurnLeft";this.TurnRightThenBearRight="TurnRightThenBearRight";this.TurnRightThenBearLeft="TurnRightThenBearLeft";this.TurnLeftThenTurnLeft="TurnLeftThenTurnLeft";this.TurnLeftThenTurnRight="TurnLeftThenTurnRight";this.TurnLeftThenBearLeft="TurnLeftThenBearLeft";this.TurnLeftThenBearRight="TurnLeftThenBearRight";
this.BearRightThenTurnRight="BearRightThenTurnRight";this.BearRightThenTurnLeft="BearRightThenTurnLeft";this.BearRightThenBearRight="BearRightThenBearRight";this.BearRightThenBearLeft="BearRightThenBearLeft";this.BearLeftThenTurnLeft="BearLeftThenTurnLeft";this.BearLeftThenTurnRight="BearLeftThenTurnRight";this.BearLeftThenBearRight="BearLeftThenBearRight";this.BearLeftThenBearLeft="BearLeftThenBearLeft";this.RampThenHighwayRight="RampThenHighwayRight";this.RampThenHighwayLeft="RampThenHighwayLeft";this.RampToHighwayStraight="RampToHighwayStraight";this.EnterThenExitRoundabout="EnterThenExitRoundabout";this.BearThenMerge="BearThenMerge";this.TurnThenMerge="TurnThenMerge";this.BearThenKeep="BearThenKeep";this.Transfer="Transfer";this.Wait="Wait";this.TakeTransit="TakeTransit";this.Walk="Walk"}function IWBingRoutingClient(){ARoutingClient.call(this,"BING");var applicationID="";var culture=IWBingCulture.German_Germany;var options=new IWBingRouteOptions();this.setApplicationID=function(applicationId){applicationID=applicationId};this.setCulture=function(cultureStr){culture=cultureStr};this.setRouteOptions=function(routeOptions){options=routeOptions};this.getRouteOptions=function(){return options};this.route=function(start,destination,interstations){this.getLogger().info("Calling route with "+start+", "+destination+", "+interstations);var params="";var startCoord,destCoord;if(iwconst.ROUTING_SERVER_PROJECTION=="MERCATOR"){startCoord=start.getDegree().toMercator();destCoord=destination.getDegree().toMercator()}else{startCoord=start.getMeter();destCoord=destination.getMeter()}params=params.concat("&X1=").concat(startCoord.getX());params=params.concat("&Y1=").concat(startCoord.getY());params=params.concat("&X2=").concat(destCoord.getX());params=params.concat("&Y2=").concat(destCoord.getY());if((interstations!=null)&&(typeof interstations!="undefined")){for(var i=0,n=1;i<interstations.length;i++,n++){var interCoord;if(iwconst.ROUTING_SERVER_PROJECTION=="MERCATOR"){interCoord=interstations[i].getDegree().toMercator()}else{interCoord=interstations[i].getMeter()}params=params.concat("&IX").concat(n).concat("=").concat(interCoord.getX());params=params.concat("&IY").concat(n).concat("=").concat(interCoord.getY())}}if(options!=null){params=params.concat("&TRAVELMODE=").concat(options.getTravelMode());params=params.concat("&ROUTEOPTIMIZATION=").concat(options.getRouteOptimization());params=params.concat("&TRAFFICUSAGE=").concat(options.getTrafficUsage());params=params.concat("&SHAPE=").concat(options.isShapeEnabled()?"1":"0")}params=params.concat("&APPLICATIONID=").concat(applicationID);params=params.concat("&CULTURE=").concat(culture);params=params.concat("&ROUTETYPE=").concat(this.getRouteType());var url=iwconst.LOCAL_APP_URL+"/servlet/FrontController?cmd=route&app=ms&VNR="+IWAccessFilter.getCNR()+"&PNR="+IWAccessFilter.getPNR()+params;var xmlHttp=new IWXMLHttpRequest();xmlHttp.open("GET",iwconst.ROUTINGSERVER_PROXY_URL+"?serverURL="+encodeURIComponent(url),true);xmlHttp.onreadystatechange=function(){routeCallback(this,xmlHttp,start,destination,interstations)}.iwclosure(this);xmlHttp.send(null)};this.toString=function(){return"[IWBingRoutingClient] "+(options!=null?options.toString():"null")};this.triggerOnRoute=function(event){IWEventManager.trigger(this,"onroute",event)};function routeCallback(self,xmlHttp,start,destination,interstations){if(xmlHttp.readyState==4){if(xmlHttp.statusText=="OK"){if(xmlHttp.responseText.length>0){var json=eval(xmlHttp.responseText);var route=new IWRoute();route.setStartAddress(start);route.setDestinationAddress(destination);route.setInterstationAddresses(interstations);route.setShape(json.route.shape);var coordNW=new IWCoordinate(json.route.boundsNW.split(";")[0],json.route.boundsNW.split(";")[1]);var coordSE=new IWCoordinate(json.route.boundsSE.split(";")[0],json.route.boundsSE.split(";")[1]);route.setBounds(new IWBounds(coordNW,coordSE));route.setDrivingTime(json.route.drivingTime);route.setFuelConsumption(json.route.fuelConsumption);
route.setRouteLength(json.route.routeLength*1000);var entries=json.route.entries;for(var i=0;i<entries.length;i++){var e=entries[i];var entry=new IWBingRouteEntry();entry.setType(e.type);entry.setStreetType(e.streettype);entry.setEntryDistance(parseInt(e.entryDistance));entry.setTotalDistance(parseInt(e.totalDistance));entry.setEntryTime(parseInt(e.entryTime));entry.setTotalTime(parseInt(e.totalTime));entry.setSegment(e.segment);entry.setConnector(e.connector);entry.setDirection(e.direction);entry.setCoordinate(new IWCoordinate(e.coordinateX,e.coordinateY));entry.setOrientation(e.orientation);entry.setRoundaboutType(e.roundaboutType);entry.setRoundaboutNumber(e.roundaboutNumber);entry.setSignPost(e.signpost);entry.setDescription(e.description);entry.setWaypoint(e.waypoint);entry.setAction(e.action);entry.setTurnDir(e.turnDir);entry.setExitNumber(e.exitNumber);route.addEntry(entry)}}else{alert("IWBingRoutingClient: Response text is empty.")}}else{if(xmlHttp.status==401){alert("IWBingRoutingClient: Access denied. ("+xmlHttp.status+") "+xmlHttp.statusText)}else{alert("IWBingRoutingClient: ("+xmlHttp.status+") "+xmlHttp.statusText)}}}else{throw"Error. ReadyState: "+xmlHttp.readyState+", Status: "+xmlHttp.statusText+", Content-length: "+xmlHttp.responseText.length}var event=new IWRoutingEvent();event.statusCode=xmlHttp.statusText;event.route=route;self.triggerOnRoute(event)}}var IWAccessFilter=new function(){var a=0;var b=0;this.setCNR=function(c){a=parseInt(c)};this.getCNR=function(){return a};this.setVNR=function(c){a=parseInt(c)};this.getVNR=function(){return a};this.setPNR=function(c){b=parseInt(c)};this.getPNR=function(){return b};this.toString=function(){return"[IWAccessFilter] CNR="+a+", PNR="+b}};function IWLayer(a,g,f,c){IWLayerInterface.call(this,g);var j=this;var b=new Array();var h=IWLayer.DRAW_ON_LABELS;this.add=function(k){throw"IWLayer is not allowed to add childnodes."};this.expand=function(k){throw"IWLayer cannot expand childnodes."};this.collapse=function(k){throw"IWLayer cannot collapse childnodes."};this.addLayer=function(k){this.add(k)};this.setLayerName=function(k){f=k};this.getLayerName=function(){return f};this.setLayerTitle=function(k){this.setName(k)};this.getLayerTitle=function(){return this.getName()};this.setUseLabelsOrTilesForDrawing=function(m){var k=parseInt(m);if(k!=IWLayer.DRAW_ON_TILES&&k!=IWLayer.DRAW_ON_LABELS){throw"Invalid parameter value: "+k}h=k};this.getUseLabelsOrTilesForDrawing=function(){return h};this.getCurrentShapeName=function(m){for(var k=0;k<b.length;k++){if(b[k].getRange().contains(m)){return b[k].getShapeName()}}return null};this.setVisibility=function(k){iw.strict([Boolean],arguments);this.setUseDefaults(false);if(this.isMarked()!=k){if(k){this.mark()}else{this.unmark()}e(this.getParent())}};this.setIdfLayerName=function(k){c=k};this.getIdfLayerName=function(){return c};this.addShape=function(k){this.removeShape(k.getShapeName());b.push(k);var m=a.getZoom();if(m!=null){d(m)}};this.removeShape=function(m){iw.strict([String],arguments);for(var k=0;k<b.length;k++){if(b[k].getShapeName()==m){b.splice(k,1);var n=a.getZoom();if(n!=null){d(n)}return true}}return false};this.getShapes=function(){return b};this.isVisible=function(){return this.isMarked()};this.toString=function(){return"[IWLayer] layertitle: "+this.getName()+", layername: "+f+", idfLayerName: "+c+", shapes: "+b};this.triggerOnRemove=function(){IWEventManager.trigger(this,"onremove",null)};function d(k){if(j.useDefaults()){if(j.getCurrentShapeName(k)==null){j.unmark()}else{j.mark()}e(j.getParent())}}function e(o){if(o==null){return}var m=o.getChildren();var n=false;for(var k=0;k<m.length;k++){if(m[k].isMarked()){n=true;break}}if(!o.isMarked()&&n){o.mark();e(o.getParent())}else{if(o.isMarked()&&!n){o.unmark();e(o.getParent())}}}if(typeof g!="string"){throw"IWLayer: layerTitle has to be specified"}if(typeof f!="string"){throw"IWLayer: layerName has to be specified"}if(typeof c=="undefined"){c=f}IWEventManager.addListener(a,"onzoom",function(k){d(k.newZoomLevel)
});IWEventManager.addListener(a,"oncenter",function(){d(a.getZoom())})}IWLayer.DRAW_ON_TILES=1;IWLayer.DRAW_ON_LABELS=2;function IWLayerGroup(a){IWLayerInterface.call(this,a);this.getGroupName=function(){return this.getName()};this.setGroupName=function(b){iw.strict([String],arguments);this.setName(b)};this.isVisible=function(){return this.isMarked()};this.addLayer=function(b){this.add(b);if(!this.isMarked()&&b.isMarked()){this.mark()}};this.removeLayer=function(c){this.remove(c);c.triggerOnRemove();if(this.isMarked()&&c.isMarked()){var d=false;for(var b=0;b<this.getChildren().length;b++){if(this.getChildren()[b].isMarked()){d=true;break}}if(!d){this.unmark()}}};this.removeLayerByName=function(b){var d=null;for(var c=0;c<this.getChildren().length;c++){if(this.getChildren()[c].getName()==b){d=this.getChildren()[c];break}}if(d==null){throw"IWLayerGroup.removeLayerByName: Layer(Group) '"+b+"' not found!"}this.removeLayer(d);return d};this.triggerOnRemove=function(){for(var b=0;b<this.getChildren().length;b++){this.getChildren()[b].triggerOnRemove()}};this.toString=function(){return"[IWLayerGroup] groupName: "+this.getName()+", isVisible: "+this.isVisible()+", useDefaults: "+this.useDefaults()+", hasChildren: "+this.hasChildren()};if(typeof a!="string"){throw"IWLayerGroup: groupName has to be specified"}}function IWLayerInfoEvent(){this.requestedId=null;this.requestedEvent=null;this.json=null;this.mouseCoordinate=null;this.records=0;this.toString=function(){return"[IWLayerInfoEvent] requestedId: "+this.requestedId+", requestedEvent: "+this.requestedEvent+", json: "+this.json+", mouseCoordinate: "+this.mouseCoordinate+", records: "+this.records}}function IWLayerInfoManager(map){var self=this;var requestLayers=new Array();var eventListeners=new Object();var captureSize=new IWSize(35,35);var captureOffset=new IWPoint(0,0);var requestIdCounter=0;var maxHits=100;var logger=log4javascript.getLogger("IWLayerInfoManager");this.setMaximumHits=function(newMaxHits){logger.info("Calling setMaximumHits with "+newMaxHits);if(newMaxHits==null){maxHits=null}else{var intValue=parseInt(maxHits);if(intValue<0){throw ("Invalid value for maxHits: "+intValue)}maxHits=intValue}};this.getMaximumHits=function(){return maxHits};this.setCaptureSize=function(newCaptureSize){logger.info("Calling setCaptureSize with "+newCaptureSize);iw.strict([IWSize],arguments);captureSize=newCaptureSize};this.getCaptureSize=function(){return captureSize};this.setCaptureOffset=function(offset){captureOffset=offset};this.getCaptureOffset=function(){return captureOffset};this.addRequestLayer=function(requestLayer){logger.info("Calling addRequestLayer with "+requestLayer);iw.strict([IWRequestLayer],arguments);for(var i=0;i<requestLayers.length;i++){if(requestLayers[i]==requestLayer){return false}}requestLayers.push(requestLayer);var newEvents=requestLayer.getEvents();for(var eventName in newEvents){addEvent(eventName)}requestLayer.onRegisterListener=IWEventManager.addListener(requestLayer,"onregister",function(e){addEvent(e.eventName)});requestLayer.onUnregisterListener=IWEventManager.addListener(requestLayer,"onunregister",function(e){removeEvent(e.eventName)});return true};this.removeRequestLayer=function(requestLayer){logger.info("Calling removeRequestLayer with "+requestLayer);iw.strict([IWRequestLayer],arguments);var layerIndex=null;for(var i=0;i<requestLayers.length;i++){if(requestLayers[i]==requestLayer){layerIndex=i;break}}if(layerIndex==null){return false}IWEventManager.removeListener(requestLayer.onRegisterListener);IWEventManager.removeListener(requestLayer.onUnregisterListener);var oldEvents=requestLayer.getEvents();for(var eventName in oldEvents){removeEvent(eventName)}requestLayers.splice(layerIndex,1);return true};this.triggerOnDataReceive=function(event){IWEventManager.trigger(this,"ondatareceive",event)};this.toString=function(){return"[IWLayerInfoManager] capture size: "+captureSize.toString()};function addEvent(eventName){if(eventListeners[eventName]==null){eventListeners[eventName]=new Array();
eventListeners[eventName].push(1);var listener=IWEventManager.addListener(map,eventName,function(e){sendServerRequest(e,eventName)});eventListeners[eventName].push(listener)}else{eventListeners[eventName][0]++}}function removeEvent(eventName){if(eventListeners[eventName]==null){throw"IWLayerInfoManager: Event not found: "+eventName}else{if(eventListeners[eventName][0]==1){IWEventManager.removeListener(eventListeners[eventName][1]);eventListeners[eventName]=null}else{eventListeners[eventName][0]--}}}function sendServerRequest(event,eventName){logger.debug("Calling sendServerRequest with "+event+", "+eventName);var layernames="";var idfIndex=1;for(var i=0;i<requestLayers.length;i++){var requestLayer=requestLayers[i];var layer=requestLayer.getLayer();if(requestLayer.getEvents()[eventName]&&layer.isVisible()){var shapeName=layer.getCurrentShapeName(map.getZoom());if(shapeName!=null){layernames+=idfIndex+","+layer.getIdfLayerName()+","+layer.getLayerName()+","+shapeName;var maximumHits=requestLayer.getMaximumHits();if(maximumHits!=null){layernames+=","+maximumHits}layernames+=";";idfIndex++}}else{}}if(layernames!=""){var maptype=map.getCurrentMapType();var projection=maptype.getProjection();var sizePixel=map.getOptions().getSize();var center=map.getCenter();var captureRadius=Math.max(captureSize.getWidth(),captureSize.getHeight());var captureOffsetX=captureOffset.getX();var captureOffsetY=captureOffset.getY();var mousePixelWithOffset=new IWPoint(event.position.getX()+captureOffsetX,event.position.getY()+captureOffsetY);var dxPixel=captureSize.getWidth();var dyPixel=captureSize.getHeight();var point1=new IWPoint(parseInt(mousePixelWithOffset.getX()-dxPixel/2),parseInt(mousePixelWithOffset.getY()-dyPixel/2));var coord1=projection.pixelToMeter(point1);var coord2=projection.pixelToMeter(new IWPoint(point1.getX()+dxPixel,point1.getY()+dyPixel));var dxMeter=Math.abs(Math.ceil(coord2.getX()-coord1.getX()));var dyMeter=Math.abs(Math.ceil(coord2.getY()-coord1.getY()));var mouseCoordinate=projection.pixelToMeter(mousePixelWithOffset);var url=iwconst.LOCAL_APP_URL+"servlet/FrontController?cmd=getIdentifyInfo&VNR="+IWAccessFilter.getCNR()+"&PNR="+IWAccessFilter.getPNR()+"&app=ms&mapcx="+mouseCoordinate.getX()+"&mapcy="+mouseCoordinate.getY()+"&mapdx="+dxMeter+"&mapdy="+dyMeter+"&width="+dxPixel+"&captureOffsetX="+captureOffsetX+"&captureOffsetY="+captureOffsetY+"&height="+dyPixel+"&projc="+maptype.getTilesServerConfig().getProjection()+"&borderpolygon=yes&maxidentifyobjects="+maxHits+"&layers="+encodeURIComponent(layernames)+"&zoom="+map.getZoom()+"&maptype="+encodeURIComponent(map.getCurrentMapType().getName());var proxyURL=iwconst.GLOBAL_PROXY_URL+"?serverURL="+encodeURIComponent(url);var method="GET";if(proxyURL.length>2000){method="POST"}var mouseCoordinate=projection.pixelToMeter(event.position);var xmlHttp=new IWXMLHttpRequest();xmlHttp.open(method,proxyURL,true);xmlHttp.onreadystatechange=function(){callbackSendServerRequest(xmlHttp,eventName,mouseCoordinate)}.iwclosure(self);xmlHttp.send(null)}}function callbackSendServerRequest(xmlHttp,eventName,mouseCoordinate){logger.debug("Calling callbackSendServerRequest.");var json=null;if(xmlHttp.readyState==4){if(xmlHttp.statusText=="OK"){if(xmlHttp.responseText.length>0){json=eval(xmlHttp.responseText)}else{if(console&&console.log){console.log("IWLayerInfoManager: Response text is empty.");for(var p in xmlHttp){console.log(p+": "+xmlHttp[p])}}}}else{if(xmlHttp.status==401){alert(xmlHttp.statusText)}}}else{alert("GetIdentifyInfo failed: "+xmlHttp.statusText)}requestIdCounter++;var records=0;for(var layerData in json){records+=json[layerData].meta.records}var infoManagerEvent=new IWLayerInfoEvent();infoManagerEvent.requestId=requestIdCounter;infoManagerEvent.mouseCoordinate=mouseCoordinate;infoManagerEvent.requestedEvent=eventName;infoManagerEvent.json=json;infoManagerEvent.test=xmlHttp.responseText;infoManagerEvent.records=records;self.triggerOnDataReceive(infoManagerEvent);var dataEvent=new IWLayerInfoEvent();
dataEvent.requestedEvent=eventName;dataEvent.mouseCoordinate=mouseCoordinate;for(var i=0;i<requestLayers.length;i++){if(requestLayers[i].getEvents()[eventName]&&requestLayers[i].getLayer().isVisible()){var layer=requestLayers[i].getLayer();if(json[layer.getIdfLayerName()]){var jsonLayer=json[layer.getIdfLayerName()];dataEvent.json=jsonLayer.recordset;dataEvent.requestId=requestIdCounter;dataEvent.records=jsonLayer.meta.records;requestLayers[i].triggerOnDataReceive(dataEvent)}}}}}function IWLayerInterface(b){IWNodeElement.call(this,b);var a=true;this.isVisible=function(){throw"Function isVisible is not implemented!"};this.setUseDefaults=function(c){a=c};this.useDefaults=function(){return a};this.setVisible=function(f){iw.strict([Boolean],arguments);var e=this;if(f){while(e){e.setUseDefaults(false);e.mark();e=e.getParent()}}else{e.setUseDefaults(false);e.unmark();var d=false;e=e.getParent();while(e){if(!d){for(var c=0;c<e.getChildren().length;c++){if(e.getChildren()[c].isMarked()){d=true;e.setUseDefaults(false);e.mark();break}}if(!d){e.setUseDefaults(false);e.unmark()}}else{break}e=e.getParent()}}if(this.hasChildren()){for(var c=0;c<this.getChildren().length;c++){this.getChildren()[c].setVisible(f)}}}}function IWRequestLayer(b){var c=5;var a=new Object();this.setMaximumHits=function(d){if(d==null){c=null}else{var e=parseInt(d);if(e<0){throw ("Invalid value for maxHits: "+e)}c=e}};this.getMaximumHits=function(){return c};this.registerEvent=function(d){iw.strict([String],arguments);if(a[d]==null){a[d]=true;var e=new IWRequestLayerEvent();e.eventName=d;this.triggerOnRegister(e);return true}return false};this.unregisterEvent=function(d){iw.strict([String],arguments);if(a[d]!=null){a[d]=null;var e=new IWRequestLayerEvent();e.eventName=d;this.triggerOnUnregister(e);return true}return false};this.getEvents=function(){return a};this.getLayer=function(){return b};this.triggerOnRegister=function(d){iw.strict([IWRequestLayerEvent],arguments);IWEventManager.trigger(this,"onregister",d)};this.triggerOnUnregister=function(d){iw.strict([IWRequestLayerEvent],arguments);IWEventManager.trigger(this,"onunregister",d)};this.triggerOnDataReceive=function(d){IWEventManager.trigger(this,"ondatareceive",d)}}function IWRequestLayerEvent(){this.eventName=null;this.toString=function(){return"[IWRequestLayerEvent] eventName: "+this.eventName}}function IWShape(b,a){if(a==null||typeof a=="undefined"){a=new IWRange(0,100)}this.setShapeName=function(c){b=c};this.getShapeName=function(){return b};this.setRange=function(c){a=c};this.getRange=function(){return a};this.toString=function(){return"[IWShape] shapeName: "+b+", range: "+a}}function IWShapeCreateEvent(){this.statuscode="";this.errordesc="";this.shapename="";this.bounds=null;this.toString=function(){return"[IWShapeCreateEvent] Statuscode: "+(this.statuscode==null?"null":this.statuscode)+", ErrorDesc: "+(this.errordesc==null?"null":this.errordesc)+", Shapename: "+(this.shapename==null?"null":this.shapename)}}function IWShapeService(){this.createFromKml=function(b){var d=iwconst.LOCAL_APP_URL+"/servlet/FrontController?cmd=createShape&app=ms&VNR="+IWAccessFilter.getCNR()+"&PNR="+IWAccessFilter.getPNR()+"&kmlfile="+encodeURIComponent(b);var c=new IWXMLHttpRequest();c.open("GET",iwconst.SHAPESERVER_PROXY_URL+"?serverURL="+encodeURIComponent(d),true);c.onreadystatechange=function(){a(this,c)}.iwclosure(this);c.send(null)};this.toString=function(){return"[IWShapeService]"};this.triggerOnCreate=function(b){IWEventManager.trigger(this,"oncreate",b)};function a(d,c){if(c.readyState==4){if(c.statusText=="OK"){if(c.responseText.length>0){var b=IWXMLHelper.parse(c.responseText).documentElement;var f=new IWShapeCreateEvent();f.statuscode=IWXMLHelper.getNodeValue(b.getElementsByTagName("status")[0]);if(f.statuscode=="ERROR"){f.errordesc=IWXMLHelper.getNodeValue(b.getElementsByTagName("errdesc")[0])}else{if(f.statuscode=="OK"){f.shapename=IWXMLHelper.getNodeValue(b.getElementsByTagName("shapename")[0]);var g=IWXMLHelper.getNodeValue(b.getElementsByTagName("coordNW")[0]).split(",");
var e=IWXMLHelper.getNodeValue(b.getElementsByTagName("coordSE")[0]).split(",");f.bounds=new IWBounds(new IWCoordinate(g[0],g[1]),new IWCoordinate(e[0],e[1]))}else{throw ("Undefined statuscode: "+f.statuscode)}}}else{alert("IWShapeService: Response text is empty.")}}else{if(c.status==401){alert(c.statusText)}else{alert("Shape service failed: "+c.statusText)}}d.triggerOnCreate(f)}}}var IWBrowser=new function(){this.isInternetExplorer=function(){return((document.all)&&(window.offscreenBuffering))?true:false};this.isNetscape=function(){return((document.captureEvents)&&(!document.getElementById))?true:false};this.isMozilla=function(){return((document.getElementById)&&(!document.all)&&(document.documentElement))?true:false};this.isOpera=function(){return window.opera?true:false}};var IWBrowserDetect={isWebGlAvailable:function(){var a=document.createElement("canvas");if(a){var c;try{c=a.getContext("experimental-webgl")}catch(b){}if(!c){try{c=a.getContext("webkit-3d")}catch(b){}}if(!c){try{c=a.getContext("moz-webgl")}catch(b){}}if(c){c=null;a=null;return true}else{a=null;return false}}return false},init:function(){this.browser=this.searchString(this.dataBrowser)||"An unknown browser";this.version=this.searchVersion(navigator.userAgent)||this.searchVersion(navigator.appVersion)||"an unknown version";this.OS=this.searchString(this.dataOS)||"an unknown OS"},searchString:function(d){for(var a=0;a<d.length;a++){var b=d[a].string;var c=d[a].prop;this.versionSearchString=d[a].versionSearch||d[a].identity;if(b){if(b.indexOf(d[a].subString)!=-1){return d[a].identity}}else{if(c){return d[a].identity}}}},searchVersion:function(b){var a=b.indexOf(this.versionSearchString);if(a==-1){return}return parseFloat(b.substring(a+this.versionSearchString.length+1))},dataBrowser:[{string:navigator.userAgent,subString:"OmniWeb",versionSearch:"OmniWeb/",identity:"OmniWeb"},{string:navigator.vendor,subString:"Apple",identity:"Safari"},{prop:window.opera,identity:"Opera"},{string:navigator.vendor,subString:"iCab",identity:"iCab"},{string:navigator.vendor,subString:"KDE",identity:"Konqueror"},{string:navigator.userAgent,subString:"Firefox",identity:"Firefox"},{string:navigator.vendor,subString:"Camino",identity:"Camino"},{string:navigator.userAgent,subString:"Netscape",identity:"Netscape"},{string:navigator.userAgent,subString:"MSIE",identity:"Explorer",versionSearch:"MSIE"},{string:navigator.userAgent,subString:"Gecko",identity:"Mozilla",versionSearch:"rv"},{string:navigator.userAgent,subString:"Mozilla",identity:"Netscape",versionSearch:"Mozilla"}],dataOS:[{string:navigator.platform,subString:"Win",identity:"Windows"},{string:navigator.platform,subString:"Mac",identity:"Mac"},{string:navigator.platform,subString:"Linux",identity:"Linux"}]};IWBrowserDetect.init();var IWDOMHelper=new function(){this.getSize=function(node,targetNode){var width=parseInt(cssValue(node,"width"));var height=parseInt(cssValue(node,"height"));if(width==0){width=parseInt(node.style.width)}if(height==0){height=parseInt(node.style.height)}if(isNaN(width)){width=node.offsetWidth}if(isNaN(height)){height=node.offsetHeight}if(isNaN(width)||width==0||isNaN(height)||height==0){var position=node.style.position;var parentNode=node.parentNode;var visibility=node.style.visibility;node.style.position="absolute";node.style.visibility="hidden";if(targetNode!=null&&typeof targetNode!="undefined"&&targetNode.parentNode!=null){iw.append(targetNode,node)}else{var list=iw.hasClass("iwmapcss","div");if(list.length>0){iw.append(list[0],node)}else{iw.append(document.body,node)}}if(isNaN(width)||width==0){width=node.offsetWidth+5}if(isNaN(height)||height==0){height=node.offsetHeight+5}iw.remove(node);node.style.position=position;node.style.visibility=visibility;if(parentNode){iw.append(parentNode,node)}}return new IWSize(width,height)};this.fixPng=function(image,force){
/*@cc_on
		if (@_jscript_version==5.6 || (@_jscript_version==5.7 && navigator.userAgent.toLowerCase().indexOf("msie 6.") != -1))
		{
			try
			{
				if (image && image.nodeName == 'IMG')
				{
					if (image.src.match(/\.png/i) || force)
					{
						if (!image.style.width && image.width)
							image.style.width = image.width + 'px';
						if (!image.style.height && image.height)
							image.style.height = image.height + 'px';
						image.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src=" + image.src + ", sizingmethod=scale)";
						image.src = iwconst.GLOBAL_APP_URL + 'img/symbols/blank.gif';
					}
				}
				else if (image && image.currentStyle.backgroundImage)
				{
					var imgName = image.currentStyle.backgroundImage;
					imgName = imgName.substring(5, imgName.length - 2);
					
					if (imgName.match(/\.png/i))
					{
						image.style.filter = 'progid:DXImageTransform.Microsoft.AlphaImageLoader(src="' + imgName + '", sizingmethod="scale")';
						image.style.backgroundImage = 'url("' + iwconst.GLOBAL_APP_URL + '/img/symbols/blank.gif")';
					}
				}
			}
			catch (e) {}
		}
		@*/
};
function cssValue(node,cssAttribute){if(window.getComputedStyle){return window.getComputedStyle(node,null)[cssAttribute]}else{if(node.currentStyle){return node.currentStyle[cssAttribute]}else{return null}}}};function IWDistanceFormatter(c){var d=0;var b="m";this.getDistance=function(){return d};this.getUnit=function(){return b};this.getMeter=function(){return c};function a(e){if(e>=1000000){d=Math.round(e/1000);b="km"}else{if(e>=10000){d=Math.round(e/10)/100;b="km"}else{d=Math.round(e);b="m"}}}a(c)}var IWMiscUtils=new function(){this.getOptions=function(a,d){if(!d||typeof d!="object"){return a}var b={};for(option in a){if(typeof a[option]==typeof d[option]){b[option]=d[option]}else{if(typeof a[option]=="number"&&typeof d[option]=="string"){var c=parseInt(d[option]);b[option]=isNaN(c)?a[option]:c}else{b[option]=a[option]}}}return b};this.objectToJson=function(b){var a="";for(var c in b){a+='"'+c+'":'+b[c]+","}if(a.length>0){a=a.substring(0,a.length-1)}return"{"+a+"}"}}();var IWProjectionUtils=new function(){var a=6371007.1810824;var d=1.006739596;this.millerToWgs84=function(m){var g=m.getX();var k=m.getY();var j=g/a;var h=2*(Math.atan(Math.exp(k/(a*1.25)))-Math.PI/4)/0.8;h=Math.atan(Math.tan(h)*d);j*=180;j/=Math.PI;h*=180;h/=Math.PI;return new IWCoordinate(j,h)};this.wgs84ToMiller=function(m){var j=m.getX();var h=m.getY();j/=180;j*=Math.PI;h/=180;h*=Math.PI;h=Math.atan(Math.tan(h)/d);var g=j*a;var k=1.25*Math.log(Math.tan(Math.PI/4+0.8*h/2))*a;return new IWCoordinate(g,k)};this.wgs84ToMercator=function(g){};function f(g){var k=g.Latitude;var m=g.Longitude;if(k<=-80){if(m<0){return"A"}else{return"B"}}else{if(k>=80){if(m<0){return"Y"}else{return"Z"}}else{var h=new Array("C","D","E","F","G","H","J","K","L","M","N","P","Q","R","S","T","U","V","W","X");var j=Math.floor((k+80)/8);return h[j]}}}function e(j,M,L){var m=DegtoRad(j.Latitude);var h=DegtoRad(j.Longitude);var y=f(j);var g=31+Math.floor(j.Longitude/6);var H=6*g-183;var I=(j.Longitude-H)*3600/10000;if(M<6300000){M*=1000}if(L<6300000){L*=1000}var r=0.9996;var O=Math.sqrt(1-(L*L/M/M));var o=O*O/(1-O*O);var J=(M-L)/(M+L);var N=Math.PI/(180*3600);var G=M*(1-J+(5*J*J/4)*(1-J)+(81*Math.pow(J,4)/64)*(1-J));var F=(3*M*J/2)*(1-J-(7*J*J/8)*(1-J)+55*Math.pow(J,4)/64);var z=(15*M*J*J/16)*(1-J+(3*J*J/4)*(1-J));var x=(35*M*Math.pow(J,3)/48)*(1-J+11*J*J/16);var w=(315*M*Math.pow(J,4)/51)*(1-J);var Q=M/Math.sqrt(1-Math.pow(O*Math.sin(m),2));var k=G*m-F*Math.sin(2*m)+z*Math.sin(4*m)-x*Math.sin(6*m)+w*Math.sin(8*m);var v=k*r;var u=Q*Math.sin(m)*Math.cos(m)*N*N*r*(100000000)/2;var t=((Math.pow(N,4)*Q*Math.sin(m)*Math.pow(Math.cos(m),3))/24)*(5-Math.pow(Math.tan(m),2)+9*o*Math.pow(Math.cos(m),2)+4*o*o*Math.pow(Math.cos(m),4))*r*(10000000000000000);var s=Q*Math.cos(m)*N*r*10000;var q=Math.pow(N*Math.cos(m),3)*(Q/6)*(1-Math.pow(Math.tan(m),2)+o*Math.pow(Math.cos(m),2))*r*(1000000000000);var K=v+u*I*I+t*Math.pow(I,4);if(K<0){K+=10000000}var P=500000+(s*I+q*Math.pow(I,3));return{LongitudeZone:g,LatitudeZone:y,Easting:P,Northing:K}}function c(h){var g=new Array("C","D","E","F","G","H","J","K","L","M","N","P","Q","R","S","T","U","V","W","X");var j=g.indexOf(h);if(j<0){if(h=="A"|h=="B"){return"S"}else{return"N"}}if(j>10){return"N"}return"S"}function b(P,K,I){if(P.constructor==String){var J=P.match(/([0-9]{1,2})([a-zA-Z])\s*([0-9]{1,7})[\s]+([0-9]{1,7})/);P={LongitudeZone:J[1],LatitudeZone:J[2],Easting:J[3],Northing:J[4]}}if(K<6300000){K*=1000}if(I<6300000){I*=1000}var u=0.9996;var N=Math.sqrt(1-Math.pow((I/K),2));var r=N*N/(1-N*N);var s=(1-Math.sqrt(1-N*N))/(1+Math.sqrt(1-N*N));var M=Math.PI/(180*3600);var k=3*s/2-27*s*s*s/32;var j=21*s*s/16-55*Math.pow(s,4)/32;var h=151*Math.pow(s,3)/96;var g=1097*Math.pow(s,4)/512;var t=500000-P.Easting;var n=P.Northing/u;var G=n/(K*(1-N*N/4-3*Math.pow(N,4)/64-5*Math.pow(N,6)/256));var F=G+k*Math.sin(2*G)+j*Math.sin(4*G)+h*Math.sin(6*G)+g*Math.sin(8*G);var L=r*Math.pow(Math.cos(F),2);var E=Math.pow(Math.tan(F),2);var A=K/Math.sqrt(1-Math.pow(N*Math.sin(F),2));var O=K*(1-N*N)/Math.pow(Math.sqrt(1-Math.pow(N*Math.sin(F),2)),3);
var C=t/(A*u);var B=A*Math.tan(F)/O;var z=C*C/2;var y=(5+3*E+10*L-4*L*L-9*r)*Math.pow(C,4)/24;var x=(61+90*E+298*L+45*E*E-252*r-3*L*L)*Math.pow(C,6)/720;var w=(1+2*E+L)*C*C*C/6;var v=(5-2*L+28*E-3*L^2+8*r+24*E^2)*Math.pow(C,5)/120;var H=(C-w+v)/Math.cos(F);var o=6*P.LongitudeZone-183;var q=(F-B*(z+y+x))*180/Math.PI;if(c(P.LatitudeZone)=="S"){q*=-1}var m=o-H*180/Math.PI;return new VELatLong(q,m)}};var IWRequestFormatter=new function(){this.getLayerParameter=function(f,g,d){var e="";if(typeof d=="undefined"){d=IWLayer.DRAW_ON_LABELS}for(var c=0;c<g.length;c++){var b=g[c];if(b.constructor==IWLayerGroup){e=e+this.getLayerParameter(f,b.getChildren(),d)}else{if(b.constructor==IWLayer){if(b.getUseLabelsOrTilesForDrawing()==d){if(b.getLayerName()!=null&&b.getLayerName()!=""&&b.isVisible()){var a=b.getCurrentShapeName(f);if(a!=null){e=e+"&layer"+b.getLayerName()+"="+encodeURIComponent(b.getCurrentShapeName(f))}}}}}}return e}};var IWVEUtils=new function(){var d=log4javascript.getLogger("IWVEUtils");function f(k,h,j){return Math.min(Math.max(k,h),j)}this.latLongToPixelXY=function(n,j){var h=(n.getX()+180)/360;var m=Math.sin(n.getY()*Math.PI/180);var o=0.5-Math.log((1+m)/(1-m))/(4*Math.PI);var k=this.getMapSize(j);return{x:parseInt(h*k),y:parseInt(o*k)}};this.tileToQuadKey=function(h,n){var o="";for(var m=n+1;m>0;m--){var k=1<<(m-1);var j=0;if((h.getX()&k)!=0){j++}if((h.getY()&k)!=0){j+=2}o+=j}return o};this.tileToQuadKeyXY=function(h,q,n){var o="";for(var m=n+1;m>0;m--){var k=1<<(m-1);var j=0;if((h&k)!=0){j++}if((q&k)!=0){j+=2}o+=j}return o};this.getMapSize=function(h){return 256<<(1+h)};this.pixelToTile=function(h){var k=Math.floor(h.getX()/256);var j=Math.floor(h.getY()/256);return new IWPoint(k,j)};this.pixelToTileXY=function(j,h){return{x:Math.floor(j/256),y:Math.floor(h/256)}};this.relativePixelToAbsoluteXY=function(h,n,m){var r=h.getCenter().toWGS84();var k=this.latLongToPixelXY(r,h.getZoom());var v=k.x;var u=k.y;if(v<0){v=this.getMapSize(h.getZoom())+v}if(u<0){u=this.getMapSize(h.getZoom())+u}var j=h.getOptions().getSize();var t=(j.getWidth()/2);var s=(j.getHeight()/2);var q=v-t+n;var o=u-s+m;if(q<0){q=this.getMapSize(h.getZoom())+q}if(o<0){o=this.getMapSize(h.getZoom())+o}return{x:parseInt(q),y:parseInt(o)}};var e=6378137;var b=-85.05112878;var a=85.05112878;var c=-180;var g=180;this.groundResolution=function(j,h){j=f(j,b,a);return Math.cos(j*Math.PI/180)*2*Math.PI*e/this.getMapSize(h)};this.absolutePixelToLatLon=function(n,k,j){var r=this.getMapSize(n.getZoom());var h=(f(k,0,r-1)/r)-0.5;var q=0.5-(f(j,0,r-1)/r);var o=90-360*Math.atan(Math.exp(-q*2*Math.PI))/Math.PI;var m=360*h;return{x:m,y:o}};this.pixelToLatLon=function(m,k,j){var h=this.relativePixelToAbsoluteXY(m,k,j);return this.absolutePixelToLatLon(m,h.x,h.y)}};var IWXMLHelper=new function(){this.parse=function(f){var d=null;if(document.implementation&&document.implementation.createDocument){var h=new DOMParser();try{d=h.parseFromString(f,"text/xml")}catch(c){}}else{if(window.ActiveXObject){d=new ActiveXObject("Microsoft.XMLDOM");d.async="false";if(f&&f.length>0){d.loadXML(f)}}else{if(document.implementation&&document.implementation.createLSParser){var g=document.implementation.MODE_SYNCHRONOUS;var a="http://www.w3.org/TR/REC-xml";var h=document.implementation.createLSParser(g,a);var b=document.implementation.createLSInput();b.stringData=sXMLString;d=h.parse(b)}else{throw ("Your browser can't handle this script")}}}return d};this.getNodeValue=function(a){if(typeof a!="undefined"&&a!=null){if(a.childNodes&&a.childNodes[0]!=null){return a.childNodes[0].nodeValue}}return null};this.getFloatAttribute=function(c,a){var b=c.getAttribute(a);if(b){var d=parseFloat(b);if(!isNaN(d)){return d}else{throw"Attribute is not a number"}}else{throw"Attribute not found"}}};function IWGraphics(drawContainer){var svg_support=!!window.devicePixelRatio||(typeof SVGAngle=="object"||(document&&document.implementation&&document.implementation.hasFeature("org.w3c.dom.svg","1.0")));
/*@cc_on @*/
/*@if (@_jscript_version >= 5.5)
	var vml_support = true; 
	@else @*/
var vml_support=false;
/*@end @*/
var renderer=null;if(svg_support){renderer=new IWSVGRenderer(drawContainer)}else{if(vml_support){renderer=new IWVMLRenderer(drawContainer)}else{alert("Sorry, your Browser cannot show vector graphics!")}}return renderer}function IWGraphicsRenderer(a){this.getContainer=function(){return a};this.removeElement=function(b){b.parentNode.removeChild(b)};this.moveToTop=function(b){b.parentNode.appendChild(b)};this.moveToBottom=function(b){b.parentNode.insertBefore(b,b.parentNode.firstChild)};this.clearContainer=function(){alert("IWGraphicsRenderer.clearContainer() not implemented!")};this.move=function(d,c,b){alert("IWGraphicsRenderer.move() not implemented!")};this.getPosition=function(b){alert("IWGraphicsRenderer.getPosition() not implemented!")};this.drawLine=function(f,c,e,b,d){alert("IWGraphicsRenderer.drawLine() not implemented!")};this.drawPolyline=function(d,c,e,f,b){alert("IWGraphicsRenderer.drawLine() not implemented!")};this.drawPolygon=function(d,c,e,f,b){alert("IWGraphicsRenderer.drawPolygon() not implemented!")};this.drawCircle=function(c,b,e,f,g,d){alert("IWGraphicsRenderer.drawCircle() not implemented!")};this.drawEllipse=function(b,c,e,f,g,d){alert("IWGraphicsRenderer.drawEllipse() not implemented!")};this.drawRectangle=function(b,c,e,f,g,d){alert("IWGraphicsRenderer.drawRectangle() not implemented!")};this.drawRoundedRectangle=function(c,b,d,f,g,h,e){alert("IWGraphicsRenderer.drawRoundedRectangle() not implemented!")};this.setClassName=function(b,c){if(c){try{b.className=c}catch(d){}if(b.className.baseVal){try{b.className.baseVal=c}catch(d){}}try{b.setAttribute("className",c)}catch(d){}try{b.setAttribute("class",c)}catch(d){}}}}function IWMapRenderer(a){if(!a){throw"No map provided"}this._map=a;this._drawingContainer=this._map.getDrawingContainer();this._renderer=new IWGraphics(this._drawingContainer);this._primitives=[];var b=this;IWEventManager.addListener(a,"onprojectioninvalid",function(){b.hideShapes()});IWEventManager.addListener(a,"onprojectioninitialize",function(){b.render()});IWEventManager.addListener(a,"onmoveend",function(){b.render()})}IWMapRenderer.CLIPPING_DISTANCE=800;IWMapRenderer.prototype.drawLine=function(d,c,b){var a=new IWPolyline([d,c],b);a.position=this._primitives.length;this._primitives.push(a);return a};IWMapRenderer.prototype.drawPolyline=function(c,b){var a=new IWPolyline(c,b);a.position=this._primitives.length;this._primitives.push(a);return a};IWMapRenderer.prototype.drawCircle=function(b,a,c){var d=new IWCircle(b,a,c);d.position=this._primitives.length;this._primitives.push(d);return d};IWMapRenderer.prototype.drawEllipse=function(a,c,b){var d=new IWEllipse(a,c,b);d.position=this._primitives.length;this._primitives.push(d);return d};IWMapRenderer.prototype.drawPolygon=function(c,a){var b=new IWPolygon(c,a);b.position=this._primitives.length;this._primitives.push(b);return b};IWMapRenderer.prototype.drawRectangle=function(a,d,b){var c=new IWRectangle(a,d,b);c.position=this._primitives.length;this._primitives.push(c);return c};IWMapRenderer.prototype.drawRoundedRectangle=function(e,a,c,b){var d=new IWRoundedRectangle(e,a,c,b);d.position=this._primitives.length;this._primitives.push(d);return d};IWMapRenderer.prototype.hideShapes=function(){for(var a=0;a<this._primitives.length;a++){if(this._primitives[a].shape){iw.remove(this._primitives[a].shape);this._primitives[a].shape.onclick=null;this._primitives[a].shape.ondblclick=null;delete this._primitives[a].shape}}};IWMapRenderer.prototype.render=function(){this.hideShapes();var d=parseInt(this._drawingContainer.parentNode.style.left);var c=parseInt(this._drawingContainer.parentNode.style.top);var k=this._map.getOptions().getSize();var a=new IWBounds(new IWPoint(0,0),new IWPoint(k.getWidth(),k.getHeight()));var j=-IWMapRenderer.CLIPPING_DISTANCE;var g=k.getWidth()+IWMapRenderer.CLIPPING_DISTANCE;var h=-IWMapRenderer.CLIPPING_DISTANCE;var f=k.getHeight()+IWMapRenderer.CLIPPING_DISTANCE;var e=map.getCurrentMapType().getProjection();
for(var b=0;b<this._primitives.length;b++){a.extendBy(this._primitives[b].calcProjectedBounds(e,j,g,h,f))}this._drawingContainer.style.position="absolute";this._drawingContainer.style.left=(-d+a.getMin()._x)+"px";this._drawingContainer.style.top=(-c+a.getMin()._y)+"px";this._drawingContainer.style.width=a.getSize().getWidth()+"px";this._drawingContainer.style.height=a.getSize().getHeight()+"px";for(var b=0;b<this._primitives.length;b++){this._primitives[b].render(this._renderer,a.getMin()._x,a.getMin()._y)}};IWMapRenderer.prototype.clearContainer=function(){this._renderer.clearContainer();this._primitives[i]=[]};IWMapRenderer.prototype.removeElement=function(b){this._renderer.removeElement(b.shape);for(var a=0;a<this._primitives.length;a++){if(this._primitives[a]==b){this._primitives.splice(a,1);break}}};IWMapRenderer.prototype.moveToTop=function(b){var a=this._primitives.length-b.position-1;this.shiftElement(b,a)};IWMapRenderer.prototype.moveToBottom=function(a){this.shiftElement(a,-a.position)};IWMapRenderer.prototype.shiftElement=function(d,c){var e=d.position;var a=this._primitives.length-1;var f=e+c;if(c!=0&&(a-f)>=0&&(a-f)<=a){var b=this._primitives[f];this._primitives[e].position=f;this._primitives[f]=this._primitives[e];b.position=e;this._primitives[e]=b;this.render()}};IWMapRenderer.prototype.getElement=function(a){if(a>=0&&a<this._primitives.length){return this._primitives[a]}else{return null}};function IWSVGRenderer(a){IWGraphicsRenderer.call(this,a);var c="http://www.w3.org/2000/svg";var d=document.createElementNS(c,"svg");this.clearContainer=function(){if(d.hasChildNodes()){while(d.childNodes.length>0){this.removeElement(d.firstChild)}}};this.drawLine=function(m,h,k,n,o,j,g){var f=a.ownerDocument.createElementNS(c,"line");this.setClassName(f,j);f.style.position="absolute";f.style.fill="none";f.setAttributeNS(null,"x1",m.getX()+"px");f.setAttributeNS(null,"y1",m.getY()+"px");f.setAttributeNS(null,"x2",h.getX()+"px");f.setAttributeNS(null,"y2",h.getY()+"px");e(f,k,n,g);d.appendChild(f);return f};this.drawPolyline=function(k,j,m,n,h,g){var f=a.ownerDocument.createElementNS(c,"polyline");this.setClassName(f,h);f.style.position="absolute";f.style.fill="none";f.setAttributeNS(null,"points",k);e(f,j,m,g);d.appendChild(f);return f};this.drawEllipse=function(f,j,m,n,o,k,h){var g=a.ownerDocument.createElementNS(c,"ellipse");this.setClassName(g,k);g.style.position="absolute";g.setAttributeNS(null,"cx",f.getX()+"px");g.setAttributeNS(null,"cy",f.getY()+"px");g.setAttributeNS(null,"rx",j.getWidth()+"px");g.setAttributeNS(null,"ry",j.getHeight()+"px");e(g,m,n,h);b(g,o,h);d.appendChild(g);return g};this.drawCircle=function(g,f,m,n,o,k,j){var h=a.ownerDocument.createElementNS(c,"circle");this.setClassName(h,k);h.style.position="absolute";h.setAttributeNS(null,"cx",g.getX()+"px");h.setAttributeNS(null,"cy",g.getY()+"px");h.setAttributeNS(null,"r",f+"px");e(h,m,n,j);b(h,o,j);d.appendChild(h);return h};this.drawRectangle=function(f,j,m,n,o,k,h){var g=a.ownerDocument.createElementNS(c,"rect");this.setClassName(g,k);g.style.position="absolute";g.setAttributeNS(null,"x",f.getX()+"px");g.setAttributeNS(null,"y",f.getY()+"px");g.setAttributeNS(null,"width",j.getWidth()+"px");g.setAttributeNS(null,"height",j.getHeight()+"px");e(g,m,n,h);b(g,o,h);d.appendChild(g);return g};this.drawRoundedRectangle=function(o,j,q,g,n,f,m,h){var k=a.ownerDocument.createElementNS(c,"rect");k.id="rect";k.style.position="absolute";k.setAttributeNS(null,"x",o.getX()+"px");k.setAttributeNS(null,"y",o.getY()+"px");k.setAttributeNS(null,"rx",j+"px");k.setAttributeNS(null,"ry",j+"px");k.setAttributeNS(null,"width",q.getWidth()+"px");k.setAttributeNS(null,"height",q.getHeight()+"px");e(k,g,n,h);b(k,f,h);d.appendChild(k);return k};this.drawPath=function(k,h,j,m,g){var f=a.ownerDocument.createElementNS(c,"path");this.setClassName(f,g);f.style.position="absolute";f.setAttributeNS(null,"d",k);e(f,h,j);b(f,m);d.appendChild(f);return f};this.drawPolygon=function(k,j,m,n,h,g){var f=a.ownerDocument.createElementNS(c,"polygon");
this.setClassName(f,h);f.style.position="absolute";f.setAttributeNS(null,"points",k);e(f,j,m,g);b(f,n,g);d.appendChild(f);return f};this.move=function(h,g,f){if(h.tagName=="line"){if(typeof f=="undefined"){return}h.setAttributeNS(null,"x1",g.getX()+"px");h.setAttributeNS(null,"y1",g.getY()+"px");h.setAttributeNS(null,"x2",f.getX()+"px");h.setAttributeNS(null,"y2",f.getY()+"px")}else{if(h.tagName=="ellipse"){h.setAttributeNS(null,"cx",g.getX()+"px");h.setAttributeNS(null,"cy",g.getY()+"px")}else{h.setAttributeNS(null,"x",g.getX()+"px");h.setAttributeNS(null,"y",g.getY()+"px")}}};this.getPosition=function(f){if(f.tagName=="line"){return}else{if(f.tagName=="ellipse"){return new IWPoint(parseInt(f.getAttributeNS(null,"cx")),parseInt(f.getAttributeNS(null,"cy")))}else{return new IWPoint(parseInt(f.getAttributeNS(null,"x")),parseInt(f.getAttributeNS(null,"y")))}}};function e(g,h,j,f){if(f){g.style.stroke=f.stroke;g.style.strokeOpacity=f.strokeOpacity;g.style.strokeWidth=f.strokeWidth;g.style.strokeLinejoin=f.strokeLinejoin;g.style.strokeLinecap=f.strokeLinecap;if(f.strokeDashStyle=="dotted"){g.style.strokeDasharray="2 2"}else{if(f.strokeDashStyle=="dashed"){g.style.strokeDasharray="5 5"}}}else{if(j){g.setAttributeNS(null,"stroke",j);g.setAttributeNS(null,"stroke-width",h)}else{g.setAttributeNS(null,"stroke","none")}}}function b(g,h,f){if(f){g.style.fill=f.fill;g.style.fillOpacity=f.fillOpacity}else{g.setAttributeNS(null,"fill",h?h:"none")}}a.appendChild(d)}function IWVMLRenderer(b){IWGraphicsRenderer.call(this,b);function d(){var f=new IWXMLHttpRequest();try{f.open("GET",iwconst.GLOBAL_APP_URL+"blank.js",true);f.send(null)}catch(g){}}this.clearContainer=function(){if(b.hasChildNodes()){while(b.childNodes.length>0){this.removeElement(b.firstChild)}}};this.drawLine=function(k,g,j,m,h){if(j>=15){j-=5}else{if(j>=10){j-=4}else{if(j>=7){j-=3}else{if(j>=4){j-=2}else{if(j==3){j-=1}}}}}var f=b.ownerDocument.createElement("v:line");this.setClassName(f,h);f.style.position="absolute";f.from=parseInt(k.getX())+"px,"+parseInt(k.getY())+"px";f.to=parseInt(g.getX())+"px,"+parseInt(g.getY())+"px";e(f,j,m);b.appendChild(f);d();return f};this.drawPolyline=function(k,j,m,n,h,g){var f=b.ownerDocument.createElement("v:polyline");this.setClassName(f,h);f.style.position="absolute";f.points=k;f.filled="false";e(f,j,m,g);b.appendChild(f);d();return f};this.drawCircle=function(g,f,m,n,o,k,j){var h=b.ownerDocument.createElement("v:oval");this.setClassName(h,k);h.style.position="absolute";h.style.top=(g.getY()-f)+"px";h.style.left=(g.getX()-f)+"px";h.style.width=(2*f)+"px";h.style.height=(2*f)+"px";e(h,m,n,j);c(h,o,j);b.appendChild(h);d();return h};this.drawEllipse=function(f,j,m,n,o,k,h){var g=b.ownerDocument.createElement("v:oval");this.setClassName(g,k);g.style.position="absolute";g.style.top=(f.getY()-j.getHeight())+"px";g.style.left=(f.getX()-j.getWidth())+"px";g.style.width=(2*j.getWidth())+"px";g.style.height=(2*j.getHeight())+"px";e(g,m,n,h);c(g,o,h);b.appendChild(g);d();return g};this.drawRectangle=function(f,j,m,n,o,k,h){var g=b.ownerDocument.createElement("v:rect");this.setClassName(g,k);g.style.position="absolute";g.style.top=f.getY();g.style.left=f.getX();g.style.width=j.getWidth();g.style.height=j.getHeight();e(g,m,n,h);c(g,o,h);b.appendChild(g);d();return g};this.drawRoundedRectangle=function(o,j,q,g,n,f,m,h){var k=b.ownerDocument.createElement("v:roundrect");this.setClassName(k,m);k.style.position="absolute";k.style.top=o.getY();k.style.left=o.getX();k.style.width=q.getWidth();k.style.height=q.getHeight();k.arcsize=((j/q.getHeight())*100)+"%";e(k,g,n,h);c(k,f,h);b.appendChild(k);d();return k};this.drawPolygon=function(k,j,m,o,h,g){var f=b.ownerDocument.createElement("v:polyline");this.setClassName(f,h);f.style.position="absolute";var n=k.split(" ");f.points=k+" "+n[0]+" "+n[1];e(f,j,m,g);c(f,o,g);b.appendChild(f);d();return f};this.move=function(h,g,f){if(h.tagName=="line"){if(typeof f=="undefined"){return}h.from=g.getX()+"px,"+g.getY()+"px";h.to=f.getX()+"px,"+f.getY()+"px"
}else{if(h.tagName=="oval"){h.style.left=g.getX()-parseInt(h.style.width)/2+"px";h.style.top=g.getY()-parseInt(h.style.height)/2+"px"}else{h.style.left=g.getX()+"px";h.style.top=g.getY()+"px"}}};this.getPosition=function(f){if(f.tagName=="line"){return}else{if(f.tagName=="oval"){return new IWPoint(parseInt(f.style.left)+parseInt(f.style.width)/2,parseInt(f.style.top)+parseInt(f.style.height)/2)}else{return new IWPoint(parseInt(f.style.left),parseInt(f.style.top))}}};function e(g,h,k,f){if(f){if(f.stroke&&f.stroke!="none"){var j=b.ownerDocument.createElement("v:stroke");j.color=f.stroke;j.opacity=f.strokeOpacity;j.weight=f.strokeWidth+"px";j.joinStyle=f.strokeLinejoin;if(f.strokeLinecap=="butt"){j.endcap="flat"}else{j.endcap=f.strokeLinecap}if(f.strokeDashStyle=="dotted"){j.dashStyle="ShortDot"}else{if(f.strokeDashStyle=="dashed"){j.dashStyle="ShortDash"}}g.appendChild(j)}else{g.stroked="false"}}else{if(k){g.stroked="true";g.strokecolor=k;g.strokeweight=h+"px"}else{g.stroked="false"}}}function c(g,j,f){if(f){if(f.fill&&f.fill!="none"){var h=b.ownerDocument.createElement("v:fill");h.color=f.fill;h.opacity=f.fillOpacity;g.appendChild(h)}else{g.filled="false"}}else{if(j){g.filled="true";g.fillcolor=j}else{g.filled="false"}}}function a(){try{if(!document.documentMode||document.documentMode<8){document.namespaces.add("v","#default#VML")}else{if(document.documentMode&&document.documentMode>=8){document.namespaces.add("v","urn:schemas-microsoft-com:vml")}}var f=document.createStyleSheet();f.addRule("v\\:rect","behavior:url(#default#VML); display:inline-block; antialias:true");f.addRule("v\\:roundrect","behavior:url(#default#VML); display:inline-block; antialias:true");f.addRule("v\\:oval","behavior:url(#default#VML); display:inline-block; antialias:true");f.addRule("v\\:line","behavior:url(#default#VML); display:inline-block; antialias:true");f.addRule("v\\:polyline","behavior:url(#default#VML); display:inline-block; antialias:true");f.addRule("v\\:fill","behavior:url(#default#VML); display:inline-block; antialias:true");f.addRule("v\\:stroke","behavior:url(#default#VML); display:inline-block; antialias:true")}catch(g){window.setTimeout(a,500)}IWVMLRenderer.isInitialized=true}if(!IWVMLRenderer.isInitialized){a()}}IWVMLRenderer.isInitialized=false;function IWCircle(c,a,b){this.coord=c;this.radius=a;this.attributes=IWMiscUtils.getOptions(IWCircle.DEFAULT_ATTRIBUTES,b);this.coordPX=null;this.radiusPX=null;this.shape=null;this.position=0}IWCircle.prototype.calcProjectedBounds=function(a){this.coordPX=a.meterToPixel(this.coord);this.radiusPX=a.meterRadiusToPixel(this.coord,this.radius);var c=this.coordPX._x-this.radiusPX-this.attributes.strokeWidth;var e=this.coordPX._y-this.radiusPX-this.attributes.strokeWidth;var b=this.coordPX._x+this.radiusPX+this.attributes.strokeWidth;var d=this.coordPX._y+this.radiusPX+this.attributes.strokeWidth;return new IWBounds(new IWPoint(c,e),new IWPoint(b,d))};IWCircle.prototype.render=function(d,c,b){var a=new IWPoint(this.coordPX.getX()-c,this.coordPX.getY()-b);this.shape=d.drawCircle(a,this.radiusPX,null,null,null,"",this.attributes)};IWCircle.DEFAULT_ATTRIBUTES={fill:"blue",fillOpacity:0.75,stroke:"black",strokeOpacity:0.75,strokeWidth:2,strokeDashStyle:"solid"};function IWEllipse(c,b,a){this.coord=c;this.size=b;this.attributes=IWMiscUtils.getOptions(IWEllipse.DEFAULT_ATTRIBUTES,a);this.coordPX=null;this.sizePX=null;this.shape=null;this.position=0}IWEllipse.prototype.calcProjectedBounds=function(b){this.coordPX=b.meterToPixel(this.coord);var g=b.meterRadiusToPixel(this.coord,this.size.getWidth());var a=b.meterRadiusToPixel(this.coord,this.size.getHeight());this.sizePX=new IWSize(g,a);var d=this.coordPX._x-g-this.attributes.strokeWidth;var f=this.coordPX._y-a-this.attributes.strokeWidth;var c=this.coordPX._x+g+this.attributes.strokeWidth;var e=this.coordPX._y+a+this.attributes.strokeWidth;return new IWBounds(new IWPoint(d,f),new IWPoint(c,e))};IWEllipse.prototype.render=function(d,c,b){var a=new IWPoint(this.coordPX.getX()-c,this.coordPX.getY()-b);
this.shape=d.drawEllipse(a,this.sizePX,null,null,null,"",this.attributes)};IWEllipse.DEFAULT_ATTRIBUTES={fill:"blue",fillOpacity:0.75,stroke:"black",strokeOpacity:0.75,strokeWidth:2,strokeDashStyle:"solid"};function IWPolygon(b,a){this.coords=b;this.attributes=IWMiscUtils.getOptions(IWPolygon.DEFAULT_ATTRIBUTES,a);this.shape=null;this.position=0}IWPolygon.prototype.calcProjectedBounds=function(b){this.projectedCoords=[];var d=null;for(var c=0;c<this.coords.length;c++){var a=b.meterToPixel(this.coords[c]);if(!d||a._x!=d._x||a._y!=d._y){d=a;this.projectedCoords.push(a)}}return new IWBounds(this.projectedCoords)};IWPolygon.prototype.render=function(e,b,a){var d="";for(var c=0;c<this.projectedCoords.length;c++){d+=(this.projectedCoords[c]._x-b)+","+(this.projectedCoords[c]._y-a)+" "}this.shape=e.drawPolygon(d,null,null,null,"",this.attributes);var f=this;this.shape.onclick=function(){IWEventManager.trigger(f,"onclick",{})};this.shape.ondblclick=function(){IWEventManager.trigger(f,"ondblclick",{})}};IWPolygon.DEFAULT_ATTRIBUTES={fill:"blue",fillOpacity:0.75,stroke:"black",strokeOpacity:0.75,strokeWidth:2,strokeDashStyle:"solid",strokeLinejoin:"round",strokeLinecap:"round"};function IWPolyline(b,a){this.coords=b;this.attributes=IWMiscUtils.getOptions(IWPolyline.DEFAULT_ATTRIBUTES,a);this.shape=null;this.position=0}IWPolyline.prototype.calcProjectedBounds=function(b){this.projectedCoords=[];var d=null;for(var c=0;c<this.coords.length;c++){var a=b.meterToPixel(this.coords[c]);if(!d||a._x!=d._x||a._y!=d._y){d=a;this.projectedCoords.push(a)}}return new IWBounds(this.projectedCoords)};IWPolyline.prototype.render=function(e,b,a){var d="";for(var c=0;c<this.projectedCoords.length;c++){d+=(this.projectedCoords[c]._x-b)+","+(this.projectedCoords[c]._y-a)+" "}this.shape=e.drawPolyline(d,null,null,null,"",this.attributes);var f=this;this.shape.onclick=function(){IWEventManager.trigger(f,"onclick",{})};this.shape.ondblclick=function(){IWEventManager.trigger(f,"ondblclick",{})}};IWPolyline.DEFAULT_ATTRIBUTES={stroke:"blue",strokeOpacity:0.75,strokeWidth:2,strokeDashStyle:"solid",strokeLinejoin:"round",strokeLinecap:"round"};function IWRectangle(c,b,a){this.coord=c;this.size=b;this.attributes=IWMiscUtils.getOptions(IWRectangle.DEFAULT_ATTRIBUTES,a);this.coordPX=null;this.sizePX=null;this.shape=null;this.position=0}IWRectangle.prototype.calcProjectedBounds=function(d,m,h,j,f){var a=d.meterRadiusToPixel(this.coord,this.size.getWidth());var k=d.meterRadiusToPixel(this.coord,this.size.getHeight());this.coordPX=d.meterToPixel(this.coord);this.sizePX=new IWSize(a,k);var c=(a/2)+this.attributes.strokeWidth;var b=(k/2)+this.attributes.strokeWidth;var g=new IWPoint(this.coordPX._x-c,this.coordPX._y-b);var e=new IWPoint(this.coordPX._x+c,this.coordPX._y+b);return new IWBounds(g,e)};IWRectangle.prototype.render=function(e,d,c){var b=this.coordPX._x-d-this.sizePX.getWidth()/2;var f=this.coordPX._y-c-this.sizePX.getHeight()/2;var a=new IWPoint(b,f);this.shape=e.drawRectangle(a,this.sizePX,null,null,null,"",this.attributes)};IWRectangle.DEFAULT_ATTRIBUTES={fill:"blue",fillOpacity:0.75,stroke:"black",strokeOpacity:0.75,strokeWidth:2,strokeDashStyle:"solid"};function IWRoundedRectangle(e,b,c,a,g,d,f){this.coord=e;this.raduis=b;this.size=c;this.width=a;this.lineColor=g;this.fillColor=d;this.className=f;this.coordPX=null;this.raduisPX=null;this.sizePX=null;this.shape=null;this.position=0}IWRoundedRectangle.prototype.calcProjectedBounds=function(g,q,m,o,h){this.coordPX=g.meterToPixel(this.coord);this.raduisPX=g.meterRadiusToPixel(this.coord,this.raduis);this.sizePX=new IWSize(g.meterRadiusToPixel(this.coord,this.size.getWidth()),g.meterRadiusToPixel(this.coord,this.size.getHeight()));var f=this.sizePX.getWidth()+5;var d=this.sizePX.getHeight()+5;var b=[];b.push(this.coordPX);b.push(new IWPoint(this.coordPX.getX()+f,this.coordPX.getY()+d));b.push(new IWPoint(this.coordPX.getX()-f,this.coordPX.getY()-d));this.clippingArray=[];var c=Number.MAX_VALUE;var a=Number.MAX_VALUE;
for(var e=0;e<b.length;e++){var n=Math.min(m,Math.max(q,b[e].getX()));var j=Math.min(h,Math.max(o,b[e].getY()));if(n!=c||j!=a){this.clippingArray.push(new IWPoint(n,j))}c=n;a=j}return new IWBounds(this.clippingArray)};IWRoundedRectangle.prototype.render=function(c,b,a){var d=new IWPoint(this.coordPX.getX()-b,this.coordPX.getY()-a);this.shape=c.drawRoundedRectangle(d,this.raduisPX,this.sizePX,this.width,this.lineColor,this.fillColor,null,this.className)};IWRoundedRectangle.DEFAULT_ATTRIBUTES={fill:"blue",fillOpacity:0.75,stroke:"black",strokeOpacity:0.75,strokeWidth:2,strokeDashStyle:"solid"};
