var MapMobility={};MapMobility.tileURLs=[szTileServer1,szTileServer2,szTileServer3,szTileServer4];MapMobility.searchService={};MapMobility.searchService.URL="search_service/htdocs/transaction.php";MapMobility.searchService.showexamples=true;MapMobility.searchService.limit=20;MapMobility.markerIcons={};MapMobility.markerIcons.searchIconURL="images/markers/orange_pin.png";MapMobility.markerIcons.routeIconURL="images/markers/blue_pin.png";MapMobility.markerIcons.startIconURL="images/markers/green_pin.png";MapMobility.markerIcons.stopIconURL="images/markers/red_pin.png";MapMobility.markerIcons.userIconURL="images/markers/purple_pin.png";MapMobility.markerIcons.highlightIconURL="images/markers/yellow_pin.png";MapMobility.markerIcons.size=new OpenLayers.Size(48,42);MapMobility.markerIcons.offset=new OpenLayers.Pixel(-6,-8);MapMobility.routingService={};MapMobility.routingService.URL="routing_service/htdocs/routing.php";MapMobility.routingService.routingRegion="ca_toronto_mm";MapMobility.routingService.srid=26917;MapMobility.Product=Class.create();MapMobility.Product.prototype={id:"",name:"",scales:null,tileURLs:null,regionRanges:null,defaultScale:null,map:null,initialize:function(A){this.id=A.id;this.name=A.name;this.scales=[];this.tileURLs=[];this.regionRanges=A.regionRanges;for(var B=0;B<MapMobility.tileURLs.length;B++){this.tileURLs[B]=MapMobility.tileURLs[B]+this.id+"/"}},getTileURLs:function(){return this.tileURLs},addScale:function(A){A.parent=this;this.scales.push(A)},removeScale:function(A){},getScale:function(A){},indexOf:function(B){for(var A=0;A<this.scales.length;A++){if(this.scales[A]==B){return A}}return -1},getNextScale:function(B){for(var A=1;A<this.scales.length;A++){if(this.scales[A]==B){return this.scales[A-1]}}return null},getPreviousScale:function(B){for(var A=0;A<this.scales.length-1;A++){if(this.scales[A]==B){return this.scales[A+1]}}return null},addToMap:function(B){for(var A=0;A<this.scales.length;A++){this.scales[A].addToMap(B)}this.map=B},showDefault:function(){if(this.defaultScale&&this.defaultScale.defaultTileSet&&this.defaultScale.defaultTileSet.layer){this.map.setBaseLayer(this.defaultScale.defaultTileSet.layer);olMap.setCenter(olMap.baseLayer.mmTileSet.pxCenter)}}};MapMobility.Scale=Class.create();MapMobility.Scale.prototype={parent:null,name:"",tilesets:null,isDefault:false,defaultTileSet:null,scale:0,scalebar:null,legend:null,routeStyle:null,initialize:function(A,E,D,C,B){this.name=A;this.tilesets=[];this.scale=E;this.scalebar=D;this.legend=C;this.routeStyle=B},addTileSet:function(A){A.parent=this;this.tilesets.push(A)},addToMap:function(B){for(var A=0;A<this.tilesets.length;A++){this.tilesets[A].addToMap(B)}},setAsDefault:function(){this.isDefault=true;this.parent.defaultScale=this},getTileSet:function(D){var C=olMap.baseLayer.mmTileSet;var E=false;var A=new OpenLayers.LonLat(D.gx,D.gy);for(var B=0;B<this.tilesets.length;B++){if(this.tilesets[B].name==C.name){continue}if(this.tilesets[B].altTileset){if((gbFramemode&&!this.tilesets[B].isFrame)||(!gbFramemode&&this.tilesets[B].isFrame)){continue}}if(this.tilesets[B].geoBounds.containsLonLat(A)){if(pointInRect(this.tilesets[B].geoCoords,{x1:D.gx,y1:D.gy})){E=true;return this.tilesets[B]}}}if(!E){return false}},getTileSetByName:function(A){for(var B=0;B<this.tilesets.length;B++){if(this.tilesets[B].name==A){return this.tilesets[B]}}return null},getAltTileSetByName:function(A){for(var B=0;B<this.tilesets.length;B++){if(this.tilesets[B].altTileset==A){return this.tilesets[B]}}return null}};MapMobility.TileSet=Class.create();MapMobility.TileSet.prototype={parent:null,isDefault:false,initialize:function(A){this.name=A.name;this.pxCenter=A.pxCenter;this.pxBounds=A.pxBounds;this.geoCenter=A.geoCenter;this.geoBounds=A.geoBounds;this.geoCoords=A.geoCoords;this.scaleX=A.scaleX;this.scaleY=A.scaleY;this.rotationAngle=A.rotationAngle||0;this.hotspots=A.hotspots;this.altTileset=A.altTileset;this.isFrame=A.isFrame},addToMap:function(A){this.layer=new OpenLayers.Layer.TMS(this.name,this.parent.parent.getTileURLs(),{layername:this.name,type:"png",maxExtent:this.pxBounds,buffer:1});this.layer.mmTileSet=this;olMap.addLayer(this.layer)},setAsDefault:function(){this.isDefault=true;this.parent.defaultTileSet=this},clone:function(){return new MapMobility.TileSet(this)},addHotspot:function(F,H,D,G,B,E,A,C){this.hotspots.push({x1:F,y1:H,x2:D,y2:G,x3:B,y3:E,x4:A,y4:C})}};MapMobility.RouteSeg=Class.create();MapMobility.RouteSeg.prototype={aVals:null,startVal:null,endVal:null,bProcessed:false,initialize:function(){this.aVals=[];this.startVal=null;this.endVal=null;this.bProcessed=false}};var gh=new MapMobility.Product({id:"gh",name:"Golden Horseshoe",regionRanges:[{pagemin:100,pagemax:121,name:"Toronto Region",color:"#95B5DF"},{pagemin:200,pagemax:281,name:"Durham Region",color:"#F7ABAD"},{pagemin:300,pagemax:357,name:"York Region",color:"#96D5D1"},{pagemin:400,pagemax:479,name:"Peel/Halton Region",color:"#C7A0CA"},{pagemin:500,pagemax:599,name:"Simcoe Region",color:"#FED09E"},{pagemin:600,pagemax:699,name:"Hamilton Region",color:"#9BD3AE"},{pagemin:700,pagemax:799,name:"Niagara Region",color:"#9B95C8"}]});var oTmpScale=new MapMobility.Scale("gta-25k",25000,"images/scale25000.png","images/legend_25_50.png",{strokeColor:"#FF0000",strokeOpacity:0.5,strokeWidth:10,pointRadius:1,pointerEvents:"visiblePainted"});var oTmpTileset=new MapMobility.TileSet({name:"gta-25k-toronto",pxCenter:new OpenLayers.LonLat(15744,13824),pxBounds:new OpenLayers.Bounds(0,0,31488,27648),geoCenter:new OpenLayers.LonLat(644521.43,4880554.1),geoBounds:new OpenLayers.Bounds(580759.2053347238,4820826.634680373,708283.6446347373,4940281.459996143),geoCoords:{x1:580759.2053347238,y1:4907612.5396604,x2:679598.7518694695,y2:4940281.459996143,x3:708283.6446347373,y3:4853495.545018152,x4:609444.0980999917,y4:4820826.634680373},scaleX:3.305976190520727,scaleY:3.3059673166581405,rotationAngle:-18.29,hotspots:[{x1:595759.2418,y1:4912570.4237,x2:616551.9827,y2:4919442.9399,x3:616551.9827,y3:4897746.3265,x4:595759.2418,y4:4897746.3265},{x1:589342.6767,y1:4881643.3181,x2:596335.9617,y2:4876154.9531,x3:613940.57,y3:4835689.38,x4:612290.6919,y4:4833581.1792},{x1:589342.6767,y1:4881643.3181,x2:596335.9617,y2:4876154.9531,x3:612290.6919,y3:4833581.1792,x4:609444.098,y4:4820826.6346},{x1:612290.6919,y1:4833581.1792,x2:615533.66,y2:4831640.48,x3:617859.1,y3:4826304.8,x4:609444.098,y4:4820826.6346},{x1:617859.1,y1:4826304.8,x2:619519.7101,y2:4824156.8733,x3:609444.098,y3:4820826.6346,x4:609444.0936,y4:4820826.6482}],altTileset:null,isFrame:false});oTmpScale.addTileSet(oTmpTileset);var oTmpTileset=new MapMobility.TileSet({name:"gta-25k-barrie",pxCenter:new OpenLayers.LonLat(4608,4608),pxBounds:new OpenLayers.Bounds(0,0,9216,9216),geoCenter:new OpenLayers.LonLat(606796.6112525195,4910258.085469865),geoBounds:new OpenLayers.Bounds(591556.580772458,4895018.0549898,622036.641732581,4925498.11594993),geoCoords:{x1:591556.580772458,y1:4895018.0549898,x2:591556.580772458,y2:4925498.11594993,x3:622036.641732581,y3:4925498.11594993,x4:622036.641732581,y4:4895018.0549898},scaleX:3.307298281263187,scaleY:3.307298281263187,rotationAngle:0,hotspots:[{x1:591556.579,y1:4911181.34,x2:595759.2417,y2:4912570.4237,x3:595759.2417,y3:4897746.327,x4:591556.5809,y4:4895018.0552},{x1:591556.5809,y1:4895018.0552,x2:595759.2417,y2:4897746.327,x3:616551.9827,y3:4897746.3266,x4:622036.6418,y4:4895018.0549},{x1:622036.6418,y1:4895018.0549,x2:616551.9827,y2:4897746.3266,x3:616551.9827,y3:4919442.939,x4:622036.6418,y4:4921255.7555}],altTileset:null,isFrame:false});oTmpScale.addTileSet(oTmpTileset);var oTmpTileset=new MapMobility.TileSet({name:"gh-25k-mississauga",pxCenter:new OpenLayers.LonLat(10752,10368),pxBounds:new OpenLayers.Bounds(0,0,21504,20736),geoCenter:new OpenLayers.LonLat(589230.49,4836527.8),geoBounds:new OpenLayers.Bounds(540301.63,4787383.97,638159.35,4885671.68),geoCoords:{x1:594251.25,y1:4787383.97,x2:638159.35,y2:4843331.75,x3:584209.73,y3:4885671.68,x4:540301.63,y4:4829723.9},scaleX:3.307289262956999,scaleY:3.3072960451606392,rotationAngle:-51.875,hotspots:[{x1:596335.9617,y1:4876154.9531,x2:638159.35,y2:4843331.7499,x3:624368.5995,y3:4825759.5509,x4:613944.37,y4:4835680.615},{x1:613944.37,y1:4835680.615,x2:638159.35,y2:4843331.7499,x3:615545.8,y3:4831658.6,x4:612290.6921,y4:4833581.1793},{x1:615545.8,y1:4831658.6,x2:638159.35,y2:4843331.7499,x3:624368.5995,y3:4825759.5509,x4:617831.78,y4:4826364.09},{x1:617831.78,y1:4826364.09,x2:638159.35,y2:4843331.7499,x3:624368.5995,y3:4825759.5509,x4:619519.7103,y4:4824156.8733},{x1:571715,y1:4805907,x2:592894,y2:4792694,x3:594253,y3:4787399,x4:571528,y4:4805251},{x1:594253,y1:4787399,x2:592894,y2:4792694,x3:601328,y3:4796489,x4:598001,y4:4792038},{x1:564748,y1:4860843,x2:568310,y2:4865487,x3:571275,y3:4869174,x4:572577,y4:4863589}],altTileset:null,isFrame:false});oTmpScale.addTileSet(oTmpTileset);var oTmpTileset=new MapMobility.TileSet({name:"gh-25k-hamilton",pxCenter:new OpenLayers.LonLat(9216,10368),pxBounds:new OpenLayers.Bounds(0,0,18432,20736),geoCenter:new OpenLayers.LonLat(590330.403243114,4763958.08455693),geoBounds:new OpenLayers.Bounds(550867.92999999,4722024.31999999,629792.89,4805891.85),geoCoords:{x1:571718.54,y1:4805891.85,x2:629792.89,y2:4787357.96999999,x3:608942.27,y3:4722024.31999999,x4:550867.92999999,y4:4740558.25999999},scaleX:3.30729828126329,scaleY:3.30729828126341,rotationAngle:17.7,hotspots:[{x1:571715,y1:4805907,x2:588068,y2:4800847,x3:601328,y3:4796489,x4:592894,y4:4792694},{x1:621449,y1:4776451,x2:620985,y2:4790144,x3:629726,y3:4787359,x4:626245,y4:4776451},{x1:617890,y1:4776451,x2:626245,y2:4776451,x3:618819,y3:4753011,x4:617890,y4:4768560}],altTileset:null,isFrame:false});oTmpScale.addTileSet(oTmpTileset);var oTmpTileset=new MapMobility.TileSet({name:"gh-25k-niagara",pxCenter:new OpenLayers.LonLat(8448,7680),pxBounds:new OpenLayers.Bounds(0,0,16896,15360),geoCenter:new OpenLayers.LonLat(643317.450713258,4768384.41636803),geoBounds:new OpenLayers.Bounds(614977.65000001,4742543.4899999,671657.25,4794225.32),geoCoords:{x1:614977.65000001,y1:4793328.21,x2:670841.72,y2:4794225.32,x3:671657.25,y3:4743440.6,x4:615793.15999999,y4:4742543.4899999},scaleX:3.30729828126329,scaleY:3.30729828126341,rotationAngle:-0.92,hotspots:[{x1:615105,y1:4792001,x2:620521,y2:4790299,x3:620907,y3:4777070,x4:615260,y4:4776838},{x1:615105,y1:4776219,x2:617890,y2:4776451,x3:618509,y3:4752624,x4:615879,y4:4744037}],altTileset:null,isFrame:false});oTmpScale.addTileSet(oTmpTileset);var oTmpTileset=new MapMobility.TileSet({name:"gh-25k-shelburne",pxCenter:new OpenLayers.LonLat(3072,3456),pxBounds:new OpenLayers.Bounds(0,0,6144,6912),geoCenter:new OpenLayers.LonLat(560333.487405025,4871086.96190697),geoBounds:new OpenLayers.Bounds(547317.79000283,4857219.93000079,573339.36000061,4884927.17000104),geoCoords:{x1:547317.79000283,y1:4879114.95000077,x2:566781.71999933,y2:4884927.17000104,x3:573339.36000061,y3:4863069.42000102,x4:553886.59000015,y4:4857219.93000079},scaleX:3.30729828126329,scaleY:3.30729828126341,rotationAngle:-16.7,hotspots:[{x1:564403,y1:4860404,x2:564748,y2:4860843,x3:572577,y3:4863589,x4:573314,y4:4863087},{x1:573314,y1:4863087,x2:572577,y2:4863589,x3:571275,y3:4869174,x4:571432,y4:4869378}],altTileset:null,isFrame:false});oTmpScale.addTileSet(oTmpTileset);gh.addScale(oTmpScale);var oTmpScale=new MapMobility.Scale("gta-50k",50000,"images/scale50000.png","images/legend_25_50.png",{strokeColor:"#FF0000",strokeOpacity:0.5,strokeWidth:8,pointRadius:1,pointerEvents:"visiblePainted"});var oTmpTileset=new MapMobility.TileSet({name:"gta-50k-toronto",pxCenter:new OpenLayers.LonLat(7872,6912),pxBounds:new OpenLayers.Bounds(0,0,15744,13824),geoCenter:new OpenLayers.LonLat(644521.43,4880554.1),geoBounds:new OpenLayers.Bounds(580759.2053347238,4820826.634680373,708283.6446347373,4940281.459996143),geoCoords:{x1:580759.2053347238,y1:4907612.5396604,x2:679598.7518694695,y2:4940281.459996143,x3:708283.6446347373,y3:4853495.545018152,x4:609444.0980999917,y4:4820826.634680373},scaleX:6.611952381041454,scaleY:6.611934633316281,rotationAngle:-18.29,hotspots:[{x1:595759.2418,y1:4912570.4237,x2:616551.9827,y2:4919442.9399,x3:616551.9827,y3:4897746.3265,x4:595759.2418,y4:4897746.3265},{x1:589342.6767,y1:4881643.3181,x2:596335.9617,y2:4876154.9531,x3:613940.57,y3:4835689.38,x4:612290.6919,y4:4833581.1792},{x1:589342.6767,y1:4881643.3181,x2:596335.9617,y2:4876154.9531,x3:612290.6919,y3:4833581.1792,x4:609444.098,y4:4820826.6346},{x1:612290.6919,y1:4833581.1792,x2:615533.66,y2:4831640.48,x3:617859.1,y3:4826304.8,x4:609444.098,y4:4820826.6346},{x1:617859.1,y1:4826304.8,x2:619519.7101,y2:4824156.8733,x3:609444.098,y3:4820826.6346,x4:609444.0936,y4:4820826.6482}],altTileset:null,isFrame:false});oTmpScale.addTileSet(oTmpTileset);var oTmpTileset=new MapMobility.TileSet({name:"gta-50k-barrie",pxCenter:new OpenLayers.LonLat(2304,2304),pxBounds:new OpenLayers.Bounds(0,0,4608,4608),geoCenter:new OpenLayers.LonLat(606796.6112525195,4910258.085469865),geoBounds:new OpenLayers.Bounds(591556.580772458,4895018.0549898,622036.641732581,4925498.11594993),geoCoords:{x1:591556.580772458,y1:4895018.0549898,x2:591556.580772458,y2:4925498.11594993,x3:622036.641732581,y3:4925498.11594993,x4:622036.641732581,y4:4895018.0549898},scaleX:6.614596562526374,scaleY:6.614596562526374,rotationAngle:0,hotspots:[{x1:591556.579,y1:4911181.34,x2:595759.2417,y2:4912570.4237,x3:595759.2417,y3:4897746.327,x4:591556.5809,y4:4895018.0552},{x1:591556.5809,y1:4895018.0552,x2:595759.2417,y2:4897746.327,x3:616551.9827,y3:4897746.3266,x4:622036.6418,y4:4895018.0549},{x1:622036.6418,y1:4895018.0549,x2:616551.9827,y2:4897746.3266,x3:616551.9827,y3:4919442.939,x4:622036.6418,y4:4921255.7555}],altTileset:null,isFrame:false});oTmpScale.addTileSet(oTmpTileset);var oTmpTileset=new MapMobility.TileSet({name:"gh-50k-mississauga",pxCenter:new OpenLayers.LonLat(5376,5120),pxBounds:new OpenLayers.Bounds(0,0,10752,10240),geoCenter:new OpenLayers.LonLat(588897.467514872,4836789.18270958),geoBounds:new OpenLayers.Bounds(540301.63,4787906.68541916,637493.305029745,4885671.68),geoCoords:{x1:540301.63,y1:4829723.9,x2:584209.73,y2:4885671.68,x3:637493.305029745,y3:4843854.46541916,x4:593585.205029745,y4:4787906.68541916},scaleX:6.61459656252658,scaleY:6.61459656252683,rotationAngle:-51.875,hotspots:[{x1:596335.9617,y1:4876154.9531,x2:638159.35,y2:4843331.7499,x3:624368.5995,y3:4825759.5509,x4:613944.37,y4:4835680.615},{x1:613944.37,y1:4835680.615,x2:638159.35,y2:4843331.7499,x3:615545.8,y3:4831658.6,x4:612290.6921,y4:4833581.1793},{x1:615545.8,y1:4831658.6,x2:638159.35,y2:4843331.7499,x3:624368.5995,y3:4825759.5509,x4:617831.78,y4:4826364.09},{x1:617831.78,y1:4826364.09,x2:638159.35,y2:4843331.7499,x3:624368.5995,y3:4825759.5509,x4:619519.7103,y4:4824156.8733},{x1:571715,y1:4805907,x2:592894,y2:4792694,x3:594253,y3:4787399,x4:571528,y4:4805251},{x1:594253,y1:4787399,x2:592894,y2:4792694,x3:601328,y3:4796489,x4:598001,y4:4792038},{x1:564748,y1:4860843,x2:568310,y2:4865487,x3:571275,y3:4869174,x4:572577,y4:4863589}],altTileset:null,isFrame:false});oTmpScale.addTileSet(oTmpTileset);var oTmpTileset=new MapMobility.TileSet({name:"gh-50k-hamilton",pxCenter:new OpenLayers.LonLat(4608,5120),pxBounds:new OpenLayers.Bounds(0,0,9216,10240),geoCenter:new OpenLayers.LonLat(590459.117586535,4764361.37916698),geoBounds:new OpenLayers.Bounds(551125.34517307,4722830.90833396,629792.89,4805891.85),geoCoords:{x1:571718.54,y1:4805891.85,x2:629792.89,y2:4787357.96999999,x3:609199.68517308,y3:4722830.90833396,x4:551125.34517307,y4:4741364.84833396},scaleX:6.61459656252658,scaleY:6.61459656252683,rotationAngle:17.7,hotspots:[{x1:571715,y1:4805907,x2:588068,y2:4800847,x3:601328,y3:4796489,x4:592894,y4:4792694},{x1:621449,y1:4776451,x2:620985,y2:4790144,x3:629726,y3:4787359,x4:626245,y4:4776451},{x1:617890,y1:4776451,x2:626245,y2:4776451,x3:618819,y3:4753011,x4:617890,y4:4768560}],altTileset:null,isFrame:false});oTmpScale.addTileSet(oTmpTileset);var oTmpTileset=new MapMobility.TileSet({name:"gh-50k-niagara",pxCenter:new OpenLayers.LonLat(4224,3840),pxBounds:new OpenLayers.Bounds(0,0,8448,7680),geoCenter:new OpenLayers.LonLat(643317.450713258,4768384.41636803),geoBounds:new OpenLayers.Bounds(614977.65000001,4742543.4899999,671657.25,4794225.32),geoCoords:{x1:614977.65000001,y1:4793328.21,x2:670841.72,y2:4794225.32,x3:671657.25,y3:4743440.6,x4:615793.15999999,y4:4742543.4899999},scaleX:6.61459656252658,scaleY:6.61459656252683,rotationAngle:-0.92,hotspots:[{x1:615105,y1:4792001,x2:620521,y2:4790299,x3:620907,y3:4777070,x4:615260,y4:4776838},{x1:615105,y1:4776219,x2:617890,y2:4776451,x3:618509,y3:4752624,x4:615879,y4:4744037}],altTileset:null,isFrame:false});oTmpScale.addTileSet(oTmpTileset);var oTmpTileset=new MapMobility.TileSet({name:"gh-50k-shelburne",pxCenter:new OpenLayers.LonLat(1536,1664),pxBounds:new OpenLayers.Bounds(0,0,3072,3328),geoCenter:new OpenLayers.LonLat(560206.925471686,4871479.02900136),geoBounds:new OpenLayers.Bounds(547317.79000283,4858030.88800168,573096.060940542,4884927.17000104),geoCoords:{x1:547317.79000283,y1:4879114.95000077,x2:566781.71999933,y2:4884927.17000104,x3:573096.060940542,y3:4863880.37800191,x4:553643.290940079,y4:4858030.88800168},scaleX:6.61459656252658,scaleY:6.61459656252683,rotationAngle:-16.7,hotspots:[{x1:564403,y1:4860404,x2:564748,y2:4860843,x3:572577,y3:4863589,x4:573314,y4:4863087},{x1:573314,y1:4863087,x2:572577,y2:4863589,x3:571275,y3:4869174,x4:571432,y4:4869378}],altTileset:null,isFrame:false});oTmpScale.addTileSet(oTmpTileset);gh.addScale(oTmpScale);var oTmpScale=new MapMobility.Scale("gh-100k",100000,"images/scale100000.png","images/legend_100_175_250.png",{strokeColor:"#FF0000",strokeOpacity:0.5,strokeWidth:6,pointRadius:1,pointerEvents:"visiblePainted"});var oTmpTileset=new MapMobility.TileSet({name:"gh-100k",pxCenter:new OpenLayers.LonLat(6144,7296),pxBounds:new OpenLayers.Bounds(0,0,12288,14592),geoCenter:new OpenLayers.LonLat(623262.192182159,4829188.05294165),geoBounds:new OpenLayers.Bounds(541982.029621835,4732667.85990126,704542.354742483,4925708.24598204),geoCoords:{x1:541982.029621835,y1:4732667.85990126,x2:541982.029621835,y2:4925708.24598204,x3:704542.354742483,y3:4925708.24598204,x4:704542.354742483,y4:4732667.85990126},scaleX:13.2291931250528,scaleY:13.2291931250533,rotationAngle:0,hotspots:[],altTileset:"gh-100k-frame",isFrame:false});oTmpScale.addTileSet(oTmpTileset);var oTmpTileset=oTmpTileset.clone();oTmpTileset.name="gh-100k-frame";oTmpTileset.altTileset="gh-100k";oTmpTileset.isFrame=true;oTmpScale.addTileSet(oTmpTileset);gh.addScale(oTmpScale);var oTmpScale=new MapMobility.Scale("gh-175k",175000,"images/scale175000.png","images/legend_100_175_250.png",{strokeColor:"#FF0000",strokeOpacity:0.5,strokeWidth:6,pointRadius:1,pointerEvents:"visiblePainted"});var oTmpTileset=new MapMobility.TileSet({name:"gh-175k",pxCenter:new OpenLayers.LonLat(3456,4096),pxBounds:new OpenLayers.Bounds(0,0,6912,8192),geoCenter:new OpenLayers.LonLat(622000.457887857,4830878.08236338),geoBounds:new OpenLayers.Bounds(541990.297867537,4736051.22604299,702010.617908177,4925704.93868376),geoCoords:{x1:541990.297867537,y1:4736051.22604299,x2:541990.297867537,y2:4925704.93868376,x3:702010.617908177,y3:4925704.93868376,x4:702010.617908177,y4:4736051.22604299},scaleX:23.1510879688425,scaleY:23.1510879688433,rotationAngle:0,hotspots:[],altTileset:"gh-175k-frame",isFrame:false});oTmpScale.addTileSet(oTmpTileset);var oTmpTileset=oTmpTileset.clone();oTmpTileset.name="gh-175k-frame";oTmpTileset.altTileset="gh-175k";oTmpTileset.isFrame=true;oTmpScale.addTileSet(oTmpTileset);gh.addScale(oTmpScale);var oTmpScale=new MapMobility.Scale("gh-250k",250000,"images/scale250000.png","images/legend_100_175_250.png",{strokeColor:"#FF0000",strokeOpacity:0.5,strokeWidth:4,pointRadius:1,pointerEvents:"visiblePainted"});var oTmpTileset=new MapMobility.TileSet({name:"gh-250k",pxCenter:new OpenLayers.LonLat(2432,2816),pxBounds:new OpenLayers.Bounds(0,0,4864,5632),geoCenter:new OpenLayers.LonLat(622418.831120437,4832578.03367995),geoBounds:new OpenLayers.Bounds(541985.336920115,4739444.51407957,702852.325320758,4925711.55328032),geoCoords:{x1:541985.336920115,y1:4739444.51407957,x2:541985.336920115,y2:4925711.55328032,x3:702852.325320758,y3:4925711.55328032,x4:702852.325320758,y4:4739444.51407957},scaleX:33.0729828126322,scaleY:33.0729828126333,rotationAngle:0,hotspots:[],altTileset:"gh-250k-frame",isFrame:false});oTmpScale.addTileSet(oTmpTileset);var oTmpTileset=oTmpTileset.clone();oTmpTileset.name="gh-250k-frame";oTmpTileset.altTileset="gh-250k";oTmpTileset.isFrame=true;oTmpScale.addTileSet(oTmpTileset);gh.addScale(oTmpScale);var oTmpScale=new MapMobility.Scale("gh-500k",500000,"images/scale500000.png","images/legend_500.png",{strokeColor:"#FF0000",strokeOpacity:0.5,strokeWidth:4,pointRadius:1,pointerEvents:"visiblePainted"});var oTmpTileset=new MapMobility.TileSet({name:"gh-500k",pxCenter:new OpenLayers.LonLat(1152,1408),pxBounds:new OpenLayers.Bounds(0,0,2304,2816),geoCenter:new OpenLayers.LonLat(618168.952829014,4832561.49718854),geoBounds:new OpenLayers.Bounds(541968.800428709,4739427.97758816,694369.105229318,4925695.01678891),geoCoords:{x1:541968.800428709,y1:4739427.97758816,x2:541968.800428709,y2:4925695.01678891,x3:694369.105229318,y3:4925695.01678891,x4:694369.105229318,y4:4739427.97758816},scaleX:66.14596562526448,scaleY:66.14596562526667,rotationAngle:0,hotspots:[],altTileset:"gh-500k-frame",isFrame:false});oTmpScale.addTileSet(oTmpTileset);oTmpTileset.setAsDefault();var oTmpTileset=oTmpTileset.clone();oTmpTileset.name="gh-500k-frame";oTmpTileset.altTileset="gh-500k";oTmpTileset.isFrame=true;oTmpScale.addTileSet(oTmpTileset);gh.addScale(oTmpScale);oTmpScale.setAsDefault();MapMobility.products=[];MapMobility.products.push(gh);var gbFramemode=false;var olMap=null;var slider=null;var olOverview=null;window.onload=function(){var C=new Jx.Layout("thePage");var E=new Jx.Layout("header",{height:55,width:270,top:10,right:280,left:30,bottom:65});var J=new Jx.Layout("sidebar",{width:270,top:71,left:30,bottom:80,right:280});var K=new Jx.Layout("maparea",{top:10,left:310,bottom:10,right:30});var D=new Jx.Layout("map",{top:20,left:20,bottom:20,right:20});var F=new Jx.Layout("bgLeft",{width:20,right:null});var B=new Jx.Layout("bgRight",{width:20,left:null});panelSearch=new Jx.Panel({label:"Search",contentID:"sideresults"});panelLegend=new Jx.Panel({label:"Legend",contentID:"sidelegend"});var H=new Jx.PanelManager("sidebar",[panelSearch,panelLegend]);C.resize();$("thePage").style.visibility="visible";OpenLayers.DOTS_PER_INCH=96;olMap=new OpenLayers.Map("map",{maxExtent:new OpenLayers.Bounds(0,0,4000,4000),minResolution:1,maxResolution:1,controls:[]});olNavControl=new OpenLayers.Control.Navigation.MapMobility();olMap.addControl(olNavControl);olMap.addControl(new OpenLayers.Control.KeyboardDefaults());var G=new OpenLayers.Layer.WMS("OpenLayers WMS","http://maps.mapmobility.com/cgi-bin/mswms_mapmobility?",{SRS:"EPSG:26917",layers:["keymap-250k","keymap-500k","keymap-2000k","keymap-4000k"],format:"image/jpeg"});var I={layers:[G],mapOptions:{projection:"EPSG:26917",maxExtent:new OpenLayers.Bounds(362295.293,4573314.363,904535.578,5125714.668),tileSize:new OpenLayers.Size(128,128),resolutions:[529.2661804651158,264.6330902325579,66.15827255813947]},size:new OpenLayers.Size(200,150),div:$("keymap"),minRatio:10,maxRatio:10};olOverview=new OpenLayers.Control.OverviewMap.MapMobility(I);olMap.addControl(olOverview);olMap.events.unregister("movestart",olMap,olMap.updateSize);K.addSizeChangeListener({sizeChanged:function(){window.setTimeout("olMap.updateSize()",1)}});for(var A=0;A<MapMobility.products.length;A++){MapMobility.products[A].addToMap(olMap)}MapMobility.products[0].showDefault();$("spProductName").innerHTML=MapMobility.products[0].name;goRouteLayer=new OpenLayers.Layer.Vector("routeLayer");goRouteSegCache={};goRouteSegWKT={};goSearchMarkersLayer=new OpenLayers.Layer.Markers("searchMarkerLayer");olMap.addLayers([goRouteLayer,goSearchMarkersLayer]);$("txtSearch").onkeypress=trapSearchReturn;gaoMarkerList=[];goPopup=null;goSelectedMarkerId=null;goSelectedOrgURL="";gnSortTimerId=null;gszNavMode="navigate";gnCustomMarkerCount=0;olMap.events.register("click",null,processNavClick);olMap.events.register("moveend",null,mouseMove);Event.observe("zoomin","click",zoomIn);Event.observe("zoomout","click",zoomOut);$("keybutton").isOpen=false;Event.observe("keybutton","click",toggleKeymap);Event.observe("addPoint","mousedown",clickAddPointButton);Event.observe("routeList","click",clickRouteList);Event.observe("frametogglelink","click",toggleFrames);I={};I.axis="vertical";I.range=$R(0,5);I.values=[0,1,2,3,4,5];I.sliderValue=5;I.onChange=sliderChanged;slider=new Control.Slider("slide_handle","slide_c",I);updatePageGrid();olMap.paddingForPopups=new OpenLayers.Bounds(50,50,50,50)};var getMousePosition=function(B){var A=0;var C=0;if(!B){B=window.event}if(B.pageX||B.pageY){A=B.pageX;C=B.pageY}else{if(B.clientX||B.clientY){A=B.clientX+document.body.scrollLeft+document.documentElement.scrollLeft;C=B.clientY+document.body.scrollTop+document.documentElement.scrollTop}}return{x:A,y:C}};var mouseMoving=function(A){followMouse($("divDragMarker"),A)};var followMouse=function(A,B){var C=getMousePosition(B);A.style.left=(C.x-300)+"px";A.style.top=(C.y-10)+"px"};var processNavClick=function(F){switch(gszNavMode){case"navigate":break;case"point":var C=olMap.baseLayer.mmTileSet;var A=olMap.getLonLatFromPixel(F.xy);var B=pix2Geo(C,A.lon,A.lat);gnCustomMarkerCount++;var E=getMarkerUniqueId();addMarker(E,B.gx,B.gy,"Custom Marker #"+gnCustomMarkerCount,"(User defined marker)","","user",true);drawMarkerPopup(E);gszNavMode="navigate";olMap.events.unregister("mousemove",null,mouseMoving);Event.stopObservingElement("divDragMarker");$("divDragMarker").style.display="none";var D=new Effect.Appear($("imgAddPoint"));$("maparea").style.cursor="default";break}};function scaleChanged(){var A=olMap.baseLayer.mmTileSet;var B=A.parent;$("scalebar").innerHTML='<img src="'+B.scalebar+'" class="png24" width="267" height="43">';$("legend_img").src=B.legend}function sliderChanged(B){var C=olMap.baseLayer.mmTileSet;var E=C.parent;var D=E.parent;var G=D.scales[B];var A=pix2Geo(C,olMap.center.lon,olMap.center.lat);var F=G.getTileSet(A);if(F){setBaseLayer(F,A)}scaleChanged()}function toggleKeymap(){var A=$("keybutton");A.isOpen=!A.isOpen;A.childNodes[0].src=A.isOpen?"images/key_min.png":"images/key_max.png";$("keymap").style.display=A.isOpen?"block":"none";$("keymap").childNodes[0].childNodes[0].style.display=A.isOpen?"block":"none"}function toggleFrames(){var B=olMap.baseLayer.mmTileSet;var C=B.parent;if(B.altTileset){var A=pix2Geo(B,olMap.center.lon,olMap.center.lat);var D=C.getTileSetByName(B.altTileset);if(D){setBaseLayer(D,A)}gbFramemode=!gbFramemode}if(!gbFramemode){$("frametogglelink").innerHTML="show page numbers"}else{$("frametogglelink").innerHTML="hide page numbers"}}function setBaseLayer(D,A){var B=olMap.baseLayer.mmTileSet;if(D.rotationAngle!=B.rotationAngle){startProcessing("Map rotation changed");if(/MSIE/.test(navigator.userAgent)){$("north_img").runtimeStyle.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/north"+(String(D.rotationAngle)).replace(".","_")+".png',sizingMethod='scale')"}else{$("north_img").src="images/north"+String(D.rotationAngle).replace(".","_")+".png"}stopProcessing()}else{stopProcessing()}if(D.altTileset){$("frametoggle").style.visibility="visible"}else{$("frametoggle").style.visibility="hidden"}var C=geo2Pix(D,A.gx,A.gy);olMap.changeTileSet(D.layer,new OpenLayers.LonLat(C.px,C.py));if(gaoMarkerList.length>0){redrawMarkers(true)}drawRoute()}OpenLayers.Map.prototype.changeTileSet=function(B,A){if(this.baseLayer!==null){this.baseLayer.setVisibility(false,true)}this.baseLayer=B;this.viewRequestID++;this.baseLayer.setVisibility(true,true);this.setCenter(A,0,false,true)};function mouseMove(B){var F=olMap.baseLayer.mmTileSet;var E=F.parent;var D=olMap.getSize();var A=D.w/2;var K=D.h/2;var J=navigator.userAgent;var C=false;if(J){if(J.indexOf("MSIE")!=-1){C=true}}if(C){goRouteLayer.setVisibility(false,true);window.setTimeout("goRouteLayer.setVisibility(true,true);",1000)}var I=pix2Geo(F,olMap.center.lon,olMap.center.lat);for(var H=0;H<F.hotspots.length;H++){if(I.gx>=getRectLeft(F.hotspots[H])&&I.gx<=getRectRight(F.hotspots[H])&&I.gy>=getRectBottom(F.hotspots[H])&&I.gy<=getRectTop(F.hotspots[H])){if(pointInRect(F.hotspots[H],{x1:I.gx,y1:I.gy})){var G=E.getTileSet(I);if(G){setBaseLayer(G,I);break}}}}updatePageGrid()}var goSearch=function(){if($("txtSearch").value===""){alert("Please some search text");return }var A="";switch($("selSearch").options[$("selSearch").selectedIndex].value){case"postalcodes":A="find_postalcode";break;case"places":A="find_poi";break;case"pages":A="find_page";break;case"gridcells":A="find_grid";break;case"streetnames":A="geocode";break;default:alert("Service not available for this type of search.  Please select another type of search.");return }$("divSearchResults").innerHTML='<img src="images/wait.gif" width="24" height="24"><br><br><br>&nbsp;';var B=new Ajax.Request(MapMobility.searchService.URL,{method:"post",parameters:"request="+A+"&searchstring="+$("txtSearch").value+"&output=json&limit="+MapMobility.searchService.limit,onComplete:processSearchCB})};var processSearchCB=function(httpResults){var szResults="";var tileSet=olMap.baseLayer.mmTileSet;clearSearch();$("divClearSearch").style.display="block";eval("var oSearchResults="+httpResults.responseText+";");if(oSearchResults.response.limitwarning==1){szResults+='<p style="font-size:9px;">There are too many results to display.<br>Only the top '+MapMobility.searchService.limit+" have been returned.</p>"}for(var i=0;i<oSearchResults.response.results.length;i++){var nMarkerId=getMarkerUniqueId();var szDesc=oSearchResults.response.results[i].result.desc?'&nbsp;<span style="font-size:10px;font-weight:normal;">('+oSearchResults.response.results[i].result.desc+")</span>":"";var aLonLat=oSearchResults.response.results[i].result.location.split(" ");szResults+='<a href="javascript:void(0);" onclick="zoomMarker( '+nMarkerId+' );">'+oSearchResults.response.results[i].result.text+szDesc+"</a>";var szPopUpTitle=oSearchResults.response.results[i].result.text;var szPopupContent1="";var szPopupContent2="";if(oSearchResults.response.results[i].result.desc){szPopupContent1+="("+oSearchResults.response.results[i].result.desc+")"}if(oSearchResults.response.results[i].result.address){szPopupContent2+='<div class="popupBubbleAddress">'+oSearchResults.response.results[i].result.address+"</div>"}if(oSearchResults.response.results[i].result.postalcode){szPopupContent2+='<div class="popupBubblePostalCode">'+oSearchResults.response.results[i].result.postalcode+"</div>"}if(oSearchResults.response.results[i].result.phone){szPopupContent2+='<div class="popupBubblePhone"><span class="popupBubblePhoneLabel">Phone:</span>&nbsp;&nbsp;'+oSearchResults.response.results[i].result.phone+"</div>"}if(oSearchResults.response.results[i].result.url){var szURL=oSearchResults.response.results[i].result.url.toLowerCase();if(szURL.substr(0,4)!="http"){szURL="http://"+szURL}szPopupContent2+='<div class="popupBubbleUrl"><span class="popupBubbleUrlLabel">Web:&nbsp;&nbsp;</span><a href="'+szURL+'" target="_blank">'+szURL+"<a></div>"}if(szPopupContent2!==""){szPopupContent2='<div class="popupBubbleDetailedInfo">'+szPopupContent2+"</div>"}addMarker(nMarkerId,aLonLat[0],aLonLat[1],szPopUpTitle,szPopupContent1,szPopupContent2,"search",false);if(oSearchResults.response.results.length==1){zoomMarker(nMarkerId)}}if(szResults===""){szResults="no results<br><br><br>&nbsp;"}$("divSearchResults").innerHTML=szResults;MapMobility.searchService.showexamples=false};var clearSearch=function(){$("divClearSearch").style.display="none";goSearchMarkersLayer.clearMarkers();var B=[];for(var A=0;A<gaoMarkerList.length;A++){if(gaoMarkerList[A].type=="route"||gaoMarkerList[A].type=="user"){B.push(gaoMarkerList[A])}}gaoMarkerList=B;redrawMarkers();MapMobility.searchService.showexamples=true;changeSearchExample()};var changeSearchExample=function(){if(MapMobility.searchService.showexamples){var A="";switch($("selSearch").options[$("selSearch").selectedIndex].value){case"postalcodes":A='<p>eg. "M1E 2N8"</p>';break;case"places":A='<p>eg. "CN Tower"</p>';break;case"streetnames":A='<p>eg. "14 Jane St"</p>';break;case"pages":A='<p>eg. "107"</p>';break;case"gridcells":A='<p>eg. "N12"</p>';break}$("divSearchResults").innerHTML=A+"<br><br><br>&nbsp;"}};var trapSearchReturn=function(B){B=(B)?B:((event)?event:null);var A=(B.charCode)?B.charCode:B.keyCode;if(A==13){goSearch()}};var drawMarker=function(I){var E=I.id;var H=I.lon;var A=I.lat;var J=I.title;var D=I.subTitle;var C=I.content;var K=I.selected;var M=geo2Pix(olMap.baseLayer.mmTileSet,H,A);var O=function(P){return MapMobility.markerIcons.offset};var F=new OpenLayers.Icon(getMarkerIconURL(I,false),MapMobility.markerIcons.size,null,O);var G="";var B="";switch(I.type){case"search":B='<a href="javascript:void(0);" onclick="saveMarker('+E+')">Save</a> | ';break;case"user":B="";break;case"route":B='<a href="javascript:void(0)" onclick="removePointFromRoute('+E+')">Remove</a> from route';break}G='<div class="popupBubble">'+J+"</div>";G+='<div class="ie6Spacer"></div>';G+='<div class="popupBubbleSubInfo">'+D+"</div>";G+=C;G+='<div class="popupBubbleRouting">'+B+'<a href="javascript:void(0);" onclick="deleteMarker('+E+');">Delete</a></div>';var N=new OpenLayers.Feature(olMap.baseLayer,new OpenLayers.LonLat(M.px,M.py),{icon:F,popupContentHTML:G});N.popupClass=OpenLayers.Popup.FramedCloud;var L=N.createMarker();goSearchMarkersLayer.addMarker(L);I.olfeature=N;L.events.register("click",I,clickMarker);if(K){}};var addMarker=function(D,F,A,G,C,B,I,H){var E={id:D,lon:F,lat:A,title:G,subTitle:C,content:B,type:I,routeIndex:-1,olfeature:null,selected:H};drawMarker(E);gaoMarkerList.push(E)};var deleteMarker=function(A){var D=[];var B=false;for(var C=0;C<gaoMarkerList.length;C++){if(gaoMarkerList[C].id!=A){D.push(gaoMarkerList[C])}else{if(gaoMarkerList[C].type=="route"){B=true}}}gaoMarkerList=D;redrawMarkers();redrawRouteList();if(B){drawRoute()}};var saveMarker=function(A){for(var B=0;B<gaoMarkerList.length;B++){if(gaoMarkerList[B].id==A){gaoMarkerList[B].type="user";gaoMarkerList[B].routeIndex=-1;break}}redrawMarkers()};var clickMarker=function(A){drawMarkerPopup(this.id);OpenLayers.Event.stop(A)};var highlightMarker=function(A){for(var C=0;C<gaoMarkerList.length;C++){if(gaoMarkerList[C].id!=A){gaoMarkerList[C].selected=false}else{gaoMarkerList[C].selected=true}var B=gaoMarkerList[C].olfeature.marker.icon.imageDiv.childNodes[0];var D=getMarkerIconURL(gaoMarkerList[C],false);if(B.runtimeStyle){B.runtimeStyle.filter="progid XImageTransform.Microsoft.AlphaImageLoader(src='"+D+"',sizingMethod='scale')"}else{B.src=D}}};var getMarkerUniqueId=function(){var A=0;for(var B=0;B<gaoMarkerList.length;B++){A=Math.max(A,gaoMarkerList[B].id)}A++;return A};var drawMarkerPopup=function(A){for(var B=0;B<gaoMarkerList.length;B++){if(gaoMarkerList[B].id==A){if(goPopup!==null){goSearchMarkersLayer.map.removePopup(goPopup);goPopup=null}goPopup=gaoMarkerList[B].olfeature.createPopup(true);goSearchMarkersLayer.map.addPopup(goPopup);goPopup.show();break}}};var closeMarkerPopup=function(){if(goPopup!==null){goSearchMarkersLayer.map.removePopup(goPopup);goPopup=null}};var redrawMarkers=function(B){goSearchMarkersLayer.clearMarkers();if(goPopup!==null){goSearchMarkersLayer.map.removePopup(goPopup);goPopup=null}for(var A=0;A<gaoMarkerList.length;A++){if(!B){gaoMarkerList[A].selected=false}drawMarker(gaoMarkerList[A])}};var getMarkerIconURL=function(A,B){switch(A.type){case"route":if(A.routeIndex==getMinRouteIndex()){return MapMobility.markerIcons.startIconURL}else{if(A.routeIndex==getMaxRouteIndex()){return MapMobility.markerIcons.stopIconURL}else{return MapMobility.markerIcons.routeIconURL}}break;case"search":return MapMobility.markerIcons.searchIconURL;case"user":return MapMobility.markerIcons.userIconURL;default:return MapMobility.markerIcons.userIconURL}};var getMarkerById=function(A){for(var B=0;B<gaoMarkerList.length;B++){if(gaoMarkerList[B].id==A){return gaoMarkerList[B]}}return null};var zoomMarker=function(C){var D=olMap.baseLayer.mmTileSet;var G=D.parent;var J=G.parent;var A=null;var F=null;var B=null;var I=getMarkerById(C);if(I===null){alert("Sorry, the requested marker could not be found");return }F=I.lon;B=I.lat;if(pointInRect(D.geoCoords,{x1:F,y1:B})){drawMarkerPopup(C)}else{while(G!=A){for(var E=0;E<G.tilesets.length;E++){if(pointInRect(G.tilesets[E].geoCoords,{x1:F,y1:B})){setBaseLayer(G.tilesets[E],{gx:F,gy:B});var H=geo2Pix(G.tilesets[E],F,B);olMap.setCenter(new OpenLayers.LonLat(H.px,H.py));drawMarkerPopup(C);return }}A=G;G=J.getPreviousScale(G)}}};var gnRouteLockCount=0;var drawRoute=function(){if(gnRouteLockCount>0){alert("The route is still being drawn.  Please wait until the route is complete before adding or removing points.");return }var B=getOrderedRoute();eraseRoute();if(B.length<=1){return }for(var A=0;A<B.length-1;A++){startProcessing("Drawing route...");gnRouteLockCount++;if(goRouteSegCache[B[A].lon+","+B[A].lat+","+B[A+1].lon+","+B[A+1].lat]){drawRouteSegs(goRouteSegCache[B[A].lon+","+B[A].lat+","+B[A+1].lon+","+B[A+1].lat])}else{drawRouteSegment(B[A].lon,B[A].lat,B[A+1].lon,B[A+1].lat)}}gnSortTimerId=null};var drawRouteSegment=function(B,D,A,C){var E=new Ajax.Request(MapMobility.routingService.URL,{method:"post",parameters:"method=SPA_c&region="+MapMobility.routingService.routingRegion+"&srid="+MapMobility.routingService.srid+"&startpoint="+B+" "+D+"&finalpoint="+A+" "+C,onComplete:routeParser.processRouteCB.bind(routeParser,B,D,A,C)})};var routeParser={processRouteCB:function(T,E,R,D,I){if(!I.responseXML){alert("There was an error calculating the route.  Please try either a new start or end route point.  Sorry for the inconvenience. ");gnRouteLockCount--;if(gnRouteLockCount<0){gnRouteLockCount=0}stopProcessing();return }var P=findNodeByName(I.responseXML,"route");if(P==-1){alert("There was an error calculating the route.  Please try either a new start or end route point.  Sorry for the inconvenience.");gnRouteLockCount--;if(gnRouteLockCount<0){gnRouteLockCount=0}stopProcessing();return }var L=I.responseXML.childNodes[P];var Q=[];var G=L.childNodes.length;for(var O=0;O<G;O++){if(L.childNodes[O].nodeName!="edge"){continue}var B=L.childNodes[O].childNodes.length;var U="";for(var M=0;M<B;M++){var H=L.childNodes[O].childNodes[M].nodeName;var F=L.childNodes[O].childNodes[M].childNodes.length>0?L.childNodes[O].childNodes[M].childNodes[0].nodeValue:"";if(F!==""){if(H=="wkt"){U="";if(F.substr(0,17)=="MULTILINESTRING(("){U=F.substr(17,F.length-19)}else{if(F.substr(0,11)=="LINESTRING("){U=F.substr(11,F.length-12)}}if(U!==""){var A=[];var N=U.split(",");var S="";for(var K=0;K<N.length;K++){if(N[K]!=S){A.push(N[K])}S=N[K]}if(A.length>1){var C=new MapMobility.RouteSeg();C.aVals=N;C.startVal=N[0];C.endVal=N[N.length-1];Q.push(C)}}}}}}var J=consolidateSegments(Q);goRouteSegCache[T+","+E+","+R+","+D]=J;drawRouteSegs(J)}};var drawRouteSegs=function(D){for(var E=0;E<D.length;E++){var H="";if(goRouteSegWKT[D[E][0]+","+D[E][D[E].length-1]+"-"+olMap.baseLayer.mmTileSet.name]){H=goRouteSegWKT[D[E][0]+","+D[E][D[E].length-1]+"-"+olMap.baseLayer.mmTileSet.name]}else{H="MULTILINESTRING((";for(j=0;j<D[E].length;j++){var B=D[E][j].split(" ");var G=geo2Pix(olMap.baseLayer.mmTileSet,B[0],B[1]);H+=G.px+" "+G.py;if(j<D[E].length-1){H+=","}}H+="))";goRouteSegWKT[D[E][0]+","+D[E][D[E].length-1]+"-"+olMap.baseLayer.mmTileSet.name]=H}var A=new OpenLayers.Format.WKT();var F=A.read(H);if(F){if(F.constructor!=Array){F=[F]}for(var C=0;C<F.length;C++){F[C].style=olMap.baseLayer.mmTileSet.parent.routeStyle}goRouteLayer.addFeatures(F)}else{}}gnRouteLockCount--;if(gnRouteLockCount<0){gnRouteLockCount=0}stopProcessing()};var consolidateSegments=function(E){if(E.length<=0){return[]}var D=[];var A=[];var B=false;var C=100000000;while(!B){var F=processSegments(D,E);if(F.length>0){D=F}else{if(getProcessedSegCount(E)==E.length){A.push(D);B=true}else{A.push(D);D=[]}}C--;if(C<=0){alert("Route segment max has been exceeded.  Some segments might not be visible.");break}}return A};var processSegments=function(E,B){var D=false;var A=E;for(var C=0;C<B.length;C++){if(B[C].bProcessed){continue}if(A.length<=0){A=B[C].aVals;B[C].bProcessed=true;D=true}else{if(A[0]==B[C].endVal){A.shift();A=B[C].aVals.concat(A);B[C].bProcessed=true;D=true}else{if(A[A.length-1]==B[C].startVal){A.pop();A=A.concat(B[C].aVals);B[C].bProcessed=true;D=true}}}}if(!D){A=[]}return A};var getProcessedSegCount=function(C){var A=0;for(var B=0;B<C.length;B++){if(C[B].bProcessed){A++}}return A};var addPointToRoute=function(A){if(gnRouteLockCount>0){alert("The route is still being drawn.  Please wait until the route is complete before adding or removing points.");return }for(var B=0;B<gaoMarkerList.length;B++){if(gaoMarkerList[B].id==A){gaoMarkerList[B].type="route";gaoMarkerList[B].routeIndex=getMaxRouteIndex()+1;redrawRouteList();break}}redrawMarkers();drawRoute()};var removePointFromRoute=function(A){for(var B=0;B<gaoMarkerList.length;B++){if(gaoMarkerList[B].id==A){gaoMarkerList[B].type="user";gaoMarkerList[B].routeIndex=-1;redrawRouteList();break}}redrawMarkers();drawRoute()};var eraseRoute=function(){try{goRouteLayer.destroyFeatures()}catch(A){}};var getMaxRouteIndex=function(){var B=0;for(var A=0;A<gaoMarkerList.length;A++){if(gaoMarkerList[A].routeIndex>B&&gaoMarkerList[A].type=="route"){B=gaoMarkerList[A].routeIndex}}return B};var getMinRouteIndex=function(){var A=Infinity;for(var B=0;B<gaoMarkerList.length;B++){if(gaoMarkerList[B].routeIndex<A&&gaoMarkerList[B].type=="route"){A=gaoMarkerList[B].routeIndex}}return A};var redrawRouteList=function(){var J=getOrderedRoute();$("routeList").innerHTML="";for(var F=0;F<J.length;F++){var K=document.createElement("a");K.className="routeListItem";K.href="javascript:void(0);";K.id="route_"+J[F].id;var L=document.createElement("table");var C=document.createElement("tbody");var A=document.createElement("tr");var N=document.createElement("td");var M=document.createElement("td");var I=document.createElement("div");I.href="javascript:void(0);";I.className="routeListMarkerDiv";var H=document.createElement("img");H.id="imgRouteList_zoom_"+J[F].id;H.src=getMarkerIconURL(J[F],true);H.className="png24";var E=document.createElement("div");E.className="routeListItemContent";E.innerHTML=J[F].title;var B=document.createElement("div");B.className="routeListItemSubContent";B.innerHTML=J[F].subTitle;var D=document.createElement("a");D.className="routeListDelDiv";D.href="javascript:void(0);";var G=document.createElement("img");G.id="imgRouteList_del_"+J[F].id;G.src="images/delete.png";D.appendChild(G);K.appendChild(D);I.appendChild(H);N.appendChild(I);M.appendChild(E);M.appendChild(B);A.appendChild(N);A.appendChild(M);C.appendChild(A);L.appendChild(C);K.appendChild(L);$("routeList").appendChild(K);Position.includeScrollOffsets=true;Sortable.create("routeList",{tag:"A",constraint:false,onChange:cancelSortUpdate,onUpdate:changeSortOrder})}};var cancelSortUpdate=function(){clearTimeout(gnSortTimerId)};var changeSortOrder=function(){if(gnSortTimerId){cancelSortUpdate()}var B=Sortable.serialize("routeList",{tag:"A"}).split("&");for(i=0;i<B.length;i++){var A=B[i].split("=");var C=getMarkerById(A[1]);C.routeIndex=i+1}gnSortTimerId=window.setTimeout("redrawMarkers();redrawRouteList();drawRoute();",1000)};var clickRouteList=function(C){var B=Event.element(C);if(B.tagName=="IMG"){var A=B.id.split("_");switch(A[1]){case"zoom":zoomMarker(A[2]);break;case"del":removePointFromRoute(A[2]);break}}};var getOrderedRoute=function(){var C=[];var E=[];for(var B=0;B<gaoMarkerList.length;B++){if(gaoMarkerList[B].type=="route"){C.push(gaoMarkerList[B]);E.push(gaoMarkerList[B].routeIndex)}}E.sort(sortNumber);var D=[];for(var A=0;A<E.length;A++){for(B=0;B<gaoMarkerList.length;B++){if(E[A]==gaoMarkerList[B].routeIndex){D.push(gaoMarkerList[B]);break}}}return D};var isRouteMarker=function(A){for(var B=0;B<gaoMarkerList.length;B++){if(gaoMarkerList[B].id==A){return gaoMarkerList[B].type=="route"}}return false};var zoomIn=function(){var C=olMap.baseLayer.mmTileSet;var E=C.parent;var D=E.parent;var G=D.getNextScale(E);if(G){var B=pix2Geo(C,olMap.center.lon,olMap.center.lat);var F=G.getTileSet(B);if(F){setBaseLayer(F,B);var A=D.indexOf(G);slider.setValue(A);scaleChanged()}}};var zoomOut=function(){var C=olMap.baseLayer.mmTileSet;var E=C.parent;var D=E.parent;var G=D.getPreviousScale(E);if(G){var B=pix2Geo(C,olMap.center.lon,olMap.center.lat);var F=G.getTileSet(B);if(F){setBaseLayer(F,B);var A=D.indexOf(G);slider.setValue(A);scaleChanged()}}};OpenLayers.Control.Navigation.MapMobility=OpenLayers.Class.create();OpenLayers.Control.Navigation.MapMobility.prototype=OpenLayers.Class.inherit(OpenLayers.Control.Navigation,{defaultDblClick:function(B){var A=this.map.getLonLatFromViewPortPx(B.xy);this.map.setCenter(A);zoomIn();OpenLayers.Event.stop(B);return false},wheelChange:function(A,H){var D=olMap.baseLayer.mmTileSet;var B=this.map.getLonLatFromPixel(A.xy);var F=B.lon-olMap.center.lon;var E=B.lat-olMap.center.lat;var C=pix2Geo(D,B.lon,B.lat);if(H>0){zoomIn()}else{zoomOut()}var G=geo2Pix(olMap.baseLayer.mmTileSet,C.gx,C.gy);olMap.setCenter(new OpenLayers.LonLat(G.px-F,G.py-E))},CLASS_NAME:"OpenLayers.Control.Navigation.MapMobility"});OpenLayers.Control.OverviewMap.MapMobility=OpenLayers.Class.create();OpenLayers.Control.OverviewMap.MapMobility.prototype=OpenLayers.Class.inherit(OpenLayers.Control.OverviewMap,{updateRectToMap:function(){var E=olMap.baseLayer.mmTileSet;var G=this.map.getExtent();var B;var H;var D;var A;var F;if(E.rotationAngle!==0){H=pix2Geo(E,G.left,G.top);D=pix2Geo(E,G.right,G.top);A=pix2Geo(E,G.right,G.bottom);F=pix2Geo(E,G.left,G.bottom);B=new OpenLayers.Bounds(Math.min(H.gx,F.gx),Math.min(F.gy,A.gy),Math.max(A.gx,D.gx),Math.max(H.gy,D.gy))}else{H=pix2Geo(E,G.left,G.top);A=pix2Geo(E,G.right,G.bottom);B=new OpenLayers.Bounds(H.gx,A.gy,A.gx,H.gy)}var C=this.getRectBoundsFromMapBounds(B);if(C){this.setRectPxBounds(C)}},updateMapToRect:function(){var C=this.getRectPxBounds();var B=this.getMapBoundsFromRectBounds(C);var D=B.getCenterLonLat();var A=geo2Pix(olMap.baseLayer.mmTileSet,D.lon,D.lat);this.map.setCenter(new OpenLayers.LonLat(A.px,A.py),this.map.zoom)},getRectPxBounds:function(){var D=parseInt(this.extentRectangle.style.top);var C=parseInt(this.extentRectangle.style.left);var A=parseInt(this.extentRectangle.style.height);var B=parseInt(this.extentRectangle.style.width);return new OpenLayers.Bounds(C,D+A,C+B,D)},isSuitableOverview:function(){var E=olMap.baseLayer.mmTileSet;var C=this.map.getExtent();var H=pix2Geo(E,C.left,C.top);var D=pix2Geo(E,C.right,C.bottom);C=new OpenLayers.Bounds(H.gx,D.gy,D.gx,H.gy);var B=this.map.maxExtent;var H=pix2Geo(E,B.left,B.top);var D=pix2Geo(E,B.right,B.bottom);B=new OpenLayers.Bounds(H.gx,D.gy,D.gx,H.gy);var F=new OpenLayers.Bounds(Math.max(C.left,B.left),Math.max(C.bottom,B.bottom),Math.min(C.right,B.right),Math.min(C.top,B.top));var G=this.ovmap.getResolution()/this.map.getResolution();var A=((G>this.minRatio)&&(G<=this.maxRatio)&&(this.ovmap.getExtent().containsBounds(F)));return A},updateOverview:function(){var C=olMap.baseLayer.mmTileSet;var E=C.scaleX;var A=this.ovmap.getResolution();var F=A/E;if(F>this.maxRatio){A=this.minRatio*E}else{if(F<=this.minRatio){A=this.maxRatio*E}}var B=this.map.center;var D=pix2Geo(olMap.baseLayer.mmTileSet,B.lon,B.lat);this.ovmap.setCenter(new OpenLayers.LonLat(D.gx,D.gy),this.ovmap.getZoomForResolution(A));this.updateRectToMap()},CLASS_NAME:"OpenLayers.Control.OverviewMap"});var updatePageGrid=function(){var C=olMap.baseLayer.mmTileSet;var F=C.parent;var E=F.parent;var B=pix2Geo(C,olMap.center.lon,olMap.center.lat);var A=F.scale!=50000?F.scale:25000;var D=new Ajax.Request(MapMobility.searchService.URL,{method:"post",parameters:"request=get_page_grid&x="+B.gx+"&y="+B.gy+"&scale="+A,onComplete:processPageGridCB})};var processPageGridCB=function(httpResults){var nPage="-1";var szPageNumber="";var szGrid="";eval("var oResults="+httpResults.responseText+";");if(oResults.response.results){if(oResults.response.results.length>0){nPage=oResults.response.results[0].result.page1;szPageNumber=oResults.response.results[0].result.page1==oResults.response.results[0].result.page2?oResults.response.results[0].result.page1:oResults.response.results[0].result.page1+"-"+oResults.response.results[0].result.page2;szGrid=oResults.response.results[0].result.grid}}$("pagerefBackground").style.display=szPageNumber!==""?"block":"none";$("pageref").innerHTML=szPageNumber;$("gridref").style.display=szGrid!==""?"block":"none";$("gridref").innerHTML=szGrid+' <span style="font-size:11px;font-weight:normal;"> (at map center)</span>';setRegionInfo(nPage)};var setRegionInfo=function(D){var C=olMap.baseLayer.mmTileSet;var G=C.parent;var F=G.parent;var A="";var E="#FFF000";for(var B=0;B<F.regionRanges.length;B++){if(D>=F.regionRanges[B].pagemin&&D<=F.regionRanges[B].pagemax){A=F.regionRanges[B].name;E=F.regionRanges[B].color;break}}$("regionNameBackground").style.display=A!==""?"block":"none";$("regionName").innerHTML=A;$("maparea").style.background=E};var pix2Geo=function(C,G,E){var K=G-C.pxCenter.lon;var J=C.pxBounds.top-E-C.pxCenter.lat;if(K===0&&J===0){return{gx:C.geoCenter.lon,gy:C.geoCenter.lat}}var F=deg2Rad(C.rotationAngle);var B=Math.sqrt(Math.pow(K,2)+Math.pow(J,2));var D=Math.asin(K/B);if(J>0){D=Math.PI-D}var I=B*Math.sin(D+F)*C.scaleX+C.geoCenter.lon;var H=B*Math.cos(D+F)*C.scaleY+C.geoCenter.lat;return{gx:I,gy:H}};var geo2Pix=function(C,F,E){var J=(F-C.geoCenter.lon)/C.scaleX;var I=(E-C.geoCenter.lat)/C.scaleY;if(J===0&&I===0){return{px:C.pxCenter.lon,py:C.pxCenter.lat}}var B=Math.sqrt(Math.pow(J,2)+Math.pow(I,2));var D=Math.asin(J/B);if(I<0){D=Math.PI-D}var H=B*Math.sin(D-deg2Rad(C.rotationAngle))+C.pxCenter.lon;var G=B*Math.cos(D-deg2Rad(C.rotationAngle))+C.pxCenter.lat;return{px:Math.round(H),py:Math.round(G)}};var deg2Rad=function(A){return A*Math.PI/180};var rad2Deg=function(A){return A*180/Math.PI};var pointInRect=function(F,D){var B={x1:F.x1,y1:F.y1,x2:F.x2,y2:F.y2};var A={x1:F.x2,y1:F.y2,x2:F.x3,y2:F.y3};var G={x1:F.x3,y1:F.y3,x2:F.x4,y2:F.y4};var E={x1:F.x4,y1:F.y4,x2:F.x1,y2:F.y1};var C={x1:F.x1,y1:F.y1,x2:D.x1,y2:D.y1};if(testIntersection(C,A)||testIntersection(C,G)){return false}var C={x1:F.x2,y1:F.y2,x2:D.x1,y2:D.y1};if(testIntersection(C,G)||testIntersection(C,E)){return false}var C={x1:F.x3,y1:F.y3,x2:D.x1,y2:D.y1};if(testIntersection(C,E)||testIntersection(C,B)){return false}var C={x1:F.x4,y1:F.y4,x2:D.x1,y2:D.y1};if(testIntersection(C,B)||testIntersection(C,A)){return false}return true};var testIntersection=function(G,E){var D=slope(G.x1,G.y1,G.x2,G.y2);var B=slope(E.x1,E.y1,E.x2,E.y2);if(D==B){return false}var C=intercept(G.x1,G.y1,D);var A=intercept(E.x1,E.y1,B);var H=(A-C)/(D-B);var F=B*H+A;if(G.x1!=G.x2){F=D*H+C}return(isBetween(H,G.x1,G.x2)&&isBetween(H,E.x1,E.x2)&&isBetween(F,G.y1,G.y2)&&isBetween(F,E.y1,E.y2))};var isBetween=function(A,C,B){if(C<B){return(A>=C&&A<=B)}else{return(A>=B&&A<=C)}};var slope=function(B,D,A,C){if(B==A){return Infinity}return(C-D)/(A-B)};var intercept=function(B,C,A){return C-A*B};function applyPNGFilter(C){var A="images/a_pixel.png";if(C.src!=A){var B=C.src;C.src=A;C.runtimeStyle.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+B+"',sizingMethod='scale')"}}var getRectLeft=function(A){return Math.min(A.x1,Math.min(A.x2,Math.min(A.x3,A.x4)))};var getRectRight=function(A){return Math.max(A.x1,Math.max(A.x2,Math.max(A.x3,A.x4)))};var getRectBottom=function(A){return Math.min(A.y1,Math.min(A.y2,Math.min(A.y3,A.y4)))};var getRectTop=function(A){return Math.max(A.y1,Math.max(A.y2,Math.max(A.y3,A.y4)))};var sortNumber=function(B,A){return B-A};var BrowserDetect={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",versionSearch:"Version"},{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"}]};var findNodeByName=function(A,C){var B=-1;var E=(arguments.length>2)?arguments[2]:-1;for(var D=E+1;D<A.childNodes.length;D++){if(A.childNodes[D].nodeName==C){B=D;break}}return B};var getNodeValue=function(B){var C="";if(B.nodeType==3){C=B.nodeValue}else{if(B.childNodes.length>0){for(var A=0;A<B.childNodes.length;A++){C=C+B.childNodes[A].nodeValue}}}return C};var gnProcessingCount=0;var startProcessing=function(A){$("divProcessingText").innerHTML=A;$("divProcessing").style.display="block";gnProcessingCount++};var stopProcessing=function(){gnProcessingCount--;if(gnProcessingCount<=0){window.setTimeout("$('divProcessing').style.display = 'none';",2000);gnProcessingCount=0}};var clickAddPointButton=function(B){var A=Event.element(B);if(A.id=="butAddPoint"||A.id=="imgAddPoint"){gszNavMode="point";olMap.events.register("mousemove",null,mouseMoving);Event.observe("divDragMarker","mousemove",mouseMoving);$("imgAddPoint").style.display="none";followMouse($("divDragMarker"),B);$("divDragMarker").style.display="block";$("maparea").style.cursor="crosshair"}};
